Перейти к содержимому

Определить локаль

GET
/wp-json/wp2tutor-forms/i18n/v1/locale
curl --request GET \
--url 'https://example.com/wp-json/wp2tutor-forms/i18n/v1/locale?locale=ru'

Публично (permission_callback = true) выбирает пакет локали раннера из Locale/locales/{locale}.json. Это не перевод UI формы (/translation) и не meta l10n записи. Query locale необязателен. Если нет — PHP берёт заголовок Accept-Language, иначе get_locale(). Из значения вырезается хвост после ; и , (как в Accept-Language), _ заменяется на -. Ищется файл локали, затем префикс до -; если нет — fallback en.json. Нет файла (в т.ч. нет en.json) — HTTP 404, тело null, не WP_Error. Тело 200 — содержимое JSON-файла: код локали, направление письма, названия языка/страны, словари месяцев/дней и форматы даты/чисел.

locale
string

Запрошенный тег локали (ru, ru_RU, ru-RU). Необязательно. PHP: fallback Accept-Language, затем get_locale(). Из Accept-Language берётся первый тег (до ; и ,).

Example
ru

Пакет локали из locales/{locale}.json (например ru.json).

Media typeapplication/json
object
locale

Код пакета из JSON-файла (для ru.json — ru).

string
domain

Домен локали в файле (для ru — ru).

string
direction

Направление письма (ltr / rtl).

string
countryCode

Код страны, если есть в файле. В ru.json — пустая строка.

string
country

Название страны. В ru.json — пустая строка.

string
countryNative

Название страны на языке локали. В ru.json — пустая строка.

string
language

Английское имя языка (Russian в ru.json).

string
languageNative

Имя языка на этом языке (русский в ru.json).

string
translations

Словари раннера из файла: months (formatted/nominative × abbreviated/narrow/wide), days (+ short), time (AM/PM).

object
key
additional properties
any
formats

Паттерны из файла: date, time, dateTime, numbers (decimals/grouping/minus).

object
key
additional properties
any
Example
{
"locale": "ru",
"domain": "ru",
"direction": "ltr",
"countryCode": "",
"country": "",
"countryNative": "",
"language": "Russian",
"languageNative": "русский",
"translations": {
"time": {
"AM": "AM",
"PM": "PM"
}
},
"formats": {
"numbers": {
"decimals": ",",
"grouping": " ",
"minus": "-"
}
}
}

Locale::process вернул null — нет locales/{locale}.json и нет fallback en.json. PHP отдаёт WP_REST_Response(null, 404), не WP_Error.

Media typeapplication/json

Тело null.

nullable
Examplegenerated
example