2014-06-24 118 views
0

我在C#中製作了一個應用程序,其中包含許多表單和其他內容。 我想本地化它,所以我在VS中使用了集成的本地化功能。 該應用程序最初是用法文(因爲我)與英文翻譯RESXes,但現在Codeplex與其他一些不會說法語的開發人員在Codeplex上,我想更改應用程序中的「默認」語言和RESX因此他們可以在不閱讀法文的情況下翻譯成其他語言。 原因當您在VS窗體設計器中選擇另一種語言時,它會顯示默認語言(這裏是法語)。我試圖重命名所有的文件,但問題是所有的表單屬性都存儲在默認的RESX中,所以如果我重命名,它將打破所有的東西。是否可以將默認語言更改爲英語?更改C#應用程序中的「(默認)」語言

編輯:我想我需要更精確。 該應用程序最初是法文版。然後我用英語進行本地化。現在有一個MainWindow.resx,其中包含表單屬性+原始法語本地化和MainWindow.en-US.resx包含只有英語本地化。因此,如果在設計器中,在「語言」中選擇「(默認)」,它向我顯示MainWindow.resx FRENCH,如果我想翻譯,它會顯示法文文本。爲了使其他開發人員的翻譯更容易,我想要進行MainWindow.resx英文本地化並創建一個單獨的MainWindow.fr-FR.resx。我也嘗試在AssemblyInfo.cs中改變「中性語言」,沒有效果。

回答

1

您可以通過代碼更改應用程序中的CurrentCulture和CurrentUICulture。 這與用於在運行時更改應用程序語言的方法相同。

看一看這段代碼:

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); 
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US"); 

希望它能幫助。

+0

這可能還不夠。您還需要查看[CultureInfo.DefaultThreadCurrentCulture](http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.defaultthreadcurrentculture(v = vs.110).aspx)和[CultureInfo.DefaultThreadCurrentUICulture ](http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.defaultthreadcurrentuiculture(v = vs.110)的.aspx)。 –

+0

現在我明白他的問題根本就不在於此。 –