Перевод админпанели в плагинах

Введение
Известный факт, что во всех плагинах написанных для seditio - админ-панель была не русифицирована, что доставляло большое количество хлопот людям не знающим английский.
В seditio-n эта проблема была решена. Теперь есть возможность перевести весь плагин.
Особенность перевода админпанели заключается в том, что строки перевода необязательно должны находится в оригинальном lang файле.

Перевод админ-панели плагинов
1. Для файлов в которых вынесен весь текст админки в lang файл - просто перевести lang файл, точно так же как и для других плагинов.
2. Если текст не вынесен в админку.
Открываем 2 файла: собственно файл с переводом и setup файл плагина. В setup файле ищем раздел настройки плагина. Пример:
[BEGIN_SED_EXTPLUGIN_CONFIG]
time=01:select:1,2,3,4,5,6,7,8,9,10,15,30,60,90,120,180:10:Comments editable timeout for users, minutes
mail=02:radio:0,1:0:Notify about new comments by email?
[END_SED_EXTPLUGIN_CONFIG]
Видим тут есть две переменные - time и mail, в которых после "=" идет их описание, заканчивающееся текстом, который в конце концов мы увидим в сгенерированной странице настройки плагина.
В lang файле создаем новую строку перевода, в которой будет назание переменной из setup файла с добавлением префикса "cfg_"
Например для вышеописанного примера:
$L['cfg_time'] = array('Время в течении какого пользователи могут исправить комментарий', 'в минутах'); 
$L['cfg_mail'] = array('Оповещать о новых комментариях по email?', '');
Видно что строки создаются в виде массива, где первое значение это текст в левой колонке, а второе текст в скобках после варианта ответа.
Если не создавать данную строку текст будет как и раньше грузиться из базы данных, изначально сгенерировавшись из setup файла.

Заключение
Надеюсь возможность полноценного перевода админ-панели способствует новым достижениям в плане плагинописания!

1. Macik  2009-09-01 04:54
Спасибо.

Еще очень сильно нехватает третьего значения в массиве, который позволил бы переводить сами значения полей, и четвертого - значения по умолчанию. Например:

comm=01:select:один,два,три:один:Выводить комментариев

$L['cfg_comm'] = array('Выводить комментариев', '', 'один,два,три','один');
Only registered users can post new comments