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 消息格式,了解更多关于格式化选项的信息。

本指南如何?