十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章给大家介绍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#中怎么实现多语言就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。