Restore standard OpenCart language loading: use native load->language and include language folder aliases for installer

This commit is contained in:
nertyog 2026-08-01 06:19:44 +03:00
parent 4d4095eecf
commit 624259cfd9
7 changed files with 2832 additions and 13 deletions

View File

@ -6,19 +6,7 @@ class ControllerModuleImgOpti extends Controller {
private $translations = array(); private $translations = array();
public function index() { public function index() {
$data = array(); $data = $this->load->language('module/img_opti');
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);
}
$this->document->setTitle($this->language->get('heading_title_raw')); $this->document->setTitle($this->language->get('heading_title_raw'));
$this->load->model('setting/setting'); $this->load->model('setting/setting');

View File

@ -0,0 +1,565 @@
<?php
$_['heading_title_raw'] = 'Image Optimizer [NAT]: Сжатие оригиналов и удаление мусора';
$_['heading_title'] = '<b>Image Optimizer [NAT]:</b> Сжатие оригиналов и удаление мусора';
$_['text_extension'] = 'Расширения';
$_['text_edit'] = 'Настройки модуля';
$_['text_success'] = 'Настройки успешно сохранены!';
$_['entry_warning'] = 'ВНИМАНИЕ: Обязательно сделайте бэкап файлов сайта и особенно папки /image/catalog перед началом работы!';
$_['text_tech'] = 'Проверка технологий сервера:';
$_['text_author'] = 'Техническая поддержка и пожелания: <a href="mailto:info@nat.od.ua">info@nat.od.ua</a>';
$_['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'] = '<strong>Текущий модуль.</strong> Сжатие и ресайз ОРИГИНАЛОВ фото (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-описания товаров и категорий на наличие тегов <img> с несуществующими картинками.';
$_['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'] = '<ul><li><b>Для небольших сайтов (до 5000 товаров)</b> рекомендуется запускать Крон каждый час (<code>0 * * * *</code>).</li><li><b>Для средних сайтов (5000-20000 товаров)</b> рекомендуется запускать раз в 3-6 часов (<code>0 */6 * * *</code>).</li><li><b>Для крупных сайтов (более 20000 товаров)</b> — один раз в сутки ночью (например, в 2:00: <code>0 2 * * *</code>).</li></ul>';
$_['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'] = 'Настройка лимитов и сканирования диска';

View File

@ -0,0 +1,565 @@
<?php
$_['heading_title_raw'] = 'Image Optimizer [NAT]: Сжатие оригиналов и удаление мусора';
$_['heading_title'] = '<b>Image Optimizer [NAT]:</b> Сжатие оригиналов и удаление мусора';
$_['text_extension'] = 'Расширения';
$_['text_edit'] = 'Настройки модуля';
$_['text_success'] = 'Настройки успешно сохранены!';
$_['entry_warning'] = 'ВНИМАНИЕ: Обязательно сделайте бэкап файлов сайта и особенно папки /image/catalog перед началом работы!';
$_['text_tech'] = 'Проверка технологий сервера:';
$_['text_author'] = 'Техническая поддержка и пожелания: <a href="mailto:info@nat.od.ua">info@nat.od.ua</a>';
$_['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'] = '<strong>Текущий модуль.</strong> Сжатие и ресайз ОРИГИНАЛОВ фото (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-описания товаров и категорий на наличие тегов <img> с несуществующими картинками.';
$_['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'] = '<ul><li><b>Для небольших сайтов (до 5000 товаров)</b> рекомендуется запускать Крон каждый час (<code>0 * * * *</code>).</li><li><b>Для средних сайтов (5000-20000 товаров)</b> рекомендуется запускать раз в 3-6 часов (<code>0 */6 * * *</code>).</li><li><b>Для крупных сайтов (более 20000 товаров)</b> — один раз в сутки ночью (например, в 2:00: <code>0 2 * * *</code>).</li></ul>';
$_['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'] = 'Настройка лимитов и сканирования диска';

View File

@ -0,0 +1,567 @@
<?php
$_['heading_title_raw'] = 'Image Optimizer [NAT]: Стиснення оригіналів та видалення сміття';
$_['heading_title'] = '<b>Image Optimizer [NAT]:</b> Стиснення оригіналів та видалення сміття';
$_['text_extension'] = 'Розширення';
$_['text_edit'] = 'Налаштування модуля';
$_['text_success'] = 'Налаштування успішно збережено!';
$_['entry_warning'] = 'УВАГА: Обов`язково зробіть бекап файлів сайту і особливо папки /image/catalog перед початком роботи!';
$_['text_tech'] = 'Перевірка технологій сервера:';
$_['text_author'] = 'Технічна підтримка та побажання: <a href="mailto:info@nat.od.ua">info@nat.od.ua</a>';
$_['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'] = '<strong>Поточний модуль.</strong> Стиснення та ресайз ОРИГІНАЛІВ фото (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-описи товарів та категорій на наявність тегів <img> з неіснуючими зображеннями.';
$_['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'] = '<ul><li><b>Для невеликих сайтів (до 5000 товарів)</b> рекомендується запускати Крон кожну годину (<code>0 * * * *</code>).</li><li><b>Для середніх сайтів (5000-20000 товарів)</b> рекомендується запускати раз на 3-6 годин (<code>0 */6 * * *</code>).</li><li><b>Для великих сайтів (понад 20000 товарів)</b> — один раз на добу вночі (наприклад, о 2:00: <code>0 2 * * *</code>).</li></ul>';
$_['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'] = 'Налаштування лімітів та сканування диска';

View File

@ -0,0 +1,567 @@
<?php
$_['heading_title_raw'] = 'Image Optimizer [NAT]: Стиснення оригіналів та видалення сміття';
$_['heading_title'] = '<b>Image Optimizer [NAT]:</b> Стиснення оригіналів та видалення сміття';
$_['text_extension'] = 'Розширення';
$_['text_edit'] = 'Налаштування модуля';
$_['text_success'] = 'Налаштування успішно збережено!';
$_['entry_warning'] = 'УВАГА: Обов`язково зробіть бекап файлів сайту і особливо папки /image/catalog перед початком роботи!';
$_['text_tech'] = 'Перевірка технологій сервера:';
$_['text_author'] = 'Технічна підтримка та побажання: <a href="mailto:info@nat.od.ua">info@nat.od.ua</a>';
$_['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'] = '<strong>Поточний модуль.</strong> Стиснення та ресайз ОРИГІНАЛІВ фото (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-описи товарів та категорій на наявність тегів <img> з неіснуючими зображеннями.';
$_['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'] = '<ul><li><b>Для невеликих сайтів (до 5000 товарів)</b> рекомендується запускати Крон кожну годину (<code>0 * * * *</code>).</li><li><b>Для середніх сайтів (5000-20000 товарів)</b> рекомендується запускати раз на 3-6 годин (<code>0 */6 * * *</code>).</li><li><b>Для великих сайтів (понад 20000 товарів)</b> — один раз на добу вночі (наприклад, о 2:00: <code>0 2 * * *</code>).</li></ul>';
$_['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'] = 'Налаштування лімітів та сканування диска';

View File

@ -0,0 +1,567 @@
<?php
$_['heading_title_raw'] = 'Image Optimizer [NAT]: Стиснення оригіналів та видалення сміття';
$_['heading_title'] = '<b>Image Optimizer [NAT]:</b> Стиснення оригіналів та видалення сміття';
$_['text_extension'] = 'Розширення';
$_['text_edit'] = 'Налаштування модуля';
$_['text_success'] = 'Налаштування успішно збережено!';
$_['entry_warning'] = 'УВАГА: Обов`язково зробіть бекап файлів сайту і особливо папки /image/catalog перед початком роботи!';
$_['text_tech'] = 'Перевірка технологій сервера:';
$_['text_author'] = 'Технічна підтримка та побажання: <a href="mailto:info@nat.od.ua">info@nat.od.ua</a>';
$_['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'] = '<strong>Поточний модуль.</strong> Стиснення та ресайз ОРИГІНАЛІВ фото (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-описи товарів та категорій на наявність тегів <img> з неіснуючими зображеннями.';
$_['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'] = '<ul><li><b>Для невеликих сайтів (до 5000 товарів)</b> рекомендується запускати Крон кожну годину (<code>0 * * * *</code>).</li><li><b>Для середніх сайтів (5000-20000 товарів)</b> рекомендується запускати раз на 3-6 годин (<code>0 */6 * * *</code>).</li><li><b>Для великих сайтів (понад 20000 товарів)</b> — один раз на добу вночі (наприклад, о 2:00: <code>0 2 * * *</code>).</li></ul>';
$_['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'] = 'Налаштування лімітів та сканування диска';