# node: getTranslations URL: https://generaltranslation.com/ru/docs/node/api/get-translations.mdx --- title: getTranslations description: Справка по API функции getTranslations для перевода словаря --- ## Обзор `getTranslations` возвращает функцию перевода `t`, которая извлекает записи из [словаря](/docs/next/guides/dictionaries). Используйте её, чтобы переводить заранее заданные строки по ключу словаря. ```js import { getTranslations } from 'gt-node'; const t = await getTranslations(); t('greeting.hello'); // "Hello!" ``` **Требуется контекст запроса:** `getTranslations` нужно вызывать внутри колбэка [`withGT`](/docs/node/api/with-gt), чтобы функция знала, какую локаль использовать. ## Справочник ### Параметры Нет. ### Возвращает Промис, который возвращает функцию перевода `t`: ```ts Promise ``` Функция `t` принимает ключ словаря и необязательные параметры интерполяции: | Имя | Тип | Описание | | ---------- | ------------------------------ | --------------------------------------------- | | `id` | `string` | Путь к элементу словаря, разделённый точками. | | `options?` | `DictionaryTranslationOptions` | Переменные для интерполяции. | **Возвращает:** `string` — переведённый текст (или резервный текст на исходном языке). Если ключ отсутствует в исходном словаре, `t()` выдаёт ошибку. Если ключ есть в исходном словаре, но для текущей локали у него нет перевода, `t()` возвращает исходный текст. ### `t.obj()` Возвращает всё поддерево словаря в виде объекта, а не одной строки. ```ts t.obj(id: string): DictionaryObjectTranslation ``` | Имя | Тип | Описание | | ---- | -------- | -------------------------------------------------------------- | | `id` | `string` | Путь к поддереву словаря, сегменты которого разделены точками. | **Возвращает:** Вложенный объект, соответствующий структуре словаря, с переведёнными значениями там, где они доступны, и резервными значениями на исходном языке во всех остальных случаях. *** ## Настройка ### Автоматический способ (рекомендуется) Создайте файл `dictionary.json` в корневой папке проекта: ```json title="dictionary.json" { "greeting": { "hello": "Hello!" }, "user": { "welcome": "Welcome, {name}!" } } ``` Когда вы запускаете `npx gtx translate`, CLI автоматически находит `dictionary.json` и переводит его для настроенных локалей. Затем инициализируйте GT, передав словарь: ```ts import { initializeGT } from 'gt-node'; import dictionary from './dictionary.json'; initializeGT({ dictionary, defaultLocale: 'en-US', locales: ['en-US', 'es', 'fr'], }); ``` ### Пользовательский загрузчик словаря Если вы сами управляете словарями переводов, передайте функцию `loadDictionary` в [`initializeGT`](/docs/node/api/initialize-gt): ```ts import { initializeGT } from 'gt-node'; import dictionary from './dictionary.json'; initializeGT({ dictionary, loadDictionary: async (locale) => { const dict = await import(`./locales/${locale}.json`); return dict.default; }, }); ``` Переводы, загруженные с помощью `loadDictionary`, имеют приоритет над переводами, сгенерированными GT. *** ## Примеры ### Основы использования ```ts import { getTranslations } from 'gt-node'; const t = await getTranslations(); t('greeting.hello'); // "Hello!" ``` ### Интерполяция переменных ```ts const t = await getTranslations(); t('user.welcome', { name: 'Alice' }); // "Welcome, Alice!" ``` ### Получение объекта с помощью `t.obj()` ```ts const t = await getTranslations(); const errors = t.obj('errors'); // { notFound: "Page not found", unauthorized: "Access denied" } ``` *** ## Примечания * `getTranslations` — это аналог [`getMessages`](/docs/node/api/get-messages) на основе словаря; он используется для встроенных строк `msg()`. * Эквивалент для Next.js см. в разделе [`getTranslations` в gt-next](/docs/next/api/dictionary/get-translations).