Экран «Индексация»
Считает, в скольких файлах проекта встречается каждая фраза словаря. Результат
попадает в поле UF_USAGE_COUNT и дальше используется на вкладке «Мусорщик».
Как запустить
Кнопка «Запустить индексацию». Модуль обходит дерево сайта, пропуская служебные
каталоги: загрузки, кеш, vendor, node_modules и сам модуль.
Обход разбит на порции, поэтому:
- прогресс, замерший на несколько секунд, — это нормально, идёт очередная порция;
- не закрывайте вкладку до конца прогона;
- на среднем сайте всё занимает от одной до пяти минут.
Если поля UF_USAGE_COUNT в словаре нет, экран предложит его создать — без
поля считать некуда.
Что именно ищется
Сканируются только файлы .php и .phtml, и ищутся явные вызовы с кодом
фразы в кавычках.
Отсюда все ограничения ниже. Они не баг, а прямое следствие того, что сканер читает текст файлов, а не выполняет их.
Ноль использований не значит «фраза не нужна»
Это главное, что надо знать про результат. В список неиспользуемых заведомо попадут:
Динамические коды. 'STATUS_' . $id, 'MONTH_SHORT_' . $n, "TAB_{$i}" —
сканер видит только начало строки и посчитать такое не может. Такие фразы будут
числиться мусором всегда.
Коды из JavaScript, шаблонизаторов и HTML. Сканер смотрит только PHP.
Фразы, добавленные недавно и ещё ни разу не вызванные.
Поэтому «Мусорщик» на экране Обслуживание называет свой список кандидатами, а не мусором, и удаление там необратимо. Пролистайте глазами прежде, чем отмечать.
Как часто запускать
Раз в несколько недель или после заметной переделки шаблонов. Чаще смысла нет: счётчик нужен только для разбора мусора, на перевод и подстановку он не влияет.
Устройство обхода и точки расширения под свой проект — Индексатор использования фраз.