Задайте питання та отримайте підсумок документа, вказавши цю сторінку та обраного вами постачальника штучного інтелекту
Історія версій
- "Форматери використовують локаль запиту, потім збережену локаль, якщо локаль не передано"v9.6.002.10.2026
- "Видалено getIntlayerAsync з форматерів"v6.2.014.10.2025
- "Додано форматери для Vue"v5.8.020.08.2025
- "Додано документацію щодо форматерів"v5.8.018.08.2025
- "Додано документацію для форматера списків"v5.8.020.08.2025
- "Додано додаткові утиліти Intl (DisplayNames, Collator, PluralRules)"v5.8.020.08.2025
- "Додано утиліти для локалі (getLocaleName, getLocaleLang, getLocaleFromPath тощо)"v5.8.020.08.2025
- "Додано утиліти обробки контенту (getContent, getTranslation, getIntlayer тощо)"v5.8.020.08.2025
Вміст цієї сторінки перекладено за допомогою штучного інтелекту.
Переглянути останню версію оригінального вмісту англійськоюЯкщо у вас є ідея щодо покращення цієї документації, будь ласка, долучіться, надіславши pull request на GitHub.
Посилання на документацію на GitHubСкопіювати документацію у форматі Markdown в буфер обміну
Форматери Intlayer
Зміст
Кешований Intl
Оскільки створення форматерів є відносно ресурсомісткою операцією, таке кешування покращує продуктивність без зміни поведінки. Обгортка надає той самий API, що й нативний Intl, тому використання є абсолютно ідентичним.
Якщо Intl.DisplayNames недоступний у середовищі, виводиться одне попередження лише для розробників (розгляньте можливість поліфілу).
Приклади:
Яка локаль використовується?
Якщо ви передаєте опцію locale, вона завжди має пріоритет. Інакше форматери, їхні хуки (useNumber, useDate, useList…) і useIntl визначають її в такому порядку:
- Локаль провайдера (
IntlayerProvider), для хуків і composables. - Локаль поточного запиту, на сервері, коли його обробляє інтеграція Intlayer (
express-intlayer,fastify-intlayer,hono-intlayer,remix-intlayer,astro-intlayer…). - Локаль, збережена в браузері (cookie,
localStorage,sessionStorage), яку зберігає ваш перемикач мови. defaultLocaleвашої конфігурації.
Скопіюйте код у буфер обміну
Поза провайдером або серверною інтеграцією сервер форматує з defaultLocale, а браузер використовує збережену локаль, що може спричинити помилку гідратації. Для сторінок із серверним рендерингом використовуйте провайдер або передавайте locale явно.
Утиліти локалей
getLocaleName(displayLocale, targetLocale?)
Скопіюйте код у буфер обміну
getLocalizedUrl(url, currentLocale, locales?, defaultLocale?, prefixDefault?)
Генерує локалізований URL для поточної локалі:
- url: Початковий URL для локалізації
- currentLocale: Поточна локаль
- locales: Необов'язковий масив підтримуваних локалей (за замовчуванням, сконфігуровані локалі)
- defaultLocale: Необов'язкова локаль за замовчуванням (за замовчуванням, сконфігурована локаль за замовчуванням)
- prefixDefault: Чи додавати префікс для локалі за замовчуванням (за замовчуванням, сконфігуроване значення)
getContent(node, nodeProps, locale?)
Скопіюйте код у буфер обміну
getIntlayer(dictionaryKey, locale?, plugins?)
Отримує та трансформує вміст із словника за ключем:
Скопіюйте код у буфер обміну
Форматувачі
number(value, options?)
Скопіюйте код у буфер обміну
currency(value, options?)
Форматує значення як локалізовану валюту. За замовчуванням USD з двома знаками після коми.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }- Типові поля:
currency(наприклад,"EUR"),currencyDisplay("symbol" | "code" | "name")
- Типові поля:
relativeTime(from, to = new Date(), options?)
Скопіюйте код у буфер обміну
units(value, options?)
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }- Загальні поля:
unit(наприклад,"kilometer","byte"),unitDisplay("short" | "narrow" | "long") - За замовчуванням:
unit: 'day',unitDisplay: 'short',useGrouping: false
- Загальні поля:
Скопіюйте код у буфер обміну
Vanilla JS / Node.js Formatters
Для контекстів без фреймворку імпортуйте форматери безпосередньо з intlayer. Опція locale необов'язкова: без неї використовується локаль запиту, потім збережена локаль, потім defaultLocale.
list(values, options?)
Скопіюйте код у буфер обміну
Функції форматування
number(value, options?)
Форматує числове значення з врахуванням локалі для групування та десяткових знаків.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }
Скопіюйте код у буфер обміну
percentage(value, options?)
Форматує число як рядок відсотка. Значення більше 1 нормалізуються (наприклад, 25 → 25%, 0.25 → 25%).
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }
Скопіюйте код у буфер обміну
currency(value, options?)
Форматує значення як локалізовану валюту. За замовчуванням використовує USD.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }- Common:
currency,currencyDisplay("symbol" | "code" | "name")
- Common:
Скопіюйте код у буфер обміну
date(date, optionsOrPreset?)
Форматує значення дати/часу.
- date:
Date | string | number - optionsOrPreset:
Intl.DateTimeFormatOptions & { locale?: LocalesValues }або preset:"short" | "long" | "dateOnly" | "timeOnly" | "full"
Скопіюйте код у буфер обміну
relativeTime(from, to?, options?)
Форматує відносний час між двома моментами.
- from:
Date | string | number - to:
Date | string | number(за замовчуваннямnew Date()) - options:
{ locale?, unit?, numeric?, style? }
Скопіюйте код у буфер обміну
units(value, options?)
Форматує числове значення з одиницею виміру.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }- Common:
unit(e.g.,"kilometer","byte"),unitDisplay("short" | "narrow" | "long")
- Common:
Скопіюйте код у буфер обміну
compact(value, options?)
Форматує число за допомогою компактного запису.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }
Скопіюйте код у буфер обміну
list(values, options?)
Форматує масив у локалізований рядок списку.
- values:
(string | number)[] - options:
Intl.ListFormatOptions & { locale?: LocalesValues }- Поширені:
type("conjunction" | "disjunction" | "unit"),style("long" | "short" | "narrow")
- Поширені:
Скопіюйте код у буфер обміну
Cached Intl
Експортований Intl з intlayer це кешований wrapper навколо глобального Intl. Він мемоізує екземпляри форматерів (NumberFormat, DateTimeFormat тощо), щоб уникнути їхнього повторного створення та поліпшити продуктивність.
Скопіюйте код у буфер обміну
Додаткові функції Intl
Intl.DisplayNames
Для локалізованих назв мов, регіонів, валют та письмових систем:
Скопіюйте код у буфер обміну
Intl.Collator
Для локалізованого порівняння та сортування рядків:
Скопіюйте код у буфер обміну
Intl.PluralRules
Для визначення форм множини в різних локалях:
Скопіюйте код у буфер обміну
Locale Utilities
getLocaleName(displayLocale, targetLocale?)
Отримує локалізовану назву локалі:
Скопіюйте код у буфер обміну
getLocaleLang(locale?)
Витягує код мови з рядка локалі:
Скопіюйте код у буфер обміну
getLocaleFromPath(inputUrl)
Витягує сегмент локалі з URL-адреси або шляху:
Скопіюйте код у буфер обміну
getPathWithoutLocale(inputUrl, locales?)
Видаляє сегмент локалі з URL:
Скопіюйте код у буфер обміну
React
Клієнтські компоненти:
Скопіюйте код у буфер обміну
getHTMLTextDir(locale?)
Повертає напрямок тексту для локалі:
Скопіюйте код у буфер обміну
Утиліти обробки вмісту
Vue
Клієнтські компоненти:
Скопіюйте код у буфер обміну
getTranslation(languageContent, locale?, fallback?)
Витягує вміст для конкретної локалі:
Скопіюйте код у буфер обміну
getIntlayer(dictionaryKey, locale?, plugins?)
Отримує та трансформує вміст зі словника:
Скопіюйте код у буфер обміну
Примітки
- Усі помічники приймають входи типу
string; внутрішньо вони перетворюються на числа або дати. - Locale за замовчуванням використовує ваш налаштований
internationalization.defaultLocale, якщо він не надано. - Ці утиліти є тонкими обгортками; для розширеного форматування передайте стандартні параметри
Intl.
