Установка переключателя языков в шаблон SMF ( Simple Machines Forum )
Мультиязычность в SMF ( Simple Machines Forum )
Форум SMF поддерживает переключения языков пользователем.
Но переключение доступно только в профиле пользователя.
А как быть если пришел на форум человек не понимающий ничего на языке форума по умолчанию? Он не может зарегистрироваться на не знакомом ему языке и после регистрации сменить язык на ему приемлемый.
Выход есть, нужно дать пользователю возможность менять язык сразу как он увидит форум и это легка сделать добавив в шаблон нужные кнопки для смены языка.
У меня на форуме 3 языка (русский, литовский и английский), буду рассказывать как сделать для них.
Все указанные действия проводились на версии форума SMF 2.0.3 (если у вас моложе версия, советуем обновиться, если старше, делаем все похоже, будут вопросы, задаем у нас на форуме).
1. Вам нужно загрузить картинки флагов языков для переключение в нужную директорию шаблона который вы используете, у меня стандартный шаблон и адрес выглядит так:
Themes/default/images/
Картинки флагов можете скопировать с моего форума или найти в интернете.
2. Загружаем с офф сайта форума SMF языковые файлы нужного вам языка если они еще не загружены (загрузить можно по ссылке Языкавые файлы для SMF 17 )
3. Открываем в шаблоне который используем файл index.template.php , у меня он находится по адресу:
Themes/default/index.template.php
4. Вставляем в него код
<div align="right"><a href="javascript:window.location += (window.location.href.indexOf(\'?\') != -1 ? \';\' : \'?\') + \'language=russian-utf8\';void(0);"><img src="', $settings['images_url'], '/flag_russia.png" alt="','" border="0" /></a> <a href="javascript:window.location += (window.location.href.indexOf(\'?\') != -1 ? \';\' : \'?\') + \'language=english\';void(0);"><img src="', $settings['images_url'], '/flag_usa.png" alt="','" border="0" /></a> <a href="javascript:window.location += (window.location.href.indexOf(\'?\') != -1 ? \';\' : \'?\') + \'language=lithuanian-utf8\';void(0);"><img src="', $settings['images_url'], '/flag_lithuania.png" alt="','" border="0" /></a></div>
В котором как видите если и языковые файлы которые должны применяться и названия картинок с флагами. align="right" указывает что размещение кнопок будет с права, вы конечно можете изменить на нужное вам положение.
Место для вставки кода я выбрал себе следующее:
находим код // Generate a strip of buttons. , перед ним видим
</div>'; }моя задача была в этом коде вместить свой код между </div> и значком ' - именно так, иначе нарушим структуру кода и будут ошибки.
В моем случае отображение значков для переключения языков получилось напротив основного меню, что очень удобно.
Автор: BuxarNET (Тяшкевич Виталий) для IntFAQ.ru , написано по личному опыту.