Перейти к содержимому
Русский язык для Invision Community 5

Переключатель RU-EN

Хочу сделать двуязычную переключалку языков для пользователей по количеству языков, установленных в системе. Есть ли готовые решения?

Изменено пользователем Zero108

Рекомендованные сообщения

Готовое решение входит в стандартный функционал форума.

  • Автор

А как сделать, чтобы форум один раз смотрел за сессию в самом начале, какая кодировка на операционной система пользователя и отображал либо английскую версию, либо русскую, если стоит русская версия хрома, например? Привязка к гео не нужна. Только язык браузера.

 

Что-то наподобие этого как прикрутить, ведь в зависимости от смены языка форума, url форума ведь не меняется?

 

# Если русского языка в списке поддерживаемых нет
RewriteCond %{HTTP:Accept-Language} !ru  [NC]
# Идем в английский раздел
RewriteRule ^/?$                    /en/ [R,L]
# Иначе в русский
RewriteRule ^/?$                    /ru/ [R]

 

Кстати, если все же оставлять пользователю возможность переключения языка самостоятельно, как приделать кнопку переключения языка наверху в виде флагов стран? Наверняка ведь по умолчанию переключатель где-то в подвале и в виде выпадающего списка, или нет? У кого есть скриншот?

 

И еще вопрос: как сделать, чтобы downloads было на английском по умолчанию, а все остальное на русском?

Изменено пользователем Zero108

"Наподобие этого" уж точно так просто не прикрутить, да и нонсенс дублировать содержимое форума по двум разным адресам, если меняется только язык навигации. А переопределить его вполне реально, возможно даже и хуки готовые найдутся если поискать.

  • Автор

Ну, а как дефолтная переключалка выглядит? Есть где посмотреть? Наверняка ведь приделана в том месте шаблона, где-то внизу, где ее все не заметят сразу?

Изменено пользователем Zero108

Ну, а как дефолтная переключалка выглядит? Есть где посмотреть?

http://community.invisionpower.com/

  • Автор

Ну, я так и думал, что внизу и не видно. А перенести в шапку можно переключалку языка и сделать ее в виде кнопок - флагов стран?

Изменено пользователем Zero108

Можно, если посмотреть в исходном коде смена языка происходит по ссылке.

  • 1 месяц спустя...
  • Автор

Ну, вот у мну две вот такие ссылки. Причем, переход по первой не гарантирует переключение языка. Их как-то можно оптимизировать? Хочу через хтакцесс сделать автоматом переадресацию. Нужны просто рабочие ссылки для 3.4.0

 

http://www.a108.net/index.php?app=ccs&module=pages&section=pages&do=redirect&page=1&k=02d72759dacecd8ffed2901687290bf0&setlanguage=1&langurlbits=app=ccs&module=pages&section=pages&folder=&page=articles.html&cal_id=&langid=4

http://www.a108.net/index.php?app=ccs&module=pages&section=pages&do=redirect&page=1&k=02d72759dacecd8ffed2901687290bf0&setlanguage=1&langurlbits=app=ccs&module=pages&section=pages&folder=&page=articles.html&cal_id=&langid=1

Ставить редирект не самая удачная мысль, тем более делать через htaccess. Лучше оставить как есть, пусть пользователь сам выбирает язык, ну или на крайней случай переопределить его при входе на форум, но так, чтобы не нарушить работу системы языков.

  • Автор

Хорошо, не будем церез редирект. А как перенести переключалку наверх, как показано на рисунке?

 

http://i037.radikal.ru/1212/e2/7adea88cacfc.jpg

Изменено пользователем Zero108

Открыть главный шаблон, вырезать кусок в одном месте, вставить в другом. Обычный ul-список, можно сверстать хоть флагами, хоть менюшкой, хоть иконками.

  • Автор

Я пробовал так делать. Там стили другие. И перестает работать внизу. Текст белого цвета надо. Вообщем что-то не так.

 

И насколько я разбираюсь, вставлять там в нескольких местах: шапка бывает разлогинена и залогинена...

 

Хотелось бы инструкцию по установке. Могу выслать шаблон от своего скина.

Изменено пользователем Zero108

Сделать:

А перенести в шапку можно переключалку языка и сделать ее в виде кнопок - флагов стран?

Дано:

- 2 установленных языка на форуме.

 

Решение:

1. Готовим 2 картинки вида ID_языка.gif. Можно взять и .png. Главное, чтобы все одинакового расширения. Хотя можно и под разные сделать по желанию.

2. Складываем их в папку /public/style_images/СТИЛЬ/lang. Папку lang предварительно создаем.

3. Открываем шаблон globalTemplate (ACP - Look & Feel - Your Skin - Global Templates - globalTemplate), находим дважды

							<ul class='ipsList_inline right'>

и ниже добавляем

					<if test="langchooser:|: ! $this->member->is_not_human && count( $footer_items['lang_chooser']['options'] ) > 1">
							<foreach loop="$footer_items['lang_chooser']['options'] as $lang">
								<li>
									<a href="{parse url="{$this->settings['query_string_formatted']}&k={$this->member->form_hash}&setlanguage=1&langurlbits={$this->settings['query_string_safe']}&cal_id={$this->request['cal_id']}&langid={$lang['id']}" base="public"}" title='{$lang['title']}'><img src='{$this->settings['img_url']}/lang/{$lang['id']}.gif' alt='{$lang['title']}' /></a>
								</li>
							</foreach>
				</if>

Итог

lang.jpg

  • Автор

Спасибо большое! Все получилось.

 

Хотелось бы только раздвинуть немного по горизонтали картинки с флагами. С помощью   не получается : видно между картинками ; тогда. Как это правильнее сделать с точки зрения css? Напишите, пожалуйста, пример.

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.