这几天因为软件需要加英文版本,所以查了好久的资料找到了相关的信息,原资料参考:http://blog.csdn.net/softimite_zifeng

  上网查的中英文切换大约有两种方式:1.动态加载资源文件2.做XML用来保存控件名,以及控件的内容,最后选择用XML来学习。

  先来一点XML的预备知识吧:https://www.ibm.com/developerworks/cn/xml/x-newxml/#list1

XML是可扩展标记语言(Extensible Markup Language)的缩写,仅用于存储数据。所有元素都必须有关闭标签。

  XML文档的第一行可以是一个 XML 声明。这是文件的可选部分,它将文件识别为 XML 文件,有助于工具和人类识别 XML(不会误认为是 SGML 或其他标记)。可以将这个声明简单地写成 <?xml?>,或包含 XML 版本(<?xml version="1.0"?>),甚至包含字符编码,比如针对 Unicode 的 <?xml version="1.0" encoding="utf-8"?>

1.XML 文档必须有根元素

  XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素

  根元素的开始和结束标记用于包围 XML 文档的内容。一个文件只能有一个根元素,并且需要使用 “包装器” 包含它。清单1显示了经过删节的示例,其中的根元素名为 <recipe>

  清单 1. 根元素

<?xml version="1.0" encoding="UTF-8"?>
<recipe>
</recipe>

在构建文档时,内容和其他标记必须放在 <recipe></recipe> 之间。

2.标记的大小写保持一致

  创建 XML 时,要确保开始和结束标记的大小写是一致的。如果大小写不一致,在使用或查看 XML 时将出现错误。例如,如果大小写不一致,Internet Explorer 将不能显示文件的内容,但它会显示开始和结束标记不一致的消息。

3.嵌套元素

  嵌套 即把某个元素放到其他元素的内部。这些新的元素称为子元素,包含它们的元素称为父元素。

4.添加属性

  有时候要为元素添加属性。属性由一个名称-值对构成,值包含在双引号中("),比如:type="dessert"。属性是在使用元素时存储额外信息的一种方式。在同一个文档中,可以根据需要对每个元素的不同实例采用不同的属性值。

  您可以在元素的开始标记内部输入一个或多个属性,比如:<recipe type="dessert">。如果要添加多个属性,各个属性之间使用空格分开,比如:<recipename cuisine="american" servings="1">

5.XML 中的注释

  在 XML 中编写注释的语法与 HTML 的语法很相似:<!-- This is a comment -->
  在 XML 中,空格会被保留在 XML 中,文档中的空格不会被删节。

6.XML 命名规则

  XML 元素必须遵循以下命名规则:

    • 名称可以含字母、数字以及其他的字符
    • 名称不能以数字或者标点符号开始
    • 名称不能以字符 “xml”(或者 XML、Xml)开始
    • 名称不能包含空格

  可使用任何名称,没有保留的字词。

7.形式良好的 XML 文档

  “形式良好”(Well Formed)的 XML 文档会遵守前几章介绍过的 XML 语法规则:

    • XML 文档必须有根元素
    • XML 文档必须有关闭标签
    • XML 标签对大小写敏感
    • XML 元素必须被正确的嵌套
    • XML 属性必须加引号

 中英文切换的具体实现

   一共有三个界面:登录界面、密码修改界面,主界面。每个界面都有一个中文XML和一个英文XML。

  登录界面的中文XML:

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <Softimite Language="简体中文">
 3   <Form>
 4     <!--登录界面-->
 5     <Name>LoginForm</Name>
 6     <Controls>
 7       <Controls name="LoginForm" Text="登录" />
 8       <Control name="accountLab" text="账号"/>
 9       <Control name="passwordLab" text="密码"/>
10       <Control name="loginBtn" text="登录"/>
11       <Control name="passwordBtn" text="修改密码"/>
12       <Control name="label_eg" text="中文"/>
13     </Controls>
14   </Form>
15 </Softimite>
View Code

  主界面的英文XML:

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <Softimite Language="简体中文">
 3   <Form>
 4     <!--主界面-->
 5     <Name>MainForm</Name>
 6     <Controls>
 7       <Control name="MainForm" text="User-xxx"/>
 8       <Control name="button1" text="Project"/>
 9       <Control name="button2" text="Active Issues"/>
10       <Control name="button3" text="All Issues"/>
11       <Control name="button4" text="Issues statistics"/>
12       <Control name="button5" text="To-Do List"/>
13       <Control name="button6" text="Assign To Me"/>
14       <Control name="button7" text="My Assignment"/>
15       <Control name="button8" text="Notifications"/>
16       <Control name="button9" text="Version Management"/>
17       <Control name="xtraTabPage1" text="Project"/>
18       <Control name="xtraTabPage2" text="Active Issues"/>
19       <Control name="xtraTabPage3" text="All Issues"/>
20       <Control name="xtraTabPage4" text="Issues Statistics"/>
21       <Control name="xtraTabPage5" text="To-Do list"/>
22       <Control name="xtraTabPage6" text="Assign to me"/>
23       <Control name="xtraTabPage7" text="My Assignment"/>
24       <Control name="xtraTabPage8" text="Notifications"/>
25       <Control name="xtraTabPage9" text="Version Management"/>
26     </Controls>
27     <DataGridViewCells>
28       <DataGridViewCell name="Column1" HeaderText="Number"/>
29       <DataGridViewCell name="Column2" HeaderText="Type"/>
30       <DataGridViewCell name="Column3" HeaderText="Title"/>
31       <DataGridViewCell name="Column4" HeaderText="State"/>
32       <DataGridViewCell name="Column5" HeaderText="Priority"/>
33       <DataGridViewCell name="Column6" HeaderText="Assign"/>
34       <DataGridViewCell name="Column7" HeaderText="Planned Date"/>
35       <DataGridViewCell name="Column8" HeaderText="Deadline"/>
36       <DataGridViewCell name="Column9" HeaderText="Modification Times"/>
37       <DataGridViewCell name="dataGridViewTextBoxColumn1" HeaderText="Number"/>
38       <DataGridViewCell name="dataGridViewTextBoxColumn2" HeaderText="Type"/>
39       <DataGridViewCell name="dataGridViewTextBoxColumn3" HeaderText="Title"/>
40       <DataGridViewCell name="dataGridViewTextBoxColumn4" HeaderText="State"/>
41       <DataGridViewCell name="dataGridViewTextBoxColumn5" HeaderText="Priority"/>
42       <DataGridViewCell name="dataGridViewTextBoxColumn6" HeaderText="Assign"/>
43       <DataGridViewCell name="dataGridViewTextBoxColumn7" HeaderText="Handler"/>
44       <DataGridViewCell name="dataGridViewTextBoxColumn8" HeaderText="Assigner"/>
45       <DataGridViewCell name="dataGridViewTextBoxColumn9" HeaderText="Creation Time"/>
46       <DataGridViewCell name="Column10" HeaderText="Modification Times"/>
47     </DataGridViewCells>
48   </Form>
49 </Softimite>
View Code

相关文章:

  • 2021-10-03
  • 2021-12-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-18
  • 2021-12-05
猜你喜欢
  • 2021-11-25
  • 2021-12-26
  • 2022-12-23
  • 2021-12-04
  • 2021-06-21
  • 2021-09-19
  • 2021-04-29
相关资源
相似解决方案