在metro里面实现多语言和之前的.net项目有些区别,有下面几种实现多语言的方式:
1、直接在代码调用
在项目下面建立文件夹strings,根据语言建立子目录,并将资源文件放入子目录下,如下图所示
注意下图是错误的...后缀不能为resx应该是resw
在后台调用可以写成
1: var resourceLoader= ref new ResourceLoader();
2: resourceLoader->GetString("buyRemind")。
这里有个知识点要告诉大家,如果要获取的的资源文件名是Resources.resw 可以写成 ResourceLoader("Resources") 如果获取的资源文件名是Error.resw 那就应该写成ResourceLoader("Error"),如果是在一个新的类库如名叫:AppResourceClassLibrary里面那么就应该写成 new ResourceLoader("AppResourceClassLibrary/Resources") 其他基本类似大家琢磨一下
2、通过x:Uid获取
如上图所示TextBox的Uid是tbtext,在资源文件定义了tbtext.Text为:Uid获取..所以这个TextBox 的显示出来Uid获取
最后给大家附上常用的区域性代码
区域性名称 | 区域性代码 |
简体中文(中国) | zh-CN |
繁体中文(*) | zh-TW |
捷克语(捷克*) | cs-CZ |
丹麦语(丹麦) | da-DK |
荷兰语(荷兰) | nl-NL |
英语(英国) | en-GB |
英语(美国) | en-US |
芬兰语(芬兰) | fi-FI |
法语(法国) | fr-FR |
德语(德国) | de-DE |
希腊语(希腊) | el-GR |
匈牙利语(匈牙利) | hu-HU |
意大利语(意大利) | it-IT |
日语(日本) | ja-JP |
朝鲜语(韩国) | ko-KR |
挪威语(挪威) | nb-NO |
波兰语(波兰) | pl-PL |
葡萄牙语(巴西) | pt-BR |
葡萄牙语(葡萄牙) | pt-PT |
俄语(俄罗斯) | ru-RU |
西班牙语(西班牙) | es-ES |
瑞典语(瑞典) | sv-SE |