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 hook.
Връща преводите като обикновен текст. Полезно например в 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 ви позволяват да разделяте низове в значими контейнери. Например, можете да имате един origin за документация и друг за вашата маркетингова страница.

За по-фин контрол можете да настроите origins на ниво компонент.

За да постигнете това, обмислете използването на няколко доставчици на TacoTranslate във вашия проект.

Моля, имайте предвид, че един и същ низ може да получи различни преводи в различни източници.

В крайна сметка, как разделяте низовете в origins зависи от вас и вашите нужди. Въпреки това, имайте предвид, че наличието на много низове в един origin може да увеличи времето за зареждане.

Работа с променливи

Винаги трябва да използвате променливи за динамично съдържание, като потребителски имена, дати, имейл адреси и други.

Променливите в низовете се декларират с двойни скоби, като {{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