# gt-next: General Translation Next.js SDK: loadTranslations URL: https://generaltranslation.com/ru/docs/next/api/config/load-translations.mdx --- title: loadTranslations description: Справка по API-функции loadTranslations() --- ## Обзор Используйте `loadTranslations`, чтобы задать способ загрузки переводов. По умолчанию в production ваше приложение будет загружать переводы из CDN GT. Вы можете указать функцию `loadTranslations`, чтобы загружать переводы из другого источника, например: * Из бандла вашего приложения (самый распространённый вариант) * Из базы данных * Из API * Из другого CDN У нас есть встроенная поддержка загрузки переводов из локальных файлов в бандле вашего приложения. Следуйте [этому руководству](/docs/next/guides/local-tx), чтобы настроить локальные переводы в вашем приложении Next.js. Если вы хотите вручную задать собственные переводы, ознакомьтесь с [руководством по пользовательским переводам](/docs/next/concepts/stand-alone) и с функцией [`loadDictionary`](/docs/next/api/config/load-dictionary). ## Справочник ### Параметры ### Описание | Тип | Описание | | -------- | --------------------------------------------- | | `locale` | Локаль, для которой нужно загрузить переводы. | ### Возвращает `Promise`, который возвращает словарь, сопоставляющий идентификаторы с переводами для указанной локали. *** ## Сетап Объявите `loadTranslations` экспортом по умолчанию в файле `loadTranslations.js` или `loadTranslations.ts`, расположенном либо в каталоге `src/`, либо в корневом каталоге проекта. Убедитесь, что функция возвращает Promise, который разрешается в объект с переводами для указанной локали. ```js title="src/loadTranslations.js" export default async function loadTranslations(locale) { const translations = await import(`../public/locales/${locale}.json`); return translations.default; }; ``` Если вы хотите использовать другое имя или другой путь, передайте относительный путь в параметре `loadTranslationsPath` в [`withGTConfig`](/docs/next/api/config/with-gt-config). *** ## Примеры ### Получение переводов из вашего бандла ```js title="src/loadTranslations.js" export default async function loadTranslations(locale) { const translations = await import(`../public/locales/${locale}.json`); return translations.default; }; ``` Если у вас настроено использование [локальных переводов](/docs/next/guides/local-tx), команда [`gt translate`](/docs/cli/translate) сохранит переводы в файловой структуре проекта. ```bash npx gt translate ``` ### Загружайте переводы из CDN ```js title="loadTranslations.js" export default async function loadTranslations(locale) { try { const translations = await fetch(`https://your-cdn.com/translations/${locale}.json`); const data = await translations.json(); return data; } catch (e) { console.error(e); return {}; } }; ``` ### Загружайте переводы из собственной базы данных ```js title="loadTranslations.js" export default async function loadTranslations(locale) { try { const translations = await prisma.translation.findUnique({ where: { locale: locale, }, }); return translations; } catch (e) { console.error(e); return {}; } }; ``` **Вопрос:** В чём разница между [`loadTranslations`](/docs/next/api/config/load-translations) и [`loadDictionary`](/docs/next/api/config/load-dictionary)? * [`loadTranslations`](/docs/next/api/config/load-translations) используется, чтобы задать пользовательскую логику загрузки переводов для вашего приложения. Например, переводы можно получать из CDN, базы данных или бандла приложения. Обычно это машинно сгенерированные переводы, которыми управляет CLI, и редактировать их вручную не очень удобно. * [`loadDictionary`](/docs/next/api/config/load-dictionary) предназначен для случаев, когда `gt-next` используется как автономная библиотека. Пользователи предоставляют собственные переводы, и никакая инфраструктура перевода при этом не используется. *** ## Примечания * `loadTranslations` позволяет настроить, как переводы загружаются в вашем приложении в production. * Чаще всего это используется для добавления [локальных переводов](/docs/next/guides/local-tx) ## Что дальше * Узнайте, зачем вам могут понадобиться [локальные переводы](/docs/next/guides/local-tx) * Добавьте собственные переводы с помощью [руководства по пользовательскому переводу](/docs/next/concepts/stand-alone)