wp8.1 全球化解決辦法


          最近在更新一個應用,在wp8.1里面重寫整個應用,由於8.1版本的api、架構和windows8.1的接口高度相同,變化很大,在編碼過程中,只能一邊翻msdn資料一邊摸索解決遇到的問題,其中程序標題和頁面內容語言全球化問題,弄了一下午才弄清楚,發現就是這么一回事,但沒找到資料前,卻是痛苦了一下午,現在把相關資料整理上來,希望可以幫到有需要的朋友。

         wp8.1的資源全球化,采用了和win8.1相同的方式,從wp7的手工生成到wp8的自動生成框架文件,到了8.1卻是退回到手工生成,郁悶。

        根據msdn的資料,在程序中建立一個命名為“strings”的文件夾,然后在該文件夾里面再創建所需要的各國語言文件夾,便如英語,就用“en”命名該文件夾,程序會自動適配以EN開頭的區域語言,優先調用en的資源文件,最后在"en"文件夾里面創建一個資源文件“Resources.resw”。在“Resources.resw”里面創建自已需要的字符串資源即可,而不同的地方在於,這些文件夾不單只有控件的字符串資源,還可以創建控件的屬性,具體請參閱msdn:http://msdn.microsoft.com/zh-cn/library/windows/apps/xaml/hh965329.aspx

     

       返回到要調用資源的xaml頁面,在需要多國語言的控件上填上類似如下的代碼即可,程序自動適配相關內容

<TextBlock x:Uid="Greeting" Text="" />

 


到這一步,已經可以正常調用資源了,可以運行測試一下正常與否。

上面的內容是程序里面的內容進行資源綁定,那么程序標題如何全球化呢,我翻查了msdn的資料,沒找到相關內容,下載了他一個例子,才發現調用方法,不敢私藏,其實就是一句代碼解決。
在Package.appxmanifest 文件中的Display name 里面,填上
ms-resource:appDisplayName

  

 
        
“appDisplayName” 是資源文件里面的name屬性,即是直接調用資源屬性,不用像wp8和wp7那樣另外創建一個動態庫來引用。省卻了不少步聚。
以上只是最簡單的調用方法,具體的高深研究,請自行鑽研,不足之處請諒解,歡迎提出批評意見。
附上msdn上面的一個例子鏈接,可以去下載參考一下:

http://code.msdn.microsoft.com/windowsapps/Application-resources-and-cd0c6eaa


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM