Создание языкового перевода для MaxSite CMS (версия 102.7 и выше)
-----------------------------------------------------------------
************************************************
Если вы хотите поддержать MaxSite CMS, то разместите готовые файлы в Сети, чтобы они стали доступны всем пользователям системы. Также вы можете выслать готовые файлы автору MaxSite CMS, чтобы он включил их в комплект поставки.
************************************************
Установка языка
Скопируйте языковые файлы в application/maxsite/common/language
Язык указывается в application/maxsite/mso_config.php
Создание перевода подразумевает три этапа.
- сбор переводимых фраз
- их обработка
- сам перевод на основе словаря
1. Сбор всех фраз
Из-за особенностей работы, в MaxSite CMS сложно получить переводимые фразы из не-php-файлов (ini, php-шаблонизатор), что делает проблематичным использование специализированных программ, вроде PoEdit. Вместо этого предлагается собрать все переводимые фразы в режиме реальной работы сайта.
Все фразы, которые указаны как переводимые, будут накапливаться в отдельных текстовых файлах. Чтобы их собрать, нужно вручную посетить некоторые страницы сайта, включая служебные (архив, регистрация и т.п.).
Переводимые фразы делятся на frontend (для посетителей) и backend (админ-панель). При сборе фраз будут созданы два файла t.txt и tf.txt.
Сбор фраз происходит не зависимо от выбранного языка.
После этого сбор фраз можно отключить.
2. Обработка
Полученные данные нужно обработать. Это происходит в автоматическом режиме: нужно лишь набрать адрес обработчика в браузере.
3. Перевод
Сам перевод осуществляется в автоматическом режиме на основе словаря dictionary.php. Если этого файла нет, то можно использовать mso-dictionary.php как заготовку.
После нужно набрать в браузере адрес переводчика. Появятся два готовых языковых файла.
Инструкция
----------
Распакуйте архив lang.zip в корень своего сайта. Поскольку сбор фраз достаточно ресурсозатратная операция, то используйте только локальный сервер.
|| Архив расположени в application/maxsite/common/language/lang.zip
В каталоге lang находятся php-файлы:
lang.php — сборщик переводимых фраз
build.php — обработчик
translation.php — переводчик
Каталог lang/mso — является служебным. Именно в нем будет происходить работа по сбору и обработке данных.
Для того, чтобы включить сбор фраз в файле application/maxsite/mso_config.php добавьте строчку:
define('MSO__PLEASE__ADD__FILE_LANG', $MSO->config['FCPATH'] . 'lang/lang.php');
После этого можно обновить страницы своего сайта, зайти в админ-панель. Фразы начнут собираться в каталоге lang/mso/ в виде двух файлов t.txt и tf.txt. Следите за размером файлов, чтобы он не вызвал излишнюю нагрузку на сервер.
Во время или после сбора фраз запустите build-обработчик, набрав его адрес в браузере:
http://localhost/cms/lang/build.php
|| Используйте свой адрес сайта
Обработчик создаст три файла
mso-serialize.php и mso-f-serialize.php — серилизованные массивы
mso-dictionary.php — заготовка для словаря переводчика
При этом файлы t.txt и tf.txt также будут обработаны и из них будут удалены все дублирующиеся фразы.
|| В процессе сбора фраз, вы можете периодически запускать build-обработчик, чтобы уменьшить размер текстовых файлов.
После того, как сбор фраз завершен, закомментируйте добавленную строчку в mso_config.php.
Если нужно сразу проверить работу перевода, то в этом же файле укажите его язык, например:
$MSO->language = 'en';
Для админ-панели язык выбирается в Основных настройках - Админ-панель.
|| Обратите внимание, что в админ-панели поддерживаются только ua ro en de (потому что нет других переводов).
Для того, чтобы сделать перевод, нужно создать каталог языка. Например для английского — en.
Если у вас нет своего словаря, то скопируйте mso-dictionary.php как dictionary.php — именно в этом файле и нужно указывать перевод.
В файле translation.php укажите каталог языка, а также дополнительные данные, если необходимо.
Если вы сделали какой-то перевод в dictionary.php, то нужно запустить translation-переводчик. В браузере наберите его адрес:
http://localhost/cms/lang/translation.php
В каталоге языка появятся два готовых файла en-f.php и en.php. Это готовые файлы, которые можно скопировать в application/maxsite/common/language/ для использования.
|| Не редактируйте en-f.php и en.php, поскольку они будут обновлены автоматически.
----------------
TODO: Добавить скрипт сравнения mso-dictionary.php и dictionary.php — будет видно что изменилось. Пока можно использовать WinMerge.
---------------
Старая версия:
Описание: http://max-3000.com/page/jazykovoj-perevod-maxsite-cms
Языковые файлы: https://github.com/maxsite/Language_for_MaxSite_CMS
---------------