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

بازنویسی منبع یا محل

علاوه بر استفاده از چندین ارائه‌دهنده TacoTranslate, شما همچنین می‌توانید هر دو مقدار origin و locale را در سطوح کامپوننت Translate و هوک useTranslation بازنویسی کنید.

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 به کامپوننت Translate اضافه کنید تا ترجمه‌ها یا معانی مختلف برای یک رشته‌ی یکسان را مدیریت کنید. این ویژگی به‌ویژه زمانی مفید است که یک متن یکسان نیاز به ترجمه‌های متفاوتی بر اساس زمینه داشته باشد. با اختصاص دادن شناسه‌های یکتا، اطمینان حاصل می‌کنید که هر نمونه از رشته به‌طور دقیق و مطابق با معنای خاص خود ترجمه شود.

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ساخت نروژ