- [VB.NET] Chia sẻ source code lịch âm dương và hẹn lịch nhắc việc
- [C#] Hướng dẫn đọc thông số thiết bị Thiết bị kiểm tra Pin (HIOKI BATTERY HiTESTER BT3562)
- [VB.NET] Hướng dẫn giải captcha sử dụng dịch vụ AZCaptcha API trên winform
- [C#] Hướng dẫn chứng thực đăng nhập ứng dụng bằng vân tay (Finger Print) trên máy tính
- [C#] Color Thief cách xuất màu sắc thiết kế từ hình ảnh
- [C#] Cách tạo bản quyền và cho phép dùng thử ứng dụng Winform
- [C#] Hướng dẫn sử dụng trình duyệt web Chrome convert HTML sang tập tin file PDF
- [C#] Kết nôi điện thoại Android, IOS với App Winform via Bluetooth
- [DATABASE] Cách query cộng trừ dồn dần trong Sqlserver
- [C#] Thiết kế ứng dụng Console đẹp với thư viện Spectre.Console
- [C#] Thiết kế ứng dụng Single Instance và đưa ứng dụng lên trước nếu kiểm tra ứng dụng đang chạy
- [C#] Giới thiệu JSON Web Token và cách đọc chuỗi token
- [C#] Cách tăng giảm font chữ tất cả các control trên winform
- [DEVEXPRESS] Tích hợp chức năng Tìm kiếm Search vào CheckedComboboxEdit
- [C#] Gởi email Metting Calendar Reminder kèm nhắc thời gian lịch họp
- [C#] Tìm kiếm xem danh sách từ khóa có tồn tại trong đoạn văn bản hay không
- [C#] Thiết kế giao diện ứng dụng trên Console sử dụng thư viện Terminal.Gui
- [C#] Hướng dẫn tạo mã VietQR Payment API Winform
- [C#] Sử dụng thư viện BenchmarkDotNet đo hiệu năng của hảm Method
- [DEVEXPRESS] Tìm kiếm không dấu tô màu highlight có dấu trên C# Winform
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 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