TacoTranslate کا استعمال
متن کا ترجمہ
فی الحال اسٹرنگز کو ترجمہ کرنے کے تین طریقے ہیں: Translate کمپوننٹ، useTranslation ہک، یا translateEntries یوٹیلیٹی۔
Translate کمپونینٹ کا استعمال۔
تراجم کو span عنصر کے اندر ظاہر کرتا ہے، اور HTML کو رینڈر کرنے کی حمایت کرتا ہے۔
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}آپ، مثال کے طور پر، کمپونینٹ پر as="p" استعمال کر کے عنصر کی قسم تبدیل کر سکتے ہیں۔
useTranslation ہک کا استعمال۔
یہ تراجم کو بطورِ سادہ سٹرنگ واپس کرتا ہے۔ مثال کے طور پر meta ٹیگز میں مفید ہے۔
import {useEffect} from 'react';
import {useTranslation} from 'tacotranslate/react';
function Page() {
const helloWorld = useTranslation('Hello, world!');
useEffect(() => {
alert(helloWorld);
}, [helloWorld]);
return (
<title>{useTranslation('My page title')}</title>
);
}translateEntries یوٹیلیٹی کا استعمال۔
متن کو سرور سائیڈ پر ترجمہ کریں۔ اپنی OpenGraph تصاویر کو طاقتور بنائیں۔
import {createEntry, translateEntries} from 'tacotranslate';
async function generateMetadata(locale = 'es') {
const title = createEntry({string: 'Hello, world!'});
const description = createEntry({string: 'TacoTranslate on the server'});
const translations = await translateEntries(
tacoTranslate,
{origin: 'opengraph', locale},
[title, description]
);
return {
title: translations(title),
description: translations(description)
};
}اسٹرنگز کیسے ترجمہ کیے جاتے ہیں
جب سٹرنگز ہماری سرورز تک پہنچتی ہیں، تو ہم پہلے انہیں مستند کر کے محفوظ کرتے ہیں، اور پھر فوراً ایک مشینی ترجمہ واپس بھیجتے ہیں۔ اگرچہ مشینی تراجم عام طور پر ہمارے AI تراجم کے مقابلے میں معیار میں کم ہوتے ہیں، یہ ایک فوری ابتدائی جواب فراہم کرتے ہیں۔
ایک ہی وقت میں، ہم آپ کے متن کے لیے اعلیٰ معیار، جدید AI ترجمہ تیار کرنے کے لیے ایک غیر متزامن ترجمے کا کام شروع کرتے ہیں۔ جب AI ترجمہ تیار ہو جائے گا تو یہ مشینی ترجمے کی جگہ لے لے گا اور جب بھی آپ اپنے متن کے ترجمے کی درخواست کریں گے، بھیجا جائے گا۔
اگر آپ نے کسی سٹرنگ کا دستی طور پر ترجمہ کیا ہے تو وہ ترجمے ترجیحی ہوں گے اور وہی واپس کیے جائیں گے۔
ماخذوں کا استعمال
TacoTranslate منصوبوں میں وہ چیزیں شامل ہوتی ہیں جنہیں ہم origins کہتے ہیں۔ انہیں اپنے متن اور تراجم کے لیے داخلے کے پوائنٹس، فولڈرز، یا گروپس سمجھیں۔
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}Origins آپ کو سٹرنگز کو بامعنی کنٹینرز میں الگ کرنے دیتے ہیں۔ مثال کے طور پر، آپ دستاویزات کے لیے ایک origin اور اپنے مارکیٹنگ صفحے کے لیے دوسرا رکھ سکتے ہیں۔
زیادہ تفصیلی کنٹرول کے لیے، آپ کمپونینٹ کی سطح پر origins قائم کر سکتے ہیں۔
اسے حاصل کرنے کے لیے، اپنے پروجیکٹ میں متعدد TacoTranslate پرووائیڈرز استعمال کرنے پر غور کریں۔
براہِ کرم نوٹ کریں کہ ایک ہی سٹرنگ کو مختلف origins میں مختلف تراجم مل سکتے ہیں۔
آخر کار، آپ متن کو ماخذوں (origins) میں کیسے تقسیم کرتے ہیں یہ آپ اور آپ کی ضروریات پر منحصر ہے۔ تاہم نوٹ کریں کہ ایک ہی ماخذ میں بہت زیادہ متن ہونے سے لوڈنگ کے اوقات بڑھ سکتے ہیں۔
متغیرات کو سنبھالنا
آپ کو متحرک مواد کے لیے ہمیشہ متغیرات استعمال کرنا چاہیے، جیسے کہ صارف کے نام، تاریخیں، ای میل پتے، وغیرہ۔
سٹرنگز میں متغیرات کو ڈبل بریکٹس کے ذریعے ظاہر کیا جاتا ہے، جیسے {{variable}}.
import {Translate} from 'tacotranslate/react';
function Greeting() {
const name = 'Juan';
return <Translate string="Hello, {{name}}!" variables={{name}} />;
}import {useTranslation} from 'tacotranslate/react';
function useGreeting() {
const name = 'Juan';
return useTranslation('Hello, {{name}}!', {variables: {name}});
}HTML مواد کا انتظام
بطورِ ڈیفالٹ، Translate کمپوننٹ HTML مواد کی حمایت کرتا اور اسے رینڈر کرتا ہے۔ تاہم، آپ اس رویے کو غیر فعال کر سکتے ہیں — اس کے لیے useDangerouslySetInnerHTML کو false پر سیٹ کریں۔
غیرقابلِ اعتماد مواد، جیسے صارفین کے تیار کردہ مواد، کا ترجمہ کرتے وقت HTML رینڈرنگ کو غیر فعال کرنا سختی سے تجویز کیا جاتا ہے۔
تمام آؤٹ پٹ کو رینڈر کیے جانے سے پہلے ہمیشہ sanitize-html کے ذریعے صاف کیا جاتا ہے۔
import {Translate} from 'tacotranslate/react';
function Page() {
return (
<Translate
string={`
Welcome to <strong>my</strong> website.
I’m using <a href="{{url}}">TacoTranslate</a> to translate text.
`}
variables={{url: 'https://tacotranslate.com'}}
useDangerouslySetInnerHTML={false}
/>
);
}اوپر دی گئی مثال سادہ متن کے طور پر پیش کی جائے گی۔