Utilizarea TacoTranslate
Traducerea șirurilor de caractere
În prezent, există trei modalități de a traduce șiruri: componenta Translate
, hook-ul useTranslation
sau utilitarul translateEntries
.
Folosirea componentei Translate
Returnează traduceri în cadrul unui 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ă.
Folosirea useTranslation
hook-ului.
Returnează traduceri ca un șir simplu de caractere. Util în, de exemplu, 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 șiruri de caractere pe partea serverului. Îmbunătățește performanța imaginilor tale 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 de caractere
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 calitate mai scăzută comparativ cu traducerile noastre AI, acestea oferă un răspuns inițial rapid.
Simultan, inițiem un proces asincron de traducere pentru a genera o traducere AI de înaltă calitate, de ultimă generație, pentru șirul dvs. Odată ce traducerea AI este gata, aceasta va înlocui traducerea automată și va fi trimisă ori de câte ori solicitați traduceri pentru șirurile dvs.
Dacă ați tradus manual un șir, acele traduceri au prioritate și sunt returnate în schimb.
Utilizarea originii
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>
);
}
Origins vă permit să separați șirurile de caractere în containere semnificative. De exemplu, ați putea avea un origin pentru documentație și altul pentru pagina dvs. de marketing.
Pentru un control mai detaliat, ați putea configura originile la nivelul componentelor.
Pentru a realiza acest lucru, luați în considerare utilizarea mai multor furnizori TacoTranslate în cadrul proiectului dumneavoastră.
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 originuri depinde de dumneavoastră și de nevoile dumneavoastră. Totuși, rețineți că dacă aveți multe șiruri într-un singur origin, acest lucru 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 de caractere 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
Implicit, componenta Translate
suportă și redă conținut HTML. Totuși, poți renunța la acest comportament setând useDangerouslySetInnerHTML
pe 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 redat ca text simplu.