Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

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

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

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

Опубликовано:

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

Опубликовано:
  • Автор

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

 

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

 

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

 

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

 

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

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

Опубликовано:

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

Опубликовано:
  • Автор

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

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

Опубликовано:
  • Автор

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

Изменено пользователем 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? Напишите, пожалуйста, пример.

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

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.