html5 jsp做网站可以么,wordpress更改路径,ASP.NET与网站开发编程实战,在线观看的seo综合查询C# Winform项目多语言实现(支持简/繁/英三种语言)有很多种方案实现多语言#xff0c;我在这里介绍一种最简单最容易理解的#xff0c;作为教学材题应该从通俗易懂入手。在写这篇文章之前#xff0c;本来想用枚举窗体对象成员的方式设置语言#xff0c;但是找不到源代码了我在这里介绍一种最简单最容易理解的作为教学材题应该从通俗易懂入手。在写这篇文章之前本来想用枚举窗体对象成员的方式设置语言但是找不到源代码了不知存到那个电脑上了。因此用另一种方式实现如找到了再分享给大家。关于多语言处理本人尝试过以下几种方案1. 使用Form窗体自带的多语言处理。设置Form的Language属性选择一种语言会自动生成.resx文件。但是最大的缺点是不易维护每个语言对应一个resx文件第个窗体对应至少5个文件如项目大窗体数量多会生成数以千计的resx文件vss控制也成问题。另一个缺点是当界面增加控件时要刷新resx文件。给我的印象是处理复杂维护困难是一次痛苦的尝试 2. 使用二维数组存储多语言数据。在用Delphi开发过一个项目当时用二维数组存储多语言数据。枚举窗体内所有控件使用控件名称获取语言数据。 3. 使用XML存储多语言数据。抽象出一个接口用于设置语言。以下介绍这种方案支持多语言的接口定义 /// summary /// 支持多语言的接口 /// /summary public interface ILanguageSupport { /// summary /// 语言编号 /// /summary string LanguageISID { get; set; } /// summary /// 设置语言 /// /summary /// param namelanguage/param void SetLanguage(string language); void SetLanguage(); /// summary /// 设置语言标记。用于自动设置语言 /// /summary void SetLanguageTag(); }定义窗体基类实现ILanguageSupport接口 public partial class frmBase : XtraForm, ILanguageSupport { protected string _LanguageISID; public frmBase() { InitializeComponent(); } private void frmBase_Load(object sender, EventArgs e) { this.SetLanguage(); } #region ILanguageSupport 成员 public string LanguageISID { get { return _LanguageISID; } set { _LanguageISID value; } } public virtual void SetLanguage(string language) { } public virtual void SetLanguage() { } public virtual void SetLanguageTag() { } #endregion }主窗体部分代码 /// summary /// 设置语言按钮事件 /// /summary private void OnSetLanguage_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { LanguageType type (LanguageType)int.Parse(e.Item.Tag.ToString()); LanguageProvider.CurrentLanguageType type; this.DoSetLanguage(); } /// summary /// 重新设置所有打开窗体的语言。 /// /summary private void DoSetLanguage() { foreach (Form form in Application.OpenForms) if (form is ILanguageSupport) (form as ILanguageSupport).SetLanguage(); } /// summary /// 设置主窗体的多语言 /// /summary public override void SetLanguage() { base.SetLanguage(); this.Text LanguageProvider.GetLanguage(LanguageProvider.CurrentLanguageType, frmMain); btnChild1.Caption LanguageProvider.GetLanguage(LanguageProvider.CurrentLanguageType, frmMain.btnChild1); btnChild2.Caption LanguageProvider.GetLanguage(LanguageProvider.CurrentLanguageType, frmMain.btnChild2); btnAbout.Caption LanguageProvider.GetLanguage(LanguageProvider.CurrentLanguageType, frmMain.btnAbout); btnLanguage.Caption LanguageProvider.GetLanguage(LanguageProvider.CurrentLanguageType, frmMain.btnLanguage); btnUser.Caption LanguageProvider.GetLanguage(LanguageProvider.CurrentLanguageType, frmMain.btnUser); }语言定义 ?xml version1.0 encodingutf-8 ? LanguageLibrary lan ISIDfrmMain ENGC# Multi-Language Implement (http://www.csframework.com/) CHN_TC#實現多語言 (WWW.CSFRAMEWORK.COM C/S框架網) CHN_SC#实现多语言 (WWW.CSFRAMEWORK.COM C/S框架网) /lan lan ISIDfrmMain.btnChild1 ENGOpen Child1 Form CHN_T子表單1 CHN_S子窗体1/lan lan ISIDfrmMain.btnChild2 ENGOpen Child2 Form CHN_T子表單2 CHN_S子窗体2/lan lan ISIDfrmMain.btnAbout ENGAbout Us CHN_T關於我們 CHN_S关于我们/lan lan ISIDfrmMain.btnLanguage ENGSelect Language CHN_T選擇語言 CHN_S选择语言/lan lan ISIDfrmMain.btnUser ENGCurrent User CHN_T當前用戶 CHN_S当前用户/lan lan ISIDfrmChild1 ENGChild Form One CHN_T子表單1 CHN_S子窗体1/lan lan ISIDfrmChild2 ENGChild Form Two CHN_T子表單2 CHN_S子窗体2/lan lan ISIDgridColumn1 ENGUser Name CHN_T姓名 CHN_S姓名/lan lan ISIDgridColumn2 ENGTel No. CHN_T電話 CHN_S电话/lan lan ISIDgridColumn3 ENGAddress CHN_T地址 CHN_S地址/lan lan ISIDabout ENGOpen About Us Form CHN_T打開關於我們表單 CHN_S打开关于我们窗体/lan lan ISIDcsframework ENGwww.csframework.com will become more and more wonderful with you are surpport. lets made a happy family together hand in hand. CHN_TC/S框架網在您的支持下會建設更美好讓我們攜起手來共同打造一個快樂家園. 感謝您使用C/S框架網,有任何意見或建議請留言! CHN_SC/S框架網在您的支持下会建设更美好让我们携起手来共同打造一个快乐家园. 感谢您使用C/S框架網,有任何意见或建议请留言! /lan /LanguageLibrary 程序截图英文版:简体中文:繁体中文: 转载于:https://www.cnblogs.com/acetaohai123/p/6625722.html