簡體   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