Ajukan pertanyaan Anda dan dapatkan ringkasan dokumen dengan merujuk halaman ini dan penyedia AI pilihan Anda
Riwayat Versi
- "Mengimplementasikan penulisan ulang URL kustom"v8.0.022/1/2026
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 getLocalizedPath di intlayer
Deskripsi
Fungsi getLocalizedPath mengubah canonical path (path internal aplikasi) menjadi padanan yang dilokalkan berdasarkan locale dan aturan rewrite yang disediakan. Fungsi ini sangat berguna untuk menghasilkan URL ramah SEO yang berbeda menurut bahasa.
Ini adalah padanan relatif dari getLocalizedUrl — untuk input relatif keduanya mengembalikan nilai yang sama. Tidak seperti getLocalizedUrl, ini tidak pernah mengembalikan URL absolut: konfigurasi domains diabaikan, jadi locale yang disajikan dari domain-nya sendiri masih menghasilkan path. Input absolut diterima, tetapi asal-usulnya dijatuhkan — hanya path, query string, dan hash yang dipertahankan.
Fitur Utama:
- Mendukung parameter route dinamis menggunakan sintaks
[param]. - Menyelesaikan path sesuai aturan rewrite kustom yang didefinisikan dalam konfigurasi proyek Anda.
- Secara otomatis menangani fallback ke canonical path jika tidak ada aturan rewrite yang ditemukan untuk locale yang ditentukan.
Tanda Tangan Fungsi
Salin kode ke clipboard
Parameter
Parameter Wajib
canonicalPath: string- Deskripsi: Jalur internal aplikasi (mis.
/about,/product/[id]). - Tipe:
string - Diperlukan: Ya
- Deskripsi: Jalur internal aplikasi (mis.
Parameter Opsional
locale?: Locales- Description: Locale target untuk mana path harus dilokalisasi.
- Type:
Locales - Default: Locale default dari konfigurasi proyek Anda.
rewriteRules?: RoutingConfig['rewrite']- Deskripsi: Objek yang mendefinisikan aturan rewrite kustom. Jika tidak diberikan, akan menggunakan properti
routing.rewritedari konfigurasi proyek Anda. - Tipe:
RoutingConfig['rewrite'] Default:
configuration.routing.rewriteoptions.locales?: Locales[]— locale yang didukung. Default:configuration.internationalization.localesoptions.defaultLocale?: Locales— locale default. Default:configuration.internationalization.defaultLocaleoptions.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'— bagaimana locale muncul di path. Default:configuration.routing.modeoptions.rewrite?: RoutingConfig['rewrite']— custom rewrite rules. Default:configuration.routing.rewrite
- Deskripsi: Objek yang mendefinisikan aturan rewrite kustom. Jika tidak diberikan, akan menggunakan properti
Pengembalian
- Tipe:
string - Deskripsi: Jalur yang telah dilokalkan untuk locale yang ditentukan.
Jenis ini disempitkan dari aturan rewrite yang dideklarasikan dalam konfigurasi Anda, sehingga editor menampilkan jalur yang diselesaikan daripada string biasa:
Salin kode ke clipboard
Penyempitan yang sama mengalir ke dalam getLocalizedUrl, yang menerapkan aturan penulisan ulang sebelum memberi awalan locale.
Dua kasus tetap meluas menjadi string, karena tidak dapat diselesaikan pada waktu kompilasi:
- sebuah path yang bukan string literal (misalnya, yang dibangun dari variabel);
- sebuah path yang cocok dengan rule menggunakan parameter multi-segment atau opsional (
[...slug],[[...slug]],:param?).
Contoh Penggunaan
Penggunaan Dasar (Dengan Konfigurasi)
Jika Anda telah mengonfigurasi rewrite kustom di intlayer.config.ts Anda:
Salin kode ke clipboard
Penggunaan dengan Rute Dinamis
Salin kode ke clipboard
Aturan Rewrite Manual
Anda juga dapat memberikan aturan rewrite manual ke fungsi:
Salin kode ke clipboard
Menghilangkan Locale
Ketika tidak ada locale yang diberikan, path dilokalisasi untuk locale default yang dikonfigurasi:
Salin kode ke clipboard
Fungsi Terkait
getCanonicalPath: Mengembalikan path yang dilokalkan ke canonical path internalnya.getLocalizedUrl: Menghasilkan URL yang sepenuhnya dilokalkan (termasuk protokol, host, dan prefiks locale).
