Strings

tx()

tx 字符串翻译函数的 API 参考

概述

tx() 函数是一个用于翻译字符串的服务器端函数。

await tx('Hello, world!'); // returns 'Hola, mundo!'

运行时翻译: tx() 翻译在运行时发生。 这意味着翻译将实时进行,因此您可以翻译在运行时已知的内容。

参考

参数

PropTypeDefault
content?
string
-
options??
RuntimeTranslationOptions
{}
名称描述
content需要翻译的字符串。
options自定义 tx() 行为的翻译选项。请参阅 RuntimeTranslationOptions

返回值

一个 promise,解析为包含翻译内容的字符串,或者如果不需要翻译,则返回原始内容。


行为

tx() 函数在运行时翻译字符串。 这意味着翻译是实时进行的,因此您可以翻译仅在运行时才知道的内容。 权衡之下,等待按需翻译加载的延迟显著较慢。

我们的建议是在构建时使用 getGT()useGT()<T> 翻译您能翻译的所有内容, 仅在必要时使用按需翻译,如 tx()<Tx>

请确保遵循此处的部署指南


示例

基本用法

您可以使用 tx() 来翻译字符串。

src/components/translateGreeting.jsx
import { tx } from 'gt-next/server';
 
export default async function translateGreeting() {
    return await tx("Hello, world!"); 
}

添加上下文

您可以通过提供一个上下文来定制翻译,以便在翻译时考虑。

TranslateWithOptions.jsx
import { tx } from 'gt-next/server';
 
export default async function TranslateWithOptions() {
    return await tx("Hello, world!", {
        context: 'Translate informally'
    });
}

使用变量

为了将值传递给您的字符串,您必须 (1) 分配一个标识符并 (2) 在 variables 字段中引用该标识符。

translateWithVariables.js
import { tx } from 'gt-next/server';
 
export default async function translateWithVariables() {
    return await tx("The cost is {price}", {
        variables: { price : 29.99 },
        variableOptions: { price : { style: 'currency', currency: 'MXN' } }
    });
}

指定区域设置

您可以指定用于翻译的区域设置。 默认情况下,区域设置被设置为用户的首选语言。

translateWithLocale.js
import { tx } from 'gt-next/server';
 
export default async function translateWithLocale() {
    return await tx("Hello, world!", { locale: 'fr' }); 
}

注意事项

  • tx() 专用于服务器端使用,不能在客户端组件中使用。
  • 使用 tx() 的翻译在运行时进行,这意味着它们是实时翻译的。这比构建时的翻译要慢得多。

下一步

在本页面