Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
История версий
- "Начальная документация"v7.1.016.11.2025
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Документация: функция 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;