Windows Phone 7的About模板——Your Last About Dialog(2)支援多語言

來源:互聯網
上載者:User

上次說到YLAD支援多語言。昨天配置了一下。方法很簡單,預設的設定檔是Data.xml,如果要支援多語言,則加上語言的代碼尾碼即可,如中文為zh,則添加一個Data.zh.xml即可。

顯示多語言的流程如:

YLAD會讀取當前設定的語言代碼,這個ISO 2 Letter Language Codes是 ISO 639-1標準制定的,用兩個字元表示一種語言。完整的代碼清單如下:

Language Code
Abkhazian AB
Afar AA
Afrikaans AF
Albanian SQ
Amharic AM
Arabic AR
Armenian HY
Assamese AS
Aymara AY
Azerbaijani AZ
Bashkir BA
Basque EU
Bengali, Bangla BN
Bhutani DZ
Bihari BH
Bislama BI
Breton BR
Bulgarian BG
Burmese MY
Byelorussian BE
Cambodian KM
Catalan CA
Chinese ZH
Corsican CO
Croatian HR
Czech CS
Danish DA
Dutch NL
English, American EN
Esperanto EO
Estonian ET
Faeroese FO
Fiji FJ
Finnish FI
French FR
Frisian FY
Gaelic (Scots Gaelic) GD
Galician GL
Georgian KA
German DE
Greek EL
Greenlandic KL
Guarani GN
Gujarati GU
Hausa HA
Hebrew IW
Hindi HI
Hungarian HU
Icelandic IS
Indonesian IN
Interlingua IA
Interlingue IE
Inupiak IK
Irish GA
Italian IT
Japanese JA
Javanese JW
Kannada KN
Kashmiri KS
Kazakh KK
Kinyarwanda RW
Kirghiz KY
Kirundi RN
Korean KO
Kurdish KU
Laothian LO
Latin LA
Latvian, Lettish LV
Lingala LN
Lithuanian LT
Macedonian MK
Malagasy MG
Malay MS
Malayalam ML
Maltese MT
Maori MI
Marathi MR
Moldavian MO
Mongolian MN
Nauru NA
Nepali NE
Norwegian NO
Occitan OC
Oriya OR
Oromo, Afan OM
Pashto, Pushto PS
Persian FA
Polish PL
Portuguese PT
Punjabi PA
Quechua QU
Rhaeto-Romance RM
Romanian RO
Russian RU
Samoan SM
Sangro SG
Sanskrit SA
Serbian SR
Serbo-Croatian SH
Sesotho ST
Setswana TN
Shona SN
Sindhi SD
Singhalese SI
Siswati SS
Slovak SK
Slovenian SL
Somali SO
Spanish ES
Sudanese SU
Swahili SW
Swedish SV
Tagalog TL
Tajik TG
Tamil TA
Tatar TT
Tegulu TE
Thai TH
Tibetan BO
Tigrinya TI
Tonga TO
Tsonga TS
Turkish TR
Turkmen TK
Twi TW
Ukrainian UK
Urdu UR
Uzbek UZ
Vietnamese VI
Volapuk VO
Welsh CY
Wolof WO
Xhosa XH
Yiddish JI
Yoruba YO
Zulu ZU

但在實際應用中,完整的country/region code和CultureInfo類裡是這樣表示的:zh-CN、zh-TW……等,中文就有好幾種,如何區分簡體中文和繁體中文呢?

下載了YLAD的原始碼看,找到了讀取語言設定的代碼,在LocalizationHelper.cs裡:

var language = culture.TwoLetterISOLanguageName; 

是在這裡讀取的,既然我們想要完整的CultureInfo代碼,可作如下修改:

var language = culture.Name;

重新編譯,更新引用,就可以區分zh-CN和zh-TW了。相應的設定檔要改為Data.zh-CN.xml和Data.zh-TW.xml。

我在codeplex的項目討論中提到了這個問題,作者說會做如下修改:

首先讀取當前country/region設定,即我修改的方式;如果沒有本地化的country/region代碼,則讀取當然的語言代碼,即YLAD目前的方式,如果沒有找到本地化的語言代碼,則使用預設設定。

他提到這樣做的原因是某些country/region的區別可能很小或幾乎沒有,比如de-AT和de-DE,這樣設定一個Data.de.xml即可,如果某些country/region的區別較大,如zh-CN和zh-TW,則可以根據需要設定不同的設定檔。這樣就比較靈活了。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.