我有一个Windows Store应用程序项目和一个类库项目的解决方案,我想添加本地化支持。
如何将所有资源文件添加到我的类库中,并在我的应用程序和类库中使用它们?

最佳答案

为了避免在添加新的资源字符串时编写大量样板代码和容易出错的代码,例如:


将其添加到.resw文件
将其添加到提供对资源的访问权的静态类
将其添加到每种语言特定的.resw文件(例如:en,fr,pt等)


您可以使用以下方法:


创建“字符串”文件夹,然后在类库中仅添加一个默认语言文件夹(例如“ en-US”)
使用必需的键/值将Resources.resw文件添加到“ en-US”文件夹
安装Multilingual App Toolkit
在VS中为您的类库启用MAT(VS->工具->启用多语言应用工具包)
将所需语言添加到类库中(VS->项目->添加翻译语言...)
安装ResW File Code Generator VS扩展
转到Resources.resw文件属性,并将“定制工具”设置为“ ReswFileCodeGenerator”(也可以在“定制工具命名空间”中指定名称空间)
要解决支持的语言检测问题(当前生成的清单根据文件夹结构“字符串/ en-US”包含支持的语言),您需要在应用程序库中添加所有必需语言的文件夹(“ fr-FR”,“ bg-BG” ”等),然后仅使用一个假密钥放入Resources.resw文件。
建立您的解决方案并享受!


使用这种方法,您的所有资源都可以通过ReswFileCodeGenerator生成的静态类使用,并且所有资源都可以在XAML中与x:uid一起使用。您无需关心不同语言之间的键同步。 MAT也可以为您翻译资源。

10-06 12:06