C#实现多语言详解

开发 后端
这里介绍C#实现多语言,我们只构造了两种语言,不过通过添加Item,我们可以很容易的实现增加一种语言的功能。

C#语言还是比较常见的东西,这里我们主要介绍C#实现多语言,包括介绍通过一个ComboBox下拉菜单来实现多语言等方面。

C#实现多语言的方法是通过配置文件实现,通过从配置文件中读取资源,然后在显示窗口的时候,即Load()方法中,动态显示相应的选择语言。

下面是C#实现多语言的步骤:

我们定义了一个XML文件来存放默认语言,文件名为LanguageDefine.XML。

  1. <?xml version="1.0" standalone="yes"?>  
  2. <Language>  
  3. <DefaultLanguage>ZH</DefaultLanguage>  
  4. </Language>  

该文件只有一个DefaultLanguage属性,用于存放默认语言,需要注意的是这个属性要与语言配置文件中_后的字符串相同。

下面是用于读取默认语言和修改默认语言的函数:

  1. //读取默认语言  
  2. public static string ReadDefaultLanguage(){  
  3. XmlReader reader = new XmlTextReader("resources/LanguageDefine.xml");  
  4. XmlDocument doc = new XmlDocument();  
  5. doc.Load(reader);  
  6. XmlNode root = doc.DocumentElement;  
  7. //选取DefaultLangugae节点  
  8. XmlNode node = root.SelectSingleNode("DefaultLanguage");  
  9.  
  10. string result = "EN";  
  11. if (node != null)  
  12. //取出节点中的内容  
  13. result = node.InnerText;  
  14.  
  15. reader.Close();  
  16. return result;  
  17. }  
  18. //修改默认语言  
  19. public static void WriteDefaultLanguage(string lang){  
  20. DataSet ds = new DataSet();  
  21. ds.ReadXml("resources/LanguageDefine.xml");  
  22. DataTable dt = ds.Tables["Language"];  
  23.  
  24. dt.Rows[0]["DefaultLanguage"] = lang;  
  25. ds.AcceptChanges();  
  26. ds.WriteXml("resources/LanguageDefine.xml");  

我们又用一个XML文件来存储要显示的语言的种类,和在特定的语言下语言选择下拉菜单的显示文字。现我们只构造了两种语言,不过通过添加Item,我们可以很容易的实现增加一种语言的功能。

我们是通过一个ComboBox下拉菜单来实现多语言的选择的,当选择了相应的语言时,我们会把系统的默认语言,即LanguageDefine.xml中的语言改成所选的语言。同时,系统马上重新Load(),以显示所选择的语言对应的界面。

  1. <?xml version="1.0" encoding="gb2312"?>  
  2. <AppConfig>  
  3. <Area>  
  4. <Language>ZH</Language>  
  5. <List>  
  6. <Item>中文[ZH]</Item>  
  7. <Item>英文[EN]</Item>  
  8. </List>  
  9. </Area>  
  10. <Area>  
  11. <Language>EN</Language>  
  12. <List>  
  13. <Item>Chinese[ZH]</Item>  
  14. <Item>English[EN]</Item>  
  15. </List>  
  16. </Area>  
  17. <Area>  
  18. </AppConfig>  

相应的读取该配置文件的函数是:

  1. public static IList GetLanguageList(string lang){  
  2. IList result = new ArrayList();  
  3.  
  4. XmlReader reader = new XmlTextReader("resources/AppConfig.xml");  
  5. XmlDocument doc = new XmlDocument();  
  6. doc.Load(reader);  
  7.  
  8. XmlNode root = doc.DocumentElement;  
  9. XmlNodeList nodelist = root.SelectNodes("Area[Language='" + lang + "/List/Item");  
  10. foreach (XmlNode node in nodelist){  
  11. result.Add(node.InnerText);  
  12. }  
  13. reader.Close();  
  14.  
  15. return result;  

以上介绍C#实现多语言

【编辑推荐】

  1. C#与VB7比较详解
  2. C#连接Access浅析
  3. C#创建XML Web services学习经验
  4. C# Windows应用程序概述
  5. C# SmartPhone程序学习笔记
责任编辑:佚名 来源: 博客园
相关推荐

2009-08-31 17:13:09

2011-08-05 17:54:33

Cocoa Touch 多语言

2012-04-19 11:40:21

Titanium

2014-04-16 14:50:20

Spark

2014-07-09 09:20:06

WPFWPF应用

2011-07-26 10:09:08

iPhone 多语言 国际化

2022-08-09 07:22:15

语言数据库程序

2009-08-21 18:46:30

下载Server 20

2023-08-04 10:18:15

2021-09-07 10:17:35

iOS多语言适配设计

2021-06-29 21:48:32

开源语言架构

2009-08-03 17:33:01

ASP.NET多语言支

2009-07-17 10:02:29

WPF程序多语言支持

2021-07-24 11:41:42

前端开发技术

2020-04-14 09:50:02

2010-11-19 09:25:06

to_dataOracle

2019-12-05 16:00:15

Vim插件编程文本编辑器

2019-08-22 10:20:41

Ubuntu设置语言

2022-10-27 22:11:40

react扩展库语言

2009-08-31 16:23:13

C#接口
点赞
收藏

51CTO技术栈公众号