by 好大一小白
2012.11.8 13:23
1、 下载安装MultilingualAppToolkit
2、 支持vs2012
3、 在项目中添加开发默认语言的资源文件

这里只需要添加一个Resource.resw即可,如果开发是中文的,只要zh-CN目录中的,至于样式定义,本文不考虑。
4、 在VS工具菜单中启用多语言工具

5、 在项目工程右键添加翻译语言

6、 选择需要的目标翻译语言

7、 在工程中会声称一个多语言的文件夹

其中Pseudo Language (Pseudo).xlf是伪语言,在发布时可以排除
8、 只要Resource.resw中有值,编译后会在xlf中自动生成值,可以将xlf用多语言工具打开或发送给翻译人员,翻译后倒入到工程即可。
9、 使用,和一般的resw一样。
10、 注意 windows8 metro应用默认语言是根据控制面板中的设置来的。
更改语言:
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = "en-US";
获取应用支持的语言,即MultilingualResources中的文件和resw语种:
Windows.Globalization.ApplicationLanguages.ManifestLanguages
根据语言获取key:
方式一:ResourceLoader loader = new Windows.ApplicationModel.Resources.ResourceLoader();
string str = loader.GetString("test");
方式二: var context = new ResourceContext();
var lang = new List<string>();
lang.Add("zh-CN");
context.Languages = lang;
var resourceMap = ResourceManager.Current.MainResourceMap.GetSubtree("Resources");
var strs = resourceMap.GetValue("test", context);