TacoTranslate
/
DokumentaceCeník
 
  1. Úvod
  2. Začínáme
  3. Nastavení a konfigurace
  4. Používání TacoTranslate
  5. Vykreslování na straně serveru
  6. Pokročilé použití
  7. Doporučené postupy
  8. Zpracování chyb a ladění
  9. Podporované jazyky

Pokročilé použití

Podpora jazyků psaných zprava doleva

TacoTranslate usnadňuje podporu jazyků psaných zprava doleva (RTL), jako jsou arabština a hebrejština, ve vašich React aplikacích. Správné zpracování těchto jazyků zajišťuje, že se váš obsah zobrazí správně uživatelům, kteří čtou zprava doleva.

import {useTacoTranslate} from 'tacotranslate/react';

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

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

Můžete také použít poskytnutou funkci isRightToLeftLocaleCode k ověření aktuálního jazyka mimo React.

import {isRightToLeftLocaleCode} from 'tacotranslate';

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

Deaktivace překladu

Aby bylo možné zakázat překlad pro konkrétní části řetězce nebo zajistit, že určité úseky zůstanou beze změny, můžete použít trojité hranaté závorky. Tato funkce je užitečná pro zachování původního formátu jmen, technických termínů nebo jakéhokoli jiného obsahu, který by neměl být překládán.

import {Translate} from 'tacotranslate/react';

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

V tomto příkladu zůstane slovo „TacoTranslate“ v překladu nezměněné.

Více poskytovatelů TacoTranslate

Důrazně doporučujeme používat ve vaší aplikaci více poskytovatelů TacoTranslate. To je užitečné pro organizaci vašich překladů a řetězců do různých originů, například do záhlaví, zápatí nebo konkrétních sekcí.

Můžete si zde přečíst více o využívání originů.

Poskytovatelé TacoTranslate přebírají nastavení od nadřazeného poskytovatele, takže nebudete muset opakovat žádná další nastavení.

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

Přepsání původu nebo lokality

Kromě použití více poskytovatelů TacoTranslate můžete také přepsat jak původ, tak lokalitu na úrovni komponenty Translate a hooku useTranslation.

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

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

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

Práce s načítáním

Při změně jazyka na straně klienta může načítání překladů v závislosti na připojení uživatele trvat několik okamžiků. Pro lepší uživatelský zážitek můžete během přepínání zobrazit indikátor načítání, který poskytne vizuální zpětnou vazbu.

import {useTacoTranslate} from 'tacotranslate/react';

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

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

Pluralizace

Pro správné zvládnutí pluralizace a zobrazení popisků založených na počtu v různých jazycích se toto považuje za nejlepší praxi:

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

Více jazyků

Aby aplikace současně podporovala více jazyků, můžete použít více poskytovatelů TacoTranslate s různými locale hodnotami, jak je uvedeno níže:

Můžete také přepsat locale na úrovni komponenty nebo hooku.

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

Používání překladových ID

Můžete přidat id ke komponentě Translate pro řešení různých překladů nebo významů stejného řetězce. To je obzvláště užitečné, když stejný text vyžaduje různé překlady v závislosti na kontextu. Přidělením jedinečných ID zajistíte, že každý výskyt řetězce bude přeložen přesně podle svého konkrétního významu.

import {Translate} from 'tacotranslate/react';

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

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

Například přihlášení v hlavičce může být přeloženo jako “Iniciar sesión” a přihlášení v zápatí může být přeloženo jako “Acceder” ve španělštině.

Doporučené postupy

Produkt od NattskiftetVyrobeno v Norsku