Dokumentasi

Magic Translate vs. i18next

i18next, dengan binding React react-i18next, adalah pustaka i18n open-source paling populer untuk JavaScript. Ini dibangun di sekitar kunci terjemahan dan file bahasa. Magic Translate menerjemahkan teks dalam komponen Anda secara langsung, tanpa kunci atau file. Halaman ini menjelaskan perbedaannya sehingga Anda dapat memilih alat yang tepat untuk aplikasi Anda.

Sekilas

Magic Translatei18next
Bagaimana Anda menulis teksKata-kata Anda sendiri, dibungkus dengan <T>Kunci per teks, seperti t('cart.title')
TerjemahanTerjemahan mesin, dibuat secara otomatisAnda atau penerjemah Anda menulisnya
Berkas bahasaTidak adaSatu file per bahasa dan namespace
Bahasa baruUbah pengaturan languageTerjemahkan setiap kunci ke dalam bahasa baru
Render serverKomponen Server React dan Next.jsYa, dengan pengaturan tambahan
Plural dan pemformatanDiterjemahkan sebagai bagian dari kalimatDibangun, dengan aturan jamak per bahasa
HargaPaket gratis, lalu paket bulanan berdasarkan penggunaanOpen source dan gratis

Bagaimana kode berbeda

Dengan react-i18next, Anda menyimpan file bahasa untuk setiap bahasa dan merujuk ke teks dengan kunci:

// locales/en/translation.json
{ "cart": { "title": "Your shopping cart" } }
// Cart.tsx
import { useTranslation } from 'react-i18next';
const Cart = () => {
const { t } = useTranslation();
return <h2>{t('cart.title')}</h2>;
};

Dengan Magic Translate, teks tetap berada di komponen:

import { T } from '@magic-translate/react';
const Cart = () => (
<h2>
<T>Your shopping cart</T>
</h2>
);

Kapan memilih Magic Translate

  • Anda ingin aplikasi Anda dalam banyak bahasa tanpa mengelola file bahasa.
  • Anda tidak memiliki penerjemah, atau Anda tidak ingin menunggu mereka sebelum Anda merilis versi baru.
  • Teks Anda sering berubah, dan Anda ingin setiap bahasa tetap up to date.
  • Anda menggunakan React Server Components atau Next.js dan ingin sepenuhnya diterjemahkan HTML untuk mesin pencari.

Kapan memilih i18next

  • Setiap teks harus diterjemahkan atau ditinjau oleh seseorang.
  • Anda memerlukan kontrol yang tepat atas bentuk jamak, tanggal dan angka dalam setiap bahasa.
  • Anda menginginkan perpustakaan sumber terbuka gratis tanpa layanan eksternal.

Berpindah dari i18next ke Magic Translate

Anda dapat mengganti satu komponen pada satu waktu. Ganti t('key') dengan teks bahasa Inggris dari file bahasa Anda, dibungkus dengan <T>, atau gunakan useT hook untuk props dan atribut. Kedua pustaka dapat berjalan berdampingan saat Anda bermigrasi.

Siap untuk mencobanya? Ikuti panduan memulai untuk menerjemahkan komponen pertama Anda dalam lima menit.