- [C#] Cách Sử Dụng DeviceId trong C# Để Tạo Khóa Cho Ứng Dụng
- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 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