我有一个包含 Windows 应用商店应用项目和类库项目的解决方案,我想添加本地化支持。
如何将所有资源文件添加到我的类库并在我的应用程序和类库中使用它们?
最佳答案
为了避免在添加新资源字符串时编写大量样板代码和容易出错的代码,例如:
- 将其添加到.resw 文件
- 将其添加到提供对资源的访问的静态类
- 将其添加到每种语言特定的 .resw 文件(例如:en、fr、pt 等)
您可以使用以下方法:
- 创建“Strings”文件夹并在您的类库中只添加一个默认语言文件夹(例如“en-US”)
- 使用所需的键/值将 Resources.resw 文件添加到“en-US”文件夹
- 安装 Multilingual App Toolkit
- 在 VS 中为您的类库启用 MAT(VS->工具->启用多语言应用程序工具包)
- 将所需的语言添加到您的类库(VS->项目->添加翻译语言...)
- 安装 ResW File Code Generator VS 扩展
- 转到 Resources.resw 文件属性并将自定义工具设置为“ReswFileCodeGenerator”(您也可以在自定义工具命名空间中指定命名空间)
- 要解决支持的语言检测问题(当前生成的 list 包含根据文件夹结构“Strings/en-US”支持的语言),您需要在应用程序库中为所有必需的语言添加文件夹(“fr-FR”、“bg-BG”等),并用一个假 key 放入 Resources.resw 文件。
- 构建您的解决方案并尽情享受吧!
通过这种方法,您的所有资源都可以通过 ReswFileCodeGenerator 生成的静态类获得,并且所有资源都与 XAML 中的 x:uid 一起使用。您无需关心不同语言之间的 key 同步。 MAT 还可以为您翻译您的资源。
关于c# - Windows Universal/Store App 中的类库本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26180245/