TacoTranslate
/
ՓաստաթղթավորումԳնագոյացում
 
  1. Ներածություն
  2. Սկսելը
  3. Սահմանում և կազմաձևում
  4. TacoTranslate-ի օգտագործում
  5. Սերվերային կողմի ռենդերինգ
  6. Ընդլայնված օգտագործում
  7. Լավագույն պրակտիկաներ
  8. Սխալների կառավարում և շտկում
  9. Աջակցվող լեզուներ

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)
	};
}

Ինչպես են տողերը թարգմանվում

Երբ տողերը հասնում են մեր սերվերներին, մենք նախ դրանք վավերացնում և պահպանում ենք, ապա անմիջապես վերադարձնում մեքենայական թարգմանությունը։ Սովորաբար մեքենայական թարգմանությունները մեր արհեստական բանականության թարգմանություններից որակով ցածր են, սակայն դրանք ապահովում են արագ նախնական պատասխան։

Միաժամանակ մենք սկսում ենք ասինխրոն թարգմանական աշխատանք՝ ձեր տեքստի համար բարձրորակ, ժամանակակից ԱԻ-թարգմանություն ստեղծելու համար։ Երբ ԱԻ-թարգմանությունը պատրաստ լինի, այն կփոխարինի մեքենայական թարգմանությանը և կուղարկվի յուրաքանչյուր անգամ, երբ դուք խնդրեք ձեր տեքստերի թարգմանություններ։

Եթե դուք ձեռքով թարգմանել եք տողը, այդ թարգմանությունները առաջնահերթություն կունենան և փոխարենը կվերադարձվեն։

Աղբյուրների օգտագործումը

TacoTranslate նախագծերը պարունակում են այն, ինչ մենք կոչում ենք origins. Մտածեք դրանք որպես ձեր տեքստերի և թարգմանությունների մուտքի կետեր, թղթապանակներ կամ խմբեր։

import {TacoTranslate} from 'tacotranslate/react';

function Menu() {
	return (
		<TacoTranslate origin="application-menu">
			// ...
		</TacoTranslate>
	);
}

Ծագումները թույլ են տալիս տողերը բաժանել իմաստալից խմբերի մեջ. Օրինակ՝ կարող եք ունենալ մեկ ծագում դոկումենտացիայի համար և մեկ այլ՝ ձեր շուկայավարման էջի համար։

Ավել մանրամասն վերահսկողության համար կարող եք կոմպոնենտի մակարդակում সৃষ্টিել ծագումներ։

Սա իրականացնելու համար մտածեք ձեր նախագծում մի քանի TacoTranslate պրովայդերներ օգտագործելու մասին։

Խնդրում ենք նկատի ունենալ, որ նույն տողը կարող է տարբեր ծագումներում ստանալ տարբեր թարգմանություններ։

Վերջիվերջո, թե ինչպես եք strings-երը բաժանում origins-ների մեջ՝ կախված է ձեզնից և ձեր կարիքներից։ Սակայն նկատեք, որ մեկ origin-ում շատ strings ունենալը կարող է մեծացնել բեռման ժամանակը։

Փոփոխականների կառավարում

Դուք պետք է միշտ օգտագործեք փոփոխականներ դինամիկ բովանդակության համար, օրինակ՝ օգտատերերի անունները, ամսաթվերը, էլփոստի հասցեները և այլն։

Տողերի մեջ գտնվող փոփոխականները հայտարարվում են օգտագործելով երկակի փակագծեր, օրինակ {{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}
		/>
	);
}

Վերը ներկայացված օրինակն կցուցադրվի որպես պարզ տեքստ։

Սերվերային կողմի ռենդերինգ

Ապրանք՝ Nattskiftet-իցԱրտադրված Նորվեգիայում