Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
Интеграция сервера MCP Intlayer в ваш любимый AI-ассистент позволяет получать все документы непосредственно из ChatGPT, DeepSeek, Cursor, VSCode и т.д.
Просмотр документации сервера MCPИстория версий
- Начальная документацияv7.1.016.11.2025
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
Документация: функция getPrefix в intlayer
Описание
Функция getPrefix определяет префикс URL для заданной локали на основе конфигурации режима маршрутизации. Она сравнивает локаль с локалью по умолчанию и возвращает объект, содержащий три различных формата префикса для гибкого построения URL.
Основные особенности:
- Принимает локаль в качестве первого параметра (обязательно)
- Необязательный объект options с параметрами defaultLocale и mode
- Возвращает объект с свойствами prefix и localePrefix
- Поддерживает все режимы маршрутизации: prefix-no-default, prefix-all, no-prefix и search-params
- Легковесная утилита для определения, когда добавлять префиксы локали
Сигнатура функции
getPrefix( locale: Locales, // Обязательно options?: { // Необязательно defaultLocale?: Locales; mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'; }): GetPrefixResulttype GetPrefixResult = { prefix: string; // например, 'fr/' или '' localePrefix?: Locale; // например, 'fr' или undefined}Параметры
locale: Locales
- Описание: Локаль, для которой необходимо сгенерировать префикс. Если значение ложно (undefined, null, пустая строка), функция возвращает пустую строку.
- Тип: Locales
- Обязательно: Да
options?: object
- Описание: Объект конфигурации для определения префикса.
- Тип: object
Обязательно: Нет (необязательно)
options.defaultLocale?: Locales
- Описание: Локаль по умолчанию для приложения. Если не указана, используется локаль по умолчанию, настроенная в конфигурации вашего проекта.
- Тип: Locales
- По умолчанию: Конфигурация проекта
options.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'
- Описание: Режим маршрутизации URL для обработки локали. Если не указан, используется настроенный режим из конфигурации вашего проекта.
- Тип: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'
- По умолчанию: Конфигурация проекта
- Режимы:
- prefix-no-default: Возвращает пустые строки, когда локаль совпадает с локалью по умолчанию
- prefix-all: Возвращает префикс для всех локалей, включая локаль по умолчанию
- no-prefix: Возвращает пустые строки (без префикса в URL)
- search-params: Возвращает пустые строки (локаль в параметрах запроса)
Возвращает
- Тип: GetPrefixResult
- Описание: Объект, содержащий три различных формата префикса:
- prefix: Префикс пути с завершающим слэшем (например, 'fr/', '')
- localePrefix: Идентификатор локали без слэшей (например, 'fr', undefined)
Пример использования
Базовое использование
import { getPrefix, Locales } from "intlayer";// Проверка префикса для английской локалиgetPrefix(Locales.ENGLISH, { defaultLocale: Locales.ENGLISH, mode: "prefix-all",});// Возвращает: { prefix: 'en/', localePrefix: 'en' }// Проверка префикса для французской локалиgetPrefix(Locales.FRENCH, { defaultLocale: Locales.ENGLISH, mode: "prefix-no-default",});// Возвращает: { prefix: 'fr/', localePrefix: 'fr' }Различные режимы маршрутизации
import { getPrefix, Locales } from "intlayer";// prefix-all: Всегда возвращает префиксgetPrefix(Locales.ENGLISH, { mode: "prefix-all", defaultLocale: Locales.ENGLISH,});// Возвращает: { prefix: '/en', localePrefix: 'en' }// prefix-no-default: Нет префикса, если локаль совпадает с локалью по умолчаниюgetPrefix(Locales.ENGLISH, { mode: "prefix-no-default", defaultLocale: Locales.ENGLISH,});// Возвращает: { prefix: '', localePrefix: undefined }// prefix-no-default: Возвращает префикс, когда локаль отличается от локали по умолчаниюgetPrefix(Locales.FRENCH, { mode: "prefix-no-default", defaultLocale: Locales.ENGLISH,});// Возвращает: { prefix: 'fr/', localePrefix: 'fr' }// no-prefix и search-params: Никогда не возвращают префиксgetPrefix(Locales.ENGLISH, { mode: "no-prefix" });// Возвращает: { prefix: '', localePrefix: undefined }getPrefix(Locales.ENGLISH, { mode: "search-params" });// Возвращает: { prefix: '', localePrefix: undefined }Практический пример
import { getPrefix, Locales } from "intlayer";// Формируем URL с соответствующим префиксом для конкретной локалиconst locale = Locales.FRENCH;const { prefix, localePrefix } = getPrefix(locale, { defaultLocale: Locales.ENGLISH, mode: "prefix-no-default",});// Использование префикса для построения путиconst url1 = `/${prefix}about`.replace(/\/+/g, "/");// Результат: "/fr/about"// Использование localePrefix для идентификации локалиconsole.log(`Текущая локаль: ${localePrefix}`);// Вывод: "Текущая локаль: fr"Связанные функции
- getLocalizedUrl: Генерирует локализованный URL для конкретной локали
- getMultilingualUrls: Генерирует URL для всех настроенных локалей
TypeScript
type GetPrefixResult = { prefix: string; // Префикс пути с завершающим слэшем (например, 'fr/' или '') localePrefix?: Locale; // Идентификатор локали без слэшей (например, 'fr' или undefined)};function getPrefix( locale: Locales, options?: { defaultLocale?: Locales; mode?: "prefix-no-default" | "prefix-all" | "no-prefix" | "search-params"; }): GetPrefixResult;