C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 基于数据库资源的多语言实现
以前的开发平台里,是用xml语言包实现了多语言功能,现在新的平台里进行了调整,把多语言包资源放在数据库表里实现了。
我们系统预留了多语言的配置全局变量、可以通过配置这个参数达到切换多语言的目的
我们在选项管理里增加一个多语言选择的选项目,然后有哪些语言资源就加上去
下面的表是多语言的数据库设计表结构
下面图是多语言的数据库里的资源设置情况
这个是多语言的设置管理界面参考
下面是多语言的管理窗体位置
多语言例子程序参考:
/// <summary>
/// 获取多语言
/// </summary>
public void GetLanguage()
{
this.grbLanguage.Text = this.GetLanguage(this.grbLanguage);
this.lblLanguageCode.Text = this.GetLanguage(this.lblLanguageCode) + ":";
this.lblMessageCode.Text = this.GetLanguage(this.lblMessageCode) + ":";
this.lblCaption.Text = this.GetLanguage(this.lblCaption) + ":";
this.btnAdd.Text = this.GetLanguage(this.btnAdd);
this.btnSave.Text = this.GetLanguage(this.btnSave);
this.btnCancel.Text = this.GetLanguage(this.btnCancel);
} public string GetLanguage(Control control)
{
string result = string.Empty;
string key = this.Name + "." + control.Name;
string caption = control.Text;
result = ClientCache.Instance.GetLanguage(this.UserInfo, key, BaseSystemInfo.CurrentLanguage, caption);
return result;
}
多语言接口程序参考:
//-----------------------------------------------------------------
// All Rights Reserved , Copyright (C) 2015 , Hairihan TECH, Ltd.
//----------------------------------------------------------------- using System.Data;
using System.ServiceModel;
using System.Collections.Generic; namespace DotNet.IService
{
using DotNet.Utilities;
using DotNet.Model; /// <summary>
/// ILanguageService
/// 多语言接口
///
/// 修改纪录
///
/// 2015.02.24 版本:1.0 JiRiGaLa 创建主键。
///
/// <author>
/// <name>JiRiGaLa</name>
/// <date>2015.02.24</date>
/// </author>
/// </summary>
[ServiceContract]
public interface ILanguageService
{
/// <summary>
/// 获取实体
/// </summary>
/// <param name="userInfo">用户</param>
/// <param name="id">主键</param>
/// <returns>实体</returns>
[OperationContract]
BaseLanguageEntity GetObject(BaseUserInfo userInfo, string id); /// <summary>
/// 添加
/// </summary>
/// <param name="userInfo">用户</param>
/// <param name="entity">实体</param>
/// <param name="statusCode">返回状态码</param>
/// <param name="statusMessage">返回状态信息</param>
/// <returns>主键</returns>
[OperationContract]
string Add(BaseUserInfo userInfo, BaseLanguageEntity entity, out string statusCode, out string statusMessage); /// <summary>
/// 编辑
/// </summary>
/// <param name="userInfo">用户</param>
/// <param name="entity">实体</param>
/// <param name="statusCode">返回状态码</param>
/// <param name="statusMessage">返回状态信息</param>
/// <returns>影响行数</returns>
[OperationContract]
int Update(BaseUserInfo userInfo, BaseLanguageEntity entity, out string statusCode, out string statusMessage); /// <summary>
/// 设置多语言
/// </summary>
/// <param name="userInfo">用户</param>
/// <param name="messageCode">语言编号</param>
/// <param name="enUS">英文</param>
/// <param name="zhCN">简体中文</param>
/// <param name="zhTW">繁体中文</param>
/// <returns>影响行数</returns>
[OperationContract]
int SetLanguage(BaseUserInfo userInfo, string messageCode, string enUS, string zhCN, string zhTW); /// <summary>
/// 按编号获取多语言
/// </summary>
/// <param name="userInfo">用户</param>
/// <param name="messageCode">语言编号</param>
/// <returns>列表</returns>
List<BaseLanguageEntity> GetLanguageByMessageCode(BaseUserInfo userInfo, string messageCode); /// <summary>
/// 批量打删除标志
/// </summary>
/// <param name="userInfo">用户</param>
/// <param name="ids">主键数组</param>
/// <returns>影响行数</returns>
[OperationContract]
int SetDeleted(BaseUserInfo userInfo, string[] ids); /// <summary>
/// 批量保存
/// </summary>
/// <param name="userInfo">用户</param>
/// <param name="list">列表</param>
/// <returns>影响行数</returns>
[OperationContract]
int BatchSave(BaseUserInfo userInfo, List<BaseLanguageEntity> list);
}
}
C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 基于数据库资源的多语言实现的更多相关文章
- C#.NET 大型企业信息化系统集成快速开发平台 4.1 版本 - 面向数据库SQL语句的应用开发二
很多传统企业.包括系统集成类的IT企业,若不是从事专业软件开发领域的,能做出一套适合本公司企业信息化的灵活的信息系统还是很有难度的,还有一些已经多年不写程序的资深开发人员,初学者,都难把一个整套系统实 ...
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 – 员工离职管理
C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 – 员工离职管理 当公司有几万人,上千家加盟网点,几个庞大的直属分公司后,系统账户的有效管理也是一个头疼的问题,把所有的帐户及时进行科学 ...
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 适合大型企业信息化应用使用的角色权限管理体系
每个人外表看看都没什么大区别.但是内在的知识.处理问题的能力.解决问题的能力.头脑灵活性都会有很大的差距.软件组件也是一样,有些组件编写厉害,想问题深入,能处理的难题也多,构思巧妙. 通用快速开发平台 ...
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 几十套业务系统集中统一授权管理实现经验分享
由于这几年互联网电商的快速发展,快递公司也进入了快速发展的绝好快速成长期.随着社会的强劲需求公司的业绩年年攀新高.快速发展的公司都需要有强大的IT信息系统,硬件设备基本上款到了货也可以到了,但是软件系 ...
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 大型软件系统客户端数据同步的问题解决
作为一个完整的整体信息化解决方案需要有足够强大的各种功能,这些功能相对独立,又互相依存.当有需要这样的功能时可以随时拿出来用,适当修改一下就可以满足要求.只有这样才能快速开发各种信息化系统,才能满足各 ...
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 面向全国标准省市县行政数据基础之上的组织机构管理
由于信息系统庞大.各种业务子系统.各种开发语言开发的业务逻辑.各种年代维护的代码.各种参差不齐的历史遗留信息系统,面向全国的业务系统,面向某个领域的汽运管理信息系统,面向内部的业务系统,面向外部的各种 ...
- C#.NET 大型企业信息化系统集成快速开发平台 4.1 版本 - 如何才能成为全国知名软件组件
往往我们看到一个好用的工具.就能知道制作这个工具有多少不容易,使用好这个工具也有多少不容易? 通用快速开发框架同样也是经过多年的完善改进才到了今天的稳定成熟度,知名程度,为什么能成为全国有名的软件组件 ...
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 防止暴力破解密码、提高大型信息系统安全
几十万人使用的系统.覆盖全国.每天营业额上好几个亿的.若信息安全方面太薄弱了.那将会是致命的打击.甚至威胁到企业的正常运转.从国家层面到企业级别大家都在重视信息的安全.可控. 运行速度慢一点点可以忍受 ...
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 外部服务调用、内部服务调用优化,面向服务化的
现在的信息系统越来越复杂,越来越庞大,不仅需要内部是一个整体,而且还需要提供很多对外的服务调用. 1:别人如何调用最方便?用不同的开发语言调用.例如app.手持设备.服务器.2:服务的返回状态是什么样 ...
随机推荐
- PHP7 redis扩展安装
1.安装redis (1)下载:https://github.com/phpredis/phpredis/tree/php7 或下载http://pan.baidu.com/s/1i5DFrjn用sa ...
- JavaScript利用装饰模拟实现私有状态
在经典的面向对象编程中,经常需要将对象的某个状态封装或隐藏在对象内,只有通过对象的一幅幅和能访问这些状态,对外只暴露一些重要的状态变量可以直接读写. 我们可以通过将变量(或参数)装饰在一个构造函数内来 ...
- MongoDB索引
1.目的 索引就是用来加速查询的.数据库索引与书籍的索引类似:有了索引就不需要翻遍整本书,数据库则可以直接在索引中查找,使得查找速度能提高几个数量级.在索引中找到条目以后,就可以直接跳转到目标文档的位 ...
- Atitit.异常处理 嵌套 冗长的解决方案
Atitit.异常处理 嵌套 冗长的解决方案 1. 异常处理的需要改进的地方1 2. +异常设计的初衷是, 在程序中出现错误时, 由程序自己处理错误, 尽量不要以exit(0)这种粗暴的方式中止程序 ...
- jQuery演示8种不同的图片遮罩层动画效果
效果预览 下载地址 jQuery插件大全 实例代码 <div class="container"> <h1>jQuery图标和文章动画效果</h1&g ...
- CSS3D效果
效果如本博客中右边呢个浅色框框,来自webpack首页(IE绕路0_0) github地址:http://wjf444128852.github.io/demo02/css3/css3d/ 思路: 1 ...
- DVWA安装,ALMP环境搭建以及php版本转换
前言 本文记录DVWA(Damn Vulberability Web App)在虚拟机中安装配置,包括ALMP环境的搭建和php版本的转换. 目录 2. ALMP环境搭建 3. php版本切换 一. ...
- AFNetworking的封装
AFNetworking的封装 特点 1.将AFNetworking 3.0封装.能够很好享受苹果开发中的面向对象开发思想 . 2.其中也提供几种方法,来请求数据.包括:GET请求/POST请求/Up ...
- iOS简单实现毛玻璃效果
iOS8之后有一个类 UIVisualEffectView // 毛玻璃 UIImageView *img = [[UIImageView alloc] initWithFrame:CGRectMak ...
- 在易语言中调用MS SQL SERVER数据库存储过程方法总结
Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...