Code C中用于Windows Phone 8的多语言应用工具包#

时间:2014-01-03 14:44:02

标签: c# windows-phone-8 localization multilingual

我想使用适用于Windows Phone的多语言应用工具包翻译我的应用,但我还没有找到任何关于如何在代码中使用翻译的内容。在XAML中它看起来像这样:

<TextBlock Text="{Binding Path=LocalizedResources.Hallo, Source={StaticResource LocalizedStrings}}" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>

如果我想在代码中使用本地化字符串,这没有用。

我希望你理解我的问题,并且可以帮助我。 (我知道我的英语非常糟糕)。

1 个答案:

答案 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;

请注意,添加变量或更改变量后,您将不得不重建项目。