Модуль Auto Translate Pro For OpenCart v1.8.4

  • Автор темы Автор темы svitlo
  • Дата начала Дата начала

svitlo

Разрушитель (V)
Сообщения
619
Реакции
267
Баллы
11 541
svitlo разместил(а) новый ресурс:

Auto Translate Pro For OpenCart v1.8.4 - Auto Translate Pro For OpenCart v1.8.4

Посмотреть вложение 5847
ВАЖНО: для использования API Google требуется как минимум PHP 7.3, другие API работают на PHP 5.
Переведите содержимое своего магазина с помощью онлайн-сервисов перевода: Google Translate API, Deepl, Microsoft Translator, Systran, Yandex Translate, IBM Watson Translator.

Посмотреть страницу этого ресурса...
 
Это что в теории можно бесплатно переводить, watson есть в модуле, или заглушка как на демо?
 
Подскажите, пожалуйста, как сделать лицензию нулевой? Спасибо!
 
Приветствую!
Для модуля нужна активация?
 
Сначала устанавливал 1.6.0 без ключика, а потлм обновил 1.8.4 и результат установки на картинке. Они отлчаються наличием настройки cron
123.jpg
 
согласен, у меня также ключ просит
 
Приветствую!
Выкатываю нулку 1.8.4
+ Перевод админки модуля на украинский и русский языки.
Модуль нульнул, оттестировал, пользуйтесь на здоровье)

Скачать за баллы


Скачать за актив
Скрытое содержимое. Вам нужно войти или зарегистрироваться.
 
Приветствую!
Выкатываю нулку 1.8.4
+ Перевод админки модуля на украинский и русский языки.
Модуль нульнул, оттестировал, пользуйтесь на здоровье)

Скачать за баллы
-=Ограниченное содержимое=-

Скачать за актив
***Скрытое содержимое***
Отлично! Это работает! Спасибо!
 
Версия в шапке не НУЛЛ, требует активации.
 
Есть кто пользуется модулем через Yandex Translate
Ошибка Error: this api is not yet available
Ключ уже раз пять переделывал, сервисные аккаунты, роли
не работает
непонятно, в модуле и его подключении апи ошибка, или в моих ключах
 
Есть кто пользуется модулем через Yandex Translate
Ошибка Error: this api is not yet available
Ключ уже раз пять переделывал, сервисные аккаунты, роли
не работает
непонятно, в модуле и его подключении апи ошибка, или в моих ключах
ошибка в настройках неуказан провайдер перевода $this->config->get('mass_translate_api')
 
Здесь нет списка для выбора. Сам ключ ниже для яндекса прописан
Screenshot_1.png
 
в общем с яндексом и в том виде котрый сечас, модуль не будет работать
там версия апи 1.5 которая отключена уже
надо версию 2
и переделать модель и контроллер
код модели написала нейронка, насколько правильно не знаю
сейчас используется не просто ключ апи а еще идентификатор каталога, который тоже надо будет указывать либо напрямую в файле либо в админке

class ModelMassTranslateApiYandex extends Model {

private $apiKey;
private $folderId;
private $endpoint = 'https://translation.api.cloud.yandex.net/translate/v2/translate';

public function init($config) {
if (empty($config['apiKey'])) {
die('Missing API key');
}

if (empty($config['folderId'])) {
die('Missing folder ID');
}

$this->apiKey = $config['apiKey'];
$this->folderId = $config['folderId'];
}

public function translate($text, $sourceLangCode, $targetLangCode) {
$sourceLangCode = $this->convertLangCode($sourceLangCode);
$targetLangCode = $this->convertLangCode($targetLangCode);

$params = [
'sourceLanguageCode' => $sourceLangCode,
'targetLanguageCode' => $targetLangCode,
'texts' => [$text]
];

$translateResult = $this->runTranslate($params);

if (!empty($translateResult['translations'])) {
return $translateResult['translations'][0]['text'];
}

return '';
}

public function translateBatch($sourceLangCode, $targetLangCode, $values = []) {
$sourceLangCode = $this->convertLangCode($sourceLangCode);
$targetLangCode = $this->convertLangCode($targetLangCode);

$params = [
'sourceLanguageCode' => $sourceLangCode,
'targetLanguageCode' => $targetLangCode,
'texts' => array_values($values)
];

$translateResult = $this->runTranslate($params);

$translated = [];
if (!empty($translateResult['translations'])) {
foreach ($translateResult['translations'] as $k => $translation) {
$translated[$k] = $translation['text'];
}
}

return $translated;
}

private function runTranslate($params) {
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $this->endpoint);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Api-Key ' . $this->apiKey,
'x-folder-id: ' . $this->folderId,
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($ch);

if (curl_errno($ch)) {
file_put_contents(
DIR_LOGS . 'mass_translate.log',
'Curl error: ' . curl_error($ch) . PHP_EOL,
FILE_APPEND | LOCK_EX
);
curl_close($ch);
return [];
}

curl_close($ch);

$res = json_decode($result, true);

if (isset($res['error'])) {
file_put_contents(
DIR_LOGS . 'mass_translate.log',
'API error: ' . $res['error']['message'] . ' (code: ' . $res['error']['code'] . ')' . PHP_EOL,
FILE_APPEND | LOCK_EX
);
}

return $res;
}

public function convertLangCode($lang) {
return strtolower(substr($lang, 0, 2));
}

public function sanitizeHtml($text) {
$replace = [
'<br>' => '<br/>',
'<hr>' => '<hr/>',
];

$text = str_replace(array_keys($replace), $replace, $text);

return $text;
}
}

может кто нибудь пересобрать модуль под работу с яндекс апи версии 2 ? остальное вообще не надо
сделать предлагаю платно
нужна рабочая версия

я хочу в контроллере сделать прямой вызов модели api_yandex.php в куске
// load drivers
$this->load->model('mass_translate/'.$type);
if (!is_file(DIR_APPLICATION.'model/mass_translate/api_'.$this->config->get('mass_translate_api').'.php')) {
die ('Error: this api is not yet available');
}

if (!empty($config['simulation'])) {
$this->config->set('mass_translate_api', 'simulate');
}

$this->load->model('mass_translate/api_'.$this->config->get('mass_translate_api'));
$this->translate_api = $this->{'model_mass_translate_api_'.$this->config->get('mass_translate_api')}->getObject();

$api_options = $this->config->get('mass_translate_opt');

if (isset($api_options[$this->config->get('mass_translate_api')])) {
$api_options = $api_options[$this->config->get('mass_translate_api')];
}

$config['api_options'] = $api_options;

$this->translate_api->init($api_options);

но как не делаю, получаю ошибку Exception</b>: Error: Could not load model mass_translate/api_yandexphp! in
точка теряется
если кто сможет подружить модуль только под яндекс, помогите. Готов оплатить доработку. сам не справляюсь)
 
Последнее редактирование:
Назад
Верх