Utilizarea TacoTranslate
Traducerea șirurilor
În prezent există trei moduri 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!" />;
}Poți schimba tipul elementului folosind, de exemplu, as="p" pe componentă.
Utilizarea hook-ului useTranslation.
Returnează traducerile ca un șir simplu. Este 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>
);
}Utilizarea utilitarului translateEntries.
Traduceți șirurile pe server. Î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 pe 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 scăzută comparativ cu traducerile noastre realizate de AI, ele oferă un răspuns inițial rapid.
În același timp, declanșăm un proces de traducere asincron pentru a genera o traducere AI de înaltă calitate și de ultimă generație pentru textul 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 textele tale.
Dacă ați tradus manual un șir, acele traduceri au prioritate și sunt returnate în schimb.
Utilizarea originilor
Proiectele TacoTranslate conțin ceea ce noi numim origini. Consideră-le puncte de intrare, foldere sau grupuri pentru textele ș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, puteți configura originile 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 separi șirurile în origini depinde de tine și de nevoile tale. Totuși, ține cont că dacă există multe șiruri într‑o singură origine, timpii de încărcare pot crește.
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 sunt declarate 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.
Tot conținutul este întotdeauna sanitizat cu sanitize-html înainte de a fi afișat.
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.