惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - kuning的程序博客

第一章 第二课 Using Resources 第一章 第一课 Using WPF Control Cmd,powershell 参考 百度WSUS 我也转关于软件测试的文章 了解WMI 英文面试题 据说是微软面试哦 算法 之 万年历 算法 之 哥德巴赫猜想 - kuning的程序博客 C# 理论学习 之 面向对象设计 - kuning的程序博客 C# 理论学习 之 类、组,名称空间 C# 深入学习 之 Winform记录日志 C#深入学习 之 委托和事件 C#数据结构-排序之快速排序法 PHP之安装篇 Sql Server中的行列互换 - kuning的程序博客 再叙2005Web控件(一) - kuning的程序博客 - 博客园 Poket PC 与 sqlserver2000(以上) RDA 方案
.Net本地化资源
kuning的程序博客 · 2009-05-11 · via 博客园 - kuning的程序博客

一、 演示如下图:


 

二、 下载源代码:/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"));

               }

            posted on 2009-05-11 14:50  kuning的程序博客  阅读(680)  评论()    收藏  举报