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

Як перекладаються рядки

Коли рядки надходять на наші сервери, ми спочатку їх перевіряємо та зберігаємо, після чого одразу повертаємо машинний переклад. Хоча машинні переклади зазвичай мають нижчу якість порівняно з нашими AI-перекладами, вони забезпечують швидку початкову відповідь.

Одночасно ми запускаємо асинхронну задачу перекладу, щоб створити високоякісний, передовий AI-переклад для вашого рядка. Як тільки AI-переклад буде готовий, він замінить машинний переклад і буде надсилатися щоразу, коли ви запитуватимете переклади ваших рядків.

Якщо ви вручну переклали рядок, ці переклади мають пріоритет і будуть повернені замість інших.

Використання джерел

Проєкти TacoTranslate містять те, що ми називаємо джерелами. Уявіть їх як точки входу, папки або групи для ваших рядків і перекладів.

import {TacoTranslate} from 'tacotranslate/react';

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

Origins дозволяють розділяти рядки на змістовні контейнери. Наприклад, ви можете мати один origin для документації, а інший для вашої маркетингової сторінки.

Для більш детального контролю ви можете налаштувати origins на рівні компонента.

Щоб досягти цього, розгляньте можливість використання кількох провайдерів TacoTranslate у вашому проєкті.

Зверніть увагу, що один і той самий рядок може отримувати різні переклади в різних origins.

Врешті-решт, як ви розподілите рядки по 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Зроблено в Норвегії