2

我有一个使用 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 等。我有点迷路了,所以我真的很感激一些帮助.

4

1 回答 1

2

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

我希望我的愚蠢将来会帮助其他人。

于 2013-05-03T22:42:47.517 回答