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 debug
  9. Lingue supportate

Best practice

Metti gli URL nelle variabili

Quando si traducono stringhe che contengono URL o dati simili, è considerata una buona pratica inserire questi URL all'interno di variabili e quindi fare riferimento a queste all'interno dei propri modelli.

<Translate
	string={`Click <a href="{{url}}">here</a>`}
	variables={{url: 'https://tacotranslate.com'}}
/>

Usa le etichette ARIA

Quando si traducono i testi di elementi interattivi come i pulsanti, è importante includere le etichette ARIA per garantire l'accessibilità. Le etichette ARIA aiutano i lettori screen a fornire informazioni descrittive sulla funzione dell'elemento.

Ad esempio, se hai un pulsante che consente agli utenti di copiare il testo da un blocco di codice, puoi usare l'attributo aria-label per fornire una descrizione chiara:

<Translate
	aria-label={useTranslation('Copy to clipboard')}
	string="Copy"
/>

Qualcosa di questo sembra molto meta.

Array di origini globali e multiple origini dei componenti

Questo modello funziona solo quando si utilizza Next.js Pages Router.

Quando si lavora con applicazioni più grandi, è utile suddividere le stringhe e le traduzioni in molteplici origini più piccole. Questo approccio aiuta a ridurre le dimensioni del bundle e i tempi di trasferimento, garantendo una localizzazione efficiente e scalabile.

Questo è semplice da realizzare quando si effettua il rendering solo sul lato client, ma la gestione delle origini diventa rapidamente complessa quando si recuperano traduzioni per il rendering lato server. Tuttavia, è possibile automatizzare la gestione delle origini utilizzando l'array origins del client TacoTranslate.

Considera questo esempio, in cui abbiamo separato i nostri componenti e le pagine in file distinti.

components/pricing-table.tsx
import TacoTranslate, {Translate} from 'tacotranslate/react';
import tacoTranslate from '../tacotranslate-client';

// Set an origin name for this component
const origin = 'components/pricing-table';

// Push the origin into the origins array as this file is imported
tacoTranslate.origins.push(origin);

export default function PricingTable() {
	return (
		<TacoTranslate origin={origin}>
			<Translate string="Pricing table" />
			// ...
		</TacoTranslate>
	);
}
pages/pricing.tsx
import TacoTranslate, {Translate} from 'tacotranslate/react';
import getTacoTranslateStaticProps from 'tacotranslate/next/get-static-props';
import tacoTranslateClient from '../tacotranslate-client';
import PricingTable from '../components/pricing-table';

const origin = 'pages/pricing';
tacoTranslateClient.origins.push(origin);

export default function PricingPage() {
	return (
		<TacoTranslate origin={origin}>
			<Translate string="Pricing page" />
			<PricingTable />
		</TacoTranslate>
	);
}

// We will now fetch translations for all imported components and their origins automatically
export async function getStaticProps(context) {
	return getTacoTranslateStaticProps(context, {client: tacoTranslateClient});
}

Consulta i nostri esempi di rendering lato server per maggiori informazioni su getTacoTranslateStaticProps.

Gestione degli errori e debug

Un prodotto di Nattskiftet