我已将我的 ExportForm 本地化为德语 (de) 和俄语 (ru),如下所示:
如果我的 CultureInfo 是德语 (Austrian-de-AT) 那么一切正常,我看到翻译成德语的格式:
string specCult = "de-AT";
Thread.CurrentThread.CurrentUICulture = new CultureInfo(specCult);
但我看到了带有俄语 (ru-RU) CultureInfo 的英语 UI
string specCult = "ru-RU";
Thread.CurrentThread.CurrentUICulture = new CultureInfo(specCult);
虽然如果我使用“ru”而不是“ru-RU”来创建 CultureInfo 它会起作用:
string specCult = "ru";
Thread.CurrentThread.CurrentUICulture = new CultureInfo(specCult);
你能帮我看看问题出在哪里吗?或者请指出我调查问题的方向。
最佳答案
我已经确定问题所在:ru-RU 在我的主要项目程序集设置中被选为中性语言。
MSDN: NeutralResourcesLanguage 属性通知 ResourceManager 用于显示程序集的中性区域性资源的语言。当它在与中性资源语言相同的文化中查找资源时,ResourceManager 会自动使用位于主程序集中的资源。它执行此操作而不是搜索具有当前线程的当前用户界面区域性的附属程序集。这提高了您加载的第一个资源的查找性能,并且可以减少您的工作集。
关于c# - .NET Localization - 如何设置语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10651517/