Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Історія версій
- "Початкова документація"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- Опис: Локаль, для якої потрібно згенерувати префікс. Якщо значення є falsy (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",});// Використання prefix для побудови шляхуconst url1 = `/${prefix}about`.replace(/\/+/g, "/");// Результат: "/fr/about"// Використання localePrefix для ідентифікації локаліconsole.log(`Current locale: ${localePrefix}`);// Вивід: "Current locale: 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;