C#的Windows編程中多語(yǔ)言的實(shí)現(xiàn)

字號(hào):

實(shí)現(xiàn)多語(yǔ)言的方法是通過(guò)配置文件實(shí)現(xiàn),通過(guò)從配置文件中讀取資源,然后在顯示窗口的時(shí)候,即Load()方法中,動(dòng)態(tài)顯示相應(yīng)的選擇語(yǔ)言。
    下面是在C#的Windows編程中實(shí)現(xiàn)多語(yǔ)言的步驟:
    第一步:設(shè)置默認(rèn)語(yǔ)言和修改默認(rèn)語(yǔ)言
    我們定義了一個(gè)XML文件來(lái)存放默認(rèn)語(yǔ)言,文件名為L(zhǎng)anguageDefine.XML。
    LanguageDefine.xml
    <?xml version="1.0" standalone="yes"?>
    <Language>
    <DefaultLanguage>ZH</DefaultLanguage>
    </Language>
    該文件只有一個(gè)DefaultLanguage屬性,用于存放默認(rèn)語(yǔ)言,需要注意的是這個(gè)屬性要與語(yǔ)言配置文件中_后的字符串相同。
    下面是用于讀取默認(rèn)語(yǔ)言和修改默認(rèn)語(yǔ)言的函數(shù):
    //讀取默認(rèn)語(yǔ)言
    public static string ReadDefaultLanguage(){
    XmlReader reader = new XmlTextReader("resources/LanguageDefine.xml");
    XmlDocument doc = new XmlDocument();
    doc.Load(reader);
    XmlNode root = doc.DocumentElement;
    //選取DefaultLangugae節(jié)點(diǎn)
    XmlNode node = root.SelectSingleNode("DefaultLanguage");
    string result = "EN";
    if (node != null)
    //取出節(jié)點(diǎn)中的內(nèi)容
    result = node.InnerText;
    reader.Close();
    return result;
    }
    //修改默認(rèn)語(yǔ)言
    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");
    }
    我們又用一個(gè)XML文件來(lái)存儲(chǔ)要顯示的語(yǔ)言的種類,和在特定的語(yǔ)言下語(yǔ)言選擇下拉菜單的顯示文字?,F(xiàn)我們只構(gòu)造了兩種語(yǔ)言,不過(guò)通過(guò)添加Item,我們可以很容易的實(shí)現(xiàn)增加一種語(yǔ)言的功能。