1. Jadikan antarmuka seperti sebelumnya, cukup perhatikan penggunaan label untuk semua teks yang memerlukan antarmuka multi bahasa
2. Setelah selesai, pilih file di Solution Explorer dan pilih Tools->Generate Local Resource
3. Anda akan menemukan bahwa direktori, App_LocalResources, dibuat; ada file resx tambahan di direktori ini. Misalnya, jika file aspx Anda adalah default.aspx, maka akan menghasilkan file bernama default.aspx.resx.
4. Buka file ini dan lihat. Semua teks dalam label telah hilang di sini
5. Buka file aspx asli dan lihat sumbernya. Anda akan menemukan bahwa kode sumber telah berubah:
<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Default2" title="Halaman Tanpa Judul" Culture="auto" meta: resourcekey="PageResource1" UICulture="auto" %>
…………
<asp:Localize ID="Localize1" runat="server" meta:resourcekey="Localize1Resource1"></asp:Localize>
6. Catatan di sini: meta:resourcekey="PageResource1" dan meta:resourcekey="Localize1Resource1" Ini berarti teks di sini dibaca dari sumber.
7. OK sekarang buat file resource untuk bahasa lain. Caranya sangat sederhana, salin Default.aspx.resx dan tempel, lalu ganti namanya menjadi Default.aspx.fr-fr.resx. Perhatikan bahwa fr-fr adalah nama bahasa yang ingin Anda gunakan. Jika Anda menonton DVDrip, Anda pasti mengira itu sangat mirip dengan file subtitle, bukan?
8. Ada yang bilang bagaimana saya tahu nama bahasa itu? Ini sangat sederhana, buka IE, alat->opsi internet->bahasa->tambahkan, ada di tengah kotak.
9. Sekarang mulailah mengedit teks dari sumber lain. Buka Default.aspx.fr-fr.resx, bandingkan konten asli, dan ubah konten ke bahasa Prancis.
10. Sampai disini kita sudah menyelesaikan tahap pertama. ASP.Net akan memilih bahasa yang ditampilkan berdasarkan preferensi bahasa pengguna. Ubah pengaturan di IE, ubah tempat yang baru saja kami sebutkan menjadi fr-fr, buka halaman ini dan lihat? Jika itu bahasa Prancis, selamat. Jika tidak, kembali dan lakukan lagi...
11. Oke, selanjutnya, kami ingin mengizinkan pengguna memilih bahasa mereka sendiri, bukan secara otomatis. Kami menggunakan cookie untuk menyimpan pilihan pengguna. Pada level Aplikasi, kami membaca cookie ini dan mengatur budaya dan budaya yang sesuai. Tentunya saat pertama kali masuk kita masih harus membaca setting browser yang bisa didapatkan dari Request.UserLanguages.
Bahasa Pribadi yang Didukung Sebagai String() = {"en-us", "fr-fr"}
Konst Umum LANGUAGE_COOKIE_NAME Sebagai String = "Bahasa Pengguna"
Sub Application_AcquireRequestState(Pengirim ByVal Sebagai Objek, ByVal dan Sebagai EventArgs)
Redupkan bahasaCookie Sebagai HttpCookie = Request.Cookies(LANGUAGE_COOKIE_NAME)
Redupkan bahasa Sebagai String = String.Empty
Jika (bahasaCookie Bukan Apa-apa) Lalu
Redupkan userLanguages As String() = Request.UserLanguages
Redupkan indeks Sebagai Integer
Untuk i As Integer = 0 Ke userLanguages.Length - 1
indeks = Array.IndexOf(SupportedLanguages, userLanguages(i))
Jika indeks >= 0 Maka
bahasa = Bahasa yang Didukung(indeks)
Keluar Untuk
Akhir Jika
Berikutnya
Jika bahasa = String.Kosong Maka _
bahasa = Bahasa yang Didukung(0)
Response.Cookies.Tambahkan(HttpCookie Baru(LANGUAGE_COOKIE_NAME, bahasa))
Bahasalain
= bahasaCookie.Nilai
Akhir Jika
Redupkan budaya Sebagai CultureInfo = New CultureInfo(bahasa)
System.Threading.Thread.CurrentThread.CurrentUICulture = culture
End Sub
12. Kemudian kita perlu memiliki halaman yang memungkinkan pengguna memilih bahasa. Misalnya, kita menggunakan dua tombol untuk melakukannya. Setelah mengklik tombol ini, kami ingin menyetel cookie ini ke bahasa yang sesuai:
Sub Terlindungi Button2_Click(ByVal pengirim Sebagai Objek, ByVal dan Sebagai System.EventArgs) Menangani Button2.Click
SetLanguage("fr-fr")
End Sub
Sub Set yang DilindungiBahasa (Bahasa ByVal Sebagai String)
Response.Cookies (Global.ASP.global_asax.LANGUAGE_COOKIE_NAME). Nilai = bahasa
Redupkan budaya Sebagai CultureInfo = Info Budaya Baru (bahasa)
System.Threading.Thread.CurrentThread.CurrentUICulture = budaya
Server.Transfer( Permintaan.Jalur)
Akhir Sub
Perhatikan Server.Transfer(Request.Path) di akhir, ini untuk membaca ulang halaman sehingga halaman tersebut juga akan menampilkan bahasa yang baru dipilih.
13. Akhirnya kita harus menghapus pilihan otomatis ASP.Net. Hapus dari Default.aspx:
Budaya = "otomatis" UI Budaya = "otomatis"
14. Buka dan lihatlah!