diff --git a/image_optimizer_nat_OC_20_22_1_1.ocmod.zip b/image_optimizer_nat_OC_20_22_1_1.ocmod.zip index fc82417..ad98219 100644 Binary files a/image_optimizer_nat_OC_20_22_1_1.ocmod.zip and b/image_optimizer_nat_OC_20_22_1_1.ocmod.zip differ diff --git a/upload/admin/controller/module/img_opti.php b/upload/admin/controller/module/img_opti.php index 67433f2..62a7a1c 100644 --- a/upload/admin/controller/module/img_opti.php +++ b/upload/admin/controller/module/img_opti.php @@ -6,19 +6,7 @@ class ControllerModuleImgOpti extends Controller { private $translations = array(); public function index() { - $data = array(); - if (isset($this->load) && method_exists($this->load, 'language')) { - try { - $lang_data = $this->load->language('module/img_opti'); - if (is_array($lang_data)) { - $data = array_merge($data, $lang_data); - } - } catch (Exception $e) {} - } - $fallback_data = $this->loadLanguageSafe(); - if (is_array($fallback_data)) { - $data = array_merge($fallback_data, $data); - } + $data = $this->load->language('module/img_opti'); $this->document->setTitle($this->language->get('heading_title_raw')); $this->load->model('setting/setting'); diff --git a/upload/admin/language/ru/module/img_opti.php b/upload/admin/language/ru/module/img_opti.php new file mode 100644 index 0000000..28fd6a4 --- /dev/null +++ b/upload/admin/language/ru/module/img_opti.php @@ -0,0 +1,565 @@ +Image Optimizer [NAT]: Сжатие оригиналов и удаление мусора'; +$_['text_extension'] = 'Расширения'; +$_['text_edit'] = 'Настройки модуля'; +$_['text_success'] = 'Настройки успешно сохранены!'; +$_['entry_warning'] = 'ВНИМАНИЕ: Обязательно сделайте бэкап файлов сайта и особенно папки /image/catalog перед началом работы!'; +$_['text_tech'] = 'Проверка технологий сервера:'; +$_['text_author'] = 'Техническая поддержка и пожелания: info@nat.od.ua'; +$_['tab_optimize'] = 'Оптимизация и Ресайз'; +$_['tab_cleaner'] = 'Очистка неиспользуемых изображений'; +$_['tab_info'] = 'Инфо / Экосистема [NAT]'; +$_['tab_settings'] = 'Настройки'; +$_['tab_tools'] = 'Инструменты (pro)'; +$_['tab_cron'] = 'Крон-задачи'; +$_['entry_mode'] = 'Режим работы'; +$_['text_copy'] = 'Создать копию (безопасно)'; +$_['text_replace'] = 'Заменять оригиналы (требует бэкап!)'; +$_['entry_folder'] = 'Имя папки для копии'; +$_['entry_batch'] = 'Файлов за проход'; +$_['entry_log_limit'] = 'Строк лога на экране'; +$_['entry_max_width'] = 'Макс. ширина (px) [0 - без лимита]'; +$_['entry_max_height'] = 'Макс. высота (px) [0 - без лимита]'; +$_['entry_jpg'] = 'Качество JPG (0-100)'; +$_['entry_png'] = 'Сжатие PNG (0-9)'; +$_['entry_webp'] = 'Качество WebP (0-100)'; +$_['entry_targets'] = 'Что оптимизировать?'; +$_['text_all_catalog'] = '[ Весь каталог image/catalog ]'; +$_['text_root_files'] = 'Файлы только в корне image/catalog'; +$_['entry_threshold'] = 'Порог замены (%)'; +$_['help_threshold'] = '0: заменять только если вес стал меньше. 10: разрешить увеличение веса до 10%.'; +$_['entry_token'] = 'Токен активации (на корень домена)'; +$_['entry_status'] = 'Статус модуля'; +$_['entry_menu_position'] = 'Позиция меню [NAT]'; +$_['text_menu_module_only'] = 'Только в модулях'; +$_['text_menu_header'] = 'В шапке (Header)'; +$_['text_menu_sidebar'] = 'В боковом меню (Sidebar)'; +$_['text_menu_both'] = 'Везде (Шапка + Сайдбар)'; +$_['text_status_on'] = 'Включено'; +$_['text_status_off'] = 'Отключено'; +$_['entry_engine'] = 'Движок обработки изображений'; +$_['text_engine_gd'] = 'GD (Стандарт)'; +$_['text_engine_imagick'] = 'Imagick (Высокое качество, сохранение профилей sRGB)'; +$_['entry_license'] = 'Лицензия'; +$_['text_cleaner_info'] = 'Этот инструмент ищет файлы, которые физически существуют на диске, но нигде не используются в базе данных или файлах шаблона.'; +$_['entry_clean_targets'] = 'В каких папках искать мусор?'; +$_['entry_extended_log'] = 'Расширенный лог (показать используемые фото и где они найдены)'; +$_['entry_process_broken'] = 'Учитывать файлы с битой кодировкой (имена с символом "?")'; +$_['button_scan_trash'] = 'НАЙТИ МУСОР'; +$_['button_quarantine'] = 'В Карантин (Безопасно)'; +$_['button_delete_trash'] = 'Удалить навсегда'; +$_['button_empty_quarantine'] = 'Очистить папку Карантина'; +$_['button_restore_quarantine'] = 'Вернуть из Карантина'; +$_['text_scan_result'] = 'Результаты сканирования'; +$_['text_trash_files'] = 'Мусорных файлов: '; +$_['text_trash_size'] = 'Потенциально освободится: '; +$_['button_start'] = 'СТАРТ ОПТИМИЗАЦИИ'; +$_['button_pause'] = 'ПАУЗА'; +$_['button_stop'] = 'ОСТАНОВИТЬ'; +$_['button_continue'] = 'ПРОДОЛЖИТЬ'; +$_['button_start_new'] = 'СТАРТ (Новый запуск)'; +$_['button_download_log'] = 'Скачать лог в TXT'; +$_['button_download'] = 'Скачать'; +$_['button_save'] = 'Сохранить'; +$_['button_cancel'] = 'Отмена'; +$_['text_progress'] = 'Прогресс:'; +$_['text_old_size'] = 'Было:'; +$_['text_new_size'] = 'Стало:'; +$_['text_savings'] = 'Экономия:'; +$_['text_detailed_log'] = 'Детальный лог'; +$_['text_page'] = 'Стр.'; +$_['text_waiting'] = 'Ожидание запуска...'; +$_['text_enabled'] = 'Включено'; +$_['text_disabled_error'] = 'Выключено (ОШИБКА)'; +$_['text_supported'] = 'Поддерживается'; +$_['text_no'] = 'Нет'; +$_['error_permission'] = 'У вас нет прав для управления модулем!'; +$_['error_license'] = 'Ошибка доступа: Неверный токен активации для этого домена!'; +$_['error_domain'] = ' (Домен: '; +$_['text_found'] = 'Найдено файлов: '; +$_['text_compressed'] = 'Сжат'; +$_['text_original'] = 'Оригинал'; +$_['text_error_process'] = 'Ошибка обработки: '; +$_['error_log_empty'] = 'Лог пуст! Сначала запустите процесс.'; +$_['text_report_header'] = '=== ОТЧЕТ ==='; +$_['text_total_files'] = 'Всего файлов: '; +$_['text_searching'] = 'Поиск файлов...'; +$_['error_ajax'] = 'Ошибка: '; +$_['text_resumed'] = '▶ ПРОЦЕСС ВОЗОБНОВЛЕН...'; +$_['text_paused'] = '⏸ ПАУЗА. Процесс приостановлен.'; +$_['confirm_stop'] = 'Вы уверены, что хотите полностью прервать процесс?'; +$_['confirm_delete'] = 'ВНИМАНИЕ! Файлы будут удалены с сервера навсегда без возможности восстановления! Продолжить?'; +$_['confirm_empty_q'] = 'Вы уверены, что хотите полностью очистить папку карантина?'; +$_['confirm_restore'] = 'Все файлы из папки карантина будут возвращены на свои места. Продолжить?'; +$_['button_stopping'] = 'Остановка...'; +$_['text_stopped_user'] = '🛑 ПРОЦЕСС ПРЕРВАН ПОЛЬЗОВАТЕЛЕМ!'; +$_['text_increase'] = 'Увеличение'; +$_['text_done'] = '✅ ГОТОВО! Процесс завершен.'; +$_['error_timeout'] = 'Таймаут сервера. Автоповтор через 3 секунды...'; +$_['text_building_index'] = 'Шаг 1/2: Индексация БД и шаблонов (поиск используемых фото)...'; +$_['text_comparing'] = 'Шаг 2/2: Сравнение физических файлов с индексом...'; +$_['text_quarantine_done'] = '✅ Процесс переноса в image/catalog_trash/ завершен!'; +$_['text_deleted_done'] = '✅ Процесс удаления мусора завершен!'; +$_['text_quarantine_empty'] = '✅ Папка карантина успешно удалена с сервера!'; +$_['text_restore_done'] = '✅ Файлы успешно возвращены из карантина в рабочую папку!'; +$_['text_quarantine_move'] = 'В карантине: '; +$_['text_deleted_file'] = 'Удален: '; +$_['text_no_trash'] = 'В выбранных папках мусор не найден! Все файлы используются.'; +$_['text_scanning_dirs'] = 'Сканируем директории: '; +$_['text_log_used'] = '[ИСПОЛЬЗУЕТСЯ]'; +$_['text_log_trash'] = '[МУСОР]'; +$_['text_log_deleted'] = '[УДАЛЕНО]'; +$_['text_log_del_err'] = '[ОШИБКА УДАЛЕНИЯ]'; +$_['text_log_quarantine'] = '[В КАРАНТИН]'; +$_['text_log_q_err'] = '[ОШИБКА ПЕРЕНОСА]'; +$_['text_log_restored'] = '[ВОССТАНОВЛЕНО]'; +$_['text_log_rest_err'] = '[ОШИБКА ВОССТАНОВЛЕНИЯ]'; +$_['text_used_in'] = 'в: '; +$_['text_analyzing'] = 'Анализ базы данных...'; +$_['text_clean_empty'] = 'Чисто! Мусора нет.'; +$_['text_processing'] = 'Обработка...'; +$_['text_restoring'] = 'Восстановление файлов...'; +$_['text_all_folders'] = 'image/catalog/ (И все вложенные)'; +$_['text_root_folder'] = 'image/catalog/ (Только корень)'; +$_['text_q_empty_err'] = 'Папка карантина пуста или не существует.'; +$_['error_token'] = 'Неверный токен. Перезагрузите страницу.'; +$_['text_apply_title'] = 'Оптимизация завершена в папку: '; +$_['text_apply_info'] = 'Проверьте результат. Если всё устраивает — примените изменения к основному каталогу.'; +$_['entry_apply_backup'] = 'Перенести с созданием бэкапа (в Карантин)'; +$_['entry_apply_replace'] = 'Заменить оригиналы безвозвратно'; +$_['button_apply_main'] = 'ПРИМЕНИТЬ К ОСНОВНОМУ КАТАЛОГУ'; +$_['button_delete_copies'] = 'Удалить временные копии (отмена)'; +$_['button_full_cleanup'] = 'Полная очистка всех временных папок и бэкапов'; +$_['text_apply_success'] = '✅ Файлы успешно перенесены. '; +$_['text_apply_backup_ok'] = 'Оригиналы сохранены в папку: '; +$_['text_apply_no_backup'] = 'Оригиналы удалены.'; +$_['text_error_source'] = 'Ошибка: Папка с оптимизированными файлами не найдена.'; +$_['confirm_full_cleanup'] = 'ВНИМАНИЕ! Это действие безвозвратно удалит ВСЕ папки бэкапов (backup_*) и временные папки с копиями. Продолжить?'; +$_['text_tools_desc'] = 'Глобальные сканеры и инструменты для работы с файловой системой и БД изображений.'; +$_['text_tool_select'] = 'Выберите инструмент:'; +$_['text_group_scanners'] = 'Сканеры и Анализ'; +$_['text_group_generators'] = 'Генераторы и Обработка'; +$_['text_group_experimental'] = 'Экспериментальные функции (BETA)'; +$_['text_experimental_warn'] = 'Внимание: Экспериментальные функции затрагивают системные файлы или базу данных. Настоятельно рекомендуется сделать бэкап!'; +$_['text_tool_broken_db'] = 'Сканер битых/пустых фото БД'; +$_['text_tool_watermark'] = 'Динамический Вотермарк (Только на кэш)'; +$_['text_tool_duplicates'] = 'Поиск дубликатов файлов (по MD5)'; +$_['text_tool_png_jpg'] = 'Конвертер тяжелых PNG в JPG (сканер файлов без прозрачности)'; +$_['text_tool_placeholders'] = 'Генератор заглушек (Вместо No Image)'; +$_['text_tool_exif'] = 'Очистка EXIF-данных (Геотеги/Мета)'; +$_['text_tool_small_photos'] = 'Сканер слишком мелких фото'; +$_['text_tool_html_broken'] = 'Поиск битых картинок в HTML (Описаниях)'; +$_['text_tool_empty_folders'] = 'Очистка пустых папок (image/catalog)'; +$_['text_tool_smart_cache'] = 'Умная очистка кэша изображений'; +$_['text_tool_folder_tree'] = 'Дерево папок (Статистика веса)'; +$_['text_tool_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load (Без БД)'; +$_['text_tool_translit'] = 'Транслитерация названий файлов'; +$_['text_tool_cache_restore'] = 'Воскрешение оригиналов из Кэша'; +$_['entry_wm_type'] = 'Тип вотермарка'; +$_['text_wm_image'] = 'Изображение (PNG)'; +$_['text_wm_text'] = 'Текст'; +$_['entry_wm_image_path'] = 'Путь к изображению'; +$_['entry_wm_text_val'] = 'Текст вотермарка'; +$_['entry_wm_position'] = 'Позиция (1-9)'; +$_['entry_wm_opacity'] = 'Прозрачность (0-100)'; +$_['entry_wm_category'] = 'Только для Категорий'; +$_['entry_wm_brand'] = 'Только для Брендов'; +$_['entry_min_width'] = 'Минимальная ширина (px)'; +$_['entry_min_height'] = 'Минимальная высота (px)'; +$_['entry_ph_product'] = 'Заглушка для Товаров'; +$_['entry_ph_category'] = 'Заглушка для Категорий'; +$_['entry_ph_brand'] = 'Заглушка для Брендов'; +$_['button_run_tool'] = 'Запустить инструмент'; +$_['button_scan_tool'] = 'Сканировать'; +$_['button_fix_tool'] = 'Исправить найденное'; +$_['text_th_path'] = 'Файл / Путь'; +$_['text_th_size'] = 'Размер'; +$_['text_th_action'] = 'Действие'; +$_['text_th_status'] = 'Статус'; +$_['text_th_problem'] = 'Проблема / Значение'; +$_['text_cron_title'] = 'Настройка Cron'; +$_['text_cron_desc'] = 'Добавьте команду в Cron хостинга для автоматического фонового сжатия.'; +$_['entry_cron_new_only'] = 'Обрабатывать только новые (необработанные) файлы'; +$_['entry_cron_folders'] = 'Папки для сканирования (оставьте пустым для всего каталога)'; +$_['text_promo_title'] = 'Другие модули серии [NAT]'; +$_['text_promo_desc'] = 'Модули серии [NAT] — это инструменты для глубокой оптимизации OpenCart. Мы фокусируемся на автоматизации рутины, ускорении базы данных и очистке серверов от мусора. Все модули имеют открытый исходный код и единую логику управления.'; +$_['text_support'] = 'Техническая поддержка и пожелания:'; +$_['button_more'] = 'Смотреть все модули на OpenCart.com'; +$_['button_more_forum'] = 'Opencartforum'; +$_['text_mod_cat_opt'] = 'Catalog Optimizer [NAT]'; +$_['text_mod_cat_opt_desc'] = 'Скрытие пустых категорий и брендов + SEO сортировка товаров (в наличии сверху) + Очистка мусора БД.'; +$_['text_mod_new_arrivals'] = 'New Arrivals [NAT]: Новинки по датам'; +$_['text_mod_new_arrivals_desc'] = 'Автоматическая SEO-страница новинок. Отображает новинки строго по реальной дате добавления. Слайдеры, сетка и умный сайдбар архива дат.'; +$_['text_mod_img_opt'] = 'Image Optimizer [NAT]'; +$_['text_mod_img_opt_desc'] = 'Текущий модуль. Сжатие и ресайз ОРИГИНАЛОВ фото (image/catalog) в WebP + Очистка хостинга от неиспользуемых изображений.'; +$_['text_mod_dom_scan'] = 'Domain Scanner [NAT]'; +$_['text_mod_dom_scan_desc'] = 'Поиск и чистка внешних ссылок и HTTP-картинок в БД и шаблонах (для переезда на HTTPS).'; +$_['text_mod_poll'] = 'Poll Widget [NAT]'; +$_['text_mod_poll_desc'] = 'Создание опросов и голосований с визуальным конструктором дизайна, глубокой статистикой и защитой от накруток.'; +$_['text_mod_db_opt'] = 'Database Optimizer [NAT]'; +$_['text_mod_db_opt_desc'] = 'Интеллектуальная очистка мусора в базе данных, управление системными логами и добавление критически важных индексов для ускорения.'; +$_['text_mod_im_ex'] = 'Import/Export [NAT]'; +$_['text_mod_im_ex_desc'] = 'Быстрый импорт/экспорт цен и остатков из файлов xls/xlsx/csv/xml/json или по ссылке. Маппинг полей, работа по Cron, текстовые функции.'; +$_['text_mod_admin_tools'] = 'Admin Tools [NAT]'; +$_['text_mod_admin_tools_desc'] = 'Удобные инструменты администратора: вход под клиентом, кастомизация админки, управление правами пользователей и скрытие ненужных пунктов меню.'; +$_['text_mod_utm_tracker'] = 'Order UTM Tracker [NAT]'; +$_['text_mod_utm_tracker_desc'] = 'Автоматическое отслеживание UTM-меток при оформлении заказа. Сохраняет источник перехода, кампанию, ключевые слова и выводит эти данные в заказе для аналитики рекламы.'; +$_['text_info_title_promo_top_bar'] = 'Promo Top Bar [NAT]: Верхний рекламный инфо-баннер, информационная полоса над шапкой, бегущая строка и топ-баннер'; +$_['text_info_desc_promo_top_bar'] = 'Создание интерактивных промо-панелей и слайд-шоу в шапке сайта с конструктором блоков, таймерами, формой подписки и гибким таргетингом.'; +$_['text_tool_no_image'] = 'Товары без главного фото (пусто в БД)'; +$_['text_problem_main_broken'] = 'Битое главное фото (файл удален)'; +$_['text_problem_add_broken'] = 'Битое доп. фото (файл удален)'; +$_['text_problem_no_image'] = 'Отсутствует главное фото'; +$_['text_err_dir'] = 'Ошибка: Директория не найдена или неверный путь.'; +$_['text_err_no_queue'] = 'Ошибка: Очередь не найдена. Сначала запустите сканирование.'; +$_['text_log_del_empty_folder'] = 'Удалена пустая папка: '; +$_['text_log_no_empty_folders'] = 'Пустых папок в image/catalog/ не найдено.'; +$_['text_log_total_empty_folders'] = 'Всего удалено пустых папок: '; +$_['text_log_cache_cleared'] = 'Кэш изображений успешно очищен.'; +$_['text_log_wm_smart_mode'] = 'Вотермарки работают в SMART-режиме: оригиналы не трогаются, логотип накладывается только при генерации кэша.'; +$_['text_log_scan_dupes'] = 'Сканирование image/catalog/ на дубликаты (по хешу MD5)... Это может занять время.'; +$_['text_log_found_dupe'] = 'Найден дубликат: '; +$_['text_log_no_dupes'] = 'Дубликаты не найдены.'; +$_['text_log_total_dupes'] = 'Найдено дубликатов: %s. Потенциальная экономия: %s'; +$_['text_log_fix_dupes_prompt'] = 'Нажмите "Исправить найденное" для перелинковки БД на оригинал и удаления дублей.'; +$_['text_log_fixed_dupe'] = 'Исправлен и удален дубликат: '; +$_['text_log_success_dupes'] = 'Успешно исправлено дубликатов: %s. Ссылки в БД обновлены.'; +$_['text_log_scan_png'] = 'Поиск тяжелых PNG файлов без прозрачности...'; +$_['text_log_no_png'] = 'Подходящих PNG файлов не найдено.'; +$_['text_log_total_png'] = 'Найдено PNG без прозрачности: %s. Нажмите "Исправить" для конвертации в JPG.'; +$_['text_log_converted_jpg'] = 'Сконвертировано в JPG: '; +$_['text_log_success_png'] = 'Успешно сконвертировано %s файлов. Освобождено: %s'; +$_['text_log_ph_prod'] = 'Обновлено товаров заглушкой: '; +$_['text_log_ph_cat'] = 'Обновлено категорий заглушкой: '; +$_['text_log_ph_brand'] = 'Обновлено брендов заглушкой: '; +$_['text_log_ph_empty'] = 'Заглушки не выбраны в настройках.'; +$_['text_log_scan_exif'] = 'Сканирование EXIF-данных (мета-теги камер)...'; +$_['text_log_stripped_exif'] = 'Очищен EXIF: '; +$_['text_log_no_exif'] = 'Файлов с EXIF для очистки не найдено.'; +$_['text_log_success_exif'] = 'Очищен EXIF у %s файлов. Освобождено: %s'; +$_['text_log_scan_small'] = 'Поиск фото размером менее %sx%s px...'; +$_['text_log_too_small'] = 'Слишком маленькое (%sx%s): '; +$_['text_log_no_small'] = 'Мелких фото не найдено.'; +$_['text_log_total_small'] = 'Найдено мелких фото: %s. Пожалуйста, замените их на качественные.'; +$_['text_log_html_broken'] = 'Битый IMG в HTML таблицы %s (ID: %s): '; +$_['text_log_no_html_broken'] = 'Битых картинок в HTML-описаниях не найдено.'; +$_['text_log_total_html_broken'] = 'Найдено битых ссылок в HTML: %s. Исправьте их вручную в редакторе.'; +$_['text_log_scan_smart_cache'] = 'Поиск потерянных файлов в image/cache/...'; +$_['text_log_del_orph_cache'] = 'Удален потерянный кэш: '; +$_['text_log_no_orph_cache'] = 'Потерянного кэша не найдено.'; +$_['text_log_success_smart_cache'] = 'Удалено файлов потерянного кэша: %s. Освобождено: %s'; +$_['text_log_scan_translit'] = 'Поиск файлов с кириллицей или пробелами...'; +$_['text_log_no_bad_names'] = 'Файлов с некорректными именами не найдено.'; +$_['text_log_total_bad_names'] = 'Найдено файлов с кириллицей/пробелами: %s. Нажмите "Исправить" для транслитерации и обновления БД.'; +$_['text_log_renamed'] = 'Переименовано: '; +$_['text_log_success_translit'] = 'Успешно транслитерировано файлов: %s. БД обновлена.'; +$_['text_log_scan_restore'] = 'Сканирование image/cache/ для восстановления утерянных оригиналов...'; +$_['text_log_restored_cache'] = 'Восстановлено из кэша: '; +$_['text_log_no_lost_orig'] = 'Отсутствующих оригиналов в кэше не найдено.'; +$_['text_log_success_restore'] = 'Успешно восстановлено оригиналов из кэша: %s.'; +$_['error_invalid_folder'] = 'Ошибка: Недопустимое имя папки!'; +$_['text_formats_title'] = 'Современные форматы (WebP & SVG)'; +$_['text_formats_desc'] = 'Настройки интеграции современных форматов в файловую систему и шаблоны OpenCart.'; +$_['entry_support_svg'] = 'Поддержка загрузки SVG'; +$_['help_support_svg'] = 'Разрешает загрузку векторных SVG-изображений через стандартный Filemanager и их безопасный вывод на витрине без искажений размеров.'; +$_['entry_support_webp'] = 'Поддержка загрузки WebP'; +$_['help_support_webp'] = 'Позволяет вручную загружать, подвязывать и выводить на сайте готовые файлы .webp через Filemanager.'; +$_['entry_truefilemanager_webp'] = 'WebP в TrueFileManager'; +$_['help_truefilemanager_webp'] = 'Добавляет поддержку загрузки, предпросмотра и эскизов WebP в TrueFileManager от sitecreator (если он установлен).'; +$_['entry_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load'; +$_['help_webp_on_fly'] = 'Сверхбыстрая подмена: автоматически меняет расширения .jpg/.png на .webp прямо в HTML-выводе витрины и добавляет атрибут loading="lazy". Не трогает базу данных!'; +$_['help_tool_broken_db'] = 'Ищет в базе данных картинки, физические файлы которых были удалены с сервера. Позволяет очистить битые ссылки.'; +$_['help_tool_empty_folders'] = 'Рекурсивно сканирует директорию image/catalog/ и безопасно удаляет все папки, в которых нет ни одного файла.'; +$_['help_tool_folder_tree'] = 'Строит дерево каталогов и показывает реальный вес каждой папки для поиска "пожирателей" места.'; +$_['help_tool_html_broken'] = 'Сканирует HTML-описания товаров и категорий на наличие тегов с несуществующими картинками.'; +$_['help_tool_small_photos'] = 'Находит картинки с разрешением ниже заданного (например, меньше 300x300 px). Добавлены ссылки на поиск качественных аналогов в Google Images и Яндекс Картинках.'; +$_['help_tool_duplicates'] = 'Ищет полные дубликаты файлов по MD5 хешу (разные имена, но одинаковая картинка). Позволяет склеить их в один файл и обновить БД.'; +$_['help_tool_watermark'] = 'Наложение водяных знаков в SMART-режиме (только на кэш витрины, оригиналы не изменяются).'; +$_['help_tool_placeholders'] = 'Массово устанавливает выбранную картинку-заглушку для товаров и категорий, у которых вообще нет фото.'; +$_['help_tool_png_jpg'] = 'Инструмент сканирует папку изображений и находит тяжелые PNG-файлы, которые не имеют прозрачного фона (альфа-канала). Поскольку прозрачность им не нужна, их можно безопасно конвертировать в формат JPG. Это значительно облегчает файлы (в среднем на 70-80%) и ускоряет загрузку сайта, а все ссылки в базе данных автоматически обновляются.'; +$_['help_tool_exif'] = 'Сканирует JPEG-файлы и удаляет из них скрытые EXIF-данные (геотеги, данные о камере), уменьшая вес на 10-15%.'; +$_['help_tool_smart_cache'] = 'Ищет в папке image/cache/ кэшированные файлы, оригиналы которых уже удалены из image/catalog/, и стирает этот мусор.'; +$_['help_tool_translit'] = 'Находит файлы с кириллицей или пробелами в названиях, переименовывает их транслитом (tovar_1.jpg) и обновляет пути в БД.'; +$_['help_tool_cache_restore'] = 'Если вы случайно удалили оригинал из catalog, инструмент попытается найти его копию в cache и восстановить обратно.'; +$_['entry_quarantine'] = 'Переместить оригиналы в Карантин (вместо удаления)'; +$_['entry_backup_db'] = 'Создать бэкап изменяемых таблиц в SQL перед запуском'; +$_['button_fix_selected'] = 'ИСПРАВИТЬ ВЫБРАННЫЕ'; +$_['button_export_log'] = 'Экспортировать в CSV'; +$_['text_th_before'] = 'Состояние ДО'; +$_['text_th_after'] = 'Ожидаемый результат ПОСЛЕ'; +$_['text_th_select'] = 'Действие'; +$_['text_th_preview'] = 'Предпросмотр'; +$_['text_th_name'] = 'Объект / Файл'; +$_['text_global_action'] = 'Групповое действие для выбранных:'; +$_['text_action_clear'] = 'Очистить ссылку в БД'; +$_['text_action_disable'] = 'Отключить (Статус = 0)'; +$_['text_action_stock'] = 'Установить "Нет в наличии"'; +$_['text_action_placeholder'] = 'Установить заглушку'; +$_['text_action_ignore'] = 'Ничего не делать'; +$_['text_action_merge'] = 'Склеить (удалить дубликат, оставить оригинал)'; +$_['text_action_convert'] = 'Конвертировать в JPG'; +$_['text_action_rename'] = 'Переименовать транслитом'; +$_['text_action_delete'] = 'Удалить'; +$_['text_action_restore'] = 'Восстановить'; +$_['text_db_backup_created'] = 'Создан бэкап БД: %s'; +$_['text_quarantine_created'] = 'Перенесено в карантин: %s'; +$_['text_fix_status_success'] = 'Успешно выполнено'; +$_['text_fix_status_error'] = 'Ошибка: %s'; +$_['text_log_exported'] = 'Лог успешно экспортирован!'; +$_['text_select_action'] = '-- Выберите действие --'; +$_['error_empty_selection'] = 'Ошибка: Не выбрано ни одной строки для исправления!'; +$_['text_link_admin'] = 'Админка'; +$_['text_link_catalog'] = 'Витрина'; +$_['entry_threads'] = 'Потоков обработки'; +$_['text_threads_optimal'] = 'оптимально'; +$_['button_download_zip'] = 'Скачать ZIP-архив и удалить папку'; +$_['confirm_download_and_delete'] = 'Архив успешно скачался? Можно удалить временную папку копий на сервере?'; +$_['button_clear_backups'] = 'Удалить бэкапы БД'; +$_['button_clear_backups_short'] = 'Очистить бэкапы'; +$_['confirm_clear_backups'] = 'Вы уверены, что хотите полностью удалить все SQL-бэкапы таблиц?'; +$_['text_compare_title'] = 'Сравнение изображений ДО / ПОСЛЕ'; +$_['text_compare_before'] = 'ДО'; +$_['text_compare_after'] = 'ПОСЛЕ'; +$_['text_backups_cleared'] = 'Все SQL-бэкапы таблиц успешно удалены!'; +$_['error_no_backups'] = 'Бэкапы не найдены или папка пуста.'; +$_['button_restore'] = 'Вернуть'; +$_['button_empty'] = 'Очистить'; +$_['entry_wm_targets'] = 'Применять водяной знак к:'; +$_['text_wm_target_product'] = 'Фото товаров'; +$_['text_wm_target_category'] = 'Фото категорий'; +$_['text_wm_target_brand'] = 'Логотипы брендов'; +$_['text_wm_target_banner'] = 'Баннеры и слайды'; +$_['text_wm_target_blog'] = 'Статьи / Блог'; +$_['error_no_scan_data'] = 'Ошибка: Данные сканирования не найдены. Сначала запустите сканирование!'; +$_['error_row_not_found'] = 'Ошибка: Объект не найден в результатах сканирования!'; +$_['error_file_not_found'] = 'Ошибка: Файл не найден на сервере!'; +$_['text_folder_rules_title'] = 'Индивидуальные правила сжатия для папок'; +$_['text_folder_rules_desc'] = 'Вы можете переопределить качество и максимальные размеры для конкретных папок. Если оставить поле пустым, будет использоваться глобальная настройка. Путь указывается относительно папки image (например, catalog/banners/).'; +$_['entry_folder_path'] = 'Путь к папке'; +$_['entry_jpg_quality'] = 'Качество JPG'; +$_['entry_webp_quality'] = 'Качество WebP'; +$_['button_add_rule'] = 'Добавить правило'; +$_['button_remove'] = 'Удалить'; +$_['entry_wm_angle'] = 'Угол наклона водяного знака (градусы)'; +$_['entry_wm_corner_radius'] = 'Скругление углов водяного знака (px)'; +$_['entry_wm_size_type'] = 'Масштабирование водяного знака'; +$_['entry_wm_size_percent'] = 'Размер водяного знака (% от ширины изображения)'; +$_['entry_wm_text_color'] = 'Цвет текста водяного знака'; +$_['entry_wm_text_font'] = 'Шрифт водяного знака (TTF)'; +$_['entry_wm_filter_mode'] = 'Режим фильтрации Категорий/Брендов'; +$_['text_wm_filter_include'] = 'Только для выбранных'; +$_['text_wm_filter_exclude'] = 'Для всех, кроме выбранных'; +$_['text_wm_size_original'] = 'Оригинальный размер'; +$_['text_wm_size_percent'] = 'Пропорционально ширине изображения (%)'; +$_['button_preview_watermark'] = 'Предпросмотр водяного знака'; +$_['text_wm_preview_title'] = 'Предпросмотр водяного знака'; +$_['text_cron_exclude_folders'] = 'Исключить папки из сканирования'; +$_['text_cron_entities'] = 'Какие типы фото обрабатывать?'; +$_['text_cron_quality_override'] = 'Переопределить параметры сжатия для Крона'; +$_['text_cron_recommendations'] = 'Рекомендации по расписанию запуска Cron'; +$_['text_cron_recommendations_desc'] = ''; +$_['text_tool_broken_files'] = 'Сканер битых/пустых файлов на сервере'; +$_['help_tool_broken_files'] = 'Сканирует физические файлы в папке image/catalog/ на наличие поврежденных изображений или пустых файлов размером 0 байт.'; +$_['text_grid_broken_file'] = 'Битый или пустой файл на сервере'; +$_['text_grid_broken_file_after'] = 'Удаление или замена заглушкой'; +$_['text_description_broken_files'] = 'Результаты сканирования физических файлов в папке image/catalog/. Здесь отображаются битые (поврежденные) изображения или файлы размером 0 байт.'; +$_['text_action_strip'] = 'Очистить EXIF'; +$_['text_action_set_placeholder'] = 'Установить заглушку'; +$_['text_th_entity'] = 'Объект / Связанные ссылки'; +$_['text_cron_entity_product'] = 'Товары'; +$_['text_cron_entity_category'] = 'Категории'; +$_['text_cron_entity_manufacturer'] = 'Производители / Бренды'; +$_['text_cron_entity_banner'] = 'Баннеры'; +$_['text_cron_entity_blog'] = 'Блог / Статьи'; +$_['entry_cron_jpg_quality'] = 'Качество JPG (Крон)'; +$_['entry_cron_webp_quality'] = 'Качество WebP (Крон)'; +$_['entry_cron_max_width'] = 'Макс. ширина px (Крон)'; +$_['entry_cron_max_height'] = 'Макс. высота px (Крон)'; +$_['text_cron_folder_scan'] = 'Папки для сканирования'; +$_['text_no_fonts'] = 'TTF-шрифты не найдены в system/library/font/'; +$_['button_apply'] = 'Применить'; +$_['text_backup_will_be_created'] = 'Резервная копия базы данных будет автоматически создана перед выполнением этого действия.'; +$_['text_bulk_action'] = 'Групповое действие для выбранных'; +$_['text_grid_results'] = 'Результаты и детали сканирования'; +$_['text_quarantine_will_be_created'] = 'Оригинальные файлы будут перемещены в карантин (image/catalog_trash/) перед изменением.'; +$_['text_success_apply'] = 'Изменения успешно применены!'; +$_['text_description_broken'] = 'Результаты сканирования базы данных на наличие битых ссылок (записи в таблицах с несуществующими файлами).'; +$_['text_description_cache_restore'] = 'Результаты поиска файлов в кэше, оригиналы которых отсутствуют в каталоге.'; +$_['text_description_duplicates'] = 'Результаты поиска полных дубликатов изображений по MD5-хешу.'; +$_['text_description_empty_folders'] = 'Список пустых папок в директории image/catalog/ для удаления.'; +$_['text_description_exif'] = 'Результаты поиска изображений с метаданными EXIF, которые можно очистить.'; +$_['text_description_folder_tree'] = 'Статистика размера папок в каталоге image/catalog/.'; +$_['text_description_html_broken'] = 'Результаты поиска несуществующих файлов картинок, на которые ссылаются описания в HTML.'; +$_['text_description_placeholders'] = 'Результаты поиска сущностей без изображений для заполнения заглушками.'; +$_['text_description_png_jpg'] = 'Результаты поиска тяжелых изображений PNG без прозрачности, которые можно пережать в JPG.'; +$_['text_description_small_photos'] = 'Список изображений, размеры которых меньше минимально заданных (%sx%s px).'; +$_['text_description_smart_cache'] = 'Результаты поиска файлов кэша, оригиналы которых уже были удалены.'; +$_['text_description_translit'] = 'Результаты поиска файлов с кириллицей или пробелами в названиях.'; +$_['text_grid_broken_db_after'] = 'Очистить ссылку или установить заглушку'; +$_['text_grid_dupe_after'] = 'Оригинал (остаётся)'; +$_['text_grid_dupe_before'] = 'Дубликат (будет удалён)'; +$_['text_grid_empty_folder'] = 'Пустая папка'; +$_['text_grid_empty_folder_after'] = 'Удалить пустую папку'; +$_['text_grid_exif_after'] = 'Очистить метаданные'; +$_['text_grid_exif_before'] = 'Содержит EXIF'; +$_['text_grid_html_after'] = 'Исправить ссылку вручную'; +$_['text_grid_missing_file'] = 'Файл отсутствует'; +$_['text_grid_missing_html'] = 'Картинка не найдена в описании'; +$_['text_grid_missing_orig'] = 'Оригинал отсутствует'; +$_['text_grid_missing_orig_after'] = 'Восстановить оригинал из кэша'; +$_['text_grid_no_image'] = 'Нет изображения (пусто)'; +$_['text_grid_orph_cache'] = 'Осиротевший кэш'; +$_['text_grid_orph_cache_after'] = 'Удалить ненужный кэш'; +$_['text_grid_ph_brand_after'] = 'Установить заглушку бренда'; +$_['text_grid_ph_category_after'] = 'Установить заглушку категории'; +$_['text_grid_ph_product_after'] = 'Установить заглушку товара'; +$_['text_grid_small_photo_after'] = 'Рекомендуется заменить на более крупное'; +$_['text_grid_too_small'] = 'Слишком маленькое'; +$_['text_no_relations'] = 'Нет связей в БД'; +$_['text_action_archive'] = 'Архивировать (в ZIP)'; +$_['text_action_archive_delete'] = 'Архивировать + Удалить'; +$_['text_tool_sanitizer'] = 'Санитайзер имен файлов'; +$_['help_tool_sanitizer'] = 'Массовая очистка имен файлов и папок от кириллицы, пробелов и спецсимволов, приведение расширений к единому виду.'; +$_['text_description_sanitizer'] = 'Результаты анализа имен файлов для санитаризации по выбранным правилам.'; +$_['entry_sz_translit'] = 'Транслитерация (кириллица в латиницу)'; +$_['entry_sz_spaces'] = 'Заменять пробелы на символ "_"'; +$_['entry_sz_special'] = 'Удалять специальные символы'; +$_['entry_sz_lowercase_name'] = 'Имя файла в нижний регистр'; +$_['entry_sz_lowercase_ext'] = 'Расширение в нижний регистр'; +$_['entry_sz_normalize_ext'] = 'Нормализовать расширения (jpeg -> jpg)'; +$_['entry_cron_folder_mode'] = 'Режим фильтрации папок'; +$_['text_cron_folder_mode_exclude'] = 'Сканировать все, кроме выбранных (Исключения)'; +$_['text_cron_folder_mode_include'] = 'Сканировать только выбранные папки'; +$_['button_select_all'] = 'Выбрать все'; +$_['button_deselect_all'] = 'Снять все'; +$_['entry_wm_upload_font'] = 'Загрузить свой шрифт TTF'; +$_['button_upload_font'] = 'Загрузить шрифт'; +$_['text_success_font_upload'] = 'Шрифт успешно загружен!'; +$_['error_font_upload'] = 'Ошибка загрузки шрифта! Разрешены только файлы .ttf весом до 5 МБ.'; +$_['entry_lazy_load'] = 'Прогрессивная ленивая загрузка'; +$_['help_lazy_load'] = 'Включает премиальную прогрессивную отложенную загрузку на витрине. Изображения заменяются микро-превью и плавно размываются (blur-up), подгружаясь по мере прокрутки.'; +$_['confirm_replace_mode'] = 'ВНИМАНИЕ! Вы выбрали режим «Заменять оригиналы». Все изображения будут перезаписаны прямо на сервере. Настоятельно рекомендуем сделать резервную копию. Вы уверены, что хотите продолжить?'; +$_['text_compare'] = 'Сравнить'; +$_['text_home'] = 'Главная'; +$_['text_tech_gd'] = 'Библиотека GD'; +$_['text_tech_imagick'] = 'Imagick'; +$_['text_tech_webp'] = 'Поддержка WebP'; +$_['text_position_1'] = '1 - Слева вверху'; +$_['text_position_2'] = '2 - По центру вверху'; +$_['text_position_3'] = '3 - Справа вверху'; +$_['text_position_4'] = '4 - Слева посередине'; +$_['text_position_5'] = '5 - По центру'; +$_['text_position_6'] = '6 - Справа посередине'; +$_['text_position_7'] = '7 - Слева внизу'; +$_['text_position_8'] = '8 - По центру внизу'; +$_['text_position_9'] = '9 - Справа внизу'; + +$_['entry_log_level'] = 'Уровень лога'; +$_['text_log_changed_only'] = 'Только изменённые'; +$_['text_log_all'] = 'Все файлы (подробно)'; +$_['text_skipped_no_gain'] = 'Пропущен (нет улучшения)'; +$_['text_reset_cache_hint'] = 'Сбросить кэш оптимизации (полный пересканирование)'; +$_['confirm_reset_cache'] = 'Сбросить кэш оптимизации? Следующее сканирование проверит ВСЕ файлы заново.'; +$_['text_cache_cleared'] = 'Кэш оптимизации очищен. Следующее сканирование проверит все файлы.'; +$_['error_wm_preview'] = 'Ошибка генерации превью водяного знака.'; +$_['error_wm_too_large'] = 'Изображение водяного знака слишком большое (%dx%d px)! Максимально допустимый размер: %dx%d px.'; +$_['text_apply_errors_warning'] = 'ВНИМАНИЕ: Некоторые файлы не удалось заменить (заблокированы или нет прав):'; +$_['text_action_compress'] = 'Сжать изображения'; +$_['text_estimated'] = 'Прогноз'; +$_['entry_min_savings_bytes'] = 'Мин. сжатие (байт)'; +$_['entry_min_savings_percent'] = 'Мин. сжатие (%)'; +$_['text_optimized'] = 'Оптимизировано'; +$_['entry_broken_fallback'] = 'Заглушка для битых фото'; +$_['help_broken_fallback'] = 'Автоматически заменяет отсутствующие или поврежденные изображения каталога на витрине на изображение-заглушку.'; +$_['entry_fallback_image'] = 'Изображение-заглушка'; +$_['help_fallback_image'] = 'Выберите изображение, которое будет показано, если оригинальный файл картинки товара или категории отсутствует. По умолчанию используется no_image.png.'; +$_['text_tool_cmyk'] = 'Конвертер CMYK в RGB'; +$_['help_tool_cmyk'] = 'Конвертация JPEG изображений из цветового профиля CMYK в sRGB для корректного отображения в браузерах Safari и на устройствах iOS.'; +$_['text_tool_heavy_files'] = 'Поиск тяжелых файлов'; +$_['help_tool_heavy_files'] = 'Поиск самых тяжелых оригинальных изображений в каталоге с возможностью их быстрого сжатия прямо здесь.'; +$_['entry_heavy_files_limit'] = 'Макс. количество найденных файлов (всего)'; +$_['text_action_convert_rgb'] = 'Конвертировать в RGB'; +$_['text_description_cmyk'] = 'Найдены файлы в цветовом пространстве CMYK. Конвертация в sRGB гарантирует корректное отображение на всех платформах, включая iOS/macOS.'; +$_['text_description_heavy'] = 'Список из %d самых тяжелых файлов в каталоге изображений. Вы можете оптимизировать их прямо здесь.'; +$_['text_cron_folder_hint_exclude_all'] = 'Статус: Будут сканироваться все папки (исключения не выбраны).'; +$_['text_cron_folder_hint_exclude_some'] = 'Статус: Будут сканироваться все папки, КРОМЕ %d отмеченных.'; +$_['text_cron_folder_hint_include_some'] = 'Статус: Будут сканироваться только %d отмеченных папок.'; +$_['text_cron_folder_hint_include_none'] = 'ВНИМАНИЕ: Ни одна папка не выбрана! Крон ничего не будет сканировать.'; +$_['text_action_apply_changes'] = 'Применить указанные изменения'; +$_['entry_wm_status'] = 'Статус водяного знака'; +$_['text_disabled'] = 'Отключено'; +$_['entry_rule_name'] = 'Название правила'; +$_['entry_rule_status'] = 'Статус правила'; +$_['entry_action'] = 'Действие'; +$_['entry_ph_status'] = 'Статус заглушек'; +$_['entry_sanitizer_limit'] = 'Макс. файлов для поиска (лимит)'; +$_['entry_heavy_files_min_size'] = 'Минимальный размер'; +$_['entry_png_jpg_limit'] = 'Макс. файлов для поиска (лимит)'; +$_['entry_png_jpg_min_size'] = 'Минимальный размер'; +$_['text_wm_rule_title'] = 'Правило водяного знака'; +$_['button_close'] = 'Закрыть'; +$_['text_ph_rule_title'] = 'Правило заглушки'; +$_['entry_ph_image'] = 'Изображение заглушки'; +$_['button_clear_cache_wm'] = 'Очистить кэш (применить водяной знак)'; +$_['text_active'] = 'Активна'; +$_['text_error'] = 'Не активна'; +$_['text_th_dupe_delete'] = 'Файл для удаления (Дубликат)'; +$_['text_th_dupe_keep'] = 'Файл для сохранения (Оригинал)'; +$_['text_dupe_original_label'] = 'Оригинал'; +$_['text_dupe_duplicate_label'] = 'Дубликат'; + +$_['text_disk_usage'] = 'Использование диска'; +$_['text_cumulative_stats'] = 'Статистика оптимизации'; +$_['text_disk_catalog'] = 'Каталог изображений'; +$_['text_disk_cache'] = 'Кэш OC'; +$_['text_disk_trash'] = 'Корзина модуля'; +$_['text_disk_other'] = 'Прочее'; +$_['text_disk_free'] = 'Свободно'; +$_['text_total_files_opt'] = 'Файлов обработано'; +$_['text_total_saved'] = 'Всего сэкономлено'; +$_['text_avg_saving_pct'] = 'Средняя экономия'; +$_['text_stats_hint'] = 'Статистика накапливается по всем сессиям (хранится локально в браузере)'; +$_['text_reset_stats'] = 'Сбросить статистику'; +$_['text_reset_stats_confirm']= 'Сбросить накопленную статистику оптимизации?'; +$_['text_export_import'] = 'Экспорт / Импорт настроек'; +$_['button_export_settings'] = 'Экспорт настроек (JSON)'; +$_['button_import_settings'] = 'Импортировать настройки'; +$_['help_export_settings'] = 'Скачать все настройки модуля в JSON-файл'; +$_['help_import_settings'] = 'Загрузить ранее экспортированный JSON для восстановления настроек'; +$_['text_import_success'] = 'Настройки успешно импортированы. Перезагрузите страницу для применения.'; +$_['error_import_file'] = 'Файл не загружен или ошибка загрузки'; +$_['error_import_invalid'] = 'Некорректный файл настроек (неверный модуль или формат)'; +$_['text_click_to_load'] = 'Нажмите ↑ для загрузки данных диска'; +$_['tab_formats'] = 'Форматы изображений'; + +$_['text_disk_quota_legend'] = 'Лимиты диска хостинга (вручную)'; +$_['text_disk_quota_desc'] = 'Если график дискового пространства показывает неверные данные (физический диск сервера вместо лимита вашего хостинга), вы можете указать лимиты вашего тарифа вручную. Укажите 0, чтобы использовать автоопределение.'; +$_['entry_disk_quota_total'] = 'Выделено диска на хостинге (ГБ)'; +$_['entry_disk_quota_used'] = 'Занято диска на хостинге всего (ГБ)'; +$_['entry_auto_disk'] = 'Автообновление при входе'; + +// Cron Tasks +$_['entry_cron_task_name'] = 'Название задачи'; +$_['entry_cron_task_summary'] = 'Параметры сжатия'; +$_['button_add_cron_task'] = 'Добавить задачу'; +$_['button_copy_cron_url'] = 'Копировать URL'; +$_['text_cron_recommended_url'] = 'URL для запуска задачи крона:'; + +// Licensing +$_['text_license_required'] = 'Требуется лицензионный ключ'; +$_['text_license_required_desc'] = 'Пожалуйста, введите лицензионный ключ для активации модуля. Все функции настроек и оптимизации заблокированы до ввода валидного ключа.'; +$_['entry_token_desc'] = 'Введите токен активации, выданный для вашего основного домена. Вы можете получить его в личном кабинете на форуме или обратившись в поддержку.'; +$_['button_activate'] = 'Активировать модуль'; +$_['text_support'] = 'Техническая поддержка'; +$_['text_support_desc'] = 'Если у вас ещё нет ключа или возникли проблемы, пожалуйста, сообщите номер вашего заказа и домен.'; + +// New settings +$_['entry_wm_max_width'] = 'Макс. ширина водяного знака (px)'; +$_['entry_wm_max_height'] = 'Макс. высота водяного знака (px)'; +$_['help_wm_max_width'] = 'Если исходное изображение водяного знака превышает эту ширину, оно будет автоматически масштабировано. Укажите 0 или оставьте пустым для значения по умолчанию (800px).'; +$_['help_wm_max_height'] = 'Если исходное изображение водяного знака превышает эту высоту, оно будет автоматически масштабировано. Укажите 0 или оставьте пустым для значения по умолчанию (800px).'; +$_['entry_disk_status'] = 'Включить сканирование диска и график'; +$_['help_disk_status'] = 'Если включено, модуль будет периодически сканировать объем папки картинок и отображать круговую диаграмму. Рекомендуется выключить на больших сайтах для ускорения загрузки панели.'; +$_['text_disk_settings_title'] = 'Настройка лимитов и сканирования диска'; + diff --git a/upload/admin/language/ru_ru/module/img_opti.php b/upload/admin/language/ru_ru/module/img_opti.php new file mode 100644 index 0000000..28fd6a4 --- /dev/null +++ b/upload/admin/language/ru_ru/module/img_opti.php @@ -0,0 +1,565 @@ +Image Optimizer [NAT]: Сжатие оригиналов и удаление мусора'; +$_['text_extension'] = 'Расширения'; +$_['text_edit'] = 'Настройки модуля'; +$_['text_success'] = 'Настройки успешно сохранены!'; +$_['entry_warning'] = 'ВНИМАНИЕ: Обязательно сделайте бэкап файлов сайта и особенно папки /image/catalog перед началом работы!'; +$_['text_tech'] = 'Проверка технологий сервера:'; +$_['text_author'] = 'Техническая поддержка и пожелания: info@nat.od.ua'; +$_['tab_optimize'] = 'Оптимизация и Ресайз'; +$_['tab_cleaner'] = 'Очистка неиспользуемых изображений'; +$_['tab_info'] = 'Инфо / Экосистема [NAT]'; +$_['tab_settings'] = 'Настройки'; +$_['tab_tools'] = 'Инструменты (pro)'; +$_['tab_cron'] = 'Крон-задачи'; +$_['entry_mode'] = 'Режим работы'; +$_['text_copy'] = 'Создать копию (безопасно)'; +$_['text_replace'] = 'Заменять оригиналы (требует бэкап!)'; +$_['entry_folder'] = 'Имя папки для копии'; +$_['entry_batch'] = 'Файлов за проход'; +$_['entry_log_limit'] = 'Строк лога на экране'; +$_['entry_max_width'] = 'Макс. ширина (px) [0 - без лимита]'; +$_['entry_max_height'] = 'Макс. высота (px) [0 - без лимита]'; +$_['entry_jpg'] = 'Качество JPG (0-100)'; +$_['entry_png'] = 'Сжатие PNG (0-9)'; +$_['entry_webp'] = 'Качество WebP (0-100)'; +$_['entry_targets'] = 'Что оптимизировать?'; +$_['text_all_catalog'] = '[ Весь каталог image/catalog ]'; +$_['text_root_files'] = 'Файлы только в корне image/catalog'; +$_['entry_threshold'] = 'Порог замены (%)'; +$_['help_threshold'] = '0: заменять только если вес стал меньше. 10: разрешить увеличение веса до 10%.'; +$_['entry_token'] = 'Токен активации (на корень домена)'; +$_['entry_status'] = 'Статус модуля'; +$_['entry_menu_position'] = 'Позиция меню [NAT]'; +$_['text_menu_module_only'] = 'Только в модулях'; +$_['text_menu_header'] = 'В шапке (Header)'; +$_['text_menu_sidebar'] = 'В боковом меню (Sidebar)'; +$_['text_menu_both'] = 'Везде (Шапка + Сайдбар)'; +$_['text_status_on'] = 'Включено'; +$_['text_status_off'] = 'Отключено'; +$_['entry_engine'] = 'Движок обработки изображений'; +$_['text_engine_gd'] = 'GD (Стандарт)'; +$_['text_engine_imagick'] = 'Imagick (Высокое качество, сохранение профилей sRGB)'; +$_['entry_license'] = 'Лицензия'; +$_['text_cleaner_info'] = 'Этот инструмент ищет файлы, которые физически существуют на диске, но нигде не используются в базе данных или файлах шаблона.'; +$_['entry_clean_targets'] = 'В каких папках искать мусор?'; +$_['entry_extended_log'] = 'Расширенный лог (показать используемые фото и где они найдены)'; +$_['entry_process_broken'] = 'Учитывать файлы с битой кодировкой (имена с символом "?")'; +$_['button_scan_trash'] = 'НАЙТИ МУСОР'; +$_['button_quarantine'] = 'В Карантин (Безопасно)'; +$_['button_delete_trash'] = 'Удалить навсегда'; +$_['button_empty_quarantine'] = 'Очистить папку Карантина'; +$_['button_restore_quarantine'] = 'Вернуть из Карантина'; +$_['text_scan_result'] = 'Результаты сканирования'; +$_['text_trash_files'] = 'Мусорных файлов: '; +$_['text_trash_size'] = 'Потенциально освободится: '; +$_['button_start'] = 'СТАРТ ОПТИМИЗАЦИИ'; +$_['button_pause'] = 'ПАУЗА'; +$_['button_stop'] = 'ОСТАНОВИТЬ'; +$_['button_continue'] = 'ПРОДОЛЖИТЬ'; +$_['button_start_new'] = 'СТАРТ (Новый запуск)'; +$_['button_download_log'] = 'Скачать лог в TXT'; +$_['button_download'] = 'Скачать'; +$_['button_save'] = 'Сохранить'; +$_['button_cancel'] = 'Отмена'; +$_['text_progress'] = 'Прогресс:'; +$_['text_old_size'] = 'Было:'; +$_['text_new_size'] = 'Стало:'; +$_['text_savings'] = 'Экономия:'; +$_['text_detailed_log'] = 'Детальный лог'; +$_['text_page'] = 'Стр.'; +$_['text_waiting'] = 'Ожидание запуска...'; +$_['text_enabled'] = 'Включено'; +$_['text_disabled_error'] = 'Выключено (ОШИБКА)'; +$_['text_supported'] = 'Поддерживается'; +$_['text_no'] = 'Нет'; +$_['error_permission'] = 'У вас нет прав для управления модулем!'; +$_['error_license'] = 'Ошибка доступа: Неверный токен активации для этого домена!'; +$_['error_domain'] = ' (Домен: '; +$_['text_found'] = 'Найдено файлов: '; +$_['text_compressed'] = 'Сжат'; +$_['text_original'] = 'Оригинал'; +$_['text_error_process'] = 'Ошибка обработки: '; +$_['error_log_empty'] = 'Лог пуст! Сначала запустите процесс.'; +$_['text_report_header'] = '=== ОТЧЕТ ==='; +$_['text_total_files'] = 'Всего файлов: '; +$_['text_searching'] = 'Поиск файлов...'; +$_['error_ajax'] = 'Ошибка: '; +$_['text_resumed'] = '▶ ПРОЦЕСС ВОЗОБНОВЛЕН...'; +$_['text_paused'] = '⏸ ПАУЗА. Процесс приостановлен.'; +$_['confirm_stop'] = 'Вы уверены, что хотите полностью прервать процесс?'; +$_['confirm_delete'] = 'ВНИМАНИЕ! Файлы будут удалены с сервера навсегда без возможности восстановления! Продолжить?'; +$_['confirm_empty_q'] = 'Вы уверены, что хотите полностью очистить папку карантина?'; +$_['confirm_restore'] = 'Все файлы из папки карантина будут возвращены на свои места. Продолжить?'; +$_['button_stopping'] = 'Остановка...'; +$_['text_stopped_user'] = '🛑 ПРОЦЕСС ПРЕРВАН ПОЛЬЗОВАТЕЛЕМ!'; +$_['text_increase'] = 'Увеличение'; +$_['text_done'] = '✅ ГОТОВО! Процесс завершен.'; +$_['error_timeout'] = 'Таймаут сервера. Автоповтор через 3 секунды...'; +$_['text_building_index'] = 'Шаг 1/2: Индексация БД и шаблонов (поиск используемых фото)...'; +$_['text_comparing'] = 'Шаг 2/2: Сравнение физических файлов с индексом...'; +$_['text_quarantine_done'] = '✅ Процесс переноса в image/catalog_trash/ завершен!'; +$_['text_deleted_done'] = '✅ Процесс удаления мусора завершен!'; +$_['text_quarantine_empty'] = '✅ Папка карантина успешно удалена с сервера!'; +$_['text_restore_done'] = '✅ Файлы успешно возвращены из карантина в рабочую папку!'; +$_['text_quarantine_move'] = 'В карантине: '; +$_['text_deleted_file'] = 'Удален: '; +$_['text_no_trash'] = 'В выбранных папках мусор не найден! Все файлы используются.'; +$_['text_scanning_dirs'] = 'Сканируем директории: '; +$_['text_log_used'] = '[ИСПОЛЬЗУЕТСЯ]'; +$_['text_log_trash'] = '[МУСОР]'; +$_['text_log_deleted'] = '[УДАЛЕНО]'; +$_['text_log_del_err'] = '[ОШИБКА УДАЛЕНИЯ]'; +$_['text_log_quarantine'] = '[В КАРАНТИН]'; +$_['text_log_q_err'] = '[ОШИБКА ПЕРЕНОСА]'; +$_['text_log_restored'] = '[ВОССТАНОВЛЕНО]'; +$_['text_log_rest_err'] = '[ОШИБКА ВОССТАНОВЛЕНИЯ]'; +$_['text_used_in'] = 'в: '; +$_['text_analyzing'] = 'Анализ базы данных...'; +$_['text_clean_empty'] = 'Чисто! Мусора нет.'; +$_['text_processing'] = 'Обработка...'; +$_['text_restoring'] = 'Восстановление файлов...'; +$_['text_all_folders'] = 'image/catalog/ (И все вложенные)'; +$_['text_root_folder'] = 'image/catalog/ (Только корень)'; +$_['text_q_empty_err'] = 'Папка карантина пуста или не существует.'; +$_['error_token'] = 'Неверный токен. Перезагрузите страницу.'; +$_['text_apply_title'] = 'Оптимизация завершена в папку: '; +$_['text_apply_info'] = 'Проверьте результат. Если всё устраивает — примените изменения к основному каталогу.'; +$_['entry_apply_backup'] = 'Перенести с созданием бэкапа (в Карантин)'; +$_['entry_apply_replace'] = 'Заменить оригиналы безвозвратно'; +$_['button_apply_main'] = 'ПРИМЕНИТЬ К ОСНОВНОМУ КАТАЛОГУ'; +$_['button_delete_copies'] = 'Удалить временные копии (отмена)'; +$_['button_full_cleanup'] = 'Полная очистка всех временных папок и бэкапов'; +$_['text_apply_success'] = '✅ Файлы успешно перенесены. '; +$_['text_apply_backup_ok'] = 'Оригиналы сохранены в папку: '; +$_['text_apply_no_backup'] = 'Оригиналы удалены.'; +$_['text_error_source'] = 'Ошибка: Папка с оптимизированными файлами не найдена.'; +$_['confirm_full_cleanup'] = 'ВНИМАНИЕ! Это действие безвозвратно удалит ВСЕ папки бэкапов (backup_*) и временные папки с копиями. Продолжить?'; +$_['text_tools_desc'] = 'Глобальные сканеры и инструменты для работы с файловой системой и БД изображений.'; +$_['text_tool_select'] = 'Выберите инструмент:'; +$_['text_group_scanners'] = 'Сканеры и Анализ'; +$_['text_group_generators'] = 'Генераторы и Обработка'; +$_['text_group_experimental'] = 'Экспериментальные функции (BETA)'; +$_['text_experimental_warn'] = 'Внимание: Экспериментальные функции затрагивают системные файлы или базу данных. Настоятельно рекомендуется сделать бэкап!'; +$_['text_tool_broken_db'] = 'Сканер битых/пустых фото БД'; +$_['text_tool_watermark'] = 'Динамический Вотермарк (Только на кэш)'; +$_['text_tool_duplicates'] = 'Поиск дубликатов файлов (по MD5)'; +$_['text_tool_png_jpg'] = 'Конвертер тяжелых PNG в JPG (сканер файлов без прозрачности)'; +$_['text_tool_placeholders'] = 'Генератор заглушек (Вместо No Image)'; +$_['text_tool_exif'] = 'Очистка EXIF-данных (Геотеги/Мета)'; +$_['text_tool_small_photos'] = 'Сканер слишком мелких фото'; +$_['text_tool_html_broken'] = 'Поиск битых картинок в HTML (Описаниях)'; +$_['text_tool_empty_folders'] = 'Очистка пустых папок (image/catalog)'; +$_['text_tool_smart_cache'] = 'Умная очистка кэша изображений'; +$_['text_tool_folder_tree'] = 'Дерево папок (Статистика веса)'; +$_['text_tool_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load (Без БД)'; +$_['text_tool_translit'] = 'Транслитерация названий файлов'; +$_['text_tool_cache_restore'] = 'Воскрешение оригиналов из Кэша'; +$_['entry_wm_type'] = 'Тип вотермарка'; +$_['text_wm_image'] = 'Изображение (PNG)'; +$_['text_wm_text'] = 'Текст'; +$_['entry_wm_image_path'] = 'Путь к изображению'; +$_['entry_wm_text_val'] = 'Текст вотермарка'; +$_['entry_wm_position'] = 'Позиция (1-9)'; +$_['entry_wm_opacity'] = 'Прозрачность (0-100)'; +$_['entry_wm_category'] = 'Только для Категорий'; +$_['entry_wm_brand'] = 'Только для Брендов'; +$_['entry_min_width'] = 'Минимальная ширина (px)'; +$_['entry_min_height'] = 'Минимальная высота (px)'; +$_['entry_ph_product'] = 'Заглушка для Товаров'; +$_['entry_ph_category'] = 'Заглушка для Категорий'; +$_['entry_ph_brand'] = 'Заглушка для Брендов'; +$_['button_run_tool'] = 'Запустить инструмент'; +$_['button_scan_tool'] = 'Сканировать'; +$_['button_fix_tool'] = 'Исправить найденное'; +$_['text_th_path'] = 'Файл / Путь'; +$_['text_th_size'] = 'Размер'; +$_['text_th_action'] = 'Действие'; +$_['text_th_status'] = 'Статус'; +$_['text_th_problem'] = 'Проблема / Значение'; +$_['text_cron_title'] = 'Настройка Cron'; +$_['text_cron_desc'] = 'Добавьте команду в Cron хостинга для автоматического фонового сжатия.'; +$_['entry_cron_new_only'] = 'Обрабатывать только новые (необработанные) файлы'; +$_['entry_cron_folders'] = 'Папки для сканирования (оставьте пустым для всего каталога)'; +$_['text_promo_title'] = 'Другие модули серии [NAT]'; +$_['text_promo_desc'] = 'Модули серии [NAT] — это инструменты для глубокой оптимизации OpenCart. Мы фокусируемся на автоматизации рутины, ускорении базы данных и очистке серверов от мусора. Все модули имеют открытый исходный код и единую логику управления.'; +$_['text_support'] = 'Техническая поддержка и пожелания:'; +$_['button_more'] = 'Смотреть все модули на OpenCart.com'; +$_['button_more_forum'] = 'Opencartforum'; +$_['text_mod_cat_opt'] = 'Catalog Optimizer [NAT]'; +$_['text_mod_cat_opt_desc'] = 'Скрытие пустых категорий и брендов + SEO сортировка товаров (в наличии сверху) + Очистка мусора БД.'; +$_['text_mod_new_arrivals'] = 'New Arrivals [NAT]: Новинки по датам'; +$_['text_mod_new_arrivals_desc'] = 'Автоматическая SEO-страница новинок. Отображает новинки строго по реальной дате добавления. Слайдеры, сетка и умный сайдбар архива дат.'; +$_['text_mod_img_opt'] = 'Image Optimizer [NAT]'; +$_['text_mod_img_opt_desc'] = 'Текущий модуль. Сжатие и ресайз ОРИГИНАЛОВ фото (image/catalog) в WebP + Очистка хостинга от неиспользуемых изображений.'; +$_['text_mod_dom_scan'] = 'Domain Scanner [NAT]'; +$_['text_mod_dom_scan_desc'] = 'Поиск и чистка внешних ссылок и HTTP-картинок в БД и шаблонах (для переезда на HTTPS).'; +$_['text_mod_poll'] = 'Poll Widget [NAT]'; +$_['text_mod_poll_desc'] = 'Создание опросов и голосований с визуальным конструктором дизайна, глубокой статистикой и защитой от накруток.'; +$_['text_mod_db_opt'] = 'Database Optimizer [NAT]'; +$_['text_mod_db_opt_desc'] = 'Интеллектуальная очистка мусора в базе данных, управление системными логами и добавление критически важных индексов для ускорения.'; +$_['text_mod_im_ex'] = 'Import/Export [NAT]'; +$_['text_mod_im_ex_desc'] = 'Быстрый импорт/экспорт цен и остатков из файлов xls/xlsx/csv/xml/json или по ссылке. Маппинг полей, работа по Cron, текстовые функции.'; +$_['text_mod_admin_tools'] = 'Admin Tools [NAT]'; +$_['text_mod_admin_tools_desc'] = 'Удобные инструменты администратора: вход под клиентом, кастомизация админки, управление правами пользователей и скрытие ненужных пунктов меню.'; +$_['text_mod_utm_tracker'] = 'Order UTM Tracker [NAT]'; +$_['text_mod_utm_tracker_desc'] = 'Автоматическое отслеживание UTM-меток при оформлении заказа. Сохраняет источник перехода, кампанию, ключевые слова и выводит эти данные в заказе для аналитики рекламы.'; +$_['text_info_title_promo_top_bar'] = 'Promo Top Bar [NAT]: Верхний рекламный инфо-баннер, информационная полоса над шапкой, бегущая строка и топ-баннер'; +$_['text_info_desc_promo_top_bar'] = 'Создание интерактивных промо-панелей и слайд-шоу в шапке сайта с конструктором блоков, таймерами, формой подписки и гибким таргетингом.'; +$_['text_tool_no_image'] = 'Товары без главного фото (пусто в БД)'; +$_['text_problem_main_broken'] = 'Битое главное фото (файл удален)'; +$_['text_problem_add_broken'] = 'Битое доп. фото (файл удален)'; +$_['text_problem_no_image'] = 'Отсутствует главное фото'; +$_['text_err_dir'] = 'Ошибка: Директория не найдена или неверный путь.'; +$_['text_err_no_queue'] = 'Ошибка: Очередь не найдена. Сначала запустите сканирование.'; +$_['text_log_del_empty_folder'] = 'Удалена пустая папка: '; +$_['text_log_no_empty_folders'] = 'Пустых папок в image/catalog/ не найдено.'; +$_['text_log_total_empty_folders'] = 'Всего удалено пустых папок: '; +$_['text_log_cache_cleared'] = 'Кэш изображений успешно очищен.'; +$_['text_log_wm_smart_mode'] = 'Вотермарки работают в SMART-режиме: оригиналы не трогаются, логотип накладывается только при генерации кэша.'; +$_['text_log_scan_dupes'] = 'Сканирование image/catalog/ на дубликаты (по хешу MD5)... Это может занять время.'; +$_['text_log_found_dupe'] = 'Найден дубликат: '; +$_['text_log_no_dupes'] = 'Дубликаты не найдены.'; +$_['text_log_total_dupes'] = 'Найдено дубликатов: %s. Потенциальная экономия: %s'; +$_['text_log_fix_dupes_prompt'] = 'Нажмите "Исправить найденное" для перелинковки БД на оригинал и удаления дублей.'; +$_['text_log_fixed_dupe'] = 'Исправлен и удален дубликат: '; +$_['text_log_success_dupes'] = 'Успешно исправлено дубликатов: %s. Ссылки в БД обновлены.'; +$_['text_log_scan_png'] = 'Поиск тяжелых PNG файлов без прозрачности...'; +$_['text_log_no_png'] = 'Подходящих PNG файлов не найдено.'; +$_['text_log_total_png'] = 'Найдено PNG без прозрачности: %s. Нажмите "Исправить" для конвертации в JPG.'; +$_['text_log_converted_jpg'] = 'Сконвертировано в JPG: '; +$_['text_log_success_png'] = 'Успешно сконвертировано %s файлов. Освобождено: %s'; +$_['text_log_ph_prod'] = 'Обновлено товаров заглушкой: '; +$_['text_log_ph_cat'] = 'Обновлено категорий заглушкой: '; +$_['text_log_ph_brand'] = 'Обновлено брендов заглушкой: '; +$_['text_log_ph_empty'] = 'Заглушки не выбраны в настройках.'; +$_['text_log_scan_exif'] = 'Сканирование EXIF-данных (мета-теги камер)...'; +$_['text_log_stripped_exif'] = 'Очищен EXIF: '; +$_['text_log_no_exif'] = 'Файлов с EXIF для очистки не найдено.'; +$_['text_log_success_exif'] = 'Очищен EXIF у %s файлов. Освобождено: %s'; +$_['text_log_scan_small'] = 'Поиск фото размером менее %sx%s px...'; +$_['text_log_too_small'] = 'Слишком маленькое (%sx%s): '; +$_['text_log_no_small'] = 'Мелких фото не найдено.'; +$_['text_log_total_small'] = 'Найдено мелких фото: %s. Пожалуйста, замените их на качественные.'; +$_['text_log_html_broken'] = 'Битый IMG в HTML таблицы %s (ID: %s): '; +$_['text_log_no_html_broken'] = 'Битых картинок в HTML-описаниях не найдено.'; +$_['text_log_total_html_broken'] = 'Найдено битых ссылок в HTML: %s. Исправьте их вручную в редакторе.'; +$_['text_log_scan_smart_cache'] = 'Поиск потерянных файлов в image/cache/...'; +$_['text_log_del_orph_cache'] = 'Удален потерянный кэш: '; +$_['text_log_no_orph_cache'] = 'Потерянного кэша не найдено.'; +$_['text_log_success_smart_cache'] = 'Удалено файлов потерянного кэша: %s. Освобождено: %s'; +$_['text_log_scan_translit'] = 'Поиск файлов с кириллицей или пробелами...'; +$_['text_log_no_bad_names'] = 'Файлов с некорректными именами не найдено.'; +$_['text_log_total_bad_names'] = 'Найдено файлов с кириллицей/пробелами: %s. Нажмите "Исправить" для транслитерации и обновления БД.'; +$_['text_log_renamed'] = 'Переименовано: '; +$_['text_log_success_translit'] = 'Успешно транслитерировано файлов: %s. БД обновлена.'; +$_['text_log_scan_restore'] = 'Сканирование image/cache/ для восстановления утерянных оригиналов...'; +$_['text_log_restored_cache'] = 'Восстановлено из кэша: '; +$_['text_log_no_lost_orig'] = 'Отсутствующих оригиналов в кэше не найдено.'; +$_['text_log_success_restore'] = 'Успешно восстановлено оригиналов из кэша: %s.'; +$_['error_invalid_folder'] = 'Ошибка: Недопустимое имя папки!'; +$_['text_formats_title'] = 'Современные форматы (WebP & SVG)'; +$_['text_formats_desc'] = 'Настройки интеграции современных форматов в файловую систему и шаблоны OpenCart.'; +$_['entry_support_svg'] = 'Поддержка загрузки SVG'; +$_['help_support_svg'] = 'Разрешает загрузку векторных SVG-изображений через стандартный Filemanager и их безопасный вывод на витрине без искажений размеров.'; +$_['entry_support_webp'] = 'Поддержка загрузки WebP'; +$_['help_support_webp'] = 'Позволяет вручную загружать, подвязывать и выводить на сайте готовые файлы .webp через Filemanager.'; +$_['entry_truefilemanager_webp'] = 'WebP в TrueFileManager'; +$_['help_truefilemanager_webp'] = 'Добавляет поддержку загрузки, предпросмотра и эскизов WebP в TrueFileManager от sitecreator (если он установлен).'; +$_['entry_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load'; +$_['help_webp_on_fly'] = 'Сверхбыстрая подмена: автоматически меняет расширения .jpg/.png на .webp прямо в HTML-выводе витрины и добавляет атрибут loading="lazy". Не трогает базу данных!'; +$_['help_tool_broken_db'] = 'Ищет в базе данных картинки, физические файлы которых были удалены с сервера. Позволяет очистить битые ссылки.'; +$_['help_tool_empty_folders'] = 'Рекурсивно сканирует директорию image/catalog/ и безопасно удаляет все папки, в которых нет ни одного файла.'; +$_['help_tool_folder_tree'] = 'Строит дерево каталогов и показывает реальный вес каждой папки для поиска "пожирателей" места.'; +$_['help_tool_html_broken'] = 'Сканирует HTML-описания товаров и категорий на наличие тегов с несуществующими картинками.'; +$_['help_tool_small_photos'] = 'Находит картинки с разрешением ниже заданного (например, меньше 300x300 px). Добавлены ссылки на поиск качественных аналогов в Google Images и Яндекс Картинках.'; +$_['help_tool_duplicates'] = 'Ищет полные дубликаты файлов по MD5 хешу (разные имена, но одинаковая картинка). Позволяет склеить их в один файл и обновить БД.'; +$_['help_tool_watermark'] = 'Наложение водяных знаков в SMART-режиме (только на кэш витрины, оригиналы не изменяются).'; +$_['help_tool_placeholders'] = 'Массово устанавливает выбранную картинку-заглушку для товаров и категорий, у которых вообще нет фото.'; +$_['help_tool_png_jpg'] = 'Инструмент сканирует папку изображений и находит тяжелые PNG-файлы, которые не имеют прозрачного фона (альфа-канала). Поскольку прозрачность им не нужна, их можно безопасно конвертировать в формат JPG. Это значительно облегчает файлы (в среднем на 70-80%) и ускоряет загрузку сайта, а все ссылки в базе данных автоматически обновляются.'; +$_['help_tool_exif'] = 'Сканирует JPEG-файлы и удаляет из них скрытые EXIF-данные (геотеги, данные о камере), уменьшая вес на 10-15%.'; +$_['help_tool_smart_cache'] = 'Ищет в папке image/cache/ кэшированные файлы, оригиналы которых уже удалены из image/catalog/, и стирает этот мусор.'; +$_['help_tool_translit'] = 'Находит файлы с кириллицей или пробелами в названиях, переименовывает их транслитом (tovar_1.jpg) и обновляет пути в БД.'; +$_['help_tool_cache_restore'] = 'Если вы случайно удалили оригинал из catalog, инструмент попытается найти его копию в cache и восстановить обратно.'; +$_['entry_quarantine'] = 'Переместить оригиналы в Карантин (вместо удаления)'; +$_['entry_backup_db'] = 'Создать бэкап изменяемых таблиц в SQL перед запуском'; +$_['button_fix_selected'] = 'ИСПРАВИТЬ ВЫБРАННЫЕ'; +$_['button_export_log'] = 'Экспортировать в CSV'; +$_['text_th_before'] = 'Состояние ДО'; +$_['text_th_after'] = 'Ожидаемый результат ПОСЛЕ'; +$_['text_th_select'] = 'Действие'; +$_['text_th_preview'] = 'Предпросмотр'; +$_['text_th_name'] = 'Объект / Файл'; +$_['text_global_action'] = 'Групповое действие для выбранных:'; +$_['text_action_clear'] = 'Очистить ссылку в БД'; +$_['text_action_disable'] = 'Отключить (Статус = 0)'; +$_['text_action_stock'] = 'Установить "Нет в наличии"'; +$_['text_action_placeholder'] = 'Установить заглушку'; +$_['text_action_ignore'] = 'Ничего не делать'; +$_['text_action_merge'] = 'Склеить (удалить дубликат, оставить оригинал)'; +$_['text_action_convert'] = 'Конвертировать в JPG'; +$_['text_action_rename'] = 'Переименовать транслитом'; +$_['text_action_delete'] = 'Удалить'; +$_['text_action_restore'] = 'Восстановить'; +$_['text_db_backup_created'] = 'Создан бэкап БД: %s'; +$_['text_quarantine_created'] = 'Перенесено в карантин: %s'; +$_['text_fix_status_success'] = 'Успешно выполнено'; +$_['text_fix_status_error'] = 'Ошибка: %s'; +$_['text_log_exported'] = 'Лог успешно экспортирован!'; +$_['text_select_action'] = '-- Выберите действие --'; +$_['error_empty_selection'] = 'Ошибка: Не выбрано ни одной строки для исправления!'; +$_['text_link_admin'] = 'Админка'; +$_['text_link_catalog'] = 'Витрина'; +$_['entry_threads'] = 'Потоков обработки'; +$_['text_threads_optimal'] = 'оптимально'; +$_['button_download_zip'] = 'Скачать ZIP-архив и удалить папку'; +$_['confirm_download_and_delete'] = 'Архив успешно скачался? Можно удалить временную папку копий на сервере?'; +$_['button_clear_backups'] = 'Удалить бэкапы БД'; +$_['button_clear_backups_short'] = 'Очистить бэкапы'; +$_['confirm_clear_backups'] = 'Вы уверены, что хотите полностью удалить все SQL-бэкапы таблиц?'; +$_['text_compare_title'] = 'Сравнение изображений ДО / ПОСЛЕ'; +$_['text_compare_before'] = 'ДО'; +$_['text_compare_after'] = 'ПОСЛЕ'; +$_['text_backups_cleared'] = 'Все SQL-бэкапы таблиц успешно удалены!'; +$_['error_no_backups'] = 'Бэкапы не найдены или папка пуста.'; +$_['button_restore'] = 'Вернуть'; +$_['button_empty'] = 'Очистить'; +$_['entry_wm_targets'] = 'Применять водяной знак к:'; +$_['text_wm_target_product'] = 'Фото товаров'; +$_['text_wm_target_category'] = 'Фото категорий'; +$_['text_wm_target_brand'] = 'Логотипы брендов'; +$_['text_wm_target_banner'] = 'Баннеры и слайды'; +$_['text_wm_target_blog'] = 'Статьи / Блог'; +$_['error_no_scan_data'] = 'Ошибка: Данные сканирования не найдены. Сначала запустите сканирование!'; +$_['error_row_not_found'] = 'Ошибка: Объект не найден в результатах сканирования!'; +$_['error_file_not_found'] = 'Ошибка: Файл не найден на сервере!'; +$_['text_folder_rules_title'] = 'Индивидуальные правила сжатия для папок'; +$_['text_folder_rules_desc'] = 'Вы можете переопределить качество и максимальные размеры для конкретных папок. Если оставить поле пустым, будет использоваться глобальная настройка. Путь указывается относительно папки image (например, catalog/banners/).'; +$_['entry_folder_path'] = 'Путь к папке'; +$_['entry_jpg_quality'] = 'Качество JPG'; +$_['entry_webp_quality'] = 'Качество WebP'; +$_['button_add_rule'] = 'Добавить правило'; +$_['button_remove'] = 'Удалить'; +$_['entry_wm_angle'] = 'Угол наклона водяного знака (градусы)'; +$_['entry_wm_corner_radius'] = 'Скругление углов водяного знака (px)'; +$_['entry_wm_size_type'] = 'Масштабирование водяного знака'; +$_['entry_wm_size_percent'] = 'Размер водяного знака (% от ширины изображения)'; +$_['entry_wm_text_color'] = 'Цвет текста водяного знака'; +$_['entry_wm_text_font'] = 'Шрифт водяного знака (TTF)'; +$_['entry_wm_filter_mode'] = 'Режим фильтрации Категорий/Брендов'; +$_['text_wm_filter_include'] = 'Только для выбранных'; +$_['text_wm_filter_exclude'] = 'Для всех, кроме выбранных'; +$_['text_wm_size_original'] = 'Оригинальный размер'; +$_['text_wm_size_percent'] = 'Пропорционально ширине изображения (%)'; +$_['button_preview_watermark'] = 'Предпросмотр водяного знака'; +$_['text_wm_preview_title'] = 'Предпросмотр водяного знака'; +$_['text_cron_exclude_folders'] = 'Исключить папки из сканирования'; +$_['text_cron_entities'] = 'Какие типы фото обрабатывать?'; +$_['text_cron_quality_override'] = 'Переопределить параметры сжатия для Крона'; +$_['text_cron_recommendations'] = 'Рекомендации по расписанию запуска Cron'; +$_['text_cron_recommendations_desc'] = ''; +$_['text_tool_broken_files'] = 'Сканер битых/пустых файлов на сервере'; +$_['help_tool_broken_files'] = 'Сканирует физические файлы в папке image/catalog/ на наличие поврежденных изображений или пустых файлов размером 0 байт.'; +$_['text_grid_broken_file'] = 'Битый или пустой файл на сервере'; +$_['text_grid_broken_file_after'] = 'Удаление или замена заглушкой'; +$_['text_description_broken_files'] = 'Результаты сканирования физических файлов в папке image/catalog/. Здесь отображаются битые (поврежденные) изображения или файлы размером 0 байт.'; +$_['text_action_strip'] = 'Очистить EXIF'; +$_['text_action_set_placeholder'] = 'Установить заглушку'; +$_['text_th_entity'] = 'Объект / Связанные ссылки'; +$_['text_cron_entity_product'] = 'Товары'; +$_['text_cron_entity_category'] = 'Категории'; +$_['text_cron_entity_manufacturer'] = 'Производители / Бренды'; +$_['text_cron_entity_banner'] = 'Баннеры'; +$_['text_cron_entity_blog'] = 'Блог / Статьи'; +$_['entry_cron_jpg_quality'] = 'Качество JPG (Крон)'; +$_['entry_cron_webp_quality'] = 'Качество WebP (Крон)'; +$_['entry_cron_max_width'] = 'Макс. ширина px (Крон)'; +$_['entry_cron_max_height'] = 'Макс. высота px (Крон)'; +$_['text_cron_folder_scan'] = 'Папки для сканирования'; +$_['text_no_fonts'] = 'TTF-шрифты не найдены в system/library/font/'; +$_['button_apply'] = 'Применить'; +$_['text_backup_will_be_created'] = 'Резервная копия базы данных будет автоматически создана перед выполнением этого действия.'; +$_['text_bulk_action'] = 'Групповое действие для выбранных'; +$_['text_grid_results'] = 'Результаты и детали сканирования'; +$_['text_quarantine_will_be_created'] = 'Оригинальные файлы будут перемещены в карантин (image/catalog_trash/) перед изменением.'; +$_['text_success_apply'] = 'Изменения успешно применены!'; +$_['text_description_broken'] = 'Результаты сканирования базы данных на наличие битых ссылок (записи в таблицах с несуществующими файлами).'; +$_['text_description_cache_restore'] = 'Результаты поиска файлов в кэше, оригиналы которых отсутствуют в каталоге.'; +$_['text_description_duplicates'] = 'Результаты поиска полных дубликатов изображений по MD5-хешу.'; +$_['text_description_empty_folders'] = 'Список пустых папок в директории image/catalog/ для удаления.'; +$_['text_description_exif'] = 'Результаты поиска изображений с метаданными EXIF, которые можно очистить.'; +$_['text_description_folder_tree'] = 'Статистика размера папок в каталоге image/catalog/.'; +$_['text_description_html_broken'] = 'Результаты поиска несуществующих файлов картинок, на которые ссылаются описания в HTML.'; +$_['text_description_placeholders'] = 'Результаты поиска сущностей без изображений для заполнения заглушками.'; +$_['text_description_png_jpg'] = 'Результаты поиска тяжелых изображений PNG без прозрачности, которые можно пережать в JPG.'; +$_['text_description_small_photos'] = 'Список изображений, размеры которых меньше минимально заданных (%sx%s px).'; +$_['text_description_smart_cache'] = 'Результаты поиска файлов кэша, оригиналы которых уже были удалены.'; +$_['text_description_translit'] = 'Результаты поиска файлов с кириллицей или пробелами в названиях.'; +$_['text_grid_broken_db_after'] = 'Очистить ссылку или установить заглушку'; +$_['text_grid_dupe_after'] = 'Оригинал (остаётся)'; +$_['text_grid_dupe_before'] = 'Дубликат (будет удалён)'; +$_['text_grid_empty_folder'] = 'Пустая папка'; +$_['text_grid_empty_folder_after'] = 'Удалить пустую папку'; +$_['text_grid_exif_after'] = 'Очистить метаданные'; +$_['text_grid_exif_before'] = 'Содержит EXIF'; +$_['text_grid_html_after'] = 'Исправить ссылку вручную'; +$_['text_grid_missing_file'] = 'Файл отсутствует'; +$_['text_grid_missing_html'] = 'Картинка не найдена в описании'; +$_['text_grid_missing_orig'] = 'Оригинал отсутствует'; +$_['text_grid_missing_orig_after'] = 'Восстановить оригинал из кэша'; +$_['text_grid_no_image'] = 'Нет изображения (пусто)'; +$_['text_grid_orph_cache'] = 'Осиротевший кэш'; +$_['text_grid_orph_cache_after'] = 'Удалить ненужный кэш'; +$_['text_grid_ph_brand_after'] = 'Установить заглушку бренда'; +$_['text_grid_ph_category_after'] = 'Установить заглушку категории'; +$_['text_grid_ph_product_after'] = 'Установить заглушку товара'; +$_['text_grid_small_photo_after'] = 'Рекомендуется заменить на более крупное'; +$_['text_grid_too_small'] = 'Слишком маленькое'; +$_['text_no_relations'] = 'Нет связей в БД'; +$_['text_action_archive'] = 'Архивировать (в ZIP)'; +$_['text_action_archive_delete'] = 'Архивировать + Удалить'; +$_['text_tool_sanitizer'] = 'Санитайзер имен файлов'; +$_['help_tool_sanitizer'] = 'Массовая очистка имен файлов и папок от кириллицы, пробелов и спецсимволов, приведение расширений к единому виду.'; +$_['text_description_sanitizer'] = 'Результаты анализа имен файлов для санитаризации по выбранным правилам.'; +$_['entry_sz_translit'] = 'Транслитерация (кириллица в латиницу)'; +$_['entry_sz_spaces'] = 'Заменять пробелы на символ "_"'; +$_['entry_sz_special'] = 'Удалять специальные символы'; +$_['entry_sz_lowercase_name'] = 'Имя файла в нижний регистр'; +$_['entry_sz_lowercase_ext'] = 'Расширение в нижний регистр'; +$_['entry_sz_normalize_ext'] = 'Нормализовать расширения (jpeg -> jpg)'; +$_['entry_cron_folder_mode'] = 'Режим фильтрации папок'; +$_['text_cron_folder_mode_exclude'] = 'Сканировать все, кроме выбранных (Исключения)'; +$_['text_cron_folder_mode_include'] = 'Сканировать только выбранные папки'; +$_['button_select_all'] = 'Выбрать все'; +$_['button_deselect_all'] = 'Снять все'; +$_['entry_wm_upload_font'] = 'Загрузить свой шрифт TTF'; +$_['button_upload_font'] = 'Загрузить шрифт'; +$_['text_success_font_upload'] = 'Шрифт успешно загружен!'; +$_['error_font_upload'] = 'Ошибка загрузки шрифта! Разрешены только файлы .ttf весом до 5 МБ.'; +$_['entry_lazy_load'] = 'Прогрессивная ленивая загрузка'; +$_['help_lazy_load'] = 'Включает премиальную прогрессивную отложенную загрузку на витрине. Изображения заменяются микро-превью и плавно размываются (blur-up), подгружаясь по мере прокрутки.'; +$_['confirm_replace_mode'] = 'ВНИМАНИЕ! Вы выбрали режим «Заменять оригиналы». Все изображения будут перезаписаны прямо на сервере. Настоятельно рекомендуем сделать резервную копию. Вы уверены, что хотите продолжить?'; +$_['text_compare'] = 'Сравнить'; +$_['text_home'] = 'Главная'; +$_['text_tech_gd'] = 'Библиотека GD'; +$_['text_tech_imagick'] = 'Imagick'; +$_['text_tech_webp'] = 'Поддержка WebP'; +$_['text_position_1'] = '1 - Слева вверху'; +$_['text_position_2'] = '2 - По центру вверху'; +$_['text_position_3'] = '3 - Справа вверху'; +$_['text_position_4'] = '4 - Слева посередине'; +$_['text_position_5'] = '5 - По центру'; +$_['text_position_6'] = '6 - Справа посередине'; +$_['text_position_7'] = '7 - Слева внизу'; +$_['text_position_8'] = '8 - По центру внизу'; +$_['text_position_9'] = '9 - Справа внизу'; + +$_['entry_log_level'] = 'Уровень лога'; +$_['text_log_changed_only'] = 'Только изменённые'; +$_['text_log_all'] = 'Все файлы (подробно)'; +$_['text_skipped_no_gain'] = 'Пропущен (нет улучшения)'; +$_['text_reset_cache_hint'] = 'Сбросить кэш оптимизации (полный пересканирование)'; +$_['confirm_reset_cache'] = 'Сбросить кэш оптимизации? Следующее сканирование проверит ВСЕ файлы заново.'; +$_['text_cache_cleared'] = 'Кэш оптимизации очищен. Следующее сканирование проверит все файлы.'; +$_['error_wm_preview'] = 'Ошибка генерации превью водяного знака.'; +$_['error_wm_too_large'] = 'Изображение водяного знака слишком большое (%dx%d px)! Максимально допустимый размер: %dx%d px.'; +$_['text_apply_errors_warning'] = 'ВНИМАНИЕ: Некоторые файлы не удалось заменить (заблокированы или нет прав):'; +$_['text_action_compress'] = 'Сжать изображения'; +$_['text_estimated'] = 'Прогноз'; +$_['entry_min_savings_bytes'] = 'Мин. сжатие (байт)'; +$_['entry_min_savings_percent'] = 'Мин. сжатие (%)'; +$_['text_optimized'] = 'Оптимизировано'; +$_['entry_broken_fallback'] = 'Заглушка для битых фото'; +$_['help_broken_fallback'] = 'Автоматически заменяет отсутствующие или поврежденные изображения каталога на витрине на изображение-заглушку.'; +$_['entry_fallback_image'] = 'Изображение-заглушка'; +$_['help_fallback_image'] = 'Выберите изображение, которое будет показано, если оригинальный файл картинки товара или категории отсутствует. По умолчанию используется no_image.png.'; +$_['text_tool_cmyk'] = 'Конвертер CMYK в RGB'; +$_['help_tool_cmyk'] = 'Конвертация JPEG изображений из цветового профиля CMYK в sRGB для корректного отображения в браузерах Safari и на устройствах iOS.'; +$_['text_tool_heavy_files'] = 'Поиск тяжелых файлов'; +$_['help_tool_heavy_files'] = 'Поиск самых тяжелых оригинальных изображений в каталоге с возможностью их быстрого сжатия прямо здесь.'; +$_['entry_heavy_files_limit'] = 'Макс. количество найденных файлов (всего)'; +$_['text_action_convert_rgb'] = 'Конвертировать в RGB'; +$_['text_description_cmyk'] = 'Найдены файлы в цветовом пространстве CMYK. Конвертация в sRGB гарантирует корректное отображение на всех платформах, включая iOS/macOS.'; +$_['text_description_heavy'] = 'Список из %d самых тяжелых файлов в каталоге изображений. Вы можете оптимизировать их прямо здесь.'; +$_['text_cron_folder_hint_exclude_all'] = 'Статус: Будут сканироваться все папки (исключения не выбраны).'; +$_['text_cron_folder_hint_exclude_some'] = 'Статус: Будут сканироваться все папки, КРОМЕ %d отмеченных.'; +$_['text_cron_folder_hint_include_some'] = 'Статус: Будут сканироваться только %d отмеченных папок.'; +$_['text_cron_folder_hint_include_none'] = 'ВНИМАНИЕ: Ни одна папка не выбрана! Крон ничего не будет сканировать.'; +$_['text_action_apply_changes'] = 'Применить указанные изменения'; +$_['entry_wm_status'] = 'Статус водяного знака'; +$_['text_disabled'] = 'Отключено'; +$_['entry_rule_name'] = 'Название правила'; +$_['entry_rule_status'] = 'Статус правила'; +$_['entry_action'] = 'Действие'; +$_['entry_ph_status'] = 'Статус заглушек'; +$_['entry_sanitizer_limit'] = 'Макс. файлов для поиска (лимит)'; +$_['entry_heavy_files_min_size'] = 'Минимальный размер'; +$_['entry_png_jpg_limit'] = 'Макс. файлов для поиска (лимит)'; +$_['entry_png_jpg_min_size'] = 'Минимальный размер'; +$_['text_wm_rule_title'] = 'Правило водяного знака'; +$_['button_close'] = 'Закрыть'; +$_['text_ph_rule_title'] = 'Правило заглушки'; +$_['entry_ph_image'] = 'Изображение заглушки'; +$_['button_clear_cache_wm'] = 'Очистить кэш (применить водяной знак)'; +$_['text_active'] = 'Активна'; +$_['text_error'] = 'Не активна'; +$_['text_th_dupe_delete'] = 'Файл для удаления (Дубликат)'; +$_['text_th_dupe_keep'] = 'Файл для сохранения (Оригинал)'; +$_['text_dupe_original_label'] = 'Оригинал'; +$_['text_dupe_duplicate_label'] = 'Дубликат'; + +$_['text_disk_usage'] = 'Использование диска'; +$_['text_cumulative_stats'] = 'Статистика оптимизации'; +$_['text_disk_catalog'] = 'Каталог изображений'; +$_['text_disk_cache'] = 'Кэш OC'; +$_['text_disk_trash'] = 'Корзина модуля'; +$_['text_disk_other'] = 'Прочее'; +$_['text_disk_free'] = 'Свободно'; +$_['text_total_files_opt'] = 'Файлов обработано'; +$_['text_total_saved'] = 'Всего сэкономлено'; +$_['text_avg_saving_pct'] = 'Средняя экономия'; +$_['text_stats_hint'] = 'Статистика накапливается по всем сессиям (хранится локально в браузере)'; +$_['text_reset_stats'] = 'Сбросить статистику'; +$_['text_reset_stats_confirm']= 'Сбросить накопленную статистику оптимизации?'; +$_['text_export_import'] = 'Экспорт / Импорт настроек'; +$_['button_export_settings'] = 'Экспорт настроек (JSON)'; +$_['button_import_settings'] = 'Импортировать настройки'; +$_['help_export_settings'] = 'Скачать все настройки модуля в JSON-файл'; +$_['help_import_settings'] = 'Загрузить ранее экспортированный JSON для восстановления настроек'; +$_['text_import_success'] = 'Настройки успешно импортированы. Перезагрузите страницу для применения.'; +$_['error_import_file'] = 'Файл не загружен или ошибка загрузки'; +$_['error_import_invalid'] = 'Некорректный файл настроек (неверный модуль или формат)'; +$_['text_click_to_load'] = 'Нажмите ↑ для загрузки данных диска'; +$_['tab_formats'] = 'Форматы изображений'; + +$_['text_disk_quota_legend'] = 'Лимиты диска хостинга (вручную)'; +$_['text_disk_quota_desc'] = 'Если график дискового пространства показывает неверные данные (физический диск сервера вместо лимита вашего хостинга), вы можете указать лимиты вашего тарифа вручную. Укажите 0, чтобы использовать автоопределение.'; +$_['entry_disk_quota_total'] = 'Выделено диска на хостинге (ГБ)'; +$_['entry_disk_quota_used'] = 'Занято диска на хостинге всего (ГБ)'; +$_['entry_auto_disk'] = 'Автообновление при входе'; + +// Cron Tasks +$_['entry_cron_task_name'] = 'Название задачи'; +$_['entry_cron_task_summary'] = 'Параметры сжатия'; +$_['button_add_cron_task'] = 'Добавить задачу'; +$_['button_copy_cron_url'] = 'Копировать URL'; +$_['text_cron_recommended_url'] = 'URL для запуска задачи крона:'; + +// Licensing +$_['text_license_required'] = 'Требуется лицензионный ключ'; +$_['text_license_required_desc'] = 'Пожалуйста, введите лицензионный ключ для активации модуля. Все функции настроек и оптимизации заблокированы до ввода валидного ключа.'; +$_['entry_token_desc'] = 'Введите токен активации, выданный для вашего основного домена. Вы можете получить его в личном кабинете на форуме или обратившись в поддержку.'; +$_['button_activate'] = 'Активировать модуль'; +$_['text_support'] = 'Техническая поддержка'; +$_['text_support_desc'] = 'Если у вас ещё нет ключа или возникли проблемы, пожалуйста, сообщите номер вашего заказа и домен.'; + +// New settings +$_['entry_wm_max_width'] = 'Макс. ширина водяного знака (px)'; +$_['entry_wm_max_height'] = 'Макс. высота водяного знака (px)'; +$_['help_wm_max_width'] = 'Если исходное изображение водяного знака превышает эту ширину, оно будет автоматически масштабировано. Укажите 0 или оставьте пустым для значения по умолчанию (800px).'; +$_['help_wm_max_height'] = 'Если исходное изображение водяного знака превышает эту высоту, оно будет автоматически масштабировано. Укажите 0 или оставьте пустым для значения по умолчанию (800px).'; +$_['entry_disk_status'] = 'Включить сканирование диска и график'; +$_['help_disk_status'] = 'Если включено, модуль будет периодически сканировать объем папки картинок и отображать круговую диаграмму. Рекомендуется выключить на больших сайтах для ускорения загрузки панели.'; +$_['text_disk_settings_title'] = 'Настройка лимитов и сканирования диска'; + diff --git a/upload/admin/language/ua/module/img_opti.php b/upload/admin/language/ua/module/img_opti.php new file mode 100644 index 0000000..a563c9d --- /dev/null +++ b/upload/admin/language/ua/module/img_opti.php @@ -0,0 +1,567 @@ +Image Optimizer [NAT]: Стиснення оригіналів та видалення сміття'; +$_['text_extension'] = 'Розширення'; +$_['text_edit'] = 'Налаштування модуля'; +$_['text_success'] = 'Налаштування успішно збережено!'; +$_['entry_warning'] = 'УВАГА: Обов`язково зробіть бекап файлів сайту і особливо папки /image/catalog перед початком роботи!'; +$_['text_tech'] = 'Перевірка технологій сервера:'; +$_['text_author'] = 'Технічна підтримка та побажання: info@nat.od.ua'; +$_['tab_optimize'] = 'Оптимізація та Ресайз'; +$_['tab_cleaner'] = 'Очищення невикористовуваних зображень'; +$_['tab_info'] = 'Інфо / Екосистема [NAT]'; +$_['tab_settings'] = 'Налаштування'; +$_['tab_tools'] = 'Інструменти (pro)'; +$_['tab_cron'] = 'Крон-завдання'; +$_['entry_mode'] = 'Режим роботи'; +$_['text_copy'] = 'Створити копію (безпечно)'; +$_['text_replace'] = 'Замінювати оригінали (потребує бекап!)'; +$_['entry_folder'] = 'Ім`я папки для копії'; +$_['entry_batch'] = 'Файлів за прохід'; +$_['entry_log_limit'] = 'Рядків логу на екрані'; +$_['entry_max_width'] = 'Макс. ширина (px) [0 - без ліміту]'; +$_['entry_max_height'] = 'Макс. висота (px) [0 - без ліміту]'; +$_['entry_jpg'] = 'Якість JPG (0-100)'; +$_['entry_png'] = 'Стиснення PNG (0-9)'; +$_['entry_webp'] = 'Якість WebP (0-100)'; +$_['entry_targets'] = 'Що оптимізувати?'; +$_['text_all_catalog'] = '[ Весь каталог image/catalog ]'; +$_['text_root_files'] = 'Файли тільки в корені image/catalog'; +$_['entry_threshold'] = 'Поріг заміни (%)'; +$_['help_threshold'] = '0: замінювати тільки якщо вага стала меншою. 10: дозволити збільшення ваги до 10%.'; +$_['entry_token'] = 'Токен активації (на корінь домену)'; +$_['entry_status'] = 'Статус модуля'; +$_['entry_menu_position'] = 'Позиція меню [NAT]'; +$_['text_menu_module_only'] = 'Тільки в модулях'; +$_['text_menu_header'] = 'У шапці (Header)'; +$_['text_menu_sidebar'] = 'У бічному меню (Sidebar)'; +$_['text_menu_both'] = 'Скрізь (Шапка + Сайдбар)'; +$_['text_status_on'] = 'Увімкнено'; +$_['text_status_off'] = 'Вимкнено'; +$_['entry_engine'] = 'Рушій обробки зображень'; +$_['text_engine_gd'] = 'GD (Стандарт)'; +$_['text_engine_imagick'] = 'Imagick (Висока якість, збереження профілів sRGB)'; +$_['entry_license'] = 'Ліцензія'; +$_['text_cleaner_info'] = 'Цей інструмент шукає файли, які фізично існують на диску, але ніде не використовуються в базі даних або файлах шаблону.'; +$_['entry_clean_targets'] = 'В яких папках шукати сміття?'; +$_['entry_extended_log'] = 'Розширений лог (показати використовувані photo і де вони знайдені)'; +$_['entry_process_broken'] = 'Враховувати файли з битим кодуванням (імена з символом "?")'; +$_['button_scan_trash'] = 'ЗНАЙТИ СМІТТЯ'; +$_['button_quarantine'] = 'В Карантин (Безпечно)'; +$_['button_delete_trash'] = 'Видалити назавжди'; +$_['button_empty_quarantine'] = 'Очистити папку Карантину'; +$_['button_restore_quarantine'] = 'Повернути з Карантину'; +$_['text_scan_result'] = 'Результати сканування'; +$_['text_trash_files'] = 'Сміттєвих файлів: '; +$_['text_trash_size'] = 'Потенційно звільниться: '; +$_['button_start'] = 'СТАРТ ОПТИМІЗАЦІЇ'; +$_['button_pause'] = 'ПАУЗА'; +$_['button_stop'] = 'ЗУПИНИТИ'; +$_['button_continue'] = 'ПРОДОВЖИТИ'; +$_['button_start_new'] = 'СТАРТ (Новий запуск)'; +$_['button_download_log'] = 'Завантажити лог в TXT'; +$_['button_download'] = 'Завантажити'; +$_['button_save'] = 'Зберегти'; +$_['button_cancel'] = 'Скасувати'; +$_['text_progress'] = 'Прогрес:'; +$_['text_old_size'] = 'Було:'; +$_['text_new_size'] = 'Стало:'; +$_['text_savings'] = 'Економія:'; +$_['text_detailed_log'] = 'Детальний лог'; +$_['text_page'] = 'Стор.'; +$_['text_waiting'] = 'Очікування запуску...'; +$_['text_enabled'] = 'Увімкнено'; +$_['text_disabled_error'] = 'Вимкнено (ПОМИЛКА)'; +$_['text_supported'] = 'Підтримується'; +$_['text_no'] = 'Ні'; +$_['error_permission'] = 'У вас немає прав для керування модулем!'; +$_['error_license'] = 'Помилка доступу: Невірний токен активації для цього домену!'; +$_['error_domain'] = ' (Домен: '; +$_['text_found'] = 'Знайдено файлів: '; +$_['text_compressed'] = 'Стиснуто'; +$_['text_original'] = 'Оригінал'; +$_['text_error_process'] = 'Помилка обробки: '; +$_['error_log_empty'] = 'Лог порожній! Спочатку запустіть процес.'; +$_['text_report_header'] = '=== ЗВІТ ==='; +$_['text_total_files'] = 'Всього файлів: '; +$_['text_searching'] = 'Пошук файлів...'; +$_['error_ajax'] = 'Помилка: '; +$_['text_resumed'] = '▶ ПРОЦЕС ВІДНОВЛЕНО...'; +$_['text_paused'] = '⏸ ПАУЗА. Процес призупинено.'; +$_['confirm_stop'] = 'Ви впевнені, що хочете повністю перервати процес?'; +$_['confirm_delete'] = 'УВАГА! Файли будуть видалені з сервера назавжди без можливості відновлення! Продовжити?'; +$_['confirm_empty_q'] = 'Ви впевнені, що хочете повністю очистити папку карантину?'; +$_['confirm_restore'] = 'Всі файли з папки карантину будуть повернуті на свої місця. Продовжити?'; +$_['button_stopping'] = 'Зупинка...'; +$_['text_stopped_user'] = '🛑 ПРОЦЕС ПЕРЕРВАНО КОРИСТУВАЧЕМ!'; +$_['text_increase'] = 'Збільшення'; +$_['text_done'] = '✅ ГОТОВО! Процес завершено.'; +$_['error_timeout'] = 'Таймаут сервера. Автоповтор через 3 секунди...'; +$_['text_building_index'] = 'Крок 1/2: Індексація БД та шаблонів (пошук фото, що використовуються)...'; +$_['text_comparing'] = 'Крок 2/2: Порівняння фізичних файлів з індексом...'; +$_['text_quarantine_done'] = '✅ Процес перенесення в image/catalog_trash/ завершено!'; +$_['text_deleted_done'] = '✅ Процес видалення сміття завершено!'; +$_['text_quarantine_empty'] = '✅ Папку карантину успішно видалено з сервера!'; +$_['text_restore_done'] = '✅ Файли успішно повернуто з карантину в робочу папку!'; +$_['text_quarantine_move'] = 'В карантині: '; +$_['text_deleted_file'] = 'Видалено: '; +$_['text_no_trash'] = 'У вибраних папках сміття не знайдено! Всі файли використовуються.'; +$_['text_scanning_dirs'] = 'Скануємо директорії: '; +$_['text_log_used'] = '[ВИКОРИСТОВУЄТЬСЯ]'; +$_['text_log_trash'] = '[СМІТТЯ]'; +$_['text_log_deleted'] = '[ВИДАЛЕНО]'; +$_['text_log_del_err'] = '[ПОМИЛКА ВИДАЛЕННЯ]'; +$_['text_log_quarantine'] = '[В КАРАНТИН]'; +$_['text_log_q_err'] = '[ПОМИЛКА ПЕРЕНЕСЕННЯ]'; +$_['text_log_restored'] = '[ВІДНОВЛЕНО]'; +$_['text_log_rest_err'] = '[ПОМИЛКА ВІДНОВЛЕННЯ]'; +$_['text_used_in'] = 'у: '; +$_['text_analyzing'] = 'Аналіз бази даних...'; +$_['text_clean_empty'] = 'Чисто! Сміття немає.'; +$_['text_processing'] = 'Обробка...'; +$_['text_restoring'] = 'Відновлення файлів...'; +$_['text_all_folders'] = 'image/catalog/ (Та всі вкладені)'; +$_['text_root_folder'] = 'image/catalog/ (Тільки корінь)'; +$_['text_q_empty_err'] = 'Папка карантину порожня або не існує.'; +$_['error_token'] = 'Невірний токен. Перезавантажте сторінку.'; +$_['text_apply_title'] = 'Оптимізацію завершено в папку: '; +$_['text_apply_info'] = 'Перевірте результат. Якщо все влаштовує — застосуйте зміни до основного каталогу.'; +$_['entry_apply_backup'] = 'Перенести зі створенням бекапу (в Карантин)'; +$_['entry_apply_replace'] = 'Замінити оригінали безповоротно'; +$_['button_apply_main'] = 'ЗАСТОСУВАТИ ДО ОСНОВНОГО КАТАЛОГУ'; +$_['button_delete_copies'] = 'Видалити тимчасові копії (скасування)'; +$_['button_full_cleanup'] = 'Повне очищення всіх тимчасових папок та бекапів'; +$_['text_apply_success'] = '✅ Файли успішно перенесено. '; +$_['text_apply_backup_ok'] = 'Оригінали збережено в папку: '; +$_['text_apply_no_backup'] = 'Оригінали видалено.'; +$_['text_error_source'] = 'Помилка: Папку з оптимізованими файлами не знайдено.'; +$_['confirm_full_cleanup'] = 'УВАГА! Ця дія безповоротно видалить УСІ папки бекапів (backup_*) та тимчасові папки з копіями. Продовжити?'; +$_['text_tools_desc'] = 'Глобальні сканери та інструменти для роботи з файловою системою і БД зображень.'; +$_['text_tool_select'] = 'Виберіть інструмент:'; +$_['text_group_scanners'] = 'Сканери та Аналіз'; +$_['text_group_generators'] = 'Генератори та Обробка'; +$_['text_group_experimental'] = 'Експериментальні функції (BETA)'; +$_['text_experimental_warn'] = 'Увага: Експериментальні функції зачіпають системні файли або базу даних. Настійно рекомендується зробити бекап!'; +$_['text_tool_broken_db'] = 'Сканер битих/порожніх фото БД'; +$_['text_tool_watermark'] = 'Динамічний Вотермарк (Тільки на кеш)'; +$_['text_tool_duplicates'] = 'Поиск дубликатов файлов (за MD5)'; +$_['text_tool_png_jpg'] = 'Конвертер важких PNG у JPG (сканер файлів без прозорості)'; +$_['text_tool_placeholders'] = 'Генератор заглушок (Замість No Image)'; +$_['text_tool_exif'] = 'Очищення EXIF-даних (Геотеги/Мета)'; +$_['text_tool_small_photos'] = 'Сканер занадто дрібних фото'; +$_['text_tool_html_broken'] = 'Пошук битих картинок в HTML (Описах)'; +$_['text_tool_empty_folders'] = 'Очищення порожніх папок (image/catalog)'; +$_['text_tool_smart_cache'] = 'Розумне очищення кешу зображень'; +$_['text_tool_folder_tree'] = 'Дерево папок (Статистика ваги)'; +$_['text_tool_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load (Без БД)'; +$_['text_tool_translit'] = 'Транслітерація назв файлів'; +$_['text_tool_cache_restore'] = 'Відновлення оригіналів із Кешу'; +$_['entry_wm_type'] = 'Тип водяного знака'; +$_['text_wm_image'] = 'Зображення (PNG)'; +$_['text_wm_text'] = 'Текст'; +$_['entry_wm_image_path'] = 'Шлях до зображення'; +$_['entry_wm_text_val'] = 'Текст водяного знака'; +$_['entry_wm_position'] = 'Позиція (1-9)'; +$_['entry_wm_opacity'] = 'Прозорість (0-100)'; +$_['entry_wm_category'] = 'Тільки для Категорій'; +$_['entry_wm_brand'] = 'Тільки для Брендів'; +$_['entry_min_width'] = 'Мінімальна ширина (px)'; +$_['entry_min_height'] = 'Мінімальна висота (px)'; +$_['entry_ph_product'] = 'Заглушка для Товарів'; +$_['entry_ph_category'] = 'Заглушка для Категорій'; +$_['entry_ph_brand'] = 'Заглушка для Брендів'; +$_['button_run_tool'] = 'Запустити інструмент'; +$_['button_scan_tool'] = 'Сканувати'; +$_['button_fix_tool'] = 'Виправити знайдене'; +$_['text_th_path'] = 'Файл / Шлях'; +$_['text_th_size'] = 'Розмір'; +$_['text_th_action'] = 'Дія'; +$_['text_th_status'] = 'Статус'; +$_['text_th_problem'] = 'Проблема / Значення'; +$_['text_cron_title'] = 'Налаштування Cron'; +$_['text_cron_desc'] = 'Додайте команду в Cron хостингу для автоматичного фонового стиснення.'; +$_['entry_cron_new_only'] = 'Обробляти тільки нові (необроблені) файли'; +$_['entry_cron_folders'] = 'Папки для сканування (залиште порожнім для всього каталогу)'; +$_['text_promo_title'] = 'Інші модулі серії [NAT]'; +$_['text_promo_desc'] = 'Модулі серії [NAT] – це інструменти для глибокої оптимізації OpenCart. Ми фокусуємося на автоматизації рутини, прискоренні бази даних та очищенні серверів від сміття. Усі модулі мають відкритий вихідний код та єдину логіку управління.'; +$_['text_support'] = 'Технічна підтримка та побажання:'; +$_['button_more'] = 'Дивитися всі модулі на OpenCart.com'; +$_['button_more_forum'] = 'Opencartforum'; +$_['text_mod_cat_opt'] = 'Catalog Optimizer [NAT]'; +$_['text_mod_cat_opt_desc'] = 'Приховування порожніх категорій і брендів + SEO сортування товарів (у наявності зверху) + Очищення сміття БД.'; +$_['text_mod_new_arrivals'] = 'New Arrivals [NAT]: Новинки за датами'; +$_['text_mod_new_arrivals_desc'] = 'Автоматична SEO-сторінка новинок. Відображає новинки суворо за реальною датою додавання. Слайдери, сітка та розумний сайдбар архіву дат.'; +$_['text_mod_img_opt'] = 'Image Optimizer [NAT]'; +$_['text_mod_img_opt_desc'] = 'Поточний модуль. Стиснення та ресайз ОРИГІНАЛІВ фото (image/catalog) у WebP + Очищення хостингу від невикористаних зображень.'; +$_['text_mod_dom_scan'] = 'Domain Scanner [NAT]'; +$_['text_mod_dom_scan_desc'] = 'Пошук і чищення зовнішніх посилань і HTTP-картинок у БД та файлах теми. Ідеально для HTTPS або очищення після парсингу.'; +$_['text_mod_poll'] = 'Poll Widget [NAT]'; +$_['text_mod_poll_desc'] = 'Створення опитувань та голосувань із візуальним конструктором дизайну, глибокою статистикою та захистом від накруток.'; +$_['text_mod_db_opt'] = 'Database Optimizer [NAT]'; +$_['text_mod_db_opt_desc'] = 'Інтелектуальне очищення сміття в базі даних, управління системними логами та додавання критично важливих індексів для прискорення.'; +$_['text_mod_im_ex'] = 'Import/Export [NAT]'; +$_['text_mod_im_ex_desc'] = 'Швидкий імпорт/експорт цін і залишків з файлів xls/xlsx/csv/xml/json або за посиланням. Маппінг полів, робота по Cron, текстові функції.'; +$_['text_mod_admin_tools'] = 'Admin Tools [NAT]'; +$_['text_mod_admin_tools_desc'] = 'Зручні інструменти адміністратора: вхід під клієнтом, кастомізація адмінки, управління правами користувачів та приховування непотрібних пунктів меню.'; +$_['text_mod_utm_tracker'] = 'Order UTM Tracker [NAT]'; +$_['text_mod_utm_tracker_desc'] = 'Автоматичне відстеження UTM-міток при оформленні замовлення. Зберігає джерело переходу, кампанію, ключові слова та виводить ці дані в замовленні для аналітики реклами.'; +$_['text_info_title_promo_top_bar'] = 'Promo Top Bar [NAT]: Верхній рекламний інфо-баннер, інформаційна смуга над шапкою, рухомий рядок та топ-баннер'; +$_['text_info_desc_promo_top_bar'] = 'Створення інтерактивних промо-панелей та слайд-шоу в шапці сайту з конструктором блоків, таймерами, формою підписки та гнучким націлюванням.'; +$_['text_tool_no_image'] = 'Товари без головного фото (порожньо в БД)'; +$_['text_problem_main_broken'] = 'Бите головне фото (файл видалено)'; +$_['text_problem_add_broken'] = 'Бите дод. фото (файл видалено)'; +$_['text_problem_no_image'] = 'Відсутнє головне фото'; +$_['text_err_dir'] = 'Помилка: Директорію не знайдено або невірний шлях.'; +$_['text_err_no_queue'] = 'Помилка: Чергу не знайдено. Спочатку запустіть сканування.'; +$_['text_log_del_empty_folder'] = 'Видалено порожню папку: '; +$_['text_log_no_empty_folders'] = 'Порожніх папок в image/catalog/ не знайдено.'; +$_['text_log_total_empty_folders'] = 'Всього видалено порожніх папок: '; +$_['text_log_cache_cleared'] = 'Кеш зображень успішно очищено.'; +$_['text_log_wm_smart_mode'] = 'Вотермарки працюють в SMART-режимі: оригінали не зачіпаються, логотип накладається лише при генерації кешу.'; +$_['text_log_scan_dupes'] = 'Сканування image/catalog/ на дублікати (за хешем MD5)... Це може зайняти час.'; +$_['text_log_found_dupe'] = 'Знайдено дублікат: '; +$_['text_log_no_dupes'] = 'Дублікатів не знайдено.'; +$_['text_log_total_dupes'] = 'Знайдено дублікатів: %s. Потенційна економія: %s'; +$_['text_log_fix_dupes_prompt'] = 'Натисніть "Виправити знайдене" для перелінкування БД на оригинал та видалення дублів.'; +$_['text_log_fixed_dupe'] = 'Виправлено та видалено дублікат: '; +$_['text_log_success_dupes'] = 'Успішно виправлено дублікатів: %s. Посилання в БД оновлено.'; +$_['text_log_scan_png'] = 'Пошук важких PNG файлів без прозорості...'; +$_['text_log_no_png'] = 'Відповідних PNG файлів не знайдено.'; +$_['text_log_total_png'] = 'Знайдено PNG без прозорості: %s. Натисніть "Виправити" для конвертації в JPG.'; +$_['text_log_converted_jpg'] = 'Сконвертовано в JPG: '; +$_['text_log_success_png'] = 'Успішно сконвертовано %s файлів. Звільнено: %s'; +$_['text_log_ph_prod'] = 'Оновлено товарів заглушкою: '; +$_['text_log_ph_cat'] = 'Оновлено категорій заглушкою: '; +$_['text_log_ph_brand'] = 'Оновлено брендів заглушкою: '; +$_['text_log_ph_empty'] = 'Заглушки не вибрані в налаштуваннях.'; +$_['text_log_scan_exif'] = 'Сканування EXIF-даних (мета-теги камер)...'; +$_['text_log_stripped_exif'] = 'Очищено EXIF: '; +$_['text_log_no_exif'] = 'Файлів з EXIF для очищення не знайдено.'; +$_['text_log_success_exif'] = 'Очищено EXIF у %s файлів. Звільнено: %s'; +$_['text_log_scan_small'] = 'Пошук фото розміром менше %sx%s px...'; +$_['text_log_too_small'] = 'Занадто мале (%sx%s): '; +$_['text_log_no_small'] = 'Дрібних фото не знайдено.'; +$_['text_log_total_small'] = 'Знайдено дрібних фото: %s. Будь ласка, замініть їх на якісні.'; +$_['text_log_html_broken'] = 'Битией IMG в HTML таблиці %s (ID: %s): '; +$_['text_log_no_html_broken'] = 'Битих картинок в HTML-описах не знайдено.'; +$_['text_log_total_html_broken'] = 'Знайдено битих посилань в HTML: %s. Виправте їх вручну.'; +$_['text_log_scan_smart_cache'] = 'Пошук втрачених файлів у image/cache/...'; +$_['text_log_del_orph_cache'] = 'Видалено втрачений кеш: '; +$_['text_log_no_orph_cache'] = 'Втраченого кешу не знайдено.'; +$_['text_log_success_smart_cache'] = 'Видалено файлів втраченого кешу: %s. Звільнено: %s'; +$_['text_log_scan_translit'] = 'Пошук файлів з кирилицею або пробілами...'; +$_['text_log_no_bad_names'] = 'Файлів з некоректними іменами не знайдено.'; +$_['text_log_total_bad_names'] = 'Знайдено файлів з кирилицею/пробілами: %s. Натисніть "Виправити" для транслітерації та оновлення БД.'; +$_['text_log_renamed'] = 'Перейменовано: '; +$_['text_log_success_translit'] = 'Успішно транслітеровано файлів: %s. БД оновлено.'; +$_['text_log_scan_restore'] = 'Сканирование image/cache/ для відновлення втрачених оригіналів...'; +$_['text_log_restored_cache'] = 'Відновлено з кешу: '; +$_['text_log_no_lost_orig'] = 'Відсутніх оригіналів у кеші не знайдено.'; +$_['text_log_success_restore'] = 'Успішно відновлено оригіналів з кешу: %s.'; +$_['error_invalid_folder'] = 'Помилка: Неприпустиме ім\'я папки!'; +$_['text_formats_title'] = 'Сучасні формати (WebP & SVG)'; +$_['text_formats_desc'] = 'Налаштування інтеграції сучасних форматів у файлову систему та шаблони OpenCart.'; +$_['entry_support_svg'] = 'Підтримка завантаження SVG'; +$_['help_support_svg'] = 'Дозволяє завантаження векторних SVG-зображень через стандартний Filemanager та їх безпечне виведення на вітрині без спотворення розмірів.'; +$_['entry_support_webp'] = 'Підтримка завантаження WebP'; +$_['help_support_webp'] = 'Дозволяє вручну завантажувати, підв\'язувати та виводити на сайті готові файли .webp через Filemanager.'; +$_['entry_truefilemanager_webp'] = 'WebP у TrueFileManager'; +$_['help_truefilemanager_webp'] = 'Додає підтримку завантаження, попереднього перегляду та ескізів WebP у TrueFileManager від sitecreator (якщо його встановлено).'; +$_['entry_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load'; +$_['help_webp_on_fly'] = 'Надшвидка підміна: автоматично змінює розширення .jpg/.png на .webp прямо в HTML-виводі вітрини та додає атрибут loading="lazy". Не чіпає базу даних!'; +$_['help_tool_broken_db'] = 'Шукає в базі даних зображення, фізичні файли яких були видалені з сервера. Дозволяє очистити биті посилання.'; +$_['help_tool_empty_folders'] = 'Рекурсивно сканує директорію image/catalog/ та безпечно видаляє всі папки, в яких немає жодного файлу.'; +$_['help_tool_folder_tree'] = 'Будує дерево каталогів та показує реальну вагу кожної папки для пошуку "пожирачів" місця.'; +$_['help_tool_html_broken'] = 'Сканує HTML-описи товарів та категорій на наявність тегів з неіснуючими зображеннями.'; +$_['help_tool_small_photos'] = 'Знаходить зображення з роздільною здатністю нижче заданої. Додано посилання на пошук якісних аналогів у Google Images та Яндекс Зображеннях.'; +$_['help_tool_duplicates'] = 'Шукає повні дублікати файлів за MD5-хешем (різні назви, але однакова картинка). Дозволяє склеїти їх в один файл та оновити БД.'; +$_['help_tool_watermark'] = 'Накладення водяних знаків у SMART-режимі (тільки на кеш вітрини, оригінали не змінюються).'; +$_['help_tool_placeholders'] = 'Масово встановлює вибране зображення-заглушку для товарів та категорій, у яких взагалі немає фото.'; +$_['help_tool_png_jpg'] = 'Інструмент сканує папку зображень і знаходить важкі PNG-файли, які не мають прозорого фону (альфа-каналу). Оскільки прозорість їм не потрібна, їх можна безпечно конвертувати у формат JPG. Це значно полегшує файли (в середньому на 70-80%) та прискорює завантаження сайту, а всі посилання в базі даних автоматично оновлюються.'; +$_['help_tool_exif'] = 'Сканує EXIF-дані та видаляє з них приховані теги, зменшуючи вагу на 10-15%.'; +$_['help_tool_smart_cache'] = 'Шукає в папці image/cache/ кешовані файли, оригінали яких уже видалені, та очищає неактуальний кеш.'; +$_['help_tool_translit'] = 'Знаходить файли з кирилицею або пробілами, перейменовує їх транслітом та оновлює шляхи в БД.'; +$_['help_tool_cache_restore'] = 'Якщо ви випадково видалили оригінал з catalog, інструмент спробує знайти його копію в cache та відновити назад.'; +$_['entry_quarantine'] = 'Перемістити оригінали в Карантин (замість видалення)'; +$_['entry_backup_db'] = 'Створити бекап змінюваних таблиць у SQL перед запуском'; +$_['button_fix_selected'] = 'ВИПРАВИТИ ВИБРАНІ'; +$_['button_export_log'] = 'Експортувати в CSV'; +$_['text_th_before'] = 'Стан ДО'; +$_['text_th_after'] = 'Очікуваний результат ПІСЛЯ'; +$_['text_th_select'] = 'Дія'; +$_['text_th_preview'] = 'Передперегляд'; +$_['text_th_name'] = 'Об`єкт / Файл'; +$_['text_global_action'] = 'Групова дія для вибраних:'; +$_['text_action_clear'] = 'Очистити посилання в БД'; +$_['text_action_disable'] = 'Вимкнути (Статус = 0)'; +$_['text_action_stock'] = 'Установити "Немає в наявності"'; +$_['text_action_placeholder'] = 'Встановити заглушку'; +$_['text_action_ignore'] = 'Нічого не робити'; +$_['text_action_merge'] = 'Склеїти (видалити дублікат, залишити оригінал)'; +$_['text_action_convert'] = 'Конвертувати в JPG'; +$_['text_action_rename'] = 'Перейменувати транслітом'; +$_['text_action_delete'] = 'Видалити'; +$_['text_action_restore'] = 'Відновити'; +$_['text_db_backup_created'] = 'Створено бекап БД: %s'; +$_['text_quarantine_created'] = 'Перенесено в карантин: %s'; +$_['text_fix_status_success'] = 'Успішно виконано'; +$_['text_fix_status_error'] = 'Помилка: %s'; +$_['text_log_exported'] = 'Лог успішно експортовано!'; +$_['text_select_action'] = '-- Виберіть дію --'; +$_['error_empty_selection'] = 'Помилка: Не вибрано жодного рядка для виправлення!'; +$_['text_link_admin'] = 'Адмінка'; +$_['text_link_catalog'] = 'Вітрина'; +$_['entry_threads'] = 'Потоків обробки'; +$_['text_threads_optimal'] = 'оптимально'; +$_['button_download_zip'] = 'Завантажити ZIP-архів та видалити папку'; +$_['confirm_download_and_delete'] = 'Архів успішно завантажився? Можна видалити тимчасову папку копій на сервері?'; +$_['button_clear_backups'] = 'Видалити бекапи БД'; +$_['button_clear_backups_short'] = 'Очистити бекапи'; +$_['confirm_clear_backups'] = 'Ви впевнені, що хочете повністю видалити всі SQL-бекапи таблиць?'; +$_['text_compare_title'] = 'Порівняння зображень ДО / ПІСЛЯ'; +$_['text_compare_before'] = 'ДО'; +$_['text_compare_after'] = 'ПІСЛЯ'; +$_['text_backups_cleared'] = 'Усі SQL-бекапи таблиць успішно видалені!'; +$_['error_no_backups'] = 'Бекапи не знайдені або папка порожня.'; +$_['button_restore'] = 'Повернути'; +$_['button_empty'] = 'Очистити'; +$_['entry_wm_targets'] = 'Застосовувати водяний знак до:'; +$_['text_wm_target_product'] = 'Фото товарів'; +$_['text_wm_target_category'] = 'Фото категорій'; +$_['text_wm_target_brand'] = 'Логотипи брендів'; +$_['text_wm_target_banner'] = 'Банери та слайди'; +$_['text_wm_target_blog'] = 'Статті / Блог'; +$_['error_no_scan_data'] = 'Помилка: Дані сканування не знайдені. Спочатку запустіть сканування!'; +$_['error_row_not_found'] = 'Помилка: Об`єкт не знайдено в результатах сканування!'; +$_['error_file_not_found'] = 'Помилка: Файл не знайдено на сервері!'; +$_['text_folder_rules_title'] = 'Індивідуальні правила стиснення для папок'; +$_['text_folder_rules_desc'] = 'Ви можете перевизначити якість та максимальні розміри для конкретних папок. Якщо залишити поле порожнім, використовуватиметься глобальне налаштування. Шлях вказується відносно папки image (наприклад, catalog/banners/).'; +$_['entry_folder_path'] = 'Шлях до папки'; +$_['entry_jpg_quality'] = 'Якість JPG'; +$_['entry_webp_quality'] = 'Якість WebP'; +$_['button_add_rule'] = 'Додати правило'; +$_['button_remove'] = 'Вилучити'; +$_['entry_wm_angle'] = 'Кут нахилу водяного знака (градуси)'; +$_['entry_wm_corner_radius'] = 'Закруглення кутів водяного знака (px)'; +$_['entry_wm_size_type'] = 'Масштабування водяного знака'; +$_['entry_wm_size_percent'] = 'Розмір водяного знака (% від ширини зображення)'; +$_['entry_wm_text_color'] = 'Колір тексту водяного знака'; +$_['entry_wm_text_font'] = 'Шрифт водяного знака (TTF)'; +$_['entry_wm_filter_mode'] = 'Режим фільтрації Категорій/Брендів'; +$_['text_wm_filter_include'] = 'Тільки для вибраних'; +$_['text_wm_filter_exclude'] = 'Для всіх, крім вибраних'; +$_['text_wm_size_original'] = 'Оригінальний розмір'; +$_['text_wm_size_percent'] = 'Пропорційно ширині зображення (%)'; +$_['button_preview_watermark'] = 'Попередній перегляд'; +$_['text_wm_preview_title'] = 'Попередній перегляд водяного знака'; +$_['text_cron_exclude_folders'] = 'Виключити папки зі сканування'; +$_['text_cron_entities'] = 'Які типи фото обробляти?'; +$_['text_cron_quality_override'] = 'Перевизначити параметри стиснення для Крона'; +$_['text_cron_recommendations'] = 'Рекомендації щодо розкладу Cron'; +$_['text_cron_recommendations_desc'] = ''; +$_['text_tool_broken_files'] = 'Сканер битих/порожніх файлів на сервері'; +$_['help_tool_broken_files'] = 'Сканує фізичні файли в папці image/catalog/ на наявність пошкоджених зображень або порожніх файлів розміром 0 байт.'; +$_['text_grid_broken_file'] = 'Битий або порожній файл на сервері'; +$_['text_grid_broken_file_after'] = 'Вилучення або заміна заглушкою'; +$_['text_description_broken_files'] = 'Результати сканування фізичних файлів у папці image/catalog/. Тут відображаються биті (пошкоджені) зображення або файли розміром 0 байт.'; +$_['text_action_strip'] = 'Очистити EXIF'; +$_['text_action_set_placeholder'] = 'Встановити заглушку'; +$_['text_th_entity'] = 'Об`єкт / Пов`язані посилання'; +$_['text_cron_entity_product'] = 'Товари'; +$_['text_cron_entity_category'] = 'Категорії'; +$_['text_cron_entity_manufacturer'] = 'Виробники / Бренди'; +$_['text_cron_entity_banner'] = 'Банери'; +$_['text_cron_entity_blog'] = 'Блог / Статті'; +$_['entry_cron_jpg_quality'] = 'Якість JPG (Крон)'; +$_['entry_cron_webp_quality'] = 'Якість WebP (Крон)'; +$_['entry_cron_max_width'] = 'Макс. ширина px (Крон)'; +$_['entry_cron_max_height'] = 'Макс. висота px (Крон)'; +$_['text_cron_folder_scan'] = 'Папки для сканування'; +$_['text_no_fonts'] = 'TTF-шрифти не знайдено в system/library/font/'; +$_['button_apply'] = 'Застосувати'; +$_['text_backup_will_be_created'] = 'Резервна копія бази даних буде автоматично створена перед виконанням цієї дії.'; +$_['text_bulk_action'] = 'Групова дія для вибраних'; +$_['text_grid_results'] = 'Результати та деталі сканування'; +$_['text_quarantine_will_be_created'] = 'Оригінальні файли будуть переміщені в карантин (image/catalog_trash/) перед зміною.'; +$_['text_success_apply'] = 'Зміни успішно застосовані!'; +$_['text_description_broken'] = 'Результати сканування бази даних на наявність битих посилань (записи в таблицях з неіснуючими файлами).'; +$_['text_description_cache_restore'] = 'Результати пошуку файлів у кеші, оригінали яких відсутні в каталозі.'; +$_['text_description_duplicates'] = 'Результати пошуку повних дублікатів зображень за MD5-хешем.'; +$_['text_description_empty_folders'] = 'Список порожніх папок в директорії image/catalog/ для видалення.'; +$_['text_description_exif'] = 'Результати пошуку зображень з метаданими EXIF, які можна очистити.'; +$_['text_description_folder_tree'] = 'Статистика розміру папок у каталозі image/catalog/.'; +$_['text_description_html_broken'] = 'Результати пошуку неіснуючих файлів картинок, на які посилаються описи в HTML.'; +$_['text_description_placeholders'] = 'Результати пошуку сутностей без зображень для заповнення заглушками.'; +$_['text_description_png_jpg'] = 'Результати пошуку важких зображень PNG без прозорості, які можна перетиснути в JPG.'; +$_['text_description_small_photos'] = 'Список зображень, розміри яких менше мінімально заданих (%sx%s px).'; +$_['text_description_smart_cache'] = 'Результати пошуку файлів кешу, оригінали яких уже було видалено.'; +$_['text_description_translit'] = 'Результати пошуку файлів з кирилицею або пробілами в назвах.'; +$_['text_grid_broken_db_after'] = 'Очистити посилання або встановити заглушку'; +$_['text_grid_dupe_after'] = 'Оригінал (залишається)'; +$_['text_grid_dupe_before'] = 'Дублікат (буде видалено)'; +$_['text_grid_empty_folder'] = 'Порожня папка'; +$_['text_grid_empty_folder_after'] = 'Вилучити порожню папку'; +$_['text_grid_exif_after'] = 'Очистити метадані'; +$_['text_grid_exif_before'] = 'Містить EXIF'; +$_['text_grid_html_after'] = 'Виправити посилання вручну'; +$_['text_grid_missing_file'] = 'Файл відсутній'; +$_['text_grid_missing_html'] = 'Картинка не знайдена в описі'; +$_['text_grid_missing_orig'] = 'Оригінал відсутній'; +$_['text_grid_missing_orig_after'] = 'Відновити оригінал з кешу'; +$_['text_grid_no_image'] = 'Немає зображення (порожньо)'; +$_['text_grid_orph_cache'] = 'Осиротілий кеш'; +$_['text_grid_orph_cache_after'] = 'Видалити непотрібний кеш'; +$_['text_grid_ph_brand_after'] = 'Встановити заглушку бренду'; +$_['text_grid_ph_category_after'] = 'Встановити заглушку категорії'; +$_['text_grid_ph_product_after'] = 'Встановити заглушку товару'; +$_['text_grid_small_photo_after'] = 'Рекомендується замінити на більше'; +$_['text_grid_too_small'] = 'Занадто мале'; +$_['text_no_relations'] = 'Немає зв’язків у БД'; +$_['text_action_archive'] = 'Архівувати (в ZIP)'; +$_['text_action_archive_delete'] = 'Архівувати + Видалити'; +$_['text_tool_sanitizer'] = 'Санитайзер імен файлів'; +$_['help_tool_sanitizer'] = 'Масове очищення імен файлів і папок від кирилиці, пробілів та спецсимволів, приведення розширень до єдиного вигляду.'; +$_['text_description_sanitizer'] = 'Результати аналізу імен файлів для санітаризації за вибраними правилами.'; +$_['entry_sz_translit'] = 'Транслітерація (кирилиця в латиницю)'; +$_['entry_sz_spaces'] = 'Замінювати пробіли на символ "_"'; +$_['entry_sz_special'] = 'Видаляти спеціальні символи'; +$_['entry_sz_lowercase_name'] = 'Ім`я файлу в нижній регістр'; +$_['entry_sz_lowercase_ext'] = 'Розширення в нижній регістр'; +$_['entry_sz_normalize_ext'] = 'Нормалізувати розширення (jpeg -> jpg)'; +$_['entry_cron_folder_mode'] = 'Режим фільтрації папок'; +$_['text_cron_folder_mode_exclude'] = 'Сканувати все, крім вибраних (Винятки)'; +$_['text_cron_folder_mode_include'] = 'Сканирувати тільки вибрані папки'; +$_['button_select_all'] = 'Вибрати всі'; +$_['button_deselect_all'] = 'Зняти всі'; +$_['entry_wm_upload_font'] = 'Завантажити свій шрифт TTF'; +$_['button_upload_font'] = 'Завантажити шрифт'; +$_['text_success_font_upload'] = 'Шрифт успішно завантажено!'; +$_['error_font_upload'] = 'Помилка завантаження шрифту! Дозволені тільки файли .ttf вагою до 5 МБ.'; +$_['entry_lazy_load'] = 'Прогресивне лениве завантаження'; +$_['help_lazy_load'] = 'Вмикає преміальне прогресивне відкладене завантаження на вітрині. Зображення замінюються на мікро-прев\'ю та плавно розмиваються (blur-up), підвантажуючись у міру прокручування.'; +$_['confirm_replace_mode'] = 'УВАГА! Ви обрали режим «Замінювати оригінали». Усі зображення будуть перезаписані безпосередньо на сервері. Наполегливо рекомендуємо зробити резервну копію. Ви впевнені, що хочете продовжити?'; +$_['text_compare'] = 'Порівняти'; +$_['text_home'] = 'Головна'; +$_['text_tech_gd'] = 'Бібліотека GD'; +$_['text_tech_imagick'] = 'Imagick'; +$_['text_tech_webp'] = 'Підтримка WebP'; +$_['text_position_1'] = '1 - Зліва вгорі'; +$_['text_position_2'] = '2 - По центру вгорі'; +$_['text_position_3'] = '3 - Справа вгорі'; +$_['text_position_4'] = '4 - Зліва посередині'; +$_['text_position_5'] = '5 - По центру'; +$_['text_position_6'] = '6 - Справа посередині'; +$_['text_position_7'] = '7 - Зліва внизу'; +$_['text_position_8'] = '8 - По центру внизу'; +$_['text_position_9'] = '9 - Справа внизу'; + +$_['entry_log_level'] = 'Рівень логу'; +$_['text_log_changed_only'] = 'Тільки змінені'; +$_['text_log_all'] = 'Всі файли (детально)'; +$_['text_skipped_no_gain'] = 'Пропущено (без покращення)'; +$_['text_reset_cache_hint'] = 'Скинути кеш оптимізації (повне пересканування)'; +$_['confirm_reset_cache'] = 'Скинути кеш оптимізації? Наступне сканування перевірить ВСІ файли знову.'; +$_['text_cache_cleared'] = 'Кеш оптимізації очищено. Наступне сканування перевірить всі файли.'; +$_['error_wm_preview'] = 'Помилка генерації прев\'ю водяного знаку.'; +$_['error_wm_too_large'] = 'Зображення водяного знаку занадто велике (%dx%d px)! Максимально допустимий розмір: %dx%d px.'; +$_['text_apply_errors_warning'] = 'УВАГА: Деякі файли не вдалося замінити (заблоковані або немає прав):'; +$_['text_action_compress'] = 'Стиснути зображення'; +$_['text_estimated'] = 'Прогноз'; +$_['entry_min_savings_bytes'] = 'Мін. стиснення (байт)'; +$_['entry_min_savings_percent'] = 'Мін. стиснення (%)'; +$_['text_optimized'] = 'Оптимізовано'; +$_['entry_broken_fallback'] = 'Заглушка для битих фото'; +$_['help_broken_fallback'] = 'Автоматично замінює відсутні або пошкоджені зображення каталогу на вітрині на зображення-заглушку.'; +$_['entry_fallback_image'] = 'Зображення-заглушка'; +$_['help_fallback_image'] = 'Виберіть зображення, яке буде показано, якщо оригінальний файл картинки товару чи категорії відсутній. За замовчуванням використовується no_image.png.'; +$_['text_tool_cmyk'] = 'Конвертер CMYK в RGB'; +$_['help_tool_cmyk'] = 'Конвертація JPEG зображень з колірного профілю CMYK в sRGB для коректного відображення в браузерах Safari та на пристроях iOS.'; +$_['text_tool_heavy_files'] = 'Пошук важких файлів'; +$_['help_tool_heavy_files'] = 'Пошук найважчих оригінальних зображень у каталозі з можливістю їх швидкого стиснення безпосередньо тут.'; +$_['entry_heavy_files_limit'] = 'Макс. кількість знайдених файлів (всього)'; +$_['text_action_convert_rgb'] = 'Конвертувати в RGB'; +$_['text_description_cmyk'] = 'Знайдено файли в колірному просторі CMYK. Конвертація в sRGB гарантує колірне відображення на всіх платформах, включаючи iOS/macOS.'; +$_['text_description_heavy'] = 'Список із %d найважчих файлів у каталозі зображень. Ви можете оптимізувати їх безпосередньо тут.'; +$_['text_cron_folder_hint_exclude_all'] = 'Статус: Скануватимуться всі папки (винятки не обрані).'; +$_['text_cron_folder_hint_exclude_some'] = 'Статус: Скануватимуться всі папки, ОКРІМ %d позначених.'; +$_['text_cron_folder_hint_include_some'] = 'Статус: Скануватимуться тільки %d позначених папок.'; +$_['text_cron_folder_hint_include_none'] = 'УВАГА: Жодної папки не обрано! Крон нічого не буде сканувати.'; +$_['text_action_apply_changes'] = 'Застосувати вказані зміни'; +$_['entry_wm_status'] = 'Статус водяного знака'; +$_['text_disabled'] = 'Відключено'; +$_['entry_rule_name'] = 'Назва правила'; +$_['entry_rule_status'] = 'Статус правила'; +$_['entry_action'] = 'Дія'; +$_['entry_ph_status'] = 'Статус заглушок'; +$_['entry_sanitizer_limit'] = 'Макс. файлів для пошуку (ліміт)'; +$_['entry_heavy_files_min_size'] = 'Мінимальний розмір'; +$_['entry_png_jpg_limit'] = 'Макс. файлів для пошуку (ліміт)'; +$_['entry_png_jpg_min_size'] = 'Мінімальний розмір'; +$_['text_wm_rule_title'] = 'Правило водяного знака'; +$_['button_close'] = 'Закрити'; +$_['text_ph_rule_title'] = 'Правило заглушки'; +$_['entry_ph_image'] = 'Зображення заглушки'; +$_['button_clear_cache_wm'] = 'Очистити кеш (застосувати водяний знак)'; +$_['text_active'] = 'Активна'; +$_['text_error'] = 'Не активна'; +$_['text_th_dupe_delete'] = 'Файл для видалення (Дублікат)'; +$_['text_th_dupe_keep'] = 'Файл для збереження (Оригінал)'; +$_['text_dupe_original_label'] = 'Оригінал'; +$_['text_dupe_duplicate_label'] = 'Дублікат'; + +$_['text_disk_usage'] = 'Використання диска'; +$_['text_cumulative_stats'] = 'Статистика оптимізації'; +$_['text_disk_catalog'] = 'Каталог зображень'; +$_['text_disk_cache'] = 'Кеш OC'; +$_['text_disk_trash'] = 'Кошик модуля'; +$_['text_disk_other'] = 'Інше'; +$_['text_disk_free'] = 'Вільно'; +$_['text_total_files_opt'] = 'Файлів оброблено'; +$_['text_total_saved'] = 'Всього зекономлено'; +$_['text_avg_saving_pct'] = 'Середня економія'; +$_['text_stats_hint'] = 'Статистика накопичується по всіх сесіях (зберігається локально в браузері)'; +$_['text_reset_stats'] = 'Скинути статистику'; +$_['text_reset_stats_confirm']= 'Скинути накопичену статистику оптимізації?'; +$_['text_export_import'] = 'Експорт / Імпорт налаштувань'; +$_['button_export_settings'] = 'Експорт налаштувань (JSON)'; +$_['button_import_settings'] = 'Імпортувати налаштування'; +$_['help_export_settings'] = 'Завантажити всі налаштування модуля в JSON-файл'; +$_['help_import_settings'] = 'Завантажити раніше експортований JSON для відновлення налаштувань'; +$_['text_import_success'] = 'Налаштування успішно імпортовані. Перезавантажте сторінку для застосування.'; +$_['error_import_file'] = 'Файл не завантажено або помилка завантаження'; +$_['error_import_invalid'] = 'Некоректний файл налаштувань (невірний модуль або формат)'; +$_['text_click_to_load'] = 'Натисніть ↑ для завантаження даних диска'; + + +$_['tab_formats'] = 'Формати зображень'; + +$_['text_disk_quota_legend'] = 'Ліміти диска хостингу (вручну)'; +$_['text_disk_quota_desc'] = 'Якщо графік дискового простору показує некоректні дані (фізичний диск сервера замість ліміту вашого хостингу), ви можете вказати ліміти вашого тарифу вручну. Вкажіть 0, щоб використовувати автовизначення.'; +$_['entry_disk_quota_total'] = 'Виділено диска на хостингу (ГБ)'; +$_['entry_disk_quota_used'] = 'Зайнято диска на хостингу всього (ГБ)'; +$_['entry_auto_disk'] = 'Автооновлення при вході'; + +// Cron Tasks +$_['entry_cron_task_name'] = 'Назва задачі'; +$_['entry_cron_task_summary'] = 'Параметри стиснення'; +$_['button_add_cron_task'] = 'Додати задачу'; +$_['button_copy_cron_url'] = 'Копіювати URL'; +$_['text_cron_recommended_url'] = 'URL для запуску задачі крону:'; + +// Licensing +$_['text_license_required'] = 'Необхідний ліцензійний ключ'; +$_['text_license_required_desc'] = 'Будь ласка, введіть ліцензійний ключ для активації модуля. Усі функції налаштувань та оптимізації заблоковані до введення валідного ключа.'; +$_['entry_token_desc'] = 'Введіть токен активації, виданий для вашого основного домену. Ви можете отримати його в особистому кабінеті на форумі або звернувшись у підтримку.'; +$_['button_activate'] = 'Активувати модуль'; +$_['text_support'] = 'Технічна підтримка'; +$_['text_support_desc'] = 'Якщо у вас ще немає ключа або виникли проблеми, будь ласка, повідомте номер вашого замовлення та домен.'; + +// New settings +$_['entry_wm_max_width'] = 'Макс. ширина водяного знака (px)'; +$_['entry_wm_max_height'] = 'Макс. висота водяного знака (px)'; +$_['help_wm_max_width'] = 'Якщо вихідне зображення водяного знака перевищує цю ширину, воно буде автоматично масштабоване. Вкажіть 0 або залиште порожнім для значення за замовчуванням (800px).'; +$_['help_wm_max_height'] = 'Якщо вихідне зображення водяного знака перевищує цю висоту, воно буде автоматично масштабоване. Вкажіть 0 або залиште порожнім для значення за замовчуванням (800px).'; +$_['entry_disk_status'] = 'Увімкнути сканування диска та графік'; +$_['help_disk_status'] = 'Якщо увімкнено, модуль періодично скануватиме обсяг папки картинок та відображатиме круговую діаграму. Рекомендується вимкнути на великих сайтах для прискорення завантаження панелі.'; +$_['text_disk_settings_title'] = 'Налаштування лімітів та сканування диска'; + diff --git a/upload/admin/language/uk/module/img_opti.php b/upload/admin/language/uk/module/img_opti.php new file mode 100644 index 0000000..a563c9d --- /dev/null +++ b/upload/admin/language/uk/module/img_opti.php @@ -0,0 +1,567 @@ +Image Optimizer [NAT]: Стиснення оригіналів та видалення сміття'; +$_['text_extension'] = 'Розширення'; +$_['text_edit'] = 'Налаштування модуля'; +$_['text_success'] = 'Налаштування успішно збережено!'; +$_['entry_warning'] = 'УВАГА: Обов`язково зробіть бекап файлів сайту і особливо папки /image/catalog перед початком роботи!'; +$_['text_tech'] = 'Перевірка технологій сервера:'; +$_['text_author'] = 'Технічна підтримка та побажання: info@nat.od.ua'; +$_['tab_optimize'] = 'Оптимізація та Ресайз'; +$_['tab_cleaner'] = 'Очищення невикористовуваних зображень'; +$_['tab_info'] = 'Інфо / Екосистема [NAT]'; +$_['tab_settings'] = 'Налаштування'; +$_['tab_tools'] = 'Інструменти (pro)'; +$_['tab_cron'] = 'Крон-завдання'; +$_['entry_mode'] = 'Режим роботи'; +$_['text_copy'] = 'Створити копію (безпечно)'; +$_['text_replace'] = 'Замінювати оригінали (потребує бекап!)'; +$_['entry_folder'] = 'Ім`я папки для копії'; +$_['entry_batch'] = 'Файлів за прохід'; +$_['entry_log_limit'] = 'Рядків логу на екрані'; +$_['entry_max_width'] = 'Макс. ширина (px) [0 - без ліміту]'; +$_['entry_max_height'] = 'Макс. висота (px) [0 - без ліміту]'; +$_['entry_jpg'] = 'Якість JPG (0-100)'; +$_['entry_png'] = 'Стиснення PNG (0-9)'; +$_['entry_webp'] = 'Якість WebP (0-100)'; +$_['entry_targets'] = 'Що оптимізувати?'; +$_['text_all_catalog'] = '[ Весь каталог image/catalog ]'; +$_['text_root_files'] = 'Файли тільки в корені image/catalog'; +$_['entry_threshold'] = 'Поріг заміни (%)'; +$_['help_threshold'] = '0: замінювати тільки якщо вага стала меншою. 10: дозволити збільшення ваги до 10%.'; +$_['entry_token'] = 'Токен активації (на корінь домену)'; +$_['entry_status'] = 'Статус модуля'; +$_['entry_menu_position'] = 'Позиція меню [NAT]'; +$_['text_menu_module_only'] = 'Тільки в модулях'; +$_['text_menu_header'] = 'У шапці (Header)'; +$_['text_menu_sidebar'] = 'У бічному меню (Sidebar)'; +$_['text_menu_both'] = 'Скрізь (Шапка + Сайдбар)'; +$_['text_status_on'] = 'Увімкнено'; +$_['text_status_off'] = 'Вимкнено'; +$_['entry_engine'] = 'Рушій обробки зображень'; +$_['text_engine_gd'] = 'GD (Стандарт)'; +$_['text_engine_imagick'] = 'Imagick (Висока якість, збереження профілів sRGB)'; +$_['entry_license'] = 'Ліцензія'; +$_['text_cleaner_info'] = 'Цей інструмент шукає файли, які фізично існують на диску, але ніде не використовуються в базі даних або файлах шаблону.'; +$_['entry_clean_targets'] = 'В яких папках шукати сміття?'; +$_['entry_extended_log'] = 'Розширений лог (показати використовувані photo і де вони знайдені)'; +$_['entry_process_broken'] = 'Враховувати файли з битим кодуванням (імена з символом "?")'; +$_['button_scan_trash'] = 'ЗНАЙТИ СМІТТЯ'; +$_['button_quarantine'] = 'В Карантин (Безпечно)'; +$_['button_delete_trash'] = 'Видалити назавжди'; +$_['button_empty_quarantine'] = 'Очистити папку Карантину'; +$_['button_restore_quarantine'] = 'Повернути з Карантину'; +$_['text_scan_result'] = 'Результати сканування'; +$_['text_trash_files'] = 'Сміттєвих файлів: '; +$_['text_trash_size'] = 'Потенційно звільниться: '; +$_['button_start'] = 'СТАРТ ОПТИМІЗАЦІЇ'; +$_['button_pause'] = 'ПАУЗА'; +$_['button_stop'] = 'ЗУПИНИТИ'; +$_['button_continue'] = 'ПРОДОВЖИТИ'; +$_['button_start_new'] = 'СТАРТ (Новий запуск)'; +$_['button_download_log'] = 'Завантажити лог в TXT'; +$_['button_download'] = 'Завантажити'; +$_['button_save'] = 'Зберегти'; +$_['button_cancel'] = 'Скасувати'; +$_['text_progress'] = 'Прогрес:'; +$_['text_old_size'] = 'Було:'; +$_['text_new_size'] = 'Стало:'; +$_['text_savings'] = 'Економія:'; +$_['text_detailed_log'] = 'Детальний лог'; +$_['text_page'] = 'Стор.'; +$_['text_waiting'] = 'Очікування запуску...'; +$_['text_enabled'] = 'Увімкнено'; +$_['text_disabled_error'] = 'Вимкнено (ПОМИЛКА)'; +$_['text_supported'] = 'Підтримується'; +$_['text_no'] = 'Ні'; +$_['error_permission'] = 'У вас немає прав для керування модулем!'; +$_['error_license'] = 'Помилка доступу: Невірний токен активації для цього домену!'; +$_['error_domain'] = ' (Домен: '; +$_['text_found'] = 'Знайдено файлів: '; +$_['text_compressed'] = 'Стиснуто'; +$_['text_original'] = 'Оригінал'; +$_['text_error_process'] = 'Помилка обробки: '; +$_['error_log_empty'] = 'Лог порожній! Спочатку запустіть процес.'; +$_['text_report_header'] = '=== ЗВІТ ==='; +$_['text_total_files'] = 'Всього файлів: '; +$_['text_searching'] = 'Пошук файлів...'; +$_['error_ajax'] = 'Помилка: '; +$_['text_resumed'] = '▶ ПРОЦЕС ВІДНОВЛЕНО...'; +$_['text_paused'] = '⏸ ПАУЗА. Процес призупинено.'; +$_['confirm_stop'] = 'Ви впевнені, що хочете повністю перервати процес?'; +$_['confirm_delete'] = 'УВАГА! Файли будуть видалені з сервера назавжди без можливості відновлення! Продовжити?'; +$_['confirm_empty_q'] = 'Ви впевнені, що хочете повністю очистити папку карантину?'; +$_['confirm_restore'] = 'Всі файли з папки карантину будуть повернуті на свої місця. Продовжити?'; +$_['button_stopping'] = 'Зупинка...'; +$_['text_stopped_user'] = '🛑 ПРОЦЕС ПЕРЕРВАНО КОРИСТУВАЧЕМ!'; +$_['text_increase'] = 'Збільшення'; +$_['text_done'] = '✅ ГОТОВО! Процес завершено.'; +$_['error_timeout'] = 'Таймаут сервера. Автоповтор через 3 секунди...'; +$_['text_building_index'] = 'Крок 1/2: Індексація БД та шаблонів (пошук фото, що використовуються)...'; +$_['text_comparing'] = 'Крок 2/2: Порівняння фізичних файлів з індексом...'; +$_['text_quarantine_done'] = '✅ Процес перенесення в image/catalog_trash/ завершено!'; +$_['text_deleted_done'] = '✅ Процес видалення сміття завершено!'; +$_['text_quarantine_empty'] = '✅ Папку карантину успішно видалено з сервера!'; +$_['text_restore_done'] = '✅ Файли успішно повернуто з карантину в робочу папку!'; +$_['text_quarantine_move'] = 'В карантині: '; +$_['text_deleted_file'] = 'Видалено: '; +$_['text_no_trash'] = 'У вибраних папках сміття не знайдено! Всі файли використовуються.'; +$_['text_scanning_dirs'] = 'Скануємо директорії: '; +$_['text_log_used'] = '[ВИКОРИСТОВУЄТЬСЯ]'; +$_['text_log_trash'] = '[СМІТТЯ]'; +$_['text_log_deleted'] = '[ВИДАЛЕНО]'; +$_['text_log_del_err'] = '[ПОМИЛКА ВИДАЛЕННЯ]'; +$_['text_log_quarantine'] = '[В КАРАНТИН]'; +$_['text_log_q_err'] = '[ПОМИЛКА ПЕРЕНЕСЕННЯ]'; +$_['text_log_restored'] = '[ВІДНОВЛЕНО]'; +$_['text_log_rest_err'] = '[ПОМИЛКА ВІДНОВЛЕННЯ]'; +$_['text_used_in'] = 'у: '; +$_['text_analyzing'] = 'Аналіз бази даних...'; +$_['text_clean_empty'] = 'Чисто! Сміття немає.'; +$_['text_processing'] = 'Обробка...'; +$_['text_restoring'] = 'Відновлення файлів...'; +$_['text_all_folders'] = 'image/catalog/ (Та всі вкладені)'; +$_['text_root_folder'] = 'image/catalog/ (Тільки корінь)'; +$_['text_q_empty_err'] = 'Папка карантину порожня або не існує.'; +$_['error_token'] = 'Невірний токен. Перезавантажте сторінку.'; +$_['text_apply_title'] = 'Оптимізацію завершено в папку: '; +$_['text_apply_info'] = 'Перевірте результат. Якщо все влаштовує — застосуйте зміни до основного каталогу.'; +$_['entry_apply_backup'] = 'Перенести зі створенням бекапу (в Карантин)'; +$_['entry_apply_replace'] = 'Замінити оригінали безповоротно'; +$_['button_apply_main'] = 'ЗАСТОСУВАТИ ДО ОСНОВНОГО КАТАЛОГУ'; +$_['button_delete_copies'] = 'Видалити тимчасові копії (скасування)'; +$_['button_full_cleanup'] = 'Повне очищення всіх тимчасових папок та бекапів'; +$_['text_apply_success'] = '✅ Файли успішно перенесено. '; +$_['text_apply_backup_ok'] = 'Оригінали збережено в папку: '; +$_['text_apply_no_backup'] = 'Оригінали видалено.'; +$_['text_error_source'] = 'Помилка: Папку з оптимізованими файлами не знайдено.'; +$_['confirm_full_cleanup'] = 'УВАГА! Ця дія безповоротно видалить УСІ папки бекапів (backup_*) та тимчасові папки з копіями. Продовжити?'; +$_['text_tools_desc'] = 'Глобальні сканери та інструменти для роботи з файловою системою і БД зображень.'; +$_['text_tool_select'] = 'Виберіть інструмент:'; +$_['text_group_scanners'] = 'Сканери та Аналіз'; +$_['text_group_generators'] = 'Генератори та Обробка'; +$_['text_group_experimental'] = 'Експериментальні функції (BETA)'; +$_['text_experimental_warn'] = 'Увага: Експериментальні функції зачіпають системні файли або базу даних. Настійно рекомендується зробити бекап!'; +$_['text_tool_broken_db'] = 'Сканер битих/порожніх фото БД'; +$_['text_tool_watermark'] = 'Динамічний Вотермарк (Тільки на кеш)'; +$_['text_tool_duplicates'] = 'Поиск дубликатов файлов (за MD5)'; +$_['text_tool_png_jpg'] = 'Конвертер важких PNG у JPG (сканер файлів без прозорості)'; +$_['text_tool_placeholders'] = 'Генератор заглушок (Замість No Image)'; +$_['text_tool_exif'] = 'Очищення EXIF-даних (Геотеги/Мета)'; +$_['text_tool_small_photos'] = 'Сканер занадто дрібних фото'; +$_['text_tool_html_broken'] = 'Пошук битих картинок в HTML (Описах)'; +$_['text_tool_empty_folders'] = 'Очищення порожніх папок (image/catalog)'; +$_['text_tool_smart_cache'] = 'Розумне очищення кешу зображень'; +$_['text_tool_folder_tree'] = 'Дерево папок (Статистика ваги)'; +$_['text_tool_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load (Без БД)'; +$_['text_tool_translit'] = 'Транслітерація назв файлів'; +$_['text_tool_cache_restore'] = 'Відновлення оригіналів із Кешу'; +$_['entry_wm_type'] = 'Тип водяного знака'; +$_['text_wm_image'] = 'Зображення (PNG)'; +$_['text_wm_text'] = 'Текст'; +$_['entry_wm_image_path'] = 'Шлях до зображення'; +$_['entry_wm_text_val'] = 'Текст водяного знака'; +$_['entry_wm_position'] = 'Позиція (1-9)'; +$_['entry_wm_opacity'] = 'Прозорість (0-100)'; +$_['entry_wm_category'] = 'Тільки для Категорій'; +$_['entry_wm_brand'] = 'Тільки для Брендів'; +$_['entry_min_width'] = 'Мінімальна ширина (px)'; +$_['entry_min_height'] = 'Мінімальна висота (px)'; +$_['entry_ph_product'] = 'Заглушка для Товарів'; +$_['entry_ph_category'] = 'Заглушка для Категорій'; +$_['entry_ph_brand'] = 'Заглушка для Брендів'; +$_['button_run_tool'] = 'Запустити інструмент'; +$_['button_scan_tool'] = 'Сканувати'; +$_['button_fix_tool'] = 'Виправити знайдене'; +$_['text_th_path'] = 'Файл / Шлях'; +$_['text_th_size'] = 'Розмір'; +$_['text_th_action'] = 'Дія'; +$_['text_th_status'] = 'Статус'; +$_['text_th_problem'] = 'Проблема / Значення'; +$_['text_cron_title'] = 'Налаштування Cron'; +$_['text_cron_desc'] = 'Додайте команду в Cron хостингу для автоматичного фонового стиснення.'; +$_['entry_cron_new_only'] = 'Обробляти тільки нові (необроблені) файли'; +$_['entry_cron_folders'] = 'Папки для сканування (залиште порожнім для всього каталогу)'; +$_['text_promo_title'] = 'Інші модулі серії [NAT]'; +$_['text_promo_desc'] = 'Модулі серії [NAT] – це інструменти для глибокої оптимізації OpenCart. Ми фокусуємося на автоматизації рутини, прискоренні бази даних та очищенні серверів від сміття. Усі модулі мають відкритий вихідний код та єдину логіку управління.'; +$_['text_support'] = 'Технічна підтримка та побажання:'; +$_['button_more'] = 'Дивитися всі модулі на OpenCart.com'; +$_['button_more_forum'] = 'Opencartforum'; +$_['text_mod_cat_opt'] = 'Catalog Optimizer [NAT]'; +$_['text_mod_cat_opt_desc'] = 'Приховування порожніх категорій і брендів + SEO сортування товарів (у наявності зверху) + Очищення сміття БД.'; +$_['text_mod_new_arrivals'] = 'New Arrivals [NAT]: Новинки за датами'; +$_['text_mod_new_arrivals_desc'] = 'Автоматична SEO-сторінка новинок. Відображає новинки суворо за реальною датою додавання. Слайдери, сітка та розумний сайдбар архіву дат.'; +$_['text_mod_img_opt'] = 'Image Optimizer [NAT]'; +$_['text_mod_img_opt_desc'] = 'Поточний модуль. Стиснення та ресайз ОРИГІНАЛІВ фото (image/catalog) у WebP + Очищення хостингу від невикористаних зображень.'; +$_['text_mod_dom_scan'] = 'Domain Scanner [NAT]'; +$_['text_mod_dom_scan_desc'] = 'Пошук і чищення зовнішніх посилань і HTTP-картинок у БД та файлах теми. Ідеально для HTTPS або очищення після парсингу.'; +$_['text_mod_poll'] = 'Poll Widget [NAT]'; +$_['text_mod_poll_desc'] = 'Створення опитувань та голосувань із візуальним конструктором дизайну, глибокою статистикою та захистом від накруток.'; +$_['text_mod_db_opt'] = 'Database Optimizer [NAT]'; +$_['text_mod_db_opt_desc'] = 'Інтелектуальне очищення сміття в базі даних, управління системними логами та додавання критично важливих індексів для прискорення.'; +$_['text_mod_im_ex'] = 'Import/Export [NAT]'; +$_['text_mod_im_ex_desc'] = 'Швидкий імпорт/експорт цін і залишків з файлів xls/xlsx/csv/xml/json або за посиланням. Маппінг полів, робота по Cron, текстові функції.'; +$_['text_mod_admin_tools'] = 'Admin Tools [NAT]'; +$_['text_mod_admin_tools_desc'] = 'Зручні інструменти адміністратора: вхід під клієнтом, кастомізація адмінки, управління правами користувачів та приховування непотрібних пунктів меню.'; +$_['text_mod_utm_tracker'] = 'Order UTM Tracker [NAT]'; +$_['text_mod_utm_tracker_desc'] = 'Автоматичне відстеження UTM-міток при оформленні замовлення. Зберігає джерело переходу, кампанію, ключові слова та виводить ці дані в замовленні для аналітики реклами.'; +$_['text_info_title_promo_top_bar'] = 'Promo Top Bar [NAT]: Верхній рекламний інфо-баннер, інформаційна смуга над шапкою, рухомий рядок та топ-баннер'; +$_['text_info_desc_promo_top_bar'] = 'Створення інтерактивних промо-панелей та слайд-шоу в шапці сайту з конструктором блоків, таймерами, формою підписки та гнучким націлюванням.'; +$_['text_tool_no_image'] = 'Товари без головного фото (порожньо в БД)'; +$_['text_problem_main_broken'] = 'Бите головне фото (файл видалено)'; +$_['text_problem_add_broken'] = 'Бите дод. фото (файл видалено)'; +$_['text_problem_no_image'] = 'Відсутнє головне фото'; +$_['text_err_dir'] = 'Помилка: Директорію не знайдено або невірний шлях.'; +$_['text_err_no_queue'] = 'Помилка: Чергу не знайдено. Спочатку запустіть сканування.'; +$_['text_log_del_empty_folder'] = 'Видалено порожню папку: '; +$_['text_log_no_empty_folders'] = 'Порожніх папок в image/catalog/ не знайдено.'; +$_['text_log_total_empty_folders'] = 'Всього видалено порожніх папок: '; +$_['text_log_cache_cleared'] = 'Кеш зображень успішно очищено.'; +$_['text_log_wm_smart_mode'] = 'Вотермарки працюють в SMART-режимі: оригінали не зачіпаються, логотип накладається лише при генерації кешу.'; +$_['text_log_scan_dupes'] = 'Сканування image/catalog/ на дублікати (за хешем MD5)... Це може зайняти час.'; +$_['text_log_found_dupe'] = 'Знайдено дублікат: '; +$_['text_log_no_dupes'] = 'Дублікатів не знайдено.'; +$_['text_log_total_dupes'] = 'Знайдено дублікатів: %s. Потенційна економія: %s'; +$_['text_log_fix_dupes_prompt'] = 'Натисніть "Виправити знайдене" для перелінкування БД на оригинал та видалення дублів.'; +$_['text_log_fixed_dupe'] = 'Виправлено та видалено дублікат: '; +$_['text_log_success_dupes'] = 'Успішно виправлено дублікатів: %s. Посилання в БД оновлено.'; +$_['text_log_scan_png'] = 'Пошук важких PNG файлів без прозорості...'; +$_['text_log_no_png'] = 'Відповідних PNG файлів не знайдено.'; +$_['text_log_total_png'] = 'Знайдено PNG без прозорості: %s. Натисніть "Виправити" для конвертації в JPG.'; +$_['text_log_converted_jpg'] = 'Сконвертовано в JPG: '; +$_['text_log_success_png'] = 'Успішно сконвертовано %s файлів. Звільнено: %s'; +$_['text_log_ph_prod'] = 'Оновлено товарів заглушкою: '; +$_['text_log_ph_cat'] = 'Оновлено категорій заглушкою: '; +$_['text_log_ph_brand'] = 'Оновлено брендів заглушкою: '; +$_['text_log_ph_empty'] = 'Заглушки не вибрані в налаштуваннях.'; +$_['text_log_scan_exif'] = 'Сканування EXIF-даних (мета-теги камер)...'; +$_['text_log_stripped_exif'] = 'Очищено EXIF: '; +$_['text_log_no_exif'] = 'Файлів з EXIF для очищення не знайдено.'; +$_['text_log_success_exif'] = 'Очищено EXIF у %s файлів. Звільнено: %s'; +$_['text_log_scan_small'] = 'Пошук фото розміром менше %sx%s px...'; +$_['text_log_too_small'] = 'Занадто мале (%sx%s): '; +$_['text_log_no_small'] = 'Дрібних фото не знайдено.'; +$_['text_log_total_small'] = 'Знайдено дрібних фото: %s. Будь ласка, замініть їх на якісні.'; +$_['text_log_html_broken'] = 'Битией IMG в HTML таблиці %s (ID: %s): '; +$_['text_log_no_html_broken'] = 'Битих картинок в HTML-описах не знайдено.'; +$_['text_log_total_html_broken'] = 'Знайдено битих посилань в HTML: %s. Виправте їх вручну.'; +$_['text_log_scan_smart_cache'] = 'Пошук втрачених файлів у image/cache/...'; +$_['text_log_del_orph_cache'] = 'Видалено втрачений кеш: '; +$_['text_log_no_orph_cache'] = 'Втраченого кешу не знайдено.'; +$_['text_log_success_smart_cache'] = 'Видалено файлів втраченого кешу: %s. Звільнено: %s'; +$_['text_log_scan_translit'] = 'Пошук файлів з кирилицею або пробілами...'; +$_['text_log_no_bad_names'] = 'Файлів з некоректними іменами не знайдено.'; +$_['text_log_total_bad_names'] = 'Знайдено файлів з кирилицею/пробілами: %s. Натисніть "Виправити" для транслітерації та оновлення БД.'; +$_['text_log_renamed'] = 'Перейменовано: '; +$_['text_log_success_translit'] = 'Успішно транслітеровано файлів: %s. БД оновлено.'; +$_['text_log_scan_restore'] = 'Сканирование image/cache/ для відновлення втрачених оригіналів...'; +$_['text_log_restored_cache'] = 'Відновлено з кешу: '; +$_['text_log_no_lost_orig'] = 'Відсутніх оригіналів у кеші не знайдено.'; +$_['text_log_success_restore'] = 'Успішно відновлено оригіналів з кешу: %s.'; +$_['error_invalid_folder'] = 'Помилка: Неприпустиме ім\'я папки!'; +$_['text_formats_title'] = 'Сучасні формати (WebP & SVG)'; +$_['text_formats_desc'] = 'Налаштування інтеграції сучасних форматів у файлову систему та шаблони OpenCart.'; +$_['entry_support_svg'] = 'Підтримка завантаження SVG'; +$_['help_support_svg'] = 'Дозволяє завантаження векторних SVG-зображень через стандартний Filemanager та їх безпечне виведення на вітрині без спотворення розмірів.'; +$_['entry_support_webp'] = 'Підтримка завантаження WebP'; +$_['help_support_webp'] = 'Дозволяє вручну завантажувати, підв\'язувати та виводити на сайті готові файли .webp через Filemanager.'; +$_['entry_truefilemanager_webp'] = 'WebP у TrueFileManager'; +$_['help_truefilemanager_webp'] = 'Додає підтримку завантаження, попереднього перегляду та ескізів WebP у TrueFileManager від sitecreator (якщо його встановлено).'; +$_['entry_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load'; +$_['help_webp_on_fly'] = 'Надшвидка підміна: автоматично змінює розширення .jpg/.png на .webp прямо в HTML-виводі вітрини та додає атрибут loading="lazy". Не чіпає базу даних!'; +$_['help_tool_broken_db'] = 'Шукає в базі даних зображення, фізичні файли яких були видалені з сервера. Дозволяє очистити биті посилання.'; +$_['help_tool_empty_folders'] = 'Рекурсивно сканує директорію image/catalog/ та безпечно видаляє всі папки, в яких немає жодного файлу.'; +$_['help_tool_folder_tree'] = 'Будує дерево каталогів та показує реальну вагу кожної папки для пошуку "пожирачів" місця.'; +$_['help_tool_html_broken'] = 'Сканує HTML-описи товарів та категорій на наявність тегів з неіснуючими зображеннями.'; +$_['help_tool_small_photos'] = 'Знаходить зображення з роздільною здатністю нижче заданої. Додано посилання на пошук якісних аналогів у Google Images та Яндекс Зображеннях.'; +$_['help_tool_duplicates'] = 'Шукає повні дублікати файлів за MD5-хешем (різні назви, але однакова картинка). Дозволяє склеїти їх в один файл та оновити БД.'; +$_['help_tool_watermark'] = 'Накладення водяних знаків у SMART-режимі (тільки на кеш вітрини, оригінали не змінюються).'; +$_['help_tool_placeholders'] = 'Масово встановлює вибране зображення-заглушку для товарів та категорій, у яких взагалі немає фото.'; +$_['help_tool_png_jpg'] = 'Інструмент сканує папку зображень і знаходить важкі PNG-файли, які не мають прозорого фону (альфа-каналу). Оскільки прозорість їм не потрібна, їх можна безпечно конвертувати у формат JPG. Це значно полегшує файли (в середньому на 70-80%) та прискорює завантаження сайту, а всі посилання в базі даних автоматично оновлюються.'; +$_['help_tool_exif'] = 'Сканує EXIF-дані та видаляє з них приховані теги, зменшуючи вагу на 10-15%.'; +$_['help_tool_smart_cache'] = 'Шукає в папці image/cache/ кешовані файли, оригінали яких уже видалені, та очищає неактуальний кеш.'; +$_['help_tool_translit'] = 'Знаходить файли з кирилицею або пробілами, перейменовує їх транслітом та оновлює шляхи в БД.'; +$_['help_tool_cache_restore'] = 'Якщо ви випадково видалили оригінал з catalog, інструмент спробує знайти його копію в cache та відновити назад.'; +$_['entry_quarantine'] = 'Перемістити оригінали в Карантин (замість видалення)'; +$_['entry_backup_db'] = 'Створити бекап змінюваних таблиць у SQL перед запуском'; +$_['button_fix_selected'] = 'ВИПРАВИТИ ВИБРАНІ'; +$_['button_export_log'] = 'Експортувати в CSV'; +$_['text_th_before'] = 'Стан ДО'; +$_['text_th_after'] = 'Очікуваний результат ПІСЛЯ'; +$_['text_th_select'] = 'Дія'; +$_['text_th_preview'] = 'Передперегляд'; +$_['text_th_name'] = 'Об`єкт / Файл'; +$_['text_global_action'] = 'Групова дія для вибраних:'; +$_['text_action_clear'] = 'Очистити посилання в БД'; +$_['text_action_disable'] = 'Вимкнути (Статус = 0)'; +$_['text_action_stock'] = 'Установити "Немає в наявності"'; +$_['text_action_placeholder'] = 'Встановити заглушку'; +$_['text_action_ignore'] = 'Нічого не робити'; +$_['text_action_merge'] = 'Склеїти (видалити дублікат, залишити оригінал)'; +$_['text_action_convert'] = 'Конвертувати в JPG'; +$_['text_action_rename'] = 'Перейменувати транслітом'; +$_['text_action_delete'] = 'Видалити'; +$_['text_action_restore'] = 'Відновити'; +$_['text_db_backup_created'] = 'Створено бекап БД: %s'; +$_['text_quarantine_created'] = 'Перенесено в карантин: %s'; +$_['text_fix_status_success'] = 'Успішно виконано'; +$_['text_fix_status_error'] = 'Помилка: %s'; +$_['text_log_exported'] = 'Лог успішно експортовано!'; +$_['text_select_action'] = '-- Виберіть дію --'; +$_['error_empty_selection'] = 'Помилка: Не вибрано жодного рядка для виправлення!'; +$_['text_link_admin'] = 'Адмінка'; +$_['text_link_catalog'] = 'Вітрина'; +$_['entry_threads'] = 'Потоків обробки'; +$_['text_threads_optimal'] = 'оптимально'; +$_['button_download_zip'] = 'Завантажити ZIP-архів та видалити папку'; +$_['confirm_download_and_delete'] = 'Архів успішно завантажився? Можна видалити тимчасову папку копій на сервері?'; +$_['button_clear_backups'] = 'Видалити бекапи БД'; +$_['button_clear_backups_short'] = 'Очистити бекапи'; +$_['confirm_clear_backups'] = 'Ви впевнені, що хочете повністю видалити всі SQL-бекапи таблиць?'; +$_['text_compare_title'] = 'Порівняння зображень ДО / ПІСЛЯ'; +$_['text_compare_before'] = 'ДО'; +$_['text_compare_after'] = 'ПІСЛЯ'; +$_['text_backups_cleared'] = 'Усі SQL-бекапи таблиць успішно видалені!'; +$_['error_no_backups'] = 'Бекапи не знайдені або папка порожня.'; +$_['button_restore'] = 'Повернути'; +$_['button_empty'] = 'Очистити'; +$_['entry_wm_targets'] = 'Застосовувати водяний знак до:'; +$_['text_wm_target_product'] = 'Фото товарів'; +$_['text_wm_target_category'] = 'Фото категорій'; +$_['text_wm_target_brand'] = 'Логотипи брендів'; +$_['text_wm_target_banner'] = 'Банери та слайди'; +$_['text_wm_target_blog'] = 'Статті / Блог'; +$_['error_no_scan_data'] = 'Помилка: Дані сканування не знайдені. Спочатку запустіть сканування!'; +$_['error_row_not_found'] = 'Помилка: Об`єкт не знайдено в результатах сканування!'; +$_['error_file_not_found'] = 'Помилка: Файл не знайдено на сервері!'; +$_['text_folder_rules_title'] = 'Індивідуальні правила стиснення для папок'; +$_['text_folder_rules_desc'] = 'Ви можете перевизначити якість та максимальні розміри для конкретних папок. Якщо залишити поле порожнім, використовуватиметься глобальне налаштування. Шлях вказується відносно папки image (наприклад, catalog/banners/).'; +$_['entry_folder_path'] = 'Шлях до папки'; +$_['entry_jpg_quality'] = 'Якість JPG'; +$_['entry_webp_quality'] = 'Якість WebP'; +$_['button_add_rule'] = 'Додати правило'; +$_['button_remove'] = 'Вилучити'; +$_['entry_wm_angle'] = 'Кут нахилу водяного знака (градуси)'; +$_['entry_wm_corner_radius'] = 'Закруглення кутів водяного знака (px)'; +$_['entry_wm_size_type'] = 'Масштабування водяного знака'; +$_['entry_wm_size_percent'] = 'Розмір водяного знака (% від ширини зображення)'; +$_['entry_wm_text_color'] = 'Колір тексту водяного знака'; +$_['entry_wm_text_font'] = 'Шрифт водяного знака (TTF)'; +$_['entry_wm_filter_mode'] = 'Режим фільтрації Категорій/Брендів'; +$_['text_wm_filter_include'] = 'Тільки для вибраних'; +$_['text_wm_filter_exclude'] = 'Для всіх, крім вибраних'; +$_['text_wm_size_original'] = 'Оригінальний розмір'; +$_['text_wm_size_percent'] = 'Пропорційно ширині зображення (%)'; +$_['button_preview_watermark'] = 'Попередній перегляд'; +$_['text_wm_preview_title'] = 'Попередній перегляд водяного знака'; +$_['text_cron_exclude_folders'] = 'Виключити папки зі сканування'; +$_['text_cron_entities'] = 'Які типи фото обробляти?'; +$_['text_cron_quality_override'] = 'Перевизначити параметри стиснення для Крона'; +$_['text_cron_recommendations'] = 'Рекомендації щодо розкладу Cron'; +$_['text_cron_recommendations_desc'] = ''; +$_['text_tool_broken_files'] = 'Сканер битих/порожніх файлів на сервері'; +$_['help_tool_broken_files'] = 'Сканує фізичні файли в папці image/catalog/ на наявність пошкоджених зображень або порожніх файлів розміром 0 байт.'; +$_['text_grid_broken_file'] = 'Битий або порожній файл на сервері'; +$_['text_grid_broken_file_after'] = 'Вилучення або заміна заглушкою'; +$_['text_description_broken_files'] = 'Результати сканування фізичних файлів у папці image/catalog/. Тут відображаються биті (пошкоджені) зображення або файли розміром 0 байт.'; +$_['text_action_strip'] = 'Очистити EXIF'; +$_['text_action_set_placeholder'] = 'Встановити заглушку'; +$_['text_th_entity'] = 'Об`єкт / Пов`язані посилання'; +$_['text_cron_entity_product'] = 'Товари'; +$_['text_cron_entity_category'] = 'Категорії'; +$_['text_cron_entity_manufacturer'] = 'Виробники / Бренди'; +$_['text_cron_entity_banner'] = 'Банери'; +$_['text_cron_entity_blog'] = 'Блог / Статті'; +$_['entry_cron_jpg_quality'] = 'Якість JPG (Крон)'; +$_['entry_cron_webp_quality'] = 'Якість WebP (Крон)'; +$_['entry_cron_max_width'] = 'Макс. ширина px (Крон)'; +$_['entry_cron_max_height'] = 'Макс. висота px (Крон)'; +$_['text_cron_folder_scan'] = 'Папки для сканування'; +$_['text_no_fonts'] = 'TTF-шрифти не знайдено в system/library/font/'; +$_['button_apply'] = 'Застосувати'; +$_['text_backup_will_be_created'] = 'Резервна копія бази даних буде автоматично створена перед виконанням цієї дії.'; +$_['text_bulk_action'] = 'Групова дія для вибраних'; +$_['text_grid_results'] = 'Результати та деталі сканування'; +$_['text_quarantine_will_be_created'] = 'Оригінальні файли будуть переміщені в карантин (image/catalog_trash/) перед зміною.'; +$_['text_success_apply'] = 'Зміни успішно застосовані!'; +$_['text_description_broken'] = 'Результати сканування бази даних на наявність битих посилань (записи в таблицях з неіснуючими файлами).'; +$_['text_description_cache_restore'] = 'Результати пошуку файлів у кеші, оригінали яких відсутні в каталозі.'; +$_['text_description_duplicates'] = 'Результати пошуку повних дублікатів зображень за MD5-хешем.'; +$_['text_description_empty_folders'] = 'Список порожніх папок в директорії image/catalog/ для видалення.'; +$_['text_description_exif'] = 'Результати пошуку зображень з метаданими EXIF, які можна очистити.'; +$_['text_description_folder_tree'] = 'Статистика розміру папок у каталозі image/catalog/.'; +$_['text_description_html_broken'] = 'Результати пошуку неіснуючих файлів картинок, на які посилаються описи в HTML.'; +$_['text_description_placeholders'] = 'Результати пошуку сутностей без зображень для заповнення заглушками.'; +$_['text_description_png_jpg'] = 'Результати пошуку важких зображень PNG без прозорості, які можна перетиснути в JPG.'; +$_['text_description_small_photos'] = 'Список зображень, розміри яких менше мінімально заданих (%sx%s px).'; +$_['text_description_smart_cache'] = 'Результати пошуку файлів кешу, оригінали яких уже було видалено.'; +$_['text_description_translit'] = 'Результати пошуку файлів з кирилицею або пробілами в назвах.'; +$_['text_grid_broken_db_after'] = 'Очистити посилання або встановити заглушку'; +$_['text_grid_dupe_after'] = 'Оригінал (залишається)'; +$_['text_grid_dupe_before'] = 'Дублікат (буде видалено)'; +$_['text_grid_empty_folder'] = 'Порожня папка'; +$_['text_grid_empty_folder_after'] = 'Вилучити порожню папку'; +$_['text_grid_exif_after'] = 'Очистити метадані'; +$_['text_grid_exif_before'] = 'Містить EXIF'; +$_['text_grid_html_after'] = 'Виправити посилання вручну'; +$_['text_grid_missing_file'] = 'Файл відсутній'; +$_['text_grid_missing_html'] = 'Картинка не знайдена в описі'; +$_['text_grid_missing_orig'] = 'Оригінал відсутній'; +$_['text_grid_missing_orig_after'] = 'Відновити оригінал з кешу'; +$_['text_grid_no_image'] = 'Немає зображення (порожньо)'; +$_['text_grid_orph_cache'] = 'Осиротілий кеш'; +$_['text_grid_orph_cache_after'] = 'Видалити непотрібний кеш'; +$_['text_grid_ph_brand_after'] = 'Встановити заглушку бренду'; +$_['text_grid_ph_category_after'] = 'Встановити заглушку категорії'; +$_['text_grid_ph_product_after'] = 'Встановити заглушку товару'; +$_['text_grid_small_photo_after'] = 'Рекомендується замінити на більше'; +$_['text_grid_too_small'] = 'Занадто мале'; +$_['text_no_relations'] = 'Немає зв’язків у БД'; +$_['text_action_archive'] = 'Архівувати (в ZIP)'; +$_['text_action_archive_delete'] = 'Архівувати + Видалити'; +$_['text_tool_sanitizer'] = 'Санитайзер імен файлів'; +$_['help_tool_sanitizer'] = 'Масове очищення імен файлів і папок від кирилиці, пробілів та спецсимволів, приведення розширень до єдиного вигляду.'; +$_['text_description_sanitizer'] = 'Результати аналізу імен файлів для санітаризації за вибраними правилами.'; +$_['entry_sz_translit'] = 'Транслітерація (кирилиця в латиницю)'; +$_['entry_sz_spaces'] = 'Замінювати пробіли на символ "_"'; +$_['entry_sz_special'] = 'Видаляти спеціальні символи'; +$_['entry_sz_lowercase_name'] = 'Ім`я файлу в нижній регістр'; +$_['entry_sz_lowercase_ext'] = 'Розширення в нижній регістр'; +$_['entry_sz_normalize_ext'] = 'Нормалізувати розширення (jpeg -> jpg)'; +$_['entry_cron_folder_mode'] = 'Режим фільтрації папок'; +$_['text_cron_folder_mode_exclude'] = 'Сканувати все, крім вибраних (Винятки)'; +$_['text_cron_folder_mode_include'] = 'Сканирувати тільки вибрані папки'; +$_['button_select_all'] = 'Вибрати всі'; +$_['button_deselect_all'] = 'Зняти всі'; +$_['entry_wm_upload_font'] = 'Завантажити свій шрифт TTF'; +$_['button_upload_font'] = 'Завантажити шрифт'; +$_['text_success_font_upload'] = 'Шрифт успішно завантажено!'; +$_['error_font_upload'] = 'Помилка завантаження шрифту! Дозволені тільки файли .ttf вагою до 5 МБ.'; +$_['entry_lazy_load'] = 'Прогресивне лениве завантаження'; +$_['help_lazy_load'] = 'Вмикає преміальне прогресивне відкладене завантаження на вітрині. Зображення замінюються на мікро-прев\'ю та плавно розмиваються (blur-up), підвантажуючись у міру прокручування.'; +$_['confirm_replace_mode'] = 'УВАГА! Ви обрали режим «Замінювати оригінали». Усі зображення будуть перезаписані безпосередньо на сервері. Наполегливо рекомендуємо зробити резервну копію. Ви впевнені, що хочете продовжити?'; +$_['text_compare'] = 'Порівняти'; +$_['text_home'] = 'Головна'; +$_['text_tech_gd'] = 'Бібліотека GD'; +$_['text_tech_imagick'] = 'Imagick'; +$_['text_tech_webp'] = 'Підтримка WebP'; +$_['text_position_1'] = '1 - Зліва вгорі'; +$_['text_position_2'] = '2 - По центру вгорі'; +$_['text_position_3'] = '3 - Справа вгорі'; +$_['text_position_4'] = '4 - Зліва посередині'; +$_['text_position_5'] = '5 - По центру'; +$_['text_position_6'] = '6 - Справа посередині'; +$_['text_position_7'] = '7 - Зліва внизу'; +$_['text_position_8'] = '8 - По центру внизу'; +$_['text_position_9'] = '9 - Справа внизу'; + +$_['entry_log_level'] = 'Рівень логу'; +$_['text_log_changed_only'] = 'Тільки змінені'; +$_['text_log_all'] = 'Всі файли (детально)'; +$_['text_skipped_no_gain'] = 'Пропущено (без покращення)'; +$_['text_reset_cache_hint'] = 'Скинути кеш оптимізації (повне пересканування)'; +$_['confirm_reset_cache'] = 'Скинути кеш оптимізації? Наступне сканування перевірить ВСІ файли знову.'; +$_['text_cache_cleared'] = 'Кеш оптимізації очищено. Наступне сканування перевірить всі файли.'; +$_['error_wm_preview'] = 'Помилка генерації прев\'ю водяного знаку.'; +$_['error_wm_too_large'] = 'Зображення водяного знаку занадто велике (%dx%d px)! Максимально допустимий розмір: %dx%d px.'; +$_['text_apply_errors_warning'] = 'УВАГА: Деякі файли не вдалося замінити (заблоковані або немає прав):'; +$_['text_action_compress'] = 'Стиснути зображення'; +$_['text_estimated'] = 'Прогноз'; +$_['entry_min_savings_bytes'] = 'Мін. стиснення (байт)'; +$_['entry_min_savings_percent'] = 'Мін. стиснення (%)'; +$_['text_optimized'] = 'Оптимізовано'; +$_['entry_broken_fallback'] = 'Заглушка для битих фото'; +$_['help_broken_fallback'] = 'Автоматично замінює відсутні або пошкоджені зображення каталогу на вітрині на зображення-заглушку.'; +$_['entry_fallback_image'] = 'Зображення-заглушка'; +$_['help_fallback_image'] = 'Виберіть зображення, яке буде показано, якщо оригінальний файл картинки товару чи категорії відсутній. За замовчуванням використовується no_image.png.'; +$_['text_tool_cmyk'] = 'Конвертер CMYK в RGB'; +$_['help_tool_cmyk'] = 'Конвертація JPEG зображень з колірного профілю CMYK в sRGB для коректного відображення в браузерах Safari та на пристроях iOS.'; +$_['text_tool_heavy_files'] = 'Пошук важких файлів'; +$_['help_tool_heavy_files'] = 'Пошук найважчих оригінальних зображень у каталозі з можливістю їх швидкого стиснення безпосередньо тут.'; +$_['entry_heavy_files_limit'] = 'Макс. кількість знайдених файлів (всього)'; +$_['text_action_convert_rgb'] = 'Конвертувати в RGB'; +$_['text_description_cmyk'] = 'Знайдено файли в колірному просторі CMYK. Конвертація в sRGB гарантує колірне відображення на всіх платформах, включаючи iOS/macOS.'; +$_['text_description_heavy'] = 'Список із %d найважчих файлів у каталозі зображень. Ви можете оптимізувати їх безпосередньо тут.'; +$_['text_cron_folder_hint_exclude_all'] = 'Статус: Скануватимуться всі папки (винятки не обрані).'; +$_['text_cron_folder_hint_exclude_some'] = 'Статус: Скануватимуться всі папки, ОКРІМ %d позначених.'; +$_['text_cron_folder_hint_include_some'] = 'Статус: Скануватимуться тільки %d позначених папок.'; +$_['text_cron_folder_hint_include_none'] = 'УВАГА: Жодної папки не обрано! Крон нічого не буде сканувати.'; +$_['text_action_apply_changes'] = 'Застосувати вказані зміни'; +$_['entry_wm_status'] = 'Статус водяного знака'; +$_['text_disabled'] = 'Відключено'; +$_['entry_rule_name'] = 'Назва правила'; +$_['entry_rule_status'] = 'Статус правила'; +$_['entry_action'] = 'Дія'; +$_['entry_ph_status'] = 'Статус заглушок'; +$_['entry_sanitizer_limit'] = 'Макс. файлів для пошуку (ліміт)'; +$_['entry_heavy_files_min_size'] = 'Мінимальний розмір'; +$_['entry_png_jpg_limit'] = 'Макс. файлів для пошуку (ліміт)'; +$_['entry_png_jpg_min_size'] = 'Мінімальний розмір'; +$_['text_wm_rule_title'] = 'Правило водяного знака'; +$_['button_close'] = 'Закрити'; +$_['text_ph_rule_title'] = 'Правило заглушки'; +$_['entry_ph_image'] = 'Зображення заглушки'; +$_['button_clear_cache_wm'] = 'Очистити кеш (застосувати водяний знак)'; +$_['text_active'] = 'Активна'; +$_['text_error'] = 'Не активна'; +$_['text_th_dupe_delete'] = 'Файл для видалення (Дублікат)'; +$_['text_th_dupe_keep'] = 'Файл для збереження (Оригінал)'; +$_['text_dupe_original_label'] = 'Оригінал'; +$_['text_dupe_duplicate_label'] = 'Дублікат'; + +$_['text_disk_usage'] = 'Використання диска'; +$_['text_cumulative_stats'] = 'Статистика оптимізації'; +$_['text_disk_catalog'] = 'Каталог зображень'; +$_['text_disk_cache'] = 'Кеш OC'; +$_['text_disk_trash'] = 'Кошик модуля'; +$_['text_disk_other'] = 'Інше'; +$_['text_disk_free'] = 'Вільно'; +$_['text_total_files_opt'] = 'Файлів оброблено'; +$_['text_total_saved'] = 'Всього зекономлено'; +$_['text_avg_saving_pct'] = 'Середня економія'; +$_['text_stats_hint'] = 'Статистика накопичується по всіх сесіях (зберігається локально в браузері)'; +$_['text_reset_stats'] = 'Скинути статистику'; +$_['text_reset_stats_confirm']= 'Скинути накопичену статистику оптимізації?'; +$_['text_export_import'] = 'Експорт / Імпорт налаштувань'; +$_['button_export_settings'] = 'Експорт налаштувань (JSON)'; +$_['button_import_settings'] = 'Імпортувати налаштування'; +$_['help_export_settings'] = 'Завантажити всі налаштування модуля в JSON-файл'; +$_['help_import_settings'] = 'Завантажити раніше експортований JSON для відновлення налаштувань'; +$_['text_import_success'] = 'Налаштування успішно імпортовані. Перезавантажте сторінку для застосування.'; +$_['error_import_file'] = 'Файл не завантажено або помилка завантаження'; +$_['error_import_invalid'] = 'Некоректний файл налаштувань (невірний модуль або формат)'; +$_['text_click_to_load'] = 'Натисніть ↑ для завантаження даних диска'; + + +$_['tab_formats'] = 'Формати зображень'; + +$_['text_disk_quota_legend'] = 'Ліміти диска хостингу (вручну)'; +$_['text_disk_quota_desc'] = 'Якщо графік дискового простору показує некоректні дані (фізичний диск сервера замість ліміту вашого хостингу), ви можете вказати ліміти вашого тарифу вручну. Вкажіть 0, щоб використовувати автовизначення.'; +$_['entry_disk_quota_total'] = 'Виділено диска на хостингу (ГБ)'; +$_['entry_disk_quota_used'] = 'Зайнято диска на хостингу всього (ГБ)'; +$_['entry_auto_disk'] = 'Автооновлення при вході'; + +// Cron Tasks +$_['entry_cron_task_name'] = 'Назва задачі'; +$_['entry_cron_task_summary'] = 'Параметри стиснення'; +$_['button_add_cron_task'] = 'Додати задачу'; +$_['button_copy_cron_url'] = 'Копіювати URL'; +$_['text_cron_recommended_url'] = 'URL для запуску задачі крону:'; + +// Licensing +$_['text_license_required'] = 'Необхідний ліцензійний ключ'; +$_['text_license_required_desc'] = 'Будь ласка, введіть ліцензійний ключ для активації модуля. Усі функції налаштувань та оптимізації заблоковані до введення валідного ключа.'; +$_['entry_token_desc'] = 'Введіть токен активації, виданий для вашого основного домену. Ви можете отримати його в особистому кабінеті на форумі або звернувшись у підтримку.'; +$_['button_activate'] = 'Активувати модуль'; +$_['text_support'] = 'Технічна підтримка'; +$_['text_support_desc'] = 'Якщо у вас ще немає ключа або виникли проблеми, будь ласка, повідомте номер вашого замовлення та домен.'; + +// New settings +$_['entry_wm_max_width'] = 'Макс. ширина водяного знака (px)'; +$_['entry_wm_max_height'] = 'Макс. висота водяного знака (px)'; +$_['help_wm_max_width'] = 'Якщо вихідне зображення водяного знака перевищує цю ширину, воно буде автоматично масштабоване. Вкажіть 0 або залиште порожнім для значення за замовчуванням (800px).'; +$_['help_wm_max_height'] = 'Якщо вихідне зображення водяного знака перевищує цю висоту, воно буде автоматично масштабоване. Вкажіть 0 або залиште порожнім для значення за замовчуванням (800px).'; +$_['entry_disk_status'] = 'Увімкнути сканування диска та графік'; +$_['help_disk_status'] = 'Якщо увімкнено, модуль періодично скануватиме обсяг папки картинок та відображатиме круговую діаграму. Рекомендується вимкнути на великих сайтах для прискорення завантаження панелі.'; +$_['text_disk_settings_title'] = 'Налаштування лімітів та сканування диска'; + diff --git a/upload/admin/language/uk_ua/module/img_opti.php b/upload/admin/language/uk_ua/module/img_opti.php new file mode 100644 index 0000000..a563c9d --- /dev/null +++ b/upload/admin/language/uk_ua/module/img_opti.php @@ -0,0 +1,567 @@ +Image Optimizer [NAT]: Стиснення оригіналів та видалення сміття'; +$_['text_extension'] = 'Розширення'; +$_['text_edit'] = 'Налаштування модуля'; +$_['text_success'] = 'Налаштування успішно збережено!'; +$_['entry_warning'] = 'УВАГА: Обов`язково зробіть бекап файлів сайту і особливо папки /image/catalog перед початком роботи!'; +$_['text_tech'] = 'Перевірка технологій сервера:'; +$_['text_author'] = 'Технічна підтримка та побажання: info@nat.od.ua'; +$_['tab_optimize'] = 'Оптимізація та Ресайз'; +$_['tab_cleaner'] = 'Очищення невикористовуваних зображень'; +$_['tab_info'] = 'Інфо / Екосистема [NAT]'; +$_['tab_settings'] = 'Налаштування'; +$_['tab_tools'] = 'Інструменти (pro)'; +$_['tab_cron'] = 'Крон-завдання'; +$_['entry_mode'] = 'Режим роботи'; +$_['text_copy'] = 'Створити копію (безпечно)'; +$_['text_replace'] = 'Замінювати оригінали (потребує бекап!)'; +$_['entry_folder'] = 'Ім`я папки для копії'; +$_['entry_batch'] = 'Файлів за прохід'; +$_['entry_log_limit'] = 'Рядків логу на екрані'; +$_['entry_max_width'] = 'Макс. ширина (px) [0 - без ліміту]'; +$_['entry_max_height'] = 'Макс. висота (px) [0 - без ліміту]'; +$_['entry_jpg'] = 'Якість JPG (0-100)'; +$_['entry_png'] = 'Стиснення PNG (0-9)'; +$_['entry_webp'] = 'Якість WebP (0-100)'; +$_['entry_targets'] = 'Що оптимізувати?'; +$_['text_all_catalog'] = '[ Весь каталог image/catalog ]'; +$_['text_root_files'] = 'Файли тільки в корені image/catalog'; +$_['entry_threshold'] = 'Поріг заміни (%)'; +$_['help_threshold'] = '0: замінювати тільки якщо вага стала меншою. 10: дозволити збільшення ваги до 10%.'; +$_['entry_token'] = 'Токен активації (на корінь домену)'; +$_['entry_status'] = 'Статус модуля'; +$_['entry_menu_position'] = 'Позиція меню [NAT]'; +$_['text_menu_module_only'] = 'Тільки в модулях'; +$_['text_menu_header'] = 'У шапці (Header)'; +$_['text_menu_sidebar'] = 'У бічному меню (Sidebar)'; +$_['text_menu_both'] = 'Скрізь (Шапка + Сайдбар)'; +$_['text_status_on'] = 'Увімкнено'; +$_['text_status_off'] = 'Вимкнено'; +$_['entry_engine'] = 'Рушій обробки зображень'; +$_['text_engine_gd'] = 'GD (Стандарт)'; +$_['text_engine_imagick'] = 'Imagick (Висока якість, збереження профілів sRGB)'; +$_['entry_license'] = 'Ліцензія'; +$_['text_cleaner_info'] = 'Цей інструмент шукає файли, які фізично існують на диску, але ніде не використовуються в базі даних або файлах шаблону.'; +$_['entry_clean_targets'] = 'В яких папках шукати сміття?'; +$_['entry_extended_log'] = 'Розширений лог (показати використовувані photo і де вони знайдені)'; +$_['entry_process_broken'] = 'Враховувати файли з битим кодуванням (імена з символом "?")'; +$_['button_scan_trash'] = 'ЗНАЙТИ СМІТТЯ'; +$_['button_quarantine'] = 'В Карантин (Безпечно)'; +$_['button_delete_trash'] = 'Видалити назавжди'; +$_['button_empty_quarantine'] = 'Очистити папку Карантину'; +$_['button_restore_quarantine'] = 'Повернути з Карантину'; +$_['text_scan_result'] = 'Результати сканування'; +$_['text_trash_files'] = 'Сміттєвих файлів: '; +$_['text_trash_size'] = 'Потенційно звільниться: '; +$_['button_start'] = 'СТАРТ ОПТИМІЗАЦІЇ'; +$_['button_pause'] = 'ПАУЗА'; +$_['button_stop'] = 'ЗУПИНИТИ'; +$_['button_continue'] = 'ПРОДОВЖИТИ'; +$_['button_start_new'] = 'СТАРТ (Новий запуск)'; +$_['button_download_log'] = 'Завантажити лог в TXT'; +$_['button_download'] = 'Завантажити'; +$_['button_save'] = 'Зберегти'; +$_['button_cancel'] = 'Скасувати'; +$_['text_progress'] = 'Прогрес:'; +$_['text_old_size'] = 'Було:'; +$_['text_new_size'] = 'Стало:'; +$_['text_savings'] = 'Економія:'; +$_['text_detailed_log'] = 'Детальний лог'; +$_['text_page'] = 'Стор.'; +$_['text_waiting'] = 'Очікування запуску...'; +$_['text_enabled'] = 'Увімкнено'; +$_['text_disabled_error'] = 'Вимкнено (ПОМИЛКА)'; +$_['text_supported'] = 'Підтримується'; +$_['text_no'] = 'Ні'; +$_['error_permission'] = 'У вас немає прав для керування модулем!'; +$_['error_license'] = 'Помилка доступу: Невірний токен активації для цього домену!'; +$_['error_domain'] = ' (Домен: '; +$_['text_found'] = 'Знайдено файлів: '; +$_['text_compressed'] = 'Стиснуто'; +$_['text_original'] = 'Оригінал'; +$_['text_error_process'] = 'Помилка обробки: '; +$_['error_log_empty'] = 'Лог порожній! Спочатку запустіть процес.'; +$_['text_report_header'] = '=== ЗВІТ ==='; +$_['text_total_files'] = 'Всього файлів: '; +$_['text_searching'] = 'Пошук файлів...'; +$_['error_ajax'] = 'Помилка: '; +$_['text_resumed'] = '▶ ПРОЦЕС ВІДНОВЛЕНО...'; +$_['text_paused'] = '⏸ ПАУЗА. Процес призупинено.'; +$_['confirm_stop'] = 'Ви впевнені, що хочете повністю перервати процес?'; +$_['confirm_delete'] = 'УВАГА! Файли будуть видалені з сервера назавжди без можливості відновлення! Продовжити?'; +$_['confirm_empty_q'] = 'Ви впевнені, що хочете повністю очистити папку карантину?'; +$_['confirm_restore'] = 'Всі файли з папки карантину будуть повернуті на свої місця. Продовжити?'; +$_['button_stopping'] = 'Зупинка...'; +$_['text_stopped_user'] = '🛑 ПРОЦЕС ПЕРЕРВАНО КОРИСТУВАЧЕМ!'; +$_['text_increase'] = 'Збільшення'; +$_['text_done'] = '✅ ГОТОВО! Процес завершено.'; +$_['error_timeout'] = 'Таймаут сервера. Автоповтор через 3 секунди...'; +$_['text_building_index'] = 'Крок 1/2: Індексація БД та шаблонів (пошук фото, що використовуються)...'; +$_['text_comparing'] = 'Крок 2/2: Порівняння фізичних файлів з індексом...'; +$_['text_quarantine_done'] = '✅ Процес перенесення в image/catalog_trash/ завершено!'; +$_['text_deleted_done'] = '✅ Процес видалення сміття завершено!'; +$_['text_quarantine_empty'] = '✅ Папку карантину успішно видалено з сервера!'; +$_['text_restore_done'] = '✅ Файли успішно повернуто з карантину в робочу папку!'; +$_['text_quarantine_move'] = 'В карантині: '; +$_['text_deleted_file'] = 'Видалено: '; +$_['text_no_trash'] = 'У вибраних папках сміття не знайдено! Всі файли використовуються.'; +$_['text_scanning_dirs'] = 'Скануємо директорії: '; +$_['text_log_used'] = '[ВИКОРИСТОВУЄТЬСЯ]'; +$_['text_log_trash'] = '[СМІТТЯ]'; +$_['text_log_deleted'] = '[ВИДАЛЕНО]'; +$_['text_log_del_err'] = '[ПОМИЛКА ВИДАЛЕННЯ]'; +$_['text_log_quarantine'] = '[В КАРАНТИН]'; +$_['text_log_q_err'] = '[ПОМИЛКА ПЕРЕНЕСЕННЯ]'; +$_['text_log_restored'] = '[ВІДНОВЛЕНО]'; +$_['text_log_rest_err'] = '[ПОМИЛКА ВІДНОВЛЕННЯ]'; +$_['text_used_in'] = 'у: '; +$_['text_analyzing'] = 'Аналіз бази даних...'; +$_['text_clean_empty'] = 'Чисто! Сміття немає.'; +$_['text_processing'] = 'Обробка...'; +$_['text_restoring'] = 'Відновлення файлів...'; +$_['text_all_folders'] = 'image/catalog/ (Та всі вкладені)'; +$_['text_root_folder'] = 'image/catalog/ (Тільки корінь)'; +$_['text_q_empty_err'] = 'Папка карантину порожня або не існує.'; +$_['error_token'] = 'Невірний токен. Перезавантажте сторінку.'; +$_['text_apply_title'] = 'Оптимізацію завершено в папку: '; +$_['text_apply_info'] = 'Перевірте результат. Якщо все влаштовує — застосуйте зміни до основного каталогу.'; +$_['entry_apply_backup'] = 'Перенести зі створенням бекапу (в Карантин)'; +$_['entry_apply_replace'] = 'Замінити оригінали безповоротно'; +$_['button_apply_main'] = 'ЗАСТОСУВАТИ ДО ОСНОВНОГО КАТАЛОГУ'; +$_['button_delete_copies'] = 'Видалити тимчасові копії (скасування)'; +$_['button_full_cleanup'] = 'Повне очищення всіх тимчасових папок та бекапів'; +$_['text_apply_success'] = '✅ Файли успішно перенесено. '; +$_['text_apply_backup_ok'] = 'Оригінали збережено в папку: '; +$_['text_apply_no_backup'] = 'Оригінали видалено.'; +$_['text_error_source'] = 'Помилка: Папку з оптимізованими файлами не знайдено.'; +$_['confirm_full_cleanup'] = 'УВАГА! Ця дія безповоротно видалить УСІ папки бекапів (backup_*) та тимчасові папки з копіями. Продовжити?'; +$_['text_tools_desc'] = 'Глобальні сканери та інструменти для роботи з файловою системою і БД зображень.'; +$_['text_tool_select'] = 'Виберіть інструмент:'; +$_['text_group_scanners'] = 'Сканери та Аналіз'; +$_['text_group_generators'] = 'Генератори та Обробка'; +$_['text_group_experimental'] = 'Експериментальні функції (BETA)'; +$_['text_experimental_warn'] = 'Увага: Експериментальні функції зачіпають системні файли або базу даних. Настійно рекомендується зробити бекап!'; +$_['text_tool_broken_db'] = 'Сканер битих/порожніх фото БД'; +$_['text_tool_watermark'] = 'Динамічний Вотермарк (Тільки на кеш)'; +$_['text_tool_duplicates'] = 'Поиск дубликатов файлов (за MD5)'; +$_['text_tool_png_jpg'] = 'Конвертер важких PNG у JPG (сканер файлів без прозорості)'; +$_['text_tool_placeholders'] = 'Генератор заглушок (Замість No Image)'; +$_['text_tool_exif'] = 'Очищення EXIF-даних (Геотеги/Мета)'; +$_['text_tool_small_photos'] = 'Сканер занадто дрібних фото'; +$_['text_tool_html_broken'] = 'Пошук битих картинок в HTML (Описах)'; +$_['text_tool_empty_folders'] = 'Очищення порожніх папок (image/catalog)'; +$_['text_tool_smart_cache'] = 'Розумне очищення кешу зображень'; +$_['text_tool_folder_tree'] = 'Дерево папок (Статистика ваги)'; +$_['text_tool_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load (Без БД)'; +$_['text_tool_translit'] = 'Транслітерація назв файлів'; +$_['text_tool_cache_restore'] = 'Відновлення оригіналів із Кешу'; +$_['entry_wm_type'] = 'Тип водяного знака'; +$_['text_wm_image'] = 'Зображення (PNG)'; +$_['text_wm_text'] = 'Текст'; +$_['entry_wm_image_path'] = 'Шлях до зображення'; +$_['entry_wm_text_val'] = 'Текст водяного знака'; +$_['entry_wm_position'] = 'Позиція (1-9)'; +$_['entry_wm_opacity'] = 'Прозорість (0-100)'; +$_['entry_wm_category'] = 'Тільки для Категорій'; +$_['entry_wm_brand'] = 'Тільки для Брендів'; +$_['entry_min_width'] = 'Мінімальна ширина (px)'; +$_['entry_min_height'] = 'Мінімальна висота (px)'; +$_['entry_ph_product'] = 'Заглушка для Товарів'; +$_['entry_ph_category'] = 'Заглушка для Категорій'; +$_['entry_ph_brand'] = 'Заглушка для Брендів'; +$_['button_run_tool'] = 'Запустити інструмент'; +$_['button_scan_tool'] = 'Сканувати'; +$_['button_fix_tool'] = 'Виправити знайдене'; +$_['text_th_path'] = 'Файл / Шлях'; +$_['text_th_size'] = 'Розмір'; +$_['text_th_action'] = 'Дія'; +$_['text_th_status'] = 'Статус'; +$_['text_th_problem'] = 'Проблема / Значення'; +$_['text_cron_title'] = 'Налаштування Cron'; +$_['text_cron_desc'] = 'Додайте команду в Cron хостингу для автоматичного фонового стиснення.'; +$_['entry_cron_new_only'] = 'Обробляти тільки нові (необроблені) файли'; +$_['entry_cron_folders'] = 'Папки для сканування (залиште порожнім для всього каталогу)'; +$_['text_promo_title'] = 'Інші модулі серії [NAT]'; +$_['text_promo_desc'] = 'Модулі серії [NAT] – це інструменти для глибокої оптимізації OpenCart. Ми фокусуємося на автоматизації рутини, прискоренні бази даних та очищенні серверів від сміття. Усі модулі мають відкритий вихідний код та єдину логіку управління.'; +$_['text_support'] = 'Технічна підтримка та побажання:'; +$_['button_more'] = 'Дивитися всі модулі на OpenCart.com'; +$_['button_more_forum'] = 'Opencartforum'; +$_['text_mod_cat_opt'] = 'Catalog Optimizer [NAT]'; +$_['text_mod_cat_opt_desc'] = 'Приховування порожніх категорій і брендів + SEO сортування товарів (у наявності зверху) + Очищення сміття БД.'; +$_['text_mod_new_arrivals'] = 'New Arrivals [NAT]: Новинки за датами'; +$_['text_mod_new_arrivals_desc'] = 'Автоматична SEO-сторінка новинок. Відображає новинки суворо за реальною датою додавання. Слайдери, сітка та розумний сайдбар архіву дат.'; +$_['text_mod_img_opt'] = 'Image Optimizer [NAT]'; +$_['text_mod_img_opt_desc'] = 'Поточний модуль. Стиснення та ресайз ОРИГІНАЛІВ фото (image/catalog) у WebP + Очищення хостингу від невикористаних зображень.'; +$_['text_mod_dom_scan'] = 'Domain Scanner [NAT]'; +$_['text_mod_dom_scan_desc'] = 'Пошук і чищення зовнішніх посилань і HTTP-картинок у БД та файлах теми. Ідеально для HTTPS або очищення після парсингу.'; +$_['text_mod_poll'] = 'Poll Widget [NAT]'; +$_['text_mod_poll_desc'] = 'Створення опитувань та голосувань із візуальним конструктором дизайну, глибокою статистикою та захистом від накруток.'; +$_['text_mod_db_opt'] = 'Database Optimizer [NAT]'; +$_['text_mod_db_opt_desc'] = 'Інтелектуальне очищення сміття в базі даних, управління системними логами та додавання критично важливих індексів для прискорення.'; +$_['text_mod_im_ex'] = 'Import/Export [NAT]'; +$_['text_mod_im_ex_desc'] = 'Швидкий імпорт/експорт цін і залишків з файлів xls/xlsx/csv/xml/json або за посиланням. Маппінг полів, робота по Cron, текстові функції.'; +$_['text_mod_admin_tools'] = 'Admin Tools [NAT]'; +$_['text_mod_admin_tools_desc'] = 'Зручні інструменти адміністратора: вхід під клієнтом, кастомізація адмінки, управління правами користувачів та приховування непотрібних пунктів меню.'; +$_['text_mod_utm_tracker'] = 'Order UTM Tracker [NAT]'; +$_['text_mod_utm_tracker_desc'] = 'Автоматичне відстеження UTM-міток при оформленні замовлення. Зберігає джерело переходу, кампанію, ключові слова та виводить ці дані в замовленні для аналітики реклами.'; +$_['text_info_title_promo_top_bar'] = 'Promo Top Bar [NAT]: Верхній рекламний інфо-баннер, інформаційна смуга над шапкою, рухомий рядок та топ-баннер'; +$_['text_info_desc_promo_top_bar'] = 'Створення інтерактивних промо-панелей та слайд-шоу в шапці сайту з конструктором блоків, таймерами, формою підписки та гнучким націлюванням.'; +$_['text_tool_no_image'] = 'Товари без головного фото (порожньо в БД)'; +$_['text_problem_main_broken'] = 'Бите головне фото (файл видалено)'; +$_['text_problem_add_broken'] = 'Бите дод. фото (файл видалено)'; +$_['text_problem_no_image'] = 'Відсутнє головне фото'; +$_['text_err_dir'] = 'Помилка: Директорію не знайдено або невірний шлях.'; +$_['text_err_no_queue'] = 'Помилка: Чергу не знайдено. Спочатку запустіть сканування.'; +$_['text_log_del_empty_folder'] = 'Видалено порожню папку: '; +$_['text_log_no_empty_folders'] = 'Порожніх папок в image/catalog/ не знайдено.'; +$_['text_log_total_empty_folders'] = 'Всього видалено порожніх папок: '; +$_['text_log_cache_cleared'] = 'Кеш зображень успішно очищено.'; +$_['text_log_wm_smart_mode'] = 'Вотермарки працюють в SMART-режимі: оригінали не зачіпаються, логотип накладається лише при генерації кешу.'; +$_['text_log_scan_dupes'] = 'Сканування image/catalog/ на дублікати (за хешем MD5)... Це може зайняти час.'; +$_['text_log_found_dupe'] = 'Знайдено дублікат: '; +$_['text_log_no_dupes'] = 'Дублікатів не знайдено.'; +$_['text_log_total_dupes'] = 'Знайдено дублікатів: %s. Потенційна економія: %s'; +$_['text_log_fix_dupes_prompt'] = 'Натисніть "Виправити знайдене" для перелінкування БД на оригинал та видалення дублів.'; +$_['text_log_fixed_dupe'] = 'Виправлено та видалено дублікат: '; +$_['text_log_success_dupes'] = 'Успішно виправлено дублікатів: %s. Посилання в БД оновлено.'; +$_['text_log_scan_png'] = 'Пошук важких PNG файлів без прозорості...'; +$_['text_log_no_png'] = 'Відповідних PNG файлів не знайдено.'; +$_['text_log_total_png'] = 'Знайдено PNG без прозорості: %s. Натисніть "Виправити" для конвертації в JPG.'; +$_['text_log_converted_jpg'] = 'Сконвертовано в JPG: '; +$_['text_log_success_png'] = 'Успішно сконвертовано %s файлів. Звільнено: %s'; +$_['text_log_ph_prod'] = 'Оновлено товарів заглушкою: '; +$_['text_log_ph_cat'] = 'Оновлено категорій заглушкою: '; +$_['text_log_ph_brand'] = 'Оновлено брендів заглушкою: '; +$_['text_log_ph_empty'] = 'Заглушки не вибрані в налаштуваннях.'; +$_['text_log_scan_exif'] = 'Сканування EXIF-даних (мета-теги камер)...'; +$_['text_log_stripped_exif'] = 'Очищено EXIF: '; +$_['text_log_no_exif'] = 'Файлів з EXIF для очищення не знайдено.'; +$_['text_log_success_exif'] = 'Очищено EXIF у %s файлів. Звільнено: %s'; +$_['text_log_scan_small'] = 'Пошук фото розміром менше %sx%s px...'; +$_['text_log_too_small'] = 'Занадто мале (%sx%s): '; +$_['text_log_no_small'] = 'Дрібних фото не знайдено.'; +$_['text_log_total_small'] = 'Знайдено дрібних фото: %s. Будь ласка, замініть їх на якісні.'; +$_['text_log_html_broken'] = 'Битией IMG в HTML таблиці %s (ID: %s): '; +$_['text_log_no_html_broken'] = 'Битих картинок в HTML-описах не знайдено.'; +$_['text_log_total_html_broken'] = 'Знайдено битих посилань в HTML: %s. Виправте їх вручну.'; +$_['text_log_scan_smart_cache'] = 'Пошук втрачених файлів у image/cache/...'; +$_['text_log_del_orph_cache'] = 'Видалено втрачений кеш: '; +$_['text_log_no_orph_cache'] = 'Втраченого кешу не знайдено.'; +$_['text_log_success_smart_cache'] = 'Видалено файлів втраченого кешу: %s. Звільнено: %s'; +$_['text_log_scan_translit'] = 'Пошук файлів з кирилицею або пробілами...'; +$_['text_log_no_bad_names'] = 'Файлів з некоректними іменами не знайдено.'; +$_['text_log_total_bad_names'] = 'Знайдено файлів з кирилицею/пробілами: %s. Натисніть "Виправити" для транслітерації та оновлення БД.'; +$_['text_log_renamed'] = 'Перейменовано: '; +$_['text_log_success_translit'] = 'Успішно транслітеровано файлів: %s. БД оновлено.'; +$_['text_log_scan_restore'] = 'Сканирование image/cache/ для відновлення втрачених оригіналів...'; +$_['text_log_restored_cache'] = 'Відновлено з кешу: '; +$_['text_log_no_lost_orig'] = 'Відсутніх оригіналів у кеші не знайдено.'; +$_['text_log_success_restore'] = 'Успішно відновлено оригіналів з кешу: %s.'; +$_['error_invalid_folder'] = 'Помилка: Неприпустиме ім\'я папки!'; +$_['text_formats_title'] = 'Сучасні формати (WebP & SVG)'; +$_['text_formats_desc'] = 'Налаштування інтеграції сучасних форматів у файлову систему та шаблони OpenCart.'; +$_['entry_support_svg'] = 'Підтримка завантаження SVG'; +$_['help_support_svg'] = 'Дозволяє завантаження векторних SVG-зображень через стандартний Filemanager та їх безпечне виведення на вітрині без спотворення розмірів.'; +$_['entry_support_webp'] = 'Підтримка завантаження WebP'; +$_['help_support_webp'] = 'Дозволяє вручну завантажувати, підв\'язувати та виводити на сайті готові файли .webp через Filemanager.'; +$_['entry_truefilemanager_webp'] = 'WebP у TrueFileManager'; +$_['help_truefilemanager_webp'] = 'Додає підтримку завантаження, попереднього перегляду та ескізів WebP у TrueFileManager від sitecreator (якщо його встановлено).'; +$_['entry_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load'; +$_['help_webp_on_fly'] = 'Надшвидка підміна: автоматично змінює розширення .jpg/.png на .webp прямо в HTML-виводі вітрини та додає атрибут loading="lazy". Не чіпає базу даних!'; +$_['help_tool_broken_db'] = 'Шукає в базі даних зображення, фізичні файли яких були видалені з сервера. Дозволяє очистити биті посилання.'; +$_['help_tool_empty_folders'] = 'Рекурсивно сканує директорію image/catalog/ та безпечно видаляє всі папки, в яких немає жодного файлу.'; +$_['help_tool_folder_tree'] = 'Будує дерево каталогів та показує реальну вагу кожної папки для пошуку "пожирачів" місця.'; +$_['help_tool_html_broken'] = 'Сканує HTML-описи товарів та категорій на наявність тегів з неіснуючими зображеннями.'; +$_['help_tool_small_photos'] = 'Знаходить зображення з роздільною здатністю нижче заданої. Додано посилання на пошук якісних аналогів у Google Images та Яндекс Зображеннях.'; +$_['help_tool_duplicates'] = 'Шукає повні дублікати файлів за MD5-хешем (різні назви, але однакова картинка). Дозволяє склеїти їх в один файл та оновити БД.'; +$_['help_tool_watermark'] = 'Накладення водяних знаків у SMART-режимі (тільки на кеш вітрини, оригінали не змінюються).'; +$_['help_tool_placeholders'] = 'Масово встановлює вибране зображення-заглушку для товарів та категорій, у яких взагалі немає фото.'; +$_['help_tool_png_jpg'] = 'Інструмент сканує папку зображень і знаходить важкі PNG-файли, які не мають прозорого фону (альфа-каналу). Оскільки прозорість їм не потрібна, їх можна безпечно конвертувати у формат JPG. Це значно полегшує файли (в середньому на 70-80%) та прискорює завантаження сайту, а всі посилання в базі даних автоматично оновлюються.'; +$_['help_tool_exif'] = 'Сканує EXIF-дані та видаляє з них приховані теги, зменшуючи вагу на 10-15%.'; +$_['help_tool_smart_cache'] = 'Шукає в папці image/cache/ кешовані файли, оригінали яких уже видалені, та очищає неактуальний кеш.'; +$_['help_tool_translit'] = 'Знаходить файли з кирилицею або пробілами, перейменовує їх транслітом та оновлює шляхи в БД.'; +$_['help_tool_cache_restore'] = 'Якщо ви випадково видалили оригінал з catalog, інструмент спробує знайти його копію в cache та відновити назад.'; +$_['entry_quarantine'] = 'Перемістити оригінали в Карантин (замість видалення)'; +$_['entry_backup_db'] = 'Створити бекап змінюваних таблиць у SQL перед запуском'; +$_['button_fix_selected'] = 'ВИПРАВИТИ ВИБРАНІ'; +$_['button_export_log'] = 'Експортувати в CSV'; +$_['text_th_before'] = 'Стан ДО'; +$_['text_th_after'] = 'Очікуваний результат ПІСЛЯ'; +$_['text_th_select'] = 'Дія'; +$_['text_th_preview'] = 'Передперегляд'; +$_['text_th_name'] = 'Об`єкт / Файл'; +$_['text_global_action'] = 'Групова дія для вибраних:'; +$_['text_action_clear'] = 'Очистити посилання в БД'; +$_['text_action_disable'] = 'Вимкнути (Статус = 0)'; +$_['text_action_stock'] = 'Установити "Немає в наявності"'; +$_['text_action_placeholder'] = 'Встановити заглушку'; +$_['text_action_ignore'] = 'Нічого не робити'; +$_['text_action_merge'] = 'Склеїти (видалити дублікат, залишити оригінал)'; +$_['text_action_convert'] = 'Конвертувати в JPG'; +$_['text_action_rename'] = 'Перейменувати транслітом'; +$_['text_action_delete'] = 'Видалити'; +$_['text_action_restore'] = 'Відновити'; +$_['text_db_backup_created'] = 'Створено бекап БД: %s'; +$_['text_quarantine_created'] = 'Перенесено в карантин: %s'; +$_['text_fix_status_success'] = 'Успішно виконано'; +$_['text_fix_status_error'] = 'Помилка: %s'; +$_['text_log_exported'] = 'Лог успішно експортовано!'; +$_['text_select_action'] = '-- Виберіть дію --'; +$_['error_empty_selection'] = 'Помилка: Не вибрано жодного рядка для виправлення!'; +$_['text_link_admin'] = 'Адмінка'; +$_['text_link_catalog'] = 'Вітрина'; +$_['entry_threads'] = 'Потоків обробки'; +$_['text_threads_optimal'] = 'оптимально'; +$_['button_download_zip'] = 'Завантажити ZIP-архів та видалити папку'; +$_['confirm_download_and_delete'] = 'Архів успішно завантажився? Можна видалити тимчасову папку копій на сервері?'; +$_['button_clear_backups'] = 'Видалити бекапи БД'; +$_['button_clear_backups_short'] = 'Очистити бекапи'; +$_['confirm_clear_backups'] = 'Ви впевнені, що хочете повністю видалити всі SQL-бекапи таблиць?'; +$_['text_compare_title'] = 'Порівняння зображень ДО / ПІСЛЯ'; +$_['text_compare_before'] = 'ДО'; +$_['text_compare_after'] = 'ПІСЛЯ'; +$_['text_backups_cleared'] = 'Усі SQL-бекапи таблиць успішно видалені!'; +$_['error_no_backups'] = 'Бекапи не знайдені або папка порожня.'; +$_['button_restore'] = 'Повернути'; +$_['button_empty'] = 'Очистити'; +$_['entry_wm_targets'] = 'Застосовувати водяний знак до:'; +$_['text_wm_target_product'] = 'Фото товарів'; +$_['text_wm_target_category'] = 'Фото категорій'; +$_['text_wm_target_brand'] = 'Логотипи брендів'; +$_['text_wm_target_banner'] = 'Банери та слайди'; +$_['text_wm_target_blog'] = 'Статті / Блог'; +$_['error_no_scan_data'] = 'Помилка: Дані сканування не знайдені. Спочатку запустіть сканування!'; +$_['error_row_not_found'] = 'Помилка: Об`єкт не знайдено в результатах сканування!'; +$_['error_file_not_found'] = 'Помилка: Файл не знайдено на сервері!'; +$_['text_folder_rules_title'] = 'Індивідуальні правила стиснення для папок'; +$_['text_folder_rules_desc'] = 'Ви можете перевизначити якість та максимальні розміри для конкретних папок. Якщо залишити поле порожнім, використовуватиметься глобальне налаштування. Шлях вказується відносно папки image (наприклад, catalog/banners/).'; +$_['entry_folder_path'] = 'Шлях до папки'; +$_['entry_jpg_quality'] = 'Якість JPG'; +$_['entry_webp_quality'] = 'Якість WebP'; +$_['button_add_rule'] = 'Додати правило'; +$_['button_remove'] = 'Вилучити'; +$_['entry_wm_angle'] = 'Кут нахилу водяного знака (градуси)'; +$_['entry_wm_corner_radius'] = 'Закруглення кутів водяного знака (px)'; +$_['entry_wm_size_type'] = 'Масштабування водяного знака'; +$_['entry_wm_size_percent'] = 'Розмір водяного знака (% від ширини зображення)'; +$_['entry_wm_text_color'] = 'Колір тексту водяного знака'; +$_['entry_wm_text_font'] = 'Шрифт водяного знака (TTF)'; +$_['entry_wm_filter_mode'] = 'Режим фільтрації Категорій/Брендів'; +$_['text_wm_filter_include'] = 'Тільки для вибраних'; +$_['text_wm_filter_exclude'] = 'Для всіх, крім вибраних'; +$_['text_wm_size_original'] = 'Оригінальний розмір'; +$_['text_wm_size_percent'] = 'Пропорційно ширині зображення (%)'; +$_['button_preview_watermark'] = 'Попередній перегляд'; +$_['text_wm_preview_title'] = 'Попередній перегляд водяного знака'; +$_['text_cron_exclude_folders'] = 'Виключити папки зі сканування'; +$_['text_cron_entities'] = 'Які типи фото обробляти?'; +$_['text_cron_quality_override'] = 'Перевизначити параметри стиснення для Крона'; +$_['text_cron_recommendations'] = 'Рекомендації щодо розкладу Cron'; +$_['text_cron_recommendations_desc'] = ''; +$_['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'] = 'Налаштування лімітів та сканування диска'; +