未为非基本语言选择正确的Resx文件

时间:2013-05-03 22:26:25

标签: c# asp.net-mvc-4 localization resx currentuiculture

我在Microsoft MVC4上使用英语,法语,德语等基本语言进行resx本地化设置,但我正在尝试将其扩展为更具体的语言,例如简体/繁体中文。

我使用推荐的命名约定命名了我的文件:

SharedStrings.de.resx
SharedStrings.es-es.resx
SharedStrings.es.resx
SharesStrings.fr.resx
SharedStrings.resx
SharedStrings.zh-cn.resx
SharedStrings.zh-tw.resx

我正在Application_BeginRequest()中的Global.asax.cs中设置文化 并做这样的事情:

CultureInfo ci = new CultureInfo(CultureInfo.CurrentCulture.Name);
ci = System.Globalization.CultureInfo.GetCultureInfo("zh-tw");
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;

当我加载页面虽然它没有拿起zh-tw或es-es,但奇怪的是它确实拿起zh-cn,de,en等。我有点迷失在这里所以我真的会感谢一些帮助。

1 个答案:

答案 0 :(得分:1)

我终于找到了问题所在。当我使用Visual Studio 2010生成名称resx文件时,它没有将它们生成为嵌入式资源。解决此问题的方法是右键单击不起作用的resx文件并选择属性。然后将构建操作更改为"嵌入式资源"并且还填写自定义工具命名空间,我使用" GlobalStr"。

我希望将来我的愚蠢能帮助别人。