Pertanyaan yang sering diajukan
Segala yang perlu Anda ketahui tentang i18n-keyless sebelum memulai.
Apakah saya perlu mengelola berkas terjemahan?
Tidak. Tidak ada file JSON, tidak ada langkah ekstraksi kunci, dan tidak ada plugin build-time. Anda menulis kalimat Anda dalam bahasa sumber, SDK mengirimkannya ke API pada permintaan pertama, API menerjemahkannya dengan AI, dan setiap permintaan berikutnya dilayani dari cache. Kode Anda adalah satu-satunya sumber kebenaran.
Apa yang terjadi ketika saya mengubah teks sumber?
Teks sumber adalah kunci. Ubah dan Anda akan mendapatkan kunci baru dengan terjemahan AI yang segar. Kunci lama tidak lagi diminta, dan dasbor membersihkannya setelah 30 hari tidak digunakan. Memperbaiki kesalahan ketik juga sama: perbaiki di kode, deploy, dan teks baru akan diterjemahkan pada permintaan pertama.
Berapa harganya?
Mandiri: sepenuhnya gratis, proyek tak terbatas, tanpa langganan dan tanpa batas penggunaan — pasang gambar Docker, gunakan kunci AI Anda sendiri. Anda menyukainya? Beri saya tip! Ter-host: satu harga tetap per proyek per bulan, berdasarkan pengguna aktif bulanan — €4 hingga 1.000, €9 hingga 5.000, €29 hingga 50.000, €99 hingga 500.000 — ditagih bulanan, dapat dibatalkan kapan saja. Tidak ada penetapan harga per kursi, per kata, atau per string dalam kedua kasus.
Bisakah saya mengekspor terjemahan saya?
Ya. Dasbor memiliki tombol "Ekspor JSON" yang mengunduh setiap terjemahan di proyek Anda sebagai satu berkas JSON. Ekspor mencakup semua baris, bukan hanya yang digunakan dalam 30 hari terakhir, sehingga ini adalah cadangan lengkap. Tidak ada penguncian: data Anda selalu hanya satu klik saja.
Framework apa saja yang didukung?
React, React Native, Vue, Svelte, Vanilla JS, Node.js, Ruby on Rails, Python, Go, Swift, dan Kotlin. Setiap SDK bekerja dengan cara yang sama: bungkus teks Anda dalam panggilan terjemahan, dan API mengembalikan terjemahan untuk bahasa saat ini. SDK server aman untuk thread dan menyimpan terjemahan dalam memori.
Berapa banyak bahasa yang didukung?
48 bahasa, termasuk varian regional seperti zh-Hans / zh-Hant, en / en-GB, fr / fr-CA, pt / pt-BR, dan es / es-MX. Bahasa Arab, Ibrani, dan Urdu juga ada dalam daftar, jadi bahasa kanan-ke-kiri pun berfungsi. Menambahkan bahasa baru ke proyek Anda hanya satu klik di dasbor.
Apakah ini berfungsi dengan rendering sisi server?
Ya. Node.js SDK menggunakan AsyncLocalStorage sehingga loader, fungsi head, dan komponen server Anda dapat menerjemahkan tanpa penyedia React. Di sisi klien, penyedia React melakukan hidrasi dari HTML yang dirender server. Ada panduan langkah demi langkah untuk Next.js, Nuxt, dan TanStack Start di dokumentasi.
Apakah ini memperlambat aplikasi saya?
Ketika sebuah string baru diminta untuk pertama kalinya, API memanggil model AI — sekitar setengah detik untuk string UI singkat, lebih lama untuk paragraf. Setiap permintaan setelahnya dilayani dari database, yang merupakan cache hit biasa. SDK juga menyimpan terjemahan secara lokal, sehingga pengguna yang kembali tidak mengalami penundaan jaringan. Jika sepuluh pengguna meminta string yang sama secara bersamaan, hanya satu panggilan AI yang dilakukan.
Apa yang terjadi jika layanan berhenti?
Setiap SDK menyimpan terjemahan secara lokal — di localStorage di web, AsyncStorage di perangkat mobile, dan di memori di server. Jika API tidak dapat diakses, SDK akan menyediakan terjemahan yang di-cache. Pengguna Anda melihat terjemahan terakhir yang diketahui, tidak pernah string kosong. Ketika API kembali, SDK akan menyegarkan secara diam-diam.
Penyedia AI mana yang digunakannya?
Lima penyedia didukung: Mistral, OpenAI, Anthropic, Google, dan titik akhir apa pun yang kompatibel dengan OpenAI seperti Ollama, Groq, atau Together. Operator memilih penyedia dan model dari dasbor atau lingkungan. Default di i18n-keyless.com adalah Mistral. Pengguna yang di-host sendiri dapat menjalankan Ollama secara lokal dan tidak mengirim apa pun ke pihak ketiga.
Bisakah saya menimpa terjemahan AI?
Ya. Klik sel apa pun di dasbor, ketik teks yang benar, lalu simpan. Perbaikan bersifat permanen: API tidak pernah menimpa nilai yang disetel secara manual. Anda juga dapat menimpa terjemahan melalui API atau melalui server MCP, sehingga agen pengkodean AI dapat memperbaiki terjemahan untuk Anda.
Bisakah saya bermigrasi dari i18next atau perpustakaan lain?
Ya. Ada panduan migrasi langkah demi langkah untuk i18next, react-intl, dan Lokalise di dokumentasi. API memiliki titik akhir migrasi yang mengimpor terjemahan Anda yang ada satu per satu, tanpa panggilan AI atau biaya apa pun. Server MCP memiliki alat yang sama, sehingga agen AI dapat melakukan migrasi untuk Anda.
Apakah ada rencana gratis?
Edisi self-hosted sepenuhnya gratis dengan proyek tak terbatas — pasang gambar Docker, gunakan kunci AI Anda sendiri, dan simpan data Anda di server Anda sendiri. Tanpa batas waktu, tanpa pembatasan fitur. Rencana yang dihosting dimulai dari €4 per bulan per proyek jika Anda lebih suka tidak menjalankan server.
Apakah kode sumber tersedia?
Server, dasbor, dan gambar Docker diterbitkan di GitHub di bawah Lisensi Elastic 2.0. Anda dapat membaca setiap baris, menjalankan kode, dan mengubahnya. SDK — React, Vue, Node, Rails, dan lainnya — dilisensikan MIT. Satu-satunya pembatasan: Anda tidak boleh menawarkan perangkat lunak sebagai layanan yang dihosting kepada pihak ketiga.
Satu pemelihara: apa yang terjadi jika proyek berhenti?
SDK berada di bawah lisensi MIT dan tetap tersedia di npm, PyPI, RubyGems, dan registri lainnya. Server bersifat publik di bawah Lisensi Elastic 2.0 dan protokol di antara keduanya terdokumentasi, sehingga siapa pun dapat menjalankannya, mem-fork, atau menulis server terhadapnya. Terjemahan Anda tetap dalam satu ekspor JSON kapan saja. Jika layanan yang dihosting berhenti: aplikasi yang terpasang terus melayani terjemahan yang di-cache, klien baru kembali ke bahasa sumber, dan dengan mengarahkan SDK ke instans Anda sendiri dengan API_URL, semuanya dipulihkan. Yang akan Anda hilangkan adalah terjemahan AI dari string baru di i18n-keyless.com — bukan data atau aplikasi Anda.
Baca jawaban lengkapnya, dengan kodeBukankah konteks itu hanya sebuah kunci yang menyamar?
Tidak. Sebuah kunci wajib ada pada setiap string, harus unik, dan berada dalam namespace global yang Anda kelola secara manual. Konteks bersifat opsional, melekat pada beberapa string yang maknanya ambigu — "Close" untuk menutup jendela atau "close" berdasarkan jarak — dan konteks tersebut menjelaskan maknanya, bukan menamai string-nya. Sebagian besar string tidak memiliki konteks. Teks asli tetap menjadi acuan pencarian, dengan atau tanpa konteks; dua teks yang identik dengan dua konteks hanyalah dua baris.
Baca jawaban lengkapnya, dengan kodeBisakah saya meninjau salinan dalam permintaan tarik?
Ya. String sumber ada di kode, jadi setiap perubahan kata-kata adalah perbedaan yang dibaca pengulas di pull request, dalam bahasa yang jelas daripada nama kunci. Yang tidak ada di git adalah terjemahan ke bahasa lain: itu ada di database, seperti halnya dengan platform terjemahan apa pun, dan Anda meninjaunya di dasbor, di mana tanda "telah ditinjau" per sel memisahkan apa yang telah diperiksa seseorang dari apa yang ditulis AI, atau dalam ekspor JSON.
Baca jawaban lengkapnya, dengan kodeMengapa tidak Tolgee, yang juga open source?
Tolgee adalah platform terjemahan berbasis kunci di bawah lisensi Apache 2.0, dengan pengeditan dalam konteks, konteks tangkapan layar, dan memori terjemahan; jika Anda menginginkan fitur-fitur tersebut, atau penerjemah dalam proses, ini adalah pilihan yang baik. i18n-keyless tidak memiliki kunci, tidak ada berkas lokalisasi, terjemahan AI aktif secara default dengan penggantian manual yang tidak pernah ditimpa ulang oleh AI, server di bawah Lisensi Elastic 2.0 dengan SDK MIT, serta gambar yang di-host sendiri yang berjalan di SQLite dalam satu kontainer. Untuk perbaikan dalam konteks, ambil tangkapan layar dan berikan kepada agen AI yang terhubung ke server MCP: ia menemukan string dan menimpa terjemahan. Halaman perbandingan dalam dokumentasi menampilkan harga secara berdampingan.
Baca jawaban lengkapnya, dengan kodeMandiri atau langganan: yang mana?
Menyelenggara sendiri: gambar Docker yang sama di server Anda sendiri, sepenuhnya gratis dengan proyek tanpa batas, dengan kunci AI Anda sendiri dan data Anda di rumah. Anda menyukainya? Beri saya tip! Langganan: kami menjalankannya, pembaruan otomatis, satu harga tetap mulai dari €4 per bulan per proyek. Ambil langganan jika Anda tidak ingin menjalankan server.
Baca jawaban lengkapnya, dengan kodeBagaimana cara menangani nilai dinamis seperti nama atau hitungan?
Gunakan opsi pengganti. Tulis kalimat dengan placeholder — "Halo {name}, Anda memiliki {count} item" — dan lewatkan nilai-nilai pada saat render dengan replace: { "{name}": userName, "{count}": String(n) }. AI melihat placeholder dan mempertahankannya di setiap terjemahan. SDK menggantikan nilai pada waktu proses.
Bagaimana cara menangani bentuk jamak?
Tuliskan satu bentuk dengan {count} di mana angka dimasukkan dan lewatkan angka sebagai count. API menyimpan satu pesan jamak ICU per bahasa dengan bentuk yang tepat yang dibutuhkan bahasa tersebut — dua dalam bahasa Prancis, empat dalam bahasa Rusia, enam dalam bahasa Arab — yang dicek dengan Intl.PluralRules, dan SDK memilih yang benar. Tambahkan angka ordinal untuk peringkat (1st, 2nd). Anda tidak pernah menulis cabang sendiri.
Baca jawaban lengkapnya, dengan kodeBagaimana cara saya menangani gender?
Lewatkan nilai dalam select — select={{ gender: "perempuan" }} — dan model menulis satu varian per nilai, dalam setiap bahasa, dengan mempertimbangkan kebutuhan bahasa. Nilai adalah pengenal dari himpunan tertutup, paling banyak 10 per variabel dan 2 variabel per kalimat; select dan count dapat digabungkan. Nilai terbuka seperti nama tetap sebagai pengganti.
Baca jawaban lengkapnya, dengan kodeBagaimana cara memformat tanggal, angka, dan mata uang?
SDK tidak memformatnya, runtime Anda yang melakukannya. Gunakan Intl.DateTimeFormat dan Intl.NumberFormat dengan bahasa saat ini dari SDK, lalu masukkan hasilnya ke dalam kalimat dengan replace. Satu kalimat, satu terjemahan, format yang benar di setiap bahasa.
Baca jawaban lengkapnya, dengan kodeBisakah saya menyesuaikan prompt terjemahan?
Tidak, dan Anda tidak perlu melakukannya. Prompt membaca konteks Anda untuk setiap kunci: di situlah nada, audiens, dan makna ditentukan, dan itulah yang membuat kata yang sama diterjemahkan secara berbeda di dua tempat. Dan terjemahan apa pun dapat ditimpa secara manual di dasbor; API tidak pernah menimpa apa yang Anda tulis.
Baca jawaban lengkapnya, dengan kodeApakah memiliki server MCP untuk agen kode AI?
Ya. API juga merupakan server MCP dengan autentikasi OAuth 2.1. Agen AI dapat mencantumkan terjemahan, menerjemahkan string, menimpa nilai, mengimpor terjemahan yang ada, dan mengelola anggota proyek — operasi yang sama yang dilakukan manusia di dasbor. Hubungkan dari Claude Code, Cursor, Windsurf, atau klien MCP yang kompatibel.
Bisakah saya menggunakannya untuk string backend dan email?
Ya. SDK Node.js, Ruby on Rails, Python, dan Go berjalan di server. Terjemahkan subjek email, pesan kesalahan, atau notifikasi push dengan cara yang sama seperti menerjemahkan string UI. SDK server menyimpan terjemahan di memori dan menyegarkan di latar belakang, sehingga tidak menambah latensi pada permintaan Anda.
Bisakah seluruh tim saya bekerja pada terjemahan?
Ya. Tambahkan anggota tim ke proyek dari dasbor atau melalui API. Setiap anggota dapat melihat semua terjemahan, menimpa nilai apa pun, dan menambahkan bahasa. Admin membuat proyek dan mengelola anggota. Tidak ada harga per kursi: tambahkan sebanyak orang yang Anda butuhkan.
Bagaimana cara memperbaiki kesalahan ketik?
Teks sumber adalah kunci. Memperbaiki kesalahan ketik pada teks sumber akan memberi Anda kunci baru dengan terjemahan baru; string lama tidak lagi diminta, dan dasbor membersihkannya secara otomatis setelah 30 hari tidak digunakan. Kesalahan ketik dalam terjemahan: edit sel di dasbor, dan perbaikannya bersifat permanen.
Baca jawaban lengkapnya, dengan kode