【发布时间】:2011-08-11 08:23:05
【问题描述】:
如果我想本地化 WPF 应用程序,我有什么选择。我希望可以选择为语言填充 .resx 文件,这很有效。但是我需要在运行时从文件中获取语言。
所以我的问题是:是否可以在 WPF 应用程序中获取外部 .resx。并在运行时更改语言?还是我从错误的角度看待这个问题?
【问题讨论】:
-
我正在寻找相同的功能,您有没有找到解决方案?
标签: wpf localization resx
如果我想本地化 WPF 应用程序,我有什么选择。我希望可以选择为语言填充 .resx 文件,这很有效。但是我需要在运行时从文件中获取语言。
所以我的问题是:是否可以在 WPF 应用程序中获取外部 .resx。并在运行时更改语言?还是我从错误的角度看待这个问题?
【问题讨论】:
标签: wpf localization resx
为什么不直接编译你的 resx 文件和你的默认资源呢?
将Thread.CurrentThread.CurrentUICulture 设置为您想要的文化,然后调用ResourceManager.GetString() 设置您的本地化属性。
如果您想获得另一种文化,请使用overload。比如:
public static string GetStringForCurrentUICulture(string name)
{
var value = _resourceManager.GetString(name, CultureInfo.CurrentUICulture);
return value;
}
要动态添加资源,请使用适当的 ResourceManager constructor,它允许您指定资源及其包含的程序集。
【讨论】:
您可以使用 LocBaml Tool 本地化 wpf 应用程序 这有助于创建 resx 文件并映射到 xaml
【讨论】: