TacoTranslate
/
ДокументацијаЦеновник
 
  1. Вовед
  2. Започнување
  3. Подесување и конфигурација
  4. Користење на TacoTranslate
  5. Прикажување на серверската страна
  6. Напредна употреба
  7. Најдобри практики
  8. Ракување со грешки и дебагирање
  9. Поддржани јазици

Напредна употреба

Ракување со јазици од десно кон лево

TacoTranslate го олеснува поддржувањето на јазици што се читаат од десно кон лево (RTL), како што се арапскиот и еврејскиот, во вашите React апликации. Правилното ракување со RTL јазиците обезбедува содржината да се прикаже правилно за корисниците кои читаат од десно кон лево.

import {useTacoTranslate} from 'tacotranslate/react';

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

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

Можете исто така да ја користите дадената функција isRightToLeftLocaleCode за да ја проверите тековната јазична поставка надвор од React.

import {isRightToLeftLocaleCode} from 'tacotranslate';

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

Оневозможување на преводот

За да ја оневозможите преводот на одредени делови од еден низ или да обезбедите одредени сегменти да останат непроменети, можете да користите троструки квадратни загради. Оваа функција е корисна за одржување на оригиналниот формат на имиња, технички термини или кој било друг содржина што не треба да се преведува.

import {Translate} from 'tacotranslate/react';

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

Во овој пример, зборот „TacoTranslate“ ќе остане непроменет во преводот.

Повеќе добавувачи на TacoTranslate

Топло препорачуваме користење на повеќе TacoTranslate провајдери во вашата апликација. Ова е корисно за организирање на вашите преводи и текстови во различни извори, како што се заглавие, подножје или специфични делови.

Можете да прочитате повеќе за користење на изврши овде.

Провајдерите на TacoTranslate наследуваат поставки од било кој родителски провајдер, така што нема да мора да ги повторувате другите поставки.

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 или locale

Покрај користењето на повеќе TacoTranslate провајдери, можете исто така да ги преземете контролите над и origin и locale на нивото на Translate компонента и useTranslation hook.

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

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

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

Се справуваме со вчитување

При промена на јазиците на клиентската страна, вадењето на преводите може да потрае неколку моменти во зависност од конекцијата на корисникот. Можете да прикажете индикатор за вчитување за да го подобрите корисничкото искуство со обезбедување визуелна повратна информација за време на промена.

import {useTacoTranslate} from 'tacotranslate/react';

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

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

Плурализација

За правилно ракување со множина и точен приказ на етикети базирани на број во различни јазици, ова се смета за најдобра пракса:

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

Повеќе јазици

За поддршка на повеќе јазици истовремено во истата апликација, можете да користите повеќе провајдери на TacoTranslate со различни вредности на locale како што е прикажано подолу:

Исто така, можете да ја поништите вредноста на locale на ниво на компонентата или хуковите.

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

Користење на преведувачки ID-та

Можете да додадете id на Translate компонентата за да се справите со различни преводи или значења за истиот текст. Ова е особено корисно кога истиот текст бара различни преводи во зависност од контекстот. Со доделување уникатни ID-а, осигурувате дека секоја инстанца на текстот е точно преведена според нејзиното специфично значење.

import {Translate} from 'tacotranslate/react';

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

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

На пример, пријава во заглавјето може да се преведе како „Iniciar sesión“, а пријава во подножјето може да се преведе како „Acceder“ на шпански.

Најдобри практики

Продукт од NattskiftetНаправено во Норвешка