Utilizarea TacoTranslate
Traducerea șirurilor
Există în prezent trei modalități de a traduce șiruri: componenta Translate, hook‑ul useTranslation, sau utilitarul translateEntries.
Utilizarea componentului Translate.
Returnează traduceri într-un element span și permite redarea HTML.
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}Puteți schimba tipul elementului folosind, de exemplu, as="p" în componentă.
Utilizarea hook-ului useTranslation.
Returnează traducerile ca un șir simplu. Util, de exemplu, în etichetele meta.
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>
);
}Folosirea utilitarului translateEntries.
Traduceți șiruri pe partea serverului. Îmbunătățiți imaginile OpenGraph.
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)
};
}Cum sunt traduse șirurile
Când șirurile ajung la serverele noastre, mai întâi le validăm și le salvăm, apoi returnăm imediat o traducere automată. Deși traducerile automate sunt, în general, de o calitate mai redusă comparativ cu traducerile noastre realizate de AI, ele oferă un răspuns inițial rapid.
În același timp, inițiem o sarcină asincronă de traducere pentru a genera o traducere AI de înaltă calitate, de ultimă generație pentru șirul tău. Odată ce traducerea AI este gata, aceasta va înlocui traducerea automată și va fi trimisă ori de câte ori soliciți traduceri pentru șirurile tale.
Dacă ați tradus manual un șir, acele traduceri au prioritate și sunt returnate.
Utilizarea originilor
Proiectele TacoTranslate conțin ceea ce numim origini. Gândește-te la ele ca la puncte de intrare, foldere sau grupuri pentru șirurile și traducerile tale.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}Originile vă permit să separați șirurile de text în containere semnificative. De exemplu, ați putea avea o origine pentru documentație și alta pentru pagina dvs. de marketing.
Pentru un control mai granular, puteți configura origini la nivelul componentei.
Pentru a realiza acest lucru, luați în considerare utilizarea mai multor TacoTranslate furnizori în cadrul proiectului dvs.
Vă rugăm să rețineți că același șir poate primi traduceri diferite în origini diferite.
În cele din urmă, modul în care separați șirurile în origini depinde de dumneavoastră și de nevoile dumneavoastră. Cu toate acestea, rețineți că, dacă aveți multe șiruri într-o singură origine, timpii de încărcare pot crește.
Gestionarea variabilelor
Ar trebui întotdeauna să folosiți variabile pentru conținut dinamic, cum ar fi nume de utilizator, date, adrese de e‑mail și altele.
Variabilele din șiruri se declară folosind paranteze duble, precum {{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}});
}Gestionarea conținutului HTML
În mod implicit, componenta Translate acceptă și redă conținut HTML. Totuși, poți renunța la acest comportament setând useDangerouslySetInnerHTML la false.
Dezactivarea redării HTML este puternic recomandată atunci când traduceți conținut nesigur, cum ar fi conținutul generat de utilizatori.
Toate ieșirile sunt întotdeauna curățate cu sanitize-html înainte de a fi afișate.
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}
/>
);
}Exemplul de mai sus va fi afișat ca text simplu.