Components

GTProvider

<GTProvider> 组件 API 参考

概览

<GTProvider> 组件为其 children 提供 General Translation(GT)上下文,使它们能够访问已翻译的内容。 在你的应用中进行任何客户端翻译都必须使用它。

何时使用

  • 将整个应用包裹在 <GTProvider> 中,以在客户端启用翻译功能。
  • 使用 dictionaries 时,可选地指定 id,以限制发送到客户端的字典数据,从而在处理大型 dictionaries 时优化性能。
  • <GTProvider> 组件同时用于 内联 <T>dictionaries

参考资料

属性

Prop

Type

描述

Prop描述
children需要在客户端进行翻译或访问翻译信息的任何组件,或其父组件。应包括使用 <T>useGT 或其他翻译工具的任何组件。
id?用于限制发送到客户端数据的嵌套字典的 ID。对字典规模庞大的大型项目非常有用。

返回值

包含传递给该组件的 children 的 JSX.Element|undefined

示例

基本用法

将应用包裹在 <GTProvider> 中,为应用提供翻译上下文。

layout.js
import { GTProvider } from 'gt-next';

export default function RootLayout({ children }) {
    return (
        <html lang="zh">
            <body>
                <GTProvider> // [!code highlight]
                    {children}
                </GTProvider> // [!code highlight]
            </body>
        </html>
    );
}

使用 id 属性指定子集

指定 id 属性,只向客户端发送字典的部分内容,从而优化性能。

layout.js
import { GTProvider } from 'gt-next';

export default function RootLayout({ children }) {
    return (
        <html lang="zh">
            <body>
                <GTProvider id="nested.dictionary.key"> // [!code highlight]
                    {children}
                </GTProvider>
            </body>
        </html>
    );
}

注意事项

  • 在客户端组件中,<GTProvider> 必须包裹所有 <T> 组件以及其他与翻译相关的组件。可在此处了解更多。
  • 对于服务端翻译,<GTProvider> 并非必需,但仍可使用。

下一步

  • 进一步了解用于翻译文本与组件的 <T> 组件

本指南如何?