我想本地化我的 VSTO winform,但我無法讓它作業。未應用本地化。為了測驗,我創建了一個非常簡單的 Winform,它只有一個按鈕,上面有一些文本。
這是我嘗試本地化表單上的文本的方法:
- 將表單的 .Localizable 屬性設定為 True
- 使用流行的 ResX Manager ( https://dotnetfoundation.org/projects/resx-resource-manager )) 來翻譯表單的字串。
- 我還添加了一個 Strings.resx(帶有英語和德語字串)檔案,我嘗試通過 Me.Text = My.Resources.Strings.SomeRandomName 以表單的名稱訪問該檔案
因此,我現在有一個名為 frmTest 的表單。它的默認字串是英語,但我可以看到創建了一個 frmTest.de.resx,其中包含我的德語翻譯。
不幸的是,該表單仍以英文顯示,而且我對 My.Resources.Strings.SomeRandomName 的呼叫也會產生英文字串。
文化設定為 de-DE 但我也嘗試通過以下方式手動更改它:
System.Threading.Thread.CurrentThread.CurrentUICulture = New CultureInfo("de")
我還嘗試將辦公室語言設定為德語,但這也無濟于事。
我發現了幾個舊指令(例如在 vsto 插件中的本地化),但它們似乎都不起作用。
uj5u.com熱心網友回復:
一切看起來都很好,設定Thread.CurrentThread.CurrentUICulture應該足夠了,但請確保以下幾點:
你
Thread.CurrentThread.CurrentUICulture = New CultureInfo(...)在打開表格之前打電話(我認為這很明顯,但無論如何)資源和 CultureInfo 建構式中的文化名稱相同。我的意思是,“de”和“de-DE”不是一回事(很可能這就是問題所在)。我會嘗試
new CultureInfo("de-DE"),甚至new CultureInfo(1031)
請注意辦公語言可能與系統語言不同。您可以使用辦公語言使用Application.LanguageSettings.LanguageID. 該值應與 CultureInfo 接受的引數兼容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/357993.html
上一篇:在TrackBar中設定集合-VisualBasic
下一篇:訊息框圖示->變數?
