3

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

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

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

如果我将此代码添加到我的主要功能的开头,

[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 更改时检测事件的帖子,但没有告诉我如何更改它!

4

3 回答 3

2

这可能会也可能不会,具体取决于您的 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

于 2009-09-29T14:56:34.727 回答
2

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

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

.NETCurrentUICulture反映了这种设置。

于 2009-09-29T14:58:26.510 回答
0

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

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

CurrentUICulture我在我的控制台应用程序中更改了一段地狱般的时间。为了改变它,我结束了:

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

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

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

于 2014-02-22T01:09:11.173 回答