Очень давно лично мне не хватало одной штуки, которая позволила бы удалить ненужные lang-файлы, чтобы не было мусора. Или создать копию какого-то языка рекурсивно. Вот, наконец, сделал
[spoiler]
Естественно, решение .

Поясню немного зачем вообще нужен модуль.
Удаление. Если вы поставили какой-то язык, просто посмотреть, а потом решили удалить, то удаление языка в базе (в админке) не повлечет за собой удаление lang-файлов рекурсивно, среди компонент, модулей, и так далее. В связи с чем, вы можете наблюдать , когда система вам предлагает устанавливать обновления языков, которых у вас и нет-то. Данный модуль решает такую задачу.
Копирование. Написали вы модуль, и там только lang-фразы на русском. Нет, модуль не переведет сам за вас на другой язык, но он создаст точную копию русских файлов для языка английского, который является обязательным в системе.
Принцип работы. Бежим по дереву директорий, начиная с указанной. Если нашли /lang/, а следом за ней искомый язык (поле "с каким языком работаем";), то производим над директорией языка указанное действие. Естественно, удаление будет происходить также при таком совпадении. Так что, имейте в виду (момент хоть и опасный, но совпадений быть не должно).
Рекомендую обрабатывать отдельно /bitrix/components/ и /bitrix/modules/ дабы избежать обработки ненужных директорий.
Так как работа все же с удалением связана, то распространяю as is, делал для себя
[spoiler]Естественно, решение .

Поясню немного зачем вообще нужен модуль.
Удаление. Если вы поставили какой-то язык, просто посмотреть, а потом решили удалить, то удаление языка в базе (в админке) не повлечет за собой удаление lang-файлов рекурсивно, среди компонент, модулей, и так далее. В связи с чем, вы можете наблюдать , когда система вам предлагает устанавливать обновления языков, которых у вас и нет-то. Данный модуль решает такую задачу.
Копирование. Написали вы модуль, и там только lang-фразы на русском. Нет, модуль не переведет сам за вас на другой язык, но он создаст точную копию русских файлов для языка английского, который является обязательным в системе.
Принцип работы. Бежим по дереву директорий, начиная с указанной. Если нашли /lang/, а следом за ней искомый язык (поле "с каким языком работаем";), то производим над директорией языка указанное действие. Естественно, удаление будет происходить также при таком совпадении. Так что, имейте в виду (момент хоть и опасный, но совпадений быть не должно).
Рекомендую обрабатывать отдельно /bitrix/components/ и /bitrix/modules/ дабы избежать обработки ненужных директорий.
Так как работа все же с удалением связана, то распространяю as is, делал для себя
