Создание языкового перевода для 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

---------------

