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