TacoTranslate
/
دستاویزاتقیمتیں
 
  1. تعارف
  2. شروع کریں
  3. سیٹ اپ اور کنفیگریشن
  4. TacoTranslate کا استعمال
  5. سرور-سائیڈ رینڈرنگ
  6. اعلی درجے کا استعمال
  7. بہترین طریقہ کار
  8. غلطیوں کا انتظام اور ڈیبگنگ
  9. مدد یافتہ زبانیں

بہترین طریقہ کار

URLs کو متغیرات میں رکھیں

جب ایسی سٹرنگز کا ترجمہ کیا جا رہا ہو جن میں URLs یا اسی نوعیت کا ڈیٹا شامل ہو، تو بہتر مشق یہ ہے کہ ان URLs کو متغیرات کے اندر رکھیں اور پھر اپنے ٹیمپلیٹس میں ان کا حوالہ دیں۔

<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 میں تقسیم کیا جائے۔ یہ طریقہ بنڈل سائز اور منتقلی کے اوقات کو کم کرنے میں مدد دیتا ہے، اور مؤثر اور قابلِ توسیع لوکلائزیشن کو یقینی بناتا ہے۔

جب یہ صرف کلائنٹ سائڈ پر رینڈر کرنے کے دوران سیدھا سادہ ہوتا ہے، تو سرور-سائیڈ رینڈرنگ کے لیے تراجم حاصل کرتے وقت origins کا انتظام تیزی سے پیچیدہ ہو جاتا ہے۔ تاہم، آپ TacoTranslate کلائنٹ origins array کا استعمال کر کے origins کے انتظام کو خودکار بنا سکتے ہیں۔

اس مثال پر غور کریں، جہاں ہم نے اپنے کمپونینٹس اور صفحات کو الگ فائلوں میں تقسیم کیا ہے۔

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 کی ایک پروڈکٹناروے میں بنایا گیا