Hướng dẫn viết ứng dụng đa ngôn ngữ (Multi Language) sử dụng Globalization trong VB.NET
Nhiều lúc mình cần viết một ứng dụng thương mại hỗ trợ đa ngôn ngữ để khách hàng nước khác dễ sử dụng phần mềm. Nên hôm nay, mình xin hướng dẫn các bạn viết một ứng dụng Đa ngôn ngữ, sử dụng System.Globalization trong ngôn ngữ lập trình vb.net Chương ...
Nhiều lúc mình cần viết một ứng dụng thương mại hỗ trợ đa ngôn ngữ để khách hàng nước khác dễ sử dụng phần mềm. Nên hôm nay, mình xin hướng dẫn các bạn viết một ứng dụng Đa ngôn ngữ, sử dụng System.Globalization trong ngôn ngữ lập trình vb.net
Chương trình mình viết có giao diện như hình bên dưới:
Đầu tiên mình thiết kế: giao diện from đăng nhập như hình bên dưới:
Sau đó, các chọn set ngôn ngữ mặc định cho form login này, vì form này là ngôn ngữ tiếng anh nên mình set default language cho nó về English. Vì mình đã chọn ngôn ngữ Chinese nên không chọn về được English, các bạn chọn lại English giúp mình nha.
Sau khi cài đặt ngôn ngữ tiếng anh mặc định cho ứng dụng xong, các chọn lại property Language => tiếng việt (giờ mình muốn thay đổi giao diện tiếng anh sang tiếng việt)
- Các bạn tiếp tục thay đổi thuộc tính TEXT cho các control trên form tiếng anh, về thành tiếng việt.
Cứ như vậy, các bạn thay đổi language và đổi thuộc tính cho các nước Trung quốc và Pháp.
+ Dưới đây, là sự kiện khi click vào nút chọn ngôn ngữ việt nam:
Private Sub btnVi_Click(sender As Object, e As EventArgs) Handles btnVi.Click
CurrentThread.CurrentUICulture = New CultureInfo("VI")
Dim frmVI As New login
frmVI.Show()
End Sub
+ Sự kiện khi click vào nút chọn ngôn ngữ trung quốc:
Private Sub btnCN_Click(sender As Object, e As EventArgs) Handles btnCN.Click
CurrentThread.CurrentUICulture = New CultureInfo("ZH")
Dim frmVI As New login
frmVI.Show()
End Sub
+ Sự kiện khi click vào nút chọn ngôn ngữ pháp:
Private Sub btnFR_Click(sender As Object, e As EventArgs) Handles btnFR.Click
CurrentThread.CurrentUICulture = New CultureInfo("FR")
Dim frmVI As New login
frmVI.Show()
End Sub
+ Sự kiện khi click vào nút chọn ngôn ngữ tiếng anh:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnEn.Click
CurrentThread.CurrentUICulture = New CultureInfo("EN")
Dim frmEN As New login
frmEN.Show()
End Sub
Ở các sự kiện trên mình chỉ thay đổi cultureInfo của các nước: dưới đây là bảng culureInfo các nước.
Country | Two Letter Country Code | Three Letter Country Code | Language | Two Letter Lang Code | Three Letter Lang Code | CultureInfo Code |
---|---|---|---|---|---|---|
Afghanistan | AF | AFG | Pashto | ps | pus | ps-AF |
Afghanistan | AF | AFG | Dari | prs | prs | prs-AF |
Albania | AL | ALB | Albanian | sq | sqi | sq-AL |
Algeria | DZ | DZA | Arabic | ar | ara | ar-DZ |
Argentina | AR | ARG | Spanish | es | spa | es-AR |
Armenia | AM | ARM | Armenian | hy | hye | hy-AM |
Australia | AU | AUS | English | en | eng | en-AU |
Austria | AT | AUT | German | de | deu | de-AT |
Bahrain | BH | BHR | Arabic | ar | ara | ar-BH |
Bangladesh | BD | BGD | Bengali | bn | bng | bn-BD |
Basque | ES | ESP | Basque | eu | eus | eu-ES |
Belarus | BY | BLR | Belarusian | be | bel | be-BY |
Belgium | BE | BEL | French | fr | fra | fr-BE |
Belgium | BE | BEL | Dutch | nl | nld | nl-BE |
Belize | BZ | BLZ | English | en | eng | en-BZ |
Bolivarian Republic of Venezuela | VE | VEN | Spanish | es | spa | es-VE |
Bolivia | BO | BOL | Quechua | quz | qub | quz-BO |
Bolivia | BO | BOL | Spanish | es | spa | es-BO |
Brazil | BR | BRA | Portuguese | pt | por | pt-BR |
Brunei Darussalam | BN | BRN | Malay | ms | msa | ms-BN |
Bulgaria | BG | BGR | Bulgarian | bg | bul | bg-BG |
Cambodia | KH | KHM | Khmer | km | khm | km-KH |
Canada | CA | CAN | French | fr | fra | fr-CA |
Canada | CA | CAN | English | en | eng | en-CA |
Caribbean | 29 | 29 | English | en | eng | en-029 |
Catalan | ES | ESP | Catalan | ca | cat | ca-ES |
Chile | CL | CHL | Mapudungun | arn | arn | arn-CL |
Chile | CL | CHL | Spanish | es | spa | es-CL |
Colombia | CO | COL | Spanish | es | spa | es-CO |
Costa Rica | CR | CRI | Spanish | es | spa | es-CR |
Croatia | HR | HRV | Croatian | hr | hrv | hr-HR |
Cyrillic, Azerbaijan | AZ | AZE | Azeri | az | aze | az-Cyrl-AZ |
Cyrillic, Bosnia and Herzegovina | BA | BIH | Serbian | sr | srn | sr-Cyrl-BA |
Cyrillic, Bosnia and Herzegovina | BA | BIH | Bosnian | bs | bsc | bs-Cyrl-BA |
Cyrillic, Mongolia | MN | MNG | Mongolian | mn | mon | mn-MN |
Cyrillic, Montenegro | ME | MNE | Serbian | sr | srp | sr-Cyrl-ME |
Cyrillic, Serbia | RS | SRB | Serbian | sr | srp | sr-Cyrl-RS |
Cyrillic, Serbia and Montenegro (Former | CS | SCG | Serbian ) | sr | srp | sr-Cyrl-CS |
Cyrillic, Tajikistan | TJ | TAJ | Tajik | tg | tgk | tg-Cyrl-TJ |
Cyrillic, Uzbekistan | UZ | UZB | Uzbek | uz | uzb | uz-Cyrl-UZ |
Czech Republic | CZ | CZE | Czech | cs | ces | cs-CZ |
Denmark | DK | DNK | Danish | da | dan | da-DK |
Dominican Republic | DO | DOM | Spanish | es | spa | es-DO |
Ecuador | EC | ECU | Quechua | quz | que | quz-EC |
Ecuador | EC | ECU | Spanish | es | spa | es-EC |
Egypt | EG | EGY | Arabic | ar | ara | ar-EG |
El Salvador | SV | SLV | Spanish | es | spa | es-SV |
Estonia | EE | EST | Estonian | et | est | et-EE |
Ethiopia | ET | ETH | Amharic | am | amh | am-ET |
Faroe Islands | FO | FRO | Faroese | fo | fao | fo-FO |
Finland | FI | FIN | Finnish | fi | fin | fi-FI |
Finland | FI | FIN | Swedish | sv | swe | sv-FI |
Finland | FI | FIN | Sami, Northern | se | smg | se-FI |
Finland | FI | FIN | Sami, Skolt | sms | sms | sms-FI |
Finland | FI | FIN | Sami, Inari | smn | smn | smn-FI |
Former Yugoslav Republic of Macedonia | MK | MKD | Macedonian | mk | mkd | mk-MK |
France | FR | FRA | French | fr | fra | fr-FR |
France | FR | FRA | Breton | br | bre | br-FR |
France | FR | FRA | Occitan | oc | oci | oc-FR |
France | FR | FRA | Corsican | co | cos | co-FR |
France | FR | FRA | Alsatian | gsw | gsw | gsw-FR |
Galician | ES | ESP | Galician | gl | glg | gl-ES |
Georgia | GE | GEO | Georgian | ka | kat | ka-GE |
Germany | DE | DEU | German | de | deu | de-DE |
Germany | DE | DEU | Upper Sorbian | hsb | hsb | hsb-DE |
Germany | DE | DEU | Lower Sorbian | dsb | dsb | dsb-DE |
Greece | GR | GRC | Greek | el | ell | el-GR |
Greenland | GL | GRL | Greenlandic | kl | kal | kl-GL |
Guatemala | GT | GTM | K'iche | qut | qut | qut-GT |
Guatemala | GT | GTM | Spanish | es | spa | es-GT |
Honduras | HN | HND | Spanish | es | spa | es-HN |
Hungary | HU | HUN | Hungarian | hu | hun | hu-HU |
Iceland | IS | ISL | Icelandic | is | isl | is-IS |
India | IN | IND | Hindi | hi | hin | hi-IN |
India | IN | IND | Bengali | bn | bng | bn-IN |
India | IN | IND | Punjabi | pa | pan | pa-IN |
India | IN | IND | Gujarati | gu | guj | gu-IN |
India | IN | IND | Oriya | or | ori | or-IN |
India | IN | IND | Tamil | ta | tam | ta-IN |
India | IN | IND | Telugu | te | tel | te-IN |
India | IN | IND | Kannada | kn | kan | kn-IN |
India | IN | IND | Malayalam | ml | mym | ml-IN |
India | IN | IND | Assamese | as | asm | as-IN |
India | IN | IND | Marathi | mr | mar | mr-IN |
India | IN | IND | Sanskrit | sa | san | sa-IN |
India | IN | IND | Konkani | kok | kok | kok-IN |
India | IN | IND | English | en | eng | en-IN |
Indonesia | ID | IDN | Indonesian | id | ind | id-ID |
Iran | IR | IRN | Persian | fa | fas | fa-IR |
Iraq | IQ | IRQ | Arabic | ar | ara | ar-IQ |
Ireland | IE | IRL | Irish | ga | gle | ga-IE |
Ireland | IE | IRL | English | en | eng | en-IE |
Islamic Republic of Pakistan | PK | PAK | Urdu | ur | urd | ur-PK |
Israel | IL | ISR | Hebrew | he | heb | he-IL |
Italy | IT | ITA | Italian | it | ita | it-IT |
Jamaica | JM | JAM | English | en | eng | en-JM |
Japan | JP | JPN | Japanese | ja | jpn | ja-JP |
Jordan | JO | JOR | Arabic | ar | ara | ar-JO |
Kazakhstan | KZ | KAZ | Kazakh | kk | kaz | kk-KZ |
Kenya | KE | KEN | Kiswahili | sw | swa | sw-KE |
Korea | KR | KOR | Korean | ko | kor | ko-KR |
Kuwait | KW | KWT | Arabic | ar | ara | ar-KW |
Kyrgyzstan | KG | KGZ | Kyrgyz | ky | kir | ky-KG |
Lao P.D.R. | LA | LAO | Lao | lo | lao | lo-LA |
Latin, Algeria | DZ | DZA | Tamazight | tzm | tzm | tzm-Latn-DZ |
Latin, Azerbaijan | AZ | AZE | Azeri | az | aze | az-Latn-AZ |
Latin, Bosnia and Herzegovina | BA | BIH | Croatian | hr | hrb | hr-BA |
Latin, Bosnia and Herzegovina | BA | BIH | Bosnian | bs | bsb | bs-Latn-BA |
Latin, Bosnia and Herzegovina | BA | BIH | Serbian | sr | srs | sr-Latn-BA |
Latin, Canada | CA | CAN | Inuktitut | iu | iku | iu-Latn-CA |
Latin, Montenegro | ME | MNE | Serbian | sr | srp | sr-Latn-ME |
Latin, Nigeria | NG | NGA | Hausa | ha | hau | ha-Latn-NG |
Latin, Serbia | RS | SRB | Serbian | sr | srp | sr-Latn-RS |
Latin, Serbia and Montenegro (Former | CS | SCG | Serbian ) | sr | srp | sr-Latn-CS |
Latin, Uzbekistan | UZ | UZB | Uzbek | uz | uzb | uz-Latn-UZ |
Latvia | LV | LVA | Latvian | lv | lav | lv-LV |
Lebanon | LB | LBN | Arabic | ar | ara | ar-LB |
Libya | LY | LBY | Arabic | ar | ara | ar-LY |
Liechtenstein | LI | LIE | German | de | deu | de-LI |
Lithuania | LT | LTU | Lithuanian | lt | lit | lt-LT |
Luxembourg | LU | LUX | Luxembourgish | lb | ltz | lb-LU |
Luxembourg | LU | LUX | German | de | deu | de-LU |
Luxembourg | LU | LUX | French | fr | fra | fr-LU |
Malaysia | MY | MYS | Malay | ms | msa | ms-MY |
Malaysia | MY | MYS | English | en | eng | en-MY |
Maldives | MV | MDV | Divehi | dv | div | dv-MV |
Malta | MT | MLT | Maltese | mt | mlt | mt-MT |
Mexico | MX | MEX | Spanish | es | spa | es-MX |
Mohawk | CA | CAN | Mohawk | moh | moh | moh-CA |
Monaco | MC | MCO | French | fr | fra | fr-MC |
Morocco | MA | MAR | Arabic | ar | ara | ar-MA |
Nepal | NP | NPL | Nepali | ne | nep | ne-NP |
Netherlands | NL | NLD | Dutch | nl | nld | nl-NL |
Netherlands | NL | NLD | Frisian | fy | fry | fy-NL |
New Zealand | NZ | NZL | Maori | mi | mri | mi-NZ |
New Zealand | NZ | NZL | English | en | eng | en-NZ |
Nicaragua | NI | NIC | Spanish | es | spa | es-NI |
Nigeria | NG | NGA | Yoruba | yo | yor | yo-NG |
Nigeria | NG | NGA | Igbo | ig | ibo | ig-NG |
Norway | NO | NOR | Norwegian, Bokmål | nb | nob | nb-NO |
Norway | NO | NOR | Sami, Northern | se | sme | se-NO |
Norway | NO | NOR | Norwegian, Nynorsk | nn | nno | nn-NO |
Norway | NO | NOR | Sami, Lule | smj | smj | smj-NO |
Norway | NO | NOR | Sami, Southern | sma | sma | sma-NO |
Oman | OM | OMN | Arabic | ar | ara | ar-OM |
Panama | PA | PAN | Spanish | es | spa | es-PA |
Paraguay | PY | PRY | Spanish | es | spa | es-PY |
Peru | PE | PER | Quechua | quz | qup | quz-PE |
Peru | PE | PER | Spanish | es | spa | es-PE |
Philippines | PH | PHL | Filipino | fil | fil | fil-PH |
Poland | PL | POL | Polish | pl | pol | pl-PL |
Portugal | PT | PRT | Portuguese | pt | por | pt-PT |
PRC | CN | CHN | Tibetan | bo | bod | bo-CN |
PRC | CN | CHN | Yi | ii | iii | ii-CN |
PRC | CN | CHN | Uyghur | ug | uig | ug-CN |
Puerto Rico | PR | PRI | Spanish | es | spa | es-PR |
Qatar | QA | QAT | Arabic | ar | ara | ar-QA |
Republic of the Philippines | PH | PHL | English | en | eng | en-PH |
Romania | RO | ROU | Romanian | ro | ron | ro-RO |
Russia | RU | RUS | Russian | ru | rus | ru-RU |
Russia | RU | RUS | Tatar | tt | tat | tt-RU |
Russia | RU | RUS | Bashkir | ba | bak | ba-RU |
Russia | RU | RUS | Yakut | sah | sah | sah-RU |
Rwanda | RW | RWA | Kinyarwanda | rw | kin | rw-RW |
Saudi Arabia | SA | SAU | Arabic | ar | ara | ar-SA |
Senegal | SN | SEN | Wolof | wo | wol | wo-SN |
Simplified, PRC | CN | CHN | Chinese | zh | zho | zh-CN |
Simplified, Singapore | SG | SGP | Chinese | zh | zho | zh-SG |
Singapore | SG | SGP | English | en | eng | en-SG |
Slovakia | SK | SVK | Slovak | sk | slk | sk-SK |
Slovenia | SI | SVN | Slovenian | sl | slv | sl-SI |
South Africa | ZA | ZAF | Setswana | tn | tsn | tn-ZA |
South Africa | ZA | ZAF | isiXhosa | xh | xho | xh-ZA |
South Africa | ZA | ZAF | isiZulu | zu | zul | zu-ZA |
South Africa | ZA | ZAF | Afrikaans | af | afr | af-ZA |
South Africa | ZA | ZAF | Sesotho sa Leboa | nso | nso | nso-ZA |
South Africa | ZA | ZAF | English | en | eng | en-ZA |
Spain, International Sort | ES | ESP | Spanish | es | spa | es-ES |
Sri Lanka | LK | LKA | Sinhala | si | sin | si-LK |
Sweden | SE | SWE | Swedish | sv | swe | sv-SE |
Sweden | SE | SWE | Sami, Northern | se | smf | se-SE |
Sweden | SE | SWE | Sami, Lule | smj | smk | smj-SE |
Sweden | SE | SWE | Sami, Southern | sma | smb | sma-SE |
Switzerland | CH | CHE | Romansh | rm | roh | rm-CH |
Switzerland | CH | CHE | German | de | deu | de-CH |
Switzerland | CH | CHE | Italian | it | ita | it-CH |
Switzerland | CH | CHE | French | fr | fra | fr-CH |
Syllabics, Canada | CA | CAN | Inuktitut | iu | iku | iu-Cans-CA |
Syria | SY | SYR | Syriac | syr | syr | syr-SY |
Syria | SY | SYR | Arabic | ar | ara | ar-SY |
Thailand | TH | THA | Thai | th | tha | th-TH |
Traditional Mongolian, PRC | CN | CHN | Mongolian | mn | mon | mn-Mong-CN |
Traditional, Hong Kong S.A.R. | HK | HKG | Chinese | zh | zho | zh-HK |
Traditional, Macao S.A.R. | MO | MAC | Chinese | zh | zho | zh-MO |
Traditional, Taiwan | TW | TWN | Chinese | zh | zho | zh-TW |
Trinidad and Tobago | TT | TTO | English | en | eng | en-TT |
Tunisia | TN | TUN | Arabic | ar | ara | ar-TN |
Turkey | TR | TUR | Turkish | tr | tur | tr-TR |
Turkmenistan | TM | TKM | Turkmen | tk | tuk | tk-TM |
U.A.E. | AE | ARE | Arabic | ar | ara | ar-AE |
Ukraine | UA | UKR | Ukrainian | uk | ukr | uk-UA |
United Kingdom | GB | GBR | Welsh | cy | cym | cy-GB |
United Kingdom | GB | GBR | Scottish Gaelic | gd | gla | gd-GB |
United Kingdom | GB | GBR | English | en | eng | en-GB |
United States | US | USA | English | en | eng | en-US |
United States | US | USA | Spanish | es | spa | es-US |
Uruguay | UY | URY | Spanish | es | spa | es-UY |
Vietnam | VN | VNM | Vietnamese | vi | vie | vi-VN |
Yemen | YE | YEM | Arabic | ar | ara | ar-YE |
Zimbabwe | ZW | ZWE | English | en | eng | en-ZW |
Chúc các bạn thành công!
link download project Multi Language with vb.net