我们是通过一个ComboBox下拉菜单来实现多语言的选择的,当选择了相应的语言时,我们会把系统的默认语言,即LanguageDefine.xml中的语言改成所选的语言。同时,系统马上重新Load(),以显示所选择的语言对应的界面。
ppConfig.xml
<?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; } |
<?xml version="1.0" encoding="utf-8" ?> <Resource> <Form> <Name>FrmLogon</Name> <Controls> <Control name="frmlogon" text="User logon" /> <Control name="lblusername" text="Username:" /> <Control name="lblpassword" text="Password:" /> <Control name="lbllanguage" text="Language:" /> <Control name="btnlogon" text="Logon" /> <Control name="btncancel" text="Exit" /> <Control name="btnchangepwd" text="Change Password" /> </Controls> </Form> <Form> <Name>FrmPasswordChange</Name> <Controls> <Control name="frmpasswordchange" text="Change password" /> <Control name="lblusername" text="Username:" /> <Control name="lblpassword" text="Old Password:" /> <Control name="lblnewpassword" text="New Password:" /> <Control name="lblpasswordconfirm" text="Password Confirm:" /> <Control name="btnok" text="OK" /> <Control name="btncancel" text="Return" /> </Controls> </Form> </Resource> |
责任编辑:虫虫