Ajukan pertanyaan Anda dan dapatkan ringkasan dokumen dengan merujuk halaman ini dan penyedia AI pilihan Anda
Riwayat Versi
- "Inisialisasi riwayat"v5.5.1029/6/2025
Konten halaman ini diterjemahkan menggunakan AI.
Lihat versi terakhir dari konten aslinya dalam bahasa InggrisJika Anda memiliki ide untuk meningkatkan dokumentasi ini, silakan berkontribusi dengan mengajukan pull request di GitHub.
Tautan GitHub ke dokumentasiSalin Markdown dokumentasi ke clipboard
Dokumentasi: Fungsi t dalam hono-intlayer
Fungsi t dalam paket hono-intlayer adalah alat utama untuk menyediakan respons yang dilokalkan dalam aplikasi Hono Anda. Ini menyederhanakan internasionalisasi (i18n) dengan secara dinamis memilih konten berdasarkan bahasa pilihan pengguna.
Ikhtisar
Fungsi t digunakan untuk mendefinisikan dan mengambil terjemahan untuk kumpulan bahasa tertentu. Fungsi ini secara otomatis menentukan bahasa yang tepat untuk dikembalikan berdasarkan pengaturan permintaan klien, seperti header Accept-Language. Jika bahasa yang disukai tidak tersedia, fungsi ini akan beralih ke locale default yang ditentukan dalam konfigurasi Anda.
Fitur Utama
- Lokalisasi Dinamis: Secara otomatis memilih terjemahan yang paling sesuai untuk klien.
- Fallback ke Locale Default: Beralih ke locale default jika bahasa pilihan klien tidak tersedia, memastikan kelangsungan pengalaman pengguna.
- Ringan dan Cepat: Dirancang untuk aplikasi berperforma tinggi, memastikan overhead minimal.
- Dukungan Mode Ketat: Menegakkan kepatuhan ketat terhadap locale yang dideklarasikan untuk perilaku yang andal.
Tanda Tangan Fungsi
Parameter
translations: Sebuah objek di mana kuncinya adalah kode locale (misalnya,en,fr,id) dan nilainya adalah string terjemahan yang sesuai.
Pengembalian
- Sebuah string yang mewakili konten dalam bahasa pilihan klien.
Memuat Handler Permintaan Internasionalisasi
Untuk memastikan bahwa fungsionalitas internasionalisasi yang disediakan oleh hono-intlayer berfungsi dengan benar, Anda harus memuat middleware internasionalisasi di awal aplikasi Hono Anda. Ini mengaktifkan fungsi t dan memastikan penanganan deteksi locale dan terjemahan yang tepat.
Tempatkan middleware app.use("*", intlayer()) sebelum rute mana pun di aplikasi Anda untuk memastikan bahwa semua rute mendapatkan manfaat dari internasionalisasi:
Mengapa Ini Diperlukan
- Deteksi Locale: Middleware
intlayermemproses permintaan masuk untuk mendeteksi locale pilihan pengguna berdasarkan header, cookie, atau metode konfigurasi lainnya. - Konteks Terjemahan: Menyiapkan konteks yang diperlukan agar fungsi
tdapat beroperasi dengan benar, memastikan bahwa terjemahan dikembalikan dalam bahasa yang benar. - Pencegahan Kesalahan: Tanpa middleware ini, menggunakan fungsi
takan menghasilkan kesalahan runtime karena informasi locale yang diperlukan tidak akan tersedia.
Contoh Penggunaan
Contoh Dasar
Sajikan konten yang dilokalkan dalam berbagai bahasa:
Permintaan Klien:
- Klien dengan
Accept-Language: frakan menerimaBienvenue!. - Klien dengan
Accept-Language: idakan menerimaSelamat datang!. - Klien dengan
Accept-Language: deakan menerimaWelcome!(locale default).
Menangani Kesalahan
Berikan pesan kesalahan dalam beberapa bahasa:
Menggunakan Varian Locale
Tentukan terjemahan untuk varian khusus locale:
Topik Lanjutan
Mekanisme Fallback
Jika locale yang disukai tidak tersedia, fungsi t akan beralih ke locale default yang ditentukan dalam konfigurasi:
Penegakan Mode Ketat
Konfigurasikan fungsi t untuk menegakkan kepatuhan ketat terhadap locale yang dideklarasikan:
Buka tabel dalam modal untuk melihat semua isi data dengan jelas
| Mode | Perilaku |
|---|---|
strict | Semua locale yang dideklarasikan harus memiliki terjemahan. Locale yang hilang akan menyebabkan kesalahan. |
inclusive | Locale yang dideklarasikan harus memiliki terjemahan. Locale yang hilang memicu peringatan tetapi diterima. |
loose | Locale apa pun yang ada diterima, meskipun tidak dideklarasikan. |
Integrasi TypeScript
Fungsi t aman secara tipe saat digunakan dengan TypeScript. Tentukan objek terjemahan yang aman secara tipe:
Kesalahan Umum dan Pemecahan Masalah
Buka tabel dalam modal untuk melihat semua isi data dengan jelas
| Masalah | Penyebab | Solusi |
|---|---|---|
Fungsi t tidak berfungsi | Middleware tidak dimuat | Pastikan app.use("*", intlayer()) ditambahkan sebelum rute. |
| Kesalahan terjemahan hilang | Mode ketat diaktifkan tanpa semua locale | Sediakan semua terjemahan yang diperlukan. |
Kesimpulan
Fungsi t adalah alat yang ampuh untuk internasionalisasi backend. Dengan menggunakannya secara efektif, Anda dapat membuat aplikasi yang lebih inklusif dan ramah pengguna untuk audiens global. Untuk penggunaan lanjutan dan opsi konfigurasi mendetail, lihat dokumentasi.