Задайте вопрос и получите краткое содержание документа через любого ИИ-провайдера на этой странице
Этот документ устарел, базовая версия была обновлена 16 ноября 2025 г..
Перейти к английской документацииИстория версий
- "Инициализация истории"v5.5.1029.06.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
Документация: функция getMultilingualUrls в intlayer
Описание
Функция getMultilingualUrls генерирует отображение многоязычных URL, добавляя префикс с каждым поддерживаемым языком к заданному URL. Она может обрабатывать как абсолютные, так и относительные URL, применяя соответствующий префикс языка на основе предоставленной конфигурации или значений по умолчанию.
Параметры
url: string- Описание: Исходная строка URL, к которой будут добавлены префиксы языков.
- Тип:
string
locales: Locales[]- Описание: Необязательный массив поддерживаемых языков. По умолчанию используется конфигурируемый список языков в проекте.
- Тип:
Locales[] - По умолчанию:
localesDefault
defaultLocale: Locales- Описание: Язык по умолчанию для приложения. По умолчанию используется конфигурируемый язык по умолчанию в проекте.
- Тип:
Locales - По умолчанию:
defaultLocaleDefault
prefixDefault: boolean- Описание: Нужно ли добавлять префикс для языка по умолчанию. По умолчанию используется настроенное значение в проекте.
- Тип:
boolean - По умолчанию:
prefixDefaultDefault
Возвращаемое значение
- Тип:
IConfigLocales<string> - Описание: Объект, сопоставляющий каждый язык с соответствующим многоязычным URL.
Пример использования
Относительные URL
Копировать код в буфер обмена
import { getMultilingualUrls, Locales } from "intlayer";
getMultilingualUrls(
"/dashboard",
[Locales.ENGLISH, Locales.FRENCH],
Locales.ENGLISH,
false
);
// Вывод: {
// en: "/dashboard",
// fr: "/fr/dashboard"
// }Абсолютные URL
Копировать код в буфер обмена
getMultilingualUrls( "https://example.com/dashboard", [Locales.ENGLISH, Locales.FRENCH], Locales.ENGLISH, true);// Вывод: {// en: "https://example.com/en/dashboard",// fr: "https://example.com/fr/dashboard"// }Особые случаи
Отсутствие сегмента языка:
- Функция удаляет любой существующий сегмент локали из 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( "/dashboard", [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], Locales.ENGLISH);// Вывод:// {// en: "/dashboard",// fr: "/fr/dashboard",// es: "/es/dashboard"// }getMultilingualUrls( "https://example.com/dashboard", [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], Locales.ENGLISH, true);// Вывод:// {// en: "https://example.com/en/dashboard",// fr: "https://example.com/fr/dashboard",// es: "https://example.com/es/dashboard"// }Интегрируя getMultilingualUrls, разработчики могут поддерживать согласованную структуру URL-адресов на нескольких языках, улучшая как пользовательский опыт, так и SEO.