我想要一個選項,在C#中更改Visual Studio的語言。我有Form1.resx
其中包含默認語言項目。我也有Form1.en.resx
和Form1.en-US.resx
,其中包含英文翻譯。 (當然,我只需要其中一個,但是在測試時我創建了兩個)。多語言應用程序:CultureInfo手動更改錯誤
當我運行該應用程序時,出現默認語言標題。但是,下面的代碼應該覆蓋這樣的:
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US", false);
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", false);
當我檢查CurrentCulture
或CurrentUICulture
值,他們確實改爲「EN-US」,這個代碼後,但使用相同的RESX文件,所以字幕不會改變。因此,對於樣本label1.Text
保持不變,但它在Form1.en-US.resx
中具有不同的值。
我應該如何解決這個問題?
更多信息:我使用的.NET Framework 4.5,和Visual Studio 2012 項目文件(很簡單的項目)是avaible這裏如果你需要他們:https://dl.dropboxusercontent.com/u/36411041/Multi.zip
糾正我,如果我錯了,但本地化在crapwinforms發生只有當你創建一個窗體的實例。如果表格已經顯示 - 這是失敗的。您必須在更改語言或使用自定義本地化管理器後重新創建表單。我發現最好的方法是使用反射來即時翻譯所有內容。 – Sinatr
好的,但我該如何解決這個問題,改變語言,然後重新啓動應用程序。這將如何工作? – weiszam