C# Winform支持多语言界面切换的软件快速开发平台
C# Winform支持多语言界面切换的软件快速开发平台
软件快速开发平台简介
C/S系统软件快速开发框架支持多国语言界面,语言资料存储在CSFrameworkVXX.System数据库的sys_Language表。目前支持中文繁体、简体、英文、越南文(默认是中文简体),分别对应的字段名称:CHS\CHT\ENG\VN,您可通过系统管理模块的【多语言管理】进行维护语言库资料。
.png)









适用开发:制造、服务、零售、商贸等行业的ERP、MRP、MES、CRM、MIS、HIS、POS数据管理应用系统
运行平台:Windows + .NET Framework 4.5
开发工具:Visual Studio 2015+,C#语言
数据库:Microsoft SQLServer 2008R2+(支持多数据库:Oracle/MySql)

产品介绍
C/S系统开发框架旗舰版为软件团队提供强大的技术支撑以及快速开发能力,开发框架集成大量的通用开发包与工具实用类,提供丰富的例子,借助技术文档、网站资源、演示源码以及在线技术指导,用户能快速投入研发自己的项目。自2007年首发开发框架以来,我们成功积累了2000多位用户,其中包括数百家软件公司或大型集团企业。经过十年的产品迭代升级,最新旗舰版技术更成熟,性能更稳定,产出效率更高!
配套的代码生成器工具能自动生成界面(FORM)、业务层(BLL)、数据层(DAL)、模型(Model)、报表(Report)以及业务模块(Class Library DLL)的源代码,极大地提高开发效率、节约开发时间、降低项目成本。据多年项目实践统计,开发框架基本能完成项目大概60%以上的工作量。

C/S系统软件快速开发框架支持多国语言界面,语言资料存储在CSFrameworkVXX.System数据库的sys_Language表。目前支持中文繁体、简体、英文、越南文(默认是中文简体),分别对应的字段名称:CHS\CHT\ENG\VN,您可通过系统管理模块的【多语言管理】进行维护语言库资料。
软件优势
1. 自动初始化所有界面的默认语言到语言数据库。
2. 提供多语言管理界面,管理和维护语言库资料。
3. 使用方面,容易扩展。
.png)
支持多语言的开发框架版本

