TacoTranslate
/
مستنداتقیمت‌گذاری
 
  1. مقدمه
  2. شروع کار
  3. راه‌اندازی و پیکربندی
  4. استفاده از TacoTranslate
  5. رندرینگ سمت سرور
  6. استفاده پیشرفته
  7. بهترین روش‌ها
  8. مدیریت خطا و اشکال‌زدایی
  9. زبان‌های پشتیبانی‌شده

بهترین روش‌ها

قرار دادن آدرس‌های وب در متغیرها

هنگام ترجمه رشته‌هایی که شامل آدرس‌های URL یا داده‌های مشابه هستند، قرار دادن این آدرس‌ها داخل متغیرها و سپس ارجاع به آن‌ها در قالب‌های خود به‌عنوان یک روش خوب در نظر گرفته می‌شود.

<Translate
	string={`Click <a href="{{url}}">here</a>`}
	variables={{url: 'https://tacotranslate.com'}}
/>

استفاده از برچسب‌های ARIA

هنگام ترجمه متن عناصری تعاملی مانند دکمه‌ها، مهم است که برچسب‌های ARIA را برای اطمینان از دسترس‌پذیری درج کنید. برچسب‌های ARIA به صفحه‌خوان‌ها کمک می‌کنند تا اطلاعات توصیفی درباره عملکرد عنصر ارائه دهند.

برای مثال، اگر دکمه‌ای دارید که به کاربران اجازه می‌دهد متن را از یک بلوک کد کپی کنند، می‌توانید از ویژگی aria-label برای ارائه توضیح واضح استفاده کنید:

<Translate
	aria-label={useTranslation('Copy to clipboard')}
	string="Copy"
/>

چیزی در مورد این حس خیلی متا دارد.

آرایه مبادی جهانی و مبادی متعدد مؤلفه‌ها

این الگو فقط زمانی کار می‌کند که از Next.js Pages Router استفاده شود.

هنگامی که با برنامه‌های بزرگ‌تر کار می‌کنید، مفید است که رشته‌ها و ترجمه‌ها را به چندین منبع کوچک‌تر تقسیم کنید. این رویکرد به کاهش اندازه بسته‌ها و زمان انتقال کمک می‌کند و باعث می‌شود بومی‌سازی به صورت کارآمد و مقیاس‌پذیر انجام شود.

در حالی که این کار هنگام رندر فقط در سمت کلاینت ساده است، مدیریت منابع هنگام واکشی ترجمه‌ها برای رندر سمت سرور به سرعت پیچیده می‌شود. با این حال، شما می‌توانید مدیریت منابع را با استفاده از آرایه origins در کلاینت TacoTranslate خودکار کنید.

این مثال را در نظر بگیرید، جایی که ما کامپوننت‌ها و صفحات خود را در فایل‌های جداگانه تفکیک کرده‌ایم.

components/pricing-table.tsx
import TacoTranslate, {Translate} from 'tacotranslate/react';
import tacoTranslate from '../tacotranslate-client';

// Set an origin name for this component
const origin = 'components/pricing-table';

// Push the origin into the origins array as this file is imported
tacoTranslate.origins.push(origin);

export default function PricingTable() {
	return (
		<TacoTranslate origin={origin}>
			<Translate string="Pricing table" />
			// ...
		</TacoTranslate>
	);
}
pages/pricing.tsx
import TacoTranslate, {Translate} from 'tacotranslate/react';
import getTacoTranslateStaticProps from 'tacotranslate/next/get-static-props';
import tacoTranslateClient from '../tacotranslate-client';
import PricingTable from '../components/pricing-table';

const origin = 'pages/pricing';
tacoTranslateClient.origins.push(origin);

export default function PricingPage() {
	return (
		<TacoTranslate origin={origin}>
			<Translate string="Pricing page" />
			<PricingTable />
		</TacoTranslate>
	);
}

// We will now fetch translations for all imported components and their origins automatically
export async function getStaticProps(context) {
	return getTacoTranslateStaticProps(context, {client: tacoTranslateClient});
}

برای اطلاعات بیشتر درباره getTacoTranslateStaticProps" به نمونه‌های رندر سمت سرور ما مراجعه کنید.

مدیریت خطا و اشکال‌زدایی

یک محصول از Nattskiftet