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

推荐订阅源

月光博客
月光博客
Martin Fowler
Martin Fowler
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog
O
OpenAI News
云风的 BLOG
云风的 BLOG
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
LangChain Blog
V
Vulnerabilities – Threatpost
P
Privacy & Cybersecurity Law Blog
Microsoft Azure Blog
Microsoft Azure Blog
H
Help Net Security
博客园 - 三生石上(FineUI控件)
C
Cyber Attacks, Cyber Crime and Cyber Security
N
News | PayPal Newsroom
The Register - Security
The Register - Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
C
Cisco Blogs
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Vercel News
Vercel News
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Attack and Defense Labs
Attack and Defense Labs
人人都是产品经理
人人都是产品经理
S
Security Affairs
爱范儿
爱范儿
Engineering at Meta
Engineering at Meta
T
Tor Project blog
大猫的无限游戏
大猫的无限游戏
L
Lohrmann on Cybersecurity
aimingoo的专栏
aimingoo的专栏
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 【当耐特】
V
V2EX
V
Visual Studio Blog
The GitHub Blog
The GitHub Blog
雷峰网
雷峰网
WordPress大学
WordPress大学
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
L
LINUX DO - 最新话题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Schneier on Security
Schneier on Security
小众软件
小众软件
PCI Perspectives
PCI Perspectives

博客园 - kuning的程序博客

第一章 第二课 Using Resources 第一章 第一课 Using WPF Control Cmd,powershell 参考 百度WSUS 我也转关于软件测试的文章 了解WMI 英文面试题 据说是微软面试哦 算法 之 万年历 算法 之 哥德巴赫猜想 - kuning的程序博客 C# 理论学习 之 面向对象设计 C# 理论学习 之 类、组,名称空间 C# 深入学习 之 Winform记录日志 C#深入学习 之 委托和事件 C#数据结构-排序之快速排序法 PHP之安装篇 Sql Server中的行列互换 再叙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"));

               }