Не так давно познакомился с коммерческим фреймворком Webasyst и его модулем Shop-Script. Мне понравилось работать с этими инструментами и порог вхождения был невысок. Но как сделать сайт с Webasyst + Shop-Script на другом языке?
Данное руководство подразумевает, что у вас уже установлен Webasyst и его модуль Shop-Script. Поэтому, дальнейшие действия расписаны с учётом того, что сайт установлен и настроен – например, на русском языке.
Для работы над локализацией магазина нам понадобится доступ администратора к сайту и FTP-доступ. В этой статье я буду локализовать интернет-магазин для Франции. Что нужно знать перед началом? Страну, язык, валюту, правила для множественных форм чисел, локаль для языка.
Шаг 1. Конфигурация на сайте
Для начала, необходимо выбрать Францию в настройках магазина. В админпанели переходим: Магазин – Настройки – Общие настройки и выбираем страну. В нашем случае – это Франция.
Затем добавляем необходимую валюту: Магазин – Настройки – Валюты. В нашем случае – это Евро. Делаем её основной валютой, если на сайте будет ещё какая-то (напр., доллары США).
Шаг 2. Работа с файлами
Теперь поработаем с файлами. Нам нужен FTP-доступ к файлам. Я, например, использую программу WinSCP – в стиле коммандера. Для того, чтобы сделать сайт на Webasyst + Shop-Script на другом языке сначала нужно добавить этот язык в файле /wa-config/locale.php
Не удивляйтесь, если у вас нету этого файла. Создайте его и пропишите следующий код:
<?php
return array (
0 => 'en_US',
1 => 'ru_RU',
2 => 'fr_FR',
);
Мы оставляем русский для админки, а английский можно убрать. Строка ‘fr_FR’ – это локаль нужного нам языка. Для выбора нужной локали можно подсмотреть хотя бы и здесь.
Далее идём в папку /wa-system/locale/data и копируем оттуда файл, например, en_US.php себе на компьютер и делаем в нём правки (в примере – для французского языка):
<?php
return array(
'name' => 'Français',
'region' => 'France',
'english_name' => 'French',
'english_region' => 'France',
'date_formats' => array(
'humandate' => 'F j, Y',
'date' => 'dd/mm/yy',
'dtime' => 'd/m H:i',
'datetime' => 'dd/mm/yy H:i',
'fulldatetime' => 'dd/mm/yyyy H:i:s'
),
'decimal_point' => '.',
'frac_digits' => '2',
'thousands_sep' => ' '
);
Сохраняем файл как fr_FR.php и отправляем назад на сервер. По этой аналогии делаем файлы локализации для системы и модулей сайта. В папке /wa-system/webasyst/locale/ создаём папку fr_FR, в ней – LC_MESSAGES. Из папки /wa-system/webasyst/locale/en_US копируем файл webasyst.po к себе на компьютер и редактируем файл (можно программой PoEdit или EasyPo), чтобы внести корректные данные – французский язык и формы множественных чисел. Нас интересуют строки (если будете редактировать через блокнот):
"Language: fr_FR\n"
и
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
Если пользуетесь программами, сгенерируйте файл локализации из po-файла. Загрузите оба файла webasyst.po и webasyst.mo в созданную нами папку /wa-system/webasyst/locale/fr_FR/LC_MESSAGES. Точно так же создаём файлы локализации для нужных модулей (папки /wa-apps/site/locale, /wa-apps/shop/locale и т.д. – те, что вам понадобятся).
Чтобы в формах и в других местах, где присутствует на сайте выбор даты, подтянулось всё по-французски, идём в репозиторий и скачиваем нужный файл. Копируем с нашего сайта файл /wa-content/js/jquery-ui/i18n/jquery.ui.datepicker-ru_RU.js на компьютер, переименовываем в jquery.ui.datepicker-fr_FR.js. Открываем файл для редактирования и вносим туда код из скачанного из репозитория файла. Нужно скопировать всё, что лежит в фигурных скобках (начиная с { closeText: … и заканчивая … yearSuffix: “”}; ). Заменяем язык в квадратных скобках в этом же файле $.datepicker.regional[‘fr‘]. Новый файл отправляем туда, откуда взяли, на сервер.
Если уже есть переводы, можно сразу ставить нужные фразы в конфигурационных файлах в папке /wa-config. Это auth.php, /wa-config/apps/shop/checkout.php
Шаг 3. Заключительные действия
Заходим в админку и чистим кеш. Для этого кликаем Настройки – Общие настройки, выбираем из выпадающего меню “Язык доступных для установки программных продуктов” нужный нам язык и жмём кнопку “Очистка кеша”, затем – “Сохранить”.
Чистим кеш в Инсталлере. Идём в Инсталлер – Настройки и жмём “Очистить кеш”.
Далее выберите нужный язык в настройках витрины магазина (если есть) – Магазин – Витрина – Настройки и в других модулях, где нужно.
Если переводы уже готовы, можно смело вносить изменения во все .po-файлы, которые мы создали. Генерировать .mo и закачивать на сервер (и каждый раз чистить кеш после загрузки файлов).
Можно использовать удобное бесплатное приложение My Lang: Лайт, установив его через Инсталлер. Это сэкономит вам время и поможет обойтись без некоторых инструкций в этой статье (да, я специально это упомянул в конце ;)).