我正在将 iOS 应用程序移植到 WP8。iOS 应用程序已本地化为 5 种不同的语言。本地化的字符串存储在不同的文件中。例如,“app.strings”保存应用程序唯一的所有字符串,“common.strings”保存在其他应用程序中使用的字符串。当然,每个 .strings 文件有 5 个版本(app.de.strings、app.en.strings ......)。
在 iOS 代码中,我可以简单地引用“String_ID_123”,系统将自动在所有 .strings 文件中搜索该字符串并显示正确的值,无论该字符串是否可以在 app.strings、common.strings 或其他地方找到. 这在WP8上也可以吗?
VS 自动创建了两个文件来支持本地化:
- 保存实际字符串的AppResources.resx (使用AppRessources.Designer.cs作为后面的代码)
- LocalizedStrings.cs是一个支持绑定的辅助类
当然,我可以将额外的 .resx 文件添加到项目中,并使用它们创建与 iOS 项目中相同的结构。但随后我将不得不添加引用正确 .resx 的其他版本的 LocalizedStrings.cs(例如 LocalizedStrings_Common.cs)。然后我必须在 XAML 中明确使用正确的源。
我必须知道 String_ID_123 的定义在哪里。有没有办法让 XAML/C# 自动执行此操作?