189 8069 5689

C#中怎么实现多语言

这篇文章给大家介绍C#中怎么实现多语言,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

贵溪网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。创新互联公司从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

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

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

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

<?xml version="1.0" standalone="yes"?>  <Language>  <DefaultLanguage>ZH</DefaultLanguage>  </Language>

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

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

//读取默认语言  public static string ReadDefaultLanguage(){  XmlReader reader = new XmlTextReader("resources/LanguageDefine.xml");  XmlDocument doc = new XmlDocument();  doc.Load(reader);  XmlNode root = doc.DocumentElement;  //选取DefaultLangugae节点  XmlNode node = root.SelectSingleNode("DefaultLanguage");   string result = "EN";  if (node != null)  //取出节点中的内容  result = node.InnerText;   reader.Close();  return result;  }  //修改默认语言  public static void WriteDefaultLanguage(string lang){  DataSet ds = new DataSet();  ds.ReadXml("resources/LanguageDefine.xml");  DataTable dt = ds.Tables["Language"];   dt.Rows[0]["DefaultLanguage"] = lang;  ds.AcceptChanges();  ds.WriteXml("resources/LanguageDefine.xml");  }

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

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

<?xml version="1.0" encoding="gb2312"?>  <AppConfig>  <Area>  <Language>ZH</Language>  <List>  <Item>中文[ZH]</Item>  <Item>英文[EN]</Item>  </List>  </Area>  <Area>  <Language>EN</Language>  <List>  <Item>Chinese[ZH]</Item>  <Item>English[EN]</Item>  </List>  </Area>  <Area>  </AppConfig>

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

public static IList GetLanguageList(string lang){  IList result = new ArrayList();   XmlReader reader = new XmlTextReader("resources/AppConfig.xml");  XmlDocument doc = new XmlDocument();  doc.Load(reader);   XmlNode root = doc.DocumentElement;  XmlNodeList nodelist = root.SelectNodes("Area[Language='" + lang + "/List/Item");  foreach (XmlNode node in nodelist){  result.Add(node.InnerText);  }  reader.Close();   return result;  }

关于C#中怎么实现多语言就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网站栏目:C#中怎么实现多语言
链接URL:http://cdxtjz.cn/article/ggidgs.html

其他资讯