如果我想本地化WPF应用程序,我有什么选项。我想有选择填写.resx文件的语言,这是有效的。但我需要在运行时从文件中获取语言。
所以我的问题是:是否有可能在WPF应用程序中获得外部.resx。并在运行时更改语言?或者我是从坏角度看这个问题?
答案 0 :(得分:1)
为什么不将您的resx文件与默认资源一起编译?
将Thread.CurrentThread.CurrentUICulture
设置为您想要的文化,然后致电ResourceManager.GetString()以设置您的本地化属性。
如果您想获得另一种文化,请使用overload。类似的东西:
public static string GetStringForCurrentUICulture(string name)
{
var value = _resourceManager.GetString(name, CultureInfo.CurrentUICulture);
return value;
}
要动态添加资源,请使用相应的ResourceManager constructor,它允许您指定资源及其包含的程序集。
答案 1 :(得分:1)
您可以使用LocBaml Tool本地化wpf应用程序 这有助于创建resx文件并映射到xaml