TacoTranslate
/
SənədləşdirməQiymətlər
 
  1. Giriş
  2. Başlamaq
  3. Qurulum və konfiqurasiya
  4. TacoTranslate istifadə etmək
  5. Server-tərəfli renderləşdirmə
  6. İrəli səviyyəli istifadə
  7. Ən yaxşı təcrübələr
  8. Xəta idarəetməsi və səhvlərin tapılması
  9. Dəstəklənən dillər

TacoTranslate istifadə etmək

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

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


Translate komponentindən istifadə.
Tərcümələri span elementi daxilində göstərir və HTML renderləməsini 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 hook-dan 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ə.
Simvolları 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ə çatdıqda, əvvəlcə onları təsdiqləyir və yadda saxlayırıq, sonra dərhal maşın tərcüməsini qaytarırıq. Maşın tərcümələri ümumiyyətlə bizim süni intellekt tərcümələrimizə nisbətən keyfiyyətcə aşağı olsa da, sürətli ilkin cavab təmin edirlər.

Eyni zamanda, simanız üçün yüksək keyfiyyətli, ən müasir AI tərcüməsi yaratmaq üçün asinxron tərcümə işi başlayırıq. AI tərcüməsi hazır olduqdan sonra, o, maşın tərcüməsinin yerini tutacaq və sətirləriniz üçün tərcümələr tələb etdiyiniz zaman göndəriləcək.

Əgər bir sətri əllə tərcümə etmisinizsə, həmin tərcümələr üstünlük təşkil edir və onların yerinə qaytarılır.

Mənbələrdən istifadə etmək

TacoTranslate layihələri bizim adlandırdığımız mənbələri (origins) ehtiva edir. Onları giriş nöqtələri, qovluqlar və ya sətirləriniz və tərcümələriniz üçün qruplar kimi düşünün.

import {TacoTranslate} from 'tacotranslate/react';

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

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

Daha incə nəzarət üçün, orijinləri komponent səviyyəsində qura bilərsiniz.

Bunu başarmaq üçün, layihənizdə bir neçə TacoTranslate təminatçısından istifadə etməyi nəzərdən keçirin.

Xahiş edirik nəzərə alasınız ki, eyni sətir müxtəlif origins daxilində fərqli tərcümələr ala bilər.

Nəticədə, sətirləri originlərə necə ayırmağınız sizə və ehtiyaclarınıza bağlıdır. Lakin, bir origin daxilində çoxlu sayda sətir olması yükləmə vaxtını artıra bilər.

Dəyişənlərin idarə olunması

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ə dəyişənlər cüt 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

Defolt olaraq, Translate komponenti HTML məzmununu dəstəkləyir və göstərir. Lakin, siz bu davranışdan useDangerouslySetInnerHTML parametri false olaraq təyin etməklə imtina edə bilərsiniz.

Təhlükəsiz olmayan məzmunu, məsələn, istifadəçi tərəfindən yaradılan məzmunu tərcümə edərkən HTML göstərilməsinin söndürülməsi güclü şəkildə tövsiyə olunur.

Bütün çıxışlar sanitize-html ilə hər zaman təmizlənir və sonra göstərilir.

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əfli renderləşdirmə

Nattskiftet`dən bir məhsul Nattskiftet