Описание Atribute Translator - перевод значений атрибутов для ocStore 3.0.3.7
Attribute Translator — интеллектуальный перевод атрибутов товаров для ocStore 3.0.3.7
Attribute Translator — это профессиональный PHP-скрипт для автоматического перевода значений атрибутов товаров (размеры, цвета, характеристики и т.д.) с русского на украинский и английский языки. Решение создано специально для владельцев интернет-магазинов на движке ocStore 3.x, которым необходимо быстро и качественно локализовать карточки товаров без ручного копирования и найма переводчиков.
Скрипт использует Microsoft Azure Translator API (нейросетевой перевод высокого качества), работает через веб-интерфейс, поддерживает пакетный режим, умеет возобновлять прерванные сессии и отправляет отчёты в Telegram.
Описание:
- Attribute Translator — это автономное веб-приложение на PHP/MySQL, которое:
- Подключается к таблице атрибутов ocStore (oc_product_attribute);
- Выбирает все русскоязычные значения атрибутов (игнорируя пустые и технические записи);
- Переводит их через Microsoft Azure Translator на украинский и/или английский язык;
- Сохраняет переводы в ту же таблицу (добавляя или обновляя записи);
- Ведёт подробный лог переведённых записей и статистику;
- Предоставляет удобный веб-интерфейс на русском или украинском языке.
- Скрипт написан без фреймворков, работает на стандартном LAMP-стеке и не требует модификации ядра ocStore.
Возможности:
- Автоматический перевод атрибутов RU → UA, RU → EN через Microsoft Azure Translator (высокое качество, поддержка технических терминов).
- Веб-интерфейс с авторизацией, статистикой, фильтрацией и пагинацией.
- Ручное редактирование переведённых атрибутов прямо из браузера.
- Массовое сохранение / удаление выбранных записей.
- Фильтрация по ID товара, ID атрибута, языку, тексту, а также по статусу «Ожидает перевода». Отбор записей, переведённых в определённый день.
- Поиск уже существующих переводов в базе и добавление их в лог, чтобы не тратить API-запросы повторно.
- CLI-скрипт (cron_translate.php) для запуска по крону — перевод в фоновом режиме.
- Telegram-уведомления о завершении сессии перевода (кол-во переведённых атрибутов, время выполнения, прогресс).
- Лимитирование запросов к API (защита от превышения квоты).
- Логирование всех действий с ротацией логов (по дням и размеру файла).
- Поддержка двух языков интерфейса — украинский и русский (легко добавить другие).
- Безопасность: сессии, HTTP-only cookies, авторизация, защита SQL-инъекций через подготовленные запросы.
Кому полезен:
| Аудитория | Польза |
| Владельцы интернет-магазинов на ocStore / OpenCart | Быстрая локализация каталога без найма переводчиков. |
| SEO-специалисты | Улучшение ранжирования в украинской и англоязычной выдаче за счёт уникальных локализованных текстов атрибутов. |
| Web-разработчики / интеграторы | Готовое, чисто написанное решение без фреймворков, легко дорабатывается под любые задачи. |
| Маркетплейсы / мультивендоры | Перевод атрибутов тысяч товаров от разных продавцов в единый формат. |
| Крупные каталоги (10k+ товаров) | CLI-режим и ограничение запросов позволяют переводить массивы данных без падения сервера. |
Технические требования к хостингу / серверу:
PHP - 7.3+
PHP-расширения - mysqli, curl, json, session
MySQL / MariaDB - 5.7+
Веб-сервер - Apache / Nginx + mod_php / PHP-FPM
Доступ к базе - Чтение/запись к таблице oc_product_attribute
Ресурсы CPU + RAM - 1 vCPU, 1 ГБ RAM (на 10–30 тыс. атрибутов)
Дисковое пространство - 200–500 МБ (логи + JSON-файлы)
Cron (опционально) - Доступ к CLI PHP
Внешние API - Microsoft Azure Translator API (ключ + регион)
Telegram (опционально) - bot token + chat ID
Права на запись - В папке со скриптом на запись (логи, JSON)
Поддержка HTTPS - Не обязательна, но рекомендуется для безопасности авторизации
Вы получаете:
- Полный исходный код (PHP, HTML/CSS, SQL-схема не требуется — работа с существующей таблицей ocStore).
- Бесплатную консультацию по первому запуску.
- Возможность доработки под конкретные пожелания (добавление других языков, интеграция с Google Translate API, экспорт и т.д.).
Диагностика и обслуживание (setup_sqlite.php)
- Установка SQLite базы: - Создание таблиц для логов переводов, статистики и отмеченных дат
- Полная диагностика: - Проверка: размера SQLite, количества записей, PHP настроек, расширений, подключения к MySQL, статуса Cron, прав доступа, целостности БД, Telegram бота
- Очистка удалённых товаров: - Поиск и удаление записей о переводах для товаров, которые были удалены из магазина (освобождает место)
- VACUUM оптимизация: - Сжатие SQLite файла после удаления записей
Установка
Шаг 1. Загрузка файлов
Скопируйте все файлы скрипта в отдельную папку на сервере (например, /public_html/attribute/)
Шаг 2. Настройка config.php
Отредактируйте файл config.php:
// Данные подключения к MySQL (база ocStore)
define('DB_HOST', 'localhost');
define('DB_USER', 'ваш_пользователь');
define('DB_PASS', 'ваш_пароль');
define('DB_NAME', 'имя_базы');
define('DB_PREFIX', 'oc_');
// Данные для входа в админку скрипта
define('ADMIN_USER', 'admin');
define('ADMIN_PASS', 'ваш_пароль');
// Azure Translator API ключ
define('AZURE_KEY', 'ваш_ключ');
define('AZURE_REGION', 'westeurope');
// Telegram бот (опционально)
define('TELEGRAM_BOT_TOKEN', 'токен_бота');
define('TELEGRAM_CHAT_ID', 'ваш_chat_id');
Шаг 3. Установка SQLite базы
Откройте в браузере: http://ваш_сайт/attribute/setup_sqlite.php
Нажмите "Установить / Переустановить" — база translation_data.sqlite будет создана автоматически.
Шаг 4. Проверка
Откройте: http://ваш_сайт/attribute/index.php — войдите с логином/паролем из config.php.
Шаг 5. Настройка Cron (для автоматического перевода)
# Перевод значений на украинский (каждые 15 минут)
*/15 * * * * php /путь/к/папке/cron_translate.php uk values
# Перевод значений на английский
*/15 * * * * php /путь/к/папке/cron_translate.php en values
# Перевод названий атрибутов на украинский
*/15 * * * * php /путь/к/папке/cron_translate.php uk attributes
# Перевод названий атрибутов на английский
*/15 * * * * php /путь/к/папке/cron_translate.php en attributes
Рекомендуемые настройки PHP
max_execution_time - 3600 (для веб) / 900 (для cron)
memory_limit - 512M
Лицензирование
Скрипт защищён лицензионным ключом. Файл license.key должен содержать SHA256 хеш от домена. Без валидной лицензии скрипт не работает.
Update:
| Функция | Описание |
| Два типа перевода | Названия атрибутов + значения атрибутов |
| Раздельная статистика | Отдельные блоки для атрибутов и значений |
| Фильтрация по типу данных | Выбор между значениями и атрибутами |
| Фильтрация по дате перевода | Поиск записей, переведённых в конкретную дату |
| Отметка проверенных дат | Контроль качества с визуальной индикацией |
| Подсказки к иконкам | Интуитивно понятный интерфейс |
| Раздельные логи | translated_log_values.json и translated_log_attributes.json |
| Раздельная статистика | translation_stats_values.json и translation_stats_attributes.json |
*Скрипт разработан для ocStore 3.0.3.7, но может работать и с другими версиями OpenCart/ocStore при условии совпадения структуры таблиц.*











