2016-01-18 43 views
0

我正在創建一個應用程序,在登錄之前,用戶可以選擇語言。 我做了4個不同的文件, - Resource.resx - Resource.IT-it.resx - Resource.ES-es.resx - Resource.DE-de.resxResource.resx在wpf中動態加載

我想點擊的語言文件被加載點擊。 目前在XAML調用,這樣的文件:

xmlns:res="clr-namespace:MyClass.Properties;assembly=MyClass" 
Title="{x:Static res:Resources.mynamevariable}" 

我怎樣才能讓點擊的舌頭,可以充值的資源文件? ps。:4包含相同變量的文件,以便輕鬆繪製翻譯。

謝謝

回答

0

您需要CultureInfo的設置,用戶已經選擇了文化。例如,要改變意大利,你需要使用:

Thread.CurrentThread.CurrentCulture = new CultureInfo("it-IT"); Thread.CurrentThread.CurrentUICulture = new CultureInfo("it-IT");

你的資源文件也應該命名爲Resources.resx - Resources.it-IT.resx - Resources.es-ES.resx - Resources.de -DE.resx

+0

我有測試,但不工作,設置這個代碼在InitializeComponent()之前; –

+0

你的文件也應該被稱爲Resources.it-IT.resx等,而不是Resource.IT-it.resx。 – spaceplane

+0

https://msdn.microsoft.com/library/aa992030(v=vs.100).aspx –

1

嘗試,而不是這個

Thread.CurrentThread.CurrentCulture = new CultureInfo("it-IT");

0

我已經解決了,如:

myclass.Properties.Resources.Culture = new System.Globalization.CultureInfo("it-IT");

的地方 - 它可以被解DE ... FR-FR..ecc