TacoTranslate naudojimas
Eilučių vertimas
Šiuo metu yra trys būdai išversti eilutes: komponentas Translate, hook'as useTranslation, arba įrankis translateEntries.
Naudojant Translate komponentą.
Išveda vertimus į span elementą ir palaiko HTML atvaizdavimą.
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}Elemento tipą galite pakeisti, pavyzdžiui, komponente naudodami as="p".
Naudojant useTranslation hook'ą.
Grąžina vertimus kaip paprastą tekstinę eilutę. Naudinga, pavyzdžiui, meta žymoms.
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>
);
}Naudojant translateEntries įrankį.
Versti eilutes serverio pusėje. Patobulinkite savo OpenGraph vaizdus.
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)
};
}Kaip verčiamos eilutės
Kai tekstai pasiekia mūsų serverius, mes juos pirmiausia patikriname ir išsaugome, o tada iškart pateikiame mašininį vertimą. Nors mašininiai vertimai paprastai būna prastesnės kokybės nei mūsų dirbtinio intelekto vertimai, jie suteikia greitą pradinį atsakymą.
Tuo pačiu metu pradedame asinchroninę vertimo užduotį, kad sugeneruotume aukštos kokybės, pažangų AI vertimą jūsų eilutei. Kai AI vertimas bus paruoštas, jis pakeis mašininį vertimą ir bus siunčiamas kiekvieną kartą, kai prašysite savo eilučių vertimų.
Jei rankiniu būdu išvertėte eilutę, tie vertimai turi prioritetą ir bus grąžinami.
Originų naudojimas
TacoTranslate projektai turi tai, ką mes vadiname originais. Galvokite apie juos kaip apie įėjimo taškus, aplankus arba grupes jūsų eilutėms ir vertimams.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}Originai leidžia suskirstyti eilutes į prasmingas grupes. Pavyzdžiui, galite turėti vieną originą dokumentacijai ir kitą — savo rinkodaros puslapiui.
Norėdami detalesnės kontrolės, galite sukurti originus komponento lygyje.
Norėdami to pasiekti, apsvarstykite naudoti kelis TacoTranslate tiekėjus savo projekte.
Atkreipkite dėmesį, kad ta pati eilutė gali turėti skirtingus vertimus skirtinguose originuose.
Galų gale, kaip paskirstysite eilutes į originus, priklauso nuo jūsų ir jūsų poreikių. Tačiau atkreipkite dėmesį, kad daug eilutžių viename origine gali padidinti įkėlimo laiką.
Kintamųjų tvarkymas
Visada turėtumėte naudoti kintamuosius dinamiškam turiniui, pavyzdžiui, vartotojų vardams, datoms, el. pašto adresams ir kt.
Eilutėse kintamieji deklaruojami naudojant dvigubas skliausteles, pavyzdžiui {{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 turinio valdymas
Pagal numatytuosius nustatymus Translate komponentas palaiko ir atvaizduoja HTML turinį. Tačiau galite atsisakyti šio elgesio nustatydami useDangerouslySetInnerHTML į false.
Labai rekomenduojama išjungti HTML atvaizdavimą verčiant nepatikimą turinį, pavyzdžiui vartotojų sukurtą turinį.
Visa išvestis visada yra sanitizuojama naudojant sanitize-html prieš atvaizdavimą.
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}
/>
);
}Aukščiau pateiktas pavyzdys bus atvaizduotas kaip paprastas tekstas.