我正在開發一個需要本地化的WinForm應用程序。 如果我嘗試將表單的Localizable屬性設置爲True,併爲所有語言設置文本,那麼每件事情都可以正常工作。本地化C#Win表格
我想要的是將所有語言資源文件保存在一個單獨的文件夾中(每個表單一個文件)。
-Project
-Resources
-Language
frmFirstForm.en-US.resx
frmFirstForm.en-GB.resx
frmSecondForm.en-US.resx
frmSecondForm.en-GB.resx
frmFirst.cs
frmSecond.cs
在我的資源文件,我已經定義的所有字符串如下:
**Key Value**
lblName Name
lblAddress Address
.....
最關鍵的是我的控制的名字,我也將保持形式特定字符串的資源文件。現在的問題是,當我編譯解決方案時,它會生成語言文件,但在運行應用程序時它只顯示默認值。我甚至不知道本地化資源文件是否已加載。另外,儘管我已經指定了兩個單獨的表單文件,但是在編譯時,系統僅爲一個項目的每種語言生成一個單獨的資源文件(意味着FirstForm和SecondForm沒有單獨的資源文件)。
有沒有什麼方法可以根據指定的本地化線程更改表單控件?
我已經添加了下面一行在我的主要應用程序的Program.cs文件:
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-GB");
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
請建議我如何與這個繼續..
除非你寫「顏色」這樣的詞,否則你不會看到en-GB和en-US之間的巨大差異。如果你想測試它,那麼只需在en-GB中使用一個虛假詞。 –
@HansPassant:我已經爲這兩個資源文件使用了不同的字符串..我很抱歉在第一階段沒有描述這個.. –
您對.resx文件使用非標準位置,總是不明智的嘗試跳過建立這樣的系統。檢查衛星組件是否正在生成。 –