TacoTranslate használata
Karakterláncok fordítása
Jelenleg három módja van a karakterláncok lefordításának: a Translate komponens, a useTranslation hook, vagy a translateEntries segédprogram.
A Translate komponens használata.
A fordításokat egy span elemben jeleníti meg, és támogatja a HTML megjelenítését.
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}A komponensen például a as="p" beállítással megváltoztathatod az elem típusát.
A useTranslation hook használata.
Visszaadja a fordításokat egyszerű szövegként. Hasznos például a meta tagekben.
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.
Szövegek lefordítása a szerveroldalon. Turbózd fel a OpenGraph képeidet.
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 történik a szövegek fordítása
Amikor a szövegek elérnek a szervereinkre, 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, mint az AI-fordításaink, gyors kezdeti választ nyújtanak.
Ugyanakkor elindítunk egy aszinkron fordítási feladatot, hogy magas színvonalú, csúcstechnológiás AI-fordítást készítsünk a szöveghez. Amint az AI-fordítás elkészül, az felváltja a gépi fordítást, és elküldjük, amikor csak fordításokat kérsz a szövegeidhez.
Ha manuálisan lefordítottál egy stringet, a manuális fordítások élveznek elsőbbséget, és azokat adjuk vissza.
Originok használata
A TacoTranslate-projektek tartalmazzák azokat, amelyeket origins-nek nevezünk. Gondolj rájuk úgy, mint a szövegeid és azok fordításai számára szolgáló bejárati pontokra, mappákra vagy csoportokra.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}Az eredetek lehetővé teszik, hogy a karakterláncokat értelmes tárolókba rendezd. Például lehet egy eredet 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 több TacoTranslate szolgáltatót használjon a projektjében.
Kérjük, vegye figyelembe, hogy ugyanaz a szöveg különböző originokban eltérő fordítást kaphat.
Végső soron az, hogyan osztod fel a stringeket originokba, rajtad és az igényeiden múlik. Ugyanakkor vedd figyelembe, hogy ha egy originben sok string van, az megnövelheti a betöltési időt.
Változók kezelése
Mindig használjon változókat dinamikus tartalomhoz, például felhasználóneveket, dátumokat, e-mail-címeket és egyebeket.
A karakterláncokban szereplő változókat dupla kapcsos zárójelek között kell megadni, 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. Ha azonban ki szeretnéd kapcsolni ezt a viselkedést, állítsd a useDangerouslySetInnerHTML értékét false-ra.
Erősen ajánlott letiltani a HTML megjelenítését, amikor nem megbízható tartalmat, például felhasználók által létrehozott tartalmat fordítasz.
Minden kimenetet mindig a sanitize-html segítségével tisztítunk meg, mielőtt megjelenítésre kerül.
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 sima szövegként lesz megjelenítve.