# General Translation React SDKs (gt-react, gt-next): InlineTranslationOptions URL: https://generaltranslation.com/zh/docs/react/reference/types/inline-translation-options.mdx --- title: InlineTranslationOptions description: 用于在 General Translation 的 gt-react 中向内联字符串翻译传递变量和元数据的选项。InlineTranslationOptions 的 API 参考。 --- `InlineTranslationOptions` 是用于内联字符串翻译的选项对象。它包含 插值 变量,以及上下文和标识符等元数据。[`useGT`](/docs/react/reference/hooks/use-gt) 和 [`msg`](/docs/react/reference/functions/msg) 都接受此对象。 *这些选项适用于所有提供 [`useGT`](/docs/react/reference/hooks/use-gt) 和 [`msg`](/docs/react/reference/functions/msg) 的地方——`gt-react`、`gt-next`、`gt-tanstack-start` 和 `gt-react-native`。名为 `GTTranslationOptions` 的类型由 `gt-react`、`gt-next` 和 `gt-react-native` 导出;`gt-tanstack-start` 会重新导出这些函数,但不会重新导出该类型。* ## 概览 [#overview] 将插值变量直接作为普通键传入,翻译元数据则使用带有 `$` 前缀的键传入。 ```typescript type InlineTranslationOptions = { [variable: string]: unknown; // 插值变量 $context?: string; $id?: string; $format?: string; $locale?: string; $maxChars?: number; $requiresReview?: boolean; }; ``` *注意:在 `gt-react` v11 中,此选项对象对应导出的 `GTTranslationOptions` 类型。变量会插入译文中,但其本身永远不会被翻译。* ## 属性 [#properties] | 属性 | 描述 | 类型 | | ------------------------------------- | ----------------------------- | ------------------------- | | [`variables`](#variables) | 按名称键控的插值值。 | `Record` | | [`$context`](#context) | 供译者消除歧义的上下文。 | `string` | | [`$id`](#id) | Translation Editor 中条目的稳定标识符。 | `string` | | [`$format`](#format) | 消息的数据格式 (例如 ICU、STRING) 。 | `string` | | [`$locale`](#locale) | 覆盖目标区域设置。 | `string` | | [`$maxChars`](#max-chars) | 翻译的最大长度。 | `number` | | [`$requiresReview`](#requires-review) | 使用前必须经过人工审核。 | `boolean` | ### `variables` [#variables] **类型** `Record` 任何非 `$` 的键都会被视为插值变量。可在字符串中使用 `{name}` 语法引用它;其值会直接插入翻译后的字符串中,不会再被翻译。 ### `$context` [#context] **类型** `string` · **可选** 用于细化翻译的上下文,可用于消除歧义。 ### `$id` [#id] **类型** `string` · **可选** 条目的稳定标识符,用于配合 Translation Editor 使用。 ### `$format` [#format] **类型** `string` · **可选** · **默认值** `ICU` 消息的数据格式 (例如 ICU、STRING) ,默认为 ICU。 ### `$locale` [#locale] **类型** `string` · **可选** 覆盖此翻译使用的目标区域设置。 ### `$maxChars` [#max-chars] **类型** `number` · **可选** 限制译文的字符数。该库会强制执行此限制。 ### `$requiresReview` [#requires-review] **类型** `boolean` · **可选** 当为 `true` 时,该翻译会被标记为需经人工审核后才能使用。 ## 示例 [#examples] ```tsx title="Component.tsx" import { useGT } from 'gt-react'; const Component = () => { const gt = useGT(); return
{gt('Hello, world!', { $context: 'a formal greeting' })}
; }; ``` ```tsx title="Component.tsx" import { useGT } from 'gt-react'; const Component = () => { const gt = useGT(); return
{gt('Hello, {username}! How is your day?', { username: 'Brian123' })}
; }; ``` ```tsx title="Component.tsx" import { useGT } from 'gt-react'; // ICU message format 用于格式化变量 const Component = () => { const gt = useGT(); return (
{gt('Your account balance: {dollars, number, ::currency/USD}!', { dollars: 1000000 })}
); }; ``` ```tsx title="Component.tsx" import { useGT } from 'gt-react'; const Component = () => { const gt = useGT(); return
{gt('Welcome to our application', { $maxChars: 15 })}
; }; ``` `gt-react` 支持使用 [ICU message format](https://unicode-org.github.io/icu/userguide/format_parse/messages/) 对变量进行格式化。 ## 注意事项 [#notes] * `InlineTranslationOptions` 与 [`useGT`](/docs/react/reference/hooks/use-gt) 和 [`msg`](/docs/react/reference/functions/msg) 搭配使用。 * 关于字典查询,请参阅 [`DictionaryTranslationOptions`](/docs/react/reference/types/dictionary-translation-options)。