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。

为实现这一点,考虑在你的项目中使用多个 TacoTranslate 提供者

请注意,相同的字符串在不同的来源中可能会有不同的翻译。

最终,如何将字符串划分到各个来源取决于您和您的需求。不过,请注意,将大量字符串放在同一个来源中可能会增加加载时间。

处理变量

您应始终为动态内容使用变量,例如用户名、日期、电子邮件地址等。

字符串中的变量使用双括号声明,例如 {{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 提供的产品挪威制造