Dokümantasyon

Magic Translate vs. next-intl

next-intl, Next.js için en yaygın kullanılan i18n kütüphanesidir. Uygulama Yönlendiricisi ve React Sunucu Bileşenleri ile çalışır ve her mesaj için bir anahtarla mesaj dosyaları etrafında oluşturulmuştur. Magic Translate ayrıca sunucuda tamamen çevrilmiş sayfaları oluşturur, ancak metninizi doğrudan bileşenlerinize yazarsınız ve çeviriler sizin için oluşturulur.

Bir bakışta

Magic Translatenext-intl
Nasıl metin yazarsınızKendi sözleriniz, <T> ile sarılmışHer mesaj için bir anahtar, örneğin t('title')
TercümelerYapay zeka çevirisi, otomatik olarak oluşturulduSiz veya çevirmenleriniz bunları yazıyorsunuz
Mesaj dosyalarıYokDil başına bir JSON dosyası
Yeni dillerYerel ayarı listenize ekleyinHer mesajı yeni dile çevirin
Sunucu oluşturmaReact Sunucu Bileşenleri, tamamen çevrilmiş HTMLReact Sunucu Bileşenleri, tamamen çevrilmiş HTML
Yerel yönlendirme[locale] segmenti kullanınYerleşik yönlendirme ve ara yazılım
FİYATÜcretsiz plan, ardından kullanıma göre aylık planlarAçık kaynak ve ücretsiz

Kod nasıl farklılık gösterir

next-intl ile her dil için bir mesaj dosyası tutar ve her iletiye anahtarıyla başvurursunuz:

// messages/en.json
{ "HomePage": { "title": "Welcome to our website" } }
// app/[locale]/page.tsx
import { getTranslations } from 'next-intl/server';
export default async function HomePage() {
const t = await getTranslations('HomePage');
return <h1>{t('title')}</h1>;
}

Magic Translate ile metin sayfada kalır:

// app/[locale]/page.tsx
import { createLocalizedT } from '@magic-translate/react-ssr';
import { translate } from '@/lib/translate';
export default async function HomePage({
params
}: {
params: Promise<{ locale: string }>;
}) {
const { locale } = await params;
const { T } = createLocalizedT(translate, locale);
return (
<h1>
<T>Welcome to our website</T>
</h1>
);
}

Next.js kılavuzu tam kurulumu gösterir.

Ne zaman seçilir Magic Translate

  • Mesaj dosyalarını korumadan Next.js sitenizi birçok dilde istiyorsunuz.
  • Metniniz sık sık değişir, ve her dilin güncel kalmasını istersiniz.
  • Çevirmenleriniz yok veya çevirileri beklemeden güncellemeleri yayınlamak istiyorsunuz.

Ne zaman seçilir next-intl

  • Tüm metinler bir kişi tarafından çevrilmeli veya gözden geçirilmelidir.
  • ICU mesajlarıyla çoğullar, tarihler ve sayılar üzerinde tam kontrole ihtiyacınız var.
  • Harici hizmet içermeyen ücretsiz, açık kaynaklı bir kütüphane istiyorsunuz.

Her ikisini de kullanarak

Yerel yönlendirme ve biçimlendirme için next-intl 'ı tutabilir ve metin için Magic Translate kullanabilirsiniz. Yerel ayarı next-intl 'dan createLocalizedT 'e aktarın ve anahtarları her seferinde bir sayfa <T> ile değiştirin.

Denemeye hazır mısınız? İlk bileşen inizi beş dakika içinde çevirmek için başlangıç kılavuzunu izleyin.