Types

InlineTranslationOptions

InlineTranslationOptions 类型的 API 参考

概览

InlineTranslationOptions 类型用于向内联翻译传递变量并指定其渲染行为。 你还可以为翻译添加上下文和标识符。 它通常与 useGTgetGTmsg 搭配使用,用于向内联字符串翻译传入变量。

构建时翻译: 使用 useGTgetGTmsg 时,变量不会被翻译,只有原始字符串会被翻译。 请参见 tx 以翻译包含动态内容的字符串。

参考资料

参数

Prop

Type

描述

Prop描述
variables一个对象,其中的键用于指示字符串中各个值的映射位置。
$context可选:在 variables 对象中加入 $context 变量,为内容提供上下文信息(用于翻译)。
$id可选:在 variables 对象中加入 $id 变量,提供可供翻译编辑器使用的标识符。

示例

上下文

要为字符串补充上下文,请使用 $context 属性。

Component.tsx
import { useGT } from 'gt-next';

const Component = () => {
  const t = useGT();
  return <div>{t('各位好!', { $context: '正式问候' })}</div>;
};

传递变量

要在字符串中添加变量,我们使用 {variable-name} 语法,即用花括号包裹变量名。

Component.tsx
import { useGT } from 'gt-next';

const Component = () => {
  const t = useGT();
  return <div>{t('你好,{username}!今天过得怎么样?', { username: 'Brian123' })}</div>;
};

使用 ICU 消息格式

gt-next 支持 ICU 消息格式,可用于对变量进行格式化。

Component.tsx
import { useGT } from 'gt-next';

const Component = () => {
  const t = useGT();
  return <div>
    { t(
      '您的账户余额为:{dollars, number, ::currency/USD}!'
      {
        "dollars" : 1000000,
      }
    ) }
  </div>;
};

有关 ICU 消息格式的更多信息,请参阅ICU 消息格式文档


说明

  • InlineTranslationOptions 用于内联字符串翻译。
  • variables 对象向文本传递取值。
  • variablesOptions 对象用于定义变量的处理行为。

下一步

  • 参阅 useGTgetGT 以进一步了解内联字符串翻译。
  • 参阅 ICU message format 以进一步了解格式化 options 的相关信息。

这份指南怎么样?

InlineTranslationOptions