Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
История версий
- "Initial documentation"v9.4.023.08.2026
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
Документация: Функция getDictionaryAsync в intlayer
Описание
Функция getDictionaryAsync загружает единый языковой chunk словаря и возвращает его интерпретированное содержимое.
Это аналог getDictionary для maps загрузчиков для отдельных языков, выпускаемых в .intlayer/dynamic_dictionaries/: вместо получения словаря со всеми языками он получает map загрузчика и ожидает только chunk для запрошенного языка.
В коде приложения вы обычно вызываетеgetIntlayerAsync, а не эту функцию. Плагины сборки переписывают каждый вызовgetIntlayerAsync('key', locale)наgetDictionaryAsync(loaderMap, 'key', locale).getDictionaryAsyncэкспортируется для пользовательских загрузчиков и для инструментов, которые создают свои собственные maps загрузчиков.
Ключевые особенности:
- Загружает только запрошенный языковой chunk
- Поддерживает простые (
locale → loader) и квалифицированные (locale → qualifierId → loader) maps загрузчиков - Дедублирует одновременные загрузки одного chunk и кэширует разрешенное содержимое
- Неудачные загрузки удаляются из кэша, поэтому последующий вызов повторит попытку загрузки chunk
Сигнатура функции
Копировать код в буфер обмена
Параметры
dictionaryLoaders: PlainDynamicLoaderMap | QualifiedDynamicLoaderMap- Description: Карта загрузчиков для каждой локали. Простые карты связывают локаль с загрузчиком; квалифицированные карты (используются коллекциями и вариантами) связывают локаль с идентификатором квалификатора, затем с загрузчиком. Для квалифицированной карты загружаются только фрагменты, на которые указывает селектор.
- Type:
PlainDynamicLoaderMap<T> | QualifiedDynamicLoaderMap - Required: Yes
key: string- Description: Ключ словаря, используется для разделения кэша фрагментов.
- Type:
string - Required: Yes
localeOrSelector: LocalesValues | DictionarySelector- Description: Локаль для интерпретации контента или объект селектора (
{ item },{ variant }, опционально сlocale). См. динамические словари. - Type:
LocalesValues | DictionarySelector - Required: No (Optional) — по умолчанию используется настроенная
defaultLocale.
- Description: Локаль для интерпретации контента или объект селектора (
plugins: Plugins[]- Description: Node трансформеры. По умолчанию используется базовый набор интерпретатора.
- Type:
Plugins[] - Required: No (Optional)
Returns
- Type:
Promise<Content>— a promise resolving to the interpreted content of the loaded chunk. - Description: Resolves to
nullwhen the map emits no chunk for the requested locale nor for any of its fallbacks, mirroring how a missing qualified coordinate resolves.
Пример использования
С генерируемой картой загрузчика
Копировать код в буфер обмена
import { getDictionaryAsync } from "intlayer";
import appLoaderMap from "../.intlayer/dynamic_dictionaries/app";
const { title } = await getDictionaryAsync(appLoaderMap, "app", "fr");
С пользовательской картой загрузчика
Копировать код в буфер обмена
С селектором на квалифицированной карте
Копировать код в буфер обмена
Примечания о поведении
Кеширование и дедупликация
Кеш сохраняет promise каждой тройки key + locale + selector, поэтому одновременные вызовы для одного chunk ждут одной загрузки. Отклоненная загрузка удаляется из кеша, поэтому неудавшийся chunk повторяется при следующем вызове вместо того, чтобы воспроизводить одну и ту же ошибку бесконечно.
Fallback локали
Простая карта загрузчика следует той же цепочке fallback, что и синхронный режим: сначала запрашиваемая локаль, затем её fallbacks, затем null, если ни один из них не выдал chunk.
Связанные функции
getIntlayerAsync: Функция, которую вызывают приложения; плагины сборки переписывают её вgetDictionaryAsync.getDictionary: Синхронный аналог, принимающий полный словарь.- Dynamic dictionaries: Collections и variants, а также генерируемые ими карты loader.
TypeScript
Копировать код в буфер обмена
