.Net本地化资源

一、 演示如下图:

 

二、 下载源代码:/Files/NewLand/CustomerCulter.rar

三、 参考资料:

Msdn:

http://msdn.microsoft.com/zh-cn/library/system.globalization.cultureinfo(VS.80).aspx
http://msdn.microsoft.com/zh-cn/library/c6zyy3s9(VS.80).aspx
http://msdn.microsoft.com/zh-cn/library/y99d1cd3.aspx
http://msdn.microsoft.com/zh-cn/library/9xdxwwkc.aspx

StringResourceTool:
http://stringresourcetool.codeplex.com/
http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/8f92a4cf-9598-4758-b385-1adeccf56afd 

Other:

http://www.codeproject.com/KB/cs/formlanguageswitch.aspx?fid=132823&select=2307173#xx2307173xx


四、关键步骤

    1)本地化UI

           1. 将Form的localizable设为true

   此时你将看到Form1.Designer.cs中关于控件的属性都消失了,而是用类似这样的语句替代了:
   resources.ApplyResources(this.button1, "button1");
   其他:其他控件如图所示摆放,并写上中文Text
   2. 将Form的language选为‘英语’
   此时你将看到在解决方案资源管理器中新生成了一个名为Form1.en.resx。这个文件存放了英文环境下的资源。
   3. 将Form中的button的Text改为‘I`m english’;菜单项也做相应的英文修改
   4. 接下来就是点击【英文】菜单时候将界面的元素应用英文的资源  
private void ReInitial()//重新应用界面元素的资源,没有找到更好的方法,就采取了这种简单的方法,有待提高
 {
    this.Controls.Clear();
    InitializeComponent(); 
 }
    void ChangeUICulter(string language)
  {
     Thread.CurrentThread.CurrentCulture = new CultureInfo(language);
     Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
  }

 private void englishToolStripMenuItem_Click(object sender, EventArgs e)
  {
      ChangeUICulter("en-us");
            ReInitial();
        } 
 

   2)本地化动态字符串

           1.  在项目上右击添加新项->资源文件:取名为WinFormStrings.resx

        在资源文件中添加一个变量msgStr,值为’好‘
按照1的步骤再加一个资源文件取名为:WinFormStrings.en-us.resx
在资源文件中添加一个变量msgStr,值为’ok‘
   2.  在按钮点击时间中这样写:
  private void button1_Click(object sender, EventArgs e)
  {
      ResourceManager LocRM = new ResourceManager("CustomerCulter.WinFormStrings"typeof(Form1).Assembly);

       MessageBox.Show(LocRM.GetString("msgStr"));

   }

 

转载于:https://www.cnblogs.com/NewLand/archive/2009/05/11/1454146.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值