windowsclient開發--為你的client進行國際化
阿新 • • 發佈:2017-08-20
asc lan ret tro 不同 顯示 tip 工作 ber
之前博客講過函數:
GetUserDefaultUILanguage
Returns the language identifier for the user UI language for the current user.
我們國際化主要是支持三種語言,中文簡體、繁體中文、以及英文。
獲得用戶使用語言
所以我們能夠通過GetUserDefaultUILanguage函數來推斷用戶使用的是何種語言:
int response_code = GetUserDefaultUILanguage();
switch (response_code)
{
case 2052:
//顯示中文簡體
break;
case 1028:
//顯示繁體中文
break;
default:
//其它情況都使用英文
break;
}
創建對應的xml
前一篇關於windowsclient的博客也介紹了怎樣使用tinyxml來解析xml。也為我們的國際化做了鋪墊。
所以。我們能夠創建三個xml文件,各自是
simple_chinese.xml
traditional_chinese.xml
English.xml
這三個xml文件裏。每一個節點的key同樣。value不同。
比方在simple_chinese.xml中這樣寫:
<?xml version="1.0" encoding="utf-8"?>
<Strings>
<!--close button tip-->
<String>
<StringKey>CloseTips</StringKey>
<StringValue>關閉</StringValue>
</String>
<Strings>
在traditional_chinese.xml中能夠這麽寫:
<?xml version="1.0" encoding="utf-8"? >
<Strings>
<!--close button tip-->
<String>
<StringKey>CloseTips</StringKey>
<StringValue>關閉</StringValue>
</String>
<Strings>
而在English.xml中就能夠這麽寫:
<?xml version="1.0" encoding="utf-8"?>
<Strings>
<!--close button tip-->
<String>
<StringKey>CloseTips</StringKey>
<StringValue>close</StringValue>
</String>
<Strings>
這樣呢,就會依據用戶使用的語言來讀取對應的xml文件。能夠把xml文件裏的內容讀取到map中,然後剩下的工作就是在程序代碼中顯示了。
windowsclient開發--為你的client進行國際化