Dokumentacja

Magic Translate vs. i18next

i18next, z powiązaniami React react-i18next, jest najpopularniejszą biblioteką open source i18n dla JavaScript. Jest zbudowany wokół kluczy tłumaczeniowych i plików językowych. Magic Translate tłumaczy tekst w komponentach bezpośrednio, bez kluczy i plików. Ta strona wyjaśnia różnicę, dzięki czemu możesz wybrać odpowiednie narzędzie dla swojej aplikacji.

Na pierwszy rzut oka

Magic Translatei18next
Jak piszesz tekstTwoje własne słowa, owinięte w <T>Klucz na tekst, taki jak t('cart.title')
TłumaczeniaTłumaczenie maszynowe, tworzone automatycznieTy lub Twoi tłumacze piszesz je
Pliki językoweŻadenJeden plik na język i przestrzeń nazw
Nowe językiZmień ustawienie languagePrzetłumacz każdy klucz na nowy język
Renderowanie serweraKomponenty serwera React i Next.jsTak, z dodatkową konfiguracją
Wielorakie i formatowaniePrzetłumaczone jako część zdaniaWbudowany, z regułami mnogiej na język
CenaBezpłatny plan, następnie plany miesięczne oparte na użyciuOtwarte źródło i za darmo

Czym różni się kod

Z react-i18next przechowujesz plik językowy dla każdego języka i odwołujesz się do tekstów według klucza:

// 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>;
};

W przypadku Magic Translate tekst pozostaje w komponencie:

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

Kiedy wybrać Magic Translate

  • Chcesz, aby Twoja aplikacja była w wielu językach bez zarządzania plikami językowymi.
  • Nie masz tłumaczy lub nie chcesz czekać na nich przed wydaniem nowej wersji.
  • Twoje teksty często się zmieniają, i chcesz, aby każdy język był na bieżąco.
  • Używasz komponentów React Server lub Next.js i chcesz w pełni przetłumaczyć HTML dla wyszukiwarek.

Kiedy wybrać i18next

  • Każdy tekst musi być przetłumaczony lub sprawdzony przez osobę.
  • Potrzebujesz dokładnej kontroli nad wieloma formami, datami i liczbami w każdym języku.
  • Potrzebujesz bezpłatnej biblioteki typu open source bez zewnętrznej usługi.

Przejście z i18next do Magic Translate

Możesz przełączać jeden komponent na raz. Zastąp t('key') tekstem w języku angielskim z pliku języka, zapakowanym w <T> lub użyj useT hook dla props i atrybutów. Obie biblioteki mogą działać obok siebie podczas migracji.

Gotowy do wypróbowania? Postępuj zgodnie z instrukcjami dotyczącymi rozpoczę cia pracy, aby przetłumaczyć pierwszy komponent w pięć minut.