TacoTranslate
/
DokumentacjaCennik
 
  1. Wprowadzenie
  2. Pierwsze kroki
  3. Konfiguracja i ustawienia
  4. Korzystanie z TacoTranslate
  5. Renderowanie po stronie serwera
  6. Zaawansowane użycie
  7. Najlepsze praktyki
  8. Obsługa błędów i debugowanie
  9. Obsługiwane języki

Zaawansowane użycie

Obsługa języków pisanych od prawej do lewej

TacoTranslate ułatwia obsługę języków pisanych od prawej do lewej (RTL), takich jak arabski i hebrajski, w Twoich aplikacjach React. Poprawne obsługiwanie języków RTL zapewnia prawidłowe wyświetlanie treści użytkownikom czytającym od prawej do lewej.

import {useTacoTranslate} from 'tacotranslate/react';

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

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

Możesz także użyć udostępnionej funkcji isRightToLeftLocaleCode do sprawdzenia bieżącego języka poza React.

import {isRightToLeftLocaleCode} from 'tacotranslate';

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

Wyłączanie tłumaczeń

Aby wyłączyć tłumaczenie poszczególnych fragmentów ciągu znaków lub zapewnić, że niektóre segmenty pozostaną niezmienione, możesz użyć potrójnych nawiasów kwadratowych. Ta funkcja jest przydatna do zachowania oryginalnego formatu imion, terminów technicznych lub innej treści, która nie powinna być tłumaczona.

import {Translate} from 'tacotranslate/react';

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

W tym przykładzie słowo „TacoTranslate” pozostanie niezmienione w tłumaczeniu.

Wielu dostawców TacoTranslate

Gorąco zachęcamy do korzystania z wielu dostawców TacoTranslate w twojej aplikacji. Ułatwia to organizowanie tłumaczeń i ciągów tekstowych w różnych obszarach, takich jak nagłówek, stopka lub konkretne sekcje.

Możesz przeczytać więcej o wykorzystywaniu originów tutaj.

TacoTranslate dostawcy dziedziczą ustawienia od dowolnego nadrzędnego dostawcy, więc nie trzeba będzie powtarzać żadnych innych ustawień.

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

Nadpisywanie originu lub ustawienia regionalnego

Oprócz używania wielu TacoTranslate dostawców, możesz także nadpisać zarówno origin (źródło), jak i locale (lokalę) na poziomie komponentu Translate oraz hooka useTranslation.

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

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

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

Obsługa ładowania

Podczas zmiany języka po stronie klienta pobranie tłumaczeń może zająć kilka chwil w zależności od połączenia użytkownika. Możesz wyświetlić wskaźnik ładowania, aby poprawić doświadczenie użytkownika, zapewniając wizualną informację zwrotną podczas przełączania.

import {useTacoTranslate} from 'tacotranslate/react';

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

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

Pluralizacja

Aby poprawnie obsługiwać pluralizację i wyświetlać etykiety zależne od liczby w różnych językach, uznaje się to za najlepszą praktykę:

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

Wiele języków

Aby obsługiwać jednocześnie wiele języków w tej samej aplikacji, możesz użyć wielu dostawców TacoTranslate z różnymi locale wartościami, jak pokazano poniżej:

Możesz również nadpisać locale na poziomie komponentu lub hooka.

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

Używanie identyfikatorów tłumaczeń

Możesz dodać id do komponentu Translate aby obsłużyć różne tłumaczenia lub znaczenia tego samego tekstu. Jest to szczególnie przydatne, gdy ten sam tekst wymaga różnych tłumaczeń w zależności od kontekstu. Przypisując unikalne identyfikatory, zapewniasz, że każda instancja tekstu zostanie przetłumaczona dokładnie zgodnie z jej konkretnym znaczeniem.

import {Translate} from 'tacotranslate/react';

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

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

Na przykład logowanie w nagłówku może zostać przetłumaczone jako “Iniciar sesión”, a logowanie w stopce jako “Acceder” po hiszpańsku.

Najlepsze praktyki

Produkt firmy NattskiftetWyprodukowano w Norwegii