د 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 تنظیم کړئ.
د دې د ترلاسه کولو لپاره، په خپل پروژه کې د څو 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}
/>
);
}پورته بېلګه به د ساده متن په توګه ښودل شي.