Все модули

Multilingual Fields

Декларативные мультиязычные поля для произвольного числа языков с единым Loader/Saver и fallback.

Возможности

Что умеет модуль

4 типа -intl полей

varchar-intl, text-intl, wysiwyg-intl, json-object-intl — единый механизм для коротких строк, текстов, HTML и JSON.

Реестр 36+ языков

app.internationalLanguages с парами code → suffix: kk_Kz, ru_RU, ar_AR, de_DE, ja_JP, zh_CN/TW, es_ES/MX и другие.

Декларативное подключение

Одна строка { type: varchar-intl } в metadata.fields — платформа сама создаёт суффиксные {name}{Suffix} атрибуты.

Единый Loader/Saver

LoaderInternationalIntl + SaverInternationalIntl в readLoader/listLoader/saver через __APPEND__ — без правки контроллеров.

Fallback на английский

Поле en с isFallback: true и order 99 — пустое значение текущего языка автоматически замещается английским.

Value Object API

VarcharIntlFactory, VarcharIntlAttributeExtractor, FieldConverters — стандартное API value objects платформы.

Полнотекстовый поиск по всем языкам

fullTextSearchColumnList покрывает все языковые подполя — поиск находит запись по любой заполненной локали.

Модуль BPM2B Multilingual Fields добавляет в платформу BPM2B универсальный механизм мультиязычных полей: вместо отдельного модуля под каждую языковую пару (как было в bpm2bQazaq с жёстким Kz/Ru/En) теперь работает декларативный реестр на 36+ языков, единый набор field-types и единый Loader/Saver. Любая сущность одной строкой получает мультиязычное поле под нужный набор языков с автоматическим fallback на английский.

Основные функциональные возможности:

  • 4 типа полей -intl: varchar-intl (короткие строки), text-intl (длинные тексты), wysiwyg-intl (HTML-контент), json-object-intl (структурированные данные) — каждый разворачивается в подполя по суффиксу языка из единого реестра.
  • Реестр 36+ языков: app.internationalLanguages описывает поддерживаемые локали — kk_Kz, ru_RU, ar_AR, de_DE, fr_FR, it_IT, ja_JP, zh_CN/zh_TW, es_ES/es_MX, en_US/en_GB и другие; каждый язык — это пара code → suffix.
  • Декларативное подключение: в metadata.fields достаточно одной строки { "type": "varchar-intl" }; платформа сама создаёт суффиксные атрибуты {name}{Suffix} и виртуальный {name} на текущем языке пользователя.
  • FieldProcessing Loader/Saver: LoaderInternationalIntl и SaverInternationalIntl зарегистрированы в readLoaderClassNameList / listLoaderClassNameList / saverClassNameList через __APPEND__ — работает на чтение записи, на listы и на save без правки контроллеров.
  • Fallback на английский: в metadata.fields поле en помечено isFallback: true с order 99 — если на текущем языке значение пустое, отдаётся английская версия; пользователь никогда не видит пустую карточку.
  • Value Object API: для каждого типа реализованы VarcharIntlFactory, VarcharIntlAttributeExtractor, FieldConverters\VarcharIntl — работа через стандартное API value objects платформы; формулы и code-actions работают без обходных путей.
  • Полнотекстовый поиск: fullTextSearchColumnList на каждом типе включает все языковые подполя — поиск по названиям и описаниям работает по всем заполненным переводам сразу.
  • Админ-панель: в разделе BPM2B → Multilingual Fields через recordView language-settings администратор включает/выключает языки; POST /LanguageSettings/action/applyLanguages применяет изменения и пересоздаёт суффиксные атрибуты.
  • Cовместимость с Qazaq: модуль наследует UX-механизм model.trigger('switchLanguage') — переключатель языка на карточке синхронно сохраняет ввод и подгружает значения нового языка во всех intl-полях.

Модуль предназначен для проектов с международной аудиторией или жёсткими языковыми требованиями (Казахстан, ЕС, Ближний Восток): один механизм решает задачу мультиязычности для любой комбинации языков без дублирования кода. Зависимостей нет; используется как фундамент для bpm2bHeadlessCMS (универсальный SEO с intl-подполями).

Совместимо с платформой версии 9.1.0+
Связаться

Готовы автоматизировать процессы?

Покажем работу системы на ваших данных за 30 минут. Расскажем, как окупится в вашей отрасли, и подберём конфигурацию под ваши процессы.

Email
info@bpm2b.ru
Москва
+7 (499) 113-22-35
Россия
8 (800) 551-91-16
Компания
ООО «Адм Про»

Мы свяжемся в течение 24 часов. Данные используем только для обработки заявки.