多语言实现机制原理
1.每一条语言信息定义一个唯一的编号(ObjectID),作为语言编码,通过ObjectID获取语言资料。
2.定义两种语言数据类型(ItemType,Message/Control),
Message 类型是普通消息,既用户自定义消息,消息内容本身作为ObjectID存储。
Control 类型是窗体界面的组件,获取或设置组件的.Text,.Caption属性的值。
3. 系统通过枚举Form的组件成员对象自动将.Text或.Caption的值添加到语言库,作为默认语言。
4. 独立封装语言库程序包,CSFramework2.3.Language.dll
5. 提供语言库处理程序,LanLib工具类。通过LanLib.Get()方法获取语言。
C# Code:
/// <summary>
/// 多语言管理类
/// </summary>
public class LanLib
{
//当前语言类型
private static LanguageType _Current = LanguageType.CHS;
/// <summary>
///语言类型
/// </summary>
public static LanguageType Current { get { return _Current; } set { _Current = value; } }
/// <summary>
/// 语言资料库策略接口
/// </summary>
public static ILanguage LanguageData { get; set; }
/// <summary>
/// 获取控件的文本(Text/Caption)的多语言
/// </summary>
/// <param name="objectID">语言标识</param>
/// <param name="defaultValue">默认值</param>
/// <returns></returns>
public static string Get(string objectID, string defaultValue)
{
return LanguageData.Get(objectID, defaultValue, LanguageDataType.Control);
}
//获取控件的文本(Text/Caption)的多语言
public static string Get(LanguageType type, string objectID, string defaultValue)
{
return LanguageData.Get(type, objectID, defaultValue, LanguageDataType.Control);
}
//获取控件的文本(Text/Caption)的多语言
public static string GetByMatch(string objectID, string defaultValue)
{
return LanguageData.GetByMatch(objectID, defaultValue, LanguageDataType.Control);
}
/// <summary>
/// 获取用户自定义消息的多语言
/// </summary>
/// <param name="userMsg">用于自定义消息</param>
/// <returns></returns>
public static string Get(string userMsg)
{
return LanguageData.Get(userMsg);
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 多语言管理类
/// </summary>
public class LanLib
{
//当前语言类型
private static LanguageType _Current = LanguageType.CHS;
/// <summary>
///语言类型
/// </summary>
public static LanguageType Current { get { return _Current; } set { _Current = value; } }
/// <summary>
/// 语言资料库策略接口
/// </summary>
public static ILanguage LanguageData { get; set; }
/// <summary>
/// 获取控件的文本(Text/Caption)的多语言
/// </summary>
/// <param name="objectID">语言标识</param>
/// <param name="defaultValue">默认值</param>
/// <returns></returns>
public static string Get(string objectID, string defaultValue)
{
return LanguageData.Get(objectID, defaultValue, LanguageDataType.Control);
}
//获取控件的文本(Text/Caption)的多语言
public static string Get(LanguageType type, string objectID, string defaultValue)
{
return LanguageData.Get(type, objectID, defaultValue, LanguageDataType.Control);
}
//获取控件的文本(Text/Caption)的多语言
public static string GetByMatch(string objectID, string defaultValue)
{
return LanguageData.GetByMatch(objectID, defaultValue, LanguageDataType.Control);
}
/// <summary>
/// 获取用户自定义消息的多语言
/// </summary>
/// <param name="userMsg">用于自定义消息</param>
/// <returns></returns>
public static string Get(string userMsg)
{
return LanguageData.Get(userMsg);
}
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
如何扩充自定义语言?
若要扩充语言,首先在sys_LanguageType表添加一种语言类型(如:XX),然后在sys_Language表添加一个语言类型字段(XX),字段名称必须与语言类型一致!!!
打开VS,修改系统管理模块的【多语言管理】界面,在表格中添加一列,列的字段对应:XX,您也可以增加查询条件。
如何快速修改或定义语言资料?
1. 通过系统管理模块的【多语言管理】界面管理和维护语言资料库。
2. 通过数据库管理软件快速修改语言资料,如:SQL Management管理器。
多语言界面展示
默认简体中文

切换为英文



系统管理模块进行多语言管理:




C#实现:
Form继承ILanguageSupport接口,然后在Form.Load事件调用this.SetLanguage方法。
C# Code:
/// <summary>
/// 支持多语言的接口
/// </summary>
public interface ILanguageSupport
{
/// <summary>
/// 设置语言
/// </summary>
void SetLanguage();
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 支持多语言的接口
/// </summary>
public interface ILanguageSupport
{
/// <summary>
/// 设置语言
/// </summary>
void SetLanguage();
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
C# Code:
/// <summary>
/// 接口的方法,设置当前窗体的语言
/// </summary>
public virtual void SetLanguage()
{
this.Text = LanLib.Get(LanLib.Current, this.GetType().FullName, this.Text);
LanTool.SetLanguage(this);
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 接口的方法,设置当前窗体的语言
/// </summary>
public virtual void SetLanguage()
{
this.Text = LanLib.Get(LanLib.Current, this.GetType().FullName, this.Text);
LanTool.SetLanguage(this);
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
C/S系统快速开发框架旗舰版V5.0(多语言界面框架)
适用开发:制造、服务、零售、商贸等行业的ERP、MRP、MES、CRM、MIS、HIS、POS数据管理应用系统
运行平台:Windows + .NET Framework 4.5
开发工具:Visual Studio 2015+,C#语言
数据库:Microsoft SQLServer 2008R2+(支持多数据库:Oracle/MySql)
产品介绍C/S系统开发框架旗舰版为软件团队提供强大的技术支撑以及快速开发能力,开发框架集成大量的通用开发包与工具实用类,提供丰富的例子,借助技术文档、网站资源、演示源码以及在线技术指导,用户能快速投入研发自己的项目。自2007年首发开发框架以来,我们成功积累了2000多位用户,其中包括数百家软件公司或大型集团企业。经过十年的产品迭代升级,最新旗舰版技术更成熟,性能更稳定,产出效率更高!
配套的代码生成器工具能自动生成界面(FORM)、业务层(BLL)、数据层(DAL)、模型(Model)、报表(Report)以及业务模块(Class Library DLL)的源代码,极大地提高开发效率、节约开发时间、降低项目成本。据多年项目实践统计,开发框架基本能完成项目大概60%以上的工作量。

参考文档:
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
C# Winform等待窗体WaitingForm组件下载(CSFramework提供)|C/S开发框架
C# Winform等待窗体WaitingForm组件下载(CSFramework提供)
C# Winform等待窗体WaitingForm组件下载(CSFramework提供)
企业级C/S系统快速开发框架(Winform+.NET8+EFCore)|C/S开发框架
最新MES系统快速开发平台(Winform+NET8+EFCore)|C/S开发框架
Winform软件开发框架|快速开发平台推荐|C/S开发框架
Winform开发框架 | 表格编辑窗体权限控制|C/S开发框架
DevExpress组件版本下载、安装与VS开发环境 | Winform C/S框架|C/S开发框架
使用Winform代码生成器生成FastReport.NET报表模板文件(frx文件)
.NET代码生成器V6.1 - 快速生成Winform窗体代码
C#Winform代码生成器新功能 - 支持配置每个字段可弹窗选择数据
C# Winform代码生成器新功能 - 生成表格编辑窗体
WinFormsApp窗体应用快速开发框架(.NET7+EFCore+VS2022)
Winform C/S架构自动升级程序 AutoUpgraderV1.2迭代记录|C/S开发框架
C/S Winform框架开发指南 | 如何新增系统消息参数(sys_SystemSettings表)|C/S开发框架
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
C# Winform等待窗体WaitingForm组件下载(CSFramework提供)|C/S开发框架
C# Winform等待窗体WaitingForm组件下载(CSFramework提供)
C# Winform等待窗体WaitingForm组件下载(CSFramework提供)
企业级C/S系统快速开发框架(Winform+.NET8+EFCore)|C/S开发框架
最新MES系统快速开发平台(Winform+NET8+EFCore)|C/S开发框架
Winform软件开发框架|快速开发平台推荐|C/S开发框架
Winform开发框架 | 表格编辑窗体权限控制|C/S开发框架
DevExpress组件版本下载、安装与VS开发环境 | Winform C/S框架|C/S开发框架
使用Winform代码生成器生成FastReport.NET报表模板文件(frx文件)
.NET代码生成器V6.1 - 快速生成Winform窗体代码
C#Winform代码生成器新功能 - 支持配置每个字段可弹窗选择数据
C# Winform代码生成器新功能 - 生成表格编辑窗体
WinFormsApp窗体应用快速开发框架(.NET7+EFCore+VS2022)
Winform C/S架构自动升级程序 AutoUpgraderV1.2迭代记录|C/S开发框架
C/S Winform框架开发指南 | 如何新增系统消息参数(sys_SystemSettings表)|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
