[開發] 如何撰寫支援多語系的APP - WP7/8
承上篇的Win8篇,Windows Phone 7/8相對而言算是比較簡單的
(除了動態磚的標題以外......)
最主要的原因是Windows Phone 7/8每個專案都有內建「LocalizedStrings.cs」
所以不需要像Windows 8/8.1一樣使用x:Uid的方式
這個類別最重要的是直接先幫你把資源字串產生出來
因此最大的不同之處就是你在XAML用了之後可以馬上看到成果
不過缺點是當你改了資源檔後,畫面不會改也不會自動新增資源,
可能還會跳錯跟你說找不到某某某資源,
所以還是需要重建專案一次才行。
在預設的情況下,應該可以在Resources的資料夾下面看到AppResources.resx這個檔案
(不意外的其實也是個XML檔案,但是仍然建議用預設的編輯器去開)
裡面有一些預設已經定義完畢的字串
重點是ApplicationTitle、ResourceLanguage這兩項
預設應該會是「我的應用程式」、「zh-TW」才對(以繁體中文版建立的話)
輸入名稱與值,並且重建專案後
就可以直接在頁面的XAML輸入資源字串
Windows Phone 7/8的方式是綁定字串
因此不是輸入x:Uid而是在想要綁定的屬性上輸入
{Binding Path=LocalizedResources.(資源名稱), Source={StaticResource
LocalizedStrings}}
(注意不可以斷行)
而如果是程式碼的話,則是必須先引用「(專案名稱).Resources」的命名空間
接著使用「AppResources.(資源名稱)」才能把資源給讀取進來
至於怎麼產生多語系檔案呢?
要先注意的是,你在WMAppMenifest.xml裡面「封裝→支援的語系」做設定的話其實沒用
而是要在專案上按右鍵選屬性,
在跳出來的視窗中「支援的文化特性」這項勾選你想支援的語言
系統才會對應產生AppResources.resx的多語系檔案
雖然我比較喜歡這種方式,不過Windows Phone 8.1似乎是往Win8.1方向靠過去
所以這樣的開發模式大概就要走入歷史了......
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.250.112.253
推
03/10 14:47, , 1F
03/10 14:47, 1F
推
03/10 18:22, , 2F
03/10 18:22, 2F
版主幫我改的,我也同意了,所以請以外標題為準(汗
※ 編輯: hoyunxian 來自: 111.250.112.253 (03/10 19:26)
推
03/10 22:00, , 3F
03/10 22:00, 3F