在项目启动时,就提过需要多与语言设计。在以往的工作当中接触过多语言的设计,但是我并没有参与这个功能的设计,都是当时 的大佬们设计好的。是将语言内容存在数据库表中,这样每次都是要读取数据库中的数据,一定程度上影响了速度。不过当时用的是winfrom基本也都是内网使用,所以影响不是很明显。
现在,使用的是 WEB项目,除了面向国内还要面向国际,一开始,我也选择倾向于数据库存放语言的方式,毕竟之前有过类似的经验。后来发现通过读取表在转换到页面,工作量巨大。后面了解了一下.net的资源文件后,感觉就像的发现了新大陆。
好了,扯多了,现在来看看怎么设计一个多语言的项目结构。这里用 三种语言作为演示,分别是 简体中文 、繁体中文、英文。
首先建立语言目录、建立资源文件:
资源文件实际就是个XML,结构如下
<data name="品牌名称" xml:space="preserve">
<value>Brand name</value>
</data>
<data name="系列名称" xml:space="preserve">
<value>System Name</value>
</data>
<data name="平台名称" xml:space="preserve">
<value>PlatFrom Name</value>
</data>
<data name="材料照片" xml:space="preserve">
<value>Material photos</value>
</data>
<data name="请重新登录" xml:space="preserve">
<value>Please log in again</value>
</data>
<data name="查询" xml:space="preserve">
<value>Find</value>
</data>
<data name="请输品牌" xml:space="preserve">
<value>Please Brand Name</value>
</data>
操作步骤:
1、目录说明
Language 简体中文
Language.zh-tw 繁体
Language.en 英文
资源文件采用Key-Value的