# gt-next: General Translation Next.js SDK: getTranslations URL: https://generaltranslation.com/ru/docs/next/api/dictionary/get-translations.mdx --- title: getTranslations description: Справочник по API серверной функции перевода getTranslations --- ## Обзор `getTranslations` используется для получения переводов строк из [словаря переводов](/docs/next/guides/dictionaries) в серверных компонентах. ```jsx const d = await getTranslations(); // Получить функцию перевода d('greeting.hello'); // передать id для получения перевода ``` `getTranslations` поддерживает: * Перевод строк и JSX-контента. * Вставку переменных и условную логику в переводах. * Необязательный префикс id. Для переводов на стороне клиента см. [`useTranslations`](/docs/next/api/dictionary/use-translations). `getTranslations` и `useTranslations` используют [словарь](/docs/next/guides/dictionaries) для хранения всего переводимого контента. Это отличается от использования [компонента ``](/docs/next/guides/t) для перевода. Если вас интересует только использование компонентов `` для перевода, этот документ вам не нужен. ## Справочник ### Пропсы ### Описание | Prop | Описание | | ---- | -------------------------------------------------------------------------------------------------------------------------- | | `id` | Необязательный префикс, который добавляется ко всем ключам перевода. Удобно при работе со значениями во вложенном словаре. | ### Возвращает Промис с функцией перевода `d`, которая по заданному идентификатору возвращает переведённую версию соответствующей записи ```jsx Promise<(id: string, options?: DictionaryTranslationOptions) => string> ``` | Название | Тип | Описание | | ---------- | ------------------------------------------------------------------------------------- | --------------------------------------------- | | `id` | `string` | Идентификатор записи, которую нужно перевести | | `options?` | [`DictionaryTranslationOptions`](/docs/next/api/types/dictionary-translation-options) | Параметры перевода для настройки работы `d`. | *** ## Примеры ### Базовое использование словаря Каждая запись в словаре будет переведена. ```jsx title="dictionary.jsx" copy const dictionary = { greeting: <>Hello, Alice!, // [!code highlight] }; export default dictionary; ``` Когда нужно получить доступ к этим записям (на сервере), вызовите `getTranslations`. Эта функция возвращает другую функцию, которая принимает ключ перевода из словаря. ```jsx title="TranslateGreeting.jsx" copy import { getTranslations } from 'gt-next/server'; export default async function TranslateGreeting() { const d = await getTranslations(); // [!code highlight] return (

{d('greeting')} // Hello, Alice // [!code highlight]

); } ``` ### Использование переменных [#variables] Чтобы передавать значения, нужно (1) задать идентификатор и (2) обратиться к нему при вызове функции `d`. В этом примере мы используем `{}` для передачи переменных в перевод. В словаре мы задаём идентификатор `{userName}`. ```jsx title="dictionary.jsx" copy // [!code word:userName] const dictionary = { greeting: "Hello, {userName}!", // [!code highlight] }; export default dictionary; ``` ```jsx title="TranslateGreeting.jsx" copy // [!code word:userName] import { getTranslations } from 'gt-next/server'; export default async function TranslateGreeting() { const d = await getTranslations(); // Привет, Alice! const greetingAlice = d('greeting', { userName: "Alice" }); // [!code highlight] return (

{greetingAlice}

); } ``` ### Использование префиксов Префиксы позволяют получать только часть словаря. ```jsx title="dictionary.jsx" copy const dictionary = { prefix1: { // [!code highlight] prefix2: { // [!code highlight] greeting: "Hello, Bob", } } }; export default dictionary; ``` Поскольку мы добавили значение `'prefix1.prefix2'` в метод `getTranslations`, все ключи получают префикс `prefix1.prefix2`: ```jsx title="UserDetails.jsx" copy import { getTranslations } from 'gt-next/server'; export default function UserDetails() { const d = await getTranslations('prefix1.prefix2'); // [!code highlight] return (

{d('greeting')}

// greeting => prefix1.prefix2.greeting // [!code highlight]
); } ``` *** ## Примечания * Функция `getTranslations` позволяет получать словарные переводы на сервере. ## Следующие шаги * См. [`useTranslations`](/docs/next/api/dictionary/use-translations) — это клиентский аналог `getTranslations`.