Prestashop как перевести модуль или шаблон быстро и без каких либо модулей.

Как быстро перевести шаблон интернет-магазина Prestashop на русский язык или просто отдельно модуль перевести.

 

Ранее я переводил шаблон с помощью модуля admin translate, но увы пришло время, когда данный модуль перестал поддерживаться и просто стал не работать.

Оказывается можно, спасибо ребятам программистам с знание java-script, перевести с помощью браузера Google Chrome и встроенного переводчика.

Перевод может в каких-то местах получится корявый, но это мы можем и так, поправить ручками, чем всё переводить (не менее 500 строк) ручками.

Переводим шаблоны в Prestashop

Переходим с лева на панели во вкладку «Локализация».

 

 

Выбираем либо тему, либо модуль. Смотря что именно что хотим переводить. Перевод модуля Prestashop

 

 

 

Перевод Престасшоп

Жмем изменить.

Страница с полями переводов будет долго грузится. Не раз Вы увидите предупреждение от браузера Хром, что «Страница не отвечает, подождать или закрыть?». Мы будем ждать, в моем случае такое предупреждение выскакивало 3 раза.На странице с переводом Вы можете столкнутся с такой неприятностью, ка «Внимание, ваша конфигурация PHP ограничивает максимальное количество полей в форме 5000 для max_input_vars. Пожалуйста, попросите хостинг-провайдера увеличить этот лимит до по крайней мере 5216, или вам придется редактировать файлы перевода.» Ну или типо такого.Внимание, ваша конфигурация PHP ограничивает максимальное количество полей

Поставьте в корне Вашего сайта в файле .htaccess данную запись к примеру 1200 строк: php_value max_input_vars 12000. И перезагрузите страницу.php_value max_input_vars

Спускаемся до первого не переведённого поля.

Перевод шаблона Преста

Жмём правую кнопку мыши. И выбираем перевести страницу.

Перевод шаблона Prestashop

Вот у нас перевелась правая часть.Перевод Prestashop

Важный момент: Браузер нам переводит только те поля, которые перед нашими глазами. То есть активны на экране. То есть все элементы, которые пока ниже – Хром их не переводит. Поэтому нам нужно пролистать всё окно до конца вниз.Теперь её нужно перенести в ячейки слева.

Перевод Prestashop

 

Заходим в вкладку инструменты разработчика или просто нажимаем Shift + Ctrl + i. Переходим в Console и там вставляем наш java-script. Enter и всё. Все переведённые поля – перенеслись.

Перевод Prestashop

Этот скрипт вносить перевод только в те поля, в которых нет перевода, то есть пустые ячейки. Но есть и глюк у него. Не переводит поля, где много символов. Если кто, увидит ошибку у этого кода напишите в комментариях. Что может быть не так.

$("div.panel")
   .filter(function(){ // прячем полностью переведенные блоки
     return $(this).find("h3 span.label-danger").text() == "0";
   }).hide()
   .end()
   .filter(function(){ // выбираем блоки с неполными переводами
     return $(this).find("h3 span.label-danger").text() !== "0";
   })
   .each(function(){
     $(this).find("table.table tr").each(function(){
       $(this).find("td input[type='text'][value='']")
         .each(function(){
           var inputField = $(this);
           var iVal = inputField.parents("tr").find("td:first-child").text();
           inputField.css("outline","2px solid green");
           inputField.val(iVal);
         })
     })
   })

А данный код, так же перезаписывает ячейки которые уже имеют перевод.

jQuery('tbody tr').each(function(i){
var vau = jQuery(this).find('input').val() || jQuery(this).find('textarea').val();
if(!vau){
jQuery(this).find('input').val(jQuery(this).find('td').eq(0).text());
jQuery(this).find('textarea').val(jQuery(this).find('td').eq(0).text());
//console.log(jQuery(this).find('td').eq(0).text());
}
});

Обязательно потом проверьте все поля. Так как те поля, которые не перевелись браузером, так же переместятся на английском.

Возможно Вам будет интересно:  Как сделать параллельную загрузку браузером css, js, img с поддоменов для ускорения сайта на prestashop

А вот Видосик: