我在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等。我有点迷失在这里所以我真的会感谢一些帮助。
答案 0 :(得分:1)
我终于找到了问题所在。当我使用Visual Studio 2010生成名称resx文件时,它没有将它们生成为嵌入式资源。解决此问题的方法是右键单击不起作用的resx文件并选择属性。然后将构建操作更改为"嵌入式资源"并且还填写自定义工具命名空间,我使用" GlobalStr"。
我希望将来我的愚蠢能帮助别人。