A TacoTranslate használata
Karakterláncok fordítása
Jelenleg három módja van a szövegek fordításának: a Translate
komponens, a useTranslation
hook vagy a translateEntries
segédeszköz.
Az Translate
komponens használata.
Fordításokat jelenít meg egy span
elemben, és támogatja a HTML megjelenítést.
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}
Az elem típusát megváltoztathatja például az as="p"
használatával a komponensen.
useTranslation
hook használata.
Fordításokat egyszerű szövegként ad vissza. Hasznos például 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.
Fordítsd le a szövegeket a szerveroldalon. Erősítsd meg 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 karakterláncok fordítása
Amikor a szövegek elérik a szervereinket, először érvényesítjük és elmentjük őket, majd azonnal visszaküldünk egy gépi fordítást. Bár a gépi fordítások általában alacsonyabb minőségűek az AI fordításainkhoz képest, gyors kezdeti választ biztosítanak.
Ezzel egyidejűleg elindítunk egy aszinkron fordítási feladatot, hogy létrehozzunk egy kiváló minőségű, csúcstechnológiás mesterséges intelligenciával készült fordítást a szövegedhez. Amint az MI-fordítás elkészül, az felváltja a gépi fordítást, és mindig akkor kerül elküldésre, amikor lefordítást kérsz a szövegeidhez.
Ha manuálisan fordított sztringje van, ezek a fordítások élveznek elsőbbséget, és helyettük azok kerülnek visszaadásra.
Eredetek kihasználása
A TacoTranslate projektek tartalmazzák az általunk eredetnek nevezett elemeket. Gondolj rájuk úgy, mint bemeneti pontokra, mappákra vagy csoportokra a sztringjeid és fordításaid számára.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}
Az Origins lehetővé teszi, hogy a sztringeket jelentőségteljes konténerekbe rendezd. Például lehet egy origin a dokumentációhoz és egy másik a marketing oldaladhoz.
Részletesebb vezérlés érdekében beállíthatja az origins elemeket a komponens szintjén.
Ennek eléréséhez fontolja meg, hogy projektjében több TacoTranslate szolgáltatót használ.
Kérjük, vegye figyelembe, hogy ugyanaz a kifejezés eltérő fordításokat kaphat különböző origins esetén.
Végső soron, hogy hogyan választod szét a sztringeket originökbe, az rajtad és az igényeiden múlik. Azonban vedd figyelembe, hogy ha sok sztring van egy originben, az megnövelheti a betöltési időket.
Változók kezelése
Mindig használjon változókat dinamikus tartalomhoz, például felhasználónevekhez, dátumokhoz, e-mail címekhez és egyéb adatokat.
A változók a sztringekben dupla zárójelek között vannak deklarálva, 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 rendereli a HTML tartalmat. Azonban leiratkozhatsz erről a viselkedésről azzal, hogy a useDangerouslySetInnerHTML
értékét false
-ra állítod.
Az HTML megjelenítés kikapcsolása erősen ajánlott, amikor nem megbízható tartalmakat, például felhasználók által létrehozott tartalmakat fordítunk.
Minden kimenet mindig megtisztításra kerül a sanitize-html segítségével a megjelenítés előtt.
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.