TacoTranslate
/
DocumentationTarification
 
  1. Introduction
  2. Premiers pas
  3. Configuration et installation
  4. Utilisation de TacoTranslate
  5. Rendu côté serveur
  6. Utilisation avancée
  7. Meilleures pratiques
  8. Gestion des erreurs et débogage
  9. Langues prises en charge

Meilleures pratiques

Mettre les URL dans des variables

Lors de la traduction de chaînes contenant des URL ou des données similaires, il est considéré comme une bonne pratique de placer ces URL dans des variables, puis de les référencer dans vos modèles.

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

Utiliser les labels ARIA

Lors de la traduction du texte des éléments interactifs comme les boutons, il est important d'inclure des labels ARIA pour assurer l'accessibilité. Les labels ARIA aident les lecteurs d'écran à fournir des informations descriptives sur la fonction de l'élément.

Par exemple, si vous avez un bouton qui permet aux utilisateurs de copier du texte à partir d'un bloc de code, vous pouvez utiliser l'attribut aria-label pour fournir une description claire :

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

Il y a quelque chose de très méta là-dedans.

Tableau global des origines et origines multiples des composants

Ce modèle ne fonctionne que lorsqu'on utilise le Next.js Pages Router.

Lorsqu'on travaille avec des applications plus volumineuses, il est avantageux de diviser les chaînes et les traductions en plusieurs origines plus petites. Cette approche aide à réduire la taille des bundles et les temps de transfert, assurant une localisation efficace et évolutive.

Bien que cela soit simple lors du rendu uniquement côté client, la gestion des origines devient rapidement complexe lors de la récupération des traductions pour le rendu côté serveur. Cependant, vous pouvez automatiser la gestion des origines en utilisant le tableau origins du client TacoTranslate.

Considérez cet exemple, où nous avons séparé nos composants et pages en fichiers distincts.

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

Voir nos exemples de rendu côté serveur pour plus d’informations sur getTacoTranslateStaticProps.

Gestion des erreurs et débogage

Un produit de Nattskiftet