A PHP Error was encountered

Severity: 8192

Message: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.

Filename: mysql/mysql_driver.php

Line Number: 319

Установка переключателя языков в шаблон SMF ( Simple Machines Forum )

Установка переключателя языков в шаблон SMF ( Simple Machines Forum )


Рубрика: SMF ( Simple Machines Forum )
Метки: |
Просмотров: 41047

Мультиязычность в SMF ( Simple Machines Forum )

Форум SMF поддерживает переключения языков пользователем.

Но переключение доступно только в профиле пользователя.

А как быть если пришел на форум человек не понимающий ничего на языке форума по умолчанию? Он не может зарегистрироваться на не знакомом ему языке и после регистрации сменить язык на ему приемлемый.

Выход есть, нужно дать пользователю возможность менять язык сразу как он увидит форум и это легка сделать добавив в шаблон нужные кнопки для смены языка.

У меня на форуме 3 языка (русский, литовский и английский), буду рассказывать как сделать для них.

Все указанные действия проводились на версии форума SMF 2.0.3 (если у вас моложе версия, советуем обновиться, если старше, делаем все похоже, будут вопросы, задаем у нас на форуме).

1. Вам нужно загрузить картинки флагов языков для переключение в нужную директорию шаблона который вы используете, у меня стандартный шаблон и адрес выглядит так:

Themes/default/images/

Картинки флагов можете скопировать с моего форума или найти в интернете.

2. Загружаем с офф сайта форума SMF языковые файлы нужного вам языка если они еще не загружены (загрузить можно по ссылке Языкавые файлы для SMF 8 )

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 , написано по личному опыту.

Комментариев: 6 RSS