Перевод интерфейса формы
const url = 'https://example.com/wp-json/wp2tutor-forms/i18n/v1/translation?language=ru_RU&context=wp2tutor-form';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://example.com/wp-json/wp2tutor-forms/i18n/v1/translation?language=ru_RU&context=wp2tutor-form'Публичный gettext-пакет UI формы (не locale-pack месяцев и не meta l10n записи). Файл Locale/languages/{context}-{locale}.json.
Query language необязателен: иначе Accept-Language, иначе get_locale(). - → _; ru → ru_RU; без _ PHP дописывает _ + upper(язык). en всегда null (исходные строки, файла нет) → 404. Query context необязателен, по умолчанию wp2tutor-form. Префиксы @wp2tutor-form/, @tripetto/, tripetto- PHP заменяет на wp2tutor-form-; после замены context должен быть ^[a-z0-9-]+$, иначе null/404.
Есть файлы wp2tutor-form-ru_RU.json и wp2tutor-form-runner-{autoscroll|chat|classic}-ru_RU.json. Тело 200 — json_decode файла: массив с одним объектом (ключ "" — заголовки каталога, msgid → [null, "перевод"]). Нет файла — HTTP 404, тело null, не WP_Error.
Parameters
Заголовок раздела «Parameters»Query Parameters
Заголовок раздела «Query Parameters»Код языка (ru, ru_RU, ru-RU). Необязательно. PHP: fallback Accept-Language, затем get_locale(). Значение en даёт 404 (перевода нет).
Example
ru_RUКонтекст файла перевода. По умолчанию в PHP wp2tutor-form. После нормализации — суффикс имени файла: wp2tutor-form, wp2tutor-form-runner-autoscroll и т.п.
Example
wp2tutor-formResponses
Заголовок раздела «Responses»Gettext JSON из languages/{context}-{locale}.json (массив с каталогом msgid).
Json_decode gettext JSON (WP-CLI jed). Обычно массив из одного объекта: ключ "" — заголовки каталога (language, content-type, …); остальные ключи — msgid, значение [null, "перевод"] или формы множественного числа.
object
Example
[ { "": { "language": "ru_RU", "content-type": "text/plain; charset=UTF-8" }, "All good!": [ null, "Всё хорошо!" ] }]Translation::process вернул null — нет файла, language=en, невалидный context или тег локали. PHP отдаёт WP_REST_Response(null, 404), не WP_Error.
Тело null.
Examplegenerated
example