我有英文的Windows版本,目前無法調試,但我本地化兩種語言russsian和英語的應用程序。Silverlight本地化 - 如何覆蓋Windows文化
從我的理解下面的代碼應該是足夠的應用程序的構造函數:
if (Language == Language.Russian) {
Thread.CurrentThread.CurrentCulture = RUSSIAN_CULTURE;
Thread.CurrentThread.CurrentUICulture = RUSSIAN_CULTURE;
}
else {
Thread.CurrentThread.CurrentCulture = ENGLISH_CULTURE;
Thread.CurrentThread.CurrentUICulture = ENGLISH_CULTURE;
}
培養對象是正確的文化(RU-RU,EN-US)。
但是,當應用程序運行在俄羅斯的窗口,如果被忽略,只有俄羅斯字符串被使用。
注意語言變化的工作完全正確的在我的機器上(帶窗戶)
有時僅僅在當前線程上設置語言是不夠的,導致某些控件(又名DataGrid)不尊重這個值。你還應該設置UserControls的Language屬性,例如this.Language = System.Windows.Markup.XmlLanguage.GetLanguage(System.Threading.Thread.CurrentThread.CurrentCulture.Name); – Jehof
如果應用程序的某些部分是rus,其他eng。這可能是問題。但我相信像TextBlock一樣簡單的控件應該尊重Thread.CultureInfo?有沒有控制的例子顯示任何英文,當應用程序運行在RU窗口.. –