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

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

问题描述:

我想让我的应用程序支持多种语言。例如,我制作了一些卫星程序集,现在我想测试在法语机器上运行应用程序的样子。在哪里可以设置Windows XP中CurrentUICulture的初始值?

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

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

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

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

然后ci1->名称是fr-FR但12 - >名称为en-US

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

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

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

请参阅How To Change the language used to display menus and dialogs in MUI

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

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

+0

嗯好吧,看起来像我需要安装一些MUI包。我跑了muisetup.exe,只能选择英文。 – demoncodemonkey 2009-09-29 15:12:48

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

+1

第一个链接不再可用 – 2013-01-29 09:17:44

对于Windows 8,答案有所改变(这些步骤在8.1上完成)。

您应该可以将您的显示语言更改为Control Panel > Clock, Language, and Region > Language中的另一种语言。注意“应该”。

我在地板应用程序中改变了CurrentUICulture。要改变它,我结束了:

  • 改变语言向日本
  • 下载和安装语言包(全部来自Lanuage菜单里面:爽!)
  • 移动日本上升到“语言首选项”
  • 的顶部然后在“改变的日期,时间,或数字格式”
    • >格式:改变“格式”日本
    • >位置:改变“家的位置”日本
    • >管理:将“非Unicode程序的当前语言”日本
  • 仍处于行政“复制小号ettings”显示当前用户:显示语言为英语
    • 同事的机器上显示的语言是不一样的默认CurrentUICulture,所以可能还是有更多的故事
  • 我会重新启动数在此之前的时间,但现在日本/日本各设置我重新启动

最后,终于CurrentUICulture不再是英语!我不确定哪一步可以解决问题,但重启是必要的。

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