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

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

قرار دادن URLها در متغیرها

هنگام ترجمه رشته‌هایی که شامل URL یا داده‌های مشابه هستند، بهتر است این 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});
}

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

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

یک محصول از Nattskiftetساخت نروژ