在哪里可以设置Windows XP中CurrentUICulture的初始值?

我试图让我的应用程序支持多种语言。 例如,我制作了一些附属程序集,现在我想testing在法语机器上运行应用程序的样子。

在[控制面板 – >区域和语言选项]中,我可以在区域选项选项卡中select法语(法国),在高级选项卡中select法语(法国)。

但是这还不足以让我的应用程序认为它是法语的。

如果我将这个代码添加到我的主函数的开始,

[STAThreadAttribute] int main(array<System::String ^> ^args) { CultureInfo^ ci1 = Thread::CurrentThread->CurrentCulture; CultureInfo^ ci2 = Thread::CurrentThread->CurrentUICulture; 

那么ci1-> Name是fr-FR但是ci2-> Name是en-US

不幸的是,对于我来说,法国的卫星组件被使用,CurrentUICulture是需要fr-FR

我不想将CurrentUICulture设置为与CurrentCulture中的代码相同 – 我想使用控制面板或其他设置更改默认值。

我在t'internet上看到很多关于当CurrentUICulture变化时如何检测事件的post,只是没有告诉我如何改变它!

请参阅如何更改用于在MUI中显示菜单和对话框的语言 :

Windows MUI使用户可以方便地将用户界面(菜单和对话框)更改为最适合他们的语言。 管理员(具有管理权限的任何用户)可以使用muisetup.exe程序在机器上安装多达33种不同的语言。

.NET的CurrentUICulture反映了这个设置。

这可能会也可能不会,这取决于您的Windows安装。 有关详细信息,请参阅http://msdn.microsoft.com/zh-cn/library/441487wx(v=vs.100).aspx中的“隐式设置CurrentUICulture属性”部分。 有关各种Windows版本上的行为的其他信息,请参阅http://msdn.microsoft.com/en-us/library/dd374098(VS.85).aspx 。

Windows 8的答案已经改变了一些(这些步骤在8.1上完成)。

您应该能够在控制面板>时钟,语言和区域>语言中将显示语言更改为另一种语言 。 注意“应该”。

我有一个时间在我的控制台应用程序中更改CurrentUICulture 。 要改变它,我结束了:

  • 改变语言为日语
  • 下载并安装语言包(全部来自Lanuage菜单:cool!)
  • 将日语移动到“语言首选项”的顶部
  • 然后在“更改日期,时间或数字格式”
    • >格式:将“格式”更改为日语
    • >位置:改变“本国位置”到日本
    • >管理:将“非Unicode程序的当前语言”更改为日语
  • 仍在管理 “复制设置”显示当前用户:显示语言为英文
    • 在同事的机器上,显示语言与默认的CurrentUICulture不一样,所以可能还有更多的故事
  • 在此之前我已经重启了好几次,但是现在在日本/日本的每个设置都重启了

最后,最后的“ CurrentUICulture英语”不再是英语了! 我不知道哪一步解决了问题,但重启是必要的。

CurrentCulture其实很容易改变。 更早的格式化步骤会在您点击确定/应用,不重新启动,混淆或诅咒时改变它!