Эта обучающая программа должна охватить распространенный вопрос, с которым я часто имею дело, поддерживая модификации; разные языковые файловые структуры. Команды написаны, используя структуру языковых файлов по умолчанию, поскольку они идут вместе с IPB. Такая структура похожа на это (IPB 2.1.5 файл lang_global.php ):
<?php $lang = array ( //2.1.4 - for IDM when released 'idm_header' => "Файловый архив", //2.1.3 'ajax_topicstate' => "Измененное состояние темы (открыта/закрыта) при просмотре форума", 'ajax_topicdesc' => "Изменено описание темы при просмотре форума", 'ajax_topictitle' => "Изменен заголовок темы при просмотре форума",
Таким образом в большинстве инструкций по установке модификаций сказано искать строку $lang = array ( и добавлять указанные строки ниже этой. Это работает прекрасно для тех пользователей, которые используют языковую структуру по умолчанию. Но есть вторая структура для языковых файлов.
Как структурирует показ во втором случае? Что ж, есть несколько случаев. Каждый закачивает не английские языковые пакеты. Первый, это когда вы редактируете языковые файлы через вспомогательный исполняющий процессор или Админцентр. Второй случай - написание определенного сценария, который использует новый языковой API. Это чередует языковую структуру, похоже? Вот пример:
<?php 'admin:splash' => "Главная страница админцентра", 'admin:splash:splash' => "Разрешить просмотр главной страницы", 'admin:adminlog' => "Действия администраторов", 'admin:adminlog:remove' => "", 'admin:components' => "Система компонентов", 'admin:components:add' = ""; 'admin:components:edit' = ""; 'admin:components:export' = ""; 'admin:components:import' = "";
Отметим, что эти две php структуры делают одну и ту же вещь, но разными способами. Смотрите, языковые файлы - это просто файлы, которые содержат набор ключей и соответствующих значений; ключи - это текст слева от знака равенства, значения - текст справа. IPB обращается к ключам из массивов, чтобы вывести значение для последующего отображения текста где - либо на форуме.
Итак, вы устанавливаете мод и видите, что ваши файлы во второй структуре, что же вы можете сделать? Всё, что надо сделать - это переформатировать строки, которые написано добавить в инструкции установки прилагаемой к модификации. Для примера возьмём мод «Пользователи, которые сегодня в онлайне». В нём надо добавить эти строки в файл lang_boards:
// (FSY21) Пользователи, которые сегодня в онлайне v3.1 mod by FuSoYa 'online_today' => "Пользователи,которые сегодня в онлайне:", 'online_today_none' => "Пока ещё не было пользователей онлайн", 'online_most_ever' => "Больше всего пользователей в онлайне было <b><#COUNT#></b>, завершилось в <b><#DATE#></b>", 'online_today_list' => "Сегодня посетили форум следующие пользователи:", 'last_active' => "Последний активный", 'mot_expand' => "Расширенный вид", 'mot_collapse' => "Свёрнутый вид",
Первая строка - это просто комментарий, она не нужна, и её можно спокойно удалить. В остальных надо лишь слегка поменять знаки, сравните 2 структуры ниже. Вы увидите, что во второй структуре все строки сконструированы абсолютно так же:
$lang[’key’] = “значение”;
Так что чтобы строки в этом моде работали в этой языковой структуре, просто вставьте ключи и значения в эту структуру:
$lang['online_today'] = "Пользователи,которые сегодня в онлайне:"; $lang['online_today_none'] = "Пока ещё не было пользователей онлайн"; $lang['online_most_ever'] = "Больше всего пользователей в онлайне было <b><#COUNT#></b>, завершилось в <b><#DATE#></b>"; $lang['online_today_list'] = "Сегодня форум посетили следующие пользователи:"; $lang['last_active'] = "Последний активный"; $lang['mot_expand'] = "Расширенный вид"; $lang['mot_collapse'] = "Свёрнутый вид";
Потом эти строки можно вставить куда угодно в файл, ниже самой верхней »<?php» строки. В итоге будут 2 пустых строки перед этой строкой, за которыми последуют индивидуальные «$lang» строки.
Надеюсь, это поможет вам разобраться с этими различными языковыми структурами, с которыми вы встретитесь при установке модов. Удачи!