A TacoTranslate használata
Szövegek fordítása
Jelenleg háromféleképpen fordíthatók a karakterláncok: a Translate komponens, a useTranslation hook vagy a translateEntries segédprogram.
A Translate komponens használata.
Megjeleníti a fordításokat egy span elemen belül, és támogatja a HTML megjelenítését.
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}Az elem típusát például a komponensen az as="p" használatával megváltoztathatod.
A useTranslation hook használata.
Visszaadja a fordításokat egyszerű szövegként. Hasznos például a meta címkékben.
import {useEffect} from 'react';
import {useTranslation} from 'tacotranslate/react';
function Page() {
const helloWorld = useTranslation('Hello, world!');
useEffect(() => {
alert(helloWorld);
}, [helloWorld]);
return (
<title>{useTranslation('My page title')}</title>
);
}A translateEntries segédprogram használata.
Fordítsa le a karakterláncokat a szerveroldalon. Turbózza fel az OpenGraph képeit.
import {createEntry, translateEntries} from 'tacotranslate';
async function generateMetadata(locale = 'es') {
const title = createEntry({string: 'Hello, world!'});
const description = createEntry({string: 'TacoTranslate on the server'});
const translations = await translateEntries(
tacoTranslate,
{origin: 'opengraph', locale},
[title, description]
);
return {
title: translations(title),
description: translations(description)
};
}Hogyan fordítódnak le a karakterláncok
Amikor a fordítandó szövegek a szervereinkre érkeznek, először érvényesítjük és elmentjük őket, majd azonnal visszaadunk egy gépi fordítást. Bár a gépi fordítások általában alacsonyabb minőségűek a mesterséges intelligencia által készített fordításainknál, gyors kezdeti választ nyújtanak.
Ugyanakkor elindítunk egy aszinkron fordítási feladatot, amely egy magas színvonalú, csúcstechnológiás, mesterséges intelligencia-alapú fordítást készít a szövegedhez. Amint az MI-fordítás elkészül, felülírja a gépi fordítást, és elküldjük, amikor csak fordítást kérsz a szövegeidhez.
Ha manuálisan lefordítottál egy szöveget, azok a fordítások élveznek elsőbbséget, és azokat adjuk vissza.
Eredetek használata
A TacoTranslate-projektek tartalmaznak valamit, amit origins-nek hívunk. Tekintsd őket belépési pontoknak, mappáknak vagy a szövegeid és fordításaik csoportjaként.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}Az originok lehetővé teszik a szövegek értelmes tárolókba rendezését. Például lehet egy origin a dokumentációhoz és egy másik a marketingoldaladhoz.
Részletesebb vezérlés érdekében a komponens szintjén hozhatsz létre originokat.
Ennek eléréséhez fontolja meg, hogy a projektjében több TacoTranslate szolgáltatót használjon.
Kérjük, vegye figyelembe, hogy ugyanaz a szöveg különböző originokban eltérő fordítást kaphat.
Végső soron, hogy miként osztod szét a stringeket originokba, rajtad és az igényeiden múlik. Figyelembe kell azonban venni, hogy ha sok string van egy originben, az megnövelheti a betöltési időt.
Változók kezelése
Dinamikus tartalomhoz mindig használjon változókat, például felhasználóneveket, dátumokat, e-mail-címeket és egyebeket.
A változókat a karakterláncokban dupla kapcsos zárójelek között deklaráljuk, például {{variable}}.
import {Translate} from 'tacotranslate/react';
function Greeting() {
const name = 'Juan';
return <Translate string="Hello, {{name}}!" variables={{name}} />;
}import {useTranslation} from 'tacotranslate/react';
function useGreeting() {
const name = 'Juan';
return useTranslation('Hello, {{name}}!', {variables: {name}});
}HTML-tartalom kezelése
Alapértelmezés szerint a Translate komponens támogatja és megjeleníti a HTML-tartalmat. Azonban lemondhatsz erről a viselkedésről, ha a useDangerouslySetInnerHTML értékét false-ra állítod.
Ha nem megbízható tartalmakat, például felhasználók által létrehozott tartalmat fordítasz, erősen ajánlott letiltani az HTML-megjelenítést.
Minden kimenet megjelenítés előtt mindig a sanitize-html segítségével kerül megtisztításra.
import {Translate} from 'tacotranslate/react';
function Page() {
return (
<Translate
string={`
Welcome to <strong>my</strong> website.
I’m using <a href="{{url}}">TacoTranslate</a> to translate text.
`}
variables={{url: 'https://tacotranslate.com'}}
useDangerouslySetInnerHTML={false}
/>
);
}A fenti példa egyszerű szövegként lesz megjelenítve.