Components

GTProvider

Справочник API по компоненту <GTProvider>

Обзор

Компонент <GTProvider> передаёт контекст General Translation (GT) своим дочерним элементам, позволяя им получать доступ к переведённому содержимому. Он обязателен для любых клиентских переводов в вашем приложении.

Когда использовать

  • Оберните всё приложение в <GTProvider>, чтобы включить переводы на стороне клиента.
  • При работе со словарями при необходимости укажите id, чтобы ограничить объём данных словаря, отправляемых клиенту, и оптимизировать производительность при больших словарях.
  • Компонент <GTProvider> используется как с встроенным <T>, так и со словарями.

Справочник

Свойства

Prop

Type

Описание

PropОписание
childrenЛюбой компонент или родитель любого компонента, которому требуется перевод или доступ к данным перевода на клиентской стороне. Сюда относятся все компоненты, использующие <T>, useGT или другие инструменты локализации.
id?Идентификатор вложенного словаря, чтобы ограничить объём данных, отправляемых на клиент. Полезно для крупных проектов с обширными словарями.

Возвращает

JSX.Element | undefined, содержащий дочерние элементы, переданные этому компоненту.

Пример

Базовое использование

Оборачивайте приложение в <GTProvider>, чтобы предоставить ему контекст переводов.

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

export default function RootLayout({ children }) {
    return (
        <html lang="en">
            <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="ru">
            <body>
                <GTProvider id="nested.dictionary.key"> // [!code highlight]
                    {children}
                </GTProvider>
            </body>
        </html>
    );
}

Примечания

  • В клиентских компонентах <GTProvider> должен оборачивать все компоненты <T> и другие компоненты, связанные с переводом. Подробнее об этом читайте здесь.
  • Для серверной стороны <GTProvider> не обязателен, но его при желании можно использовать.

Дальнейшие шаги

  • Узнайте больше о компоненте <T> для перевода текста и компонентов.

Насколько полезно это руководство?

GTProvider