Silverlight技术调查(3)——国际化

网上有很多关于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;
       }




你可能感兴趣的:(Silverlight技术调查(3)——国际化)