TacoTranslate
/
DokumentationPreise
 
  1. Einführung
  2. Erste Schritte
  3. Einrichtung und Konfiguration
  4. TacoTranslate verwenden
  5. Serverseitiges Rendering
  6. Erweiterte Nutzung
  7. Bewährte Verfahren
  8. Fehlerbehandlung und Debugging
  9. Unterstützte Sprachen

Bewährte Verfahren

URLs in Variablen speichern

Beim Übersetzen von Strings, die URLs oder ähnliche Daten enthalten, gilt es als gute Praxis, diese URLs in Variablen zu legen und sie anschließend in Ihren Vorlagen zu referenzieren.

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

ARIA-Labels verwenden

Beim Übersetzen des Textes interaktiver Elemente wie Schaltflächen ist es wichtig, ARIA-Labels einzufügen, um die Barrierefreiheit zu gewährleisten. ARIA-Labels helfen Screenreadern, beschreibende Informationen über die Funktion des Elements bereitzustellen.

Wenn Sie beispielsweise eine Schaltfläche haben, mit der Benutzer Text aus einem Codeblock kopieren können, können Sie das aria-label Attribut verwenden, um eine klare Beschreibung bereitzustellen:

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

Irgendetwas daran fühlt sich sehr meta an.

Globales Origins-Array und mehrere Origins pro Komponente

Dieses Muster funktioniert nur, wenn der Next.js Pages Router verwendet wird.

Bei der Arbeit mit größeren Anwendungen ist es vorteilhaft, Strings und Übersetzungen in mehrere, kleinere Origins aufzuteilen. Diese Vorgehensweise hilft, die Bundle-Größen und Übertragungszeiten zu verringern und sorgt für eine effiziente und skalierbare Lokalisierung.

Während dies bei rein clientseitiger Darstellung unkompliziert ist, wird das Verwalten von Origins schnell komplex, wenn Übersetzungen für serverseitiges Rendering abgerufen werden. Sie können die Origin-Verwaltung jedoch automatisieren, indem Sie das TacoTranslate-Client-Array origins nutzen.

Betrachten Sie dieses Beispiel, in dem wir unsere Komponenten und Seiten in separate Dateien aufgeteilt haben.

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

Siehe unsere Server-Side-Rendering-Beispiele für weitere Informationen über getTacoTranslateStaticProps.

Fehlerbehandlung und Debugging

Ein Produkt von NattskiftetHergestellt in Norwegen