网上有很多关于Silverlight国际化的说明,包括MSDN的示例,都没有强调一点,下面以红色标示,
基础国际化知识请先参考MSDN相关章节,关键步骤要点说明为:
1、资源多个资源文件,默的一个名为Resource.resx
默认的一个声明要为public;
程序集信息/非特定语言选择默认的(一般为english)。
2、项目属性文件csproj(用文本编辑器打开)
添加非特定语言外要支持的语言:
<SupportedCultures>zh-CN;jp</SupportedCultures>
3、作成包装类(参考MSGN示例)如:LocalizedStrings
4、App.xaml中(注意加粗部分替换成你的相应内容):
<Application.Resources> <local:LocalizedStrings xmlns:local ="clr-namespace:SilverlightApplicationLocale" x:Key="LocalizedStrings" /> </Application.Resources>
5、程序引用(注意加粗部分替换成你的相应内容):
<Button Content="{Binding Path=Resource.Hello,Source={StaticResource LocalizedStrings }}"
6、通过引用的HTML传递local信息:
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> <param name="source" value="RichEdit.xap"/> <param name="onError" value="onSilverlightError" /> <param name="background" value="white" /> <param name="minRuntimeVersion" value="4.0.50826.0" /> <param name="autoUpgrade" value="true" /> <param name="culture" value="ja" /> <param name="uiculture" value="ja" /> <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration:none"> <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="获取 Microsoft Silverlight" style="border-style:none"/> </a> </object>
PS:
若程序动态改变区域:
private void Application_Startup(object sender,StartupEventArgs e) { CultureInfo c = new CultureInfo("zh-CN"); Thread.CurrentThread.CurrentUICulture = c; Thread.CurrentThread.CurrentCulture = c; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。