Internasionalisasi
Tambahkan dukungan multi-bahasa ke aplikasimu. Gunakan Proyecta Content API untuk lokalisasi konten editorial, atau minta AI untuk menyambungkan framework i18n langsung ke dalam kode.
Proyecta mendukung dua pendekatan yang saling melengkapi untuk menginternasionalisasi aplikasi yang kamu bangun:
- Lokalisasi konten melalui Proyecta Content API — untuk konten editorial (posting blog, FAQ, teks pemasaran) yang perlu diterjemahkan ke berbagai bahasa
- i18n di level kode menggunakan framework terjemahan — untuk string antarmuka, tanggal, mata uang, dan pergantian locale saat runtime
Keduanya bisa digunakan sekarang. Mana yang kamu butuhkan tergantung pada apa yang ingin kamu terjemahkan.
Proyecta sebagai builder sendiri hadir dengan 24 locale, sehingga produk ini sudah fasih dalam i18n. Pola yang sama berlaku untuk aplikasi yang kamu bangun di dalamnya.
Opsi 1: Lokalisasi konten (Proyecta Content API)
Section titled “Opsi 1: Lokalisasi konten (Proyecta Content API)”Jika kamu membangun situs yang padat konten — blog, knowledge base, halaman pemasaran, katalog produk — gunakan dukungan locale bawaan dari Content API.
// Create the locales you supportawait proyecta.content.locales.create({ /* code: 'en', name: 'English' */});await proyecta.content.locales.create({ /* code: 'es', name: 'Español' */});await proyecta.content.locales.create({ /* code: 'fr', name: 'Français' */});
// Then create entries that exist in multiple locales — fetch the right// translation per request based on the user's locale.Ini adalah pilihan yang tepat ketika:
- Editor yang tidak menulis kode perlu menerjemahkan konten
- Kamu ingin terjemahan bisa dilacak versinya
- Kamu membutuhkan penerbitan spesifik per locale (penerbitan terjadwal akan segera hadir — saat ini entri memerlukan penerbitan manual melalui API)
Lihat Content Management untuk dokumentasi lengkap Content API.
Opsi 2: Framework i18n di level kode
Section titled “Opsi 2: Framework i18n di level kode”Untuk string antarmuka — label, tombol, pesan error, tanggal, mata uang — minta AI untuk menyambungkan framework i18n langsung ke proyekmu:
Add internationalization to my app.Support English, Spanish, French, and Arabic.Add message catalogs in src/locales/.Add a language switcher in the header.Use locale-prefixed URLs like /en/about and /es/about.Make sure RTL layout works correctly for Arabic.AI akan:
- Memilih framework — AI menggunakan
i18nextdenganreact-i18next(standar Proyecta) - Membuat file katalog di
src/locales/(satu JSON per bahasa) - Membungkus teks dalam pemanggilan
t()(dari hookuseTranslationmilik react-i18next) - Menambahkan komponen language switcher
- Menyambungkan routing URL dengan prefix locale
- Menangani layout RTL (
dir="rtl") untuk bahasa Arab, Ibrani, dan lainnya - Memformat angka, tanggal, dan mata uang sesuai locale
Terjemahkan otomatis dengan AI
Section titled “Terjemahkan otomatis dengan AI”Setelah bahasa dasar kamu sudah siap, AI sangat andal dalam menghasilkan file katalog untuk bahasa lainnya:
"Translate every string in src/locales/en.json into Spanish, French, German, and Japanese. Use natural, idiomatic phrasing — don't translate brand names.""My app is fully built in English. Add Spanish translations for everything and an es/ route prefix."
Untuk konten yang sangat penting (teks hukum, medis, keuangan), mintalah penerjemah manusia untuk mengulas hasil output AI sebelum di-deploy.
Menggabungkan kedua pendekatan
Section titled “Menggabungkan kedua pendekatan”Sebagian besar aplikasi nyata menggunakan keduanya: i18n di level kode untuk elemen antarmuka (tombol, pesan error, navigasi), dan Content API untuk konten editorial (artikel, deskripsi produk). Keduanya dapat berjalan berdampingan dengan rapi — framework i18n menangani file katalog saat build time, sedangkan Content API menyajikan entri yang sudah dilokalisasi saat runtime.
Praktik terbaik
Section titled “Praktik terbaik”- Tentukan bahasa dasar dan finalisasi teks terlebih dahulu. Menerjemahkan sesuatu yang terus berubah itu menyulitkan.
- Lakukan terjemahan secara batch. Jangan menerjemahkan sambil berjalan — tunggu hingga sebuah fitur sudah stabil.
- Uji RTL sejak awal jika kamu mendukung bahasa Arab atau Ibrani. Bug RTL baru terlihat kalau kamu benar-benar memeriksanya.
- Sertakan
langdandirpada<html>. Browser dan screen reader bergantung pada atribut ini. - Gunakan
Intluntuk pemformatan. Jangan buat sendiri format tanggal atau mata uang — gunakanIntl.DateTimeFormat,Intl.NumberFormat.
Segera hadir
Section titled “Segera hadir”- UI manajemen locale di dalam builder — pilih locale, lihat cakupan terjemahan, dan edit katalog tanpa meninggalkan Proyecta
- Terjemahan otomatis saat menyimpan untuk string baru
- Template proyek siap i18n dengan framework yang sudah terpasang