بہترین طریقے
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 استعمال کرنے پر ہی کام کرتا ہے۔
بڑی ایپلیکیشنز پر کام کرتے وقت، یہ مفید ہے کہ سٹرنگز اور تراجم کو متعدد، چھوٹے ماخذوں میں تقسیم کیا جائے۔ یہ طریقہ بنڈل سائزز اور منتقلی کے اوقات کو کم کرنے میں مدد دیتا ہے، اور مؤثر اور قابلِ توسیع لوکلائزیشن کو یقینی بناتا ہے۔
جب یہ صرف کلائنٹ سائیڈ پر رینڈر کرنے کے دوران سیدھا سادا ہوتا ہے، تو جب سرور-سائیڈ رینڈرنگ کے لیے تراجم حاصل کیے جائیں تو ماخذات کا انتظام جلد ہی پیچیدہ ہو جاتا ہے۔ تاہم، آپ TacoTranslate کلائنٹ کے origins ارے کا استعمال کر کے ماخذات کے انتظام کو خودکار بنا سکتے ہیں۔
اس مثال پر غور کریں، جہاں ہم نے اپنے کمپوننٹس اور صفحات کو الگ فائلوں میں تقسیم کیا ہے۔
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.