← Ко всем релизам
v1.4.0 2026-07-28

i18n панели администрирования и документации — lang-пакеты, {{ lang() }}, {lang} в манифесте

⚡
apidcms team

Панель администрирования apidcms получила поддержку мультиязычности: JSON-пакеты, функция lang() в Twig и выбор языка в настройках.

✨ Новое

  • **Языковые пакеты:** core_lib/admin/lang/ru.json + en.json (80+ ключей)
  • **Класс Lang:** Admin\Core\Lang — синглтон, загрузка JSON, fallback на русский
  • **Twigфункция {{ lang('key') }}** доступна во всех шаблонах админки
  • **Сайдбар и хедер** переведены на lang() — 19 замен в base.html.twig
  • **Системная настройка admin_language** (ru по умолчанию)
  • **Выпадашка выбора языка** в Настройки → Основные
  • **Мультиязычная документация:** apidcmsdocs разделён на ru/ (36 статей) и en/ (3 перевода), плейсхолдер {lang} в manifest.json
  • **DocsFetcher:** setLang() + resolveUrl() для подстановки языка из admin_language
  • **HelpPanel:** resolveLangUrl() в JS, локаль из Twig

🚀 Улучшено

  • Минимальная архитектура: 1 класс, 2 JSONфайла, 1 настройка в БД
  • Fallback на русский для любых отсутствующих ключей
  • Новые языки добавляются одним JSONфайлом + опцией в select
  • Lang::reload() для смены языка без перезагрузки (готово на будущее)