Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
Этот документ устарел, базовая версия была обновлена 16 ноября 2025 г..
Перейти к английской документацииИстория версий
- "Инициализация истории"v5.5.1029.06.2025
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
Документация: функция getLocalizedUrl в intlayer
Описание
Функция getLocalizedUrl генерирует локализованный URL, добавляя в начало заданного URL указанный локаль. Она обрабатывает как абсолютные, так и относительные URL, обеспечивая применение правильного префикса локали в соответствии с конфигурацией.
Параметры
url: string- Описание: Исходная строка URL, к которой будет добавлен префикс локали.
- Тип:
string
currentLocale: Locales- Описание: Текущая локаль, для которой локализуется URL.
- Тип:
Locales
locales: Locales[]- Описание: Необязательный массив поддерживаемых локалей. По умолчанию используются локали, настроенные в проекте.
- Тип:
Locales[] - По умолчанию:
Конфигурация проекта
defaultLocale: Locales- Описание: Локаль по умолчанию для приложения. По умолчанию используется локаль по умолчанию, настроенная в проекте.
- Тип:
Locales - По умолчанию:
Конфигурация проекта
prefixDefault: boolean- Описание: Нужно ли добавлять префикс для локали по умолчанию. По умолчанию используется значение, настроенное в проекте.
- Тип:
boolean - По умолчанию:
Конфигурация проекта
Возвращает
- Тип:
string - Описание: Локализованный URL для указанной локали.
Пример использования
Относительные URL
Копировать код в буфер обмена
import { getLocalizedUrl, Locales } from "intlayer";
getLocalizedUrl(
"/about",
Locales.FRENCH,
[Locales.ENGLISH, Locales.FRENCH],
Locales.ENGLISH,
false
);
// Вывод: "/fr/about" для французской локали
// Вывод: "/about" для локали по умолчанию (английский)Абсолютные URL
Копировать код в буфер обмена
getLocalizedUrl( "https://example.com/about", Locales.FRENCH, // Текущая локаль [Locales.ENGLISH, Locales.FRENCH], // Поддерживаемые локали Locales.ENGLISH, // Локаль по умолчанию false // Добавлять префикс для локали по умолчанию); // Вывод: "https://example.com/fr/about" для французской локалиgetLocalizedUrl( "https://example.com/about", Locales.ENGLISH, // Текущая локаль [Locales.ENGLISH, Locales.FRENCH], // Поддерживаемые локали Locales.ENGLISH, // Локаль по умолчанию false // Добавлять префикс для локали по умолчанию); // Вывод: "https://example.com/about" для английской локалиgetLocalizedUrl( "https://example.com/about", Locales.ENGLISH, // Текущая локаль [Locales.ENGLISH, Locales.FRENCH], // Поддерживаемые локали Locales.ENGLISH, // Локаль по умолчанию true // Добавлять префикс для локали по умолчанию); // Вывод: "https://example.com/en/about" для английской локалиНеподдерживаемая локаль
Копировать код в буфер обмена
getLocalizedUrl( "/about", Locales.ITALIAN, // Текущая локаль [Locales.ENGLISH, Locales.FRENCH], // Поддерживаемые локали Locales.ENGLISH // Локаль по умолчанию); // Вывод: "/about" (префикс не применяется для неподдерживаемой локали)Особые случаи
Отсутствие сегмента локали:
- Если URL не содержит сегмента локали, функция безопасно добавляет соответствующую локаль в префикс.
Локаль по умолчанию:
- Когда
prefixDefaultравноfalse, функция не добавляет префикс для URL локали по умолчанию.
- Когда
Неподдерживаемые локали:
- Для локалей, не указанных в списке
locales, функция не применяет никакого префикса.
- Для локалей, не указанных в списке
Использование в приложениях
В многоязычном приложении настройка параметров интернационализации с помощью locales и defaultLocale имеет решающее значение для обеспечения отображения правильного языка. Ниже приведён пример того, как функция getLocalizedUrl может использоваться в настройках приложения:
Копировать код в буфер обмена
import { Locales, type IntlayerConfig } from "intlayer";
// Конфигурация поддерживаемых локалей и локали по умолчанию
export default {
internationalization: {
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
defaultLocale: Locales.ENGLISH,
},
} satisfies IntlayerConfig;
export default config;Данная конфигурация гарантирует, что приложение распознаёт ENGLISH, FRENCH и SPANISH как поддерживаемые языки и использует ENGLISH в качестве языка по умолчанию.
Используя эту конфигурацию, функция getLocalizedUrl может динамически генерировать локализованные URL-адреса в зависимости от предпочтений языка пользователя:
Копировать код в буфер обмена
getLocalizedUrl("/about", Locales.FRENCH); // Вывод: "/fr/about"getLocalizedUrl("/about", Locales.SPANISH); // Вывод: "/es/about"getLocalizedUrl("/about", Locales.ENGLISH); // Вывод: "/about"Интегрируя getLocalizedUrl, разработчики могут поддерживать единообразную структуру URL на нескольких языках, улучшая как пользовательский опыт, так и SEO.