关于asp.net2.0资源文件本地化多语言版本的一些小技巧
花了幾個小時,把我的每天記帳的程序改成多語言版本的了~~~?
Asp.net 2.0提供了本地化多語言版本的一些方便的特性,網上關于這個的文章已經很多了,我在此就不用多說拉,我只是說說,我在做的時候碰到的一些問題,以及如何解決的。
事情是這樣的,把一個已經做的差不多的項目改成多語言版本,大概有以下幾部:
1、在BasePage類中寫以下代碼(就是每個page需要繼承的公共page)
???????? protected override void InitializeCulture()
??????? {
??????????? //State是自己寫的一個全局變量,寫到Cookie里的
??????????? if (this.State["UICulture"] != null)
??????????? {
??????????????? if (this.State["UICulture"] != string.Empty)
??????????????? Page.UICulture = State["UICulture"];
??????????? }
??????????? base.InitializeCulture();
??????? }
2、在每一個aspx頁面里用Visual studio的Generate Local Resource生成資源文件
3、在登陸的時候放一個dropdown,然后在登陸的時候寫以下代碼
??????? switch (ddl_Language.SelectedValue)
??????? {
??????????? case "EN":
??????????? {
??????????????? State["UICulture"] = "EN";
??????????????? break;
??????????? }
??????????? case "CN":
??????????? {
??????????????? State["UICulture"] = "zh-CN";
??????????????? break;
??????????? }
??????? }
然后就ok了,結果我一開始,把zh-CN寫成CN了,我當時不知道Page.UICulture的代碼到底寫進去什么字符,后來找到了解決辦法。
以下是CultureInfo的代碼表。(msdn里抄的)
還有一個地方,我也犯過錯誤的,就是
資源文件,比如List.aspx.EN.resx,這里的EN也得是上面的CultureInfo代碼。
不過現在做多語言真的方便多了。
| ""(空字符串) | 0x007F | 固定區域性 |
| af | 0x0036 | 南非荷蘭語 |
| af-ZA | 0x0436 | 南非荷蘭語 - 南非 |
| sq | 0x001C | 阿爾巴尼亞語 |
| sq-AL | 0x041C | 阿爾巴尼亞語 - 阿爾巴尼亞 |
| ar | 0x0001 | 阿拉伯語 |
| ar-DZ | 0x1401 | 阿拉伯語 - 阿爾及利亞 |
| ar-BH | 0x3C01 | 阿拉伯語 - 巴林 |
| ar-EG | 0x0C01 | 阿拉伯語 - 埃及 |
| ar-IQ | 0x0801 | 阿拉伯語 - 伊拉克 |
| ar-JO | 0x2C01 | 阿拉伯語 - 約旦 |
| ar-KW | 0x3401 | 阿拉伯語 - 科威特 |
| ar-LB | 0x3001 | 阿拉伯語 - 黎巴嫩 |
| ar-LY | 0x1001 | 阿拉伯語 - 利比亞 |
| ar-MA | 0x1801 | 阿拉伯語 - 摩洛哥 |
| ar-OM | 0x2001 | 阿拉伯語 - 阿曼 |
| ar-QA | 0x4001 | 阿拉伯語 - 卡塔爾 |
| ar-SA | 0x0401 | 阿拉伯語 - 沙特阿拉伯 |
| ar-SY | 0x2801 | 阿拉伯語 - 敘利亞 |
| ar-TN | 0x1C01 | 阿拉伯語 - 突尼斯 |
| ar-AE | 0x3801 | 阿拉伯語 - 阿拉伯聯合酋長國 |
| ar-YE | 0x2401 | 阿拉伯語 - 也門 |
| hy | 0x002B | 亞美尼亞語 |
| hy-AM | 0x042B | 亞美尼亞語 - 亞美尼亞 |
| az | 0x002C | 阿澤里語 |
| az-AZ-Cyrl | 0x082C | 阿澤里語(西里爾語)- 阿塞拜疆 |
| az-AZ-Latn | 0x042C | 阿澤里語(拉丁)- 阿塞拜疆 |
| eu | 0x002D | 巴斯克語 |
| eu-ES | 0x042D | 巴斯克語 - 巴斯克地區 |
| be | 0x0023 | 白俄羅斯語 |
| be-BY | 0x0423 | 白俄羅斯語 - 白俄羅斯 |
| bg | 0x0002 | 保加利亞語 |
| bg-BG | 0x0402 | 保加利亞語 - 保加利亞 |
| ca | 0x0003 | 加泰羅尼亞語 |
| ca-ES | 0x0403 | 加泰羅尼亞語 - 加泰羅尼亞地區 |
| zh-HK | 0x0C04 | 中文 - 香港特別行政區 |
| zh-MO | 0x1404 | 中文 - 澳門特別行政區 |
| zh-CN | 0x0804 | 中文 - 中國 |
| zh-CHS | 0x0004 | 中文(簡體) |
| zh-SG | 0x1004 | 中文 - 新加坡 |
| zh-TW | 0x0404 | 中文 - 臺灣 |
| zh-CHT | 0x7C04 | 中文(繁體) |
| hr | 0x001A | 克羅地亞語 |
| hr-HR | 0x041A | 克羅地亞語 - 克羅地亞 |
| cs | 0x0005 | 捷克語 |
| cs-CZ | 0x0405 | 捷克語 - 捷克共和國 |
| da | 0x0006 | 丹麥語 |
| da-DK | 0x0406 | 丹麥語 - 丹麥 |
| div | 0x0065 | 馬爾代夫語 |
| div-MV | 0x0465 | 馬爾代夫語 - 馬爾代夫 |
| nl | 0x0013 | 荷蘭語 |
| nl-BE | 0x0813 | 荷蘭語 - 比利時 |
| nl-NL | 0x0413 | 荷蘭語 - 荷蘭 |
| en | 0x0009 | 英語 |
| en-AU | 0x0C09 | 英語 - 澳大利亞 |
| en-BZ | 0x2809 | 英語 - 伯利茲 |
| en-CA | 0x1009 | 英語 - 加拿大 |
| en-CB | 0x2409 | 英語 - 加勒比 |
| en-IE | 0x1809 | 英語 - 愛爾蘭 |
| en-JM | 0x2009 | 英語 - 牙買加 |
| en-NZ | 0x1409 | 英語 - 新西蘭 |
| en-PH | 0x3409 | 英語 - 菲律賓 |
| en-ZA | 0x1C09 | 英語 - 南非 |
| en-TT | 0x2C09 | 英語 - 特立尼達和多巴哥 |
| en-GB | 0x0809 | 英語 - 英國 |
| en-US | 0x0409 | 英語 - 美國 |
| en-ZW | 0x3009 | 英語 - 津巴布韋 |
| et | 0x0025 | 愛沙尼亞語 |
| et-EE | 0x0425 | 愛沙尼亞語 - 愛沙尼亞 |
| fo | 0x0038 | 法羅語 |
| fo-FO | 0x0438 | 法羅語 - 法羅群島 |
| fa | 0x0029 | 波斯語 |
| fa-IR | 0x0429 | 波斯語 - 伊朗 |
| fi | 0x000B | 芬蘭語 |
| fi-FI | 0x040B | 芬蘭語 - 芬蘭 |
| fr | 0x000C | 法語 |
| fr-BE | 0x080C | 法語 - 比利時 |
| fr-CA | 0x0C0C | 法語 - 加拿大 |
| fr-FR | 0x040C | 法語 - 法國 |
| fr-LU | 0x140C | 法語 - 盧森堡 |
| fr-MC | 0x180C | 法語 - 摩納哥 |
| fr-CH | 0x100C | 法語 - 瑞士 |
| gl | 0x0056 | 加利西亞語 |
| gl-ES | 0x0456 | 加利西亞語 - 加利西亞地區 |
| ka | 0x0037 | 格魯吉亞語 |
| ka-GE | 0x0437 | 格魯吉亞語 - 格魯吉亞 |
| de | 0x0007 | 德語 |
| de-AT | 0x0C07 | 德語 - 奧地利 |
| de-DE | 0x0407 | 德語 - 德國 |
| de-LI | 0x1407 | 德語 - 列支敦士登 |
| de-LU | 0x1007 | 德語 - 盧森堡 |
| de-CH | 0x0807 | 德語 - 瑞士 |
| el | 0x0008 | 希臘語 |
| el-GR | 0x0408 | 希臘語 - 希臘 |
| gu | 0x0047 | 古吉拉特語 |
| gu-IN | 0x0447 | 古吉拉特語 - 印度 |
| he | 0x000D | 希伯來語 |
| he-IL | 0x040D | 希伯來語 - 以色列 |
| hi | 0x0039 | 印地語 |
| hi-IN | 0x0439 | 印地語 - 印度 |
| hu | 0x000E | 匈牙利語 |
| hu-HU | 0x040E | 匈牙利語 - 匈牙利 |
| is | 0x000F | 冰島語 |
| is-IS | 0x040F | 冰島語 - 冰島 |
| id | 0x0021 | 印度尼西亞語 |
| id-ID | 0x0421 | 印度尼西亞語 - 印度尼西亞 |
| it | 0x0010 | 意大利語 |
| it-IT | 0x0410 | 意大利語 - 意大利 |
| it-CH | 0x0810 | 意大利語 - 瑞士 |
| ja | 0x0011 | 日語 |
| ja-JP | 0x0411 | 日語 - 日本 |
| kn | 0x004B | 卡納達語 |
| kn-IN | 0x044B | 卡納達語 - 印度 |
| kk | 0x003F | 哈薩克語 |
| kk-KZ | 0x043F | 哈薩克語 - 哈薩克斯坦 |
| kok | 0x0057 | 貢根語 |
| kok-IN | 0x0457 | 貢根語 - 印度 |
| ko | 0x0012 | 朝鮮語 |
| ko-KR | 0x0412 | 朝鮮語 - 韓國 |
| ky | 0x0040 | 吉爾吉斯語 |
| ky-KG | 0x0440 | 吉爾吉斯語 - 吉爾吉斯坦 |
| lv | 0x0026 | 拉脫維亞語 |
| lv-LV | 0x0426 | 拉脫維亞語 - 拉脫維亞 |
| lt | 0x0027 | 立陶宛語 |
| lt-LT | 0x0427 | 立陶宛語 - 立陶宛 |
| mk | 0x002F | 馬其頓語 |
| mk-MK | 0x042F | 馬其頓語 - 前南斯拉夫聯盟馬其頓共和國 |
| ms | 0x003E | 馬來語 |
| ms-BN | 0x083E | 馬來語 - 文萊 |
| ms-MY | 0x043E | 馬來語 - 馬來西亞 |
| mr | 0x004E | 馬拉地語 |
| mr-IN | 0x044E | 馬拉地語 - 印度 |
| mn | 0x0050 | 蒙古語 |
| mn-MN | 0x0450 | 蒙古語 - 蒙古 |
| no | 0x0014 | 挪威語 |
| nb-NO | 0x0414 | 挪威語(伯克梅爾)- 挪威 |
| nn-NO | 0x0814 | 挪威語(尼諾斯克)- 挪威 |
| pl | 0x0015 | 波蘭語 |
| pl-PL | 0x0415 | 波蘭語 - 波蘭 |
| pt | 0x0016 | 葡萄牙語 |
| pt-BR | 0x0416 | 葡萄牙語 - 巴西 |
| pt-PT | 0x0816 | 葡萄牙語 - 葡萄牙 |
| pa | 0x0046 | 旁遮普語 |
| pa-IN | 0x0446 | 旁遮普語 - 印度 |
| ro | 0x0018 | 羅馬尼亞語 |
| ro-RO | 0x0418 | 羅馬尼亞語 - 羅馬尼亞 |
| ru | 0x0019 | 俄語 |
| ru-RU | 0x0419 | 俄語 - 俄羅斯 |
| sa | 0x004F | 梵語 |
| sa-IN | 0x044F | 梵語 - 印度 |
| sr-SP-Cyrl | 0x0C1A | 塞爾維亞語(西里爾語)- 塞爾維亞 |
| sr-SP-Latn | 0x081A | 塞爾維亞語(拉丁)- 塞爾維亞 |
| sk | 0x001B | 斯洛伐克語 |
| sk-SK | 0x041B | 斯洛伐克語 - 斯洛伐克 |
| sl | 0x0024 | 斯洛文尼亞語 |
| sl-SI | 0x0424 | 斯洛文尼亞語 - 斯洛文尼亞 |
| es | 0x000A | 西班牙語 |
| es-AR | 0x2C0A | 西班牙語 - 阿根廷 |
| es-BO | 0x400A | 西班牙語 - 玻利維亞 |
| es-CL | 0x340A | 西班牙語 - 智利 |
| es-CO | 0x240A | 西班牙語 - 哥倫比亞 |
| es-CR | 0x140A | 西班牙語 - 哥斯達黎加 |
| es-DO | 0x1C0A | 西班牙語 - 多米尼加共和國 |
| es-EC | 0x300A | 西班牙語 - 厄瓜多爾 |
| es-SV | 0x440A | 西班牙語 - 薩爾瓦多 |
| es-GT | 0x100A | 西班牙語 - 危地馬拉 |
| es-HN | 0x480A | 西班牙語 - 洪都拉斯 |
| es-MX | 0x080A | 西班牙語 - 墨西哥 |
| es-NI | 0x4C0A | 西班牙語 - 尼加拉瓜 |
| es-PA | 0x180A | 西班牙語 - 巴拿馬 |
| es-PY | 0x3C0A | 西班牙語 - 巴拉圭 |
| es-PE | 0x280A | 西班牙 - 秘魯 |
| es-PR | 0x500A | 西班牙語 - 波多黎各 |
| es-ES | 0x0C0A | 西班牙語 - 西班牙 |
| es-UY | 0x380A | 西班牙語 - 烏拉圭 |
| es-VE | 0x200A | 西班牙語 - 委內瑞拉 |
| sw | 0x0041 | 斯瓦希里語 |
| sw-KE | 0x0441 | 斯瓦希里語 - 肯尼亞 |
| sv | 0x001D | 瑞典語 |
| sv-FI | 0x081D | 瑞典語 - 芬蘭 |
| sv-SE | 0x041D | 瑞典語 - 瑞典 |
| syr | 0x005A | 敘利亞語 |
| syr-SY | 0x045A | 敘利亞語 - 敘利亞 |
| ta | 0x0049 | 泰米爾語 |
| ta-IN | 0x0449 | 泰米爾語 - 印度 |
| tt | 0x0044 | 韃靼語 |
| tt-RU | 0x0444 | 韃靼語 - 俄羅斯 |
| te | 0x004A | 泰盧固語 |
| te-IN | 0x044A | 泰盧固語 - 印度 |
| th | 0x001E | 泰語 |
| th-TH | 0x041E | 泰語 - 泰國 |
| tr | 0x001F | 土耳其語 |
| tr-TR | 0x041F | 土耳其語 - 土耳其 |
| uk | 0x0022 | 烏克蘭語 |
| uk-UA | 0x0422 | 烏克蘭語 - 烏克蘭 |
| ur | 0x0020 | 烏爾都語 |
| ur-PK | 0x0420 | 烏爾都語 - 巴基斯坦 |
| uz | 0x0043 | 烏茲別克語 |
| uz-UZ-Cyrl | 0x0843 | 烏茲別克語(西里爾語)- 烏茲別克斯坦 |
| uz-UZ-Latn | 0x0443 | 烏茲別克語(拉丁)- 烏茲別克斯坦 |
| vi | 0x002A | 越南語 |
| vi-VN | 0x042A | 越南語 - 越南 |
轉載于:https://www.cnblogs.com/kchen/archive/2006/11/01/547353.html
總結
以上是生活随笔為你收集整理的关于asp.net2.0资源文件本地化多语言版本的一些小技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android AVB2.0(六)Sup
- 下一篇: 桥接模式和路由模式区别_联通创维光猫DT