WinForm多语言

1.安装 ResXManager.VSIX.vsix,此VS扩展,用来集中管理翻译,使用说明书的位置:

https://github.com/tom-englert/ResXResourceManager/wiki/Usage

 

安装完成后,如下图所示:

 

2.在项目中

 

 

 

 

 

点击属性“Localization”,对于每个控件,产生resx文件(本文档中,默认是中文)。

 

 

 

 

3.VS中,点击视图”->"其他窗口"->ResX Manager,然后添加新语言,添加美国后,相应项目翻译成英文后。

 

 

 

 

4.VS目录下面,生成…….en-US.resx资源文件。

 

5.代码切换语言

 if (UcSwitch_LanguageChange.Checked)           {                

Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");          

}            else    {                

Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-CHS");            }

 

6.然后,每个界面需要响应事件来应用语言变化(此处可以使用事件、消息等来触发)

        private void ApplyResource()

        {

            ComponentResourceManager res = new ComponentResourceManager(typeof(DummyToolBox));

            foreach (Control ctl in Controls)

            {

                res.ApplyResources(ctl, ctl.Name);

            }

            //Caption

            res.ApplyResources(this, "$this");

        }

posted @ 2020-03-31 17:01  cocochow  阅读(736)  评论(0)    收藏  举报