Баг : | Локализация настроек (названий конфигов) плагинов |
Статус : | Исправлено |
Серьёзность : | Нормальное |
Репортер : | Amro ![]() |
Обновил : | Amro ![]() |
Категория | Главное |
Версия : | 170 |
Частота : | Постоянно |
Пофиксено в : | 171 |
Детали : | Функции sed_plugin_install() модифицирована. Сделано 2 вставки: Первая цепляет lang файл, если таковой имеется: $path_lang_setup = "plugins/".$pl."/lang/".$pl.".".$cfg['defaultlang'].".lang.php"; if (file_exists($path_lang_setup)) { require($path_lang_setup); } Вторая заменяет названия конфигов из lang файла: if (isset($L['setup_cfg_'.$i])) { $line[4] = $L['setup_cfg_'.$i]; } Собственно в plugins/названиеплагина/lang/названиеплагина.языкпоумолч.lang.php теперь можно дописывать так (на примере локализации конфигов CKEditor): $L['setup_cfg_ckeditor_skin'] = "Скин по-умолчанию"; $L['setup_cfg_ckeditor_lang'] = "Язык интерфеса редактора"; $L['setup_cfg_ckeditor_color_toolbar'] = "Цвет тулбара"; $L['setup_cfg_ckeditor_other_textarea'] = "Использовать редактор для всех текстовых полей"; т.е. $L['setup_cfg_название_опции'] = "Локализация опции"; |
Затронутые части : | functions.admin.php |
20-10-12 15:18 Amro ![]() В 173 эти вставки будут удалены. В lang файлы можно будет как по стандарту вписывать локализацию, как это сделано например в admin.lang.php. Т.е. для плагина к примеру CKeditor будет так: $L['cfg_ckeditor_skin'] = array("Скин по-умолчанию", ""); $L['cfg_ckeditor_lang'] = array("Язык интерфеса редактора", ""); $L['cfg_ckeditor_color_toolbar'] = array("Цвет тулбара", ""); $L['cfg_ckeditor_other_textarea'] = array("Использовать редактор для всех текстовых полей", ""); $L['cfg_ckeditor_other_toolbar'] = array("Тулбар для других текстовых полей", ""); $L['cfg_newpagetext'] = array("Тулбар для режима добавления страниц", ""); $L['cfg_rpagetext'] = array("Тулбар для режима редактирования страниц", ""); $L['cfg_newpmtext'] = array("Тулбар для личных сообщений", ""); $L['cfg_rusertext'] = array("Тулбар для подписи пользователя", ""); $L['cfg_rtext'] = array("Тулбар для комментариев", ""); $L['cfg_newmsg'] = array("Тулбар для форума", ""); $L['cfg_newpagetext_height'] = array("Высота текстового поля для режима добавления страниц", ""); $L['cfg_rpagetext_height'] = array("Высота текстового поля для режима редактирования страниц", ""); $L['cfg_newpmtext_height'] = array("Высота текстового поля для личных сообщений", ""); $L['cfg_rusertext_height'] = array("Высота текстового поля для подписи пользователя", ""); $L['cfg_rtext_height'] = array("Высота текстового поля для комментариев", ""); $L['cfg_newmsg_height'] = array("Высота текстового поля для форума", ""); $L['cfg_ckeditor_other_height'] = array("Высота для других текстовых полей", ""); $L['cfg_ckeditor_global_toolbar'] = array("Глобальный тулбар для группы ", ""); $L['cfg_ckeditor_detectlang'] = array("Определять язык интерфейса редактора из профиля пользователя", ""); А непосредственно в admin.config.inc.php будут цеплятся lang фалы плугов и на лету происходить локализация, т.е. в зависимости от языка в профиле пользователя: if ($o == 'plug' && !empty($p)) //New in v173 { $plug_langfile = "plugins/".$p."/lang/".$p.".".$usr['lang'].".lang.php"; if (@file_exists($plug_langfile)) { require($plug_langfile); } } |