如何解决ASP.NET MVC不接受有效的国家/地区代码
我正在使用asp.net mvc,并且正在使用本地化创建一个多语言的网站。
因此,对于每种语言我都有很多资源,可以在下拉菜单中更改语言。 我在这里设置了CultureInfo
private void UpdateCulture(int langId)
{
string culture;
switch (langId)
{
case 1:
culture = "de";
break;
case 2:
culture = "en";
break;
case 3:
culture = "tr";
break;
default:
culture = "de";
break;
}
var cultureinfo = new CultureInfo(culture);
Thread.CurrentThread.CurrentCulture = cultureinfo;
Thread.CurrentThread.CurrentUICulture = cultureinfo;
}
德语和英语工作得很好,但是由于某些原因,土耳其语给我带来了麻烦。
我有一个Resources.tr.resx
文件,它似乎无效。
我知道土耳其语有一些特殊情况,例如Turkish-i,但是如果我在资源文件中以及在代码中使用其他区域性代码,它也会起作用。
例如,如果我将Resources.tr.resx
更改为Resources.kk.resx
(哈萨克语为“ kk”,并且将CurrentCulture更改为“ kk”),则我的网站将使用来自已重命名资源文件的土耳其语文本,就像应该的那样。
我花了很多时间找出导致问题的原因,并且至少找到了使该网站使用土耳其语的肮脏解决方案。你们中有人遇到过类似的问题吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。