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

A TacoTranslate megkönnyíti a jobbról balra olvasott (RTL) nyelvek, például az arab és a héber támogatását a React-alkalmazásaiban. Az RTL-nyelvek megfelelő kezelése biztosítja, hogy a tartalma helyesen jelenjen meg azoknál a felhasználóknál, akik jobbról balra olvasnak.

import {useTacoTranslate} from 'tacotranslate/react';

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

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

A rendelkezésre álló isRightToLeftLocaleCode függvényt is használhatja a jelenlegi nyelv ellenőrzésére React-en kívül.

import {isRightToLeftLocaleCode} from 'tacotranslate';

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

Fordítás letiltása

Ha szeretnéd letiltani a fordítást egy adott szövegrészben, vagy biztosítani, hogy bizonyos részek változatlanul megmaradjanak, használhatod a háromszoros szögletes zárójeleket. Ez a funkció hasznos a nevek, műszaki kifejezések vagy bármely más olyan tartalom eredeti formátumának megőrzéséhez, amelyet nem szabad lefordítani.

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 az alkalmazásában több TacoTranslate szolgáltatót használjon. Ez hasznos a fordítások és a szövegek különböző eredetekbe történő rendszerezéséhez, például a fejléc, a lábléc vagy egyes szakaszok esetében.

További információkért itt olvashat bővebben az eredetek használatáról.

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

Origin vagy locale felülírása

A több TacoTranslate provider használata mellett a Translate komponens és a useTranslation hook szintjén egyaránt felülírhatja az originet és a locale-ot.

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

Ha a kliensoldalon nyelvet váltasz, a fordítások lekérése a felhasználó kapcsolatától függően néhány pillanatig eltarthat. Megjeleníthetsz egy betöltésjelzőt, hogy vizuális visszajelzéssel javítsd a felhasználói élményt a váltás során.

import {useTacoTranslate} from 'tacotranslate/react';

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

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

Többes szám

A többes számok kezeléséhez és a darabszám alapú címkék helyes megjelenítéséhez különböző nyelveken ez a legjobb gyakorlat:

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

Ahhoz, hogy ugyanabban az alkalmazásban egyszerre több nyelvet is támogasson, használhat több TacoTranslate szolgáltatót különböző locale értékekkel az alábbiak szerint:

A locale értékét a komponens vagy a hook szintjén is felülbírálhatod.

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áadhatsz egy id attribútumot a Translate komponenshez, hogy ugyanannak a szövegnek a különböző fordításait vagy jelentéseit kezeld. Ez különösen hasznos olyan esetekben, amikor ugyanaz a szöveg a kontextustól függően különböző fordításokat igényel. Egyedi azonosítók hozzárendelésével biztosítod, 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écen a „login” fordítása spanyolul „Iniciar sesión” lehet, míg a láblécen a „login” fordítása spanyolul „Acceder”.

Legjobb gyakorlatok

Egy termék a Nattskiftet-tőlKészült Norvégiában