天天看点

RDIFramework.NET V2.9版本多语言的实现

RDIFramework.NET V2.9版本多语言的实现

  现在是国际化时代,软件也不能落后。一个公司里很可能会有老外,也可能有台湾的朋友,他们用软件的习惯都不一样,若同样一个软件同时能适应多种语言文化,那是想当的理想了,最起码能比较完善的支持英文版本,大家用起来也会舒服一些。

  RDIFramework.NET框架中的多语言包,目前是按XML文件的方式进行组织,方便用户自由定义语言包。XML 语言包的好处主要就是客户修改起来容易,直接用记事本就可以修正了,没必要又重新编译源码啥的,非常省事。我们框架目前主要支持中文简体、繁体、英文三种,当然如果需要其他语言包可以自己制作。多语言实现的参考如下图所示,这些语言包以XML文件的格式、直接存储了文本文件、需要几个国家的语言支持,只要有配套的包就可以了。

  

RDIFramework.NET V2.9版本多语言的实现

  语言包配置文件如下图所示:

  简体中文语言包参考:

RDIFramework.NET V2.9版本多语言的实现

  繁体中文语言包参考: 

RDIFramework.NET V2.9版本多语言的实现

  英文语言包参考:

RDIFramework.NET V2.9版本多语言的实现

  以上就是语言包里的内容参考,每个页面上的元素的多语言定义,中间用了“_”区分了每个窗体里的控件的名称,全名规则为:窗体名称_控件名称。RDIFramework.NET框架的多语言不仅对模块界面进行了语言,同时对日志文件、各消息提示框架等都进行了多语言的处理,如下的日志文件所示,发“英文”语言包登录,各日志文件都是以英文进行记录的。

RDIFramework.NET V2.9版本多语言的实现

  提示信息一样是以相应的语言包设置显示,如下图所示:

RDIFramework.NET V2.9版本多语言的实现

  要想展示进行多语言方案,首先我们得启用多语言选项,然后再设置当前语言。方式有两种,一种是通过修改Config.xml文件来实现,如下图所示:

RDIFramework.NET V2.9版本多语言的实现

  启用多语言我们需要设置:MultiLanguage属性为True,另需要设置“CurrentLanguage”框架当前语言属性,如果没有设置,默认为简体中文,CurrentLanguage属性取值为:

      zh-CN:简体中文

  zh-TW:繁体中文

  en-US:英文

  或者通过框架主界面的“选项”窗体进行当前语言的设置,设置后重新启动框架即可。如下图所示:

RDIFramework.NET V2.9版本多语言的实现

  RDIFramework.NET框架对窗体、用户控件等都进行了多语言的支持,如果用户按照多语言定义的规范进行了语言的定义,则可以直接调用RDIFramework.WinForm.Utilities.dll文件中的接口:      

  BasePageLogic.SetLanguageResource(窗体名称),进行多语言的切换。

  如果是脱离框架的单独页面,则可以在加载事件中调用“RDIFramework.Utilities.dll”提供的接口:

1

2

3

4

5

6

<code>// 多语言国际化加载</code>

<code>ResourceManagerWrapper.Instance.LoadResources(Path.Combine(Application.StartupPath,</code><code>"Resource/Localization/"</code><code>));</code>

<code>// 从当前指定的语言包读取信息</code>

<code>RDIFrameworkMessage.GetLanguageResource();</code>

<code>//然后再调用下面的接口进行多语言的处理</code>

<code>ResourceManagerWrapper.Instance.Get(</code><code>"当前语言"</code><code>, </code><code>"语言包中的Key值"</code><code>);</code>

本文转自yonghu86 51CTO博客,原文链接:http://blog.51cto.com/yonghu/1659433,如需转载请自行联系原作者

继续阅读