|
1 / 1 / 0
Регистрация: 22.04.2021
Сообщений: 68
|
|||||||||||
Функционал buttons переключения языка на php13.05.2021, 08:15. Показов 2882. Ответов 10
Сайт на английском языке. Есть база с переводом всего контента, в файле /locale/ru_RU/LC_MESSAGES/ru_RU.mo\po.
Есть скрипт в index.php подключающий эту базу и задающий сессию для вновь прибывших людей на сайт.
P.S.Я знаю как прописывать в шаблонах код, чтобы он переводил этот текст. К примеру <?php echo_('input') ?>. Смысл вопроса заключается в коде для кнопок. Чтобы я не пробовал, кнопки не работают как положено.
0
|
|||||||||||
| 13.05.2021, 08:15 | |
|
Ответы с готовыми решениями:
10
Нужно доработать функционал для плагина Visual Form Builder Pro (share buttons) Панель переключения языка Переключения языка на вин + спейс |
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
| 13.05.2021, 10:00 | |
|
AlerinGustovski, а как у вас маршрутизация устроена? Может лучше организовать URL так:
https://example.com/ru/page https://example.com/en/page Тогда из маршрута можно было бы легко получать язык (ru, en).
0
|
|
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
||
| 13.05.2021, 11:39 | ||
|
Интересно что же вы пробовали, это же сразу в глаза бросается) Еще немного странно что url у вас записан в ID, может конечно это dropdown такой, но обычно ссылки пишут в href ![]() Держать язык в path ссылки смысла не вижу. Только лишние проблемы с тем чтобы его в каждую ссылку дописывать.
0
|
||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
||
| 13.05.2021, 12:31 | ||
|
В query string подставлять не легче, если это "вручную" делать. А использование cookie или сессии для сохранения выбранного языка вообще в уныние вгоняет. Представляю, как кто-то делится ссылкой и говорит: только ты там нужный язык выбери, а-то по умолчанию статья на английском будет.
0
|
||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
||||
| 13.05.2021, 13:01 | ||||
|
1) Их нужно писать. Зачем, если можно не делать? 2) Будет как минимум 2 независимые реализации (PHP и JS). 3) Другим сервисам придется тоже поддержать эту логику, чтобы ходить на твой сайт. Например в админке. Это палка о двух концах. Поэтому как раз таки лучше хранить в куках, а не в урле. Если в куках языка нет, то берешь дефолтный из браузера.
0
|
||||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|||||
| 13.05.2021, 14:31 | |||||
|
Потому я и спросил, как у него маршрутизация устроена. Конечно, можно допустить, что у него там какая-нибудь самоделка с AJAX-подгрузкой страниц. Если какое-то приложение, то лучше cookie.
0
|
|||||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|||||||||||||||
| 13.05.2021, 15:30 | |||||||||||||||
Поэтому если есть возможность не делать лишнего, то не делаю.Что-то подобное
![]() Хотя конечно в каком-то простейшем фронте можно без этого обойтись.
0
|
|||||||||||||||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|||||
| 13.05.2021, 19:20 | |||||
|
Если генерировать URL не на фронте, а на сервере (где и для админки и для клиентской части сайта используется один и тот же экземпляр маршрутизатора), то проблем возникнуть не должно. Но не для ситуации, когда один человек передаёт ссылку многим людям. Например, новостное агентство распространяет анонсы своих новостей среди русскоязычных и англоязычных. Под анонсом ссылка "Читать подробнее". Как думаете, если англоязычные при нажатии на ссылку будут попадать на страницу с новостью на русском, они будут благодатно искать кнопку переключения языка? Про поисковики, опять же, забывать не стоит. Допустим, поисковик окажется послушным, получит от нашего сайта cookie и просканирует страницу на русском. Пользователь же, перейдя из поиска на сайт, будет недоумевать: в поиске страница на русском, а при тут -- английский.
0
|
|||||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|||||
| 13.05.2021, 22:06 | |||||
|
2) Кажется мультиязычности на этом сайте нет, странно его в пример приводить. 3) Да, вероятно какие-то частные случаи найти можно. Я просто привык использовать современные технологии и на фронте у меня как минимум гибридный PHP/JS, а лучше vue/react ![]() Если вы напечатали ссылку "читать подробнее", то язык уже известен. Даже если это просто ссылка без текста, т.е. язык неизвестен, то откуда там русский? Неужели мы говорим о частном случае, когда англичанин приехал в Россию, поставил себе русскую винду и браузер, а потом удивляется что у него сайты на русском открываются?) Посмотрите как реализованы крупные сервисы, я вот только что походил в инкогнито по .com доменам гугл, ютуб, фейсбук, тиктик...сразу русский язык стоит. Также посмотрел новости на почте, там при переходе по ссылкам тоже на русском открывается. А если с другой стороны посмотреть. Я сейчас нагуглил paypal, поисковик выдал один и тот же сайт на разных языках. Я зашел на английскую версию, поменял на русский. Он ее запомнил, язык сохраняется при перемещению по сайту. Дальше вернулся в поисковик, открыл еще одну ссылку и язык опять английский. WTF?
0
|
|||||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|||
| 14.05.2021, 11:41 | |||
|
Если устанавливать язык из заголовка Accept-Language, то всё-таки -- да, кейс фантастический.
0
|
|||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
||
| 14.05.2021, 12:52 | ||
|
Но ладно, думаю тема себя исчерпала)
0
|
||
| 14.05.2021, 12:52 | |
|
Помогаю со студенческими работами здесь
11
Анимация переключения раскладки (Языка), отключить Смена порядка переключения языка на Alt+Shift Вернуть функцию переключения и корректное отображение индикатора языка PHP + JS buttons for update qualitity of products Функционал страницы PHP Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|