Недавно появился очередной релиз магазина PrestaShop. Текущая версия - 1.2.5. По большей части это сервисный релиз с пофиксенными багами.
Магазин стал еще лучше, и работать с ним - одно удовольствие.
К сожалению, по прежнему не решен вопрос с языковой поддержкой в части автоматического обновления языковых файлов.
Проблема не новая, и широко известная - при попытке закачать языковые файлы на сервер, имеем ошибку "невозможно распаковать архив".
Тысячи пользователей во всех странах тщетно пытаются найти подсказку, как с этим бороться на официальном сайте PrestaShop. Самое лучшее, что разрабы могут сказать на это: "проблема нам известна, мы над ней работает".
До сих пор на официальном сайте PrestaShop не написано, что делать, если вы столкнулись с этой ошибкой. Просто тишина, никто ничего вразумительного сказать не может.
Давайте посмотрим, можно ли что-то сделать вообще, и как быть.
Во-первых - без паники. Все возможно! Сейчас расскажем как.
Ошибка распаковки возникает на удаленном сервере в Интернете, на локальном сервере такого не бывает. Не будем сейчас разбираться почему, поскольку здесь много нюансов, и все не однозначно. Многое зависит от настроек сервера, но не только - в самой процедуре экспорта и импорта много багов: то не все файлы запакует, то распаковывать не хочет, то ошибку выдаст, а сам распакует, а то распакует часть, и на этом успокоится...
Воспользуемся тем, что на локальном сервере все в порядке.
Поэтому идем в админку магазина и делаем экспорт нужного нам (предположительно - русского) языка.
Теперь находим получившийся архив в папке /translations/export. Если экспортировался русский язык (кстати, с тем же успехом вы могли его просто взять с офсайта), то в этой папке мы увидим файл ru.gzip (для дальнейшего разговора примем, что мы действительно экспортировали русский язык и получили в результате файл ru.gzip).
Открываем файл ru.gzip архвиатором (например, winrar-ром), и распаковываем его. В результате в текущей папке получим один-единственный файл ru.
Если открыть его в текстовом редакторе, то увидим, что в этом файле расписана структура - в каком файле какая информация хранится. Это может сбить с толку. Но только не нас!
Переименовываем полученный файл из ru в ru.zip!
Теперь точно так же как раньше, открываем файл ru.zip архиватором, и спокойно распаковываем еще раз. В результате получаем структуру папок (вы увидимте в корне 4 папки), в которых расположены все нужные нам файлы в нужном порядке.
Основная работа сделана. Остается разместить эти файлы на сервере.
Делаем это по фтп: соединяемся с сервером, и заливаем на него все папки и файлы, давая подтверждение на перезапись тех файлов, что уже есть на сервере.
Вот и все - языковые настройки магазина обновлены.
Следует иметь в виду, что русификация административного интерфейса - тех закладок, что расположены по верху экрана - таким образом не переносится. Для полного переноса придется переносить всю базу данных магазина, но это уже другой вопрос.
Давайте закончим вопросом - зачем это вообще нужно?
Во-первых, проблема локализация у огромного числа пользователей возникает сразу же, при первой попытке установить свой язык на сервер. Не смущайтесь, с этим встречается огромное количество пользователей во всех странах.
Во-вторых, часто возникает ситуация, когда первоначально язык установился, наполнение магазина товарами сделано, все работает, и у вас возникла необходимость обновить языковые файлы. Например, изменить надписи с общей направленности на, скажем, книжную тематику - "товары" на "книги", "производители" на "издательства" и т.д. (как, например, здесь, на ArtRussianBooks.com). Не проблема - делаем все нужные изменения через административный интерфейс в локальном режиме, и далее по описанному:
- Экспорт языка через административный интерфейс;
- Разархивация файла ru.gzip в ru;
- Переименование файла ru в ru.zip;
- Распаковка архива ru.zip с сохранением структуры каталогов;
- Заливка всех языковых файлов на сервер.
Удачной всем работы!
Комеентарии и замечания, как всегда, пишем в блог Шопмастера http://shopmaster.blogmasters.ru или на адрес электронной почты shopmaster@list.ru.


























