<мая 2012 
пнвтсрчтптсбвс
 123456
78910111213
14151617181920
21222324252627
28293031   

Поиск

Подписка

Контакт

информация

Полигон по изучению CMS TextPattern и её использования в качестве основы для коммерческих сайтов. Проект стартовал 03.04.2007.

Русификация hak TinyMCE

Пока креатив в виде дизайна сайта и структуры материалов находится в стадии создания, навожу порядок с тем, что уже есть. Поскольку есть только испытываемое средство по вводу букв по имени TinyMCE, то заниаюсь исключительно им.

Я вдруг заметил, что редактор не русифицирован. Меня этот факт не смущает, если редактор используется на собственном блоге. А вот в случае поставки клиенту может получиться некрасиво. Вывод - нужно переводить.

Разбираюсь с внутренним устройством и прихожу к неутешительному выводу: русификация должна производиться отдельно для плагина, встраиваемого в TxP, и для файлов редактора, загруженных на сервер.

Русификация самого плагина - это какое-то количество кода на PHP, который следует заставить говорить по-русски. Редактируется плагин просто: в таблице плагинов находим слово "редактировать" и жмём его - нужный плагин выводится в пригодном для внесения изменений виде. Если изменения небольшие и не нужно искать место, которое планируется изменить, то можно всё сделать прям в этом окне. Для значительных изменений я переношу текст во внешний редактов в два разных окна. Одна копия для редактирования, вторая - в случае, если нужно вернуть старую версию плагина.

Изучаем исходиники: языковой файл не вынесен за пределы плагина, а оформлен в виде  ассоциированного массива:

    $en_us = array(
        'hak_show_toggle' => 'Show editor toggle:',
        'hak_hide_on_textile_edit' => 'Hide editor toggle when editing articles created with textile or convert linebreaks: ',
       ...

"Размножаю" этот кусок кода и меняю его вторую копию:

    $ru_ru = array(
        'hak_show_toggle' => 'Показывать переключатель редактора:',
        'hak_hide_on_textile_edit' => 'Прятать переключатель редактора если редактируется статья, созданная с использованием Textile или с преобразованием перевода строки: ',
       ...

Меняю

    $lang = array(
        'en-us' => $en_us,
        );

на

    $lang = array(
        'en-us' => $en_us,
        'ru-ru' => $ru_ru
        );

Обновлённый текст плагина помещаю в окно, откуда я его недавно "похитил" и нажимаю кнопку "Сохранить". Ну ладно, не "Сохранить", а "Сохр.". Какая разница? Всё равно после этого в колонке "Обновлено" у подопытного плагина появится слово "да". Проверяю - работает. Автоматом начинает писать русские слова вместо английских. Неплохо.

Есть маленький нюанс: автор плагина не внёс в языковой массив имена кнопок и заголовок  страницы TinyMCE в разделе расширений. Не буду описывать, как это можно победить. Не потому, что жалко, а просто лень. 

Теперь сам редактор. Тут всё и проще, и сложнее. Дело в том, что у редактора существует несколько языковых файлов. Точнее не скажу, но пару десятков можно насчитать. Иду на "родину" TinyMCE  http://tinymce.moxiecode.com/language.php и загружаю русский в utf8. Это архив. Распределяю языковые файлы по соответствующим директориям на сервере, прописываю ru вместо en во всех необходимых местах во вкладке "Расширения" и обнаруживаю, что русский в самом редакторе появился, но в некоторых случаях вместо русских слов я вижу имена переменных. Оказывается не для всех модулей редактора есть перевод в архиве русификации. Пока не хочу на это заморачиваться и в директориях, где присутствует английский языковой файл (en.js), но нет русского (ru.js) я просто делаю копию английского файла без перевода. При повторном запуске TxP редактор работает нормально, только иногда показывает английские слова - это лучше, чем имена переменных, но оставляет ещё поле для деятельности.

Торжественно обещаю сам себе, что доведу русификацию до логического конца и выложу для всеобщего пользования в "Файлы". Правда я не знаю, как плагин и файл помощи для него представить в виде той абракадабры, которую я брал из исходной поставки, но, думаю, разберусь. 

комментарии | опубликовано опубликовано: 29 июня 2007, 01:54

  1. Большое спасибо!


    — heloooo    май 13, 12:30    #
  2. Пользуйся


    — PolyGon    май 13, 14:00    #
  3. Очень интересно было познакомиться с материалом! Вы – молодец.


    — Visitor    май 29, 12:08    #
  4. Я рад за тебя. А помнишь, я тебя предупреждал: не спамь у меня? Накажу.


    — PolyGon    май 29, 16:16    #
  5. С тех пор многое изменилось, но материал все еще актуален


    Шумомер    окт 16, 15:37    #

Публикация комментария возможна после предпросмотра
  Помощь по Textile