TacoTranslate
/
SənədləşdirməQiymətləndirmə
 
  1. Giriş
  2. Başlanğıc
  3. Quraşdırma və konfiqurasiya
  4. TacoTranslate-dən istifadə etmək
  5. Server tərəfi renderlənməsi
  6. Təkmil istifadə
  7. Ən yaxşı təcrübələr
  8. Səhv idarəetməsi və ayıklama
  9. Dəstəklənən dillər

Təkmil istifadə

Sağdan sola dillərin idarə edilməsi

TacoTranslate, React tətbiqlərinizdə ərəb və ivrit kimi sağdan sola (RTL) oxunan dilləri dəstəkləməyi asanlaşdırır. RTL dillərinin düzgün idarə olunması, sağdan sola oxuyan istifadəçilər üçün məzmununuzun düzgün şəkildə göstərilməsini təmin edir.

import {useTacoTranslate} from 'tacotranslate/react';

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

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

Cari dili React xaricində yoxlamaq üçün təmin edilmiş isRightToLeftLocaleCode funksiyasından da istifadə edə bilərsiniz.

import {isRightToLeftLocaleCode} from 'tacotranslate';

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

Tərcüməni deaktiv etmək

Bir sətirin müəyyən hissələrinin tərcüməsini söndürmək və ya bəzi seqmentlərin olduğu kimi saxlanmasını təmin etmək üçün üçqat kvadrat mötərizələrdən istifadə edə bilərsiniz. Bu xüsusiyyət adların, texniki terminlərin və ya tərcümə olunmaması lazım olan digər məzmunun orijinal formasının qorunması üçün faydalıdır.

import {Translate} from 'tacotranslate/react';

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

Bu nümunədə, “TacoTranslate” sözü tərcümədə dəyişməyəcəkdir.

Çoxsaylı TacoTranslate provayderləri

Tətbiqinizdə bir neçə TacoTranslate təminatçısından istifadə etməyi qəti tövsiyə edirik. Bu, tərcümələrinizi və sətirlərinizi başlıq, altbilgi və ya xüsusi bölmələr kimi müxtəlif mənbələrə təşkil etmək üçün faydalıdır.

Siz mənşələrin istifadəsi haqqında burada daha çox oxuya bilərsiniz.

TacoTranslate təminatçıları hər hansı valideyn təminatçısından ayarları miras alır, beləliklə digər ayarları təkrarlamağa ehtiyac qalmır.

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 və ya lokalın üstünlüyünün təyin edilməsi

Bir neçə TacoTranslate təminatçısından istifadə etməklə yanaşı, həmçinin Translate komponenti, həm də useTranslation hook səviyyələrində həm origin, həm də locale parametrlərini əvəz edə bilərsiniz.

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

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

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

Yükləmənin idarə olunması

Müştəri tərəfdə dil dəyişərkən, tərcümələrin alınması istifadəçinin əlaqəsindən asılı olaraq bir neçə saniyə çəkə bilər. Keçid zamanı vizual rəy göstərərək istifadəçi təcrübəsini yaxşılaşdırmaq üçün yüklənmə göstəricisini əks etdirə bilərsiniz.

import {useTacoTranslate} from 'tacotranslate/react';

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

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

Çoxluq şəkli

Çoxluq formasını idarə etmək və say əsasında etiketləri müxtəlif dillərdə düzgün göstərmək üçün bu ən yaxşı təcrübə hesab olunur:

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

Çoxsaylı dillər

Eyni tətbiqdə birdən çox dili eyni vaxtda dəstəkləmək üçün, aşağıda göstərildiyi kimi fərqli locale dəyərləri ilə bir neçə TacoTranslate provayderindən istifadə edə bilərsiniz:

Siz həmçinin locale komponent və ya hook səviyyəsində dəyişdirə bilərsiniz.

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

Tərcümə ID-lərindən istifadə etmək

Eyni mətn üçün fərqli tərcümələri və ya məna fərqlərini idarə etmək üçün Translate komponentinə id əlavə edə bilərsiniz. Bu, xüsusilə eyni mətin kontekstdən asılı olaraq fərqli tərcümələr tələb etdikdə faydalıdır. Unikal ID-lər təyin etməklə, mətnin hər bir nümunəsinin xüsusi mənasına uyğun olaraq dəqiq tərcümə olunduğuna zəmanət verirsiniz.

import {Translate} from 'tacotranslate/react';

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

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

Məsələn, header login İspan dilində “Iniciar sesión”, footer login isə “Acceder” kimi tərcümə oluna bilər.

Ən yaxşı təcrübələr

Bir məhsul Nattskiftet-dənNorveçdə hazırlanmışdır