繁体   English   中英

如何设置 CultureInfo.CurrentCulture?

[英]How to set CultureInfo.CurrentCulture?

使用:

Console.WriteLine(System.Globalization.CultureInfo.CurrentCulture.ToString());

我得到"en-US"

我应该在我的控制面板设置(区域和语言?)中更改什么以获得其他内容,例如"en-CA"

我应该在我的控制面板设置(区域和语言?)中更改什么以获得其他内容,例如 "en-CA" 。

您可以为当前线程更改它,例如:

System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-CA");

进而:

Console.WriteLine(System.Globalization.CultureInfo.CurrentCulture.ToString());

会返回:

en-CA

根据我的经验,文化是由操作系统的版本决定的。 不是真正的控制面板中的设置。 我们曾经不得不让多个 VM 运行多个版本的 Windows 来测试我们基于文化的功能

你可以像这样在你的 App.config 中定义一个键

<configuration>
    <appSettings>
        <add key="DefaultCulture" value="en-CA" />
    </appSettings>
</configuration>

并在您的应用程序中读取该值并设置文化

 CultureInfo culture = new CultureInfo(ConfigurationManager.AppSettings["DefaultCulture"]);
    Thread.CurrentThread.CurrentCulture = culture;
    Thread.CurrentThread.CurrentUICulture = culture;

您可以在区域和语言控制面板中更改语言。 从标有格式的下拉组合框中选择英语(加拿大)。 请注意,这将适用于用户并且是用户区域设置。

附带说明一下,从 Windows 8 开始,用户区域设置默认为您的 Windows 显示语言,Windows 应用商店应用程序使用语言列表来对齐用于生成日期和时间字符串以及数字格式等的语言。 ,使用用于检索资源的语言。 .Net 尝试参与其中,因此对于 Windows Store Apps,更改语言列表是获得此效果的首选方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM