我有一个Windows应用商店应用项目和类库项目的解决方案,我想添加本地化支持 如何将所有资源文件添加到我的类库并在我的应用程序和类库中使用它们?
答案 0 :(得分:7)
为了避免在添加新资源字符串时编写大量样板代码和容易出错的代码:
您可以使用以下方法:
使用这种方法,所有资源都可以通过ReswFileCodeGenerator生成的静态类获得,并且所有资源都可以在XAML中使用x:uid。您不需要关心不同语言之间的密钥同步。 MAT也可以为您翻译资源。
答案 1 :(得分:1)
好的,我找到了如何做到这一点并找到了一个示例项目here
基本上实施如下:
现在在ClassLibrary中添加一个具有以下代码的新类(适用于您的项目):
using System;
using Windows.ApplicationModel.Resources;
namespace MyClassLibraryName.Tools {
public static class LocalizationTool {
static ResourceLoader resourceLoader = null;
public static string MyStringOne {
get {
String name;
GetLibraryName("MyStringOne", out name);
return name;
}
}
private static void GetLibraryName(string resourceName, out string resourceValue) {
if(resourceLoader == null) {
resourceLoader = ResourceLoader.GetForCurrentView("MyClassLibraryName/Resources");
}
resourceValue = resourceLoader.GetString(resourceName);
}
}
}
在您的ClassLibrary或MainApp中,只需调用以下内容:
string text = LocalizationTool.MyStringOne;