TacoTranslate
/
DokumentasiyaQiymə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ə səhvlərin düzəldilməsi
  9. Dəstəklənən dillər

TacoTranslate-dən istifadə

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

Hal-hazırda mətnlə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-in render edilmə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 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 utilitindən istifadə.
Sətirləri server tərəfində tərcümə edin. OpenGraph şəkillərinizi daha da 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)
	};
}

Mətnlər necə tərcümə olunur

Stringlər serverlərimizə çatdıqda, əvvəlcə onları yoxlayır və yadda saxlayırıq, sonra dərhal maşın tərcüməsini qaytarırıq. Maşın tərcümələri adətən bizim AI tərcümələrimizə nisbətən keyfiyyətcə daha aşağı olur, lakin onlar sürətli ilkin cavab təmin edir.

Eyni zamanda, sətiriniz üçün yüksək keyfiyyətli, qabaqcıl süni intellekt tərcüməsi yaratmaq üçün qeyri-sinxron 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ə sətirləriniz üçün tərcümə 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ə əvəzinə qaytarılır.

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

TacoTranslate layihələri bizim origins adlandırdığımız şeyləri ehtiva edir. Onları mətinlə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 mətinləri mənalı konteynerlərə ayırmağa imkan verir. Məsələn, sənədləriniz üçün bir origin, marketinq səhifəniz üçün isə başqa bir origin yarada bilərsiniz.

Daha incə nəzarət üçün komponent səviyyəsində originlər yarada bilərsiniz.

Buna nail olmaq üçün, layihənizdə bir neçə TacoTranslate provayderindən istifadə etməyi nəzərdən keçirin.

Zəhmət olmasa nəzərə alın ki, eyni sətrin müxtəlif originlə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 bir origin daxilində çox sayda sətirin olması yükləmə vaxtını artıra bilər.

Dəyişənlərlə işləmək

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

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. Bununla belə, bu davranışdan imtina etmək üçün useDangerouslySetInnerHTML dəyərini false olaraq təyin edə bilərsiniz.

Etibarsız məzmunları (məsələn, istifadəçilər tərəfindən yaradılan məzmunu) tərcümə edərkən HTML göstərilməsini deaktiv etmək qətiyyətlə tövsiyə olunur.

Bütün çıxışlar görüntülənmə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 hazırlanmış məhsulNorveçdə hazırlanmış