【发布时间】:2009-09-29 14:39:01
【问题描述】:
我正在尝试让我的应用程序支持多种语言。我已经制作了一些附属程序集,现在我想测试应用程序在法国机器上运行时的外观。
在【控制面板->区域和语言选项】区域选项选项卡中可以选择法语(法国),高级选项卡中可以选择法语(法国)。
但这还不足以让我的应用程序认为它是法语。
如果我将此代码添加到我的 main 函数的开头,
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
CultureInfo^ ci1 = Thread::CurrentThread->CurrentCulture;
CultureInfo^ ci2 = Thread::CurrentThread->CurrentUICulture;
那么 ci1->名称是 fr-FR 但 ci2->名称是 en-US。
不幸的是,对于要使用的法国卫星组件,CurrentUICulture 是需要fr-FR 的那个。
我不想将 CurrentUICulture 设置为与代码中的 CurrentCulture 相同的设置 - 我想使用控制面板或其他方式更改默认设置。
我在 t'internet 上看到很多关于如何在 CurrentUICulture 更改时检测事件的帖子,但没有告诉我如何更改它!
【问题讨论】:
标签: .net windows localization currentuiculture