Экран «Индексация»

Считает, в скольких файлах проекта встречается каждая фраза словаря. Результат попадает в поле UF_USAGE_COUNT и дальше используется на вкладке «Мусорщик».

Как запустить

Кнопка «Запустить индексацию». Модуль обходит дерево сайта, пропуская служебные каталоги: загрузки, кеш, vendor, node_modules и сам модуль.

Обход разбит на порции, поэтому:

Если поля UF_USAGE_COUNT в словаре нет, экран предложит его создать — без поля считать некуда.

Что именно ищется

Сканируются только файлы .php и .phtml, и ищутся явные вызовы с кодом фразы в кавычках.

Отсюда все ограничения ниже. Они не баг, а прямое следствие того, что сканер читает текст файлов, а не выполняет их.

Ноль использований не значит «фраза не нужна»

Это главное, что надо знать про результат. В список неиспользуемых заведомо попадут:

Динамические коды. 'STATUS_' . $id, 'MONTH_SHORT_' . $n, "TAB_{$i}" — сканер видит только начало строки и посчитать такое не может. Такие фразы будут числиться мусором всегда.

Коды из JavaScript, шаблонизаторов и HTML. Сканер смотрит только PHP.

Фразы, добавленные недавно и ещё ни разу не вызванные.

Поэтому «Мусорщик» на экране Обслуживание называет свой список кандидатами, а не мусором, и удаление там необратимо. Пролистайте глазами прежде, чем отмечать.

Как часто запускать

Раз в несколько недель или после заметной переделки шаблонов. Чаще смысла нет: счётчик нужен только для разбора мусора, на перевод и подстановку он не влияет.

Устройство обхода и точки расширения под свой проект — Индексатор использования фраз.