# gt-next: General Translation Next.js SDK: RuntimeTranslationOptions URL: https://generaltranslation.com/ru/docs/next/api/types/runtime-translation-options.mdx --- title: RuntimeTranslationOptions description: Справочная документация API для типа RuntimeTranslationOptions --- ## Обзор Тип `RuntimeTranslationOptions` используется для передачи переменных во встроенные переводы и указания того, как они будут отрисовываться. Вы также можете добавить локаль, чтобы указать другой язык перевода. Этот тип используется с функцией [`tx`](/docs/next/api/strings/tx). **Перевод во время выполнения:** Чтобы перевести переменную при необходимости, включите её прямо в строку, передаваемую в [`tx`](/docs/next/api/strings/tx). Переменные, переданные в `tx` через объект `options`, не переводятся. ## Справочник ### Параметры ### Описание | Prop | Описание | | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- | | `[variable]` | Переменные передаются как ключи верхнего уровня в объекте options. Имена ключей соответствуют заполнителям в строке (например, `{username}`). | | `$locale` | Укажите локаль для перевода. По умолчанию используется наиболее предпочтительная локаль браузера из тех, что поддерживаются вашим приложением. | | `$maxChars` | Ограничивает количество символов в переводе. Библиотека строго соблюдает это ограничение. | *** ## Примеры ### Передача переменных Чтобы добавить переменную в строку, используйте синтаксис `{variable-name}`, где имя переменной заключается в фигурные скобки. ```jsx title="Component.tsx" // [!code word:username] import { tx } from 'gt-next/server'; const Component = () => { return
{tx(`Hello, {username}!`,{ username: 'Brian123' })}
; }; ``` ### Использование формата сообщений ICU `gt-next` поддерживает формат сообщений ICU, который также позволяет форматировать переменные. ```jsx title="Component.tsx" // [!code word:account-balance] import { tx } from 'gt-next/server'; const Component = () => { return
{ tx( 'Your account balance: {dollars, number, ::currency/USD}!', { "dollars" : 1000000, } ) }
; }; ``` ### Перевод переменных Чтобы перевести переменную, включите её прямо в строку, передаваемую в `tx`. ```jsx title="Component.tsx" import { tx } from 'gt-next/server'; const Component = ({ hairColor }: { hairColor: string }) => { return
{tx( `Hello, {username}! Your haircolor is ${hairColor}`, { username: 'Brian123' } )}
; }; ``` Обратите внимание: значение переменной `hairColor` переводится, а `username` — нет. ### Указание локали Вы можете указать локаль, которая будет использоваться для перевода. ```jsx title="Component.tsx" import { tx } from 'gt-next/server'; const Component = () => { return
{tx('Hello, world!', { $locale: 'fr' })}
; }; ``` Это всегда будет переводиться на французский язык. ### Ограничения по числу символов Используйте `$maxChars`, чтобы ограничить длину перевода: ```jsx title="Component.tsx" // [!code word:$maxChars] import { tx } from 'gt-next/server'; const Component = () => { return
{tx('Welcome to our application', { $maxChars: 15 })}
; // Output: "Bienvenue à no\u202F…" }; ``` *** ## Примечания * `RuntimeTranslationOptions` используется для перевода строк во время выполнения. * Переменные передаются как ключи верхнего уровня в объекте options, а не вкладываются в ключ `variables`. ## Дальнейшие шаги * См. [`tx`](/docs/next/api/strings/tx), чтобы подробнее узнать о встроенном переводе строк. * См. [`формат сообщений ICU`](https://unicode-org.github.io/icu/userguide/format_parse/messages/), чтобы подробнее узнать о вариантах форматирования.