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

.net 在Windows XP中,在哪里可以设置CurrentUICulture的初始值?,.net,windows,localization,currentuiculture,.net,Windows,Localization,Currentuiculture,我正在努力使我的应用程序支持多种语言。我已经制作了一些附属程序集,现在我想测试应用程序在法国机器上运行时的外观 在[控制面板->区域和语言选项]中,我可以在区域选项选项卡中选择法语(法国),也可以在高级选项卡中选择法语(法国) 但这还不足以让我的应用程序认为它是法语 如果我将此代码添加到主函数的开头 [STAThreadAttribute] int main(array<System::String ^> ^args) { CultureInfo^ ci1 = Thread:

我正在努力使我的应用程序支持多种语言。我已经制作了一些附属程序集,现在我想测试应用程序在法国机器上运行时的外观

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

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

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

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
    CultureInfo^ ci1 = Thread::CurrentThread->CurrentCulture;
    CultureInfo^ ci2 = Thread::CurrentThread->CurrentUICulture;
[STAThreadAttribute]
int main(数组^args)
{
CultureInfo^ci1=Thread::CurrentThread->CurrentCulture;
CultureInfo^ci2=Thread::CurrentThread->CurrentUICulture;
然后ci1->Name是
fr-fr
,而ci2->Name是
en-US

不幸的是,对于要使用的法国卫星组件,CurrentUICulture需要是
fr

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


我在internet上看到过很多关于如何在更改CurrentUICulture时检测事件的帖子,只是没有任何东西告诉我如何更改它!

这可能是可能的,也可能是不可能的,这取决于您的Windows安装。请参阅“隐式设置CurrentUICulture属性”有关详细信息,请参阅第节。有关各种Windows版本行为的更多信息,请参阅。

请参阅:

Windows MUI使用户能够轻松地 更改用户界面(菜单和 对话)转换成最好的语言 适合他们。最多33种不同的 语言可以安装在 由管理员(任何用户)创建的计算机 (具有管理权限)使用 muisetup.exe程序


.NET的
CurrentUICulture
反映了此设置。

对于Windows 8,答案有点变化(这些步骤是在8.1上完成的)

您应该能够在中将显示语言更改为其他语言。请注意“应该”

在我的控制台应用程序中更改
CurrentUICulture
时,我经历了一段痛苦的时光。要更改它,我最终:

  • 将语言改为日语
  • 下载和安装语言包(全部来自Lanuage菜单:酷!)
  • 将日语提升到“语言偏好”的顶端
  • 然后是“更改日期、时间或数字格式”
    • >格式:将“格式”更改为日语
    • >地点:将“家乡”改为日本
    • >管理:将“非Unicode程序的当前语言”更改为日语
  • “复制设置”显示当前用户:显示语言为英语
    • 在同事的机器上,显示语言与默认的
      CurrentUICulture
      不同,因此可能还有更多的问题
  • 在此之前,我已经重新启动了好几次,但现在,在日本/日本设置了之后,我重新启动了
最后,CurrentUICulture不再是英语了!我不确定哪一步解决了问题,但重新启动是必要的


CurrentCulture
实际上很容易更改。当您点击OK/Apply时,前面的格式步骤会更改它,不需要重新启动、混淆或诅咒!

Hmm OK,看起来我需要安装一些MUI包。我运行了muisetup.exe,只能选择英语。第一个链接不再可用