# vue: LoadTranslations URL: https://generaltranslation.com/ru/docs/vue/reference/types/load-translations.mdx --- title: LoadTranslations description: Загружает полный каталог переводов для запрошенной локали. Справочник API для LoadTranslations. --- Передайте эту функцию обратного вызова в [`createGT()`](/docs/vue/reference/functions/create-gt) или [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa), если целевые каталоги хранятся в файлах приложения, базе данных, API или на другом хосте. ## Обзор [#overview] ```ts type LoadTranslations = ( locale: string ) => Promise; ``` Плагин вызывает loader только для целевых локалей, не находящихся в кэше. Для локали по умолчанию используется исходный текст, поэтому loader для неё никогда не вызывается. ## Параметры [#parameters] | Параметр | Описание | Тип | Необязательно | По умолчанию | | -------- | --------------------------------------------------------- | -------- | ------------- | ------------ | | `locale` | Локаль, для которой должен быть возвращён полный каталог. | `string` | Нет | — | Обычный плагин [`createGT()`](/docs/vue/reference/functions/create-gt) передаёт запрошенную локаль без изменений. Плагин [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) сначала разрешает локаль с учётом настроенных `locales` и `customMapping`, сохраняя заданное написание в путях к файлам. ## Возвращаемое значение [#returns] **Тип** `Promise<`[`TranslationCatalog`](/docs/vue/reference/types/translation-catalog)`>` Должен разрешаться в полный каталог с хеш-ключами для `locale`. Если переводы недоступны и приложению следует использовать исходный контент, должен разрешаться в `{}`. Не возвращайте `null`, `undefined` или частичное значение с другой структурой. Публичный тип функции обратного вызова требует объект каталога. ## Поведение загрузки [#loading-behavior] * Успешный результат кэшируется на всё время работы этого плагина. * Одновременные загрузки одной и той же локали используют один promise. * `plugin.loadTranslations(locale)` предварительно загружает переводы, не изменяя активную локаль. * Реактивный `plugin.setLocale(locale)` загружает переводы перед переключением. * [`initializeGTSPA()`](/docs/vue/reference/functions/initialize-gt-spa) загружает начальную целевую локаль до разрешения своего promise. * Установка плагина [`createGT()`](/docs/vue/reference/functions/create-gt) запускает начальную загрузку целевой локали в фоновом режиме, позволяя сначала отрендерить исходный контент. ## Сбои [#failures] Если функция обратного вызова завершается с ошибкой, `gt-vue` записывает диагностическое сообщение в журнал, повторно выбрасывает ту же ошибку, удаляет запись о выполняющейся операции и не кэширует результат. Последующий вызов может повторить попытку. Поэтому императивный вызов `loadTranslations()`, реактивное изменение локали или инициализация SPA завершаются с ошибкой. Фоновая загрузка, запущенная через `app.use(createGT(...))`, после записи в журнал перехватывает ошибку, чтобы приложение могло продолжить работу с исходным контентом. ## Пример [#example] ```ts title="src/loadTranslations.ts" import type { LoadTranslations } from 'gt-vue'; const loadTranslations: LoadTranslations = async (locale) => { try { return (await import(`./_gt/${locale}.json`)).default; } catch (error) { console.error(`No translation catalog for ${locale}`, error); return {}; } }; export default loadTranslations; ``` Приведённый выше loader при отсутствии файлов возвращает успешно загруженный пустой каталог. Удалите `try`/`catch`, если отсутствующий или недопустимый каталог должен прерывать инициализацию.