diff --git a/image_optimizer_nat_OC_20_22_1_1.ocmod.zip b/image_optimizer_nat_OC_20_22_1_1.ocmod.zip
index fc82417..ad98219 100644
Binary files a/image_optimizer_nat_OC_20_22_1_1.ocmod.zip and b/image_optimizer_nat_OC_20_22_1_1.ocmod.zip differ
diff --git a/upload/admin/controller/module/img_opti.php b/upload/admin/controller/module/img_opti.php
index 67433f2..62a7a1c 100644
--- a/upload/admin/controller/module/img_opti.php
+++ b/upload/admin/controller/module/img_opti.php
@@ -6,19 +6,7 @@ class ControllerModuleImgOpti extends Controller {
private $translations = array();
public function index() {
- $data = array();
- if (isset($this->load) && method_exists($this->load, 'language')) {
- try {
- $lang_data = $this->load->language('module/img_opti');
- if (is_array($lang_data)) {
- $data = array_merge($data, $lang_data);
- }
- } catch (Exception $e) {}
- }
- $fallback_data = $this->loadLanguageSafe();
- if (is_array($fallback_data)) {
- $data = array_merge($fallback_data, $data);
- }
+ $data = $this->load->language('module/img_opti');
$this->document->setTitle($this->language->get('heading_title_raw'));
$this->load->model('setting/setting');
diff --git a/upload/admin/language/ru/module/img_opti.php b/upload/admin/language/ru/module/img_opti.php
new file mode 100644
index 0000000..28fd6a4
--- /dev/null
+++ b/upload/admin/language/ru/module/img_opti.php
@@ -0,0 +1,565 @@
+Image Optimizer [NAT]: Сжатие оригиналов и удаление мусора';
+$_['text_extension'] = 'Расширения';
+$_['text_edit'] = 'Настройки модуля';
+$_['text_success'] = 'Настройки успешно сохранены!';
+$_['entry_warning'] = 'ВНИМАНИЕ: Обязательно сделайте бэкап файлов сайта и особенно папки /image/catalog перед началом работы!';
+$_['text_tech'] = 'Проверка технологий сервера:';
+$_['text_author'] = 'Техническая поддержка и пожелания: info@nat.od.ua';
+$_['tab_optimize'] = 'Оптимизация и Ресайз';
+$_['tab_cleaner'] = 'Очистка неиспользуемых изображений';
+$_['tab_info'] = 'Инфо / Экосистема [NAT]';
+$_['tab_settings'] = 'Настройки';
+$_['tab_tools'] = 'Инструменты (pro)';
+$_['tab_cron'] = 'Крон-задачи';
+$_['entry_mode'] = 'Режим работы';
+$_['text_copy'] = 'Создать копию (безопасно)';
+$_['text_replace'] = 'Заменять оригиналы (требует бэкап!)';
+$_['entry_folder'] = 'Имя папки для копии';
+$_['entry_batch'] = 'Файлов за проход';
+$_['entry_log_limit'] = 'Строк лога на экране';
+$_['entry_max_width'] = 'Макс. ширина (px) [0 - без лимита]';
+$_['entry_max_height'] = 'Макс. высота (px) [0 - без лимита]';
+$_['entry_jpg'] = 'Качество JPG (0-100)';
+$_['entry_png'] = 'Сжатие PNG (0-9)';
+$_['entry_webp'] = 'Качество WebP (0-100)';
+$_['entry_targets'] = 'Что оптимизировать?';
+$_['text_all_catalog'] = '[ Весь каталог image/catalog ]';
+$_['text_root_files'] = 'Файлы только в корне image/catalog';
+$_['entry_threshold'] = 'Порог замены (%)';
+$_['help_threshold'] = '0: заменять только если вес стал меньше. 10: разрешить увеличение веса до 10%.';
+$_['entry_token'] = 'Токен активации (на корень домена)';
+$_['entry_status'] = 'Статус модуля';
+$_['entry_menu_position'] = 'Позиция меню [NAT]';
+$_['text_menu_module_only'] = 'Только в модулях';
+$_['text_menu_header'] = 'В шапке (Header)';
+$_['text_menu_sidebar'] = 'В боковом меню (Sidebar)';
+$_['text_menu_both'] = 'Везде (Шапка + Сайдбар)';
+$_['text_status_on'] = 'Включено';
+$_['text_status_off'] = 'Отключено';
+$_['entry_engine'] = 'Движок обработки изображений';
+$_['text_engine_gd'] = 'GD (Стандарт)';
+$_['text_engine_imagick'] = 'Imagick (Высокое качество, сохранение профилей sRGB)';
+$_['entry_license'] = 'Лицензия';
+$_['text_cleaner_info'] = 'Этот инструмент ищет файлы, которые физически существуют на диске, но нигде не используются в базе данных или файлах шаблона.';
+$_['entry_clean_targets'] = 'В каких папках искать мусор?';
+$_['entry_extended_log'] = 'Расширенный лог (показать используемые фото и где они найдены)';
+$_['entry_process_broken'] = 'Учитывать файлы с битой кодировкой (имена с символом "?")';
+$_['button_scan_trash'] = 'НАЙТИ МУСОР';
+$_['button_quarantine'] = 'В Карантин (Безопасно)';
+$_['button_delete_trash'] = 'Удалить навсегда';
+$_['button_empty_quarantine'] = 'Очистить папку Карантина';
+$_['button_restore_quarantine'] = 'Вернуть из Карантина';
+$_['text_scan_result'] = 'Результаты сканирования';
+$_['text_trash_files'] = 'Мусорных файлов: ';
+$_['text_trash_size'] = 'Потенциально освободится: ';
+$_['button_start'] = 'СТАРТ ОПТИМИЗАЦИИ';
+$_['button_pause'] = 'ПАУЗА';
+$_['button_stop'] = 'ОСТАНОВИТЬ';
+$_['button_continue'] = 'ПРОДОЛЖИТЬ';
+$_['button_start_new'] = 'СТАРТ (Новый запуск)';
+$_['button_download_log'] = 'Скачать лог в TXT';
+$_['button_download'] = 'Скачать';
+$_['button_save'] = 'Сохранить';
+$_['button_cancel'] = 'Отмена';
+$_['text_progress'] = 'Прогресс:';
+$_['text_old_size'] = 'Было:';
+$_['text_new_size'] = 'Стало:';
+$_['text_savings'] = 'Экономия:';
+$_['text_detailed_log'] = 'Детальный лог';
+$_['text_page'] = 'Стр.';
+$_['text_waiting'] = 'Ожидание запуска...';
+$_['text_enabled'] = 'Включено';
+$_['text_disabled_error'] = 'Выключено (ОШИБКА)';
+$_['text_supported'] = 'Поддерживается';
+$_['text_no'] = 'Нет';
+$_['error_permission'] = 'У вас нет прав для управления модулем!';
+$_['error_license'] = 'Ошибка доступа: Неверный токен активации для этого домена!';
+$_['error_domain'] = ' (Домен: ';
+$_['text_found'] = 'Найдено файлов: ';
+$_['text_compressed'] = 'Сжат';
+$_['text_original'] = 'Оригинал';
+$_['text_error_process'] = 'Ошибка обработки: ';
+$_['error_log_empty'] = 'Лог пуст! Сначала запустите процесс.';
+$_['text_report_header'] = '=== ОТЧЕТ ===';
+$_['text_total_files'] = 'Всего файлов: ';
+$_['text_searching'] = 'Поиск файлов...';
+$_['error_ajax'] = 'Ошибка: ';
+$_['text_resumed'] = '▶ ПРОЦЕСС ВОЗОБНОВЛЕН...';
+$_['text_paused'] = '⏸ ПАУЗА. Процесс приостановлен.';
+$_['confirm_stop'] = 'Вы уверены, что хотите полностью прервать процесс?';
+$_['confirm_delete'] = 'ВНИМАНИЕ! Файлы будут удалены с сервера навсегда без возможности восстановления! Продолжить?';
+$_['confirm_empty_q'] = 'Вы уверены, что хотите полностью очистить папку карантина?';
+$_['confirm_restore'] = 'Все файлы из папки карантина будут возвращены на свои места. Продолжить?';
+$_['button_stopping'] = 'Остановка...';
+$_['text_stopped_user'] = '🛑 ПРОЦЕСС ПРЕРВАН ПОЛЬЗОВАТЕЛЕМ!';
+$_['text_increase'] = 'Увеличение';
+$_['text_done'] = '✅ ГОТОВО! Процесс завершен.';
+$_['error_timeout'] = 'Таймаут сервера. Автоповтор через 3 секунды...';
+$_['text_building_index'] = 'Шаг 1/2: Индексация БД и шаблонов (поиск используемых фото)...';
+$_['text_comparing'] = 'Шаг 2/2: Сравнение физических файлов с индексом...';
+$_['text_quarantine_done'] = '✅ Процесс переноса в image/catalog_trash/ завершен!';
+$_['text_deleted_done'] = '✅ Процесс удаления мусора завершен!';
+$_['text_quarantine_empty'] = '✅ Папка карантина успешно удалена с сервера!';
+$_['text_restore_done'] = '✅ Файлы успешно возвращены из карантина в рабочую папку!';
+$_['text_quarantine_move'] = 'В карантине: ';
+$_['text_deleted_file'] = 'Удален: ';
+$_['text_no_trash'] = 'В выбранных папках мусор не найден! Все файлы используются.';
+$_['text_scanning_dirs'] = 'Сканируем директории: ';
+$_['text_log_used'] = '[ИСПОЛЬЗУЕТСЯ]';
+$_['text_log_trash'] = '[МУСОР]';
+$_['text_log_deleted'] = '[УДАЛЕНО]';
+$_['text_log_del_err'] = '[ОШИБКА УДАЛЕНИЯ]';
+$_['text_log_quarantine'] = '[В КАРАНТИН]';
+$_['text_log_q_err'] = '[ОШИБКА ПЕРЕНОСА]';
+$_['text_log_restored'] = '[ВОССТАНОВЛЕНО]';
+$_['text_log_rest_err'] = '[ОШИБКА ВОССТАНОВЛЕНИЯ]';
+$_['text_used_in'] = 'в: ';
+$_['text_analyzing'] = 'Анализ базы данных...';
+$_['text_clean_empty'] = 'Чисто! Мусора нет.';
+$_['text_processing'] = 'Обработка...';
+$_['text_restoring'] = 'Восстановление файлов...';
+$_['text_all_folders'] = 'image/catalog/ (И все вложенные)';
+$_['text_root_folder'] = 'image/catalog/ (Только корень)';
+$_['text_q_empty_err'] = 'Папка карантина пуста или не существует.';
+$_['error_token'] = 'Неверный токен. Перезагрузите страницу.';
+$_['text_apply_title'] = 'Оптимизация завершена в папку: ';
+$_['text_apply_info'] = 'Проверьте результат. Если всё устраивает — примените изменения к основному каталогу.';
+$_['entry_apply_backup'] = 'Перенести с созданием бэкапа (в Карантин)';
+$_['entry_apply_replace'] = 'Заменить оригиналы безвозвратно';
+$_['button_apply_main'] = 'ПРИМЕНИТЬ К ОСНОВНОМУ КАТАЛОГУ';
+$_['button_delete_copies'] = 'Удалить временные копии (отмена)';
+$_['button_full_cleanup'] = 'Полная очистка всех временных папок и бэкапов';
+$_['text_apply_success'] = '✅ Файлы успешно перенесены. ';
+$_['text_apply_backup_ok'] = 'Оригиналы сохранены в папку: ';
+$_['text_apply_no_backup'] = 'Оригиналы удалены.';
+$_['text_error_source'] = 'Ошибка: Папка с оптимизированными файлами не найдена.';
+$_['confirm_full_cleanup'] = 'ВНИМАНИЕ! Это действие безвозвратно удалит ВСЕ папки бэкапов (backup_*) и временные папки с копиями. Продолжить?';
+$_['text_tools_desc'] = 'Глобальные сканеры и инструменты для работы с файловой системой и БД изображений.';
+$_['text_tool_select'] = 'Выберите инструмент:';
+$_['text_group_scanners'] = 'Сканеры и Анализ';
+$_['text_group_generators'] = 'Генераторы и Обработка';
+$_['text_group_experimental'] = 'Экспериментальные функции (BETA)';
+$_['text_experimental_warn'] = 'Внимание: Экспериментальные функции затрагивают системные файлы или базу данных. Настоятельно рекомендуется сделать бэкап!';
+$_['text_tool_broken_db'] = 'Сканер битых/пустых фото БД';
+$_['text_tool_watermark'] = 'Динамический Вотермарк (Только на кэш)';
+$_['text_tool_duplicates'] = 'Поиск дубликатов файлов (по MD5)';
+$_['text_tool_png_jpg'] = 'Конвертер тяжелых PNG в JPG (сканер файлов без прозрачности)';
+$_['text_tool_placeholders'] = 'Генератор заглушек (Вместо No Image)';
+$_['text_tool_exif'] = 'Очистка EXIF-данных (Геотеги/Мета)';
+$_['text_tool_small_photos'] = 'Сканер слишком мелких фото';
+$_['text_tool_html_broken'] = 'Поиск битых картинок в HTML (Описаниях)';
+$_['text_tool_empty_folders'] = 'Очистка пустых папок (image/catalog)';
+$_['text_tool_smart_cache'] = 'Умная очистка кэша изображений';
+$_['text_tool_folder_tree'] = 'Дерево папок (Статистика веса)';
+$_['text_tool_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load (Без БД)';
+$_['text_tool_translit'] = 'Транслитерация названий файлов';
+$_['text_tool_cache_restore'] = 'Воскрешение оригиналов из Кэша';
+$_['entry_wm_type'] = 'Тип вотермарка';
+$_['text_wm_image'] = 'Изображение (PNG)';
+$_['text_wm_text'] = 'Текст';
+$_['entry_wm_image_path'] = 'Путь к изображению';
+$_['entry_wm_text_val'] = 'Текст вотермарка';
+$_['entry_wm_position'] = 'Позиция (1-9)';
+$_['entry_wm_opacity'] = 'Прозрачность (0-100)';
+$_['entry_wm_category'] = 'Только для Категорий';
+$_['entry_wm_brand'] = 'Только для Брендов';
+$_['entry_min_width'] = 'Минимальная ширина (px)';
+$_['entry_min_height'] = 'Минимальная высота (px)';
+$_['entry_ph_product'] = 'Заглушка для Товаров';
+$_['entry_ph_category'] = 'Заглушка для Категорий';
+$_['entry_ph_brand'] = 'Заглушка для Брендов';
+$_['button_run_tool'] = 'Запустить инструмент';
+$_['button_scan_tool'] = 'Сканировать';
+$_['button_fix_tool'] = 'Исправить найденное';
+$_['text_th_path'] = 'Файл / Путь';
+$_['text_th_size'] = 'Размер';
+$_['text_th_action'] = 'Действие';
+$_['text_th_status'] = 'Статус';
+$_['text_th_problem'] = 'Проблема / Значение';
+$_['text_cron_title'] = 'Настройка Cron';
+$_['text_cron_desc'] = 'Добавьте команду в Cron хостинга для автоматического фонового сжатия.';
+$_['entry_cron_new_only'] = 'Обрабатывать только новые (необработанные) файлы';
+$_['entry_cron_folders'] = 'Папки для сканирования (оставьте пустым для всего каталога)';
+$_['text_promo_title'] = 'Другие модули серии [NAT]';
+$_['text_promo_desc'] = 'Модули серии [NAT] — это инструменты для глубокой оптимизации OpenCart. Мы фокусируемся на автоматизации рутины, ускорении базы данных и очистке серверов от мусора. Все модули имеют открытый исходный код и единую логику управления.';
+$_['text_support'] = 'Техническая поддержка и пожелания:';
+$_['button_more'] = 'Смотреть все модули на OpenCart.com';
+$_['button_more_forum'] = 'Opencartforum';
+$_['text_mod_cat_opt'] = 'Catalog Optimizer [NAT]';
+$_['text_mod_cat_opt_desc'] = 'Скрытие пустых категорий и брендов + SEO сортировка товаров (в наличии сверху) + Очистка мусора БД.';
+$_['text_mod_new_arrivals'] = 'New Arrivals [NAT]: Новинки по датам';
+$_['text_mod_new_arrivals_desc'] = 'Автоматическая SEO-страница новинок. Отображает новинки строго по реальной дате добавления. Слайдеры, сетка и умный сайдбар архива дат.';
+$_['text_mod_img_opt'] = 'Image Optimizer [NAT]';
+$_['text_mod_img_opt_desc'] = 'Текущий модуль. Сжатие и ресайз ОРИГИНАЛОВ фото (image/catalog) в WebP + Очистка хостинга от неиспользуемых изображений.';
+$_['text_mod_dom_scan'] = 'Domain Scanner [NAT]';
+$_['text_mod_dom_scan_desc'] = 'Поиск и чистка внешних ссылок и HTTP-картинок в БД и шаблонах (для переезда на HTTPS).';
+$_['text_mod_poll'] = 'Poll Widget [NAT]';
+$_['text_mod_poll_desc'] = 'Создание опросов и голосований с визуальным конструктором дизайна, глубокой статистикой и защитой от накруток.';
+$_['text_mod_db_opt'] = 'Database Optimizer [NAT]';
+$_['text_mod_db_opt_desc'] = 'Интеллектуальная очистка мусора в базе данных, управление системными логами и добавление критически важных индексов для ускорения.';
+$_['text_mod_im_ex'] = 'Import/Export [NAT]';
+$_['text_mod_im_ex_desc'] = 'Быстрый импорт/экспорт цен и остатков из файлов xls/xlsx/csv/xml/json или по ссылке. Маппинг полей, работа по Cron, текстовые функции.';
+$_['text_mod_admin_tools'] = 'Admin Tools [NAT]';
+$_['text_mod_admin_tools_desc'] = 'Удобные инструменты администратора: вход под клиентом, кастомизация админки, управление правами пользователей и скрытие ненужных пунктов меню.';
+$_['text_mod_utm_tracker'] = 'Order UTM Tracker [NAT]';
+$_['text_mod_utm_tracker_desc'] = 'Автоматическое отслеживание UTM-меток при оформлении заказа. Сохраняет источник перехода, кампанию, ключевые слова и выводит эти данные в заказе для аналитики рекламы.';
+$_['text_info_title_promo_top_bar'] = 'Promo Top Bar [NAT]: Верхний рекламный инфо-баннер, информационная полоса над шапкой, бегущая строка и топ-баннер';
+$_['text_info_desc_promo_top_bar'] = 'Создание интерактивных промо-панелей и слайд-шоу в шапке сайта с конструктором блоков, таймерами, формой подписки и гибким таргетингом.';
+$_['text_tool_no_image'] = 'Товары без главного фото (пусто в БД)';
+$_['text_problem_main_broken'] = 'Битое главное фото (файл удален)';
+$_['text_problem_add_broken'] = 'Битое доп. фото (файл удален)';
+$_['text_problem_no_image'] = 'Отсутствует главное фото';
+$_['text_err_dir'] = 'Ошибка: Директория не найдена или неверный путь.';
+$_['text_err_no_queue'] = 'Ошибка: Очередь не найдена. Сначала запустите сканирование.';
+$_['text_log_del_empty_folder'] = 'Удалена пустая папка: ';
+$_['text_log_no_empty_folders'] = 'Пустых папок в image/catalog/ не найдено.';
+$_['text_log_total_empty_folders'] = 'Всего удалено пустых папок: ';
+$_['text_log_cache_cleared'] = 'Кэш изображений успешно очищен.';
+$_['text_log_wm_smart_mode'] = 'Вотермарки работают в SMART-режиме: оригиналы не трогаются, логотип накладывается только при генерации кэша.';
+$_['text_log_scan_dupes'] = 'Сканирование image/catalog/ на дубликаты (по хешу MD5)... Это может занять время.';
+$_['text_log_found_dupe'] = 'Найден дубликат: ';
+$_['text_log_no_dupes'] = 'Дубликаты не найдены.';
+$_['text_log_total_dupes'] = 'Найдено дубликатов: %s. Потенциальная экономия: %s';
+$_['text_log_fix_dupes_prompt'] = 'Нажмите "Исправить найденное" для перелинковки БД на оригинал и удаления дублей.';
+$_['text_log_fixed_dupe'] = 'Исправлен и удален дубликат: ';
+$_['text_log_success_dupes'] = 'Успешно исправлено дубликатов: %s. Ссылки в БД обновлены.';
+$_['text_log_scan_png'] = 'Поиск тяжелых PNG файлов без прозрачности...';
+$_['text_log_no_png'] = 'Подходящих PNG файлов не найдено.';
+$_['text_log_total_png'] = 'Найдено PNG без прозрачности: %s. Нажмите "Исправить" для конвертации в JPG.';
+$_['text_log_converted_jpg'] = 'Сконвертировано в JPG: ';
+$_['text_log_success_png'] = 'Успешно сконвертировано %s файлов. Освобождено: %s';
+$_['text_log_ph_prod'] = 'Обновлено товаров заглушкой: ';
+$_['text_log_ph_cat'] = 'Обновлено категорий заглушкой: ';
+$_['text_log_ph_brand'] = 'Обновлено брендов заглушкой: ';
+$_['text_log_ph_empty'] = 'Заглушки не выбраны в настройках.';
+$_['text_log_scan_exif'] = 'Сканирование EXIF-данных (мета-теги камер)...';
+$_['text_log_stripped_exif'] = 'Очищен EXIF: ';
+$_['text_log_no_exif'] = 'Файлов с EXIF для очистки не найдено.';
+$_['text_log_success_exif'] = 'Очищен EXIF у %s файлов. Освобождено: %s';
+$_['text_log_scan_small'] = 'Поиск фото размером менее %sx%s px...';
+$_['text_log_too_small'] = 'Слишком маленькое (%sx%s): ';
+$_['text_log_no_small'] = 'Мелких фото не найдено.';
+$_['text_log_total_small'] = 'Найдено мелких фото: %s. Пожалуйста, замените их на качественные.';
+$_['text_log_html_broken'] = 'Битый IMG в HTML таблицы %s (ID: %s): ';
+$_['text_log_no_html_broken'] = 'Битых картинок в HTML-описаниях не найдено.';
+$_['text_log_total_html_broken'] = 'Найдено битых ссылок в HTML: %s. Исправьте их вручную в редакторе.';
+$_['text_log_scan_smart_cache'] = 'Поиск потерянных файлов в image/cache/...';
+$_['text_log_del_orph_cache'] = 'Удален потерянный кэш: ';
+$_['text_log_no_orph_cache'] = 'Потерянного кэша не найдено.';
+$_['text_log_success_smart_cache'] = 'Удалено файлов потерянного кэша: %s. Освобождено: %s';
+$_['text_log_scan_translit'] = 'Поиск файлов с кириллицей или пробелами...';
+$_['text_log_no_bad_names'] = 'Файлов с некорректными именами не найдено.';
+$_['text_log_total_bad_names'] = 'Найдено файлов с кириллицей/пробелами: %s. Нажмите "Исправить" для транслитерации и обновления БД.';
+$_['text_log_renamed'] = 'Переименовано: ';
+$_['text_log_success_translit'] = 'Успешно транслитерировано файлов: %s. БД обновлена.';
+$_['text_log_scan_restore'] = 'Сканирование image/cache/ для восстановления утерянных оригиналов...';
+$_['text_log_restored_cache'] = 'Восстановлено из кэша: ';
+$_['text_log_no_lost_orig'] = 'Отсутствующих оригиналов в кэше не найдено.';
+$_['text_log_success_restore'] = 'Успешно восстановлено оригиналов из кэша: %s.';
+$_['error_invalid_folder'] = 'Ошибка: Недопустимое имя папки!';
+$_['text_formats_title'] = 'Современные форматы (WebP & SVG)';
+$_['text_formats_desc'] = 'Настройки интеграции современных форматов в файловую систему и шаблоны OpenCart.';
+$_['entry_support_svg'] = 'Поддержка загрузки SVG';
+$_['help_support_svg'] = 'Разрешает загрузку векторных SVG-изображений через стандартный Filemanager и их безопасный вывод на витрине без искажений размеров.';
+$_['entry_support_webp'] = 'Поддержка загрузки WebP';
+$_['help_support_webp'] = 'Позволяет вручную загружать, подвязывать и выводить на сайте готовые файлы .webp через Filemanager.';
+$_['entry_truefilemanager_webp'] = 'WebP в TrueFileManager';
+$_['help_truefilemanager_webp'] = 'Добавляет поддержку загрузки, предпросмотра и эскизов WebP в TrueFileManager от sitecreator (если он установлен).';
+$_['entry_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load';
+$_['help_webp_on_fly'] = 'Сверхбыстрая подмена: автоматически меняет расширения .jpg/.png на .webp прямо в HTML-выводе витрины и добавляет атрибут loading="lazy". Не трогает базу данных!';
+$_['help_tool_broken_db'] = 'Ищет в базе данных картинки, физические файлы которых были удалены с сервера. Позволяет очистить битые ссылки.';
+$_['help_tool_empty_folders'] = 'Рекурсивно сканирует директорию image/catalog/ и безопасно удаляет все папки, в которых нет ни одного файла.';
+$_['help_tool_folder_tree'] = 'Строит дерево каталогов и показывает реальный вес каждой папки для поиска "пожирателей" места.';
+$_['help_tool_html_broken'] = 'Сканирует HTML-описания товаров и категорий на наличие тегов
с несуществующими картинками.';
+$_['help_tool_small_photos'] = 'Находит картинки с разрешением ниже заданного (например, меньше 300x300 px). Добавлены ссылки на поиск качественных аналогов в Google Images и Яндекс Картинках.';
+$_['help_tool_duplicates'] = 'Ищет полные дубликаты файлов по MD5 хешу (разные имена, но одинаковая картинка). Позволяет склеить их в один файл и обновить БД.';
+$_['help_tool_watermark'] = 'Наложение водяных знаков в SMART-режиме (только на кэш витрины, оригиналы не изменяются).';
+$_['help_tool_placeholders'] = 'Массово устанавливает выбранную картинку-заглушку для товаров и категорий, у которых вообще нет фото.';
+$_['help_tool_png_jpg'] = 'Инструмент сканирует папку изображений и находит тяжелые PNG-файлы, которые не имеют прозрачного фона (альфа-канала). Поскольку прозрачность им не нужна, их можно безопасно конвертировать в формат JPG. Это значительно облегчает файлы (в среднем на 70-80%) и ускоряет загрузку сайта, а все ссылки в базе данных автоматически обновляются.';
+$_['help_tool_exif'] = 'Сканирует JPEG-файлы и удаляет из них скрытые EXIF-данные (геотеги, данные о камере), уменьшая вес на 10-15%.';
+$_['help_tool_smart_cache'] = 'Ищет в папке image/cache/ кэшированные файлы, оригиналы которых уже удалены из image/catalog/, и стирает этот мусор.';
+$_['help_tool_translit'] = 'Находит файлы с кириллицей или пробелами в названиях, переименовывает их транслитом (tovar_1.jpg) и обновляет пути в БД.';
+$_['help_tool_cache_restore'] = 'Если вы случайно удалили оригинал из catalog, инструмент попытается найти его копию в cache и восстановить обратно.';
+$_['entry_quarantine'] = 'Переместить оригиналы в Карантин (вместо удаления)';
+$_['entry_backup_db'] = 'Создать бэкап изменяемых таблиц в SQL перед запуском';
+$_['button_fix_selected'] = 'ИСПРАВИТЬ ВЫБРАННЫЕ';
+$_['button_export_log'] = 'Экспортировать в CSV';
+$_['text_th_before'] = 'Состояние ДО';
+$_['text_th_after'] = 'Ожидаемый результат ПОСЛЕ';
+$_['text_th_select'] = 'Действие';
+$_['text_th_preview'] = 'Предпросмотр';
+$_['text_th_name'] = 'Объект / Файл';
+$_['text_global_action'] = 'Групповое действие для выбранных:';
+$_['text_action_clear'] = 'Очистить ссылку в БД';
+$_['text_action_disable'] = 'Отключить (Статус = 0)';
+$_['text_action_stock'] = 'Установить "Нет в наличии"';
+$_['text_action_placeholder'] = 'Установить заглушку';
+$_['text_action_ignore'] = 'Ничего не делать';
+$_['text_action_merge'] = 'Склеить (удалить дубликат, оставить оригинал)';
+$_['text_action_convert'] = 'Конвертировать в JPG';
+$_['text_action_rename'] = 'Переименовать транслитом';
+$_['text_action_delete'] = 'Удалить';
+$_['text_action_restore'] = 'Восстановить';
+$_['text_db_backup_created'] = 'Создан бэкап БД: %s';
+$_['text_quarantine_created'] = 'Перенесено в карантин: %s';
+$_['text_fix_status_success'] = 'Успешно выполнено';
+$_['text_fix_status_error'] = 'Ошибка: %s';
+$_['text_log_exported'] = 'Лог успешно экспортирован!';
+$_['text_select_action'] = '-- Выберите действие --';
+$_['error_empty_selection'] = 'Ошибка: Не выбрано ни одной строки для исправления!';
+$_['text_link_admin'] = 'Админка';
+$_['text_link_catalog'] = 'Витрина';
+$_['entry_threads'] = 'Потоков обработки';
+$_['text_threads_optimal'] = 'оптимально';
+$_['button_download_zip'] = 'Скачать ZIP-архив и удалить папку';
+$_['confirm_download_and_delete'] = 'Архив успешно скачался? Можно удалить временную папку копий на сервере?';
+$_['button_clear_backups'] = 'Удалить бэкапы БД';
+$_['button_clear_backups_short'] = 'Очистить бэкапы';
+$_['confirm_clear_backups'] = 'Вы уверены, что хотите полностью удалить все SQL-бэкапы таблиц?';
+$_['text_compare_title'] = 'Сравнение изображений ДО / ПОСЛЕ';
+$_['text_compare_before'] = 'ДО';
+$_['text_compare_after'] = 'ПОСЛЕ';
+$_['text_backups_cleared'] = 'Все SQL-бэкапы таблиц успешно удалены!';
+$_['error_no_backups'] = 'Бэкапы не найдены или папка пуста.';
+$_['button_restore'] = 'Вернуть';
+$_['button_empty'] = 'Очистить';
+$_['entry_wm_targets'] = 'Применять водяной знак к:';
+$_['text_wm_target_product'] = 'Фото товаров';
+$_['text_wm_target_category'] = 'Фото категорий';
+$_['text_wm_target_brand'] = 'Логотипы брендов';
+$_['text_wm_target_banner'] = 'Баннеры и слайды';
+$_['text_wm_target_blog'] = 'Статьи / Блог';
+$_['error_no_scan_data'] = 'Ошибка: Данные сканирования не найдены. Сначала запустите сканирование!';
+$_['error_row_not_found'] = 'Ошибка: Объект не найден в результатах сканирования!';
+$_['error_file_not_found'] = 'Ошибка: Файл не найден на сервере!';
+$_['text_folder_rules_title'] = 'Индивидуальные правила сжатия для папок';
+$_['text_folder_rules_desc'] = 'Вы можете переопределить качество и максимальные размеры для конкретных папок. Если оставить поле пустым, будет использоваться глобальная настройка. Путь указывается относительно папки image (например, catalog/banners/).';
+$_['entry_folder_path'] = 'Путь к папке';
+$_['entry_jpg_quality'] = 'Качество JPG';
+$_['entry_webp_quality'] = 'Качество WebP';
+$_['button_add_rule'] = 'Добавить правило';
+$_['button_remove'] = 'Удалить';
+$_['entry_wm_angle'] = 'Угол наклона водяного знака (градусы)';
+$_['entry_wm_corner_radius'] = 'Скругление углов водяного знака (px)';
+$_['entry_wm_size_type'] = 'Масштабирование водяного знака';
+$_['entry_wm_size_percent'] = 'Размер водяного знака (% от ширины изображения)';
+$_['entry_wm_text_color'] = 'Цвет текста водяного знака';
+$_['entry_wm_text_font'] = 'Шрифт водяного знака (TTF)';
+$_['entry_wm_filter_mode'] = 'Режим фильтрации Категорий/Брендов';
+$_['text_wm_filter_include'] = 'Только для выбранных';
+$_['text_wm_filter_exclude'] = 'Для всех, кроме выбранных';
+$_['text_wm_size_original'] = 'Оригинальный размер';
+$_['text_wm_size_percent'] = 'Пропорционально ширине изображения (%)';
+$_['button_preview_watermark'] = 'Предпросмотр водяного знака';
+$_['text_wm_preview_title'] = 'Предпросмотр водяного знака';
+$_['text_cron_exclude_folders'] = 'Исключить папки из сканирования';
+$_['text_cron_entities'] = 'Какие типы фото обрабатывать?';
+$_['text_cron_quality_override'] = 'Переопределить параметры сжатия для Крона';
+$_['text_cron_recommendations'] = 'Рекомендации по расписанию запуска Cron';
+$_['text_cron_recommendations_desc'] = '
- Для небольших сайтов (до 5000 товаров) рекомендуется запускать Крон каждый час (
0 * * * *). - Для средних сайтов (5000-20000 товаров) рекомендуется запускать раз в 3-6 часов (
0 */6 * * *). - Для крупных сайтов (более 20000 товаров) — один раз в сутки ночью (например, в 2:00:
0 2 * * *).
';
+$_['text_tool_broken_files'] = 'Сканер битых/пустых файлов на сервере';
+$_['help_tool_broken_files'] = 'Сканирует физические файлы в папке image/catalog/ на наличие поврежденных изображений или пустых файлов размером 0 байт.';
+$_['text_grid_broken_file'] = 'Битый или пустой файл на сервере';
+$_['text_grid_broken_file_after'] = 'Удаление или замена заглушкой';
+$_['text_description_broken_files'] = 'Результаты сканирования физических файлов в папке image/catalog/. Здесь отображаются битые (поврежденные) изображения или файлы размером 0 байт.';
+$_['text_action_strip'] = 'Очистить EXIF';
+$_['text_action_set_placeholder'] = 'Установить заглушку';
+$_['text_th_entity'] = 'Объект / Связанные ссылки';
+$_['text_cron_entity_product'] = 'Товары';
+$_['text_cron_entity_category'] = 'Категории';
+$_['text_cron_entity_manufacturer'] = 'Производители / Бренды';
+$_['text_cron_entity_banner'] = 'Баннеры';
+$_['text_cron_entity_blog'] = 'Блог / Статьи';
+$_['entry_cron_jpg_quality'] = 'Качество JPG (Крон)';
+$_['entry_cron_webp_quality'] = 'Качество WebP (Крон)';
+$_['entry_cron_max_width'] = 'Макс. ширина px (Крон)';
+$_['entry_cron_max_height'] = 'Макс. высота px (Крон)';
+$_['text_cron_folder_scan'] = 'Папки для сканирования';
+$_['text_no_fonts'] = 'TTF-шрифты не найдены в system/library/font/';
+$_['button_apply'] = 'Применить';
+$_['text_backup_will_be_created'] = 'Резервная копия базы данных будет автоматически создана перед выполнением этого действия.';
+$_['text_bulk_action'] = 'Групповое действие для выбранных';
+$_['text_grid_results'] = 'Результаты и детали сканирования';
+$_['text_quarantine_will_be_created'] = 'Оригинальные файлы будут перемещены в карантин (image/catalog_trash/) перед изменением.';
+$_['text_success_apply'] = 'Изменения успешно применены!';
+$_['text_description_broken'] = 'Результаты сканирования базы данных на наличие битых ссылок (записи в таблицах с несуществующими файлами).';
+$_['text_description_cache_restore'] = 'Результаты поиска файлов в кэше, оригиналы которых отсутствуют в каталоге.';
+$_['text_description_duplicates'] = 'Результаты поиска полных дубликатов изображений по MD5-хешу.';
+$_['text_description_empty_folders'] = 'Список пустых папок в директории image/catalog/ для удаления.';
+$_['text_description_exif'] = 'Результаты поиска изображений с метаданными EXIF, которые можно очистить.';
+$_['text_description_folder_tree'] = 'Статистика размера папок в каталоге image/catalog/.';
+$_['text_description_html_broken'] = 'Результаты поиска несуществующих файлов картинок, на которые ссылаются описания в HTML.';
+$_['text_description_placeholders'] = 'Результаты поиска сущностей без изображений для заполнения заглушками.';
+$_['text_description_png_jpg'] = 'Результаты поиска тяжелых изображений PNG без прозрачности, которые можно пережать в JPG.';
+$_['text_description_small_photos'] = 'Список изображений, размеры которых меньше минимально заданных (%sx%s px).';
+$_['text_description_smart_cache'] = 'Результаты поиска файлов кэша, оригиналы которых уже были удалены.';
+$_['text_description_translit'] = 'Результаты поиска файлов с кириллицей или пробелами в названиях.';
+$_['text_grid_broken_db_after'] = 'Очистить ссылку или установить заглушку';
+$_['text_grid_dupe_after'] = 'Оригинал (остаётся)';
+$_['text_grid_dupe_before'] = 'Дубликат (будет удалён)';
+$_['text_grid_empty_folder'] = 'Пустая папка';
+$_['text_grid_empty_folder_after'] = 'Удалить пустую папку';
+$_['text_grid_exif_after'] = 'Очистить метаданные';
+$_['text_grid_exif_before'] = 'Содержит EXIF';
+$_['text_grid_html_after'] = 'Исправить ссылку вручную';
+$_['text_grid_missing_file'] = 'Файл отсутствует';
+$_['text_grid_missing_html'] = 'Картинка не найдена в описании';
+$_['text_grid_missing_orig'] = 'Оригинал отсутствует';
+$_['text_grid_missing_orig_after'] = 'Восстановить оригинал из кэша';
+$_['text_grid_no_image'] = 'Нет изображения (пусто)';
+$_['text_grid_orph_cache'] = 'Осиротевший кэш';
+$_['text_grid_orph_cache_after'] = 'Удалить ненужный кэш';
+$_['text_grid_ph_brand_after'] = 'Установить заглушку бренда';
+$_['text_grid_ph_category_after'] = 'Установить заглушку категории';
+$_['text_grid_ph_product_after'] = 'Установить заглушку товара';
+$_['text_grid_small_photo_after'] = 'Рекомендуется заменить на более крупное';
+$_['text_grid_too_small'] = 'Слишком маленькое';
+$_['text_no_relations'] = 'Нет связей в БД';
+$_['text_action_archive'] = 'Архивировать (в ZIP)';
+$_['text_action_archive_delete'] = 'Архивировать + Удалить';
+$_['text_tool_sanitizer'] = 'Санитайзер имен файлов';
+$_['help_tool_sanitizer'] = 'Массовая очистка имен файлов и папок от кириллицы, пробелов и спецсимволов, приведение расширений к единому виду.';
+$_['text_description_sanitizer'] = 'Результаты анализа имен файлов для санитаризации по выбранным правилам.';
+$_['entry_sz_translit'] = 'Транслитерация (кириллица в латиницу)';
+$_['entry_sz_spaces'] = 'Заменять пробелы на символ "_"';
+$_['entry_sz_special'] = 'Удалять специальные символы';
+$_['entry_sz_lowercase_name'] = 'Имя файла в нижний регистр';
+$_['entry_sz_lowercase_ext'] = 'Расширение в нижний регистр';
+$_['entry_sz_normalize_ext'] = 'Нормализовать расширения (jpeg -> jpg)';
+$_['entry_cron_folder_mode'] = 'Режим фильтрации папок';
+$_['text_cron_folder_mode_exclude'] = 'Сканировать все, кроме выбранных (Исключения)';
+$_['text_cron_folder_mode_include'] = 'Сканировать только выбранные папки';
+$_['button_select_all'] = 'Выбрать все';
+$_['button_deselect_all'] = 'Снять все';
+$_['entry_wm_upload_font'] = 'Загрузить свой шрифт TTF';
+$_['button_upload_font'] = 'Загрузить шрифт';
+$_['text_success_font_upload'] = 'Шрифт успешно загружен!';
+$_['error_font_upload'] = 'Ошибка загрузки шрифта! Разрешены только файлы .ttf весом до 5 МБ.';
+$_['entry_lazy_load'] = 'Прогрессивная ленивая загрузка';
+$_['help_lazy_load'] = 'Включает премиальную прогрессивную отложенную загрузку на витрине. Изображения заменяются микро-превью и плавно размываются (blur-up), подгружаясь по мере прокрутки.';
+$_['confirm_replace_mode'] = 'ВНИМАНИЕ! Вы выбрали режим «Заменять оригиналы». Все изображения будут перезаписаны прямо на сервере. Настоятельно рекомендуем сделать резервную копию. Вы уверены, что хотите продолжить?';
+$_['text_compare'] = 'Сравнить';
+$_['text_home'] = 'Главная';
+$_['text_tech_gd'] = 'Библиотека GD';
+$_['text_tech_imagick'] = 'Imagick';
+$_['text_tech_webp'] = 'Поддержка WebP';
+$_['text_position_1'] = '1 - Слева вверху';
+$_['text_position_2'] = '2 - По центру вверху';
+$_['text_position_3'] = '3 - Справа вверху';
+$_['text_position_4'] = '4 - Слева посередине';
+$_['text_position_5'] = '5 - По центру';
+$_['text_position_6'] = '6 - Справа посередине';
+$_['text_position_7'] = '7 - Слева внизу';
+$_['text_position_8'] = '8 - По центру внизу';
+$_['text_position_9'] = '9 - Справа внизу';
+
+$_['entry_log_level'] = 'Уровень лога';
+$_['text_log_changed_only'] = 'Только изменённые';
+$_['text_log_all'] = 'Все файлы (подробно)';
+$_['text_skipped_no_gain'] = 'Пропущен (нет улучшения)';
+$_['text_reset_cache_hint'] = 'Сбросить кэш оптимизации (полный пересканирование)';
+$_['confirm_reset_cache'] = 'Сбросить кэш оптимизации? Следующее сканирование проверит ВСЕ файлы заново.';
+$_['text_cache_cleared'] = 'Кэш оптимизации очищен. Следующее сканирование проверит все файлы.';
+$_['error_wm_preview'] = 'Ошибка генерации превью водяного знака.';
+$_['error_wm_too_large'] = 'Изображение водяного знака слишком большое (%dx%d px)! Максимально допустимый размер: %dx%d px.';
+$_['text_apply_errors_warning'] = 'ВНИМАНИЕ: Некоторые файлы не удалось заменить (заблокированы или нет прав):';
+$_['text_action_compress'] = 'Сжать изображения';
+$_['text_estimated'] = 'Прогноз';
+$_['entry_min_savings_bytes'] = 'Мин. сжатие (байт)';
+$_['entry_min_savings_percent'] = 'Мин. сжатие (%)';
+$_['text_optimized'] = 'Оптимизировано';
+$_['entry_broken_fallback'] = 'Заглушка для битых фото';
+$_['help_broken_fallback'] = 'Автоматически заменяет отсутствующие или поврежденные изображения каталога на витрине на изображение-заглушку.';
+$_['entry_fallback_image'] = 'Изображение-заглушка';
+$_['help_fallback_image'] = 'Выберите изображение, которое будет показано, если оригинальный файл картинки товара или категории отсутствует. По умолчанию используется no_image.png.';
+$_['text_tool_cmyk'] = 'Конвертер CMYK в RGB';
+$_['help_tool_cmyk'] = 'Конвертация JPEG изображений из цветового профиля CMYK в sRGB для корректного отображения в браузерах Safari и на устройствах iOS.';
+$_['text_tool_heavy_files'] = 'Поиск тяжелых файлов';
+$_['help_tool_heavy_files'] = 'Поиск самых тяжелых оригинальных изображений в каталоге с возможностью их быстрого сжатия прямо здесь.';
+$_['entry_heavy_files_limit'] = 'Макс. количество найденных файлов (всего)';
+$_['text_action_convert_rgb'] = 'Конвертировать в RGB';
+$_['text_description_cmyk'] = 'Найдены файлы в цветовом пространстве CMYK. Конвертация в sRGB гарантирует корректное отображение на всех платформах, включая iOS/macOS.';
+$_['text_description_heavy'] = 'Список из %d самых тяжелых файлов в каталоге изображений. Вы можете оптимизировать их прямо здесь.';
+$_['text_cron_folder_hint_exclude_all'] = 'Статус: Будут сканироваться все папки (исключения не выбраны).';
+$_['text_cron_folder_hint_exclude_some'] = 'Статус: Будут сканироваться все папки, КРОМЕ %d отмеченных.';
+$_['text_cron_folder_hint_include_some'] = 'Статус: Будут сканироваться только %d отмеченных папок.';
+$_['text_cron_folder_hint_include_none'] = 'ВНИМАНИЕ: Ни одна папка не выбрана! Крон ничего не будет сканировать.';
+$_['text_action_apply_changes'] = 'Применить указанные изменения';
+$_['entry_wm_status'] = 'Статус водяного знака';
+$_['text_disabled'] = 'Отключено';
+$_['entry_rule_name'] = 'Название правила';
+$_['entry_rule_status'] = 'Статус правила';
+$_['entry_action'] = 'Действие';
+$_['entry_ph_status'] = 'Статус заглушек';
+$_['entry_sanitizer_limit'] = 'Макс. файлов для поиска (лимит)';
+$_['entry_heavy_files_min_size'] = 'Минимальный размер';
+$_['entry_png_jpg_limit'] = 'Макс. файлов для поиска (лимит)';
+$_['entry_png_jpg_min_size'] = 'Минимальный размер';
+$_['text_wm_rule_title'] = 'Правило водяного знака';
+$_['button_close'] = 'Закрыть';
+$_['text_ph_rule_title'] = 'Правило заглушки';
+$_['entry_ph_image'] = 'Изображение заглушки';
+$_['button_clear_cache_wm'] = 'Очистить кэш (применить водяной знак)';
+$_['text_active'] = 'Активна';
+$_['text_error'] = 'Не активна';
+$_['text_th_dupe_delete'] = 'Файл для удаления (Дубликат)';
+$_['text_th_dupe_keep'] = 'Файл для сохранения (Оригинал)';
+$_['text_dupe_original_label'] = 'Оригинал';
+$_['text_dupe_duplicate_label'] = 'Дубликат';
+
+$_['text_disk_usage'] = 'Использование диска';
+$_['text_cumulative_stats'] = 'Статистика оптимизации';
+$_['text_disk_catalog'] = 'Каталог изображений';
+$_['text_disk_cache'] = 'Кэш OC';
+$_['text_disk_trash'] = 'Корзина модуля';
+$_['text_disk_other'] = 'Прочее';
+$_['text_disk_free'] = 'Свободно';
+$_['text_total_files_opt'] = 'Файлов обработано';
+$_['text_total_saved'] = 'Всего сэкономлено';
+$_['text_avg_saving_pct'] = 'Средняя экономия';
+$_['text_stats_hint'] = 'Статистика накапливается по всем сессиям (хранится локально в браузере)';
+$_['text_reset_stats'] = 'Сбросить статистику';
+$_['text_reset_stats_confirm']= 'Сбросить накопленную статистику оптимизации?';
+$_['text_export_import'] = 'Экспорт / Импорт настроек';
+$_['button_export_settings'] = 'Экспорт настроек (JSON)';
+$_['button_import_settings'] = 'Импортировать настройки';
+$_['help_export_settings'] = 'Скачать все настройки модуля в JSON-файл';
+$_['help_import_settings'] = 'Загрузить ранее экспортированный JSON для восстановления настроек';
+$_['text_import_success'] = 'Настройки успешно импортированы. Перезагрузите страницу для применения.';
+$_['error_import_file'] = 'Файл не загружен или ошибка загрузки';
+$_['error_import_invalid'] = 'Некорректный файл настроек (неверный модуль или формат)';
+$_['text_click_to_load'] = 'Нажмите ↑ для загрузки данных диска';
+$_['tab_formats'] = 'Форматы изображений';
+
+$_['text_disk_quota_legend'] = 'Лимиты диска хостинга (вручную)';
+$_['text_disk_quota_desc'] = 'Если график дискового пространства показывает неверные данные (физический диск сервера вместо лимита вашего хостинга), вы можете указать лимиты вашего тарифа вручную. Укажите 0, чтобы использовать автоопределение.';
+$_['entry_disk_quota_total'] = 'Выделено диска на хостинге (ГБ)';
+$_['entry_disk_quota_used'] = 'Занято диска на хостинге всего (ГБ)';
+$_['entry_auto_disk'] = 'Автообновление при входе';
+
+// Cron Tasks
+$_['entry_cron_task_name'] = 'Название задачи';
+$_['entry_cron_task_summary'] = 'Параметры сжатия';
+$_['button_add_cron_task'] = 'Добавить задачу';
+$_['button_copy_cron_url'] = 'Копировать URL';
+$_['text_cron_recommended_url'] = 'URL для запуска задачи крона:';
+
+// Licensing
+$_['text_license_required'] = 'Требуется лицензионный ключ';
+$_['text_license_required_desc'] = 'Пожалуйста, введите лицензионный ключ для активации модуля. Все функции настроек и оптимизации заблокированы до ввода валидного ключа.';
+$_['entry_token_desc'] = 'Введите токен активации, выданный для вашего основного домена. Вы можете получить его в личном кабинете на форуме или обратившись в поддержку.';
+$_['button_activate'] = 'Активировать модуль';
+$_['text_support'] = 'Техническая поддержка';
+$_['text_support_desc'] = 'Если у вас ещё нет ключа или возникли проблемы, пожалуйста, сообщите номер вашего заказа и домен.';
+
+// New settings
+$_['entry_wm_max_width'] = 'Макс. ширина водяного знака (px)';
+$_['entry_wm_max_height'] = 'Макс. высота водяного знака (px)';
+$_['help_wm_max_width'] = 'Если исходное изображение водяного знака превышает эту ширину, оно будет автоматически масштабировано. Укажите 0 или оставьте пустым для значения по умолчанию (800px).';
+$_['help_wm_max_height'] = 'Если исходное изображение водяного знака превышает эту высоту, оно будет автоматически масштабировано. Укажите 0 или оставьте пустым для значения по умолчанию (800px).';
+$_['entry_disk_status'] = 'Включить сканирование диска и график';
+$_['help_disk_status'] = 'Если включено, модуль будет периодически сканировать объем папки картинок и отображать круговую диаграмму. Рекомендуется выключить на больших сайтах для ускорения загрузки панели.';
+$_['text_disk_settings_title'] = 'Настройка лимитов и сканирования диска';
+
diff --git a/upload/admin/language/ru_ru/module/img_opti.php b/upload/admin/language/ru_ru/module/img_opti.php
new file mode 100644
index 0000000..28fd6a4
--- /dev/null
+++ b/upload/admin/language/ru_ru/module/img_opti.php
@@ -0,0 +1,565 @@
+Image Optimizer [NAT]: Сжатие оригиналов и удаление мусора';
+$_['text_extension'] = 'Расширения';
+$_['text_edit'] = 'Настройки модуля';
+$_['text_success'] = 'Настройки успешно сохранены!';
+$_['entry_warning'] = 'ВНИМАНИЕ: Обязательно сделайте бэкап файлов сайта и особенно папки /image/catalog перед началом работы!';
+$_['text_tech'] = 'Проверка технологий сервера:';
+$_['text_author'] = 'Техническая поддержка и пожелания: info@nat.od.ua';
+$_['tab_optimize'] = 'Оптимизация и Ресайз';
+$_['tab_cleaner'] = 'Очистка неиспользуемых изображений';
+$_['tab_info'] = 'Инфо / Экосистема [NAT]';
+$_['tab_settings'] = 'Настройки';
+$_['tab_tools'] = 'Инструменты (pro)';
+$_['tab_cron'] = 'Крон-задачи';
+$_['entry_mode'] = 'Режим работы';
+$_['text_copy'] = 'Создать копию (безопасно)';
+$_['text_replace'] = 'Заменять оригиналы (требует бэкап!)';
+$_['entry_folder'] = 'Имя папки для копии';
+$_['entry_batch'] = 'Файлов за проход';
+$_['entry_log_limit'] = 'Строк лога на экране';
+$_['entry_max_width'] = 'Макс. ширина (px) [0 - без лимита]';
+$_['entry_max_height'] = 'Макс. высота (px) [0 - без лимита]';
+$_['entry_jpg'] = 'Качество JPG (0-100)';
+$_['entry_png'] = 'Сжатие PNG (0-9)';
+$_['entry_webp'] = 'Качество WebP (0-100)';
+$_['entry_targets'] = 'Что оптимизировать?';
+$_['text_all_catalog'] = '[ Весь каталог image/catalog ]';
+$_['text_root_files'] = 'Файлы только в корне image/catalog';
+$_['entry_threshold'] = 'Порог замены (%)';
+$_['help_threshold'] = '0: заменять только если вес стал меньше. 10: разрешить увеличение веса до 10%.';
+$_['entry_token'] = 'Токен активации (на корень домена)';
+$_['entry_status'] = 'Статус модуля';
+$_['entry_menu_position'] = 'Позиция меню [NAT]';
+$_['text_menu_module_only'] = 'Только в модулях';
+$_['text_menu_header'] = 'В шапке (Header)';
+$_['text_menu_sidebar'] = 'В боковом меню (Sidebar)';
+$_['text_menu_both'] = 'Везде (Шапка + Сайдбар)';
+$_['text_status_on'] = 'Включено';
+$_['text_status_off'] = 'Отключено';
+$_['entry_engine'] = 'Движок обработки изображений';
+$_['text_engine_gd'] = 'GD (Стандарт)';
+$_['text_engine_imagick'] = 'Imagick (Высокое качество, сохранение профилей sRGB)';
+$_['entry_license'] = 'Лицензия';
+$_['text_cleaner_info'] = 'Этот инструмент ищет файлы, которые физически существуют на диске, но нигде не используются в базе данных или файлах шаблона.';
+$_['entry_clean_targets'] = 'В каких папках искать мусор?';
+$_['entry_extended_log'] = 'Расширенный лог (показать используемые фото и где они найдены)';
+$_['entry_process_broken'] = 'Учитывать файлы с битой кодировкой (имена с символом "?")';
+$_['button_scan_trash'] = 'НАЙТИ МУСОР';
+$_['button_quarantine'] = 'В Карантин (Безопасно)';
+$_['button_delete_trash'] = 'Удалить навсегда';
+$_['button_empty_quarantine'] = 'Очистить папку Карантина';
+$_['button_restore_quarantine'] = 'Вернуть из Карантина';
+$_['text_scan_result'] = 'Результаты сканирования';
+$_['text_trash_files'] = 'Мусорных файлов: ';
+$_['text_trash_size'] = 'Потенциально освободится: ';
+$_['button_start'] = 'СТАРТ ОПТИМИЗАЦИИ';
+$_['button_pause'] = 'ПАУЗА';
+$_['button_stop'] = 'ОСТАНОВИТЬ';
+$_['button_continue'] = 'ПРОДОЛЖИТЬ';
+$_['button_start_new'] = 'СТАРТ (Новый запуск)';
+$_['button_download_log'] = 'Скачать лог в TXT';
+$_['button_download'] = 'Скачать';
+$_['button_save'] = 'Сохранить';
+$_['button_cancel'] = 'Отмена';
+$_['text_progress'] = 'Прогресс:';
+$_['text_old_size'] = 'Было:';
+$_['text_new_size'] = 'Стало:';
+$_['text_savings'] = 'Экономия:';
+$_['text_detailed_log'] = 'Детальный лог';
+$_['text_page'] = 'Стр.';
+$_['text_waiting'] = 'Ожидание запуска...';
+$_['text_enabled'] = 'Включено';
+$_['text_disabled_error'] = 'Выключено (ОШИБКА)';
+$_['text_supported'] = 'Поддерживается';
+$_['text_no'] = 'Нет';
+$_['error_permission'] = 'У вас нет прав для управления модулем!';
+$_['error_license'] = 'Ошибка доступа: Неверный токен активации для этого домена!';
+$_['error_domain'] = ' (Домен: ';
+$_['text_found'] = 'Найдено файлов: ';
+$_['text_compressed'] = 'Сжат';
+$_['text_original'] = 'Оригинал';
+$_['text_error_process'] = 'Ошибка обработки: ';
+$_['error_log_empty'] = 'Лог пуст! Сначала запустите процесс.';
+$_['text_report_header'] = '=== ОТЧЕТ ===';
+$_['text_total_files'] = 'Всего файлов: ';
+$_['text_searching'] = 'Поиск файлов...';
+$_['error_ajax'] = 'Ошибка: ';
+$_['text_resumed'] = '▶ ПРОЦЕСС ВОЗОБНОВЛЕН...';
+$_['text_paused'] = '⏸ ПАУЗА. Процесс приостановлен.';
+$_['confirm_stop'] = 'Вы уверены, что хотите полностью прервать процесс?';
+$_['confirm_delete'] = 'ВНИМАНИЕ! Файлы будут удалены с сервера навсегда без возможности восстановления! Продолжить?';
+$_['confirm_empty_q'] = 'Вы уверены, что хотите полностью очистить папку карантина?';
+$_['confirm_restore'] = 'Все файлы из папки карантина будут возвращены на свои места. Продолжить?';
+$_['button_stopping'] = 'Остановка...';
+$_['text_stopped_user'] = '🛑 ПРОЦЕСС ПРЕРВАН ПОЛЬЗОВАТЕЛЕМ!';
+$_['text_increase'] = 'Увеличение';
+$_['text_done'] = '✅ ГОТОВО! Процесс завершен.';
+$_['error_timeout'] = 'Таймаут сервера. Автоповтор через 3 секунды...';
+$_['text_building_index'] = 'Шаг 1/2: Индексация БД и шаблонов (поиск используемых фото)...';
+$_['text_comparing'] = 'Шаг 2/2: Сравнение физических файлов с индексом...';
+$_['text_quarantine_done'] = '✅ Процесс переноса в image/catalog_trash/ завершен!';
+$_['text_deleted_done'] = '✅ Процесс удаления мусора завершен!';
+$_['text_quarantine_empty'] = '✅ Папка карантина успешно удалена с сервера!';
+$_['text_restore_done'] = '✅ Файлы успешно возвращены из карантина в рабочую папку!';
+$_['text_quarantine_move'] = 'В карантине: ';
+$_['text_deleted_file'] = 'Удален: ';
+$_['text_no_trash'] = 'В выбранных папках мусор не найден! Все файлы используются.';
+$_['text_scanning_dirs'] = 'Сканируем директории: ';
+$_['text_log_used'] = '[ИСПОЛЬЗУЕТСЯ]';
+$_['text_log_trash'] = '[МУСОР]';
+$_['text_log_deleted'] = '[УДАЛЕНО]';
+$_['text_log_del_err'] = '[ОШИБКА УДАЛЕНИЯ]';
+$_['text_log_quarantine'] = '[В КАРАНТИН]';
+$_['text_log_q_err'] = '[ОШИБКА ПЕРЕНОСА]';
+$_['text_log_restored'] = '[ВОССТАНОВЛЕНО]';
+$_['text_log_rest_err'] = '[ОШИБКА ВОССТАНОВЛЕНИЯ]';
+$_['text_used_in'] = 'в: ';
+$_['text_analyzing'] = 'Анализ базы данных...';
+$_['text_clean_empty'] = 'Чисто! Мусора нет.';
+$_['text_processing'] = 'Обработка...';
+$_['text_restoring'] = 'Восстановление файлов...';
+$_['text_all_folders'] = 'image/catalog/ (И все вложенные)';
+$_['text_root_folder'] = 'image/catalog/ (Только корень)';
+$_['text_q_empty_err'] = 'Папка карантина пуста или не существует.';
+$_['error_token'] = 'Неверный токен. Перезагрузите страницу.';
+$_['text_apply_title'] = 'Оптимизация завершена в папку: ';
+$_['text_apply_info'] = 'Проверьте результат. Если всё устраивает — примените изменения к основному каталогу.';
+$_['entry_apply_backup'] = 'Перенести с созданием бэкапа (в Карантин)';
+$_['entry_apply_replace'] = 'Заменить оригиналы безвозвратно';
+$_['button_apply_main'] = 'ПРИМЕНИТЬ К ОСНОВНОМУ КАТАЛОГУ';
+$_['button_delete_copies'] = 'Удалить временные копии (отмена)';
+$_['button_full_cleanup'] = 'Полная очистка всех временных папок и бэкапов';
+$_['text_apply_success'] = '✅ Файлы успешно перенесены. ';
+$_['text_apply_backup_ok'] = 'Оригиналы сохранены в папку: ';
+$_['text_apply_no_backup'] = 'Оригиналы удалены.';
+$_['text_error_source'] = 'Ошибка: Папка с оптимизированными файлами не найдена.';
+$_['confirm_full_cleanup'] = 'ВНИМАНИЕ! Это действие безвозвратно удалит ВСЕ папки бэкапов (backup_*) и временные папки с копиями. Продолжить?';
+$_['text_tools_desc'] = 'Глобальные сканеры и инструменты для работы с файловой системой и БД изображений.';
+$_['text_tool_select'] = 'Выберите инструмент:';
+$_['text_group_scanners'] = 'Сканеры и Анализ';
+$_['text_group_generators'] = 'Генераторы и Обработка';
+$_['text_group_experimental'] = 'Экспериментальные функции (BETA)';
+$_['text_experimental_warn'] = 'Внимание: Экспериментальные функции затрагивают системные файлы или базу данных. Настоятельно рекомендуется сделать бэкап!';
+$_['text_tool_broken_db'] = 'Сканер битых/пустых фото БД';
+$_['text_tool_watermark'] = 'Динамический Вотермарк (Только на кэш)';
+$_['text_tool_duplicates'] = 'Поиск дубликатов файлов (по MD5)';
+$_['text_tool_png_jpg'] = 'Конвертер тяжелых PNG в JPG (сканер файлов без прозрачности)';
+$_['text_tool_placeholders'] = 'Генератор заглушек (Вместо No Image)';
+$_['text_tool_exif'] = 'Очистка EXIF-данных (Геотеги/Мета)';
+$_['text_tool_small_photos'] = 'Сканер слишком мелких фото';
+$_['text_tool_html_broken'] = 'Поиск битых картинок в HTML (Описаниях)';
+$_['text_tool_empty_folders'] = 'Очистка пустых папок (image/catalog)';
+$_['text_tool_smart_cache'] = 'Умная очистка кэша изображений';
+$_['text_tool_folder_tree'] = 'Дерево папок (Статистика веса)';
+$_['text_tool_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load (Без БД)';
+$_['text_tool_translit'] = 'Транслитерация названий файлов';
+$_['text_tool_cache_restore'] = 'Воскрешение оригиналов из Кэша';
+$_['entry_wm_type'] = 'Тип вотермарка';
+$_['text_wm_image'] = 'Изображение (PNG)';
+$_['text_wm_text'] = 'Текст';
+$_['entry_wm_image_path'] = 'Путь к изображению';
+$_['entry_wm_text_val'] = 'Текст вотермарка';
+$_['entry_wm_position'] = 'Позиция (1-9)';
+$_['entry_wm_opacity'] = 'Прозрачность (0-100)';
+$_['entry_wm_category'] = 'Только для Категорий';
+$_['entry_wm_brand'] = 'Только для Брендов';
+$_['entry_min_width'] = 'Минимальная ширина (px)';
+$_['entry_min_height'] = 'Минимальная высота (px)';
+$_['entry_ph_product'] = 'Заглушка для Товаров';
+$_['entry_ph_category'] = 'Заглушка для Категорий';
+$_['entry_ph_brand'] = 'Заглушка для Брендов';
+$_['button_run_tool'] = 'Запустить инструмент';
+$_['button_scan_tool'] = 'Сканировать';
+$_['button_fix_tool'] = 'Исправить найденное';
+$_['text_th_path'] = 'Файл / Путь';
+$_['text_th_size'] = 'Размер';
+$_['text_th_action'] = 'Действие';
+$_['text_th_status'] = 'Статус';
+$_['text_th_problem'] = 'Проблема / Значение';
+$_['text_cron_title'] = 'Настройка Cron';
+$_['text_cron_desc'] = 'Добавьте команду в Cron хостинга для автоматического фонового сжатия.';
+$_['entry_cron_new_only'] = 'Обрабатывать только новые (необработанные) файлы';
+$_['entry_cron_folders'] = 'Папки для сканирования (оставьте пустым для всего каталога)';
+$_['text_promo_title'] = 'Другие модули серии [NAT]';
+$_['text_promo_desc'] = 'Модули серии [NAT] — это инструменты для глубокой оптимизации OpenCart. Мы фокусируемся на автоматизации рутины, ускорении базы данных и очистке серверов от мусора. Все модули имеют открытый исходный код и единую логику управления.';
+$_['text_support'] = 'Техническая поддержка и пожелания:';
+$_['button_more'] = 'Смотреть все модули на OpenCart.com';
+$_['button_more_forum'] = 'Opencartforum';
+$_['text_mod_cat_opt'] = 'Catalog Optimizer [NAT]';
+$_['text_mod_cat_opt_desc'] = 'Скрытие пустых категорий и брендов + SEO сортировка товаров (в наличии сверху) + Очистка мусора БД.';
+$_['text_mod_new_arrivals'] = 'New Arrivals [NAT]: Новинки по датам';
+$_['text_mod_new_arrivals_desc'] = 'Автоматическая SEO-страница новинок. Отображает новинки строго по реальной дате добавления. Слайдеры, сетка и умный сайдбар архива дат.';
+$_['text_mod_img_opt'] = 'Image Optimizer [NAT]';
+$_['text_mod_img_opt_desc'] = 'Текущий модуль. Сжатие и ресайз ОРИГИНАЛОВ фото (image/catalog) в WebP + Очистка хостинга от неиспользуемых изображений.';
+$_['text_mod_dom_scan'] = 'Domain Scanner [NAT]';
+$_['text_mod_dom_scan_desc'] = 'Поиск и чистка внешних ссылок и HTTP-картинок в БД и шаблонах (для переезда на HTTPS).';
+$_['text_mod_poll'] = 'Poll Widget [NAT]';
+$_['text_mod_poll_desc'] = 'Создание опросов и голосований с визуальным конструктором дизайна, глубокой статистикой и защитой от накруток.';
+$_['text_mod_db_opt'] = 'Database Optimizer [NAT]';
+$_['text_mod_db_opt_desc'] = 'Интеллектуальная очистка мусора в базе данных, управление системными логами и добавление критически важных индексов для ускорения.';
+$_['text_mod_im_ex'] = 'Import/Export [NAT]';
+$_['text_mod_im_ex_desc'] = 'Быстрый импорт/экспорт цен и остатков из файлов xls/xlsx/csv/xml/json или по ссылке. Маппинг полей, работа по Cron, текстовые функции.';
+$_['text_mod_admin_tools'] = 'Admin Tools [NAT]';
+$_['text_mod_admin_tools_desc'] = 'Удобные инструменты администратора: вход под клиентом, кастомизация админки, управление правами пользователей и скрытие ненужных пунктов меню.';
+$_['text_mod_utm_tracker'] = 'Order UTM Tracker [NAT]';
+$_['text_mod_utm_tracker_desc'] = 'Автоматическое отслеживание UTM-меток при оформлении заказа. Сохраняет источник перехода, кампанию, ключевые слова и выводит эти данные в заказе для аналитики рекламы.';
+$_['text_info_title_promo_top_bar'] = 'Promo Top Bar [NAT]: Верхний рекламный инфо-баннер, информационная полоса над шапкой, бегущая строка и топ-баннер';
+$_['text_info_desc_promo_top_bar'] = 'Создание интерактивных промо-панелей и слайд-шоу в шапке сайта с конструктором блоков, таймерами, формой подписки и гибким таргетингом.';
+$_['text_tool_no_image'] = 'Товары без главного фото (пусто в БД)';
+$_['text_problem_main_broken'] = 'Битое главное фото (файл удален)';
+$_['text_problem_add_broken'] = 'Битое доп. фото (файл удален)';
+$_['text_problem_no_image'] = 'Отсутствует главное фото';
+$_['text_err_dir'] = 'Ошибка: Директория не найдена или неверный путь.';
+$_['text_err_no_queue'] = 'Ошибка: Очередь не найдена. Сначала запустите сканирование.';
+$_['text_log_del_empty_folder'] = 'Удалена пустая папка: ';
+$_['text_log_no_empty_folders'] = 'Пустых папок в image/catalog/ не найдено.';
+$_['text_log_total_empty_folders'] = 'Всего удалено пустых папок: ';
+$_['text_log_cache_cleared'] = 'Кэш изображений успешно очищен.';
+$_['text_log_wm_smart_mode'] = 'Вотермарки работают в SMART-режиме: оригиналы не трогаются, логотип накладывается только при генерации кэша.';
+$_['text_log_scan_dupes'] = 'Сканирование image/catalog/ на дубликаты (по хешу MD5)... Это может занять время.';
+$_['text_log_found_dupe'] = 'Найден дубликат: ';
+$_['text_log_no_dupes'] = 'Дубликаты не найдены.';
+$_['text_log_total_dupes'] = 'Найдено дубликатов: %s. Потенциальная экономия: %s';
+$_['text_log_fix_dupes_prompt'] = 'Нажмите "Исправить найденное" для перелинковки БД на оригинал и удаления дублей.';
+$_['text_log_fixed_dupe'] = 'Исправлен и удален дубликат: ';
+$_['text_log_success_dupes'] = 'Успешно исправлено дубликатов: %s. Ссылки в БД обновлены.';
+$_['text_log_scan_png'] = 'Поиск тяжелых PNG файлов без прозрачности...';
+$_['text_log_no_png'] = 'Подходящих PNG файлов не найдено.';
+$_['text_log_total_png'] = 'Найдено PNG без прозрачности: %s. Нажмите "Исправить" для конвертации в JPG.';
+$_['text_log_converted_jpg'] = 'Сконвертировано в JPG: ';
+$_['text_log_success_png'] = 'Успешно сконвертировано %s файлов. Освобождено: %s';
+$_['text_log_ph_prod'] = 'Обновлено товаров заглушкой: ';
+$_['text_log_ph_cat'] = 'Обновлено категорий заглушкой: ';
+$_['text_log_ph_brand'] = 'Обновлено брендов заглушкой: ';
+$_['text_log_ph_empty'] = 'Заглушки не выбраны в настройках.';
+$_['text_log_scan_exif'] = 'Сканирование EXIF-данных (мета-теги камер)...';
+$_['text_log_stripped_exif'] = 'Очищен EXIF: ';
+$_['text_log_no_exif'] = 'Файлов с EXIF для очистки не найдено.';
+$_['text_log_success_exif'] = 'Очищен EXIF у %s файлов. Освобождено: %s';
+$_['text_log_scan_small'] = 'Поиск фото размером менее %sx%s px...';
+$_['text_log_too_small'] = 'Слишком маленькое (%sx%s): ';
+$_['text_log_no_small'] = 'Мелких фото не найдено.';
+$_['text_log_total_small'] = 'Найдено мелких фото: %s. Пожалуйста, замените их на качественные.';
+$_['text_log_html_broken'] = 'Битый IMG в HTML таблицы %s (ID: %s): ';
+$_['text_log_no_html_broken'] = 'Битых картинок в HTML-описаниях не найдено.';
+$_['text_log_total_html_broken'] = 'Найдено битых ссылок в HTML: %s. Исправьте их вручную в редакторе.';
+$_['text_log_scan_smart_cache'] = 'Поиск потерянных файлов в image/cache/...';
+$_['text_log_del_orph_cache'] = 'Удален потерянный кэш: ';
+$_['text_log_no_orph_cache'] = 'Потерянного кэша не найдено.';
+$_['text_log_success_smart_cache'] = 'Удалено файлов потерянного кэша: %s. Освобождено: %s';
+$_['text_log_scan_translit'] = 'Поиск файлов с кириллицей или пробелами...';
+$_['text_log_no_bad_names'] = 'Файлов с некорректными именами не найдено.';
+$_['text_log_total_bad_names'] = 'Найдено файлов с кириллицей/пробелами: %s. Нажмите "Исправить" для транслитерации и обновления БД.';
+$_['text_log_renamed'] = 'Переименовано: ';
+$_['text_log_success_translit'] = 'Успешно транслитерировано файлов: %s. БД обновлена.';
+$_['text_log_scan_restore'] = 'Сканирование image/cache/ для восстановления утерянных оригиналов...';
+$_['text_log_restored_cache'] = 'Восстановлено из кэша: ';
+$_['text_log_no_lost_orig'] = 'Отсутствующих оригиналов в кэше не найдено.';
+$_['text_log_success_restore'] = 'Успешно восстановлено оригиналов из кэша: %s.';
+$_['error_invalid_folder'] = 'Ошибка: Недопустимое имя папки!';
+$_['text_formats_title'] = 'Современные форматы (WebP & SVG)';
+$_['text_formats_desc'] = 'Настройки интеграции современных форматов в файловую систему и шаблоны OpenCart.';
+$_['entry_support_svg'] = 'Поддержка загрузки SVG';
+$_['help_support_svg'] = 'Разрешает загрузку векторных SVG-изображений через стандартный Filemanager и их безопасный вывод на витрине без искажений размеров.';
+$_['entry_support_webp'] = 'Поддержка загрузки WebP';
+$_['help_support_webp'] = 'Позволяет вручную загружать, подвязывать и выводить на сайте готовые файлы .webp через Filemanager.';
+$_['entry_truefilemanager_webp'] = 'WebP в TrueFileManager';
+$_['help_truefilemanager_webp'] = 'Добавляет поддержку загрузки, предпросмотра и эскизов WebP в TrueFileManager от sitecreator (если он установлен).';
+$_['entry_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load';
+$_['help_webp_on_fly'] = 'Сверхбыстрая подмена: автоматически меняет расширения .jpg/.png на .webp прямо в HTML-выводе витрины и добавляет атрибут loading="lazy". Не трогает базу данных!';
+$_['help_tool_broken_db'] = 'Ищет в базе данных картинки, физические файлы которых были удалены с сервера. Позволяет очистить битые ссылки.';
+$_['help_tool_empty_folders'] = 'Рекурсивно сканирует директорию image/catalog/ и безопасно удаляет все папки, в которых нет ни одного файла.';
+$_['help_tool_folder_tree'] = 'Строит дерево каталогов и показывает реальный вес каждой папки для поиска "пожирателей" места.';
+$_['help_tool_html_broken'] = 'Сканирует HTML-описания товаров и категорий на наличие тегов
с несуществующими картинками.';
+$_['help_tool_small_photos'] = 'Находит картинки с разрешением ниже заданного (например, меньше 300x300 px). Добавлены ссылки на поиск качественных аналогов в Google Images и Яндекс Картинках.';
+$_['help_tool_duplicates'] = 'Ищет полные дубликаты файлов по MD5 хешу (разные имена, но одинаковая картинка). Позволяет склеить их в один файл и обновить БД.';
+$_['help_tool_watermark'] = 'Наложение водяных знаков в SMART-режиме (только на кэш витрины, оригиналы не изменяются).';
+$_['help_tool_placeholders'] = 'Массово устанавливает выбранную картинку-заглушку для товаров и категорий, у которых вообще нет фото.';
+$_['help_tool_png_jpg'] = 'Инструмент сканирует папку изображений и находит тяжелые PNG-файлы, которые не имеют прозрачного фона (альфа-канала). Поскольку прозрачность им не нужна, их можно безопасно конвертировать в формат JPG. Это значительно облегчает файлы (в среднем на 70-80%) и ускоряет загрузку сайта, а все ссылки в базе данных автоматически обновляются.';
+$_['help_tool_exif'] = 'Сканирует JPEG-файлы и удаляет из них скрытые EXIF-данные (геотеги, данные о камере), уменьшая вес на 10-15%.';
+$_['help_tool_smart_cache'] = 'Ищет в папке image/cache/ кэшированные файлы, оригиналы которых уже удалены из image/catalog/, и стирает этот мусор.';
+$_['help_tool_translit'] = 'Находит файлы с кириллицей или пробелами в названиях, переименовывает их транслитом (tovar_1.jpg) и обновляет пути в БД.';
+$_['help_tool_cache_restore'] = 'Если вы случайно удалили оригинал из catalog, инструмент попытается найти его копию в cache и восстановить обратно.';
+$_['entry_quarantine'] = 'Переместить оригиналы в Карантин (вместо удаления)';
+$_['entry_backup_db'] = 'Создать бэкап изменяемых таблиц в SQL перед запуском';
+$_['button_fix_selected'] = 'ИСПРАВИТЬ ВЫБРАННЫЕ';
+$_['button_export_log'] = 'Экспортировать в CSV';
+$_['text_th_before'] = 'Состояние ДО';
+$_['text_th_after'] = 'Ожидаемый результат ПОСЛЕ';
+$_['text_th_select'] = 'Действие';
+$_['text_th_preview'] = 'Предпросмотр';
+$_['text_th_name'] = 'Объект / Файл';
+$_['text_global_action'] = 'Групповое действие для выбранных:';
+$_['text_action_clear'] = 'Очистить ссылку в БД';
+$_['text_action_disable'] = 'Отключить (Статус = 0)';
+$_['text_action_stock'] = 'Установить "Нет в наличии"';
+$_['text_action_placeholder'] = 'Установить заглушку';
+$_['text_action_ignore'] = 'Ничего не делать';
+$_['text_action_merge'] = 'Склеить (удалить дубликат, оставить оригинал)';
+$_['text_action_convert'] = 'Конвертировать в JPG';
+$_['text_action_rename'] = 'Переименовать транслитом';
+$_['text_action_delete'] = 'Удалить';
+$_['text_action_restore'] = 'Восстановить';
+$_['text_db_backup_created'] = 'Создан бэкап БД: %s';
+$_['text_quarantine_created'] = 'Перенесено в карантин: %s';
+$_['text_fix_status_success'] = 'Успешно выполнено';
+$_['text_fix_status_error'] = 'Ошибка: %s';
+$_['text_log_exported'] = 'Лог успешно экспортирован!';
+$_['text_select_action'] = '-- Выберите действие --';
+$_['error_empty_selection'] = 'Ошибка: Не выбрано ни одной строки для исправления!';
+$_['text_link_admin'] = 'Админка';
+$_['text_link_catalog'] = 'Витрина';
+$_['entry_threads'] = 'Потоков обработки';
+$_['text_threads_optimal'] = 'оптимально';
+$_['button_download_zip'] = 'Скачать ZIP-архив и удалить папку';
+$_['confirm_download_and_delete'] = 'Архив успешно скачался? Можно удалить временную папку копий на сервере?';
+$_['button_clear_backups'] = 'Удалить бэкапы БД';
+$_['button_clear_backups_short'] = 'Очистить бэкапы';
+$_['confirm_clear_backups'] = 'Вы уверены, что хотите полностью удалить все SQL-бэкапы таблиц?';
+$_['text_compare_title'] = 'Сравнение изображений ДО / ПОСЛЕ';
+$_['text_compare_before'] = 'ДО';
+$_['text_compare_after'] = 'ПОСЛЕ';
+$_['text_backups_cleared'] = 'Все SQL-бэкапы таблиц успешно удалены!';
+$_['error_no_backups'] = 'Бэкапы не найдены или папка пуста.';
+$_['button_restore'] = 'Вернуть';
+$_['button_empty'] = 'Очистить';
+$_['entry_wm_targets'] = 'Применять водяной знак к:';
+$_['text_wm_target_product'] = 'Фото товаров';
+$_['text_wm_target_category'] = 'Фото категорий';
+$_['text_wm_target_brand'] = 'Логотипы брендов';
+$_['text_wm_target_banner'] = 'Баннеры и слайды';
+$_['text_wm_target_blog'] = 'Статьи / Блог';
+$_['error_no_scan_data'] = 'Ошибка: Данные сканирования не найдены. Сначала запустите сканирование!';
+$_['error_row_not_found'] = 'Ошибка: Объект не найден в результатах сканирования!';
+$_['error_file_not_found'] = 'Ошибка: Файл не найден на сервере!';
+$_['text_folder_rules_title'] = 'Индивидуальные правила сжатия для папок';
+$_['text_folder_rules_desc'] = 'Вы можете переопределить качество и максимальные размеры для конкретных папок. Если оставить поле пустым, будет использоваться глобальная настройка. Путь указывается относительно папки image (например, catalog/banners/).';
+$_['entry_folder_path'] = 'Путь к папке';
+$_['entry_jpg_quality'] = 'Качество JPG';
+$_['entry_webp_quality'] = 'Качество WebP';
+$_['button_add_rule'] = 'Добавить правило';
+$_['button_remove'] = 'Удалить';
+$_['entry_wm_angle'] = 'Угол наклона водяного знака (градусы)';
+$_['entry_wm_corner_radius'] = 'Скругление углов водяного знака (px)';
+$_['entry_wm_size_type'] = 'Масштабирование водяного знака';
+$_['entry_wm_size_percent'] = 'Размер водяного знака (% от ширины изображения)';
+$_['entry_wm_text_color'] = 'Цвет текста водяного знака';
+$_['entry_wm_text_font'] = 'Шрифт водяного знака (TTF)';
+$_['entry_wm_filter_mode'] = 'Режим фильтрации Категорий/Брендов';
+$_['text_wm_filter_include'] = 'Только для выбранных';
+$_['text_wm_filter_exclude'] = 'Для всех, кроме выбранных';
+$_['text_wm_size_original'] = 'Оригинальный размер';
+$_['text_wm_size_percent'] = 'Пропорционально ширине изображения (%)';
+$_['button_preview_watermark'] = 'Предпросмотр водяного знака';
+$_['text_wm_preview_title'] = 'Предпросмотр водяного знака';
+$_['text_cron_exclude_folders'] = 'Исключить папки из сканирования';
+$_['text_cron_entities'] = 'Какие типы фото обрабатывать?';
+$_['text_cron_quality_override'] = 'Переопределить параметры сжатия для Крона';
+$_['text_cron_recommendations'] = 'Рекомендации по расписанию запуска Cron';
+$_['text_cron_recommendations_desc'] = '- Для небольших сайтов (до 5000 товаров) рекомендуется запускать Крон каждый час (
0 * * * *). - Для средних сайтов (5000-20000 товаров) рекомендуется запускать раз в 3-6 часов (
0 */6 * * *). - Для крупных сайтов (более 20000 товаров) — один раз в сутки ночью (например, в 2:00:
0 2 * * *).
';
+$_['text_tool_broken_files'] = 'Сканер битых/пустых файлов на сервере';
+$_['help_tool_broken_files'] = 'Сканирует физические файлы в папке image/catalog/ на наличие поврежденных изображений или пустых файлов размером 0 байт.';
+$_['text_grid_broken_file'] = 'Битый или пустой файл на сервере';
+$_['text_grid_broken_file_after'] = 'Удаление или замена заглушкой';
+$_['text_description_broken_files'] = 'Результаты сканирования физических файлов в папке image/catalog/. Здесь отображаются битые (поврежденные) изображения или файлы размером 0 байт.';
+$_['text_action_strip'] = 'Очистить EXIF';
+$_['text_action_set_placeholder'] = 'Установить заглушку';
+$_['text_th_entity'] = 'Объект / Связанные ссылки';
+$_['text_cron_entity_product'] = 'Товары';
+$_['text_cron_entity_category'] = 'Категории';
+$_['text_cron_entity_manufacturer'] = 'Производители / Бренды';
+$_['text_cron_entity_banner'] = 'Баннеры';
+$_['text_cron_entity_blog'] = 'Блог / Статьи';
+$_['entry_cron_jpg_quality'] = 'Качество JPG (Крон)';
+$_['entry_cron_webp_quality'] = 'Качество WebP (Крон)';
+$_['entry_cron_max_width'] = 'Макс. ширина px (Крон)';
+$_['entry_cron_max_height'] = 'Макс. высота px (Крон)';
+$_['text_cron_folder_scan'] = 'Папки для сканирования';
+$_['text_no_fonts'] = 'TTF-шрифты не найдены в system/library/font/';
+$_['button_apply'] = 'Применить';
+$_['text_backup_will_be_created'] = 'Резервная копия базы данных будет автоматически создана перед выполнением этого действия.';
+$_['text_bulk_action'] = 'Групповое действие для выбранных';
+$_['text_grid_results'] = 'Результаты и детали сканирования';
+$_['text_quarantine_will_be_created'] = 'Оригинальные файлы будут перемещены в карантин (image/catalog_trash/) перед изменением.';
+$_['text_success_apply'] = 'Изменения успешно применены!';
+$_['text_description_broken'] = 'Результаты сканирования базы данных на наличие битых ссылок (записи в таблицах с несуществующими файлами).';
+$_['text_description_cache_restore'] = 'Результаты поиска файлов в кэше, оригиналы которых отсутствуют в каталоге.';
+$_['text_description_duplicates'] = 'Результаты поиска полных дубликатов изображений по MD5-хешу.';
+$_['text_description_empty_folders'] = 'Список пустых папок в директории image/catalog/ для удаления.';
+$_['text_description_exif'] = 'Результаты поиска изображений с метаданными EXIF, которые можно очистить.';
+$_['text_description_folder_tree'] = 'Статистика размера папок в каталоге image/catalog/.';
+$_['text_description_html_broken'] = 'Результаты поиска несуществующих файлов картинок, на которые ссылаются описания в HTML.';
+$_['text_description_placeholders'] = 'Результаты поиска сущностей без изображений для заполнения заглушками.';
+$_['text_description_png_jpg'] = 'Результаты поиска тяжелых изображений PNG без прозрачности, которые можно пережать в JPG.';
+$_['text_description_small_photos'] = 'Список изображений, размеры которых меньше минимально заданных (%sx%s px).';
+$_['text_description_smart_cache'] = 'Результаты поиска файлов кэша, оригиналы которых уже были удалены.';
+$_['text_description_translit'] = 'Результаты поиска файлов с кириллицей или пробелами в названиях.';
+$_['text_grid_broken_db_after'] = 'Очистить ссылку или установить заглушку';
+$_['text_grid_dupe_after'] = 'Оригинал (остаётся)';
+$_['text_grid_dupe_before'] = 'Дубликат (будет удалён)';
+$_['text_grid_empty_folder'] = 'Пустая папка';
+$_['text_grid_empty_folder_after'] = 'Удалить пустую папку';
+$_['text_grid_exif_after'] = 'Очистить метаданные';
+$_['text_grid_exif_before'] = 'Содержит EXIF';
+$_['text_grid_html_after'] = 'Исправить ссылку вручную';
+$_['text_grid_missing_file'] = 'Файл отсутствует';
+$_['text_grid_missing_html'] = 'Картинка не найдена в описании';
+$_['text_grid_missing_orig'] = 'Оригинал отсутствует';
+$_['text_grid_missing_orig_after'] = 'Восстановить оригинал из кэша';
+$_['text_grid_no_image'] = 'Нет изображения (пусто)';
+$_['text_grid_orph_cache'] = 'Осиротевший кэш';
+$_['text_grid_orph_cache_after'] = 'Удалить ненужный кэш';
+$_['text_grid_ph_brand_after'] = 'Установить заглушку бренда';
+$_['text_grid_ph_category_after'] = 'Установить заглушку категории';
+$_['text_grid_ph_product_after'] = 'Установить заглушку товара';
+$_['text_grid_small_photo_after'] = 'Рекомендуется заменить на более крупное';
+$_['text_grid_too_small'] = 'Слишком маленькое';
+$_['text_no_relations'] = 'Нет связей в БД';
+$_['text_action_archive'] = 'Архивировать (в ZIP)';
+$_['text_action_archive_delete'] = 'Архивировать + Удалить';
+$_['text_tool_sanitizer'] = 'Санитайзер имен файлов';
+$_['help_tool_sanitizer'] = 'Массовая очистка имен файлов и папок от кириллицы, пробелов и спецсимволов, приведение расширений к единому виду.';
+$_['text_description_sanitizer'] = 'Результаты анализа имен файлов для санитаризации по выбранным правилам.';
+$_['entry_sz_translit'] = 'Транслитерация (кириллица в латиницу)';
+$_['entry_sz_spaces'] = 'Заменять пробелы на символ "_"';
+$_['entry_sz_special'] = 'Удалять специальные символы';
+$_['entry_sz_lowercase_name'] = 'Имя файла в нижний регистр';
+$_['entry_sz_lowercase_ext'] = 'Расширение в нижний регистр';
+$_['entry_sz_normalize_ext'] = 'Нормализовать расширения (jpeg -> jpg)';
+$_['entry_cron_folder_mode'] = 'Режим фильтрации папок';
+$_['text_cron_folder_mode_exclude'] = 'Сканировать все, кроме выбранных (Исключения)';
+$_['text_cron_folder_mode_include'] = 'Сканировать только выбранные папки';
+$_['button_select_all'] = 'Выбрать все';
+$_['button_deselect_all'] = 'Снять все';
+$_['entry_wm_upload_font'] = 'Загрузить свой шрифт TTF';
+$_['button_upload_font'] = 'Загрузить шрифт';
+$_['text_success_font_upload'] = 'Шрифт успешно загружен!';
+$_['error_font_upload'] = 'Ошибка загрузки шрифта! Разрешены только файлы .ttf весом до 5 МБ.';
+$_['entry_lazy_load'] = 'Прогрессивная ленивая загрузка';
+$_['help_lazy_load'] = 'Включает премиальную прогрессивную отложенную загрузку на витрине. Изображения заменяются микро-превью и плавно размываются (blur-up), подгружаясь по мере прокрутки.';
+$_['confirm_replace_mode'] = 'ВНИМАНИЕ! Вы выбрали режим «Заменять оригиналы». Все изображения будут перезаписаны прямо на сервере. Настоятельно рекомендуем сделать резервную копию. Вы уверены, что хотите продолжить?';
+$_['text_compare'] = 'Сравнить';
+$_['text_home'] = 'Главная';
+$_['text_tech_gd'] = 'Библиотека GD';
+$_['text_tech_imagick'] = 'Imagick';
+$_['text_tech_webp'] = 'Поддержка WebP';
+$_['text_position_1'] = '1 - Слева вверху';
+$_['text_position_2'] = '2 - По центру вверху';
+$_['text_position_3'] = '3 - Справа вверху';
+$_['text_position_4'] = '4 - Слева посередине';
+$_['text_position_5'] = '5 - По центру';
+$_['text_position_6'] = '6 - Справа посередине';
+$_['text_position_7'] = '7 - Слева внизу';
+$_['text_position_8'] = '8 - По центру внизу';
+$_['text_position_9'] = '9 - Справа внизу';
+
+$_['entry_log_level'] = 'Уровень лога';
+$_['text_log_changed_only'] = 'Только изменённые';
+$_['text_log_all'] = 'Все файлы (подробно)';
+$_['text_skipped_no_gain'] = 'Пропущен (нет улучшения)';
+$_['text_reset_cache_hint'] = 'Сбросить кэш оптимизации (полный пересканирование)';
+$_['confirm_reset_cache'] = 'Сбросить кэш оптимизации? Следующее сканирование проверит ВСЕ файлы заново.';
+$_['text_cache_cleared'] = 'Кэш оптимизации очищен. Следующее сканирование проверит все файлы.';
+$_['error_wm_preview'] = 'Ошибка генерации превью водяного знака.';
+$_['error_wm_too_large'] = 'Изображение водяного знака слишком большое (%dx%d px)! Максимально допустимый размер: %dx%d px.';
+$_['text_apply_errors_warning'] = 'ВНИМАНИЕ: Некоторые файлы не удалось заменить (заблокированы или нет прав):';
+$_['text_action_compress'] = 'Сжать изображения';
+$_['text_estimated'] = 'Прогноз';
+$_['entry_min_savings_bytes'] = 'Мин. сжатие (байт)';
+$_['entry_min_savings_percent'] = 'Мин. сжатие (%)';
+$_['text_optimized'] = 'Оптимизировано';
+$_['entry_broken_fallback'] = 'Заглушка для битых фото';
+$_['help_broken_fallback'] = 'Автоматически заменяет отсутствующие или поврежденные изображения каталога на витрине на изображение-заглушку.';
+$_['entry_fallback_image'] = 'Изображение-заглушка';
+$_['help_fallback_image'] = 'Выберите изображение, которое будет показано, если оригинальный файл картинки товара или категории отсутствует. По умолчанию используется no_image.png.';
+$_['text_tool_cmyk'] = 'Конвертер CMYK в RGB';
+$_['help_tool_cmyk'] = 'Конвертация JPEG изображений из цветового профиля CMYK в sRGB для корректного отображения в браузерах Safari и на устройствах iOS.';
+$_['text_tool_heavy_files'] = 'Поиск тяжелых файлов';
+$_['help_tool_heavy_files'] = 'Поиск самых тяжелых оригинальных изображений в каталоге с возможностью их быстрого сжатия прямо здесь.';
+$_['entry_heavy_files_limit'] = 'Макс. количество найденных файлов (всего)';
+$_['text_action_convert_rgb'] = 'Конвертировать в RGB';
+$_['text_description_cmyk'] = 'Найдены файлы в цветовом пространстве CMYK. Конвертация в sRGB гарантирует корректное отображение на всех платформах, включая iOS/macOS.';
+$_['text_description_heavy'] = 'Список из %d самых тяжелых файлов в каталоге изображений. Вы можете оптимизировать их прямо здесь.';
+$_['text_cron_folder_hint_exclude_all'] = 'Статус: Будут сканироваться все папки (исключения не выбраны).';
+$_['text_cron_folder_hint_exclude_some'] = 'Статус: Будут сканироваться все папки, КРОМЕ %d отмеченных.';
+$_['text_cron_folder_hint_include_some'] = 'Статус: Будут сканироваться только %d отмеченных папок.';
+$_['text_cron_folder_hint_include_none'] = 'ВНИМАНИЕ: Ни одна папка не выбрана! Крон ничего не будет сканировать.';
+$_['text_action_apply_changes'] = 'Применить указанные изменения';
+$_['entry_wm_status'] = 'Статус водяного знака';
+$_['text_disabled'] = 'Отключено';
+$_['entry_rule_name'] = 'Название правила';
+$_['entry_rule_status'] = 'Статус правила';
+$_['entry_action'] = 'Действие';
+$_['entry_ph_status'] = 'Статус заглушек';
+$_['entry_sanitizer_limit'] = 'Макс. файлов для поиска (лимит)';
+$_['entry_heavy_files_min_size'] = 'Минимальный размер';
+$_['entry_png_jpg_limit'] = 'Макс. файлов для поиска (лимит)';
+$_['entry_png_jpg_min_size'] = 'Минимальный размер';
+$_['text_wm_rule_title'] = 'Правило водяного знака';
+$_['button_close'] = 'Закрыть';
+$_['text_ph_rule_title'] = 'Правило заглушки';
+$_['entry_ph_image'] = 'Изображение заглушки';
+$_['button_clear_cache_wm'] = 'Очистить кэш (применить водяной знак)';
+$_['text_active'] = 'Активна';
+$_['text_error'] = 'Не активна';
+$_['text_th_dupe_delete'] = 'Файл для удаления (Дубликат)';
+$_['text_th_dupe_keep'] = 'Файл для сохранения (Оригинал)';
+$_['text_dupe_original_label'] = 'Оригинал';
+$_['text_dupe_duplicate_label'] = 'Дубликат';
+
+$_['text_disk_usage'] = 'Использование диска';
+$_['text_cumulative_stats'] = 'Статистика оптимизации';
+$_['text_disk_catalog'] = 'Каталог изображений';
+$_['text_disk_cache'] = 'Кэш OC';
+$_['text_disk_trash'] = 'Корзина модуля';
+$_['text_disk_other'] = 'Прочее';
+$_['text_disk_free'] = 'Свободно';
+$_['text_total_files_opt'] = 'Файлов обработано';
+$_['text_total_saved'] = 'Всего сэкономлено';
+$_['text_avg_saving_pct'] = 'Средняя экономия';
+$_['text_stats_hint'] = 'Статистика накапливается по всем сессиям (хранится локально в браузере)';
+$_['text_reset_stats'] = 'Сбросить статистику';
+$_['text_reset_stats_confirm']= 'Сбросить накопленную статистику оптимизации?';
+$_['text_export_import'] = 'Экспорт / Импорт настроек';
+$_['button_export_settings'] = 'Экспорт настроек (JSON)';
+$_['button_import_settings'] = 'Импортировать настройки';
+$_['help_export_settings'] = 'Скачать все настройки модуля в JSON-файл';
+$_['help_import_settings'] = 'Загрузить ранее экспортированный JSON для восстановления настроек';
+$_['text_import_success'] = 'Настройки успешно импортированы. Перезагрузите страницу для применения.';
+$_['error_import_file'] = 'Файл не загружен или ошибка загрузки';
+$_['error_import_invalid'] = 'Некорректный файл настроек (неверный модуль или формат)';
+$_['text_click_to_load'] = 'Нажмите ↑ для загрузки данных диска';
+$_['tab_formats'] = 'Форматы изображений';
+
+$_['text_disk_quota_legend'] = 'Лимиты диска хостинга (вручную)';
+$_['text_disk_quota_desc'] = 'Если график дискового пространства показывает неверные данные (физический диск сервера вместо лимита вашего хостинга), вы можете указать лимиты вашего тарифа вручную. Укажите 0, чтобы использовать автоопределение.';
+$_['entry_disk_quota_total'] = 'Выделено диска на хостинге (ГБ)';
+$_['entry_disk_quota_used'] = 'Занято диска на хостинге всего (ГБ)';
+$_['entry_auto_disk'] = 'Автообновление при входе';
+
+// Cron Tasks
+$_['entry_cron_task_name'] = 'Название задачи';
+$_['entry_cron_task_summary'] = 'Параметры сжатия';
+$_['button_add_cron_task'] = 'Добавить задачу';
+$_['button_copy_cron_url'] = 'Копировать URL';
+$_['text_cron_recommended_url'] = 'URL для запуска задачи крона:';
+
+// Licensing
+$_['text_license_required'] = 'Требуется лицензионный ключ';
+$_['text_license_required_desc'] = 'Пожалуйста, введите лицензионный ключ для активации модуля. Все функции настроек и оптимизации заблокированы до ввода валидного ключа.';
+$_['entry_token_desc'] = 'Введите токен активации, выданный для вашего основного домена. Вы можете получить его в личном кабинете на форуме или обратившись в поддержку.';
+$_['button_activate'] = 'Активировать модуль';
+$_['text_support'] = 'Техническая поддержка';
+$_['text_support_desc'] = 'Если у вас ещё нет ключа или возникли проблемы, пожалуйста, сообщите номер вашего заказа и домен.';
+
+// New settings
+$_['entry_wm_max_width'] = 'Макс. ширина водяного знака (px)';
+$_['entry_wm_max_height'] = 'Макс. высота водяного знака (px)';
+$_['help_wm_max_width'] = 'Если исходное изображение водяного знака превышает эту ширину, оно будет автоматически масштабировано. Укажите 0 или оставьте пустым для значения по умолчанию (800px).';
+$_['help_wm_max_height'] = 'Если исходное изображение водяного знака превышает эту высоту, оно будет автоматически масштабировано. Укажите 0 или оставьте пустым для значения по умолчанию (800px).';
+$_['entry_disk_status'] = 'Включить сканирование диска и график';
+$_['help_disk_status'] = 'Если включено, модуль будет периодически сканировать объем папки картинок и отображать круговую диаграмму. Рекомендуется выключить на больших сайтах для ускорения загрузки панели.';
+$_['text_disk_settings_title'] = 'Настройка лимитов и сканирования диска';
+
diff --git a/upload/admin/language/ua/module/img_opti.php b/upload/admin/language/ua/module/img_opti.php
new file mode 100644
index 0000000..a563c9d
--- /dev/null
+++ b/upload/admin/language/ua/module/img_opti.php
@@ -0,0 +1,567 @@
+Image Optimizer [NAT]: Стиснення оригіналів та видалення сміття';
+$_['text_extension'] = 'Розширення';
+$_['text_edit'] = 'Налаштування модуля';
+$_['text_success'] = 'Налаштування успішно збережено!';
+$_['entry_warning'] = 'УВАГА: Обов`язково зробіть бекап файлів сайту і особливо папки /image/catalog перед початком роботи!';
+$_['text_tech'] = 'Перевірка технологій сервера:';
+$_['text_author'] = 'Технічна підтримка та побажання: info@nat.od.ua';
+$_['tab_optimize'] = 'Оптимізація та Ресайз';
+$_['tab_cleaner'] = 'Очищення невикористовуваних зображень';
+$_['tab_info'] = 'Інфо / Екосистема [NAT]';
+$_['tab_settings'] = 'Налаштування';
+$_['tab_tools'] = 'Інструменти (pro)';
+$_['tab_cron'] = 'Крон-завдання';
+$_['entry_mode'] = 'Режим роботи';
+$_['text_copy'] = 'Створити копію (безпечно)';
+$_['text_replace'] = 'Замінювати оригінали (потребує бекап!)';
+$_['entry_folder'] = 'Ім`я папки для копії';
+$_['entry_batch'] = 'Файлів за прохід';
+$_['entry_log_limit'] = 'Рядків логу на екрані';
+$_['entry_max_width'] = 'Макс. ширина (px) [0 - без ліміту]';
+$_['entry_max_height'] = 'Макс. висота (px) [0 - без ліміту]';
+$_['entry_jpg'] = 'Якість JPG (0-100)';
+$_['entry_png'] = 'Стиснення PNG (0-9)';
+$_['entry_webp'] = 'Якість WebP (0-100)';
+$_['entry_targets'] = 'Що оптимізувати?';
+$_['text_all_catalog'] = '[ Весь каталог image/catalog ]';
+$_['text_root_files'] = 'Файли тільки в корені image/catalog';
+$_['entry_threshold'] = 'Поріг заміни (%)';
+$_['help_threshold'] = '0: замінювати тільки якщо вага стала меншою. 10: дозволити збільшення ваги до 10%.';
+$_['entry_token'] = 'Токен активації (на корінь домену)';
+$_['entry_status'] = 'Статус модуля';
+$_['entry_menu_position'] = 'Позиція меню [NAT]';
+$_['text_menu_module_only'] = 'Тільки в модулях';
+$_['text_menu_header'] = 'У шапці (Header)';
+$_['text_menu_sidebar'] = 'У бічному меню (Sidebar)';
+$_['text_menu_both'] = 'Скрізь (Шапка + Сайдбар)';
+$_['text_status_on'] = 'Увімкнено';
+$_['text_status_off'] = 'Вимкнено';
+$_['entry_engine'] = 'Рушій обробки зображень';
+$_['text_engine_gd'] = 'GD (Стандарт)';
+$_['text_engine_imagick'] = 'Imagick (Висока якість, збереження профілів sRGB)';
+$_['entry_license'] = 'Ліцензія';
+$_['text_cleaner_info'] = 'Цей інструмент шукає файли, які фізично існують на диску, але ніде не використовуються в базі даних або файлах шаблону.';
+$_['entry_clean_targets'] = 'В яких папках шукати сміття?';
+$_['entry_extended_log'] = 'Розширений лог (показати використовувані photo і де вони знайдені)';
+$_['entry_process_broken'] = 'Враховувати файли з битим кодуванням (імена з символом "?")';
+$_['button_scan_trash'] = 'ЗНАЙТИ СМІТТЯ';
+$_['button_quarantine'] = 'В Карантин (Безпечно)';
+$_['button_delete_trash'] = 'Видалити назавжди';
+$_['button_empty_quarantine'] = 'Очистити папку Карантину';
+$_['button_restore_quarantine'] = 'Повернути з Карантину';
+$_['text_scan_result'] = 'Результати сканування';
+$_['text_trash_files'] = 'Сміттєвих файлів: ';
+$_['text_trash_size'] = 'Потенційно звільниться: ';
+$_['button_start'] = 'СТАРТ ОПТИМІЗАЦІЇ';
+$_['button_pause'] = 'ПАУЗА';
+$_['button_stop'] = 'ЗУПИНИТИ';
+$_['button_continue'] = 'ПРОДОВЖИТИ';
+$_['button_start_new'] = 'СТАРТ (Новий запуск)';
+$_['button_download_log'] = 'Завантажити лог в TXT';
+$_['button_download'] = 'Завантажити';
+$_['button_save'] = 'Зберегти';
+$_['button_cancel'] = 'Скасувати';
+$_['text_progress'] = 'Прогрес:';
+$_['text_old_size'] = 'Було:';
+$_['text_new_size'] = 'Стало:';
+$_['text_savings'] = 'Економія:';
+$_['text_detailed_log'] = 'Детальний лог';
+$_['text_page'] = 'Стор.';
+$_['text_waiting'] = 'Очікування запуску...';
+$_['text_enabled'] = 'Увімкнено';
+$_['text_disabled_error'] = 'Вимкнено (ПОМИЛКА)';
+$_['text_supported'] = 'Підтримується';
+$_['text_no'] = 'Ні';
+$_['error_permission'] = 'У вас немає прав для керування модулем!';
+$_['error_license'] = 'Помилка доступу: Невірний токен активації для цього домену!';
+$_['error_domain'] = ' (Домен: ';
+$_['text_found'] = 'Знайдено файлів: ';
+$_['text_compressed'] = 'Стиснуто';
+$_['text_original'] = 'Оригінал';
+$_['text_error_process'] = 'Помилка обробки: ';
+$_['error_log_empty'] = 'Лог порожній! Спочатку запустіть процес.';
+$_['text_report_header'] = '=== ЗВІТ ===';
+$_['text_total_files'] = 'Всього файлів: ';
+$_['text_searching'] = 'Пошук файлів...';
+$_['error_ajax'] = 'Помилка: ';
+$_['text_resumed'] = '▶ ПРОЦЕС ВІДНОВЛЕНО...';
+$_['text_paused'] = '⏸ ПАУЗА. Процес призупинено.';
+$_['confirm_stop'] = 'Ви впевнені, що хочете повністю перервати процес?';
+$_['confirm_delete'] = 'УВАГА! Файли будуть видалені з сервера назавжди без можливості відновлення! Продовжити?';
+$_['confirm_empty_q'] = 'Ви впевнені, що хочете повністю очистити папку карантину?';
+$_['confirm_restore'] = 'Всі файли з папки карантину будуть повернуті на свої місця. Продовжити?';
+$_['button_stopping'] = 'Зупинка...';
+$_['text_stopped_user'] = '🛑 ПРОЦЕС ПЕРЕРВАНО КОРИСТУВАЧЕМ!';
+$_['text_increase'] = 'Збільшення';
+$_['text_done'] = '✅ ГОТОВО! Процес завершено.';
+$_['error_timeout'] = 'Таймаут сервера. Автоповтор через 3 секунди...';
+$_['text_building_index'] = 'Крок 1/2: Індексація БД та шаблонів (пошук фото, що використовуються)...';
+$_['text_comparing'] = 'Крок 2/2: Порівняння фізичних файлів з індексом...';
+$_['text_quarantine_done'] = '✅ Процес перенесення в image/catalog_trash/ завершено!';
+$_['text_deleted_done'] = '✅ Процес видалення сміття завершено!';
+$_['text_quarantine_empty'] = '✅ Папку карантину успішно видалено з сервера!';
+$_['text_restore_done'] = '✅ Файли успішно повернуто з карантину в робочу папку!';
+$_['text_quarantine_move'] = 'В карантині: ';
+$_['text_deleted_file'] = 'Видалено: ';
+$_['text_no_trash'] = 'У вибраних папках сміття не знайдено! Всі файли використовуються.';
+$_['text_scanning_dirs'] = 'Скануємо директорії: ';
+$_['text_log_used'] = '[ВИКОРИСТОВУЄТЬСЯ]';
+$_['text_log_trash'] = '[СМІТТЯ]';
+$_['text_log_deleted'] = '[ВИДАЛЕНО]';
+$_['text_log_del_err'] = '[ПОМИЛКА ВИДАЛЕННЯ]';
+$_['text_log_quarantine'] = '[В КАРАНТИН]';
+$_['text_log_q_err'] = '[ПОМИЛКА ПЕРЕНЕСЕННЯ]';
+$_['text_log_restored'] = '[ВІДНОВЛЕНО]';
+$_['text_log_rest_err'] = '[ПОМИЛКА ВІДНОВЛЕННЯ]';
+$_['text_used_in'] = 'у: ';
+$_['text_analyzing'] = 'Аналіз бази даних...';
+$_['text_clean_empty'] = 'Чисто! Сміття немає.';
+$_['text_processing'] = 'Обробка...';
+$_['text_restoring'] = 'Відновлення файлів...';
+$_['text_all_folders'] = 'image/catalog/ (Та всі вкладені)';
+$_['text_root_folder'] = 'image/catalog/ (Тільки корінь)';
+$_['text_q_empty_err'] = 'Папка карантину порожня або не існує.';
+$_['error_token'] = 'Невірний токен. Перезавантажте сторінку.';
+$_['text_apply_title'] = 'Оптимізацію завершено в папку: ';
+$_['text_apply_info'] = 'Перевірте результат. Якщо все влаштовує — застосуйте зміни до основного каталогу.';
+$_['entry_apply_backup'] = 'Перенести зі створенням бекапу (в Карантин)';
+$_['entry_apply_replace'] = 'Замінити оригінали безповоротно';
+$_['button_apply_main'] = 'ЗАСТОСУВАТИ ДО ОСНОВНОГО КАТАЛОГУ';
+$_['button_delete_copies'] = 'Видалити тимчасові копії (скасування)';
+$_['button_full_cleanup'] = 'Повне очищення всіх тимчасових папок та бекапів';
+$_['text_apply_success'] = '✅ Файли успішно перенесено. ';
+$_['text_apply_backup_ok'] = 'Оригінали збережено в папку: ';
+$_['text_apply_no_backup'] = 'Оригінали видалено.';
+$_['text_error_source'] = 'Помилка: Папку з оптимізованими файлами не знайдено.';
+$_['confirm_full_cleanup'] = 'УВАГА! Ця дія безповоротно видалить УСІ папки бекапів (backup_*) та тимчасові папки з копіями. Продовжити?';
+$_['text_tools_desc'] = 'Глобальні сканери та інструменти для роботи з файловою системою і БД зображень.';
+$_['text_tool_select'] = 'Виберіть інструмент:';
+$_['text_group_scanners'] = 'Сканери та Аналіз';
+$_['text_group_generators'] = 'Генератори та Обробка';
+$_['text_group_experimental'] = 'Експериментальні функції (BETA)';
+$_['text_experimental_warn'] = 'Увага: Експериментальні функції зачіпають системні файли або базу даних. Настійно рекомендується зробити бекап!';
+$_['text_tool_broken_db'] = 'Сканер битих/порожніх фото БД';
+$_['text_tool_watermark'] = 'Динамічний Вотермарк (Тільки на кеш)';
+$_['text_tool_duplicates'] = 'Поиск дубликатов файлов (за MD5)';
+$_['text_tool_png_jpg'] = 'Конвертер важких PNG у JPG (сканер файлів без прозорості)';
+$_['text_tool_placeholders'] = 'Генератор заглушок (Замість No Image)';
+$_['text_tool_exif'] = 'Очищення EXIF-даних (Геотеги/Мета)';
+$_['text_tool_small_photos'] = 'Сканер занадто дрібних фото';
+$_['text_tool_html_broken'] = 'Пошук битих картинок в HTML (Описах)';
+$_['text_tool_empty_folders'] = 'Очищення порожніх папок (image/catalog)';
+$_['text_tool_smart_cache'] = 'Розумне очищення кешу зображень';
+$_['text_tool_folder_tree'] = 'Дерево папок (Статистика ваги)';
+$_['text_tool_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load (Без БД)';
+$_['text_tool_translit'] = 'Транслітерація назв файлів';
+$_['text_tool_cache_restore'] = 'Відновлення оригіналів із Кешу';
+$_['entry_wm_type'] = 'Тип водяного знака';
+$_['text_wm_image'] = 'Зображення (PNG)';
+$_['text_wm_text'] = 'Текст';
+$_['entry_wm_image_path'] = 'Шлях до зображення';
+$_['entry_wm_text_val'] = 'Текст водяного знака';
+$_['entry_wm_position'] = 'Позиція (1-9)';
+$_['entry_wm_opacity'] = 'Прозорість (0-100)';
+$_['entry_wm_category'] = 'Тільки для Категорій';
+$_['entry_wm_brand'] = 'Тільки для Брендів';
+$_['entry_min_width'] = 'Мінімальна ширина (px)';
+$_['entry_min_height'] = 'Мінімальна висота (px)';
+$_['entry_ph_product'] = 'Заглушка для Товарів';
+$_['entry_ph_category'] = 'Заглушка для Категорій';
+$_['entry_ph_brand'] = 'Заглушка для Брендів';
+$_['button_run_tool'] = 'Запустити інструмент';
+$_['button_scan_tool'] = 'Сканувати';
+$_['button_fix_tool'] = 'Виправити знайдене';
+$_['text_th_path'] = 'Файл / Шлях';
+$_['text_th_size'] = 'Розмір';
+$_['text_th_action'] = 'Дія';
+$_['text_th_status'] = 'Статус';
+$_['text_th_problem'] = 'Проблема / Значення';
+$_['text_cron_title'] = 'Налаштування Cron';
+$_['text_cron_desc'] = 'Додайте команду в Cron хостингу для автоматичного фонового стиснення.';
+$_['entry_cron_new_only'] = 'Обробляти тільки нові (необроблені) файли';
+$_['entry_cron_folders'] = 'Папки для сканування (залиште порожнім для всього каталогу)';
+$_['text_promo_title'] = 'Інші модулі серії [NAT]';
+$_['text_promo_desc'] = 'Модулі серії [NAT] – це інструменти для глибокої оптимізації OpenCart. Ми фокусуємося на автоматизації рутини, прискоренні бази даних та очищенні серверів від сміття. Усі модулі мають відкритий вихідний код та єдину логіку управління.';
+$_['text_support'] = 'Технічна підтримка та побажання:';
+$_['button_more'] = 'Дивитися всі модулі на OpenCart.com';
+$_['button_more_forum'] = 'Opencartforum';
+$_['text_mod_cat_opt'] = 'Catalog Optimizer [NAT]';
+$_['text_mod_cat_opt_desc'] = 'Приховування порожніх категорій і брендів + SEO сортування товарів (у наявності зверху) + Очищення сміття БД.';
+$_['text_mod_new_arrivals'] = 'New Arrivals [NAT]: Новинки за датами';
+$_['text_mod_new_arrivals_desc'] = 'Автоматична SEO-сторінка новинок. Відображає новинки суворо за реальною датою додавання. Слайдери, сітка та розумний сайдбар архіву дат.';
+$_['text_mod_img_opt'] = 'Image Optimizer [NAT]';
+$_['text_mod_img_opt_desc'] = 'Поточний модуль. Стиснення та ресайз ОРИГІНАЛІВ фото (image/catalog) у WebP + Очищення хостингу від невикористаних зображень.';
+$_['text_mod_dom_scan'] = 'Domain Scanner [NAT]';
+$_['text_mod_dom_scan_desc'] = 'Пошук і чищення зовнішніх посилань і HTTP-картинок у БД та файлах теми. Ідеально для HTTPS або очищення після парсингу.';
+$_['text_mod_poll'] = 'Poll Widget [NAT]';
+$_['text_mod_poll_desc'] = 'Створення опитувань та голосувань із візуальним конструктором дизайну, глибокою статистикою та захистом від накруток.';
+$_['text_mod_db_opt'] = 'Database Optimizer [NAT]';
+$_['text_mod_db_opt_desc'] = 'Інтелектуальне очищення сміття в базі даних, управління системними логами та додавання критично важливих індексів для прискорення.';
+$_['text_mod_im_ex'] = 'Import/Export [NAT]';
+$_['text_mod_im_ex_desc'] = 'Швидкий імпорт/експорт цін і залишків з файлів xls/xlsx/csv/xml/json або за посиланням. Маппінг полів, робота по Cron, текстові функції.';
+$_['text_mod_admin_tools'] = 'Admin Tools [NAT]';
+$_['text_mod_admin_tools_desc'] = 'Зручні інструменти адміністратора: вхід під клієнтом, кастомізація адмінки, управління правами користувачів та приховування непотрібних пунктів меню.';
+$_['text_mod_utm_tracker'] = 'Order UTM Tracker [NAT]';
+$_['text_mod_utm_tracker_desc'] = 'Автоматичне відстеження UTM-міток при оформленні замовлення. Зберігає джерело переходу, кампанію, ключові слова та виводить ці дані в замовленні для аналітики реклами.';
+$_['text_info_title_promo_top_bar'] = 'Promo Top Bar [NAT]: Верхній рекламний інфо-баннер, інформаційна смуга над шапкою, рухомий рядок та топ-баннер';
+$_['text_info_desc_promo_top_bar'] = 'Створення інтерактивних промо-панелей та слайд-шоу в шапці сайту з конструктором блоків, таймерами, формою підписки та гнучким націлюванням.';
+$_['text_tool_no_image'] = 'Товари без головного фото (порожньо в БД)';
+$_['text_problem_main_broken'] = 'Бите головне фото (файл видалено)';
+$_['text_problem_add_broken'] = 'Бите дод. фото (файл видалено)';
+$_['text_problem_no_image'] = 'Відсутнє головне фото';
+$_['text_err_dir'] = 'Помилка: Директорію не знайдено або невірний шлях.';
+$_['text_err_no_queue'] = 'Помилка: Чергу не знайдено. Спочатку запустіть сканування.';
+$_['text_log_del_empty_folder'] = 'Видалено порожню папку: ';
+$_['text_log_no_empty_folders'] = 'Порожніх папок в image/catalog/ не знайдено.';
+$_['text_log_total_empty_folders'] = 'Всього видалено порожніх папок: ';
+$_['text_log_cache_cleared'] = 'Кеш зображень успішно очищено.';
+$_['text_log_wm_smart_mode'] = 'Вотермарки працюють в SMART-режимі: оригінали не зачіпаються, логотип накладається лише при генерації кешу.';
+$_['text_log_scan_dupes'] = 'Сканування image/catalog/ на дублікати (за хешем MD5)... Це може зайняти час.';
+$_['text_log_found_dupe'] = 'Знайдено дублікат: ';
+$_['text_log_no_dupes'] = 'Дублікатів не знайдено.';
+$_['text_log_total_dupes'] = 'Знайдено дублікатів: %s. Потенційна економія: %s';
+$_['text_log_fix_dupes_prompt'] = 'Натисніть "Виправити знайдене" для перелінкування БД на оригинал та видалення дублів.';
+$_['text_log_fixed_dupe'] = 'Виправлено та видалено дублікат: ';
+$_['text_log_success_dupes'] = 'Успішно виправлено дублікатів: %s. Посилання в БД оновлено.';
+$_['text_log_scan_png'] = 'Пошук важких PNG файлів без прозорості...';
+$_['text_log_no_png'] = 'Відповідних PNG файлів не знайдено.';
+$_['text_log_total_png'] = 'Знайдено PNG без прозорості: %s. Натисніть "Виправити" для конвертації в JPG.';
+$_['text_log_converted_jpg'] = 'Сконвертовано в JPG: ';
+$_['text_log_success_png'] = 'Успішно сконвертовано %s файлів. Звільнено: %s';
+$_['text_log_ph_prod'] = 'Оновлено товарів заглушкою: ';
+$_['text_log_ph_cat'] = 'Оновлено категорій заглушкою: ';
+$_['text_log_ph_brand'] = 'Оновлено брендів заглушкою: ';
+$_['text_log_ph_empty'] = 'Заглушки не вибрані в налаштуваннях.';
+$_['text_log_scan_exif'] = 'Сканування EXIF-даних (мета-теги камер)...';
+$_['text_log_stripped_exif'] = 'Очищено EXIF: ';
+$_['text_log_no_exif'] = 'Файлів з EXIF для очищення не знайдено.';
+$_['text_log_success_exif'] = 'Очищено EXIF у %s файлів. Звільнено: %s';
+$_['text_log_scan_small'] = 'Пошук фото розміром менше %sx%s px...';
+$_['text_log_too_small'] = 'Занадто мале (%sx%s): ';
+$_['text_log_no_small'] = 'Дрібних фото не знайдено.';
+$_['text_log_total_small'] = 'Знайдено дрібних фото: %s. Будь ласка, замініть їх на якісні.';
+$_['text_log_html_broken'] = 'Битией IMG в HTML таблиці %s (ID: %s): ';
+$_['text_log_no_html_broken'] = 'Битих картинок в HTML-описах не знайдено.';
+$_['text_log_total_html_broken'] = 'Знайдено битих посилань в HTML: %s. Виправте їх вручну.';
+$_['text_log_scan_smart_cache'] = 'Пошук втрачених файлів у image/cache/...';
+$_['text_log_del_orph_cache'] = 'Видалено втрачений кеш: ';
+$_['text_log_no_orph_cache'] = 'Втраченого кешу не знайдено.';
+$_['text_log_success_smart_cache'] = 'Видалено файлів втраченого кешу: %s. Звільнено: %s';
+$_['text_log_scan_translit'] = 'Пошук файлів з кирилицею або пробілами...';
+$_['text_log_no_bad_names'] = 'Файлів з некоректними іменами не знайдено.';
+$_['text_log_total_bad_names'] = 'Знайдено файлів з кирилицею/пробілами: %s. Натисніть "Виправити" для транслітерації та оновлення БД.';
+$_['text_log_renamed'] = 'Перейменовано: ';
+$_['text_log_success_translit'] = 'Успішно транслітеровано файлів: %s. БД оновлено.';
+$_['text_log_scan_restore'] = 'Сканирование image/cache/ для відновлення втрачених оригіналів...';
+$_['text_log_restored_cache'] = 'Відновлено з кешу: ';
+$_['text_log_no_lost_orig'] = 'Відсутніх оригіналів у кеші не знайдено.';
+$_['text_log_success_restore'] = 'Успішно відновлено оригіналів з кешу: %s.';
+$_['error_invalid_folder'] = 'Помилка: Неприпустиме ім\'я папки!';
+$_['text_formats_title'] = 'Сучасні формати (WebP & SVG)';
+$_['text_formats_desc'] = 'Налаштування інтеграції сучасних форматів у файлову систему та шаблони OpenCart.';
+$_['entry_support_svg'] = 'Підтримка завантаження SVG';
+$_['help_support_svg'] = 'Дозволяє завантаження векторних SVG-зображень через стандартний Filemanager та їх безпечне виведення на вітрині без спотворення розмірів.';
+$_['entry_support_webp'] = 'Підтримка завантаження WebP';
+$_['help_support_webp'] = 'Дозволяє вручну завантажувати, підв\'язувати та виводити на сайті готові файли .webp через Filemanager.';
+$_['entry_truefilemanager_webp'] = 'WebP у TrueFileManager';
+$_['help_truefilemanager_webp'] = 'Додає підтримку завантаження, попереднього перегляду та ескізів WebP у TrueFileManager від sitecreator (якщо його встановлено).';
+$_['entry_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load';
+$_['help_webp_on_fly'] = 'Надшвидка підміна: автоматично змінює розширення .jpg/.png на .webp прямо в HTML-виводі вітрини та додає атрибут loading="lazy". Не чіпає базу даних!';
+$_['help_tool_broken_db'] = 'Шукає в базі даних зображення, фізичні файли яких були видалені з сервера. Дозволяє очистити биті посилання.';
+$_['help_tool_empty_folders'] = 'Рекурсивно сканує директорію image/catalog/ та безпечно видаляє всі папки, в яких немає жодного файлу.';
+$_['help_tool_folder_tree'] = 'Будує дерево каталогів та показує реальну вагу кожної папки для пошуку "пожирачів" місця.';
+$_['help_tool_html_broken'] = 'Сканує HTML-описи товарів та категорій на наявність тегів
з неіснуючими зображеннями.';
+$_['help_tool_small_photos'] = 'Знаходить зображення з роздільною здатністю нижче заданої. Додано посилання на пошук якісних аналогів у Google Images та Яндекс Зображеннях.';
+$_['help_tool_duplicates'] = 'Шукає повні дублікати файлів за MD5-хешем (різні назви, але однакова картинка). Дозволяє склеїти їх в один файл та оновити БД.';
+$_['help_tool_watermark'] = 'Накладення водяних знаків у SMART-режимі (тільки на кеш вітрини, оригінали не змінюються).';
+$_['help_tool_placeholders'] = 'Масово встановлює вибране зображення-заглушку для товарів та категорій, у яких взагалі немає фото.';
+$_['help_tool_png_jpg'] = 'Інструмент сканує папку зображень і знаходить важкі PNG-файли, які не мають прозорого фону (альфа-каналу). Оскільки прозорість їм не потрібна, їх можна безпечно конвертувати у формат JPG. Це значно полегшує файли (в середньому на 70-80%) та прискорює завантаження сайту, а всі посилання в базі даних автоматично оновлюються.';
+$_['help_tool_exif'] = 'Сканує EXIF-дані та видаляє з них приховані теги, зменшуючи вагу на 10-15%.';
+$_['help_tool_smart_cache'] = 'Шукає в папці image/cache/ кешовані файли, оригінали яких уже видалені, та очищає неактуальний кеш.';
+$_['help_tool_translit'] = 'Знаходить файли з кирилицею або пробілами, перейменовує їх транслітом та оновлює шляхи в БД.';
+$_['help_tool_cache_restore'] = 'Якщо ви випадково видалили оригінал з catalog, інструмент спробує знайти його копію в cache та відновити назад.';
+$_['entry_quarantine'] = 'Перемістити оригінали в Карантин (замість видалення)';
+$_['entry_backup_db'] = 'Створити бекап змінюваних таблиць у SQL перед запуском';
+$_['button_fix_selected'] = 'ВИПРАВИТИ ВИБРАНІ';
+$_['button_export_log'] = 'Експортувати в CSV';
+$_['text_th_before'] = 'Стан ДО';
+$_['text_th_after'] = 'Очікуваний результат ПІСЛЯ';
+$_['text_th_select'] = 'Дія';
+$_['text_th_preview'] = 'Передперегляд';
+$_['text_th_name'] = 'Об`єкт / Файл';
+$_['text_global_action'] = 'Групова дія для вибраних:';
+$_['text_action_clear'] = 'Очистити посилання в БД';
+$_['text_action_disable'] = 'Вимкнути (Статус = 0)';
+$_['text_action_stock'] = 'Установити "Немає в наявності"';
+$_['text_action_placeholder'] = 'Встановити заглушку';
+$_['text_action_ignore'] = 'Нічого не робити';
+$_['text_action_merge'] = 'Склеїти (видалити дублікат, залишити оригінал)';
+$_['text_action_convert'] = 'Конвертувати в JPG';
+$_['text_action_rename'] = 'Перейменувати транслітом';
+$_['text_action_delete'] = 'Видалити';
+$_['text_action_restore'] = 'Відновити';
+$_['text_db_backup_created'] = 'Створено бекап БД: %s';
+$_['text_quarantine_created'] = 'Перенесено в карантин: %s';
+$_['text_fix_status_success'] = 'Успішно виконано';
+$_['text_fix_status_error'] = 'Помилка: %s';
+$_['text_log_exported'] = 'Лог успішно експортовано!';
+$_['text_select_action'] = '-- Виберіть дію --';
+$_['error_empty_selection'] = 'Помилка: Не вибрано жодного рядка для виправлення!';
+$_['text_link_admin'] = 'Адмінка';
+$_['text_link_catalog'] = 'Вітрина';
+$_['entry_threads'] = 'Потоків обробки';
+$_['text_threads_optimal'] = 'оптимально';
+$_['button_download_zip'] = 'Завантажити ZIP-архів та видалити папку';
+$_['confirm_download_and_delete'] = 'Архів успішно завантажився? Можна видалити тимчасову папку копій на сервері?';
+$_['button_clear_backups'] = 'Видалити бекапи БД';
+$_['button_clear_backups_short'] = 'Очистити бекапи';
+$_['confirm_clear_backups'] = 'Ви впевнені, що хочете повністю видалити всі SQL-бекапи таблиць?';
+$_['text_compare_title'] = 'Порівняння зображень ДО / ПІСЛЯ';
+$_['text_compare_before'] = 'ДО';
+$_['text_compare_after'] = 'ПІСЛЯ';
+$_['text_backups_cleared'] = 'Усі SQL-бекапи таблиць успішно видалені!';
+$_['error_no_backups'] = 'Бекапи не знайдені або папка порожня.';
+$_['button_restore'] = 'Повернути';
+$_['button_empty'] = 'Очистити';
+$_['entry_wm_targets'] = 'Застосовувати водяний знак до:';
+$_['text_wm_target_product'] = 'Фото товарів';
+$_['text_wm_target_category'] = 'Фото категорій';
+$_['text_wm_target_brand'] = 'Логотипи брендів';
+$_['text_wm_target_banner'] = 'Банери та слайди';
+$_['text_wm_target_blog'] = 'Статті / Блог';
+$_['error_no_scan_data'] = 'Помилка: Дані сканування не знайдені. Спочатку запустіть сканування!';
+$_['error_row_not_found'] = 'Помилка: Об`єкт не знайдено в результатах сканування!';
+$_['error_file_not_found'] = 'Помилка: Файл не знайдено на сервері!';
+$_['text_folder_rules_title'] = 'Індивідуальні правила стиснення для папок';
+$_['text_folder_rules_desc'] = 'Ви можете перевизначити якість та максимальні розміри для конкретних папок. Якщо залишити поле порожнім, використовуватиметься глобальне налаштування. Шлях вказується відносно папки image (наприклад, catalog/banners/).';
+$_['entry_folder_path'] = 'Шлях до папки';
+$_['entry_jpg_quality'] = 'Якість JPG';
+$_['entry_webp_quality'] = 'Якість WebP';
+$_['button_add_rule'] = 'Додати правило';
+$_['button_remove'] = 'Вилучити';
+$_['entry_wm_angle'] = 'Кут нахилу водяного знака (градуси)';
+$_['entry_wm_corner_radius'] = 'Закруглення кутів водяного знака (px)';
+$_['entry_wm_size_type'] = 'Масштабування водяного знака';
+$_['entry_wm_size_percent'] = 'Розмір водяного знака (% від ширини зображення)';
+$_['entry_wm_text_color'] = 'Колір тексту водяного знака';
+$_['entry_wm_text_font'] = 'Шрифт водяного знака (TTF)';
+$_['entry_wm_filter_mode'] = 'Режим фільтрації Категорій/Брендів';
+$_['text_wm_filter_include'] = 'Тільки для вибраних';
+$_['text_wm_filter_exclude'] = 'Для всіх, крім вибраних';
+$_['text_wm_size_original'] = 'Оригінальний розмір';
+$_['text_wm_size_percent'] = 'Пропорційно ширині зображення (%)';
+$_['button_preview_watermark'] = 'Попередній перегляд';
+$_['text_wm_preview_title'] = 'Попередній перегляд водяного знака';
+$_['text_cron_exclude_folders'] = 'Виключити папки зі сканування';
+$_['text_cron_entities'] = 'Які типи фото обробляти?';
+$_['text_cron_quality_override'] = 'Перевизначити параметри стиснення для Крона';
+$_['text_cron_recommendations'] = 'Рекомендації щодо розкладу Cron';
+$_['text_cron_recommendations_desc'] = '- Для невеликих сайтів (до 5000 товарів) рекомендується запускати Крон кожну годину (
0 * * * *). - Для середніх сайтів (5000-20000 товарів) рекомендується запускати раз на 3-6 годин (
0 */6 * * *). - Для великих сайтів (понад 20000 товарів) — один раз на добу вночі (наприклад, о 2:00:
0 2 * * *).
';
+$_['text_tool_broken_files'] = 'Сканер битих/порожніх файлів на сервері';
+$_['help_tool_broken_files'] = 'Сканує фізичні файли в папці image/catalog/ на наявність пошкоджених зображень або порожніх файлів розміром 0 байт.';
+$_['text_grid_broken_file'] = 'Битий або порожній файл на сервері';
+$_['text_grid_broken_file_after'] = 'Вилучення або заміна заглушкою';
+$_['text_description_broken_files'] = 'Результати сканування фізичних файлів у папці image/catalog/. Тут відображаються биті (пошкоджені) зображення або файли розміром 0 байт.';
+$_['text_action_strip'] = 'Очистити EXIF';
+$_['text_action_set_placeholder'] = 'Встановити заглушку';
+$_['text_th_entity'] = 'Об`єкт / Пов`язані посилання';
+$_['text_cron_entity_product'] = 'Товари';
+$_['text_cron_entity_category'] = 'Категорії';
+$_['text_cron_entity_manufacturer'] = 'Виробники / Бренди';
+$_['text_cron_entity_banner'] = 'Банери';
+$_['text_cron_entity_blog'] = 'Блог / Статті';
+$_['entry_cron_jpg_quality'] = 'Якість JPG (Крон)';
+$_['entry_cron_webp_quality'] = 'Якість WebP (Крон)';
+$_['entry_cron_max_width'] = 'Макс. ширина px (Крон)';
+$_['entry_cron_max_height'] = 'Макс. висота px (Крон)';
+$_['text_cron_folder_scan'] = 'Папки для сканування';
+$_['text_no_fonts'] = 'TTF-шрифти не знайдено в system/library/font/';
+$_['button_apply'] = 'Застосувати';
+$_['text_backup_will_be_created'] = 'Резервна копія бази даних буде автоматично створена перед виконанням цієї дії.';
+$_['text_bulk_action'] = 'Групова дія для вибраних';
+$_['text_grid_results'] = 'Результати та деталі сканування';
+$_['text_quarantine_will_be_created'] = 'Оригінальні файли будуть переміщені в карантин (image/catalog_trash/) перед зміною.';
+$_['text_success_apply'] = 'Зміни успішно застосовані!';
+$_['text_description_broken'] = 'Результати сканування бази даних на наявність битих посилань (записи в таблицях з неіснуючими файлами).';
+$_['text_description_cache_restore'] = 'Результати пошуку файлів у кеші, оригінали яких відсутні в каталозі.';
+$_['text_description_duplicates'] = 'Результати пошуку повних дублікатів зображень за MD5-хешем.';
+$_['text_description_empty_folders'] = 'Список порожніх папок в директорії image/catalog/ для видалення.';
+$_['text_description_exif'] = 'Результати пошуку зображень з метаданими EXIF, які можна очистити.';
+$_['text_description_folder_tree'] = 'Статистика розміру папок у каталозі image/catalog/.';
+$_['text_description_html_broken'] = 'Результати пошуку неіснуючих файлів картинок, на які посилаються описи в HTML.';
+$_['text_description_placeholders'] = 'Результати пошуку сутностей без зображень для заповнення заглушками.';
+$_['text_description_png_jpg'] = 'Результати пошуку важких зображень PNG без прозорості, які можна перетиснути в JPG.';
+$_['text_description_small_photos'] = 'Список зображень, розміри яких менше мінімально заданих (%sx%s px).';
+$_['text_description_smart_cache'] = 'Результати пошуку файлів кешу, оригінали яких уже було видалено.';
+$_['text_description_translit'] = 'Результати пошуку файлів з кирилицею або пробілами в назвах.';
+$_['text_grid_broken_db_after'] = 'Очистити посилання або встановити заглушку';
+$_['text_grid_dupe_after'] = 'Оригінал (залишається)';
+$_['text_grid_dupe_before'] = 'Дублікат (буде видалено)';
+$_['text_grid_empty_folder'] = 'Порожня папка';
+$_['text_grid_empty_folder_after'] = 'Вилучити порожню папку';
+$_['text_grid_exif_after'] = 'Очистити метадані';
+$_['text_grid_exif_before'] = 'Містить EXIF';
+$_['text_grid_html_after'] = 'Виправити посилання вручну';
+$_['text_grid_missing_file'] = 'Файл відсутній';
+$_['text_grid_missing_html'] = 'Картинка не знайдена в описі';
+$_['text_grid_missing_orig'] = 'Оригінал відсутній';
+$_['text_grid_missing_orig_after'] = 'Відновити оригінал з кешу';
+$_['text_grid_no_image'] = 'Немає зображення (порожньо)';
+$_['text_grid_orph_cache'] = 'Осиротілий кеш';
+$_['text_grid_orph_cache_after'] = 'Видалити непотрібний кеш';
+$_['text_grid_ph_brand_after'] = 'Встановити заглушку бренду';
+$_['text_grid_ph_category_after'] = 'Встановити заглушку категорії';
+$_['text_grid_ph_product_after'] = 'Встановити заглушку товару';
+$_['text_grid_small_photo_after'] = 'Рекомендується замінити на більше';
+$_['text_grid_too_small'] = 'Занадто мале';
+$_['text_no_relations'] = 'Немає зв’язків у БД';
+$_['text_action_archive'] = 'Архівувати (в ZIP)';
+$_['text_action_archive_delete'] = 'Архівувати + Видалити';
+$_['text_tool_sanitizer'] = 'Санитайзер імен файлів';
+$_['help_tool_sanitizer'] = 'Масове очищення імен файлів і папок від кирилиці, пробілів та спецсимволів, приведення розширень до єдиного вигляду.';
+$_['text_description_sanitizer'] = 'Результати аналізу імен файлів для санітаризації за вибраними правилами.';
+$_['entry_sz_translit'] = 'Транслітерація (кирилиця в латиницю)';
+$_['entry_sz_spaces'] = 'Замінювати пробіли на символ "_"';
+$_['entry_sz_special'] = 'Видаляти спеціальні символи';
+$_['entry_sz_lowercase_name'] = 'Ім`я файлу в нижній регістр';
+$_['entry_sz_lowercase_ext'] = 'Розширення в нижній регістр';
+$_['entry_sz_normalize_ext'] = 'Нормалізувати розширення (jpeg -> jpg)';
+$_['entry_cron_folder_mode'] = 'Режим фільтрації папок';
+$_['text_cron_folder_mode_exclude'] = 'Сканувати все, крім вибраних (Винятки)';
+$_['text_cron_folder_mode_include'] = 'Сканирувати тільки вибрані папки';
+$_['button_select_all'] = 'Вибрати всі';
+$_['button_deselect_all'] = 'Зняти всі';
+$_['entry_wm_upload_font'] = 'Завантажити свій шрифт TTF';
+$_['button_upload_font'] = 'Завантажити шрифт';
+$_['text_success_font_upload'] = 'Шрифт успішно завантажено!';
+$_['error_font_upload'] = 'Помилка завантаження шрифту! Дозволені тільки файли .ttf вагою до 5 МБ.';
+$_['entry_lazy_load'] = 'Прогресивне лениве завантаження';
+$_['help_lazy_load'] = 'Вмикає преміальне прогресивне відкладене завантаження на вітрині. Зображення замінюються на мікро-прев\'ю та плавно розмиваються (blur-up), підвантажуючись у міру прокручування.';
+$_['confirm_replace_mode'] = 'УВАГА! Ви обрали режим «Замінювати оригінали». Усі зображення будуть перезаписані безпосередньо на сервері. Наполегливо рекомендуємо зробити резервну копію. Ви впевнені, що хочете продовжити?';
+$_['text_compare'] = 'Порівняти';
+$_['text_home'] = 'Головна';
+$_['text_tech_gd'] = 'Бібліотека GD';
+$_['text_tech_imagick'] = 'Imagick';
+$_['text_tech_webp'] = 'Підтримка WebP';
+$_['text_position_1'] = '1 - Зліва вгорі';
+$_['text_position_2'] = '2 - По центру вгорі';
+$_['text_position_3'] = '3 - Справа вгорі';
+$_['text_position_4'] = '4 - Зліва посередині';
+$_['text_position_5'] = '5 - По центру';
+$_['text_position_6'] = '6 - Справа посередині';
+$_['text_position_7'] = '7 - Зліва внизу';
+$_['text_position_8'] = '8 - По центру внизу';
+$_['text_position_9'] = '9 - Справа внизу';
+
+$_['entry_log_level'] = 'Рівень логу';
+$_['text_log_changed_only'] = 'Тільки змінені';
+$_['text_log_all'] = 'Всі файли (детально)';
+$_['text_skipped_no_gain'] = 'Пропущено (без покращення)';
+$_['text_reset_cache_hint'] = 'Скинути кеш оптимізації (повне пересканування)';
+$_['confirm_reset_cache'] = 'Скинути кеш оптимізації? Наступне сканування перевірить ВСІ файли знову.';
+$_['text_cache_cleared'] = 'Кеш оптимізації очищено. Наступне сканування перевірить всі файли.';
+$_['error_wm_preview'] = 'Помилка генерації прев\'ю водяного знаку.';
+$_['error_wm_too_large'] = 'Зображення водяного знаку занадто велике (%dx%d px)! Максимально допустимий розмір: %dx%d px.';
+$_['text_apply_errors_warning'] = 'УВАГА: Деякі файли не вдалося замінити (заблоковані або немає прав):';
+$_['text_action_compress'] = 'Стиснути зображення';
+$_['text_estimated'] = 'Прогноз';
+$_['entry_min_savings_bytes'] = 'Мін. стиснення (байт)';
+$_['entry_min_savings_percent'] = 'Мін. стиснення (%)';
+$_['text_optimized'] = 'Оптимізовано';
+$_['entry_broken_fallback'] = 'Заглушка для битих фото';
+$_['help_broken_fallback'] = 'Автоматично замінює відсутні або пошкоджені зображення каталогу на вітрині на зображення-заглушку.';
+$_['entry_fallback_image'] = 'Зображення-заглушка';
+$_['help_fallback_image'] = 'Виберіть зображення, яке буде показано, якщо оригінальний файл картинки товару чи категорії відсутній. За замовчуванням використовується no_image.png.';
+$_['text_tool_cmyk'] = 'Конвертер CMYK в RGB';
+$_['help_tool_cmyk'] = 'Конвертація JPEG зображень з колірного профілю CMYK в sRGB для коректного відображення в браузерах Safari та на пристроях iOS.';
+$_['text_tool_heavy_files'] = 'Пошук важких файлів';
+$_['help_tool_heavy_files'] = 'Пошук найважчих оригінальних зображень у каталозі з можливістю їх швидкого стиснення безпосередньо тут.';
+$_['entry_heavy_files_limit'] = 'Макс. кількість знайдених файлів (всього)';
+$_['text_action_convert_rgb'] = 'Конвертувати в RGB';
+$_['text_description_cmyk'] = 'Знайдено файли в колірному просторі CMYK. Конвертація в sRGB гарантує колірне відображення на всіх платформах, включаючи iOS/macOS.';
+$_['text_description_heavy'] = 'Список із %d найважчих файлів у каталозі зображень. Ви можете оптимізувати їх безпосередньо тут.';
+$_['text_cron_folder_hint_exclude_all'] = 'Статус: Скануватимуться всі папки (винятки не обрані).';
+$_['text_cron_folder_hint_exclude_some'] = 'Статус: Скануватимуться всі папки, ОКРІМ %d позначених.';
+$_['text_cron_folder_hint_include_some'] = 'Статус: Скануватимуться тільки %d позначених папок.';
+$_['text_cron_folder_hint_include_none'] = 'УВАГА: Жодної папки не обрано! Крон нічого не буде сканувати.';
+$_['text_action_apply_changes'] = 'Застосувати вказані зміни';
+$_['entry_wm_status'] = 'Статус водяного знака';
+$_['text_disabled'] = 'Відключено';
+$_['entry_rule_name'] = 'Назва правила';
+$_['entry_rule_status'] = 'Статус правила';
+$_['entry_action'] = 'Дія';
+$_['entry_ph_status'] = 'Статус заглушок';
+$_['entry_sanitizer_limit'] = 'Макс. файлів для пошуку (ліміт)';
+$_['entry_heavy_files_min_size'] = 'Мінимальний розмір';
+$_['entry_png_jpg_limit'] = 'Макс. файлів для пошуку (ліміт)';
+$_['entry_png_jpg_min_size'] = 'Мінімальний розмір';
+$_['text_wm_rule_title'] = 'Правило водяного знака';
+$_['button_close'] = 'Закрити';
+$_['text_ph_rule_title'] = 'Правило заглушки';
+$_['entry_ph_image'] = 'Зображення заглушки';
+$_['button_clear_cache_wm'] = 'Очистити кеш (застосувати водяний знак)';
+$_['text_active'] = 'Активна';
+$_['text_error'] = 'Не активна';
+$_['text_th_dupe_delete'] = 'Файл для видалення (Дублікат)';
+$_['text_th_dupe_keep'] = 'Файл для збереження (Оригінал)';
+$_['text_dupe_original_label'] = 'Оригінал';
+$_['text_dupe_duplicate_label'] = 'Дублікат';
+
+$_['text_disk_usage'] = 'Використання диска';
+$_['text_cumulative_stats'] = 'Статистика оптимізації';
+$_['text_disk_catalog'] = 'Каталог зображень';
+$_['text_disk_cache'] = 'Кеш OC';
+$_['text_disk_trash'] = 'Кошик модуля';
+$_['text_disk_other'] = 'Інше';
+$_['text_disk_free'] = 'Вільно';
+$_['text_total_files_opt'] = 'Файлів оброблено';
+$_['text_total_saved'] = 'Всього зекономлено';
+$_['text_avg_saving_pct'] = 'Середня економія';
+$_['text_stats_hint'] = 'Статистика накопичується по всіх сесіях (зберігається локально в браузері)';
+$_['text_reset_stats'] = 'Скинути статистику';
+$_['text_reset_stats_confirm']= 'Скинути накопичену статистику оптимізації?';
+$_['text_export_import'] = 'Експорт / Імпорт налаштувань';
+$_['button_export_settings'] = 'Експорт налаштувань (JSON)';
+$_['button_import_settings'] = 'Імпортувати налаштування';
+$_['help_export_settings'] = 'Завантажити всі налаштування модуля в JSON-файл';
+$_['help_import_settings'] = 'Завантажити раніше експортований JSON для відновлення налаштувань';
+$_['text_import_success'] = 'Налаштування успішно імпортовані. Перезавантажте сторінку для застосування.';
+$_['error_import_file'] = 'Файл не завантажено або помилка завантаження';
+$_['error_import_invalid'] = 'Некоректний файл налаштувань (невірний модуль або формат)';
+$_['text_click_to_load'] = 'Натисніть ↑ для завантаження даних диска';
+
+
+$_['tab_formats'] = 'Формати зображень';
+
+$_['text_disk_quota_legend'] = 'Ліміти диска хостингу (вручну)';
+$_['text_disk_quota_desc'] = 'Якщо графік дискового простору показує некоректні дані (фізичний диск сервера замість ліміту вашого хостингу), ви можете вказати ліміти вашого тарифу вручну. Вкажіть 0, щоб використовувати автовизначення.';
+$_['entry_disk_quota_total'] = 'Виділено диска на хостингу (ГБ)';
+$_['entry_disk_quota_used'] = 'Зайнято диска на хостингу всього (ГБ)';
+$_['entry_auto_disk'] = 'Автооновлення при вході';
+
+// Cron Tasks
+$_['entry_cron_task_name'] = 'Назва задачі';
+$_['entry_cron_task_summary'] = 'Параметри стиснення';
+$_['button_add_cron_task'] = 'Додати задачу';
+$_['button_copy_cron_url'] = 'Копіювати URL';
+$_['text_cron_recommended_url'] = 'URL для запуску задачі крону:';
+
+// Licensing
+$_['text_license_required'] = 'Необхідний ліцензійний ключ';
+$_['text_license_required_desc'] = 'Будь ласка, введіть ліцензійний ключ для активації модуля. Усі функції налаштувань та оптимізації заблоковані до введення валідного ключа.';
+$_['entry_token_desc'] = 'Введіть токен активації, виданий для вашого основного домену. Ви можете отримати його в особистому кабінеті на форумі або звернувшись у підтримку.';
+$_['button_activate'] = 'Активувати модуль';
+$_['text_support'] = 'Технічна підтримка';
+$_['text_support_desc'] = 'Якщо у вас ще немає ключа або виникли проблеми, будь ласка, повідомте номер вашого замовлення та домен.';
+
+// New settings
+$_['entry_wm_max_width'] = 'Макс. ширина водяного знака (px)';
+$_['entry_wm_max_height'] = 'Макс. висота водяного знака (px)';
+$_['help_wm_max_width'] = 'Якщо вихідне зображення водяного знака перевищує цю ширину, воно буде автоматично масштабоване. Вкажіть 0 або залиште порожнім для значення за замовчуванням (800px).';
+$_['help_wm_max_height'] = 'Якщо вихідне зображення водяного знака перевищує цю висоту, воно буде автоматично масштабоване. Вкажіть 0 або залиште порожнім для значення за замовчуванням (800px).';
+$_['entry_disk_status'] = 'Увімкнути сканування диска та графік';
+$_['help_disk_status'] = 'Якщо увімкнено, модуль періодично скануватиме обсяг папки картинок та відображатиме круговую діаграму. Рекомендується вимкнути на великих сайтах для прискорення завантаження панелі.';
+$_['text_disk_settings_title'] = 'Налаштування лімітів та сканування диска';
+
diff --git a/upload/admin/language/uk/module/img_opti.php b/upload/admin/language/uk/module/img_opti.php
new file mode 100644
index 0000000..a563c9d
--- /dev/null
+++ b/upload/admin/language/uk/module/img_opti.php
@@ -0,0 +1,567 @@
+Image Optimizer [NAT]: Стиснення оригіналів та видалення сміття';
+$_['text_extension'] = 'Розширення';
+$_['text_edit'] = 'Налаштування модуля';
+$_['text_success'] = 'Налаштування успішно збережено!';
+$_['entry_warning'] = 'УВАГА: Обов`язково зробіть бекап файлів сайту і особливо папки /image/catalog перед початком роботи!';
+$_['text_tech'] = 'Перевірка технологій сервера:';
+$_['text_author'] = 'Технічна підтримка та побажання: info@nat.od.ua';
+$_['tab_optimize'] = 'Оптимізація та Ресайз';
+$_['tab_cleaner'] = 'Очищення невикористовуваних зображень';
+$_['tab_info'] = 'Інфо / Екосистема [NAT]';
+$_['tab_settings'] = 'Налаштування';
+$_['tab_tools'] = 'Інструменти (pro)';
+$_['tab_cron'] = 'Крон-завдання';
+$_['entry_mode'] = 'Режим роботи';
+$_['text_copy'] = 'Створити копію (безпечно)';
+$_['text_replace'] = 'Замінювати оригінали (потребує бекап!)';
+$_['entry_folder'] = 'Ім`я папки для копії';
+$_['entry_batch'] = 'Файлів за прохід';
+$_['entry_log_limit'] = 'Рядків логу на екрані';
+$_['entry_max_width'] = 'Макс. ширина (px) [0 - без ліміту]';
+$_['entry_max_height'] = 'Макс. висота (px) [0 - без ліміту]';
+$_['entry_jpg'] = 'Якість JPG (0-100)';
+$_['entry_png'] = 'Стиснення PNG (0-9)';
+$_['entry_webp'] = 'Якість WebP (0-100)';
+$_['entry_targets'] = 'Що оптимізувати?';
+$_['text_all_catalog'] = '[ Весь каталог image/catalog ]';
+$_['text_root_files'] = 'Файли тільки в корені image/catalog';
+$_['entry_threshold'] = 'Поріг заміни (%)';
+$_['help_threshold'] = '0: замінювати тільки якщо вага стала меншою. 10: дозволити збільшення ваги до 10%.';
+$_['entry_token'] = 'Токен активації (на корінь домену)';
+$_['entry_status'] = 'Статус модуля';
+$_['entry_menu_position'] = 'Позиція меню [NAT]';
+$_['text_menu_module_only'] = 'Тільки в модулях';
+$_['text_menu_header'] = 'У шапці (Header)';
+$_['text_menu_sidebar'] = 'У бічному меню (Sidebar)';
+$_['text_menu_both'] = 'Скрізь (Шапка + Сайдбар)';
+$_['text_status_on'] = 'Увімкнено';
+$_['text_status_off'] = 'Вимкнено';
+$_['entry_engine'] = 'Рушій обробки зображень';
+$_['text_engine_gd'] = 'GD (Стандарт)';
+$_['text_engine_imagick'] = 'Imagick (Висока якість, збереження профілів sRGB)';
+$_['entry_license'] = 'Ліцензія';
+$_['text_cleaner_info'] = 'Цей інструмент шукає файли, які фізично існують на диску, але ніде не використовуються в базі даних або файлах шаблону.';
+$_['entry_clean_targets'] = 'В яких папках шукати сміття?';
+$_['entry_extended_log'] = 'Розширений лог (показати використовувані photo і де вони знайдені)';
+$_['entry_process_broken'] = 'Враховувати файли з битим кодуванням (імена з символом "?")';
+$_['button_scan_trash'] = 'ЗНАЙТИ СМІТТЯ';
+$_['button_quarantine'] = 'В Карантин (Безпечно)';
+$_['button_delete_trash'] = 'Видалити назавжди';
+$_['button_empty_quarantine'] = 'Очистити папку Карантину';
+$_['button_restore_quarantine'] = 'Повернути з Карантину';
+$_['text_scan_result'] = 'Результати сканування';
+$_['text_trash_files'] = 'Сміттєвих файлів: ';
+$_['text_trash_size'] = 'Потенційно звільниться: ';
+$_['button_start'] = 'СТАРТ ОПТИМІЗАЦІЇ';
+$_['button_pause'] = 'ПАУЗА';
+$_['button_stop'] = 'ЗУПИНИТИ';
+$_['button_continue'] = 'ПРОДОВЖИТИ';
+$_['button_start_new'] = 'СТАРТ (Новий запуск)';
+$_['button_download_log'] = 'Завантажити лог в TXT';
+$_['button_download'] = 'Завантажити';
+$_['button_save'] = 'Зберегти';
+$_['button_cancel'] = 'Скасувати';
+$_['text_progress'] = 'Прогрес:';
+$_['text_old_size'] = 'Було:';
+$_['text_new_size'] = 'Стало:';
+$_['text_savings'] = 'Економія:';
+$_['text_detailed_log'] = 'Детальний лог';
+$_['text_page'] = 'Стор.';
+$_['text_waiting'] = 'Очікування запуску...';
+$_['text_enabled'] = 'Увімкнено';
+$_['text_disabled_error'] = 'Вимкнено (ПОМИЛКА)';
+$_['text_supported'] = 'Підтримується';
+$_['text_no'] = 'Ні';
+$_['error_permission'] = 'У вас немає прав для керування модулем!';
+$_['error_license'] = 'Помилка доступу: Невірний токен активації для цього домену!';
+$_['error_domain'] = ' (Домен: ';
+$_['text_found'] = 'Знайдено файлів: ';
+$_['text_compressed'] = 'Стиснуто';
+$_['text_original'] = 'Оригінал';
+$_['text_error_process'] = 'Помилка обробки: ';
+$_['error_log_empty'] = 'Лог порожній! Спочатку запустіть процес.';
+$_['text_report_header'] = '=== ЗВІТ ===';
+$_['text_total_files'] = 'Всього файлів: ';
+$_['text_searching'] = 'Пошук файлів...';
+$_['error_ajax'] = 'Помилка: ';
+$_['text_resumed'] = '▶ ПРОЦЕС ВІДНОВЛЕНО...';
+$_['text_paused'] = '⏸ ПАУЗА. Процес призупинено.';
+$_['confirm_stop'] = 'Ви впевнені, що хочете повністю перервати процес?';
+$_['confirm_delete'] = 'УВАГА! Файли будуть видалені з сервера назавжди без можливості відновлення! Продовжити?';
+$_['confirm_empty_q'] = 'Ви впевнені, що хочете повністю очистити папку карантину?';
+$_['confirm_restore'] = 'Всі файли з папки карантину будуть повернуті на свої місця. Продовжити?';
+$_['button_stopping'] = 'Зупинка...';
+$_['text_stopped_user'] = '🛑 ПРОЦЕС ПЕРЕРВАНО КОРИСТУВАЧЕМ!';
+$_['text_increase'] = 'Збільшення';
+$_['text_done'] = '✅ ГОТОВО! Процес завершено.';
+$_['error_timeout'] = 'Таймаут сервера. Автоповтор через 3 секунди...';
+$_['text_building_index'] = 'Крок 1/2: Індексація БД та шаблонів (пошук фото, що використовуються)...';
+$_['text_comparing'] = 'Крок 2/2: Порівняння фізичних файлів з індексом...';
+$_['text_quarantine_done'] = '✅ Процес перенесення в image/catalog_trash/ завершено!';
+$_['text_deleted_done'] = '✅ Процес видалення сміття завершено!';
+$_['text_quarantine_empty'] = '✅ Папку карантину успішно видалено з сервера!';
+$_['text_restore_done'] = '✅ Файли успішно повернуто з карантину в робочу папку!';
+$_['text_quarantine_move'] = 'В карантині: ';
+$_['text_deleted_file'] = 'Видалено: ';
+$_['text_no_trash'] = 'У вибраних папках сміття не знайдено! Всі файли використовуються.';
+$_['text_scanning_dirs'] = 'Скануємо директорії: ';
+$_['text_log_used'] = '[ВИКОРИСТОВУЄТЬСЯ]';
+$_['text_log_trash'] = '[СМІТТЯ]';
+$_['text_log_deleted'] = '[ВИДАЛЕНО]';
+$_['text_log_del_err'] = '[ПОМИЛКА ВИДАЛЕННЯ]';
+$_['text_log_quarantine'] = '[В КАРАНТИН]';
+$_['text_log_q_err'] = '[ПОМИЛКА ПЕРЕНЕСЕННЯ]';
+$_['text_log_restored'] = '[ВІДНОВЛЕНО]';
+$_['text_log_rest_err'] = '[ПОМИЛКА ВІДНОВЛЕННЯ]';
+$_['text_used_in'] = 'у: ';
+$_['text_analyzing'] = 'Аналіз бази даних...';
+$_['text_clean_empty'] = 'Чисто! Сміття немає.';
+$_['text_processing'] = 'Обробка...';
+$_['text_restoring'] = 'Відновлення файлів...';
+$_['text_all_folders'] = 'image/catalog/ (Та всі вкладені)';
+$_['text_root_folder'] = 'image/catalog/ (Тільки корінь)';
+$_['text_q_empty_err'] = 'Папка карантину порожня або не існує.';
+$_['error_token'] = 'Невірний токен. Перезавантажте сторінку.';
+$_['text_apply_title'] = 'Оптимізацію завершено в папку: ';
+$_['text_apply_info'] = 'Перевірте результат. Якщо все влаштовує — застосуйте зміни до основного каталогу.';
+$_['entry_apply_backup'] = 'Перенести зі створенням бекапу (в Карантин)';
+$_['entry_apply_replace'] = 'Замінити оригінали безповоротно';
+$_['button_apply_main'] = 'ЗАСТОСУВАТИ ДО ОСНОВНОГО КАТАЛОГУ';
+$_['button_delete_copies'] = 'Видалити тимчасові копії (скасування)';
+$_['button_full_cleanup'] = 'Повне очищення всіх тимчасових папок та бекапів';
+$_['text_apply_success'] = '✅ Файли успішно перенесено. ';
+$_['text_apply_backup_ok'] = 'Оригінали збережено в папку: ';
+$_['text_apply_no_backup'] = 'Оригінали видалено.';
+$_['text_error_source'] = 'Помилка: Папку з оптимізованими файлами не знайдено.';
+$_['confirm_full_cleanup'] = 'УВАГА! Ця дія безповоротно видалить УСІ папки бекапів (backup_*) та тимчасові папки з копіями. Продовжити?';
+$_['text_tools_desc'] = 'Глобальні сканери та інструменти для роботи з файловою системою і БД зображень.';
+$_['text_tool_select'] = 'Виберіть інструмент:';
+$_['text_group_scanners'] = 'Сканери та Аналіз';
+$_['text_group_generators'] = 'Генератори та Обробка';
+$_['text_group_experimental'] = 'Експериментальні функції (BETA)';
+$_['text_experimental_warn'] = 'Увага: Експериментальні функції зачіпають системні файли або базу даних. Настійно рекомендується зробити бекап!';
+$_['text_tool_broken_db'] = 'Сканер битих/порожніх фото БД';
+$_['text_tool_watermark'] = 'Динамічний Вотермарк (Тільки на кеш)';
+$_['text_tool_duplicates'] = 'Поиск дубликатов файлов (за MD5)';
+$_['text_tool_png_jpg'] = 'Конвертер важких PNG у JPG (сканер файлів без прозорості)';
+$_['text_tool_placeholders'] = 'Генератор заглушок (Замість No Image)';
+$_['text_tool_exif'] = 'Очищення EXIF-даних (Геотеги/Мета)';
+$_['text_tool_small_photos'] = 'Сканер занадто дрібних фото';
+$_['text_tool_html_broken'] = 'Пошук битих картинок в HTML (Описах)';
+$_['text_tool_empty_folders'] = 'Очищення порожніх папок (image/catalog)';
+$_['text_tool_smart_cache'] = 'Розумне очищення кешу зображень';
+$_['text_tool_folder_tree'] = 'Дерево папок (Статистика ваги)';
+$_['text_tool_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load (Без БД)';
+$_['text_tool_translit'] = 'Транслітерація назв файлів';
+$_['text_tool_cache_restore'] = 'Відновлення оригіналів із Кешу';
+$_['entry_wm_type'] = 'Тип водяного знака';
+$_['text_wm_image'] = 'Зображення (PNG)';
+$_['text_wm_text'] = 'Текст';
+$_['entry_wm_image_path'] = 'Шлях до зображення';
+$_['entry_wm_text_val'] = 'Текст водяного знака';
+$_['entry_wm_position'] = 'Позиція (1-9)';
+$_['entry_wm_opacity'] = 'Прозорість (0-100)';
+$_['entry_wm_category'] = 'Тільки для Категорій';
+$_['entry_wm_brand'] = 'Тільки для Брендів';
+$_['entry_min_width'] = 'Мінімальна ширина (px)';
+$_['entry_min_height'] = 'Мінімальна висота (px)';
+$_['entry_ph_product'] = 'Заглушка для Товарів';
+$_['entry_ph_category'] = 'Заглушка для Категорій';
+$_['entry_ph_brand'] = 'Заглушка для Брендів';
+$_['button_run_tool'] = 'Запустити інструмент';
+$_['button_scan_tool'] = 'Сканувати';
+$_['button_fix_tool'] = 'Виправити знайдене';
+$_['text_th_path'] = 'Файл / Шлях';
+$_['text_th_size'] = 'Розмір';
+$_['text_th_action'] = 'Дія';
+$_['text_th_status'] = 'Статус';
+$_['text_th_problem'] = 'Проблема / Значення';
+$_['text_cron_title'] = 'Налаштування Cron';
+$_['text_cron_desc'] = 'Додайте команду в Cron хостингу для автоматичного фонового стиснення.';
+$_['entry_cron_new_only'] = 'Обробляти тільки нові (необроблені) файли';
+$_['entry_cron_folders'] = 'Папки для сканування (залиште порожнім для всього каталогу)';
+$_['text_promo_title'] = 'Інші модулі серії [NAT]';
+$_['text_promo_desc'] = 'Модулі серії [NAT] – це інструменти для глибокої оптимізації OpenCart. Ми фокусуємося на автоматизації рутини, прискоренні бази даних та очищенні серверів від сміття. Усі модулі мають відкритий вихідний код та єдину логіку управління.';
+$_['text_support'] = 'Технічна підтримка та побажання:';
+$_['button_more'] = 'Дивитися всі модулі на OpenCart.com';
+$_['button_more_forum'] = 'Opencartforum';
+$_['text_mod_cat_opt'] = 'Catalog Optimizer [NAT]';
+$_['text_mod_cat_opt_desc'] = 'Приховування порожніх категорій і брендів + SEO сортування товарів (у наявності зверху) + Очищення сміття БД.';
+$_['text_mod_new_arrivals'] = 'New Arrivals [NAT]: Новинки за датами';
+$_['text_mod_new_arrivals_desc'] = 'Автоматична SEO-сторінка новинок. Відображає новинки суворо за реальною датою додавання. Слайдери, сітка та розумний сайдбар архіву дат.';
+$_['text_mod_img_opt'] = 'Image Optimizer [NAT]';
+$_['text_mod_img_opt_desc'] = 'Поточний модуль. Стиснення та ресайз ОРИГІНАЛІВ фото (image/catalog) у WebP + Очищення хостингу від невикористаних зображень.';
+$_['text_mod_dom_scan'] = 'Domain Scanner [NAT]';
+$_['text_mod_dom_scan_desc'] = 'Пошук і чищення зовнішніх посилань і HTTP-картинок у БД та файлах теми. Ідеально для HTTPS або очищення після парсингу.';
+$_['text_mod_poll'] = 'Poll Widget [NAT]';
+$_['text_mod_poll_desc'] = 'Створення опитувань та голосувань із візуальним конструктором дизайну, глибокою статистикою та захистом від накруток.';
+$_['text_mod_db_opt'] = 'Database Optimizer [NAT]';
+$_['text_mod_db_opt_desc'] = 'Інтелектуальне очищення сміття в базі даних, управління системними логами та додавання критично важливих індексів для прискорення.';
+$_['text_mod_im_ex'] = 'Import/Export [NAT]';
+$_['text_mod_im_ex_desc'] = 'Швидкий імпорт/експорт цін і залишків з файлів xls/xlsx/csv/xml/json або за посиланням. Маппінг полів, робота по Cron, текстові функції.';
+$_['text_mod_admin_tools'] = 'Admin Tools [NAT]';
+$_['text_mod_admin_tools_desc'] = 'Зручні інструменти адміністратора: вхід під клієнтом, кастомізація адмінки, управління правами користувачів та приховування непотрібних пунктів меню.';
+$_['text_mod_utm_tracker'] = 'Order UTM Tracker [NAT]';
+$_['text_mod_utm_tracker_desc'] = 'Автоматичне відстеження UTM-міток при оформленні замовлення. Зберігає джерело переходу, кампанію, ключові слова та виводить ці дані в замовленні для аналітики реклами.';
+$_['text_info_title_promo_top_bar'] = 'Promo Top Bar [NAT]: Верхній рекламний інфо-баннер, інформаційна смуга над шапкою, рухомий рядок та топ-баннер';
+$_['text_info_desc_promo_top_bar'] = 'Створення інтерактивних промо-панелей та слайд-шоу в шапці сайту з конструктором блоків, таймерами, формою підписки та гнучким націлюванням.';
+$_['text_tool_no_image'] = 'Товари без головного фото (порожньо в БД)';
+$_['text_problem_main_broken'] = 'Бите головне фото (файл видалено)';
+$_['text_problem_add_broken'] = 'Бите дод. фото (файл видалено)';
+$_['text_problem_no_image'] = 'Відсутнє головне фото';
+$_['text_err_dir'] = 'Помилка: Директорію не знайдено або невірний шлях.';
+$_['text_err_no_queue'] = 'Помилка: Чергу не знайдено. Спочатку запустіть сканування.';
+$_['text_log_del_empty_folder'] = 'Видалено порожню папку: ';
+$_['text_log_no_empty_folders'] = 'Порожніх папок в image/catalog/ не знайдено.';
+$_['text_log_total_empty_folders'] = 'Всього видалено порожніх папок: ';
+$_['text_log_cache_cleared'] = 'Кеш зображень успішно очищено.';
+$_['text_log_wm_smart_mode'] = 'Вотермарки працюють в SMART-режимі: оригінали не зачіпаються, логотип накладається лише при генерації кешу.';
+$_['text_log_scan_dupes'] = 'Сканування image/catalog/ на дублікати (за хешем MD5)... Це може зайняти час.';
+$_['text_log_found_dupe'] = 'Знайдено дублікат: ';
+$_['text_log_no_dupes'] = 'Дублікатів не знайдено.';
+$_['text_log_total_dupes'] = 'Знайдено дублікатів: %s. Потенційна економія: %s';
+$_['text_log_fix_dupes_prompt'] = 'Натисніть "Виправити знайдене" для перелінкування БД на оригинал та видалення дублів.';
+$_['text_log_fixed_dupe'] = 'Виправлено та видалено дублікат: ';
+$_['text_log_success_dupes'] = 'Успішно виправлено дублікатів: %s. Посилання в БД оновлено.';
+$_['text_log_scan_png'] = 'Пошук важких PNG файлів без прозорості...';
+$_['text_log_no_png'] = 'Відповідних PNG файлів не знайдено.';
+$_['text_log_total_png'] = 'Знайдено PNG без прозорості: %s. Натисніть "Виправити" для конвертації в JPG.';
+$_['text_log_converted_jpg'] = 'Сконвертовано в JPG: ';
+$_['text_log_success_png'] = 'Успішно сконвертовано %s файлів. Звільнено: %s';
+$_['text_log_ph_prod'] = 'Оновлено товарів заглушкою: ';
+$_['text_log_ph_cat'] = 'Оновлено категорій заглушкою: ';
+$_['text_log_ph_brand'] = 'Оновлено брендів заглушкою: ';
+$_['text_log_ph_empty'] = 'Заглушки не вибрані в налаштуваннях.';
+$_['text_log_scan_exif'] = 'Сканування EXIF-даних (мета-теги камер)...';
+$_['text_log_stripped_exif'] = 'Очищено EXIF: ';
+$_['text_log_no_exif'] = 'Файлів з EXIF для очищення не знайдено.';
+$_['text_log_success_exif'] = 'Очищено EXIF у %s файлів. Звільнено: %s';
+$_['text_log_scan_small'] = 'Пошук фото розміром менше %sx%s px...';
+$_['text_log_too_small'] = 'Занадто мале (%sx%s): ';
+$_['text_log_no_small'] = 'Дрібних фото не знайдено.';
+$_['text_log_total_small'] = 'Знайдено дрібних фото: %s. Будь ласка, замініть їх на якісні.';
+$_['text_log_html_broken'] = 'Битией IMG в HTML таблиці %s (ID: %s): ';
+$_['text_log_no_html_broken'] = 'Битих картинок в HTML-описах не знайдено.';
+$_['text_log_total_html_broken'] = 'Знайдено битих посилань в HTML: %s. Виправте їх вручну.';
+$_['text_log_scan_smart_cache'] = 'Пошук втрачених файлів у image/cache/...';
+$_['text_log_del_orph_cache'] = 'Видалено втрачений кеш: ';
+$_['text_log_no_orph_cache'] = 'Втраченого кешу не знайдено.';
+$_['text_log_success_smart_cache'] = 'Видалено файлів втраченого кешу: %s. Звільнено: %s';
+$_['text_log_scan_translit'] = 'Пошук файлів з кирилицею або пробілами...';
+$_['text_log_no_bad_names'] = 'Файлів з некоректними іменами не знайдено.';
+$_['text_log_total_bad_names'] = 'Знайдено файлів з кирилицею/пробілами: %s. Натисніть "Виправити" для транслітерації та оновлення БД.';
+$_['text_log_renamed'] = 'Перейменовано: ';
+$_['text_log_success_translit'] = 'Успішно транслітеровано файлів: %s. БД оновлено.';
+$_['text_log_scan_restore'] = 'Сканирование image/cache/ для відновлення втрачених оригіналів...';
+$_['text_log_restored_cache'] = 'Відновлено з кешу: ';
+$_['text_log_no_lost_orig'] = 'Відсутніх оригіналів у кеші не знайдено.';
+$_['text_log_success_restore'] = 'Успішно відновлено оригіналів з кешу: %s.';
+$_['error_invalid_folder'] = 'Помилка: Неприпустиме ім\'я папки!';
+$_['text_formats_title'] = 'Сучасні формати (WebP & SVG)';
+$_['text_formats_desc'] = 'Налаштування інтеграції сучасних форматів у файлову систему та шаблони OpenCart.';
+$_['entry_support_svg'] = 'Підтримка завантаження SVG';
+$_['help_support_svg'] = 'Дозволяє завантаження векторних SVG-зображень через стандартний Filemanager та їх безпечне виведення на вітрині без спотворення розмірів.';
+$_['entry_support_webp'] = 'Підтримка завантаження WebP';
+$_['help_support_webp'] = 'Дозволяє вручну завантажувати, підв\'язувати та виводити на сайті готові файли .webp через Filemanager.';
+$_['entry_truefilemanager_webp'] = 'WebP у TrueFileManager';
+$_['help_truefilemanager_webp'] = 'Додає підтримку завантаження, попереднього перегляду та ескізів WebP у TrueFileManager від sitecreator (якщо його встановлено).';
+$_['entry_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load';
+$_['help_webp_on_fly'] = 'Надшвидка підміна: автоматично змінює розширення .jpg/.png на .webp прямо в HTML-виводі вітрини та додає атрибут loading="lazy". Не чіпає базу даних!';
+$_['help_tool_broken_db'] = 'Шукає в базі даних зображення, фізичні файли яких були видалені з сервера. Дозволяє очистити биті посилання.';
+$_['help_tool_empty_folders'] = 'Рекурсивно сканує директорію image/catalog/ та безпечно видаляє всі папки, в яких немає жодного файлу.';
+$_['help_tool_folder_tree'] = 'Будує дерево каталогів та показує реальну вагу кожної папки для пошуку "пожирачів" місця.';
+$_['help_tool_html_broken'] = 'Сканує HTML-описи товарів та категорій на наявність тегів
з неіснуючими зображеннями.';
+$_['help_tool_small_photos'] = 'Знаходить зображення з роздільною здатністю нижче заданої. Додано посилання на пошук якісних аналогів у Google Images та Яндекс Зображеннях.';
+$_['help_tool_duplicates'] = 'Шукає повні дублікати файлів за MD5-хешем (різні назви, але однакова картинка). Дозволяє склеїти їх в один файл та оновити БД.';
+$_['help_tool_watermark'] = 'Накладення водяних знаків у SMART-режимі (тільки на кеш вітрини, оригінали не змінюються).';
+$_['help_tool_placeholders'] = 'Масово встановлює вибране зображення-заглушку для товарів та категорій, у яких взагалі немає фото.';
+$_['help_tool_png_jpg'] = 'Інструмент сканує папку зображень і знаходить важкі PNG-файли, які не мають прозорого фону (альфа-каналу). Оскільки прозорість їм не потрібна, їх можна безпечно конвертувати у формат JPG. Це значно полегшує файли (в середньому на 70-80%) та прискорює завантаження сайту, а всі посилання в базі даних автоматично оновлюються.';
+$_['help_tool_exif'] = 'Сканує EXIF-дані та видаляє з них приховані теги, зменшуючи вагу на 10-15%.';
+$_['help_tool_smart_cache'] = 'Шукає в папці image/cache/ кешовані файли, оригінали яких уже видалені, та очищає неактуальний кеш.';
+$_['help_tool_translit'] = 'Знаходить файли з кирилицею або пробілами, перейменовує їх транслітом та оновлює шляхи в БД.';
+$_['help_tool_cache_restore'] = 'Якщо ви випадково видалили оригінал з catalog, інструмент спробує знайти його копію в cache та відновити назад.';
+$_['entry_quarantine'] = 'Перемістити оригінали в Карантин (замість видалення)';
+$_['entry_backup_db'] = 'Створити бекап змінюваних таблиць у SQL перед запуском';
+$_['button_fix_selected'] = 'ВИПРАВИТИ ВИБРАНІ';
+$_['button_export_log'] = 'Експортувати в CSV';
+$_['text_th_before'] = 'Стан ДО';
+$_['text_th_after'] = 'Очікуваний результат ПІСЛЯ';
+$_['text_th_select'] = 'Дія';
+$_['text_th_preview'] = 'Передперегляд';
+$_['text_th_name'] = 'Об`єкт / Файл';
+$_['text_global_action'] = 'Групова дія для вибраних:';
+$_['text_action_clear'] = 'Очистити посилання в БД';
+$_['text_action_disable'] = 'Вимкнути (Статус = 0)';
+$_['text_action_stock'] = 'Установити "Немає в наявності"';
+$_['text_action_placeholder'] = 'Встановити заглушку';
+$_['text_action_ignore'] = 'Нічого не робити';
+$_['text_action_merge'] = 'Склеїти (видалити дублікат, залишити оригінал)';
+$_['text_action_convert'] = 'Конвертувати в JPG';
+$_['text_action_rename'] = 'Перейменувати транслітом';
+$_['text_action_delete'] = 'Видалити';
+$_['text_action_restore'] = 'Відновити';
+$_['text_db_backup_created'] = 'Створено бекап БД: %s';
+$_['text_quarantine_created'] = 'Перенесено в карантин: %s';
+$_['text_fix_status_success'] = 'Успішно виконано';
+$_['text_fix_status_error'] = 'Помилка: %s';
+$_['text_log_exported'] = 'Лог успішно експортовано!';
+$_['text_select_action'] = '-- Виберіть дію --';
+$_['error_empty_selection'] = 'Помилка: Не вибрано жодного рядка для виправлення!';
+$_['text_link_admin'] = 'Адмінка';
+$_['text_link_catalog'] = 'Вітрина';
+$_['entry_threads'] = 'Потоків обробки';
+$_['text_threads_optimal'] = 'оптимально';
+$_['button_download_zip'] = 'Завантажити ZIP-архів та видалити папку';
+$_['confirm_download_and_delete'] = 'Архів успішно завантажився? Можна видалити тимчасову папку копій на сервері?';
+$_['button_clear_backups'] = 'Видалити бекапи БД';
+$_['button_clear_backups_short'] = 'Очистити бекапи';
+$_['confirm_clear_backups'] = 'Ви впевнені, що хочете повністю видалити всі SQL-бекапи таблиць?';
+$_['text_compare_title'] = 'Порівняння зображень ДО / ПІСЛЯ';
+$_['text_compare_before'] = 'ДО';
+$_['text_compare_after'] = 'ПІСЛЯ';
+$_['text_backups_cleared'] = 'Усі SQL-бекапи таблиць успішно видалені!';
+$_['error_no_backups'] = 'Бекапи не знайдені або папка порожня.';
+$_['button_restore'] = 'Повернути';
+$_['button_empty'] = 'Очистити';
+$_['entry_wm_targets'] = 'Застосовувати водяний знак до:';
+$_['text_wm_target_product'] = 'Фото товарів';
+$_['text_wm_target_category'] = 'Фото категорій';
+$_['text_wm_target_brand'] = 'Логотипи брендів';
+$_['text_wm_target_banner'] = 'Банери та слайди';
+$_['text_wm_target_blog'] = 'Статті / Блог';
+$_['error_no_scan_data'] = 'Помилка: Дані сканування не знайдені. Спочатку запустіть сканування!';
+$_['error_row_not_found'] = 'Помилка: Об`єкт не знайдено в результатах сканування!';
+$_['error_file_not_found'] = 'Помилка: Файл не знайдено на сервері!';
+$_['text_folder_rules_title'] = 'Індивідуальні правила стиснення для папок';
+$_['text_folder_rules_desc'] = 'Ви можете перевизначити якість та максимальні розміри для конкретних папок. Якщо залишити поле порожнім, використовуватиметься глобальне налаштування. Шлях вказується відносно папки image (наприклад, catalog/banners/).';
+$_['entry_folder_path'] = 'Шлях до папки';
+$_['entry_jpg_quality'] = 'Якість JPG';
+$_['entry_webp_quality'] = 'Якість WebP';
+$_['button_add_rule'] = 'Додати правило';
+$_['button_remove'] = 'Вилучити';
+$_['entry_wm_angle'] = 'Кут нахилу водяного знака (градуси)';
+$_['entry_wm_corner_radius'] = 'Закруглення кутів водяного знака (px)';
+$_['entry_wm_size_type'] = 'Масштабування водяного знака';
+$_['entry_wm_size_percent'] = 'Розмір водяного знака (% від ширини зображення)';
+$_['entry_wm_text_color'] = 'Колір тексту водяного знака';
+$_['entry_wm_text_font'] = 'Шрифт водяного знака (TTF)';
+$_['entry_wm_filter_mode'] = 'Режим фільтрації Категорій/Брендів';
+$_['text_wm_filter_include'] = 'Тільки для вибраних';
+$_['text_wm_filter_exclude'] = 'Для всіх, крім вибраних';
+$_['text_wm_size_original'] = 'Оригінальний розмір';
+$_['text_wm_size_percent'] = 'Пропорційно ширині зображення (%)';
+$_['button_preview_watermark'] = 'Попередній перегляд';
+$_['text_wm_preview_title'] = 'Попередній перегляд водяного знака';
+$_['text_cron_exclude_folders'] = 'Виключити папки зі сканування';
+$_['text_cron_entities'] = 'Які типи фото обробляти?';
+$_['text_cron_quality_override'] = 'Перевизначити параметри стиснення для Крона';
+$_['text_cron_recommendations'] = 'Рекомендації щодо розкладу Cron';
+$_['text_cron_recommendations_desc'] = '- Для невеликих сайтів (до 5000 товарів) рекомендується запускати Крон кожну годину (
0 * * * *). - Для середніх сайтів (5000-20000 товарів) рекомендується запускати раз на 3-6 годин (
0 */6 * * *). - Для великих сайтів (понад 20000 товарів) — один раз на добу вночі (наприклад, о 2:00:
0 2 * * *).
';
+$_['text_tool_broken_files'] = 'Сканер битих/порожніх файлів на сервері';
+$_['help_tool_broken_files'] = 'Сканує фізичні файли в папці image/catalog/ на наявність пошкоджених зображень або порожніх файлів розміром 0 байт.';
+$_['text_grid_broken_file'] = 'Битий або порожній файл на сервері';
+$_['text_grid_broken_file_after'] = 'Вилучення або заміна заглушкою';
+$_['text_description_broken_files'] = 'Результати сканування фізичних файлів у папці image/catalog/. Тут відображаються биті (пошкоджені) зображення або файли розміром 0 байт.';
+$_['text_action_strip'] = 'Очистити EXIF';
+$_['text_action_set_placeholder'] = 'Встановити заглушку';
+$_['text_th_entity'] = 'Об`єкт / Пов`язані посилання';
+$_['text_cron_entity_product'] = 'Товари';
+$_['text_cron_entity_category'] = 'Категорії';
+$_['text_cron_entity_manufacturer'] = 'Виробники / Бренди';
+$_['text_cron_entity_banner'] = 'Банери';
+$_['text_cron_entity_blog'] = 'Блог / Статті';
+$_['entry_cron_jpg_quality'] = 'Якість JPG (Крон)';
+$_['entry_cron_webp_quality'] = 'Якість WebP (Крон)';
+$_['entry_cron_max_width'] = 'Макс. ширина px (Крон)';
+$_['entry_cron_max_height'] = 'Макс. висота px (Крон)';
+$_['text_cron_folder_scan'] = 'Папки для сканування';
+$_['text_no_fonts'] = 'TTF-шрифти не знайдено в system/library/font/';
+$_['button_apply'] = 'Застосувати';
+$_['text_backup_will_be_created'] = 'Резервна копія бази даних буде автоматично створена перед виконанням цієї дії.';
+$_['text_bulk_action'] = 'Групова дія для вибраних';
+$_['text_grid_results'] = 'Результати та деталі сканування';
+$_['text_quarantine_will_be_created'] = 'Оригінальні файли будуть переміщені в карантин (image/catalog_trash/) перед зміною.';
+$_['text_success_apply'] = 'Зміни успішно застосовані!';
+$_['text_description_broken'] = 'Результати сканування бази даних на наявність битих посилань (записи в таблицях з неіснуючими файлами).';
+$_['text_description_cache_restore'] = 'Результати пошуку файлів у кеші, оригінали яких відсутні в каталозі.';
+$_['text_description_duplicates'] = 'Результати пошуку повних дублікатів зображень за MD5-хешем.';
+$_['text_description_empty_folders'] = 'Список порожніх папок в директорії image/catalog/ для видалення.';
+$_['text_description_exif'] = 'Результати пошуку зображень з метаданими EXIF, які можна очистити.';
+$_['text_description_folder_tree'] = 'Статистика розміру папок у каталозі image/catalog/.';
+$_['text_description_html_broken'] = 'Результати пошуку неіснуючих файлів картинок, на які посилаються описи в HTML.';
+$_['text_description_placeholders'] = 'Результати пошуку сутностей без зображень для заповнення заглушками.';
+$_['text_description_png_jpg'] = 'Результати пошуку важких зображень PNG без прозорості, які можна перетиснути в JPG.';
+$_['text_description_small_photos'] = 'Список зображень, розміри яких менше мінімально заданих (%sx%s px).';
+$_['text_description_smart_cache'] = 'Результати пошуку файлів кешу, оригінали яких уже було видалено.';
+$_['text_description_translit'] = 'Результати пошуку файлів з кирилицею або пробілами в назвах.';
+$_['text_grid_broken_db_after'] = 'Очистити посилання або встановити заглушку';
+$_['text_grid_dupe_after'] = 'Оригінал (залишається)';
+$_['text_grid_dupe_before'] = 'Дублікат (буде видалено)';
+$_['text_grid_empty_folder'] = 'Порожня папка';
+$_['text_grid_empty_folder_after'] = 'Вилучити порожню папку';
+$_['text_grid_exif_after'] = 'Очистити метадані';
+$_['text_grid_exif_before'] = 'Містить EXIF';
+$_['text_grid_html_after'] = 'Виправити посилання вручну';
+$_['text_grid_missing_file'] = 'Файл відсутній';
+$_['text_grid_missing_html'] = 'Картинка не знайдена в описі';
+$_['text_grid_missing_orig'] = 'Оригінал відсутній';
+$_['text_grid_missing_orig_after'] = 'Відновити оригінал з кешу';
+$_['text_grid_no_image'] = 'Немає зображення (порожньо)';
+$_['text_grid_orph_cache'] = 'Осиротілий кеш';
+$_['text_grid_orph_cache_after'] = 'Видалити непотрібний кеш';
+$_['text_grid_ph_brand_after'] = 'Встановити заглушку бренду';
+$_['text_grid_ph_category_after'] = 'Встановити заглушку категорії';
+$_['text_grid_ph_product_after'] = 'Встановити заглушку товару';
+$_['text_grid_small_photo_after'] = 'Рекомендується замінити на більше';
+$_['text_grid_too_small'] = 'Занадто мале';
+$_['text_no_relations'] = 'Немає зв’язків у БД';
+$_['text_action_archive'] = 'Архівувати (в ZIP)';
+$_['text_action_archive_delete'] = 'Архівувати + Видалити';
+$_['text_tool_sanitizer'] = 'Санитайзер імен файлів';
+$_['help_tool_sanitizer'] = 'Масове очищення імен файлів і папок від кирилиці, пробілів та спецсимволів, приведення розширень до єдиного вигляду.';
+$_['text_description_sanitizer'] = 'Результати аналізу імен файлів для санітаризації за вибраними правилами.';
+$_['entry_sz_translit'] = 'Транслітерація (кирилиця в латиницю)';
+$_['entry_sz_spaces'] = 'Замінювати пробіли на символ "_"';
+$_['entry_sz_special'] = 'Видаляти спеціальні символи';
+$_['entry_sz_lowercase_name'] = 'Ім`я файлу в нижній регістр';
+$_['entry_sz_lowercase_ext'] = 'Розширення в нижній регістр';
+$_['entry_sz_normalize_ext'] = 'Нормалізувати розширення (jpeg -> jpg)';
+$_['entry_cron_folder_mode'] = 'Режим фільтрації папок';
+$_['text_cron_folder_mode_exclude'] = 'Сканувати все, крім вибраних (Винятки)';
+$_['text_cron_folder_mode_include'] = 'Сканирувати тільки вибрані папки';
+$_['button_select_all'] = 'Вибрати всі';
+$_['button_deselect_all'] = 'Зняти всі';
+$_['entry_wm_upload_font'] = 'Завантажити свій шрифт TTF';
+$_['button_upload_font'] = 'Завантажити шрифт';
+$_['text_success_font_upload'] = 'Шрифт успішно завантажено!';
+$_['error_font_upload'] = 'Помилка завантаження шрифту! Дозволені тільки файли .ttf вагою до 5 МБ.';
+$_['entry_lazy_load'] = 'Прогресивне лениве завантаження';
+$_['help_lazy_load'] = 'Вмикає преміальне прогресивне відкладене завантаження на вітрині. Зображення замінюються на мікро-прев\'ю та плавно розмиваються (blur-up), підвантажуючись у міру прокручування.';
+$_['confirm_replace_mode'] = 'УВАГА! Ви обрали режим «Замінювати оригінали». Усі зображення будуть перезаписані безпосередньо на сервері. Наполегливо рекомендуємо зробити резервну копію. Ви впевнені, що хочете продовжити?';
+$_['text_compare'] = 'Порівняти';
+$_['text_home'] = 'Головна';
+$_['text_tech_gd'] = 'Бібліотека GD';
+$_['text_tech_imagick'] = 'Imagick';
+$_['text_tech_webp'] = 'Підтримка WebP';
+$_['text_position_1'] = '1 - Зліва вгорі';
+$_['text_position_2'] = '2 - По центру вгорі';
+$_['text_position_3'] = '3 - Справа вгорі';
+$_['text_position_4'] = '4 - Зліва посередині';
+$_['text_position_5'] = '5 - По центру';
+$_['text_position_6'] = '6 - Справа посередині';
+$_['text_position_7'] = '7 - Зліва внизу';
+$_['text_position_8'] = '8 - По центру внизу';
+$_['text_position_9'] = '9 - Справа внизу';
+
+$_['entry_log_level'] = 'Рівень логу';
+$_['text_log_changed_only'] = 'Тільки змінені';
+$_['text_log_all'] = 'Всі файли (детально)';
+$_['text_skipped_no_gain'] = 'Пропущено (без покращення)';
+$_['text_reset_cache_hint'] = 'Скинути кеш оптимізації (повне пересканування)';
+$_['confirm_reset_cache'] = 'Скинути кеш оптимізації? Наступне сканування перевірить ВСІ файли знову.';
+$_['text_cache_cleared'] = 'Кеш оптимізації очищено. Наступне сканування перевірить всі файли.';
+$_['error_wm_preview'] = 'Помилка генерації прев\'ю водяного знаку.';
+$_['error_wm_too_large'] = 'Зображення водяного знаку занадто велике (%dx%d px)! Максимально допустимий розмір: %dx%d px.';
+$_['text_apply_errors_warning'] = 'УВАГА: Деякі файли не вдалося замінити (заблоковані або немає прав):';
+$_['text_action_compress'] = 'Стиснути зображення';
+$_['text_estimated'] = 'Прогноз';
+$_['entry_min_savings_bytes'] = 'Мін. стиснення (байт)';
+$_['entry_min_savings_percent'] = 'Мін. стиснення (%)';
+$_['text_optimized'] = 'Оптимізовано';
+$_['entry_broken_fallback'] = 'Заглушка для битих фото';
+$_['help_broken_fallback'] = 'Автоматично замінює відсутні або пошкоджені зображення каталогу на вітрині на зображення-заглушку.';
+$_['entry_fallback_image'] = 'Зображення-заглушка';
+$_['help_fallback_image'] = 'Виберіть зображення, яке буде показано, якщо оригінальний файл картинки товару чи категорії відсутній. За замовчуванням використовується no_image.png.';
+$_['text_tool_cmyk'] = 'Конвертер CMYK в RGB';
+$_['help_tool_cmyk'] = 'Конвертація JPEG зображень з колірного профілю CMYK в sRGB для коректного відображення в браузерах Safari та на пристроях iOS.';
+$_['text_tool_heavy_files'] = 'Пошук важких файлів';
+$_['help_tool_heavy_files'] = 'Пошук найважчих оригінальних зображень у каталозі з можливістю їх швидкого стиснення безпосередньо тут.';
+$_['entry_heavy_files_limit'] = 'Макс. кількість знайдених файлів (всього)';
+$_['text_action_convert_rgb'] = 'Конвертувати в RGB';
+$_['text_description_cmyk'] = 'Знайдено файли в колірному просторі CMYK. Конвертація в sRGB гарантує колірне відображення на всіх платформах, включаючи iOS/macOS.';
+$_['text_description_heavy'] = 'Список із %d найважчих файлів у каталозі зображень. Ви можете оптимізувати їх безпосередньо тут.';
+$_['text_cron_folder_hint_exclude_all'] = 'Статус: Скануватимуться всі папки (винятки не обрані).';
+$_['text_cron_folder_hint_exclude_some'] = 'Статус: Скануватимуться всі папки, ОКРІМ %d позначених.';
+$_['text_cron_folder_hint_include_some'] = 'Статус: Скануватимуться тільки %d позначених папок.';
+$_['text_cron_folder_hint_include_none'] = 'УВАГА: Жодної папки не обрано! Крон нічого не буде сканувати.';
+$_['text_action_apply_changes'] = 'Застосувати вказані зміни';
+$_['entry_wm_status'] = 'Статус водяного знака';
+$_['text_disabled'] = 'Відключено';
+$_['entry_rule_name'] = 'Назва правила';
+$_['entry_rule_status'] = 'Статус правила';
+$_['entry_action'] = 'Дія';
+$_['entry_ph_status'] = 'Статус заглушок';
+$_['entry_sanitizer_limit'] = 'Макс. файлів для пошуку (ліміт)';
+$_['entry_heavy_files_min_size'] = 'Мінимальний розмір';
+$_['entry_png_jpg_limit'] = 'Макс. файлів для пошуку (ліміт)';
+$_['entry_png_jpg_min_size'] = 'Мінімальний розмір';
+$_['text_wm_rule_title'] = 'Правило водяного знака';
+$_['button_close'] = 'Закрити';
+$_['text_ph_rule_title'] = 'Правило заглушки';
+$_['entry_ph_image'] = 'Зображення заглушки';
+$_['button_clear_cache_wm'] = 'Очистити кеш (застосувати водяний знак)';
+$_['text_active'] = 'Активна';
+$_['text_error'] = 'Не активна';
+$_['text_th_dupe_delete'] = 'Файл для видалення (Дублікат)';
+$_['text_th_dupe_keep'] = 'Файл для збереження (Оригінал)';
+$_['text_dupe_original_label'] = 'Оригінал';
+$_['text_dupe_duplicate_label'] = 'Дублікат';
+
+$_['text_disk_usage'] = 'Використання диска';
+$_['text_cumulative_stats'] = 'Статистика оптимізації';
+$_['text_disk_catalog'] = 'Каталог зображень';
+$_['text_disk_cache'] = 'Кеш OC';
+$_['text_disk_trash'] = 'Кошик модуля';
+$_['text_disk_other'] = 'Інше';
+$_['text_disk_free'] = 'Вільно';
+$_['text_total_files_opt'] = 'Файлів оброблено';
+$_['text_total_saved'] = 'Всього зекономлено';
+$_['text_avg_saving_pct'] = 'Середня економія';
+$_['text_stats_hint'] = 'Статистика накопичується по всіх сесіях (зберігається локально в браузері)';
+$_['text_reset_stats'] = 'Скинути статистику';
+$_['text_reset_stats_confirm']= 'Скинути накопичену статистику оптимізації?';
+$_['text_export_import'] = 'Експорт / Імпорт налаштувань';
+$_['button_export_settings'] = 'Експорт налаштувань (JSON)';
+$_['button_import_settings'] = 'Імпортувати налаштування';
+$_['help_export_settings'] = 'Завантажити всі налаштування модуля в JSON-файл';
+$_['help_import_settings'] = 'Завантажити раніше експортований JSON для відновлення налаштувань';
+$_['text_import_success'] = 'Налаштування успішно імпортовані. Перезавантажте сторінку для застосування.';
+$_['error_import_file'] = 'Файл не завантажено або помилка завантаження';
+$_['error_import_invalid'] = 'Некоректний файл налаштувань (невірний модуль або формат)';
+$_['text_click_to_load'] = 'Натисніть ↑ для завантаження даних диска';
+
+
+$_['tab_formats'] = 'Формати зображень';
+
+$_['text_disk_quota_legend'] = 'Ліміти диска хостингу (вручну)';
+$_['text_disk_quota_desc'] = 'Якщо графік дискового простору показує некоректні дані (фізичний диск сервера замість ліміту вашого хостингу), ви можете вказати ліміти вашого тарифу вручну. Вкажіть 0, щоб використовувати автовизначення.';
+$_['entry_disk_quota_total'] = 'Виділено диска на хостингу (ГБ)';
+$_['entry_disk_quota_used'] = 'Зайнято диска на хостингу всього (ГБ)';
+$_['entry_auto_disk'] = 'Автооновлення при вході';
+
+// Cron Tasks
+$_['entry_cron_task_name'] = 'Назва задачі';
+$_['entry_cron_task_summary'] = 'Параметри стиснення';
+$_['button_add_cron_task'] = 'Додати задачу';
+$_['button_copy_cron_url'] = 'Копіювати URL';
+$_['text_cron_recommended_url'] = 'URL для запуску задачі крону:';
+
+// Licensing
+$_['text_license_required'] = 'Необхідний ліцензійний ключ';
+$_['text_license_required_desc'] = 'Будь ласка, введіть ліцензійний ключ для активації модуля. Усі функції налаштувань та оптимізації заблоковані до введення валідного ключа.';
+$_['entry_token_desc'] = 'Введіть токен активації, виданий для вашого основного домену. Ви можете отримати його в особистому кабінеті на форумі або звернувшись у підтримку.';
+$_['button_activate'] = 'Активувати модуль';
+$_['text_support'] = 'Технічна підтримка';
+$_['text_support_desc'] = 'Якщо у вас ще немає ключа або виникли проблеми, будь ласка, повідомте номер вашого замовлення та домен.';
+
+// New settings
+$_['entry_wm_max_width'] = 'Макс. ширина водяного знака (px)';
+$_['entry_wm_max_height'] = 'Макс. висота водяного знака (px)';
+$_['help_wm_max_width'] = 'Якщо вихідне зображення водяного знака перевищує цю ширину, воно буде автоматично масштабоване. Вкажіть 0 або залиште порожнім для значення за замовчуванням (800px).';
+$_['help_wm_max_height'] = 'Якщо вихідне зображення водяного знака перевищує цю висоту, воно буде автоматично масштабоване. Вкажіть 0 або залиште порожнім для значення за замовчуванням (800px).';
+$_['entry_disk_status'] = 'Увімкнути сканування диска та графік';
+$_['help_disk_status'] = 'Якщо увімкнено, модуль періодично скануватиме обсяг папки картинок та відображатиме круговую діаграму. Рекомендується вимкнути на великих сайтах для прискорення завантаження панелі.';
+$_['text_disk_settings_title'] = 'Налаштування лімітів та сканування диска';
+
diff --git a/upload/admin/language/uk_ua/module/img_opti.php b/upload/admin/language/uk_ua/module/img_opti.php
new file mode 100644
index 0000000..a563c9d
--- /dev/null
+++ b/upload/admin/language/uk_ua/module/img_opti.php
@@ -0,0 +1,567 @@
+Image Optimizer [NAT]: Стиснення оригіналів та видалення сміття';
+$_['text_extension'] = 'Розширення';
+$_['text_edit'] = 'Налаштування модуля';
+$_['text_success'] = 'Налаштування успішно збережено!';
+$_['entry_warning'] = 'УВАГА: Обов`язково зробіть бекап файлів сайту і особливо папки /image/catalog перед початком роботи!';
+$_['text_tech'] = 'Перевірка технологій сервера:';
+$_['text_author'] = 'Технічна підтримка та побажання: info@nat.od.ua';
+$_['tab_optimize'] = 'Оптимізація та Ресайз';
+$_['tab_cleaner'] = 'Очищення невикористовуваних зображень';
+$_['tab_info'] = 'Інфо / Екосистема [NAT]';
+$_['tab_settings'] = 'Налаштування';
+$_['tab_tools'] = 'Інструменти (pro)';
+$_['tab_cron'] = 'Крон-завдання';
+$_['entry_mode'] = 'Режим роботи';
+$_['text_copy'] = 'Створити копію (безпечно)';
+$_['text_replace'] = 'Замінювати оригінали (потребує бекап!)';
+$_['entry_folder'] = 'Ім`я папки для копії';
+$_['entry_batch'] = 'Файлів за прохід';
+$_['entry_log_limit'] = 'Рядків логу на екрані';
+$_['entry_max_width'] = 'Макс. ширина (px) [0 - без ліміту]';
+$_['entry_max_height'] = 'Макс. висота (px) [0 - без ліміту]';
+$_['entry_jpg'] = 'Якість JPG (0-100)';
+$_['entry_png'] = 'Стиснення PNG (0-9)';
+$_['entry_webp'] = 'Якість WebP (0-100)';
+$_['entry_targets'] = 'Що оптимізувати?';
+$_['text_all_catalog'] = '[ Весь каталог image/catalog ]';
+$_['text_root_files'] = 'Файли тільки в корені image/catalog';
+$_['entry_threshold'] = 'Поріг заміни (%)';
+$_['help_threshold'] = '0: замінювати тільки якщо вага стала меншою. 10: дозволити збільшення ваги до 10%.';
+$_['entry_token'] = 'Токен активації (на корінь домену)';
+$_['entry_status'] = 'Статус модуля';
+$_['entry_menu_position'] = 'Позиція меню [NAT]';
+$_['text_menu_module_only'] = 'Тільки в модулях';
+$_['text_menu_header'] = 'У шапці (Header)';
+$_['text_menu_sidebar'] = 'У бічному меню (Sidebar)';
+$_['text_menu_both'] = 'Скрізь (Шапка + Сайдбар)';
+$_['text_status_on'] = 'Увімкнено';
+$_['text_status_off'] = 'Вимкнено';
+$_['entry_engine'] = 'Рушій обробки зображень';
+$_['text_engine_gd'] = 'GD (Стандарт)';
+$_['text_engine_imagick'] = 'Imagick (Висока якість, збереження профілів sRGB)';
+$_['entry_license'] = 'Ліцензія';
+$_['text_cleaner_info'] = 'Цей інструмент шукає файли, які фізично існують на диску, але ніде не використовуються в базі даних або файлах шаблону.';
+$_['entry_clean_targets'] = 'В яких папках шукати сміття?';
+$_['entry_extended_log'] = 'Розширений лог (показати використовувані photo і де вони знайдені)';
+$_['entry_process_broken'] = 'Враховувати файли з битим кодуванням (імена з символом "?")';
+$_['button_scan_trash'] = 'ЗНАЙТИ СМІТТЯ';
+$_['button_quarantine'] = 'В Карантин (Безпечно)';
+$_['button_delete_trash'] = 'Видалити назавжди';
+$_['button_empty_quarantine'] = 'Очистити папку Карантину';
+$_['button_restore_quarantine'] = 'Повернути з Карантину';
+$_['text_scan_result'] = 'Результати сканування';
+$_['text_trash_files'] = 'Сміттєвих файлів: ';
+$_['text_trash_size'] = 'Потенційно звільниться: ';
+$_['button_start'] = 'СТАРТ ОПТИМІЗАЦІЇ';
+$_['button_pause'] = 'ПАУЗА';
+$_['button_stop'] = 'ЗУПИНИТИ';
+$_['button_continue'] = 'ПРОДОВЖИТИ';
+$_['button_start_new'] = 'СТАРТ (Новий запуск)';
+$_['button_download_log'] = 'Завантажити лог в TXT';
+$_['button_download'] = 'Завантажити';
+$_['button_save'] = 'Зберегти';
+$_['button_cancel'] = 'Скасувати';
+$_['text_progress'] = 'Прогрес:';
+$_['text_old_size'] = 'Було:';
+$_['text_new_size'] = 'Стало:';
+$_['text_savings'] = 'Економія:';
+$_['text_detailed_log'] = 'Детальний лог';
+$_['text_page'] = 'Стор.';
+$_['text_waiting'] = 'Очікування запуску...';
+$_['text_enabled'] = 'Увімкнено';
+$_['text_disabled_error'] = 'Вимкнено (ПОМИЛКА)';
+$_['text_supported'] = 'Підтримується';
+$_['text_no'] = 'Ні';
+$_['error_permission'] = 'У вас немає прав для керування модулем!';
+$_['error_license'] = 'Помилка доступу: Невірний токен активації для цього домену!';
+$_['error_domain'] = ' (Домен: ';
+$_['text_found'] = 'Знайдено файлів: ';
+$_['text_compressed'] = 'Стиснуто';
+$_['text_original'] = 'Оригінал';
+$_['text_error_process'] = 'Помилка обробки: ';
+$_['error_log_empty'] = 'Лог порожній! Спочатку запустіть процес.';
+$_['text_report_header'] = '=== ЗВІТ ===';
+$_['text_total_files'] = 'Всього файлів: ';
+$_['text_searching'] = 'Пошук файлів...';
+$_['error_ajax'] = 'Помилка: ';
+$_['text_resumed'] = '▶ ПРОЦЕС ВІДНОВЛЕНО...';
+$_['text_paused'] = '⏸ ПАУЗА. Процес призупинено.';
+$_['confirm_stop'] = 'Ви впевнені, що хочете повністю перервати процес?';
+$_['confirm_delete'] = 'УВАГА! Файли будуть видалені з сервера назавжди без можливості відновлення! Продовжити?';
+$_['confirm_empty_q'] = 'Ви впевнені, що хочете повністю очистити папку карантину?';
+$_['confirm_restore'] = 'Всі файли з папки карантину будуть повернуті на свої місця. Продовжити?';
+$_['button_stopping'] = 'Зупинка...';
+$_['text_stopped_user'] = '🛑 ПРОЦЕС ПЕРЕРВАНО КОРИСТУВАЧЕМ!';
+$_['text_increase'] = 'Збільшення';
+$_['text_done'] = '✅ ГОТОВО! Процес завершено.';
+$_['error_timeout'] = 'Таймаут сервера. Автоповтор через 3 секунди...';
+$_['text_building_index'] = 'Крок 1/2: Індексація БД та шаблонів (пошук фото, що використовуються)...';
+$_['text_comparing'] = 'Крок 2/2: Порівняння фізичних файлів з індексом...';
+$_['text_quarantine_done'] = '✅ Процес перенесення в image/catalog_trash/ завершено!';
+$_['text_deleted_done'] = '✅ Процес видалення сміття завершено!';
+$_['text_quarantine_empty'] = '✅ Папку карантину успішно видалено з сервера!';
+$_['text_restore_done'] = '✅ Файли успішно повернуто з карантину в робочу папку!';
+$_['text_quarantine_move'] = 'В карантині: ';
+$_['text_deleted_file'] = 'Видалено: ';
+$_['text_no_trash'] = 'У вибраних папках сміття не знайдено! Всі файли використовуються.';
+$_['text_scanning_dirs'] = 'Скануємо директорії: ';
+$_['text_log_used'] = '[ВИКОРИСТОВУЄТЬСЯ]';
+$_['text_log_trash'] = '[СМІТТЯ]';
+$_['text_log_deleted'] = '[ВИДАЛЕНО]';
+$_['text_log_del_err'] = '[ПОМИЛКА ВИДАЛЕННЯ]';
+$_['text_log_quarantine'] = '[В КАРАНТИН]';
+$_['text_log_q_err'] = '[ПОМИЛКА ПЕРЕНЕСЕННЯ]';
+$_['text_log_restored'] = '[ВІДНОВЛЕНО]';
+$_['text_log_rest_err'] = '[ПОМИЛКА ВІДНОВЛЕННЯ]';
+$_['text_used_in'] = 'у: ';
+$_['text_analyzing'] = 'Аналіз бази даних...';
+$_['text_clean_empty'] = 'Чисто! Сміття немає.';
+$_['text_processing'] = 'Обробка...';
+$_['text_restoring'] = 'Відновлення файлів...';
+$_['text_all_folders'] = 'image/catalog/ (Та всі вкладені)';
+$_['text_root_folder'] = 'image/catalog/ (Тільки корінь)';
+$_['text_q_empty_err'] = 'Папка карантину порожня або не існує.';
+$_['error_token'] = 'Невірний токен. Перезавантажте сторінку.';
+$_['text_apply_title'] = 'Оптимізацію завершено в папку: ';
+$_['text_apply_info'] = 'Перевірте результат. Якщо все влаштовує — застосуйте зміни до основного каталогу.';
+$_['entry_apply_backup'] = 'Перенести зі створенням бекапу (в Карантин)';
+$_['entry_apply_replace'] = 'Замінити оригінали безповоротно';
+$_['button_apply_main'] = 'ЗАСТОСУВАТИ ДО ОСНОВНОГО КАТАЛОГУ';
+$_['button_delete_copies'] = 'Видалити тимчасові копії (скасування)';
+$_['button_full_cleanup'] = 'Повне очищення всіх тимчасових папок та бекапів';
+$_['text_apply_success'] = '✅ Файли успішно перенесено. ';
+$_['text_apply_backup_ok'] = 'Оригінали збережено в папку: ';
+$_['text_apply_no_backup'] = 'Оригінали видалено.';
+$_['text_error_source'] = 'Помилка: Папку з оптимізованими файлами не знайдено.';
+$_['confirm_full_cleanup'] = 'УВАГА! Ця дія безповоротно видалить УСІ папки бекапів (backup_*) та тимчасові папки з копіями. Продовжити?';
+$_['text_tools_desc'] = 'Глобальні сканери та інструменти для роботи з файловою системою і БД зображень.';
+$_['text_tool_select'] = 'Виберіть інструмент:';
+$_['text_group_scanners'] = 'Сканери та Аналіз';
+$_['text_group_generators'] = 'Генератори та Обробка';
+$_['text_group_experimental'] = 'Експериментальні функції (BETA)';
+$_['text_experimental_warn'] = 'Увага: Експериментальні функції зачіпають системні файли або базу даних. Настійно рекомендується зробити бекап!';
+$_['text_tool_broken_db'] = 'Сканер битих/порожніх фото БД';
+$_['text_tool_watermark'] = 'Динамічний Вотермарк (Тільки на кеш)';
+$_['text_tool_duplicates'] = 'Поиск дубликатов файлов (за MD5)';
+$_['text_tool_png_jpg'] = 'Конвертер важких PNG у JPG (сканер файлів без прозорості)';
+$_['text_tool_placeholders'] = 'Генератор заглушок (Замість No Image)';
+$_['text_tool_exif'] = 'Очищення EXIF-даних (Геотеги/Мета)';
+$_['text_tool_small_photos'] = 'Сканер занадто дрібних фото';
+$_['text_tool_html_broken'] = 'Пошук битих картинок в HTML (Описах)';
+$_['text_tool_empty_folders'] = 'Очищення порожніх папок (image/catalog)';
+$_['text_tool_smart_cache'] = 'Розумне очищення кешу зображень';
+$_['text_tool_folder_tree'] = 'Дерево папок (Статистика ваги)';
+$_['text_tool_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load (Без БД)';
+$_['text_tool_translit'] = 'Транслітерація назв файлів';
+$_['text_tool_cache_restore'] = 'Відновлення оригіналів із Кешу';
+$_['entry_wm_type'] = 'Тип водяного знака';
+$_['text_wm_image'] = 'Зображення (PNG)';
+$_['text_wm_text'] = 'Текст';
+$_['entry_wm_image_path'] = 'Шлях до зображення';
+$_['entry_wm_text_val'] = 'Текст водяного знака';
+$_['entry_wm_position'] = 'Позиція (1-9)';
+$_['entry_wm_opacity'] = 'Прозорість (0-100)';
+$_['entry_wm_category'] = 'Тільки для Категорій';
+$_['entry_wm_brand'] = 'Тільки для Брендів';
+$_['entry_min_width'] = 'Мінімальна ширина (px)';
+$_['entry_min_height'] = 'Мінімальна висота (px)';
+$_['entry_ph_product'] = 'Заглушка для Товарів';
+$_['entry_ph_category'] = 'Заглушка для Категорій';
+$_['entry_ph_brand'] = 'Заглушка для Брендів';
+$_['button_run_tool'] = 'Запустити інструмент';
+$_['button_scan_tool'] = 'Сканувати';
+$_['button_fix_tool'] = 'Виправити знайдене';
+$_['text_th_path'] = 'Файл / Шлях';
+$_['text_th_size'] = 'Розмір';
+$_['text_th_action'] = 'Дія';
+$_['text_th_status'] = 'Статус';
+$_['text_th_problem'] = 'Проблема / Значення';
+$_['text_cron_title'] = 'Налаштування Cron';
+$_['text_cron_desc'] = 'Додайте команду в Cron хостингу для автоматичного фонового стиснення.';
+$_['entry_cron_new_only'] = 'Обробляти тільки нові (необроблені) файли';
+$_['entry_cron_folders'] = 'Папки для сканування (залиште порожнім для всього каталогу)';
+$_['text_promo_title'] = 'Інші модулі серії [NAT]';
+$_['text_promo_desc'] = 'Модулі серії [NAT] – це інструменти для глибокої оптимізації OpenCart. Ми фокусуємося на автоматизації рутини, прискоренні бази даних та очищенні серверів від сміття. Усі модулі мають відкритий вихідний код та єдину логіку управління.';
+$_['text_support'] = 'Технічна підтримка та побажання:';
+$_['button_more'] = 'Дивитися всі модулі на OpenCart.com';
+$_['button_more_forum'] = 'Opencartforum';
+$_['text_mod_cat_opt'] = 'Catalog Optimizer [NAT]';
+$_['text_mod_cat_opt_desc'] = 'Приховування порожніх категорій і брендів + SEO сортування товарів (у наявності зверху) + Очищення сміття БД.';
+$_['text_mod_new_arrivals'] = 'New Arrivals [NAT]: Новинки за датами';
+$_['text_mod_new_arrivals_desc'] = 'Автоматична SEO-сторінка новинок. Відображає новинки суворо за реальною датою додавання. Слайдери, сітка та розумний сайдбар архіву дат.';
+$_['text_mod_img_opt'] = 'Image Optimizer [NAT]';
+$_['text_mod_img_opt_desc'] = 'Поточний модуль. Стиснення та ресайз ОРИГІНАЛІВ фото (image/catalog) у WebP + Очищення хостингу від невикористаних зображень.';
+$_['text_mod_dom_scan'] = 'Domain Scanner [NAT]';
+$_['text_mod_dom_scan_desc'] = 'Пошук і чищення зовнішніх посилань і HTTP-картинок у БД та файлах теми. Ідеально для HTTPS або очищення після парсингу.';
+$_['text_mod_poll'] = 'Poll Widget [NAT]';
+$_['text_mod_poll_desc'] = 'Створення опитувань та голосувань із візуальним конструктором дизайну, глибокою статистикою та захистом від накруток.';
+$_['text_mod_db_opt'] = 'Database Optimizer [NAT]';
+$_['text_mod_db_opt_desc'] = 'Інтелектуальне очищення сміття в базі даних, управління системними логами та додавання критично важливих індексів для прискорення.';
+$_['text_mod_im_ex'] = 'Import/Export [NAT]';
+$_['text_mod_im_ex_desc'] = 'Швидкий імпорт/експорт цін і залишків з файлів xls/xlsx/csv/xml/json або за посиланням. Маппінг полів, робота по Cron, текстові функції.';
+$_['text_mod_admin_tools'] = 'Admin Tools [NAT]';
+$_['text_mod_admin_tools_desc'] = 'Зручні інструменти адміністратора: вхід під клієнтом, кастомізація адмінки, управління правами користувачів та приховування непотрібних пунктів меню.';
+$_['text_mod_utm_tracker'] = 'Order UTM Tracker [NAT]';
+$_['text_mod_utm_tracker_desc'] = 'Автоматичне відстеження UTM-міток при оформленні замовлення. Зберігає джерело переходу, кампанію, ключові слова та виводить ці дані в замовленні для аналітики реклами.';
+$_['text_info_title_promo_top_bar'] = 'Promo Top Bar [NAT]: Верхній рекламний інфо-баннер, інформаційна смуга над шапкою, рухомий рядок та топ-баннер';
+$_['text_info_desc_promo_top_bar'] = 'Створення інтерактивних промо-панелей та слайд-шоу в шапці сайту з конструктором блоків, таймерами, формою підписки та гнучким націлюванням.';
+$_['text_tool_no_image'] = 'Товари без головного фото (порожньо в БД)';
+$_['text_problem_main_broken'] = 'Бите головне фото (файл видалено)';
+$_['text_problem_add_broken'] = 'Бите дод. фото (файл видалено)';
+$_['text_problem_no_image'] = 'Відсутнє головне фото';
+$_['text_err_dir'] = 'Помилка: Директорію не знайдено або невірний шлях.';
+$_['text_err_no_queue'] = 'Помилка: Чергу не знайдено. Спочатку запустіть сканування.';
+$_['text_log_del_empty_folder'] = 'Видалено порожню папку: ';
+$_['text_log_no_empty_folders'] = 'Порожніх папок в image/catalog/ не знайдено.';
+$_['text_log_total_empty_folders'] = 'Всього видалено порожніх папок: ';
+$_['text_log_cache_cleared'] = 'Кеш зображень успішно очищено.';
+$_['text_log_wm_smart_mode'] = 'Вотермарки працюють в SMART-режимі: оригінали не зачіпаються, логотип накладається лише при генерації кешу.';
+$_['text_log_scan_dupes'] = 'Сканування image/catalog/ на дублікати (за хешем MD5)... Це може зайняти час.';
+$_['text_log_found_dupe'] = 'Знайдено дублікат: ';
+$_['text_log_no_dupes'] = 'Дублікатів не знайдено.';
+$_['text_log_total_dupes'] = 'Знайдено дублікатів: %s. Потенційна економія: %s';
+$_['text_log_fix_dupes_prompt'] = 'Натисніть "Виправити знайдене" для перелінкування БД на оригинал та видалення дублів.';
+$_['text_log_fixed_dupe'] = 'Виправлено та видалено дублікат: ';
+$_['text_log_success_dupes'] = 'Успішно виправлено дублікатів: %s. Посилання в БД оновлено.';
+$_['text_log_scan_png'] = 'Пошук важких PNG файлів без прозорості...';
+$_['text_log_no_png'] = 'Відповідних PNG файлів не знайдено.';
+$_['text_log_total_png'] = 'Знайдено PNG без прозорості: %s. Натисніть "Виправити" для конвертації в JPG.';
+$_['text_log_converted_jpg'] = 'Сконвертовано в JPG: ';
+$_['text_log_success_png'] = 'Успішно сконвертовано %s файлів. Звільнено: %s';
+$_['text_log_ph_prod'] = 'Оновлено товарів заглушкою: ';
+$_['text_log_ph_cat'] = 'Оновлено категорій заглушкою: ';
+$_['text_log_ph_brand'] = 'Оновлено брендів заглушкою: ';
+$_['text_log_ph_empty'] = 'Заглушки не вибрані в налаштуваннях.';
+$_['text_log_scan_exif'] = 'Сканування EXIF-даних (мета-теги камер)...';
+$_['text_log_stripped_exif'] = 'Очищено EXIF: ';
+$_['text_log_no_exif'] = 'Файлів з EXIF для очищення не знайдено.';
+$_['text_log_success_exif'] = 'Очищено EXIF у %s файлів. Звільнено: %s';
+$_['text_log_scan_small'] = 'Пошук фото розміром менше %sx%s px...';
+$_['text_log_too_small'] = 'Занадто мале (%sx%s): ';
+$_['text_log_no_small'] = 'Дрібних фото не знайдено.';
+$_['text_log_total_small'] = 'Знайдено дрібних фото: %s. Будь ласка, замініть їх на якісні.';
+$_['text_log_html_broken'] = 'Битией IMG в HTML таблиці %s (ID: %s): ';
+$_['text_log_no_html_broken'] = 'Битих картинок в HTML-описах не знайдено.';
+$_['text_log_total_html_broken'] = 'Знайдено битих посилань в HTML: %s. Виправте їх вручну.';
+$_['text_log_scan_smart_cache'] = 'Пошук втрачених файлів у image/cache/...';
+$_['text_log_del_orph_cache'] = 'Видалено втрачений кеш: ';
+$_['text_log_no_orph_cache'] = 'Втраченого кешу не знайдено.';
+$_['text_log_success_smart_cache'] = 'Видалено файлів втраченого кешу: %s. Звільнено: %s';
+$_['text_log_scan_translit'] = 'Пошук файлів з кирилицею або пробілами...';
+$_['text_log_no_bad_names'] = 'Файлів з некоректними іменами не знайдено.';
+$_['text_log_total_bad_names'] = 'Знайдено файлів з кирилицею/пробілами: %s. Натисніть "Виправити" для транслітерації та оновлення БД.';
+$_['text_log_renamed'] = 'Перейменовано: ';
+$_['text_log_success_translit'] = 'Успішно транслітеровано файлів: %s. БД оновлено.';
+$_['text_log_scan_restore'] = 'Сканирование image/cache/ для відновлення втрачених оригіналів...';
+$_['text_log_restored_cache'] = 'Відновлено з кешу: ';
+$_['text_log_no_lost_orig'] = 'Відсутніх оригіналів у кеші не знайдено.';
+$_['text_log_success_restore'] = 'Успішно відновлено оригіналів з кешу: %s.';
+$_['error_invalid_folder'] = 'Помилка: Неприпустиме ім\'я папки!';
+$_['text_formats_title'] = 'Сучасні формати (WebP & SVG)';
+$_['text_formats_desc'] = 'Налаштування інтеграції сучасних форматів у файлову систему та шаблони OpenCart.';
+$_['entry_support_svg'] = 'Підтримка завантаження SVG';
+$_['help_support_svg'] = 'Дозволяє завантаження векторних SVG-зображень через стандартний Filemanager та їх безпечне виведення на вітрині без спотворення розмірів.';
+$_['entry_support_webp'] = 'Підтримка завантаження WebP';
+$_['help_support_webp'] = 'Дозволяє вручну завантажувати, підв\'язувати та виводити на сайті готові файли .webp через Filemanager.';
+$_['entry_truefilemanager_webp'] = 'WebP у TrueFileManager';
+$_['help_truefilemanager_webp'] = 'Додає підтримку завантаження, попереднього перегляду та ескізів WebP у TrueFileManager від sitecreator (якщо його встановлено).';
+$_['entry_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load';
+$_['help_webp_on_fly'] = 'Надшвидка підміна: автоматично змінює розширення .jpg/.png на .webp прямо в HTML-виводі вітрини та додає атрибут loading="lazy". Не чіпає базу даних!';
+$_['help_tool_broken_db'] = 'Шукає в базі даних зображення, фізичні файли яких були видалені з сервера. Дозволяє очистити биті посилання.';
+$_['help_tool_empty_folders'] = 'Рекурсивно сканує директорію image/catalog/ та безпечно видаляє всі папки, в яких немає жодного файлу.';
+$_['help_tool_folder_tree'] = 'Будує дерево каталогів та показує реальну вагу кожної папки для пошуку "пожирачів" місця.';
+$_['help_tool_html_broken'] = 'Сканує HTML-описи товарів та категорій на наявність тегів
з неіснуючими зображеннями.';
+$_['help_tool_small_photos'] = 'Знаходить зображення з роздільною здатністю нижче заданої. Додано посилання на пошук якісних аналогів у Google Images та Яндекс Зображеннях.';
+$_['help_tool_duplicates'] = 'Шукає повні дублікати файлів за MD5-хешем (різні назви, але однакова картинка). Дозволяє склеїти їх в один файл та оновити БД.';
+$_['help_tool_watermark'] = 'Накладення водяних знаків у SMART-режимі (тільки на кеш вітрини, оригінали не змінюються).';
+$_['help_tool_placeholders'] = 'Масово встановлює вибране зображення-заглушку для товарів та категорій, у яких взагалі немає фото.';
+$_['help_tool_png_jpg'] = 'Інструмент сканує папку зображень і знаходить важкі PNG-файли, які не мають прозорого фону (альфа-каналу). Оскільки прозорість їм не потрібна, їх можна безпечно конвертувати у формат JPG. Це значно полегшує файли (в середньому на 70-80%) та прискорює завантаження сайту, а всі посилання в базі даних автоматично оновлюються.';
+$_['help_tool_exif'] = 'Сканує EXIF-дані та видаляє з них приховані теги, зменшуючи вагу на 10-15%.';
+$_['help_tool_smart_cache'] = 'Шукає в папці image/cache/ кешовані файли, оригінали яких уже видалені, та очищає неактуальний кеш.';
+$_['help_tool_translit'] = 'Знаходить файли з кирилицею або пробілами, перейменовує їх транслітом та оновлює шляхи в БД.';
+$_['help_tool_cache_restore'] = 'Якщо ви випадково видалили оригінал з catalog, інструмент спробує знайти його копію в cache та відновити назад.';
+$_['entry_quarantine'] = 'Перемістити оригінали в Карантин (замість видалення)';
+$_['entry_backup_db'] = 'Створити бекап змінюваних таблиць у SQL перед запуском';
+$_['button_fix_selected'] = 'ВИПРАВИТИ ВИБРАНІ';
+$_['button_export_log'] = 'Експортувати в CSV';
+$_['text_th_before'] = 'Стан ДО';
+$_['text_th_after'] = 'Очікуваний результат ПІСЛЯ';
+$_['text_th_select'] = 'Дія';
+$_['text_th_preview'] = 'Передперегляд';
+$_['text_th_name'] = 'Об`єкт / Файл';
+$_['text_global_action'] = 'Групова дія для вибраних:';
+$_['text_action_clear'] = 'Очистити посилання в БД';
+$_['text_action_disable'] = 'Вимкнути (Статус = 0)';
+$_['text_action_stock'] = 'Установити "Немає в наявності"';
+$_['text_action_placeholder'] = 'Встановити заглушку';
+$_['text_action_ignore'] = 'Нічого не робити';
+$_['text_action_merge'] = 'Склеїти (видалити дублікат, залишити оригінал)';
+$_['text_action_convert'] = 'Конвертувати в JPG';
+$_['text_action_rename'] = 'Перейменувати транслітом';
+$_['text_action_delete'] = 'Видалити';
+$_['text_action_restore'] = 'Відновити';
+$_['text_db_backup_created'] = 'Створено бекап БД: %s';
+$_['text_quarantine_created'] = 'Перенесено в карантин: %s';
+$_['text_fix_status_success'] = 'Успішно виконано';
+$_['text_fix_status_error'] = 'Помилка: %s';
+$_['text_log_exported'] = 'Лог успішно експортовано!';
+$_['text_select_action'] = '-- Виберіть дію --';
+$_['error_empty_selection'] = 'Помилка: Не вибрано жодного рядка для виправлення!';
+$_['text_link_admin'] = 'Адмінка';
+$_['text_link_catalog'] = 'Вітрина';
+$_['entry_threads'] = 'Потоків обробки';
+$_['text_threads_optimal'] = 'оптимально';
+$_['button_download_zip'] = 'Завантажити ZIP-архів та видалити папку';
+$_['confirm_download_and_delete'] = 'Архів успішно завантажився? Можна видалити тимчасову папку копій на сервері?';
+$_['button_clear_backups'] = 'Видалити бекапи БД';
+$_['button_clear_backups_short'] = 'Очистити бекапи';
+$_['confirm_clear_backups'] = 'Ви впевнені, що хочете повністю видалити всі SQL-бекапи таблиць?';
+$_['text_compare_title'] = 'Порівняння зображень ДО / ПІСЛЯ';
+$_['text_compare_before'] = 'ДО';
+$_['text_compare_after'] = 'ПІСЛЯ';
+$_['text_backups_cleared'] = 'Усі SQL-бекапи таблиць успішно видалені!';
+$_['error_no_backups'] = 'Бекапи не знайдені або папка порожня.';
+$_['button_restore'] = 'Повернути';
+$_['button_empty'] = 'Очистити';
+$_['entry_wm_targets'] = 'Застосовувати водяний знак до:';
+$_['text_wm_target_product'] = 'Фото товарів';
+$_['text_wm_target_category'] = 'Фото категорій';
+$_['text_wm_target_brand'] = 'Логотипи брендів';
+$_['text_wm_target_banner'] = 'Банери та слайди';
+$_['text_wm_target_blog'] = 'Статті / Блог';
+$_['error_no_scan_data'] = 'Помилка: Дані сканування не знайдені. Спочатку запустіть сканування!';
+$_['error_row_not_found'] = 'Помилка: Об`єкт не знайдено в результатах сканування!';
+$_['error_file_not_found'] = 'Помилка: Файл не знайдено на сервері!';
+$_['text_folder_rules_title'] = 'Індивідуальні правила стиснення для папок';
+$_['text_folder_rules_desc'] = 'Ви можете перевизначити якість та максимальні розміри для конкретних папок. Якщо залишити поле порожнім, використовуватиметься глобальне налаштування. Шлях вказується відносно папки image (наприклад, catalog/banners/).';
+$_['entry_folder_path'] = 'Шлях до папки';
+$_['entry_jpg_quality'] = 'Якість JPG';
+$_['entry_webp_quality'] = 'Якість WebP';
+$_['button_add_rule'] = 'Додати правило';
+$_['button_remove'] = 'Вилучити';
+$_['entry_wm_angle'] = 'Кут нахилу водяного знака (градуси)';
+$_['entry_wm_corner_radius'] = 'Закруглення кутів водяного знака (px)';
+$_['entry_wm_size_type'] = 'Масштабування водяного знака';
+$_['entry_wm_size_percent'] = 'Розмір водяного знака (% від ширини зображення)';
+$_['entry_wm_text_color'] = 'Колір тексту водяного знака';
+$_['entry_wm_text_font'] = 'Шрифт водяного знака (TTF)';
+$_['entry_wm_filter_mode'] = 'Режим фільтрації Категорій/Брендів';
+$_['text_wm_filter_include'] = 'Тільки для вибраних';
+$_['text_wm_filter_exclude'] = 'Для всіх, крім вибраних';
+$_['text_wm_size_original'] = 'Оригінальний розмір';
+$_['text_wm_size_percent'] = 'Пропорційно ширині зображення (%)';
+$_['button_preview_watermark'] = 'Попередній перегляд';
+$_['text_wm_preview_title'] = 'Попередній перегляд водяного знака';
+$_['text_cron_exclude_folders'] = 'Виключити папки зі сканування';
+$_['text_cron_entities'] = 'Які типи фото обробляти?';
+$_['text_cron_quality_override'] = 'Перевизначити параметри стиснення для Крона';
+$_['text_cron_recommendations'] = 'Рекомендації щодо розкладу Cron';
+$_['text_cron_recommendations_desc'] = '- Для невеликих сайтів (до 5000 товарів) рекомендується запускати Крон кожну годину (
0 * * * *). - Для середніх сайтів (5000-20000 товарів) рекомендується запускати раз на 3-6 годин (
0 */6 * * *). - Для великих сайтів (понад 20000 товарів) — один раз на добу вночі (наприклад, о 2:00:
0 2 * * *).
';
+$_['text_tool_broken_files'] = 'Сканер битих/порожніх файлів на сервері';
+$_['help_tool_broken_files'] = 'Сканує фізичні файли в папці image/catalog/ на наявність пошкоджених зображень або порожніх файлів розміром 0 байт.';
+$_['text_grid_broken_file'] = 'Битий або порожній файл на сервері';
+$_['text_grid_broken_file_after'] = 'Вилучення або заміна заглушкою';
+$_['text_description_broken_files'] = 'Результати сканування фізичних файлів у папці image/catalog/. Тут відображаються биті (пошкоджені) зображення або файли розміром 0 байт.';
+$_['text_action_strip'] = 'Очистити EXIF';
+$_['text_action_set_placeholder'] = 'Встановити заглушку';
+$_['text_th_entity'] = 'Об`єкт / Пов`язані посилання';
+$_['text_cron_entity_product'] = 'Товари';
+$_['text_cron_entity_category'] = 'Категорії';
+$_['text_cron_entity_manufacturer'] = 'Виробники / Бренди';
+$_['text_cron_entity_banner'] = 'Банери';
+$_['text_cron_entity_blog'] = 'Блог / Статті';
+$_['entry_cron_jpg_quality'] = 'Якість JPG (Крон)';
+$_['entry_cron_webp_quality'] = 'Якість WebP (Крон)';
+$_['entry_cron_max_width'] = 'Макс. ширина px (Крон)';
+$_['entry_cron_max_height'] = 'Макс. висота px (Крон)';
+$_['text_cron_folder_scan'] = 'Папки для сканування';
+$_['text_no_fonts'] = 'TTF-шрифти не знайдено в system/library/font/';
+$_['button_apply'] = 'Застосувати';
+$_['text_backup_will_be_created'] = 'Резервна копія бази даних буде автоматично створена перед виконанням цієї дії.';
+$_['text_bulk_action'] = 'Групова дія для вибраних';
+$_['text_grid_results'] = 'Результати та деталі сканування';
+$_['text_quarantine_will_be_created'] = 'Оригінальні файли будуть переміщені в карантин (image/catalog_trash/) перед зміною.';
+$_['text_success_apply'] = 'Зміни успішно застосовані!';
+$_['text_description_broken'] = 'Результати сканування бази даних на наявність битих посилань (записи в таблицях з неіснуючими файлами).';
+$_['text_description_cache_restore'] = 'Результати пошуку файлів у кеші, оригінали яких відсутні в каталозі.';
+$_['text_description_duplicates'] = 'Результати пошуку повних дублікатів зображень за MD5-хешем.';
+$_['text_description_empty_folders'] = 'Список порожніх папок в директорії image/catalog/ для видалення.';
+$_['text_description_exif'] = 'Результати пошуку зображень з метаданими EXIF, які можна очистити.';
+$_['text_description_folder_tree'] = 'Статистика розміру папок у каталозі image/catalog/.';
+$_['text_description_html_broken'] = 'Результати пошуку неіснуючих файлів картинок, на які посилаються описи в HTML.';
+$_['text_description_placeholders'] = 'Результати пошуку сутностей без зображень для заповнення заглушками.';
+$_['text_description_png_jpg'] = 'Результати пошуку важких зображень PNG без прозорості, які можна перетиснути в JPG.';
+$_['text_description_small_photos'] = 'Список зображень, розміри яких менше мінімально заданих (%sx%s px).';
+$_['text_description_smart_cache'] = 'Результати пошуку файлів кешу, оригінали яких уже було видалено.';
+$_['text_description_translit'] = 'Результати пошуку файлів з кирилицею або пробілами в назвах.';
+$_['text_grid_broken_db_after'] = 'Очистити посилання або встановити заглушку';
+$_['text_grid_dupe_after'] = 'Оригінал (залишається)';
+$_['text_grid_dupe_before'] = 'Дублікат (буде видалено)';
+$_['text_grid_empty_folder'] = 'Порожня папка';
+$_['text_grid_empty_folder_after'] = 'Вилучити порожню папку';
+$_['text_grid_exif_after'] = 'Очистити метадані';
+$_['text_grid_exif_before'] = 'Містить EXIF';
+$_['text_grid_html_after'] = 'Виправити посилання вручну';
+$_['text_grid_missing_file'] = 'Файл відсутній';
+$_['text_grid_missing_html'] = 'Картинка не знайдена в описі';
+$_['text_grid_missing_orig'] = 'Оригінал відсутній';
+$_['text_grid_missing_orig_after'] = 'Відновити оригінал з кешу';
+$_['text_grid_no_image'] = 'Немає зображення (порожньо)';
+$_['text_grid_orph_cache'] = 'Осиротілий кеш';
+$_['text_grid_orph_cache_after'] = 'Видалити непотрібний кеш';
+$_['text_grid_ph_brand_after'] = 'Встановити заглушку бренду';
+$_['text_grid_ph_category_after'] = 'Встановити заглушку категорії';
+$_['text_grid_ph_product_after'] = 'Встановити заглушку товару';
+$_['text_grid_small_photo_after'] = 'Рекомендується замінити на більше';
+$_['text_grid_too_small'] = 'Занадто мале';
+$_['text_no_relations'] = 'Немає зв’язків у БД';
+$_['text_action_archive'] = 'Архівувати (в ZIP)';
+$_['text_action_archive_delete'] = 'Архівувати + Видалити';
+$_['text_tool_sanitizer'] = 'Санитайзер імен файлів';
+$_['help_tool_sanitizer'] = 'Масове очищення імен файлів і папок від кирилиці, пробілів та спецсимволів, приведення розширень до єдиного вигляду.';
+$_['text_description_sanitizer'] = 'Результати аналізу імен файлів для санітаризації за вибраними правилами.';
+$_['entry_sz_translit'] = 'Транслітерація (кирилиця в латиницю)';
+$_['entry_sz_spaces'] = 'Замінювати пробіли на символ "_"';
+$_['entry_sz_special'] = 'Видаляти спеціальні символи';
+$_['entry_sz_lowercase_name'] = 'Ім`я файлу в нижній регістр';
+$_['entry_sz_lowercase_ext'] = 'Розширення в нижній регістр';
+$_['entry_sz_normalize_ext'] = 'Нормалізувати розширення (jpeg -> jpg)';
+$_['entry_cron_folder_mode'] = 'Режим фільтрації папок';
+$_['text_cron_folder_mode_exclude'] = 'Сканувати все, крім вибраних (Винятки)';
+$_['text_cron_folder_mode_include'] = 'Сканирувати тільки вибрані папки';
+$_['button_select_all'] = 'Вибрати всі';
+$_['button_deselect_all'] = 'Зняти всі';
+$_['entry_wm_upload_font'] = 'Завантажити свій шрифт TTF';
+$_['button_upload_font'] = 'Завантажити шрифт';
+$_['text_success_font_upload'] = 'Шрифт успішно завантажено!';
+$_['error_font_upload'] = 'Помилка завантаження шрифту! Дозволені тільки файли .ttf вагою до 5 МБ.';
+$_['entry_lazy_load'] = 'Прогресивне лениве завантаження';
+$_['help_lazy_load'] = 'Вмикає преміальне прогресивне відкладене завантаження на вітрині. Зображення замінюються на мікро-прев\'ю та плавно розмиваються (blur-up), підвантажуючись у міру прокручування.';
+$_['confirm_replace_mode'] = 'УВАГА! Ви обрали режим «Замінювати оригінали». Усі зображення будуть перезаписані безпосередньо на сервері. Наполегливо рекомендуємо зробити резервну копію. Ви впевнені, що хочете продовжити?';
+$_['text_compare'] = 'Порівняти';
+$_['text_home'] = 'Головна';
+$_['text_tech_gd'] = 'Бібліотека GD';
+$_['text_tech_imagick'] = 'Imagick';
+$_['text_tech_webp'] = 'Підтримка WebP';
+$_['text_position_1'] = '1 - Зліва вгорі';
+$_['text_position_2'] = '2 - По центру вгорі';
+$_['text_position_3'] = '3 - Справа вгорі';
+$_['text_position_4'] = '4 - Зліва посередині';
+$_['text_position_5'] = '5 - По центру';
+$_['text_position_6'] = '6 - Справа посередині';
+$_['text_position_7'] = '7 - Зліва внизу';
+$_['text_position_8'] = '8 - По центру внизу';
+$_['text_position_9'] = '9 - Справа внизу';
+
+$_['entry_log_level'] = 'Рівень логу';
+$_['text_log_changed_only'] = 'Тільки змінені';
+$_['text_log_all'] = 'Всі файли (детально)';
+$_['text_skipped_no_gain'] = 'Пропущено (без покращення)';
+$_['text_reset_cache_hint'] = 'Скинути кеш оптимізації (повне пересканування)';
+$_['confirm_reset_cache'] = 'Скинути кеш оптимізації? Наступне сканування перевірить ВСІ файли знову.';
+$_['text_cache_cleared'] = 'Кеш оптимізації очищено. Наступне сканування перевірить всі файли.';
+$_['error_wm_preview'] = 'Помилка генерації прев\'ю водяного знаку.';
+$_['error_wm_too_large'] = 'Зображення водяного знаку занадто велике (%dx%d px)! Максимально допустимий розмір: %dx%d px.';
+$_['text_apply_errors_warning'] = 'УВАГА: Деякі файли не вдалося замінити (заблоковані або немає прав):';
+$_['text_action_compress'] = 'Стиснути зображення';
+$_['text_estimated'] = 'Прогноз';
+$_['entry_min_savings_bytes'] = 'Мін. стиснення (байт)';
+$_['entry_min_savings_percent'] = 'Мін. стиснення (%)';
+$_['text_optimized'] = 'Оптимізовано';
+$_['entry_broken_fallback'] = 'Заглушка для битих фото';
+$_['help_broken_fallback'] = 'Автоматично замінює відсутні або пошкоджені зображення каталогу на вітрині на зображення-заглушку.';
+$_['entry_fallback_image'] = 'Зображення-заглушка';
+$_['help_fallback_image'] = 'Виберіть зображення, яке буде показано, якщо оригінальний файл картинки товару чи категорії відсутній. За замовчуванням використовується no_image.png.';
+$_['text_tool_cmyk'] = 'Конвертер CMYK в RGB';
+$_['help_tool_cmyk'] = 'Конвертація JPEG зображень з колірного профілю CMYK в sRGB для коректного відображення в браузерах Safari та на пристроях iOS.';
+$_['text_tool_heavy_files'] = 'Пошук важких файлів';
+$_['help_tool_heavy_files'] = 'Пошук найважчих оригінальних зображень у каталозі з можливістю їх швидкого стиснення безпосередньо тут.';
+$_['entry_heavy_files_limit'] = 'Макс. кількість знайдених файлів (всього)';
+$_['text_action_convert_rgb'] = 'Конвертувати в RGB';
+$_['text_description_cmyk'] = 'Знайдено файли в колірному просторі CMYK. Конвертація в sRGB гарантує колірне відображення на всіх платформах, включаючи iOS/macOS.';
+$_['text_description_heavy'] = 'Список із %d найважчих файлів у каталозі зображень. Ви можете оптимізувати їх безпосередньо тут.';
+$_['text_cron_folder_hint_exclude_all'] = 'Статус: Скануватимуться всі папки (винятки не обрані).';
+$_['text_cron_folder_hint_exclude_some'] = 'Статус: Скануватимуться всі папки, ОКРІМ %d позначених.';
+$_['text_cron_folder_hint_include_some'] = 'Статус: Скануватимуться тільки %d позначених папок.';
+$_['text_cron_folder_hint_include_none'] = 'УВАГА: Жодної папки не обрано! Крон нічого не буде сканувати.';
+$_['text_action_apply_changes'] = 'Застосувати вказані зміни';
+$_['entry_wm_status'] = 'Статус водяного знака';
+$_['text_disabled'] = 'Відключено';
+$_['entry_rule_name'] = 'Назва правила';
+$_['entry_rule_status'] = 'Статус правила';
+$_['entry_action'] = 'Дія';
+$_['entry_ph_status'] = 'Статус заглушок';
+$_['entry_sanitizer_limit'] = 'Макс. файлів для пошуку (ліміт)';
+$_['entry_heavy_files_min_size'] = 'Мінимальний розмір';
+$_['entry_png_jpg_limit'] = 'Макс. файлів для пошуку (ліміт)';
+$_['entry_png_jpg_min_size'] = 'Мінімальний розмір';
+$_['text_wm_rule_title'] = 'Правило водяного знака';
+$_['button_close'] = 'Закрити';
+$_['text_ph_rule_title'] = 'Правило заглушки';
+$_['entry_ph_image'] = 'Зображення заглушки';
+$_['button_clear_cache_wm'] = 'Очистити кеш (застосувати водяний знак)';
+$_['text_active'] = 'Активна';
+$_['text_error'] = 'Не активна';
+$_['text_th_dupe_delete'] = 'Файл для видалення (Дублікат)';
+$_['text_th_dupe_keep'] = 'Файл для збереження (Оригінал)';
+$_['text_dupe_original_label'] = 'Оригінал';
+$_['text_dupe_duplicate_label'] = 'Дублікат';
+
+$_['text_disk_usage'] = 'Використання диска';
+$_['text_cumulative_stats'] = 'Статистика оптимізації';
+$_['text_disk_catalog'] = 'Каталог зображень';
+$_['text_disk_cache'] = 'Кеш OC';
+$_['text_disk_trash'] = 'Кошик модуля';
+$_['text_disk_other'] = 'Інше';
+$_['text_disk_free'] = 'Вільно';
+$_['text_total_files_opt'] = 'Файлів оброблено';
+$_['text_total_saved'] = 'Всього зекономлено';
+$_['text_avg_saving_pct'] = 'Середня економія';
+$_['text_stats_hint'] = 'Статистика накопичується по всіх сесіях (зберігається локально в браузері)';
+$_['text_reset_stats'] = 'Скинути статистику';
+$_['text_reset_stats_confirm']= 'Скинути накопичену статистику оптимізації?';
+$_['text_export_import'] = 'Експорт / Імпорт налаштувань';
+$_['button_export_settings'] = 'Експорт налаштувань (JSON)';
+$_['button_import_settings'] = 'Імпортувати налаштування';
+$_['help_export_settings'] = 'Завантажити всі налаштування модуля в JSON-файл';
+$_['help_import_settings'] = 'Завантажити раніше експортований JSON для відновлення налаштувань';
+$_['text_import_success'] = 'Налаштування успішно імпортовані. Перезавантажте сторінку для застосування.';
+$_['error_import_file'] = 'Файл не завантажено або помилка завантаження';
+$_['error_import_invalid'] = 'Некоректний файл налаштувань (невірний модуль або формат)';
+$_['text_click_to_load'] = 'Натисніть ↑ для завантаження даних диска';
+
+
+$_['tab_formats'] = 'Формати зображень';
+
+$_['text_disk_quota_legend'] = 'Ліміти диска хостингу (вручну)';
+$_['text_disk_quota_desc'] = 'Якщо графік дискового простору показує некоректні дані (фізичний диск сервера замість ліміту вашого хостингу), ви можете вказати ліміти вашого тарифу вручну. Вкажіть 0, щоб використовувати автовизначення.';
+$_['entry_disk_quota_total'] = 'Виділено диска на хостингу (ГБ)';
+$_['entry_disk_quota_used'] = 'Зайнято диска на хостингу всього (ГБ)';
+$_['entry_auto_disk'] = 'Автооновлення при вході';
+
+// Cron Tasks
+$_['entry_cron_task_name'] = 'Назва задачі';
+$_['entry_cron_task_summary'] = 'Параметри стиснення';
+$_['button_add_cron_task'] = 'Додати задачу';
+$_['button_copy_cron_url'] = 'Копіювати URL';
+$_['text_cron_recommended_url'] = 'URL для запуску задачі крону:';
+
+// Licensing
+$_['text_license_required'] = 'Необхідний ліцензійний ключ';
+$_['text_license_required_desc'] = 'Будь ласка, введіть ліцензійний ключ для активації модуля. Усі функції налаштувань та оптимізації заблоковані до введення валідного ключа.';
+$_['entry_token_desc'] = 'Введіть токен активації, виданий для вашого основного домену. Ви можете отримати його в особистому кабінеті на форумі або звернувшись у підтримку.';
+$_['button_activate'] = 'Активувати модуль';
+$_['text_support'] = 'Технічна підтримка';
+$_['text_support_desc'] = 'Якщо у вас ще немає ключа або виникли проблеми, будь ласка, повідомте номер вашого замовлення та домен.';
+
+// New settings
+$_['entry_wm_max_width'] = 'Макс. ширина водяного знака (px)';
+$_['entry_wm_max_height'] = 'Макс. висота водяного знака (px)';
+$_['help_wm_max_width'] = 'Якщо вихідне зображення водяного знака перевищує цю ширину, воно буде автоматично масштабоване. Вкажіть 0 або залиште порожнім для значення за замовчуванням (800px).';
+$_['help_wm_max_height'] = 'Якщо вихідне зображення водяного знака перевищує цю висоту, воно буде автоматично масштабоване. Вкажіть 0 або залиште порожнім для значення за замовчуванням (800px).';
+$_['entry_disk_status'] = 'Увімкнути сканування диска та графік';
+$_['help_disk_status'] = 'Якщо увімкнено, модуль періодично скануватиме обсяг папки картинок та відображатиме круговую діаграму. Рекомендується вимкнути на великих сайтах для прискорення завантаження панелі.';
+$_['text_disk_settings_title'] = 'Налаштування лімітів та сканування диска';
+