TacoTranslate
/
SənədləşməQiymətlər
 
  1. Giriş
  2. Başlayaq
  3. Quraşdırma və konfiqurasiya
  4. TacoTranslate-dən istifadə
  5. Server tərəfində renderləmə
  6. Qabaqcıl istifadə
  7. Ən yaxşı təcrübələr
  8. Xətələrin idarə edilməsi və aradan qaldırılması
  9. Dəstəklənən dillər

TacoTranslate-dən istifadə

Sətirlərin tərcüməsi

Hal-hazırda sətirləri tərcümə etməyin üç yolu var: Translate komponenti, useTranslation hooku, və ya translateEntries utiliti.


Translate komponentindən istifadə.
Tərcümələri span elementi daxilində çıxarır və HTML-in render olunmasını dəstəkləyir.

import {Translate} from 'tacotranslate/react';

function Page() {
	return <Translate string="Hello, world!" />;
}

Məsələn, komponentdə as="p" istifadə edərək element növünü dəyişə bilərsiniz.


useTranslation hookundan istifadə.
Tərcümələri sadə mətn kimi qaytarır. Məsələn, meta teqlərində faydalıdır.

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 alətindən istifadə.
Mətnləri server tərəfində tərcümə edin. OpenGraph şəkillərinizi gücləndirin.

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

Sətirlər necə tərcümə olunur

Sətirlər serverlərimizə çatanda əvvəlcə onları yoxlayır və yadda saxlayırıq, sonra dərhal bir maşın tərcüməsi qaytarırıq. Maşın tərcümələri ümumiyyətlə AI tərcümələrimizlə müqayisədə daha aşağı keyfiyyətli olsa da, onlar sürətli ilkin cavab təmin edir.

Eyni zamanda, sətiriniz üçün yüksək keyfiyyətli, ən müasir süni intellekt tərcüməsi yaratmaq üçün asinxron tərcümə işi başlatırıq. Süni intellekt tərcüməsi hazır olduqda, o, maşın tərcüməsinin yerini tutacaq və siz sətirləriniz üçün tərcümə tələb etdiyiniz zaman göndəriləcək.

Əgər bir sətiri əl ilə tərcümə etmisinizsə, həmin tərcümələr üstünlük təşkil edir və əvəzinə qaytarılır.

Mənşələrdən istifadə

TacoTranslate layihələri bizim origins adlandırdığımız elementlərdən ibarətdir. Onları mətnləriniz və tərcümələriniz üçün giriş nöqtələri, qovluqlar və ya qruplar kimi düşünün.

import {TacoTranslate} from 'tacotranslate/react';

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

Originlər sizə mətnləri mənalı konteynerlərə ayırmağa imkan verir. Məsələn, sənədləşmə üçün bir origin, marketinq səhifəniz üçün isə başqa bir origin ola bilər.

Daha incə nəzarət üçün originsləri komponent səviyyəsində təyin edə bilərsiniz.

Bu məqsədə çatmaq üçün layihənizdə bir neçə TacoTranslate təminatçısından istifadə etməyi düşünün.

Nəzərə alın ki, eyni sətrin müxtəlif mənşələrdə fərqli tərcümələri ola bilər.

Nəticədə, sətirləri originlərə necə ayırmağınız sizin və ehtiyaclarınızdan asılıdır. Lakin nəzərə alın ki, bir origin daxilində çox sayda sətirin olması yüklənmə vaxtını artıra bilər.

Dəyişənlərin idarə edilməsi

Dinamik məzmun üçün həmişə dəyişənlərdən istifadə etməlisiniz, məsələn, istifadəçi adları, tarixlər, e‑poçt ünvanları və sair.

Sətirlərdəki dəyişənlər ikiqat mötərizələrlə elan edilir, məsələn {{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 məzmununun idarə edilməsi

Varsayılan olaraq, Translate komponenti HTML məzmununu dəstəkləyir və göstərir. Lakin bu davranışdan imtina etmək üçün useDangerouslySetInnerHTML parametrini false olaraq təyin edə bilərsiniz.

Etibarsız məzmunu, məsələn istifadəçilər tərəfindən yaradılan məzmunu tərcümə edərkən HTML renderlənməsini söndürmək şiddətlə tövsiyə olunur.

Bütün çıxışlar göstərilməzdən əvvəl həmişə sanitize-html ilə təmizlənir.

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

Yuxarıdakı nümunə sadə mətn kimi göstəriləcək.

Server tərəfində renderləmə

Nattskiftet tərəfindən təqdim olunan məhsulNorveçdə hazırlanmış