Jump to content
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

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

Edited by Zero108

Featured Replies

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

  • Author

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

 

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

 

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

 

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

 

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

Edited by Zero108

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

  • Author

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

Edited by Zero108

  • Author

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

Edited by Zero108

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

  • 1 month later...
  • Author

Ну, вот у мну две вот такие ссылки. Причем, переход по первой не гарантирует переключение языка. Их как-то можно оптимизировать? Хочу через хтакцесс сделать автоматом переадресацию. Нужны просто рабочие ссылки для 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. Лучше оставить как есть, пусть пользователь сам выбирает язык, ну или на крайней случай переопределить его при входе на форум, но так, чтобы не нарушить работу системы языков.

  • Author

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

 

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

Edited by Zero108

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

  • Author

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

 

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

 

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

Edited by 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

  • Author

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

 

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

Create an account or sign in to comment

Recently Browsing 0

  • No registered users viewing this page.

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.