2

请分享您有关如何本地化 WPF 应用程序以支持多种语言的经验以及对您有帮助的任何资源?

感谢您的反馈。

4

3 回答 3

3

对于我们的 WPF 应用程序,我们所有的字符串都本地化为资源ResourceDictionary,我们将其放入以语言命名的 .xaml 文件中(如 en-US.xaml、ja-JP.xaml 等)。

例如,应用程序中的某个按钮可能如下所示:

<Button Content="{StaticResource Strings.FooDialog.BarButtonText}"/>

不同语言的每个ResourceDictionary都包含一个版本:

<sys:String x:Key="Strings.FooDialog.BarButtonText">Bar!</sys:String>

像这样ResourceDictionary动态连接到Application.Resources运行时:

private static void LoadLocalizedStrings(CultureInfo uiCulture)
{
   ResourceDictionary stringsResourceDictionary = new ResourceDictionary();
   stringsResourceDictionary.Source = new Uri(@"pack://application:,,,/Resources/Strings/" + uiCulture.Name + ".xaml");
   Application.Current.Resources.MergedDictionaries.Add(stringsResourceDictionary);
}
于 2009-03-12T20:11:03.273 回答
0

抱歉,如果它含糊不清(以上问题),基本上是关于您如何在应用程序中实现它以及您认为最好的方法。基本上是为了理解场景。

于 2008-10-08T05:25:18.637 回答
0

我刚刚使用 ResourceDictionary 成功本地化了我的 WPF 应用程序。我使用的方法允许动态更改语言、轻松翻译、设计时支持,甚至允许部分翻译。我的工作基于http://www.geektieguy.com/2006/12/12/localizing-an-xbap-application-without-using-locbaml/

您可以在以下位置看到我的部分努力:ResourceDictionary Source Binding to Module (for Localization)

于 2011-04-11T18:49:54.870 回答