بهترین روشها
آدرسهای 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 به صورت خودکار انجام دهید.
این مثال را در نظر بگیرید، جایی که ما کامپوننتها و صفحات خود را به فایلهای جداگانه تقسیم کردهایم.
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>
);
}
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
.