2011-06-27 72 views
2

我正在研究如何本地化應用程序。我看到這個例子:http://msdn.microsoft.com/en-us/library/ff637520(v=vs.92).aspx但我想知道是否可以使用與用戶在他的手機上設置的語言不同的語言。假設用戶將他的語言設置爲英語,但是我希望我的應用程序以西班牙語顯示界面(如果用戶使用某個列表框選擇的話)。 你有關於這方面的任何文章嗎?本地化WP7應用程序

謝謝!

回答

2

這是可能的,我用我的谷歌閱讀器客戶端gReadie使用下面的代碼,我打電話應用程序啓動和恢復。

public static void SetLanguage() { 
    CultureInfo c = null; 
    switch (ViewModel.UserSettings.Language) { 
    case Language.Default: 
     break; 
    case Language.English: 
     c = new CultureInfo("en-US"); 
     break; 
    case Language.Chinese: 
     c = new CultureInfo("zh-CN"); 
     break; 
    case Language.French: 
     c = new CultureInfo("fr-FR"); 
     break; 
    case Language.German: 
     c = new CultureInfo("de-DE"); 
     break; 
    } 

    if (c != null) { 
     Thread.CurrentThread.CurrentUICulture = c; 
     ApplicationStrings.Culture = c; 
    } 
} 

所以基本上我有我的設置下拉它綁定到一個languge枚舉,並允許用戶選擇自己的手機語言(默認),還是支持lanaguages之一。 然後在應用程序啓動時,我將UI線程和我的ApplicationStrings資源文件的語言設置爲與其選擇相匹配。

+0

謝謝克里斯!以及如何定義應用程序行列? – Cyan

+0

它只是一個常規資源文件。我假設你正在看的教程使用它們,這是在.NET/Silverlight中本地化的標準方法。所以有英文ApplocationString.rex,每種語言在同一個文件夾中都有一個ApplicationStrings.de-DE.resx。 –

+0

沒錯。謝謝! – Cyan