我想使用适用于Windows Phone的多语言应用工具包翻译我的应用,但我还没有找到任何关于如何在代码中使用翻译的内容。在XAML中它看起来像这样:
<TextBlock Text="{Binding Path=LocalizedResources.Hallo, Source={StaticResource LocalizedStrings}}" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>
如果我想在代码中使用本地化字符串,这没有用。
我希望你理解我的问题,并且可以帮助我。 (我知道我的英语非常糟糕)。
答案 0 :(得分:4)
在App.xaml中添加指向您的类LocalizedStrings的键:
<Application.Resources xmlns:my="clr-namespace:NameSpaceWhereLocalizedStrings">
<my:LocalizedStrings x:Key="Localized"/>
</Application.Resources>
clr-namespace: - 是一个命名空间,你有LocalizedStrings(可能是你的主命名空间)。然后,您可以在任何其他xaml文件中使用LocalizedResources:
<TextBlock Text="{Binding LocalizedResources.Hallo, Source={StaticResource Localized}}"/>
你好 - 是AppResources.resx中的变量(当然要检查它是否公开)。 LocalizedResources是一个您可能在LocalizedStrings.cs中默认使用的类:
public class LocalizedStrings
{
private static AppResources _localizedResources = new AppResources();
public AppResources LocalizedResources { get { return _localizedResources; } }
}
在我正在使用的代码中:
string myName = AppResources.Hallo;
请注意,添加变量或更改变量后,您将不得不重建项目。