Magic Translate vs. vue-i18n
vue-i18n adalah pustaka i18n standar untuk Vue, dan @nuxtjs/i18n dibangun di atasnya untuk Nuxt. Seperti kebanyakan perpustakaan i18n, ia menggunakan kunci untuk setiap pesan dan satu set pesan per bahasa. Magic Translate menerjemahkan teks dalam template Vue Anda secara langsung, tanpa kunci atau file pesan.
Sekilas
| Magic Translate | vue-i18n | |
|---|---|---|
| Bagaimana Anda menulis teks | Kata-kata Anda sendiri, dibungkus dengan <T> | Kunci untuk setiap pesan, seperti $t('cart.title') |
| Terjemahan | Terjemahan AI, dibuat secara otomatis | Anda atau penerjemah Anda menulisnya |
| File pesan | Tidak ada | Satu set pesan per bahasa |
| Bahasa baru | Ubah pengaturan language | Terjemahkan setiap pesan ke dalam bahasa baru |
| Beralih bahasa | Saat runtime, dengan useLanguageSwitcher | Saat runtime, dengan mengubah lokal |
| Plural dan pemformatan | Diterjemahkan sebagai bagian dari kalimat | Dibangun, dengan aturan jamak dan format tanggal dan angka |
| Harga | Paket gratis, lalu paket bulanan berdasarkan penggunaan | Open source dan gratis |
Bagaimana kode berbeda
Dengan vue-i18n, Anda menentukan pesan untuk setiap bahasa dan merujuknya dengan kunci:
// i18n.tsimport { createI18n } from 'vue-i18n';export const i18n = createI18n({locale: 'de',messages: {en: { cart: { title: 'Your shopping cart' } },de: { cart: { title: 'Ihr Warenkorb' } }}});
<h2>{{ $t('cart.title') }}</h2>
Dengan Magic Translate, teks tetap berada di template:
<h2><T>Your shopping cart</T></h2>
Untuk atribut seperti placeholder, gunakan useTranslate:
<input :placeholder="t('Search products')" />
Kapan memilih Magic Translate
- Anda ingin aplikasi Vue Anda dalam banyak bahasa tanpa mengelola pesan untuk masing-masing.
- Anda tidak memiliki penerjemah, atau Anda ingin merilis pembaruan tanpa menunggu terjemahan.
- Teks Anda sering berubah, dan Anda ingin setiap bahasa tetap up to date.
Kapan memilih vue-i18n
- Semua teks harus diterjemahkan atau ditinjau oleh seseorang.
- Anda memerlukan mesin pencari untuk melihat HTML terjemahan dari rendering server Nuxt. Magic Translate untuk Vue diterjemahkan di browser.
- Anda menginginkan perpustakaan sumber terbuka gratis tanpa layanan eksternal.
Berpindah dari vue-i18n ke Magic Translate
Anda dapat mengganti satu komponen pada satu waktu. Ganti $t('key') dengan teks bahasa Inggris dari pesan Anda, dibungkus dengan <T>, atau gunakan t() dari useTranslate untuk atribut. Kedua pustaka dapat berjalan berdampingan saat Anda bermigrasi. Panduan Vue menunjukkan pengaturan.
Siap untuk mencobanya? Ikuti panduan memulai untuk menerjemahkan komponen pertama Anda dalam lima menit.