重庆亮哥做网站,做网站托管的好处,企业管理生产管理系统,wordpress菜单滑动提供一个c# winform的多语言框架源码#xff0c;采用json格式作为语言包#xff0c;不使用resx资源#xff0c;当然本质一样的#xff0c;你也可以改为resx
一、先看下测试界面
演示了基本的功能#xff1a;切换语言#xff0c;如何加载语言#xff0c;如何分级加载语…提供一个c# winform的多语言框架源码采用json格式作为语言包不使用resx资源当然本质一样的你也可以改为resx
一、先看下测试界面
演示了基本的功能切换语言如何加载语言如何分级加载语言 二、看下测试界面的代码 如上图所示代码编写步骤 1.依赖注入载入语言管理器 private readonly ILanguageManager _languageManager;public MainForm(ILanguageManager languageManager){_languageManager languageManager;InitializeComponent();languageManager.LanguageChanged (s, e) Localize();} 2.加入语言变更事件 private readonly ILanguageManager _languageManager;public MainForm(ILanguageManager languageManager){_languageManager languageManager;InitializeComponent();languageManager.LanguageChanged (s, e) Localize();}private void Localize(){ButtonChangeLanguage.Text _languageManager.CurrentLanguage[Buttons.ButtonMount];FrmCallRepairText.Text _languageManager.CurrentLanguage[Labels.mazhiyuan];//测试多级if (PauseButton.Text _languageManager.CurrentLanguage[DataSyncRecordsControl.PauseButton.Pause]){PauseButton.Text _languageManager.CurrentLanguage[DataSyncRecordsControl.PauseButton.Resume];}else{PauseButton.Text _languageManager.CurrentLanguage[DataSyncRecordsControl.PauseButton.Pause];}}
是的就是这么简单易用。
三、语言包的制定 如图所示语言包文件默认是自动读取“Languages中所有.json文件。 当然您可以在初始化的时候改变这个配置。代码在如下图的地方修改 四、关于.json文件 的内容 如上图以简体中文zh-CN.json为例子 LanguageName语言名称 LanguageCode语言唯一编码 Order排序类型是float支持小数点。值越小就排在越前面 Default是否默认当为true的时候那么打开winform程序就自动使用这个配置的语言包 Translations语言翻译。特色是支持多级分类 这样有助于你按层级结构进行语言整理。访问的时候使用小数点进行间隔如下图所示 五、核心接口 ILanguageManager是核心接口所有访问均从此入口进去。 具体接口内容请看截图。
具体的代码实现就不多说了。提供了源码请自行下载。 如上图源码位置在Xejen.Common目录下。 源码下载https://gitee.com/mazhiyuan1981/xejen-open.git
祝您用餐愉快。