Введение
Известный факт, что во всех плагинах написанных для 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 файла.
Заключение
Надеюсь возможность полноценного перевода админ-панели способствует новым достижениям в плане плагинописания!
Thanked: 181 times
Еще очень сильно нехватает третьего значения в массиве, который позволил бы переводить сами значения полей, и четвертого - значения по умолчанию. Например:
comm=01:select:один,два,три:один:Выводить комментариев
$L['cfg_comm'] = array('Выводить комментариев', '', 'один,два,три','один');