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

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

网上有很多关于Silverlight国际化的说明,包括MSDN的示例,都没有强调一点,下面以红色标示,
基础国际化知识请先参考MSDN相关章节,关键步骤要点说明为:

1、资源多个资源文件,默的一个名为Resource.resx
默认的一个声明要为public;
程序集信息/非特定语言选择默认的(一般为english)。
2、项目属性文件csproj(用文本编辑器打开)
添加非特定语言外要支持的语言:

[html] view plaincopy
 
  1. <SupportedCultures>zh-CN;jp</SupportedCultures>  

 

3、作成包装类(参考MSGN示例)如:LocalizedStrings
4、App.xaml中(注意加粗部分替换成你的相应内容):

[html] view plaincopy
 
  1. <Application.Resources>  
  2.     <local:<strong>LocalizedStrings</strong> xmlns:local ="clr-namespace:<strong>SilverlightApplicationLocale</strong>" x:Key="<strong>LocalizedStrings</strong>" />  
  3. </Application.Resources>  


5、程序引用(注意加粗部分替换成你的相应内容):

 

 

[html] view plaincopy
 
  1. <Button Content="{Binding Path=<strong>Resource.Hello</strong>, Source={StaticResource <strong>LocalizedString</strong>s }}"  

 

6、通过引用的HTML传递local信息:

[html] view plaincopy
 
  1.         <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">  
  2.           <param name="source" value="RichEdit.xap"/>  
  3.           <param name="onError" value="onSilverlightError" />  
  4.           <param name="background" value="white" />  
  5.           <param name="minRuntimeVersion" value="4.0.50826.0" />  
  6.           <param name="autoUpgrade" value="true" />  
  7. <strong>        <param name="culture" value="ja" />  
  8.         <param name="uiculture" value="ja" /></strong>  
  9.           <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0" style="text-decoration:none">  
  10.               <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="获取 Microsoft Silverlight" style="border-style:none"/>  
  11.           </a>  
  12.     </object>  


PS

 

              若程序动态改变区域:

[csharp] view plaincopy
 
    1.    private void Application_Startup(object sender, StartupEventArgs e)  
    2.    {  
    3. CultureInfo c = new CultureInfo("zh-CN");  
    4. Thread.CurrentThread.CurrentUICulture = c;  
    5. Thread.CurrentThread.CurrentCulture = c;  
    6.    }  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。