Cara kerja Langsys
Langsys mengubah kalimat yang sudah ada di UI Anda menjadi sistem terjemahan. Tidak ada file kunci yang perlu dikelola dan tidak ada langkah ekstraksi saat build — frasa di kode Anda sekaligus menjadi kunci pencarian dan default bahasa dasar.
Frasa adalah kuncinya
Pada i18n tradisional, Anda membuat identifier untuk setiap string, menyimpan teks aslinya di file locale, dan menjaga keduanya tetap sinkron selamanya. Langsys menghapus perantara itu: Anda menulis kalimat yang sebenarnya, dan kalimat itulah kuncinya.
// Traditional i18n — indirection + a keys file to maintain
t('greetings.hello'); // what does this say? open en.json to find out
// en.json
{ "greetings": { "hello": "Hello, {name}!" } } // Langsys — the phrase IS the key and the base-language default
t('Hello, {name}!', 'Greetings', { name }); Karena teks sumber adalah kuncinya, frasa yang sama di mana pun dalam aplikasi Anda hanyalah satu entri yang dapat diterjemahkan — deduplikasi berjalan otomatis — dan locale yang belum diterjemahkan akan otomatis kembali menggunakan teks sumber. Tidak ada yang namanya placeholder untuk kunci yang hilang.
Real-time dan berkelanjutan
Anda tidak perlu menjalankan perintah ekstraksi. Saat aplikasi Anda merender, SDK menemukan frasa yang digunakannya. Frasa baru diterjemahkan mesin di latar belakang ke locale target proyek Anda, dan aplikasi Anda mengambil katalog yang sudah selesai. Rilis kalimat baru hari ini; kalimat itu akan diterjemahkan tak lama kemudian, tanpa perlu deploy ulang bundel locale.
Siklus hidup
- UI Anda merender frasa dengan
t(),<Translate>, dan sejenisnya. - Pada pengembangan, kunci tulis memungkinkan SDK menemukan dan mendaftarkan frasa baru apa pun.
- Langsys menerjemahkannya secara otomatis dengan mesin ke setiap locale target dalam proyek Anda.
- Di produksi, sebuah kunci hanya-baca mengambil katalog final untuk lokal pengguna.
- Ubah locale dan seluruh UI dirender ulang dalam bahasa baru — seketika, tanpa memuat ulang.
vs. i18n tradisional. Tanpa en.json untuk diedit manual, tanpa tipuan t('some.nested.key'), tanpa langkah ekstraksi di build Anda, dan tanpa fallback kunci yang hilang — kalimat sumber selalu menjadi fallback-nya.