TacoTranslate’i kasutamine
Stringide tõlkimine
Praegu on stringide tõlkimiseks kolm võimalust: Translate
komponent, useTranslation
konks või translateEntries
utiliit.
Translate
komponendi kasutamine.
Tagastab tõlked span
elemendi sees ning toetab HTML-i renderdamist.
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}
Saate elemendi tüüpi muuta, kasutades näiteks as="p"
komponendil.
useTranslation
konksu kasutamine.
Tagastab tõlked tavalise tekstina. Kasulik näiteks meta
siltides.
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.
Transleeri stringid serveripoolselt. Võimenda oma OpenGraph pilte.
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 stringe 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 kvaliteedilt madalamad, pakuvad need kiiret esmast vastust.
Samas algatame asünkroonse tõlketöö, et luua teie stringile kõrgekvaliteediline, tipptasemel tehisintellekti tõlge. Kui tehisintellekti tõlge on valmis, asendab see masintõlget ning saadetakse alati, kui te taotlete oma stringide tõlkeid.
Kui olete stringi käsitsi tõlkinud, omavad need tõlked prioriteeti ning tagastatakse selle asemel.
Päritolude kasutamine
TacoTranslate projektid sisaldavad seda, mida me kutsume allikateks. Mõelge neile kui sisenemispunktidele, kaustadele või gruppidele teie stringide ja tõlgete jaoks.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}
Originaalid võimaldavad teil eraldada stringid tähendusrikastesse konteineritesse. Näiteks võiksite omada ühte originaali dokumentatsiooni jaoks ja teist oma turunduslehe jaoks.
Täpsema kontrolli saavutamiseks võite originaale seadistada komponendi tasandil.
Selle saavutamiseks kaalu mitme TacoTranslate pakkuja kasutamist oma projektis.
Pange tähele, et sama tekst võib erinevates päritolukohtades saada erinevaid tõlkeid.
Lõppkokkuvõttes sõltub sõnade jagamine algallikatesse sinust ja sinu vajadustest. Siiski pea meeles, et liiga paljude sõnade olemasolu ühes algallikas võib suurendada laadimisaega.
Muutujate käsitlemine
Dünaamilise sisu puhul, nagu kasutajanimed, kuupäevad, e-posti aadressid ja muu, tuleks alati kasutada muutujaid.
Muutujad stringides deklareeritakse topelthaarkudel, 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 mittekindla sisu, näiteks kasutajate loodud sisu, tõlkimisel.
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.