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 (RTL) íródó 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 tartalom helyesen jelenjen meg azoknak a felhasználóknak, 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>
	);
}

Használhatja a biztosított isRightToLeftLocaleCode függvényt is a jelenlegi nyelv React környezetén kívüli ellenőrzésére.

import {isRightToLeftLocaleCode} from 'tacotranslate';

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

Fordítás letiltása

Ha le szeretnéd tiltani a fordítást egy karakterlánc bizonyos részeinél, vagy biztosítani szeretnéd, hogy egyes szegmensek változatlanok maradjanak, használhatod a háromszoros szögletes zárójelet. Ez a funkció hasznos a nevek, technikai kifejezések vagy bármilyen más, nem fordítandó tartalom eredeti formátumának megőrzéséhez.

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ásodban használj több TacoTranslate szolgáltatót. Ez hasznos a fordítások és a szövegek rendszerezéséhez különböző helyeken, például a fejlécben, a láblécben vagy bizonyos szakaszokban.

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

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

A kliensoldalon történő nyelvváltáskor a fordítások lekérése a felhasználó kapcsolatától függően néhány pillanatot igénybe vehet. Megjeleníthetsz egy betöltésjelzőt, hogy a váltás során vizuális visszajelzést nyújtva javítsd 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ám

A többes számok kezelésére és a darabszám-alapú címkék helyes megjelenítésére 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

Annak érdekében, hogy ugyanabban az alkalmazásban egyszerre több nyelvet támogasson, több TacoTranslate szolgáltatót használhat 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 különböző fordításait vagy jelentéseit kezeld. Ez különösen hasznos, amikor ugyanaz a szöveg a kontextustól függően különböző fordítást igényel. Egyedi azonosítók hozzárendelésével biztosíthatod, 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 bejelentkezés spanyolul “Iniciar sesión” lehet, a láblécen pedig “Acceder”.

Legjobb gyakorlatok

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