Utilizarea TacoTranslate
Traducerea șirurilor
În prezent există trei modalități de a traduce șiruri: componenta Translate, hook-ul useTranslation, sau utilitarul translateEntries.
Utilizarea componentului Translate.
Afișează traducerile într-un element span și suportă 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ă.
Folosirea useTranslation hook-ului.
Returnează traducerile sub formă de ș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 texte pe server. Îmbunătățiți semnificativ imaginile OpenGraph ale dvs.
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 pe serverele noastre, le validăm și le salvăm mai întâi, apoi returnăm imediat o traducere automată. Deși traducerile automate sunt, în general, de calitate mai scăzută comparativ cu traducerile noastre realizate de AI, ele oferă un răspuns inițial rapid.
În același timp, inițiem un job de traducere asincron pentru a genera o traducere AI de înaltă calitate, de ultimă generație, pentru șirul tău. Odată ce traducerea AI este gata, va înlocui traducerea automată și va fi trimisă ori de câte ori soliciți traduceri pentru șirurile tale.
Dacă ai tradus manual un șir, acele traduceri au prioritate și sunt returnate în schimb.
Utilizarea originilor
Proiectele TacoTranslate conțin ceea ce numim origini. Gândește-te la ele ca la puncte de intrare, dosare sau grupuri pentru șirurile și traducerile tale.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}Origini îți permit să separi șirurile în containere semnificative. De exemplu, ai putea avea o origine pentru documentație și alta pentru pagina ta de marketing.
Pentru un control mai granular, ai putea configura origini la nivelul componentei.
Pentru a realiza acest lucru, luați în considerare utilizarea mai multor TacoTranslate furnizori în proiectul dvs.
Vă rugăm să rețineți că același șir de caractere poate primi traduceri diferite în origini diferite.
În cele din urmă, modul în care separați stringurile în origini depinde de dumneavoastră și de nevoile dvs. Cu toate acestea, rețineți că un număr mare de stringuri într-o singură origine poate crește timpii de încărcare.
Gestionarea variabilelor
Ar trebui să folosiți întotdeauna variabile pentru conținut dinamic, cum ar fi numele utilizatorilor, datele, adresele 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, puteți renunța la acest comportament setând useDangerouslySetInnerHTML la false.
Este foarte recomandat să dezactivați redarea HTML 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 redat ca text simplu.