Image_Optimizer_NAT-2.0-2.2/upload/admin/language/ru/module/img_opti.php

566 lines
56 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
$_['heading_title_raw'] = 'Image Optimizer [NAT]: Сжатие оригиналов и удаление мусора';
$_['heading_title'] = '<b>Image Optimizer [NAT]:</b> Сжатие оригиналов и удаление мусора';
$_['text_extension'] = 'Расширения';
$_['text_edit'] = 'Настройки модуля';
$_['text_success'] = 'Настройки успешно сохранены!';
$_['entry_warning'] = 'ВНИМАНИЕ: Обязательно сделайте бэкап файлов сайта и особенно папки /image/catalog перед началом работы!';
$_['text_tech'] = 'Проверка технологий сервера:';
$_['text_author'] = 'Техническая поддержка и пожелания: <a href="mailto:info@nat.od.ua">info@nat.od.ua</a>';
$_['tab_optimize'] = 'Оптимизация и Ресайз';
$_['tab_cleaner'] = 'Очистка неиспользуемых изображений';
$_['tab_info'] = 'Инфо / Экосистема [NAT]';
$_['tab_settings'] = 'Настройки';
$_['tab_tools'] = 'Инструменты (pro)';
$_['tab_cron'] = 'Крон-задачи';
$_['entry_mode'] = 'Режим работы';
$_['text_copy'] = 'Создать копию (безопасно)';
$_['text_replace'] = 'Заменять оригиналы (требует бэкап!)';
$_['entry_folder'] = 'Имя папки для копии';
$_['entry_batch'] = 'Файлов за проход';
$_['entry_log_limit'] = 'Строк лога на экране';
$_['entry_max_width'] = 'Макс. ширина (px) [0 - без лимита]';
$_['entry_max_height'] = 'Макс. высота (px) [0 - без лимита]';
$_['entry_jpg'] = 'Качество JPG (0-100)';
$_['entry_png'] = 'Сжатие PNG (0-9)';
$_['entry_webp'] = 'Качество WebP (0-100)';
$_['entry_targets'] = 'Что оптимизировать?';
$_['text_all_catalog'] = '[ Весь каталог image/catalog ]';
$_['text_root_files'] = 'Файлы только в корне image/catalog';
$_['entry_threshold'] = 'Порог замены (%)';
$_['help_threshold'] = '0: заменять только если вес стал меньше. 10: разрешить увеличение веса до 10%.';
$_['entry_token'] = 'Токен активации (на корень домена)';
$_['entry_status'] = 'Статус модуля';
$_['entry_menu_position'] = 'Позиция меню [NAT]';
$_['text_menu_module_only'] = 'Только в модулях';
$_['text_menu_header'] = 'В шапке (Header)';
$_['text_menu_sidebar'] = 'В боковом меню (Sidebar)';
$_['text_menu_both'] = 'Везде (Шапка + Сайдбар)';
$_['text_status_on'] = 'Включено';
$_['text_status_off'] = 'Отключено';
$_['entry_engine'] = 'Движок обработки изображений';
$_['text_engine_gd'] = 'GD (Стандарт)';
$_['text_engine_imagick'] = 'Imagick (Высокое качество, сохранение профилей sRGB)';
$_['entry_license'] = 'Лицензия';
$_['text_cleaner_info'] = 'Этот инструмент ищет файлы, которые физически существуют на диске, но нигде не используются в базе данных или файлах шаблона.';
$_['entry_clean_targets'] = 'В каких папках искать мусор?';
$_['entry_extended_log'] = 'Расширенный лог (показать используемые фото и где они найдены)';
$_['entry_process_broken'] = 'Учитывать файлы с битой кодировкой (имена с символом "?")';
$_['button_scan_trash'] = 'НАЙТИ МУСОР';
$_['button_quarantine'] = 'В Карантин (Безопасно)';
$_['button_delete_trash'] = 'Удалить навсегда';
$_['button_empty_quarantine'] = 'Очистить папку Карантина';
$_['button_restore_quarantine'] = 'Вернуть из Карантина';
$_['text_scan_result'] = 'Результаты сканирования';
$_['text_trash_files'] = 'Мусорных файлов: ';
$_['text_trash_size'] = 'Потенциально освободится: ';
$_['button_start'] = 'СТАРТ ОПТИМИЗАЦИИ';
$_['button_pause'] = 'ПАУЗА';
$_['button_stop'] = 'ОСТАНОВИТЬ';
$_['button_continue'] = 'ПРОДОЛЖИТЬ';
$_['button_start_new'] = 'СТАРТ (Новый запуск)';
$_['button_download_log'] = 'Скачать лог в TXT';
$_['button_download'] = 'Скачать';
$_['button_save'] = 'Сохранить';
$_['button_cancel'] = 'Отмена';
$_['text_progress'] = 'Прогресс:';
$_['text_old_size'] = 'Было:';
$_['text_new_size'] = 'Стало:';
$_['text_savings'] = 'Экономия:';
$_['text_detailed_log'] = 'Детальный лог';
$_['text_page'] = 'Стр.';
$_['text_waiting'] = 'Ожидание запуска...';
$_['text_enabled'] = 'Включено';
$_['text_disabled_error'] = 'Выключено (ОШИБКА)';
$_['text_supported'] = 'Поддерживается';
$_['text_no'] = 'Нет';
$_['error_permission'] = 'У вас нет прав для управления модулем!';
$_['error_license'] = 'Ошибка доступа: Неверный токен активации для этого домена!';
$_['error_domain'] = ' (Домен: ';
$_['text_found'] = 'Найдено файлов: ';
$_['text_compressed'] = 'Сжат';
$_['text_original'] = 'Оригинал';
$_['text_error_process'] = 'Ошибка обработки: ';
$_['error_log_empty'] = 'Лог пуст! Сначала запустите процесс.';
$_['text_report_header'] = '=== ОТЧЕТ ===';
$_['text_total_files'] = 'Всего файлов: ';
$_['text_searching'] = 'Поиск файлов...';
$_['error_ajax'] = 'Ошибка: ';
$_['text_resumed'] = '▶ ПРОЦЕСС ВОЗОБНОВЛЕН...';
$_['text_paused'] = '⏸ ПАУЗА. Процесс приостановлен.';
$_['confirm_stop'] = 'Вы уверены, что хотите полностью прервать процесс?';
$_['confirm_delete'] = 'ВНИМАНИЕ! Файлы будут удалены с сервера навсегда без возможности восстановления! Продолжить?';
$_['confirm_empty_q'] = 'Вы уверены, что хотите полностью очистить папку карантина?';
$_['confirm_restore'] = 'Все файлы из папки карантина будут возвращены на свои места. Продолжить?';
$_['button_stopping'] = 'Остановка...';
$_['text_stopped_user'] = '🛑 ПРОЦЕСС ПРЕРВАН ПОЛЬЗОВАТЕЛЕМ!';
$_['text_increase'] = 'Увеличение';
$_['text_done'] = '✅ ГОТОВО! Процесс завершен.';
$_['error_timeout'] = 'Таймаут сервера. Автоповтор через 3 секунды...';
$_['text_building_index'] = 'Шаг 1/2: Индексация БД и шаблонов (поиск используемых фото)...';
$_['text_comparing'] = 'Шаг 2/2: Сравнение физических файлов с индексом...';
$_['text_quarantine_done'] = '✅ Процесс переноса в image/catalog_trash/ завершен!';
$_['text_deleted_done'] = '✅ Процесс удаления мусора завершен!';
$_['text_quarantine_empty'] = '✅ Папка карантина успешно удалена с сервера!';
$_['text_restore_done'] = '✅ Файлы успешно возвращены из карантина в рабочую папку!';
$_['text_quarantine_move'] = 'В карантине: ';
$_['text_deleted_file'] = 'Удален: ';
$_['text_no_trash'] = 'В выбранных папках мусор не найден! Все файлы используются.';
$_['text_scanning_dirs'] = 'Сканируем директории: ';
$_['text_log_used'] = '[ИСПОЛЬЗУЕТСЯ]';
$_['text_log_trash'] = '[МУСОР]';
$_['text_log_deleted'] = '[УДАЛЕНО]';
$_['text_log_del_err'] = '[ОШИБКА УДАЛЕНИЯ]';
$_['text_log_quarantine'] = '[В КАРАНТИН]';
$_['text_log_q_err'] = '[ОШИБКА ПЕРЕНОСА]';
$_['text_log_restored'] = '[ВОССТАНОВЛЕНО]';
$_['text_log_rest_err'] = '[ОШИБКА ВОССТАНОВЛЕНИЯ]';
$_['text_used_in'] = 'в: ';
$_['text_analyzing'] = 'Анализ базы данных...';
$_['text_clean_empty'] = 'Чисто! Мусора нет.';
$_['text_processing'] = 'Обработка...';
$_['text_restoring'] = 'Восстановление файлов...';
$_['text_all_folders'] = 'image/catalog/ (И все вложенные)';
$_['text_root_folder'] = 'image/catalog/ (Только корень)';
$_['text_q_empty_err'] = 'Папка карантина пуста или не существует.';
$_['error_token'] = 'Неверный токен. Перезагрузите страницу.';
$_['text_apply_title'] = 'Оптимизация завершена в папку: ';
$_['text_apply_info'] = 'Проверьте результат. Если всё устраивает — примените изменения к основному каталогу.';
$_['entry_apply_backup'] = 'Перенести с созданием бэкапа (в Карантин)';
$_['entry_apply_replace'] = 'Заменить оригиналы безвозвратно';
$_['button_apply_main'] = 'ПРИМЕНИТЬ К ОСНОВНОМУ КАТАЛОГУ';
$_['button_delete_copies'] = 'Удалить временные копии (отмена)';
$_['button_full_cleanup'] = 'Полная очистка всех временных папок и бэкапов';
$_['text_apply_success'] = '✅ Файлы успешно перенесены. ';
$_['text_apply_backup_ok'] = 'Оригиналы сохранены в папку: ';
$_['text_apply_no_backup'] = 'Оригиналы удалены.';
$_['text_error_source'] = 'Ошибка: Папка с оптимизированными файлами не найдена.';
$_['confirm_full_cleanup'] = 'ВНИМАНИЕ! Это действие безвозвратно удалит ВСЕ папки бэкапов (backup_*) и временные папки с копиями. Продолжить?';
$_['text_tools_desc'] = 'Глобальные сканеры и инструменты для работы с файловой системой и БД изображений.';
$_['text_tool_select'] = 'Выберите инструмент:';
$_['text_group_scanners'] = 'Сканеры и Анализ';
$_['text_group_generators'] = 'Генераторы и Обработка';
$_['text_group_experimental'] = 'Экспериментальные функции (BETA)';
$_['text_experimental_warn'] = 'Внимание: Экспериментальные функции затрагивают системные файлы или базу данных. Настоятельно рекомендуется сделать бэкап!';
$_['text_tool_broken_db'] = 'Сканер битых/пустых фото БД';
$_['text_tool_watermark'] = 'Динамический Вотермарк (Только на кэш)';
$_['text_tool_duplicates'] = 'Поиск дубликатов файлов (по MD5)';
$_['text_tool_png_jpg'] = 'Конвертер тяжелых PNG в JPG (сканер файлов без прозрачности)';
$_['text_tool_placeholders'] = 'Генератор заглушек (Вместо No Image)';
$_['text_tool_exif'] = 'Очистка EXIF-данных (Геотеги/Мета)';
$_['text_tool_small_photos'] = 'Сканер слишком мелких фото';
$_['text_tool_html_broken'] = 'Поиск битых картинок в HTML (Описаниях)';
$_['text_tool_empty_folders'] = 'Очистка пустых папок (image/catalog)';
$_['text_tool_smart_cache'] = 'Умная очистка кэша изображений';
$_['text_tool_folder_tree'] = 'Дерево папок (Статистика веса)';
$_['text_tool_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load (Без БД)';
$_['text_tool_translit'] = 'Транслитерация названий файлов';
$_['text_tool_cache_restore'] = 'Воскрешение оригиналов из Кэша';
$_['entry_wm_type'] = 'Тип вотермарка';
$_['text_wm_image'] = 'Изображение (PNG)';
$_['text_wm_text'] = 'Текст';
$_['entry_wm_image_path'] = 'Путь к изображению';
$_['entry_wm_text_val'] = 'Текст вотермарка';
$_['entry_wm_position'] = 'Позиция (1-9)';
$_['entry_wm_opacity'] = 'Прозрачность (0-100)';
$_['entry_wm_category'] = 'Только для Категорий';
$_['entry_wm_brand'] = 'Только для Брендов';
$_['entry_min_width'] = 'Минимальная ширина (px)';
$_['entry_min_height'] = 'Минимальная высота (px)';
$_['entry_ph_product'] = 'Заглушка для Товаров';
$_['entry_ph_category'] = 'Заглушка для Категорий';
$_['entry_ph_brand'] = 'Заглушка для Брендов';
$_['button_run_tool'] = 'Запустить инструмент';
$_['button_scan_tool'] = 'Сканировать';
$_['button_fix_tool'] = 'Исправить найденное';
$_['text_th_path'] = 'Файл / Путь';
$_['text_th_size'] = 'Размер';
$_['text_th_action'] = 'Действие';
$_['text_th_status'] = 'Статус';
$_['text_th_problem'] = 'Проблема / Значение';
$_['text_cron_title'] = 'Настройка Cron';
$_['text_cron_desc'] = 'Добавьте команду в Cron хостинга для автоматического фонового сжатия.';
$_['entry_cron_new_only'] = 'Обрабатывать только новые (необработанные) файлы';
$_['entry_cron_folders'] = 'Папки для сканирования (оставьте пустым для всего каталога)';
$_['text_promo_title'] = 'Другие модули серии [NAT]';
$_['text_promo_desc'] = 'Модули серии [NAT] — это инструменты для глубокой оптимизации OpenCart. Мы фокусируемся на автоматизации рутины, ускорении базы данных и очистке серверов от мусора. Все модули имеют открытый исходный код и единую логику управления.';
$_['text_support'] = 'Техническая поддержка и пожелания:';
$_['button_more'] = 'Смотреть все модули на OpenCart.com';
$_['button_more_forum'] = 'Opencartforum';
$_['text_mod_cat_opt'] = 'Catalog Optimizer [NAT]';
$_['text_mod_cat_opt_desc'] = 'Скрытие пустых категорий и брендов + SEO сортировка товаров (в наличии сверху) + Очистка мусора БД.';
$_['text_mod_new_arrivals'] = 'New Arrivals [NAT]: Новинки по датам';
$_['text_mod_new_arrivals_desc'] = 'Автоматическая SEO-страница новинок. Отображает новинки строго по реальной дате добавления. Слайдеры, сетка и умный сайдбар архива дат.';
$_['text_mod_img_opt'] = 'Image Optimizer [NAT]';
$_['text_mod_img_opt_desc'] = '<strong>Текущий модуль.</strong> Сжатие и ресайз ОРИГИНАЛОВ фото (image/catalog) в WebP + Очистка хостинга от неиспользуемых изображений.';
$_['text_mod_dom_scan'] = 'Domain Scanner [NAT]';
$_['text_mod_dom_scan_desc'] = 'Поиск и чистка внешних ссылок и HTTP-картинок в БД и шаблонах (для переезда на HTTPS).';
$_['text_mod_poll'] = 'Poll Widget [NAT]';
$_['text_mod_poll_desc'] = 'Создание опросов и голосований с визуальным конструктором дизайна, глубокой статистикой и защитой от накруток.';
$_['text_mod_db_opt'] = 'Database Optimizer [NAT]';
$_['text_mod_db_opt_desc'] = 'Интеллектуальная очистка мусора в базе данных, управление системными логами и добавление критически важных индексов для ускорения.';
$_['text_mod_im_ex'] = 'Import/Export [NAT]';
$_['text_mod_im_ex_desc'] = 'Быстрый импорт/экспорт цен и остатков из файлов xls/xlsx/csv/xml/json или по ссылке. Маппинг полей, работа по Cron, текстовые функции.';
$_['text_mod_admin_tools'] = 'Admin Tools [NAT]';
$_['text_mod_admin_tools_desc'] = 'Удобные инструменты администратора: вход под клиентом, кастомизация админки, управление правами пользователей и скрытие ненужных пунктов меню.';
$_['text_mod_utm_tracker'] = 'Order UTM Tracker [NAT]';
$_['text_mod_utm_tracker_desc'] = 'Автоматическое отслеживание UTM-меток при оформлении заказа. Сохраняет источник перехода, кампанию, ключевые слова и выводит эти данные в заказе для аналитики рекламы.';
$_['text_info_title_promo_top_bar'] = 'Promo Top Bar [NAT]: Верхний рекламный инфо-баннер, информационная полоса над шапкой, бегущая строка и топ-баннер';
$_['text_info_desc_promo_top_bar'] = 'Создание интерактивных промо-панелей и слайд-шоу в шапке сайта с конструктором блоков, таймерами, формой подписки и гибким таргетингом.';
$_['text_tool_no_image'] = 'Товары без главного фото (пусто в БД)';
$_['text_problem_main_broken'] = 'Битое главное фото (файл удален)';
$_['text_problem_add_broken'] = 'Битое доп. фото (файл удален)';
$_['text_problem_no_image'] = 'Отсутствует главное фото';
$_['text_err_dir'] = 'Ошибка: Директория не найдена или неверный путь.';
$_['text_err_no_queue'] = 'Ошибка: Очередь не найдена. Сначала запустите сканирование.';
$_['text_log_del_empty_folder'] = 'Удалена пустая папка: ';
$_['text_log_no_empty_folders'] = 'Пустых папок в image/catalog/ не найдено.';
$_['text_log_total_empty_folders'] = 'Всего удалено пустых папок: ';
$_['text_log_cache_cleared'] = 'Кэш изображений успешно очищен.';
$_['text_log_wm_smart_mode'] = 'Вотермарки работают в SMART-режиме: оригиналы не трогаются, логотип накладывается только при генерации кэша.';
$_['text_log_scan_dupes'] = 'Сканирование image/catalog/ на дубликаты (по хешу MD5)... Это может занять время.';
$_['text_log_found_dupe'] = 'Найден дубликат: ';
$_['text_log_no_dupes'] = 'Дубликаты не найдены.';
$_['text_log_total_dupes'] = 'Найдено дубликатов: %s. Потенциальная экономия: %s';
$_['text_log_fix_dupes_prompt'] = 'Нажмите "Исправить найденное" для перелинковки БД на оригинал и удаления дублей.';
$_['text_log_fixed_dupe'] = 'Исправлен и удален дубликат: ';
$_['text_log_success_dupes'] = 'Успешно исправлено дубликатов: %s. Ссылки в БД обновлены.';
$_['text_log_scan_png'] = 'Поиск тяжелых PNG файлов без прозрачности...';
$_['text_log_no_png'] = 'Подходящих PNG файлов не найдено.';
$_['text_log_total_png'] = 'Найдено PNG без прозрачности: %s. Нажмите "Исправить" для конвертации в JPG.';
$_['text_log_converted_jpg'] = 'Сконвертировано в JPG: ';
$_['text_log_success_png'] = 'Успешно сконвертировано %s файлов. Освобождено: %s';
$_['text_log_ph_prod'] = 'Обновлено товаров заглушкой: ';
$_['text_log_ph_cat'] = 'Обновлено категорий заглушкой: ';
$_['text_log_ph_brand'] = 'Обновлено брендов заглушкой: ';
$_['text_log_ph_empty'] = 'Заглушки не выбраны в настройках.';
$_['text_log_scan_exif'] = 'Сканирование EXIF-данных (мета-теги камер)...';
$_['text_log_stripped_exif'] = 'Очищен EXIF: ';
$_['text_log_no_exif'] = 'Файлов с EXIF для очистки не найдено.';
$_['text_log_success_exif'] = 'Очищен EXIF у %s файлов. Освобождено: %s';
$_['text_log_scan_small'] = 'Поиск фото размером менее %sx%s px...';
$_['text_log_too_small'] = 'Слишком маленькое (%sx%s): ';
$_['text_log_no_small'] = 'Мелких фото не найдено.';
$_['text_log_total_small'] = 'Найдено мелких фото: %s. Пожалуйста, замените их на качественные.';
$_['text_log_html_broken'] = 'Битый IMG в HTML таблицы %s (ID: %s): ';
$_['text_log_no_html_broken'] = 'Битых картинок в HTML-описаниях не найдено.';
$_['text_log_total_html_broken'] = 'Найдено битых ссылок в HTML: %s. Исправьте их вручную в редакторе.';
$_['text_log_scan_smart_cache'] = 'Поиск потерянных файлов в image/cache/...';
$_['text_log_del_orph_cache'] = 'Удален потерянный кэш: ';
$_['text_log_no_orph_cache'] = 'Потерянного кэша не найдено.';
$_['text_log_success_smart_cache'] = 'Удалено файлов потерянного кэша: %s. Освобождено: %s';
$_['text_log_scan_translit'] = 'Поиск файлов с кириллицей или пробелами...';
$_['text_log_no_bad_names'] = 'Файлов с некорректными именами не найдено.';
$_['text_log_total_bad_names'] = 'Найдено файлов с кириллицей/пробелами: %s. Нажмите "Исправить" для транслитерации и обновления БД.';
$_['text_log_renamed'] = 'Переименовано: ';
$_['text_log_success_translit'] = 'Успешно транслитерировано файлов: %s. БД обновлена.';
$_['text_log_scan_restore'] = 'Сканирование image/cache/ для восстановления утерянных оригиналов...';
$_['text_log_restored_cache'] = 'Восстановлено из кэша: ';
$_['text_log_no_lost_orig'] = 'Отсутствующих оригиналов в кэше не найдено.';
$_['text_log_success_restore'] = 'Успешно восстановлено оригиналов из кэша: %s.';
$_['error_invalid_folder'] = 'Ошибка: Недопустимое имя папки!';
$_['text_formats_title'] = 'Современные форматы (WebP & SVG)';
$_['text_formats_desc'] = 'Настройки интеграции современных форматов в файловую систему и шаблоны OpenCart.';
$_['entry_support_svg'] = 'Поддержка загрузки SVG';
$_['help_support_svg'] = 'Разрешает загрузку векторных SVG-изображений через стандартный Filemanager и их безопасный вывод на витрине без искажений размеров.';
$_['entry_support_webp'] = 'Поддержка загрузки WebP';
$_['help_support_webp'] = 'Позволяет вручную загружать, подвязывать и выводить на сайте готовые файлы .webp через Filemanager.';
$_['entry_truefilemanager_webp'] = 'WebP в TrueFileManager';
$_['help_truefilemanager_webp'] = 'Добавляет поддержку загрузки, предпросмотра и эскизов WebP в TrueFileManager от sitecreator (если он установлен).';
$_['entry_webp_on_fly'] = 'On-the-Fly WebP + Lazy Load';
$_['help_webp_on_fly'] = 'Сверхбыстрая подмена: автоматически меняет расширения .jpg/.png на .webp прямо в HTML-выводе витрины и добавляет атрибут loading="lazy". Не трогает базу данных!';
$_['help_tool_broken_db'] = 'Ищет в базе данных картинки, физические файлы которых были удалены с сервера. Позволяет очистить битые ссылки.';
$_['help_tool_empty_folders'] = 'Рекурсивно сканирует директорию image/catalog/ и безопасно удаляет все папки, в которых нет ни одного файла.';
$_['help_tool_folder_tree'] = 'Строит дерево каталогов и показывает реальный вес каждой папки для поиска "пожирателей" места.';
$_['help_tool_html_broken'] = 'Сканирует HTML-описания товаров и категорий на наличие тегов <img> с несуществующими картинками.';
$_['help_tool_small_photos'] = 'Находит картинки с разрешением ниже заданного (например, меньше 300x300 px). Добавлены ссылки на поиск качественных аналогов в Google Images и Яндекс Картинках.';
$_['help_tool_duplicates'] = 'Ищет полные дубликаты файлов по MD5 хешу (разные имена, но одинаковая картинка). Позволяет склеить их в один файл и обновить БД.';
$_['help_tool_watermark'] = 'Наложение водяных знаков в SMART-режиме (только на кэш витрины, оригиналы не изменяются).';
$_['help_tool_placeholders'] = 'Массово устанавливает выбранную картинку-заглушку для товаров и категорий, у которых вообще нет фото.';
$_['help_tool_png_jpg'] = 'Инструмент сканирует папку изображений и находит тяжелые PNG-файлы, которые не имеют прозрачного фона (альфа-канала). Поскольку прозрачность им не нужна, их можно безопасно конвертировать в формат JPG. Это значительно облегчает файлы (в среднем на 70-80%) и ускоряет загрузку сайта, а все ссылки в базе данных автоматически обновляются.';
$_['help_tool_exif'] = 'Сканирует JPEG-файлы и удаляет из них скрытые EXIF-данные (геотеги, данные о камере), уменьшая вес на 10-15%.';
$_['help_tool_smart_cache'] = 'Ищет в папке image/cache/ кэшированные файлы, оригиналы которых уже удалены из image/catalog/, и стирает этот мусор.';
$_['help_tool_translit'] = 'Находит файлы с кириллицей или пробелами в названиях, переименовывает их транслитом (tovar_1.jpg) и обновляет пути в БД.';
$_['help_tool_cache_restore'] = 'Если вы случайно удалили оригинал из catalog, инструмент попытается найти его копию в cache и восстановить обратно.';
$_['entry_quarantine'] = 'Переместить оригиналы в Карантин (вместо удаления)';
$_['entry_backup_db'] = 'Создать бэкап изменяемых таблиц в SQL перед запуском';
$_['button_fix_selected'] = 'ИСПРАВИТЬ ВЫБРАННЫЕ';
$_['button_export_log'] = 'Экспортировать в CSV';
$_['text_th_before'] = 'Состояние ДО';
$_['text_th_after'] = 'Ожидаемый результат ПОСЛЕ';
$_['text_th_select'] = 'Действие';
$_['text_th_preview'] = 'Предпросмотр';
$_['text_th_name'] = 'Объект / Файл';
$_['text_global_action'] = 'Групповое действие для выбранных:';
$_['text_action_clear'] = 'Очистить ссылку в БД';
$_['text_action_disable'] = 'Отключить (Статус = 0)';
$_['text_action_stock'] = 'Установить "Нет в наличии"';
$_['text_action_placeholder'] = 'Установить заглушку';
$_['text_action_ignore'] = 'Ничего не делать';
$_['text_action_merge'] = 'Склеить (удалить дубликат, оставить оригинал)';
$_['text_action_convert'] = 'Конвертировать в JPG';
$_['text_action_rename'] = 'Переименовать транслитом';
$_['text_action_delete'] = 'Удалить';
$_['text_action_restore'] = 'Восстановить';
$_['text_db_backup_created'] = 'Создан бэкап БД: %s';
$_['text_quarantine_created'] = 'Перенесено в карантин: %s';
$_['text_fix_status_success'] = 'Успешно выполнено';
$_['text_fix_status_error'] = 'Ошибка: %s';
$_['text_log_exported'] = 'Лог успешно экспортирован!';
$_['text_select_action'] = '-- Выберите действие --';
$_['error_empty_selection'] = 'Ошибка: Не выбрано ни одной строки для исправления!';
$_['text_link_admin'] = 'Админка';
$_['text_link_catalog'] = 'Витрина';
$_['entry_threads'] = 'Потоков обработки';
$_['text_threads_optimal'] = 'оптимально';
$_['button_download_zip'] = 'Скачать ZIP-архив и удалить папку';
$_['confirm_download_and_delete'] = 'Архив успешно скачался? Можно удалить временную папку копий на сервере?';
$_['button_clear_backups'] = 'Удалить бэкапы БД';
$_['button_clear_backups_short'] = 'Очистить бэкапы';
$_['confirm_clear_backups'] = 'Вы уверены, что хотите полностью удалить все SQL-бэкапы таблиц?';
$_['text_compare_title'] = 'Сравнение изображений ДО / ПОСЛЕ';
$_['text_compare_before'] = 'ДО';
$_['text_compare_after'] = 'ПОСЛЕ';
$_['text_backups_cleared'] = 'Все SQL-бэкапы таблиц успешно удалены!';
$_['error_no_backups'] = 'Бэкапы не найдены или папка пуста.';
$_['button_restore'] = 'Вернуть';
$_['button_empty'] = 'Очистить';
$_['entry_wm_targets'] = 'Применять водяной знак к:';
$_['text_wm_target_product'] = 'Фото товаров';
$_['text_wm_target_category'] = 'Фото категорий';
$_['text_wm_target_brand'] = 'Логотипы брендов';
$_['text_wm_target_banner'] = 'Баннеры и слайды';
$_['text_wm_target_blog'] = 'Статьи / Блог';
$_['error_no_scan_data'] = 'Ошибка: Данные сканирования не найдены. Сначала запустите сканирование!';
$_['error_row_not_found'] = 'Ошибка: Объект не найден в результатах сканирования!';
$_['error_file_not_found'] = 'Ошибка: Файл не найден на сервере!';
$_['text_folder_rules_title'] = 'Индивидуальные правила сжатия для папок';
$_['text_folder_rules_desc'] = 'Вы можете переопределить качество и максимальные размеры для конкретных папок. Если оставить поле пустым, будет использоваться глобальная настройка. Путь указывается относительно папки image (например, catalog/banners/).';
$_['entry_folder_path'] = 'Путь к папке';
$_['entry_jpg_quality'] = 'Качество JPG';
$_['entry_webp_quality'] = 'Качество WebP';
$_['button_add_rule'] = 'Добавить правило';
$_['button_remove'] = 'Удалить';
$_['entry_wm_angle'] = 'Угол наклона водяного знака (градусы)';
$_['entry_wm_corner_radius'] = 'Скругление углов водяного знака (px)';
$_['entry_wm_size_type'] = 'Масштабирование водяного знака';
$_['entry_wm_size_percent'] = 'Размер водяного знака (% от ширины изображения)';
$_['entry_wm_text_color'] = 'Цвет текста водяного знака';
$_['entry_wm_text_font'] = 'Шрифт водяного знака (TTF)';
$_['entry_wm_filter_mode'] = 'Режим фильтрации Категорий/Брендов';
$_['text_wm_filter_include'] = 'Только для выбранных';
$_['text_wm_filter_exclude'] = 'Для всех, кроме выбранных';
$_['text_wm_size_original'] = 'Оригинальный размер';
$_['text_wm_size_percent'] = 'Пропорционально ширине изображения (%)';
$_['button_preview_watermark'] = 'Предпросмотр водяного знака';
$_['text_wm_preview_title'] = 'Предпросмотр водяного знака';
$_['text_cron_exclude_folders'] = 'Исключить папки из сканирования';
$_['text_cron_entities'] = 'Какие типы фото обрабатывать?';
$_['text_cron_quality_override'] = 'Переопределить параметры сжатия для Крона';
$_['text_cron_recommendations'] = 'Рекомендации по расписанию запуска Cron';
$_['text_cron_recommendations_desc'] = '<ul><li><b>Для небольших сайтов (до 5000 товаров)</b> рекомендуется запускать Крон каждый час (<code>0 * * * *</code>).</li><li><b>Для средних сайтов (5000-20000 товаров)</b> рекомендуется запускать раз в 3-6 часов (<code>0 */6 * * *</code>).</li><li><b>Для крупных сайтов (более 20000 товаров)</b> — один раз в сутки ночью (например, в 2:00: <code>0 2 * * *</code>).</li></ul>';
$_['text_tool_broken_files'] = 'Сканер битых/пустых файлов на сервере';
$_['help_tool_broken_files'] = 'Сканирует физические файлы в папке image/catalog/ на наличие поврежденных изображений или пустых файлов размером 0 байт.';
$_['text_grid_broken_file'] = 'Битый или пустой файл на сервере';
$_['text_grid_broken_file_after'] = 'Удаление или замена заглушкой';
$_['text_description_broken_files'] = 'Результаты сканирования физических файлов в папке image/catalog/. Здесь отображаются битые (поврежденные) изображения или файлы размером 0 байт.';
$_['text_action_strip'] = 'Очистить EXIF';
$_['text_action_set_placeholder'] = 'Установить заглушку';
$_['text_th_entity'] = 'Объект / Связанные ссылки';
$_['text_cron_entity_product'] = 'Товары';
$_['text_cron_entity_category'] = 'Категории';
$_['text_cron_entity_manufacturer'] = 'Производители / Бренды';
$_['text_cron_entity_banner'] = 'Баннеры';
$_['text_cron_entity_blog'] = 'Блог / Статьи';
$_['entry_cron_jpg_quality'] = 'Качество JPG (Крон)';
$_['entry_cron_webp_quality'] = 'Качество WebP (Крон)';
$_['entry_cron_max_width'] = 'Макс. ширина px (Крон)';
$_['entry_cron_max_height'] = 'Макс. высота px (Крон)';
$_['text_cron_folder_scan'] = 'Папки для сканирования';
$_['text_no_fonts'] = 'TTF-шрифты не найдены в system/library/font/';
$_['button_apply'] = 'Применить';
$_['text_backup_will_be_created'] = 'Резервная копия базы данных будет автоматически создана перед выполнением этого действия.';
$_['text_bulk_action'] = 'Групповое действие для выбранных';
$_['text_grid_results'] = 'Результаты и детали сканирования';
$_['text_quarantine_will_be_created'] = 'Оригинальные файлы будут перемещены в карантин (image/catalog_trash/) перед изменением.';
$_['text_success_apply'] = 'Изменения успешно применены!';
$_['text_description_broken'] = 'Результаты сканирования базы данных на наличие битых ссылок (записи в таблицах с несуществующими файлами).';
$_['text_description_cache_restore'] = 'Результаты поиска файлов в кэше, оригиналы которых отсутствуют в каталоге.';
$_['text_description_duplicates'] = 'Результаты поиска полных дубликатов изображений по MD5-хешу.';
$_['text_description_empty_folders'] = 'Список пустых папок в директории image/catalog/ для удаления.';
$_['text_description_exif'] = 'Результаты поиска изображений с метаданными EXIF, которые можно очистить.';
$_['text_description_folder_tree'] = 'Статистика размера папок в каталоге image/catalog/.';
$_['text_description_html_broken'] = 'Результаты поиска несуществующих файлов картинок, на которые ссылаются описания в HTML.';
$_['text_description_placeholders'] = 'Результаты поиска сущностей без изображений для заполнения заглушками.';
$_['text_description_png_jpg'] = 'Результаты поиска тяжелых изображений PNG без прозрачности, которые можно пережать в JPG.';
$_['text_description_small_photos'] = 'Список изображений, размеры которых меньше минимально заданных (%sx%s px).';
$_['text_description_smart_cache'] = 'Результаты поиска файлов кэша, оригиналы которых уже были удалены.';
$_['text_description_translit'] = 'Результаты поиска файлов с кириллицей или пробелами в названиях.';
$_['text_grid_broken_db_after'] = 'Очистить ссылку или установить заглушку';
$_['text_grid_dupe_after'] = 'Оригинал (остаётся)';
$_['text_grid_dupe_before'] = 'Дубликат (будет удалён)';
$_['text_grid_empty_folder'] = 'Пустая папка';
$_['text_grid_empty_folder_after'] = 'Удалить пустую папку';
$_['text_grid_exif_after'] = 'Очистить метаданные';
$_['text_grid_exif_before'] = 'Содержит EXIF';
$_['text_grid_html_after'] = 'Исправить ссылку вручную';
$_['text_grid_missing_file'] = 'Файл отсутствует';
$_['text_grid_missing_html'] = 'Картинка не найдена в описании';
$_['text_grid_missing_orig'] = 'Оригинал отсутствует';
$_['text_grid_missing_orig_after'] = 'Восстановить оригинал из кэша';
$_['text_grid_no_image'] = 'Нет изображения (пусто)';
$_['text_grid_orph_cache'] = 'Осиротевший кэш';
$_['text_grid_orph_cache_after'] = 'Удалить ненужный кэш';
$_['text_grid_ph_brand_after'] = 'Установить заглушку бренда';
$_['text_grid_ph_category_after'] = 'Установить заглушку категории';
$_['text_grid_ph_product_after'] = 'Установить заглушку товара';
$_['text_grid_small_photo_after'] = 'Рекомендуется заменить на более крупное';
$_['text_grid_too_small'] = 'Слишком маленькое';
$_['text_no_relations'] = 'Нет связей в БД';
$_['text_action_archive'] = 'Архивировать (в ZIP)';
$_['text_action_archive_delete'] = 'Архивировать + Удалить';
$_['text_tool_sanitizer'] = 'Санитайзер имен файлов';
$_['help_tool_sanitizer'] = 'Массовая очистка имен файлов и папок от кириллицы, пробелов и спецсимволов, приведение расширений к единому виду.';
$_['text_description_sanitizer'] = 'Результаты анализа имен файлов для санитаризации по выбранным правилам.';
$_['entry_sz_translit'] = 'Транслитерация (кириллица в латиницу)';
$_['entry_sz_spaces'] = 'Заменять пробелы на символ "_"';
$_['entry_sz_special'] = 'Удалять специальные символы';
$_['entry_sz_lowercase_name'] = 'Имя файла в нижний регистр';
$_['entry_sz_lowercase_ext'] = 'Расширение в нижний регистр';
$_['entry_sz_normalize_ext'] = 'Нормализовать расширения (jpeg -> jpg)';
$_['entry_cron_folder_mode'] = 'Режим фильтрации папок';
$_['text_cron_folder_mode_exclude'] = 'Сканировать все, кроме выбранных (Исключения)';
$_['text_cron_folder_mode_include'] = 'Сканировать только выбранные папки';
$_['button_select_all'] = 'Выбрать все';
$_['button_deselect_all'] = 'Снять все';
$_['entry_wm_upload_font'] = 'Загрузить свой шрифт TTF';
$_['button_upload_font'] = 'Загрузить шрифт';
$_['text_success_font_upload'] = 'Шрифт успешно загружен!';
$_['error_font_upload'] = 'Ошибка загрузки шрифта! Разрешены только файлы .ttf весом до 5 МБ.';
$_['entry_lazy_load'] = 'Прогрессивная ленивая загрузка';
$_['help_lazy_load'] = 'Включает премиальную прогрессивную отложенную загрузку на витрине. Изображения заменяются микро-превью и плавно размываются (blur-up), подгружаясь по мере прокрутки.';
$_['confirm_replace_mode'] = 'ВНИМАНИЕ! Вы выбрали режим «Заменять оригиналы». Все изображения будут перезаписаны прямо на сервере. Настоятельно рекомендуем сделать резервную копию. Вы уверены, что хотите продолжить?';
$_['text_compare'] = 'Сравнить';
$_['text_home'] = 'Главная';
$_['text_tech_gd'] = 'Библиотека GD';
$_['text_tech_imagick'] = 'Imagick';
$_['text_tech_webp'] = 'Поддержка WebP';
$_['text_position_1'] = '1 - Слева вверху';
$_['text_position_2'] = '2 - По центру вверху';
$_['text_position_3'] = '3 - Справа вверху';
$_['text_position_4'] = '4 - Слева посередине';
$_['text_position_5'] = '5 - По центру';
$_['text_position_6'] = '6 - Справа посередине';
$_['text_position_7'] = '7 - Слева внизу';
$_['text_position_8'] = '8 - По центру внизу';
$_['text_position_9'] = '9 - Справа внизу';
$_['entry_log_level'] = 'Уровень лога';
$_['text_log_changed_only'] = 'Только изменённые';
$_['text_log_all'] = 'Все файлы (подробно)';
$_['text_skipped_no_gain'] = 'Пропущен (нет улучшения)';
$_['text_reset_cache_hint'] = 'Сбросить кэш оптимизации (полный пересканирование)';
$_['confirm_reset_cache'] = 'Сбросить кэш оптимизации? Следующее сканирование проверит ВСЕ файлы заново.';
$_['text_cache_cleared'] = 'Кэш оптимизации очищен. Следующее сканирование проверит все файлы.';
$_['error_wm_preview'] = 'Ошибка генерации превью водяного знака.';
$_['error_wm_too_large'] = 'Изображение водяного знака слишком большое (%dx%d px)! Максимально допустимый размер: %dx%d px.';
$_['text_apply_errors_warning'] = 'ВНИМАНИЕ: Некоторые файлы не удалось заменить (заблокированы или нет прав):';
$_['text_action_compress'] = 'Сжать изображения';
$_['text_estimated'] = 'Прогноз';
$_['entry_min_savings_bytes'] = 'Мин. сжатие (байт)';
$_['entry_min_savings_percent'] = 'Мин. сжатие (%)';
$_['text_optimized'] = 'Оптимизировано';
$_['entry_broken_fallback'] = 'Заглушка для битых фото';
$_['help_broken_fallback'] = 'Автоматически заменяет отсутствующие или поврежденные изображения каталога на витрине на изображение-заглушку.';
$_['entry_fallback_image'] = 'Изображение-заглушка';
$_['help_fallback_image'] = 'Выберите изображение, которое будет показано, если оригинальный файл картинки товара или категории отсутствует. По умолчанию используется no_image.png.';
$_['text_tool_cmyk'] = 'Конвертер CMYK в RGB';
$_['help_tool_cmyk'] = 'Конвертация JPEG изображений из цветового профиля CMYK в sRGB для корректного отображения в браузерах Safari и на устройствах iOS.';
$_['text_tool_heavy_files'] = 'Поиск тяжелых файлов';
$_['help_tool_heavy_files'] = 'Поиск самых тяжелых оригинальных изображений в каталоге с возможностью их быстрого сжатия прямо здесь.';
$_['entry_heavy_files_limit'] = 'Макс. количество найденных файлов (всего)';
$_['text_action_convert_rgb'] = 'Конвертировать в RGB';
$_['text_description_cmyk'] = 'Найдены файлы в цветовом пространстве CMYK. Конвертация в sRGB гарантирует корректное отображение на всех платформах, включая iOS/macOS.';
$_['text_description_heavy'] = 'Список из %d самых тяжелых файлов в каталоге изображений. Вы можете оптимизировать их прямо здесь.';
$_['text_cron_folder_hint_exclude_all'] = 'Статус: Будут сканироваться все папки (исключения не выбраны).';
$_['text_cron_folder_hint_exclude_some'] = 'Статус: Будут сканироваться все папки, КРОМЕ %d отмеченных.';
$_['text_cron_folder_hint_include_some'] = 'Статус: Будут сканироваться только %d отмеченных папок.';
$_['text_cron_folder_hint_include_none'] = 'ВНИМАНИЕ: Ни одна папка не выбрана! Крон ничего не будет сканировать.';
$_['text_action_apply_changes'] = 'Применить указанные изменения';
$_['entry_wm_status'] = 'Статус водяного знака';
$_['text_disabled'] = 'Отключено';
$_['entry_rule_name'] = 'Название правила';
$_['entry_rule_status'] = 'Статус правила';
$_['entry_action'] = 'Действие';
$_['entry_ph_status'] = 'Статус заглушек';
$_['entry_sanitizer_limit'] = 'Макс. файлов для поиска (лимит)';
$_['entry_heavy_files_min_size'] = 'Минимальный размер';
$_['entry_png_jpg_limit'] = 'Макс. файлов для поиска (лимит)';
$_['entry_png_jpg_min_size'] = 'Минимальный размер';
$_['text_wm_rule_title'] = 'Правило водяного знака';
$_['button_close'] = 'Закрыть';
$_['text_ph_rule_title'] = 'Правило заглушки';
$_['entry_ph_image'] = 'Изображение заглушки';
$_['button_clear_cache_wm'] = 'Очистить кэш (применить водяной знак)';
$_['text_active'] = 'Активна';
$_['text_error'] = 'Не активна';
$_['text_th_dupe_delete'] = 'Файл для удаления (Дубликат)';
$_['text_th_dupe_keep'] = 'Файл для сохранения (Оригинал)';
$_['text_dupe_original_label'] = 'Оригинал';
$_['text_dupe_duplicate_label'] = 'Дубликат';
$_['text_disk_usage'] = 'Использование диска';
$_['text_cumulative_stats'] = 'Статистика оптимизации';
$_['text_disk_catalog'] = 'Каталог изображений';
$_['text_disk_cache'] = 'Кэш OC';
$_['text_disk_trash'] = 'Корзина модуля';
$_['text_disk_other'] = 'Прочее';
$_['text_disk_free'] = 'Свободно';
$_['text_total_files_opt'] = 'Файлов обработано';
$_['text_total_saved'] = 'Всего сэкономлено';
$_['text_avg_saving_pct'] = 'Средняя экономия';
$_['text_stats_hint'] = 'Статистика накапливается по всем сессиям (хранится локально в браузере)';
$_['text_reset_stats'] = 'Сбросить статистику';
$_['text_reset_stats_confirm']= 'Сбросить накопленную статистику оптимизации?';
$_['text_export_import'] = 'Экспорт / Импорт настроек';
$_['button_export_settings'] = 'Экспорт настроек (JSON)';
$_['button_import_settings'] = 'Импортировать настройки';
$_['help_export_settings'] = 'Скачать все настройки модуля в JSON-файл';
$_['help_import_settings'] = 'Загрузить ранее экспортированный JSON для восстановления настроек';
$_['text_import_success'] = 'Настройки успешно импортированы. Перезагрузите страницу для применения.';
$_['error_import_file'] = 'Файл не загружен или ошибка загрузки';
$_['error_import_invalid'] = 'Некорректный файл настроек (неверный модуль или формат)';
$_['text_click_to_load'] = 'Нажмите ↑ для загрузки данных диска';
$_['tab_formats'] = 'Форматы изображений';
$_['text_disk_quota_legend'] = 'Лимиты диска хостинга (вручную)';
$_['text_disk_quota_desc'] = 'Если график дискового пространства показывает неверные данные (физический диск сервера вместо лимита вашего хостинга), вы можете указать лимиты вашего тарифа вручную. Укажите 0, чтобы использовать автоопределение.';
$_['entry_disk_quota_total'] = 'Выделено диска на хостинге (ГБ)';
$_['entry_disk_quota_used'] = 'Занято диска на хостинге всего (ГБ)';
$_['entry_auto_disk'] = 'Автообновление при входе';
// Cron Tasks
$_['entry_cron_task_name'] = 'Название задачи';
$_['entry_cron_task_summary'] = 'Параметры сжатия';
$_['button_add_cron_task'] = 'Добавить задачу';
$_['button_copy_cron_url'] = 'Копировать URL';
$_['text_cron_recommended_url'] = 'URL для запуска задачи крона:';
// Licensing
$_['text_license_required'] = 'Требуется лицензионный ключ';
$_['text_license_required_desc'] = 'Пожалуйста, введите лицензионный ключ для активации модуля. Все функции настроек и оптимизации заблокированы до ввода валидного ключа.';
$_['entry_token_desc'] = 'Введите токен активации, выданный для вашего основного домена. Вы можете получить его в личном кабинете на форуме или обратившись в поддержку.';
$_['button_activate'] = 'Активировать модуль';
$_['text_support'] = 'Техническая поддержка';
$_['text_support_desc'] = 'Если у вас ещё нет ключа или возникли проблемы, пожалуйста, сообщите номер вашего заказа и домен.';
// New settings
$_['entry_wm_max_width'] = 'Макс. ширина водяного знака (px)';
$_['entry_wm_max_height'] = 'Макс. высота водяного знака (px)';
$_['help_wm_max_width'] = 'Если исходное изображение водяного знака превышает эту ширину, оно будет автоматически масштабировано. Укажите 0 или оставьте пустым для значения по умолчанию (800px).';
$_['help_wm_max_height'] = 'Если исходное изображение водяного знака превышает эту высоту, оно будет автоматически масштабировано. Укажите 0 или оставьте пустым для значения по умолчанию (800px).';
$_['entry_disk_status'] = 'Включить сканирование диска и график';
$_['help_disk_status'] = 'Если включено, модуль будет периодически сканировать объем папки картинок и отображать круговую диаграмму. Рекомендуется выключить на больших сайтах для ускорения загрузки панели.';
$_['text_disk_settings_title'] = 'Настройка лимитов и сканирования диска';