TacoTranslate
/
DocumentatiePrijzen
 
  1. Inleiding
  2. Aan de slag
  3. Installatie en configuratie
  4. TacoTranslate gebruiken
  5. Rendering aan de serverzijde
  6. Geavanceerd gebruik
  7. Beste werkwijzen
  8. Foutafhandeling en foutopsporing
  9. Ondersteunde talen

Geavanceerd gebruik

Omgaan met rechts-naar-links-talen

TacoTranslate maakt het eenvoudig om rechts-naar-links (RTL)-talen, zoals Arabisch en Hebreeuws, te ondersteunen in uw React-applicaties. Een correcte omgang met RTL-talen zorgt ervoor dat uw inhoud correct wordt weergegeven voor gebruikers die van rechts naar links lezen.

import {useTacoTranslate} from 'tacotranslate/react';

function Document() {
	const {locale, isRightToLeft} = useTacoTranslate();

	return (
		<html lang={locale} dir={isRightToLeft ? 'rtl' : 'ltr'}>
			<body>
				// ...
			</body>
		</html>
	);
}

U kunt ook de meegeleverde isRightToLeftLocaleCode functie gebruiken om de huidige taal buiten React te controleren.

import {isRightToLeftLocaleCode} from 'tacotranslate';

function foo(locale = 'es') {
	const direction = isRightToLeftLocaleCode(locale) ? 'rtl' : 'ltr';
	// ...
}

Vertaling uitschakelen

Om vertaling voor specifieke delen van een string uit te schakelen of om ervoor te zorgen dat bepaalde segmenten ongewijzigd blijven, kunt u drievoudige vierkante haken gebruiken. Deze functie is handig om het oorspronkelijke formaat van namen, technische termen of andere inhoud die niet vertaald mag worden, te behouden.

import {Translate} from 'tacotranslate/react';

function Component() {
	return (
		<Translate string="Hello, [[[TacoTranslate]]]!" />
	);
}

In dit voorbeeld blijft het woord “TacoTranslate” onveranderd in de vertaling.

Meerdere TacoTranslate-providers

Wij raden ten zeerste aan om meerdere TacoTranslate providers in uw app te gebruiken. Dit is handig om uw vertalingen en strings te organiseren in verschillende bronnen, zoals uw koptekst, voettekst of specifieke secties.

U kunt hier meer lezen over het gebruik van origins.

TacoTranslate providers erven instellingen van een bovenliggende provider, dus u hoeft geen andere instellingen te herhalen.

import createTacoTranslateClient from 'tacotranslate';
import {TacoTranslate} from 'tacotranslate/react';

const tacoTranslateClient = createTacoTranslateClient({apiKey: 'YOUR_API_KEY'});

function Header() {
	return (
		<TacoTranslate origin="header">
			// ...
		</TacoTranslate>
	);
}

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

export default function App() {
	return (
		<TacoTranslate client={tacoTranslateClient} origin="page" locale="es">
			<Header />
			<Menu />
		</TacoTranslate>
	);
}

Oorsprong of locale overschrijven

Naast het gebruik van meerdere TacoTranslate providers kunt u ook zowel origin als locale overschrijven op het niveau van de Translate component en de useTranslation hook.

import {Translate, useTranslation} from 'tacotranslate/react';

function Greeting() {
	const spanishHello = useTranslation('Hello!', {locale: 'es'});

	return (
		<>
			{spanishHello}
			<Translate string="What’s up?" origin="greeting" />
		</>
	);
}

Omgaan met laden

Wanneer de taal aan de clientzijde wordt gewijzigd, kan het ophalen van vertalingen, afhankelijk van de internetverbinding van de gebruiker, even duren. U kunt een laadindicator tonen om de gebruikerservaring te verbeteren door tijdens de wissel visuele feedback te geven.

import {useTacoTranslate} from 'tacotranslate/react';

function Component() {
	const {isLoading} = useTacoTranslate();

	return (
		isLoading ? 'Translations are loading...' : null
	);
}

Meervoud

Om meervoudsvormen te verwerken en labels op basis van aantallen correct weer te geven in verschillende talen, wordt dit als beste praktijk beschouwd:

import {Translate, useLocale} from 'tacotranslate/react';

function PhotoCount() {
	const locale = useLocale();
	const count = 1;

	return count === 0 ? (
		<Translate string="You have no photos." />
	) : count === 1 ? (
		<Translate string="You have 1 photo." />
	) : (
		<Translate
			string="You have {{count}} photos."
			variables={{count: count.toLocaleString(locale)}}
		/>
	);
}

Meerdere talen

Om meerdere talen tegelijkertijd binnen dezelfde applicatie te ondersteunen, kun je meerdere TacoTranslate providers gebruiken met verschillende locale waarden zoals hieronder weergegeven:

U kunt ook de locale op component- of hookniveau overschrijven.

import createTacoTranslateClient from 'tacotranslate';
import {TacoTranslate, Translate} from 'tacotranslate/react';

const tacoTranslateClient = createTacoTranslateClient({apiKey: 'YOUR_API_KEY'});

function Spanish() {
	return (
		<TacoTranslate locale="es">
			<Translate string="Hello, world in Spanish!" />
		</TacoTranslate>
	);
}

function Norwegian() {
	return (
		<TacoTranslate locale="no">
			<Translate string="Hello, world in Norwegian!" />
		</TacoTranslate>
	);
}

export default function App() {
	return (
		<TacoTranslate client={tacoTranslateClient} origin="page" locale="es">
			<Spanish />
			<Norwegian />
		</TacoTranslate>
	);
}

Gebruik van vertaal-ID's

U kunt een id toevoegen aan de Translate component om verschillende vertalingen of betekenissen voor dezelfde tekst te verwerken. Dit is vooral nuttig wanneer dezelfde tekst verschillende vertalingen vereist, afhankelijk van de context. Door unieke IDs toe te wijzen, zorgt u ervoor dat elke instantie van de tekst nauwkeurig wordt vertaald volgens de specifieke betekenis.

import {Translate} from 'tacotranslate/react';

function Header() {
	return (
		<Translate id="header" string="Login" />
	);
}

function Footer() {
	return (
		<Translate id="footer" string="Login" />
	);
}

Bijvoorbeeld, header login kan vertaald worden als “Iniciar sesión”, en footer login kan vertaald worden als “Acceder” in het Spaans.

Beste werkwijzen

Een product van NattskiftetGemaakt in Noorwegen