# gt-next: General Translation Next.js SDK: DictionaryTranslationOptions URL: https://generaltranslation.com/ru/docs/next/api/types/dictionary-translation-options.mdx --- title: DictionaryTranslationOptions description: Справочная документация по API для типа DictionaryTranslationOptions --- ## Обзор Тип `DictionaryTranslationOptions` используется для передачи переменных в записи словаря и для указания способа их рендеринга. Он используется вместе с [`useTranslations`](/docs/next/api/dictionary/use-translations) и [`getTranslations`](/docs/next/api/dictionary/get-translations) для передачи переменных в записи словаря. **Перевод во время сборки:** При использовании [`useTranslations`](/docs/next/api/dictionary/use-translations) и [`getTranslations`](/docs/next/api/dictionary/get-translations) переводятся только исходные строки, а не переменные. Чтобы переводить строки с динамическим содержимым, см. [`tx`](/docs/next/api/strings/tx). ## Справочник ### Параметры ### Описание | Prop | Описание | | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- | | `[variable]` | Переменные передаются как ключи верхнего уровня в объекте options. Имена ключей соответствуют заполнителям в записи словаря (например, `{username}`). | *** ## Примеры ### Передача переменных Чтобы передать переменную в запись словаря, нужно сделать две вещи: (1) добавить переменную в запись словаря и (2) обратиться к этой переменной в вызове [`d`](/docs/next/api/strings/use-gt). Сначала добавьте переменную в запись словаря, используя следующий синтаксис: `{username}`. `username` — имя переменной. ```jsx title="dictionary.ts" // [!code word:username] const dictionary = { greeting: { hello: 'Hello, {username}!', }, }; export default dictionary; ``` Далее обратимся к переменной: ```jsx title="Component.tsx" // [!code word:username] import { useTranslations } from 'gt-next'; const Component = () => { const t = useTranslations(); return
{t('greeting.hello', { username : 'Brian123' })}
; }; ``` ### Использование формата сообщений ICU `gt-next` поддерживает формат сообщений ICU, который также позволяет форматировать значения переменных. ```jsx title="dictionary.ts" // [!code word:account-balance] const dictionary = { account: { balance: 'Баланс вашего счёта: {dollars, number, ::currency/USD}!', }, }; export default dictionary; ``` Далее обращаемся к переменной: ```jsx title="Component.tsx" // [!code word:account-balance] import { useTranslations } from 'gt-next'; const Component = () => { const t = useTranslations(); return
{ t( 'account.balance', { "dollars" : 1000000, } ) }
; }; ``` *** ## Примечания * Переменные передаются как ключи верхнего уровня в объекте options, а не вкладываются в ключ `variables`. ### Что дальше * См. [dictionaries](/docs/next/guides/dictionaries), чтобы подробнее узнать о словарях и распространённых практиках. * См. [`useTranslations`](/docs/next/api/dictionary/use-translations) или [`getTranslations`](/docs/next/api/dictionary/get-translations), чтобы подробнее узнать об интерфейсе словарей. * См. [`формат сообщений ICU`](https://unicode-org.github.io/icu/userguide/format_parse/messages/), чтобы подробнее узнать о возможностях форматирования.