【发布时间】:2011-11-16 07:04:44
【问题描述】:
我在获取本地化资源文件以在 Windows Phone 7 上运行时遇到了一点问题。这就是我正在做的事情:
- 创建一个资源文件,比如“Strings.resx”(构建操作:编译)
- 创建一个键,比如“TestKey”,默认值为空字符串
- 在同一文件夹中添加一个值为“some English string”的英文资源文件:Strings.en-us.resx (Build Action: Embedded Resource)
- 在同一文件夹中添加一个值为“some Japanese string”的日语资源文件:Strings.ja-jp.resx(构建操作:嵌入式资源)
在我的 PC Silverlight 中,当我更改 Thread.CurrentThread.CurrentCulture 时 WPF 应用程序可以正常工作。但在电话中,我似乎总是得到 Strings.resx 文件中的值 - 一个空字符串。
我尝试使用设计器生成的代码并手动连接资源管理器,但这似乎并不重要。这是我的代码:
Type t = typeof(Strings);
_resourceManager = new ResourceManager(
t.Namespace + "." + t.Name,
t.Assembly);
_resourceManager.GetString("TestKey");
告诉我手机支持本地化资源... ;> 我做错了什么?谢谢!
更新:感谢 Olivier 转发链接。我也看到了这一点,但错过了重要的一步。我没有将“SupportedCultures”节点添加到我的 csproj。一切都不同了——希望其他人不会像我一样浪费两个小时来解决这个问题。
<SupportedCultures>de-DE;es-ES;</SupportedCultures>
【问题讨论】:
-
+1 表示
SupportedCultures属性。令人惊讶的是,它没有通过应用程序属性在 Visual Studio 中公开。
标签: windows-phone-7