后台任务 - 根据用户语言翻译字符串
Background Task - Translating a string based on user language
我在我的解决方案中将通用应用程序和后台任务作为单独的项目。
我想根据使用的语言在我的后台任务中翻译几行。翻译应用程序很容易,因为我只为我将支持的每种语言创建了子文件夹,并为每种语言创建了 Resources.resw。但是有没有类似的方法来翻译后台任务中的字符串?如果没有,是否可能,最好的方法是什么?我试着像在应用程序中那样做,但它不起作用
var loader = new Windows.ApplicationModel.Resources.ResourceLoader();
tileTextAttributes[0].InnerText = loader.GetString("test");
研究数据绑定。而不是像这样硬编码字符串:
Console.WriteLine("Bonjour");
你可以这样做:
Console.WriteLine({{Greeting.French}});
Greeting.English 将与 Greeting.French
一起放在资源文件中
我回答问题的时间有点晚,但我找到了我真正需要的东西,而且非常容易做到,因为它就像在应用程序中一样工作。
我在后台任务中使用旧方法来本地化数据,所以它不起作用,但是一旦我尝试了适用于 W8.1 的正确命令,它就非常有效。
即使我在解决方案的主项目中的 Shared/Strings/(代表语言的文件夹)中有资源文件,它也可以工作。
ResourceLoader.GetForCurrentView().GetString("key");
就这么简单。
我在我的解决方案中将通用应用程序和后台任务作为单独的项目。 我想根据使用的语言在我的后台任务中翻译几行。翻译应用程序很容易,因为我只为我将支持的每种语言创建了子文件夹,并为每种语言创建了 Resources.resw。但是有没有类似的方法来翻译后台任务中的字符串?如果没有,是否可能,最好的方法是什么?我试着像在应用程序中那样做,但它不起作用
var loader = new Windows.ApplicationModel.Resources.ResourceLoader();
tileTextAttributes[0].InnerText = loader.GetString("test");
研究数据绑定。而不是像这样硬编码字符串:
Console.WriteLine("Bonjour");
你可以这样做:
Console.WriteLine({{Greeting.French}});
Greeting.English 将与 Greeting.French
一起放在资源文件中我回答问题的时间有点晚,但我找到了我真正需要的东西,而且非常容易做到,因为它就像在应用程序中一样工作。 我在后台任务中使用旧方法来本地化数据,所以它不起作用,但是一旦我尝试了适用于 W8.1 的正确命令,它就非常有效。
即使我在解决方案的主项目中的 Shared/Strings/(代表语言的文件夹)中有资源文件,它也可以工作。
ResourceLoader.GetForCurrentView().GetString("key");
就这么简单。