A TacoTranslate használata
Karakterláncok fordítása
Jelenleg három módja van a karakterláncok fordí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!" />;
}
Megváltoztathatja az elem típusát, például a komponensen az as="p"
használatával.
A useTranslation
hook használata.
A fordításokat egyszerű szövegként adja vissza. Hasznos például 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.
Karakterláncok fordí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 fordítódnak a szövegek
Amikor a szövegek megérkeznek a szervereinkre, először ellenőrizzü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ásainkhoz képest, gyors kezdeti választ nyújtanak.
Egyidejűleg elindítunk egy aszinkron fordítási munkát, amely a fordítandó szöveghez magas minőségű, csúcstechnológiás AI-fordítást készít. Amint az AI-fordítás elkészül, felülírja a gépi fordítást és elküldésre kerül, amikor csak a szövegeid fordítását kéred.
Ha egy szöveget manuálisan fordítottál le, azok a fordítások elsőbbséget élveznek, és azokat adjuk vissza.
Eredetek használata
A TacoTranslate-projektek tartalmazzák azt, amit mi origins-nak nevezünk. Gondolj rájuk úgy, mint a szövegeid és fordításaik belépési pontjaira, mappáira vagy csoportjaira.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}
Az Origins segítségével a szövegeket értelmes tárolókba különítheted el. Például lehet egy origin a dokumentációhoz és egy másik a marketingoldaladhoz.
Részletesebb vezérlés érdekében az originokat komponens szinten állíthatod be.
Ennek eléréséhez fontold meg, több TacoTranslate szolgáltató használatát a projektedben.
Kérjük, vegye figyelembe, hogy ugyanaz a szöveg különböző forrásokban eltérő fordítást kaphat.
Végső soron rajtad és az igényeiden múlik, hogyan osztod szét a karaktersorozatokat originokba. Azonban vedd figyelembe, hogy ha egy originben túl sok karaktersorozat van, az megnövelheti a betöltési időt.
Változók kezelése
Dinamikus tartalomhoz mindig használj változókat, például felhasználónevekhez, dátumokhoz, e-mail címekhez és egyebekhez.
A változókat a karakterláncokban dupla kapcsos zárójelek segítségével jelöljük, 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 ki szeretné kapcsolni ezt a viselkedést, állítsa a useDangerouslySetInnerHTML
értékét false
értékre.
HTML-megjelenítés letiltása erősen ajánlott, amikor nem megbízható tartalmat, például felhasználók által létrehozott tartalmat fordítunk.
Minden kimenet megjelenítés előtt mindig megtisztításra kerül a következővel: sanitize-html.
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.