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

时间:2009-09-29 14:39:01

标签: .net windows localization currentuiculture

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

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

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

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

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

然后ci1-&gt;名称为fr-FR,但ci2-&gt;名称为en-US

不幸的是,对于我来说,要使用法国卫星装配,CurrentUICulture必须是fr-FR

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

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

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

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

  

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

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

答案 2 :(得分:0)

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

您应该可以在Control Panel > Clock, Language, and Region > Language中将显示语言更改为其他语言。注意“应该。”

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

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

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

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