TacoTranslate
/
DocumentazionePrezzi
 
  1. Introduzione
  2. Iniziare
  3. Configurazione e impostazioni
  4. Utilizzo di TacoTranslate
  5. Rendering lato server
  6. Utilizzo avanzato
  7. Best practice
  8. Gestione degli errori e debugging
  9. Lingue supportate

Utilizzo di TacoTranslate

Traduzione delle stringhe

Attualmente ci sono tre modi per tradurre le stringhe: il componente Translate, il hook useTranslation o l’utilità translateEntries.


Utilizzo del componente Translate.
Genera le traduzioni all’interno di un elemento span, e supporta il rendering di HTML.

import {Translate} from 'tacotranslate/react';

function Page() {
	return <Translate string="Hello, world!" />;
}

Puoi cambiare il tipo di elemento usando, per esempio, as="p" sul componente.


Utilizzo del hook useTranslation.
Restituisce le traduzioni come stringa semplice. Utile, per esempio, nei tag 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>
	);
}

Utilizzo dell’utility translateEntries.
Traduci le stringhe sul lato server. Potenzia le tue immagini 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)
	};
}

Come vengono tradotte le stringhe

Quando le stringhe raggiungono i nostri server, le validiamo e salviamo prima, quindi restituiamo immediatamente una traduzione automatica. Sebbene le traduzioni automatiche siano generalmente di qualità inferiore rispetto alle nostre traduzioni AI, forniscono una risposta iniziale rapida.

Contemporaneamente, avviamo un lavoro di traduzione asincrono per generare una traduzione AI di alta qualità e all'avanguardia per la tua stringa. Una volta che la traduzione AI è pronta, sostituirà la traduzione automatica e verrà inviata ogni volta che richiedi le traduzioni per le tue stringhe.

Se hai tradotto manualmente una stringa, quelle traduzioni hanno la precedenza e vengono restituite al loro posto.

Utilizzo degli origin

I progetti TacoTranslate contengono ciò che chiamiamo origins. Pensali come punti di ingresso, cartelle o gruppi per le tue stringhe e traduzioni.

import {TacoTranslate} from 'tacotranslate/react';

function Menu() {
	return (
		<TacoTranslate origin="application-menu">
			// ...
		</TacoTranslate>
	);
}

Gli origins ti permettono di separare le stringhe in contenitori significativi. Ad esempio, potresti avere un origin per la documentazione e un altro per la tua pagina di marketing.

Per un controllo più dettagliato, potresti configurare le origini a livello di componente.

Per raggiungere questo obiettivo, considera di utilizzare più provider TacoTranslate all'interno del tuo progetto.

Si prega di notare che la stessa stringa può ricevere traduzioni diverse in origini differenti.

In definitiva, come separare le stringhe in origini dipende da te e dalle tue esigenze. Tuttavia, nota che avere molte stringhe all’interno di un’unica origine può aumentare i tempi di caricamento.

Gestione delle variabili

Dovresti sempre utilizzare variabili per contenuti dinamici, come nomi utente, date, indirizzi e-mail e altro.

Le variabili nelle stringhe sono dichiarate utilizzando doppie parentesi graffe, come {{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}});
}

Gestione dei contenuti HTML

Per impostazione predefinita, il componente Translate supporta e rende contenuti HTML. Tuttavia, puoi scegliere di disattivare questo comportamento impostando useDangerouslySetInnerHTML su false.

Disabilitare il rendering HTML è fortemente consigliato quando si traducono contenuti non affidabili, come i contenuti generati dagli utenti.

Tutti i risultati vengono sempre sanitizzati con sanitize-html prima di essere visualizzati.

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}
		/>
	);
}

L'esempio sopra verrà visualizzato come testo semplice.

Rendering lato server

Un prodotto di NattskiftetProdotto in Norvegia