[英].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.