Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI
Этот документ устарел, базовая версия была обновлена 16 ноября 2025 г..
Перейти к английской документацииИстория версий
- "Инициализация истории"v5.5.1029.06.2025
Содержимое этой страницы было переведено с помощью ИИ.
Смотреть последнюю версию оригинального контента на английскомЕсли у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHubКопировать Markdown документа в буфер обмена
Документация: функция getMultilingualUrls в intlayer
Описание
Функция getMultilingualUrls генерирует отображение многоязычных URL-адресов путём добавления префикса локали к заданному URL-адресу. Она может обрабатывать как абсолютные, так и относительные URL-адреса, применяя подходящий префикс локали на основе предоставленной конфигурации или значений по умолчанию.
Ключевые возможности:
- Требуется только 1 параметр:
url - Опциональный объект
optionsс параметрамиlocales,defaultLocaleиmode - Использует конфигурацию интернационализации вашего проекта в качестве значений по умолчанию
- Поддерживает несколько режимов маршрутизации:
prefix-no-default,prefix-all,no-prefixиsearch-params - Возвращает объект отображения со всеми локалями в качестве ключей и соответствующими URL-адресами в качестве значений
Описание
Функция getMultilingualUrls генерирует отображение многоязычных URL, добавляя префикс с каждым поддерживаемым языком к заданному URL. Она может обрабатывать как абсолютные, так и относительные URL, применяя соответствующий префикс языка на основе предоставленной конфигурации или значений по умолчанию.
Параметры
Обязательные параметры
url: string- Description: Исходная строка URL, которая будет префиксирована локалями.
- Type:
string - Required: Да
Опциональные параметры
options?: object- Description: Объект конфигурации для поведения локализации URL.
- Type:
object Required: No (Optional)
options.locales?: Locales[]- Description: Массив поддерживаемых локалей. Если не предоставлен, использует настроенные локали из конфигурации вашего проекта.
- Type:
Locales[] - Default:
Project Configuration
options.defaultLocale?: Locales- Description: Локаль по умолчанию для приложения. Если не предоставлена, использует настроенную локаль по умолчанию из конфигурации вашего проекта.
- Type:
Locales - Default:
Project Configuration
options.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'- Description: Режим маршрутизации URL для обработки локалей. Если не предоставлен, использует настроенный режим из конфигурации вашего проекта.
- Type:
'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params' - Default:
Project Configuration - Modes:
prefix-no-default: Без префикса для локали по умолчанию, с префиксом для всех остальныхprefix-all: Префикс для всех локалей, включая локаль по умолчаниюno-prefix: Без префикса локали в URLsearch-params: Использование параметров запроса для локали (например,?locale=fr)
Возвращаемое значение
- Тип:
IConfigLocales<string> - Описание: Объект, сопоставляющий каждый язык с соответствующим многоязычным URL.
Пример использования
Базовое использование (использует конфигурацию проекта)
Копировать код в буфер обмена
import { getMultilingualUrls, Locales } from "intlayer";
// Использует конфигурацию вашего проекта для локалей, defaultLocale и mode
getMultilingualUrls("/dashboard");
// Output (assuming project config has en, fr with mode 'prefix-no-default'):
// {
// en: "/dashboard",
// fr: "/fr/dashboard"
// }
Относительные URL
Копировать код в буфер обмена
import { getMultilingualUrls, Locales } from "intlayer";
getMultilingualUrls(
"/dashboard",
[Locales.ENGLISH, Locales.FRENCH],
Locales.ENGLISH,
false
);
// Вывод: {
// en: "/dashboard",
// fr: "/fr/dashboard"
// }
Абсолютные URL
Копировать код в буфер обмена
Различные режимы маршрутизации
Копировать код в буфер обмена
Особые случаи
Отсутствие сегмента языка:
- Функция удаляет любой существующий сегмент локали из URL перед генерацией многоязычных отображений.
Локаль по умолчанию:
- Когда
prefixDefaultравноfalse, функция не добавляет префикс к URL для локали по умолчанию.
- Когда
Неподдерживаемые локали:
- Для генерации URL учитываются только локали, указанные в массиве
locales.
- Для генерации URL учитываются только локали, указанные в массиве
Использование в приложениях
В многоязычном приложении настройка параметров интернационализации с помощью locales и defaultLocale имеет решающее значение для отображения правильного языка. Ниже приведён пример того, как getMultilingualUrls может использоваться в настройках приложения:
Копировать код в буфер обмена
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 в качестве языка по умолчанию.
Используя эту конфигурацию, функция getMultilingualUrls может динамически генерировать многозначные URL-адреса на основе поддерживаемых локалей приложения:
Копировать код в буфер обмена
Интегрируя getMultilingualUrls, разработчики могут поддерживать согласованную структуру URL-адресов на нескольких языках, улучшая как пользовательский опыт, так и SEO.