在WPF中的代码中本地化字符串

时间:2011-07-15 23:26:42

标签: wpf localization

基本上,我需要做些什么来本地化这样的事情:

MessageBox.Show("Hello");

因此,根据文化,它应该显示“Ciao”​​,“Hola”,“Bonjour”,但这必须在代码中完成,不能将其移动到GUI。

我知道如何本地化GUI(使用LocBaml),但这不能满足我的需要,但我可以想象的是类似于LocBaml所做的事情(期望它可能产生一个程序集的部分)。我只需要一个正确方向的精确点。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您的字符串已使用资源字典进行本地化,则可以使用

MessageBox.Show((string)Application.Current.Resources["IDS_HELLO"]);

然而,这种方法有一个小缺点,即如果在 messagebox.Show期间应用程序的语言被更改,文本将不会自动更改。 (请注意,动态本地化无论如何都需要您的额外努力。)