Язык в TinyMCE

Господа!
Вопрос такой. Как в TinyMCE передается информация о том, какой язык использовать в интерфейсе?
Язык интерфейса LS меняется в зависимости от установок в конфиге. А вот как в TinyMCE передать, какой язык использовать? Сразу помечаю, что это не русский и не английский, которые входят в базовый комплект LS 1.0.1.

Спасибо.

5 комментариев

avatar
В header.tpl определяется переменная TINYMCE_LANG со значением en или ru. Далее эта переменная используется при инициализации редактора в engine/lib/internal/template/js/setting.js
avatar
avatar
Сорри. Выше Как-то текст странно отформатировался.

Воздействие на переменную TINYMCE_LANG не проходит, вернее проходит, но не чисто. Значит действия были такие:

1. Скачал файлы локализации отсюда — http://www.tinymce.com/i18n/?ctrl=lang&act=index&pr_id=7 (утверждается, что переведено на 100%)
2. Закачал все файлы языкового пакета на сервер.
3. В header.tpl для теста жестко прописал var TINYMCE_LANG = 'bg';

Результат — сам редактор появляется (и это вроде реально TinyMCE, так как CTRL+Z работает, в LS отмены нет) тулбар редактора вообще пропал. На английском появляется, на русском тоже, на болгарском — ни-ни.

Буду признателен за любые мысли.
avatar
Спасибо!
avatar
Итак, итог. Тема возможно будет полезна локализаторам. Как оказалось, скачать полный пакет языковых файлов — недостаточно, но обо всем по порядку.

Чтобы заставить говорить TinyMCE в LS на другом языке нужно:

1. Скачать языковой пакет по ссылке выше. При необходимости его доработать, так как не все локализации на официальном сайте полные.

2. Распаковать архив с языковыми файлами и разложить их по соответствующим папкам здесь — \engine\lib\external\tinymce-jq\.

3. В TinyMCE для LS есть один плагин, перевод для которого в официальном пакете отсутствует, но который необходим для работы TinyMCE на любом языке кроме русского или английского. Это TinyMCE-плагин lseditor. Его надо перевести самостоятельно, либо на первое время (просто, чтобы редактор запустился) просто скопировать английский вариант en.js и переименовать его (для венгерского языка он будет называться hu.js).

4. Теперь надо обеспечить корректный вызов TinyMCE c указание нужного языка. Для этого надо изменить условие в файле \templates\skin\synio\header.tpl:
var TINYMCE_LANG = 'en';
{if $oConfig->GetValue('lang.current') == 'russian'}
	TINYMCE_LANG = 'ru';
{/if}


на:
var TINYMCE_LANG = 'en';
{if $oConfig->GetValue('lang.current') == 'russian'}
	TINYMCE_LANG = 'ru';
{else if $oConfig->GetValue('lang.current') == 'hungarian'}
	TINYMCE_LANG = 'hu';
{/if}


В примере выше указывается венгерский язык. Для любого другого языка надо будет просто изменить константы 'hungarian' и 'hu' на нужные.

5. Проверить, что в конфиге lang.current = <нужный вам язык> или устанавливается на момент запуска редактора где-то программно и вуаля.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.