TacoTranslate
/
DokumentációÁrazás
 
  1. Bevezetés
  2. Első lépések
  3. Beállítás és konfiguráció
  4. TacoTranslate használata
  5. Szerveroldali renderelés
  6. Haladó használat
  7. Legjobb gyakorlatok
  8. Hibakezelés és hibakeresés
  9. Támogatott nyelvek

Haladó használat

Jobbról balra írt nyelvek kezelése

TacoTranslate megkönnyíti a jobbról balra íródó (RTL) nyelvek — például az arab és a héber — támogatását React-alkalmazásaiban. Az RTL nyelvek megfelelő kezelése biztosítja, hogy a tartalom helyesen jelenjen meg a jobbról balra olvasó felhasználók számára.

import {useTacoTranslate} from 'tacotranslate/react';

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

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

Használhatja a biztosított isRightToLeftLocaleCode függvényt is az aktuális nyelv ellenőrzésére a Reacten kívül.

import {isRightToLeftLocaleCode} from 'tacotranslate';

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

Fordítás letiltása

A karakterlánc bizonyos részeinek fordításának letiltásához, vagy annak biztosításához, hogy egyes részek változatlanul megmaradjanak, használhatja a háromszoros szögletes zárójeleket. Ez a funkció hasznos az eredeti formátum megtartásához, például nevek, műszaki kifejezések vagy bármely más, nem fordítandó tartalom esetén.

import {Translate} from 'tacotranslate/react';

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

Ebben a példában a „TacoTranslate” szó változatlan marad a fordításban.

Több TacoTranslate szolgáltató

Erősen javasoljuk, hogy alkalmazásában több TacoTranslate szolgáltatót használjon. Ez hasznos a fordítások és szövegek különböző forrásokba (például a fejlécbe, a láblécbe vagy bizonyos szakaszokba) történő rendszerezéséhez.

A források használatáról bővebben itt olvashat.

TacoTranslate szolgáltatók öröklik a beállításokat bármely szülő szolgáltatótól, így nem kell megismételnie a többi beállítást.

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

Az origin vagy a locale felülírása

A több TacoTranslate szolgáltató használata mellett a Translate komponens és a useTranslation hook szintjén mind az origin, mind a locale értékét felülírhatja.

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

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

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

Betöltés kezelése

Amikor a nyelvet a kliensoldalon változtatják, a fordítások lekérése néhány másodpercet is igénybe vehet a felhasználó kapcsolatától függően. Megjeleníthetsz egy betöltésjelzőt, amely vizuális visszajelzést ad a váltás során, így javítva a felhasználói élményt.

import {useTacoTranslate} from 'tacotranslate/react';

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

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

Többes számok

A többes számok kezeléséhez és a számhoz kötődő címkék helyes megjelenítéséhez különböző nyelveken ez tekinthető legjobb gyakorlatnak:

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

Több nyelv

Azonos alkalmazáson belül egyszerre több nyelv támogatásához használhat több TacoTranslate szolgáltatót különböző locale értékekkel, az alábbiak szerint:

Az locale értékét a komponens- vagy hook-szinten is felülbírálhatja.

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

Fordítási azonosítók használata

Hozzáadhat egy id értéket a Translate komponenshez, hogy ugyanazon szöveg különböző fordításait vagy jelentéseit kezelje. Ez különösen hasznos, ha ugyanaz a szöveg kontextustól függően eltérő fordítást igényel. Egyedi azonosítók hozzárendelésével biztosítható, hogy a szöveg minden előfordulása a saját jelentésének megfelelően pontosan legyen lefordítva.

import {Translate} from 'tacotranslate/react';

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

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

Például a fejléc 'login' felirata spanyolul lehet “Iniciar sesión”, míg a lábléc 'login' felirata lehet “Acceder”.

Legjobb gyakorlatok

Egy termék a NattskiftettőlKészült Norvégiában