[英].net localization - throw exception in hebrew on englisch operating system
除了英語和德語,我還有一個應用程序被翻譯成希伯來語。
為了檢查用戶輸入,我創建了一個驗證規則,如果該值超出其限制,則會拋出ArgumentOutOfRangeException
。
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
double validationValue = 0;
validationValue = double.Parse(value.ToString());
if(validationValue < Min)
{
ArgumentOutOfRangeException ex = new ArgumentOutOfRangeException();
return new ValidationResult(false, ex.Message);
}
else if(validationValue > Max)
{
ArgumentOutOfRangeException ex = new ArgumentOutOfRangeException();
return new ValidationResult(false, ex.Message);
}
return new ValidationResult(true, null);
}
驗證工作正常。
但是,如果我使用CultureInfo.DefaultThreadCurrentCulture
和CultureInfo.DefaultThreadCurrentUICulture
將應用程序語言設置為希伯來語,我會得到英語異常。 將語言設置為德語或英語,我得到正確的異常消息。 操作系統是Windows 7英文版。
我試圖將該地區設置為以色列,但我不能在我當前的測試環境中安裝希伯來語LP。
我找到了線程,人們說不應該翻譯異常。 我可以使用我的內部本地化服務將我的特定異常與翻譯文本一起拋出。 但如果有機會,我想避免這種情況。
.Net語言包正在運行。 雖然我重構了我的驗證規則。 如果值超出范圍,則現在返回自定義消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.