Dokumentacja

Magic Translate vs. Lingui

Lingui to otwarta biblioteka i18n dla JavaScript i React. Podobnie jak Magic Translate, pozwala pisać własne słowa w komponentach zamiast kluczy. Różnica polega na tym, co dzieje się dalej: z Lingui wyodrębniasz wiadomości, przetłumaczasz je i kompilujesz dla każdego języka. Dzięki Magic Translate tłumaczenia są tworzone dla Ciebie.

Na pierwszy rzut oka

Magic TranslateLingui
Jak piszesz tekstTwoje własne słowa, owinięte w <T>Twoje własne słowa, owinięte w <Trans>
TłumaczeniaTłumaczenie AI, tworzone automatycznieWyodrębniasz wiadomości i przetłumaczasz je
Pliki wiadomościŻadenJeden katalog na język, na przykład plik PO
Zbuduj krokiŻadenWyodrębnij i skompiluj katalogi
Nowe językiZmień ustawienie languagePrzetłumacz każdą wiadomość na nowy język
Wielorakie i formatowaniePrzetłumaczone jako część zdaniaWiadomości ICU z regułami liczby 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

W przypadku Lingui tekst pozostaje w komponencie, ale każda wiadomość przechodzi przez katalog:

import { Trans } from '@lingui/react/macro';
const Cart = () => (
<h2>
<Trans>Your shopping cart</Trans>
</h2>
);
// Then run `lingui extract`, translate the catalogs for every language,
// run `lingui compile` and load the right catalog when the app starts.

W przypadku Magic Translate komponent wygląda podobnie, a tłumaczenia są generowane automatycznie:

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

Kiedy wybrać Magic Translate

  • Lubisz pisać własne słowa w swoich komponentach i nie chcesz utrzymywać katalogów.
  • Nie masz tłumaczy lub chcesz wydawać aktualizacje bez czekania na tłumaczenia.
  • Chcesz dodawać języki bez zarządzania projektem tłumaczeń.

Kiedy wybrać Lingui

  • Cały tekst musi zostać przetłumaczony lub sprawdzony przez osobę.
  • Potrzebujesz wiadomości ICU dla złożonych liczb mnogości i płci.
  • Potrzebujesz bezpłatnej biblioteki typu open source bez zewnętrznej usługi.

Przejście z Lingui do Magic Translate

Ponieważ obie biblioteki zachowują tekst w komponencie, migracja polega głównie na zastąpieniu komponentów i funkcji tłumaczenia: <Trans> staje się <T>, a makro t staje się useT hook. Możesz migrować jeden komponent na raz.

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