Skip to content

Lexicon checker: cross-topic duplicate reports and element label cleanup - #13

Open
Ibochkarev wants to merge 4 commits into
3.xfrom
chore/14512-lexicon-topics-cleanup
Open

Lexicon checker: cross-topic duplicate reports and element label cleanup#13
Ibochkarev wants to merge 4 commits into
3.xfrom
chore/14512-lexicon-topics-cleanup

Conversation

@Ibochkarev

Copy link
Copy Markdown
Member

Что сделано

Первый срез modxcms#14512. Базовый лексикон-чекер теперь сообщает ключи, которые встречаются больше чем в одном топике (одинаковое значение vs конфликтующее). Английские element-топики больше не повторяют метки типов (chunk/chunks, snippet/snippets, plugin/plugins, template/templates), уже существующие в default, который менеджер грузит всегда.

CheckLexicon живёт в MODX\Revolution\Build, с тонким CLI-входом и коротким README для мейнтейнеров.

Как проверить

php -l _build/lexicon/checklexicon.class.php
php -l _build/lexicon/checklexicon.php
cd _build/test && ../../core/vendor/bin/phpunit --filter CheckLexiconDuplicateTest
# ожидание: OK (3 теста, 35 assertions), exit 0

php _build/lexicon/checklexicon.php en
# ожидание: exit 0; отчёты под _build/lexicon/_*.php (gitignored)

На работающей установке менеджера подтвердите, что метки дерева Elements по-прежнему резолвятся при cultureKey=en (зависит от core:default).

Связанные

Refs modxcms#14512
Развивает чекер из modxcms#14979

Совместимость

  • Только английские базовые лексиконы в этом PR (Crowdin для других языков).
  • Ключи остаются доступны через default. Менеджер и коннекторы уже грузят core:default.
  • Загрузка element-топика без default больше не даёт те восемь меток типа (задокументированный компромисс).
  • Не массово удаляет _superfluous ключи (экстра могут их использовать).

Совместимость

Без изменения публичного PHP API. Доступность восьми меток работает при загруженном default. Загрузка только топика без default теряет эти метки.

Оригинал: modxcms#16997

…dupes

Extend the core lexicon checker with identical/conflict topic reports and
remove English chunk/snippet/plugin/template type labels that already live
in default (manager always loads core:default). Refs modxcms#14512.
Place the build checker under MODX\Revolution\Build for PSR compliance
and switch the CLI PDO errmode away from deprecated WARNING.
Wrap long CheckLexicon messages for the 120-char rule and point
modLexiconTest at default for chunk type labels moved out of the
chunk topic.
Avoid file-level require_once so phpcs PSR1 side-effects sniff stays clean.
@Ibochkarev Ibochkarev changed the title Lexicon checker: отчёты о дублях между топиками и чистка меток элементов Lexicon checker: cross-topic duplicate reports and element label cleanup Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant