TacoTranslate'i kasutamine
Stringide tõlkimine
Stringide tõlkimiseks on praegu kolm võimalust: Translate
komponent, useTranslation
hook või translateEntries
utiliit.
Translate
komponendi kasutamine.
Väljundab tõlked span
elemendi sees ja toetab HTML-i renderdamist.
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}
Elementi tüüpi saate muuta, kasutades näiteks as="p"
komponendil.
useTranslation
hooki kasutamine.
Tagastab tõlked tavalise tekstina. Kasulik näiteks meta
elementides.
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>
);
}
translateEntries
utiliidi kasutamine.
Pane stringid serveripoolselt tõlkima. Lisa jõudu oma OpenGraph piltidele.
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)
};
}
Kuidas stringid tõlgitakse
Kui stringid jõuavad meie serveritesse, valideerime ja salvestame need esmalt ning seejärel tagastame kohe masintõlke. Kuigi masintõlked on üldiselt meie tehisintellekti tõlgetest madalama kvaliteediga, annavad need kiire esmase vastuse.
Samas algatame asünkroonse tõlketöö, et genereerida teie stringile kõrgekvaliteediline, tipptasemel tehisintellekti tõlge. Kui tehisintellekti tõlge on valmis, asendab see masintõlget ja saadetakse alati, kui te taotlete oma stringide tõlkeid.
Kui olete käsitsi tõlkinud stringi, on need tõlked prioriteetsed ja tagastatakse selle asemel.
Päritolu kasutamine
TacoTranslate projektid sisaldavad seda, mida me nimetame allikateks. Mõelge neile kui sisenemispunktidele, kaustadele või gruppidele teie tekstide ja tõlgete jaoks.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}
Algallikad võimaldavad teil eraldada tekstijupid tähenduslikesse konteineritesse. Näiteks võiksite olla üks algallikas dokumentatsiooni jaoks ja teine oma turunduslehe jaoks.
Täiendava kontrolli saamiseks võite luua päritolud komponendi tasemel.
Selle saavutamiseks kaalu mitme TacoTranslate pakkuja kasutamist oma projektis.
Pange tähele, et sama string võib erinevates origins saada erinevaid tõlkeid.
Lõppkokkuvõttes sõltub sõlmede jagamine originaatideks sinust ja sinu vajadustest. Siiski pea meeles, et paljude sõlmede olemasolu ühe originaadi sees võib suurendada laadimisaegu.
Muutujate käsitlemine
Dünaamilise sisu puhul, näiteks kasutajanimed, kuupäevad, e-posti aadressid ja muud, peaksite alati kasutama muutujaid.
Muudujad stringides deklareeritakse kahekordsete sulgude abil, näiteks {{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-sisu haldamine
Vaikimisi toetab ja kuvab Translate
komponent HTML-sisu. Kuid saate sellest käitumisest loobuda, määrates useDangerouslySetInnerHTML
väärtuseks false
.
HTML-i renderdamise keelamine on tungivalt soovitatav, kui tõlgite usaldusväärset sisu, näiteks kasutajate loodud sisu.
Kõik väljundid puhastatakse enne kuvamist alati sanitize-html abil.
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}
/>
);
}
Ülaltoodud näide kuvatakse tavalise tekstina.