我試圖在具有多個項目和線程的解決方案中支持多種語言。設置整個解決方案的當前文化
我有2個資源文件,一個是英文字符串,另一個是法文字符串。
我設置當前區域性如下:
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(isEnglish ? "en-US" : "fr-CA");
有沒有一種方法來設置當前文化在全球範圍,爲整個解決方案,或我必須爲需要每個線程做到這一點訪問字符串?
我試圖在具有多個項目和線程的解決方案中支持多種語言。設置整個解決方案的當前文化
我有2個資源文件,一個是英文字符串,另一個是法文字符串。
我設置當前區域性如下:
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(isEnglish ? "en-US" : "fr-CA");
有沒有一種方法來設置當前文化在全球範圍,爲整個解決方案,或我必須爲需要每個線程做到這一點訪問字符串?
在.NET Framework 4.5中,CultureInfo.DefaultThreadCurrentCulture Property獲取或設置當前應用程序域中線程的默認區域性。
在.NET Framework 4和以前的版本中,默認情況下,所有線程的文化 被設置爲Windows系統文化。對於其當前文化與默認系統文化不同的應用程序 ,這種行爲通常是不受歡迎的。在.NET Framework 4.5中,DefaultThreadCurrentCulture屬性使應用程序能夠定義應用程序域中所有線程的默認區域性 。
一旦您設置了CurrentThread
它將在應用程序的持續時間內設置。只需確保在初始化任何UI
之前執行此操作。請查看MSDN blog瞭解更多信息。
您可以在web.config中的System.Web添加一個全球化部分
<globalization culture="en-US" uiCulture="en-US" />