Webasyst + Shop-Script. Как сделать сайт на другом языке

| 0 |
webasyst shop-script на другом языке
Webasyst

Не так давно познакомился с коммерческим фреймворком Webasyst и его модулем Shop-Script. Мне понравилось работать с этими инструментами и порог вхождения был невысок. Но как сделать сайт с Webasyst + Shop-Script на другом языке?

Данное руководство подразумевает, что у вас уже установлен Webasyst и его модуль Shop-Script. Поэтому, дальнейшие действия расписаны с учётом того, что сайт установлен и настроен - например, на русском языке.

Для работы над локализацией магазина нам понадобится доступ администратора к сайту и FTP-доступ. В этой статье я буду локализовать интернет-магазин для Франции. Что нужно знать перед началом? Страну, язык, валюту, правила для множественных форм чисел, локаль для языка.

Шаг 1. Конфигурация на сайте

Для начала, необходимо выбрать Францию в настройках магазина. В админпанели переходим: Магазин - Настройки - Общие настройки и выбираем страну. В нашем случае - это Франция.

Webasyst Shop-Script на другом языке

Затем добавляем необходимую валюту: Магазин - Настройки - Валюты. В нашем случае - это Евро. Делаем её основной валютой, если на сайте будет ещё какая-то (напр., доллары США).

Шаг 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: Лайт, установив его через Инсталлер. Это сэкономит вам время и поможет обойтись без некоторых инструкций в этой статье (да, я специально это упомянул в конце ;)).

Если вам понравился или пригодился текст, вы всегда можете отблагодарить!

Пожертвовать мне на кофе 3USD:

Полезное
Типы записей:
  • - обычная
  • - изображение
  • - цитата
  • - статус
  • - ссылка

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *