Android 的 resource 除了 string resource 之外還有 layout, image 等等,而且在開啟專案時預設的範本就會有,只要添加新的語系目錄或是解析度目錄就可以了
微軟的預設範本只有 Assets目錄,沒有類似 android 下面的 res/values-{loc} 目錄
直到找到這篇 快速入門:使用字串資源 (XAML)
才知道原來微軟也有一樣的東西!!!!!
簡單的說
要先在 Package.appxmanifest 裡面的 Application 中設定好預設語言,這個步驟沒做預設的設定會是開發工具的顯示語系的樣子
之後要在專案目錄下面開一個 strings 目錄,下面開一個跟預設語系一樣的目錄名稱,裡面開一個 resource.resx 檔,
長得像這樣
之後左鍵雙擊兩下 .resw 即可開始編輯
資源的設定方式為使用 x:Uid 提取,假設畫面上有一個 textblock控制項,要用rsource控制要顯示的文字時,要給 textblock 指定 Uid,該Uid 與 Resource 的名稱相同
<grid background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<textblock> </textblock>
</grid>
但 resource 裡面除了指定名稱之外,還要指定對應的 Uid 要對應的屬性,像上面的 textblock 要顯示 "Hello!!" ,如果直接寫死在code 裡面是
<TextBlock Text="Hello!!" />
用 resource 對應時 resource 要這樣設定
然後 Uid 這樣下
<textblock x:uid="AppName"> </textblock>
到這邊之後直接 F5 給他跑下去,就可以看到結果啦
多國語言的部分,只要在 strings 目錄下面開對應的語系目錄,然後把原本的resource.resw 翻譯過後放進去即可
app 啟動時會先看有沒有跟系統語系對應的 Resource,如果沒有的話,就是用 Package.appxmanifest 裡面指定的語系資源了
另外 memo 一下語系對應表
http://msdn.microsoft.com/en-us/library/windows/apps/jj657969.aspx
沒有留言:
張貼留言