如何實現Windows Phone 7應用的多語言方案

openkk 12年前發布 | 35K 次閱讀 Windows Phone開發 移動開發 Windows Phone

原文鏈接: http://windowsphonegeek.com/articles/Localizing-a-Windows-Phone-app-Step-by-Step

這篇文章中我主要講講如何實現 Windows Phone 7的多語言實現(應用的本地化)

如何實現Windows Phone 7應用的多語言方案 如何實現Windows Phone 7應用的多語言方案


一般情況下,我們需要將不同的本地化資源文件與程序代碼分離開。。。。
因為Visual Studio將要使用這些不同的資源文件來在你的應用中創建不同的程序集。 

關于這一點如果你想要知道更多的話,請參考MSDN文檔

開始
step1: 首先創建一個默認的Windows Phone 7 應用程序。

step2: 為你的應用添加當前默認語言的資源文件。在我們這個例子中將添加一個名為AppResources.resx的資源文件。
如何實現Windows Phone 7應用的多語言方案

step3: 打開剛才的資源文件并輸入一條預計語言的字符串,如下圖。
如何實現Windows Phone 7應用的多語言方案

注意:當你在資源文件的編輯器中修改字符串時,你應該牢記以下幾點。
1,名稱(Name)必須是唯一的,這樣的話你要盡可能讓名稱表達出它的用意。
2,對應的值(Value)就是將要到應用中顯示的字符串。
3,最右邊的評論(Comment)是可填可不填的,但這玩意對于程序員去理解當前這一句話的意思是非常有用的,尤其當資源文件中包 含過多的字符串時。
 
step4: 為我們這個應用將要實現的每一種語言都復制出一份剛才的資源文件夾。請特別注意每一個資源文件的文件名必須是正確 的文化/語言名稱,具體信息可參考 Culture and Language Support for Windows Phone. 但在今天我們這個范例中,我們將使用 文件名為AppResources.de-DE.resx(德語)的資源文件。總體看來,資源文件的文件名格式應該為:
..resx
如何實現Windows Phone 7應用的多語言方案

step5: 為每一個資源文件內部句子進行翻譯。
如何實現Windows Phone 7應用的多語言方案

step6: 打開項目的屬性窗口來讓應用支持更多的 文化/語言。但首先必須先卸載項目才行,你可以鼠標右鍵項目文件然后選 擇"Unload Project"。
如何實現Windows Phone 7應用的多語言方案

隨后依然鼠標右鍵項目文件選擇“Edit”選項
如何實現Windows Phone 7應用的多語言方案如何實現Windows Phone 7應用的多語言方案

最后我們需要在項目中通過以下方式添加的新語言的支持
<SupportedCultures>de-DE;</SupportedCultures>
注意:如果你需要添加更多的語言支持的話,請像下面這樣使用分號將不同的語言隔開
 de-DE;es-ES;
如何實現Windows Phone 7應用的多語言方案
如何實現Windows Phone 7應用的多語言方案

step7:我們還要確保所有的資源文件的獲取方式為public!
如何實現Windows Phone 7應用的多語言方案

step8:然后我們創建一個新類,里面將包含一個屬性來輸出所有的資源。
public class LocalizedStrings
{
    public LocalizedStrings()
    {
    }

    private static AppResources localizedResources = new AppResources();

    public AppResources AppResources
    {
        get { return localizedResources; }
    }
}


step9:在App.xaml文件中添加如下代碼:
<Application.Resources>
    <local:LocalizedStrings xmlns:local="clr-namespace:WPLocalization" x:Key="LocalizedStrings" />
</Application.Resources>

step10:當你想在程序中顯示出本地的對應語言的話,你可以在xaml文件中綁定剛才的全局資源文件定義的屬性。
<TextBlock x:Name="PageTitle"
Text="{Binding Path=AppResources.Title, Source={StaticResource LocalizedStrings}}"
Margin="9,-7,0,0"
Style="{StaticResource PhoneTextTitle1Style}"/>
當然了,如果你想測試我們整個項目的話,還必須在WP7模擬器中設定當前為不同的顯示語言。
如何實現Windows Phone 7應用的多語言方案 如何實現Windows Phone 7應用的多語言方案
如何實現Windows Phone 7應用的多語言方案 如何實現Windows Phone 7應用的多語言方案

最后測試結果如下:
如何實現Windows Phone 7應用的多語言方案如何實現Windows Phone 7應用的多語言方案


這就是所有有關于Windows Phone 7如何使用本地化語言的全部演示。如果你很懶想直接使用現成源碼的話,也不是沒有,你可以點擊下面的鏈接來下載。
希望這篇文章能夠幫助到你!
轉自:http://www.oschina.net/question/213217_38179
 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!