TacoTranslate'i kasutamine
Stringide tõlkimine
Praegu on stringide tõlkimiseks kolm viisi: Translate komponent, useTranslation hook või translateEntries utiliit.
Translate komponendi kasutamine.
Kuvab tõlked span elemendi sees ja toetab HTML-i renderdamist.
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}Saad komponendil elemendi tüüpi muuta, näiteks as="p".
Kasutades useTranslation hooki.
Tagastab tõlked lihttekstina. 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.
Tõlkige stringid serveripoolselt. Võimendage 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 stringid tõlgitakse
Kui stringid jõuavad meie serveritesse, valideerime ja salvestame need esmalt ning tagastame seejärel kohe masintõlke. Kuigi masintõlked on üldiselt madalama kvaliteediga kui meie AI-tõlked, pakuvad need kiiret esmast vastust.
Samal ajal alustame asünkroonset tõlketööd, et teie stringile genereerida kõrgekvaliteediline, tipptasemel tehisintellekti tõlge. Kui tehisintellekti tõlge on valmis, asendab see masintõlke ja seda saadetakse alati, kui te palute oma stringide tõlkeid.
Kui olete stringi käsitsi tõlkinud, siis need tõlked omavad eelist ning tagastatakse selle asemel.
Päritolude kasutamine
TacoTranslate'i projektid sisaldavad seda, mida me nimetame origins. Mõelge neile kui teie stringide ja tõlgete sisenemispunktidele, kaustadele või rühmadele.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}Originid võimaldavad teil eraldada stringe tähenduslikesse konteineritesse. Näiteks võib teil olla üks origin dokumentatsiooni jaoks ja teine turunduslehe jaoks.
Täpsema kontrolli saavutamiseks võite komponendi tasandil seadistada origins.
Selle saavutamiseks kaalu kasutada mitut TacoTranslate pakkujat oma projektis.
Pange tähele, et sama sõne võib erinevates pärinemiskohtades saada erinevaid tõlkeid.
Lõppkokkuvõttes sõltub sellest, kuidas stringid origin'ideks eraldad, sinu otsusest ja vajadustest. Siiski tasub märkida, et ühe origin'i sees olevate paljude stringide olemasolu võib suurendada laadimisaegu.
Muutujate käsitlemine
Dünaamilise sisu, näiteks kasutajanimede, kuupäevade, e-posti aadresside jne puhul peaksite alati kasutama muutujaid.
Muutujad stringides deklareeritakse topeltsulgudega, nagu {{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 renderdab Translate komponent HTML-sisu. Kui soovite sellest käitumisest loobuda, määrake useDangerouslySetInnerHTML väärtuseks false.
HTML-i renderdamise keelamine on tungivalt soovitatav, kui tõlgitakse usaldamatut sisu, näiteks kasutajate loodud sisu.
Kõik väljundid puhastatakse enne renderdamist 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.