Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как вернуть контент на нужном языке в зависимости от того, что за фрукт зашел на сайт (https://javascript.ru/forum/misc/36175-kak-vernut-kontent-na-nuzhnom-yazyke-v-zavisimosti-ot-togo-chto-za-frukt-zashel-na-sajjt.html)

Shitbox2 06.03.2013 12:25

Как вернуть контент на нужном языке в зависимости от того, что за фрукт зашел на сайт
 
Поясню. У нас есть пользователи. Они могут быть просто гостями или зарегистрированными, язык которых сохранен в БД. Более того пользователь может переключать языки, что отражается в БД (если он зареган) и куках.

Как все происходит: пользователь заходит на сайт, проверяются его куки и сразу же инфа о выбранном языке отсылается на сервер. И где-то сам сохраняется... Где? Для зареганного пользователя в БД, а для остальных? В сессии? Получается нужно для каждого гостя заводить сессию? Через секунду (не хотелось бы такую задержку) приходит ответ и уже отправляются все остальные запросы для получение инфы на нужном языке.

Другой вариант: в каждый запрос суется идентификатор языка. Задержек нет, но нужно пихать его в каждый запрос, что неудобно. Более того, для зарегистрированных пользователей в этом нет необходимости, т.к. их язык сохранен в базе, но придется и для них отсылать бесполезный флаг языка.

Какой способ выбрать, какие еще есть?

ksa 06.03.2013 13:04

Х/з какой у тебя серверный язык...
Но у нас в Cache:

Цитата:

Сообщение от Shitbox2
В сессии?

Сессия помрет по таймауту или после закрытия окна.

Цитата:

Сообщение от Shitbox2
Получается нужно для каждого гостя заводить сессию?

Сессия будет создана для каждого типа пользователя и у каждого будет свой сессионИД... Т.е. это не зависит от "желания" - это факт этого СУБД.

ksa 06.03.2013 13:09

Цитата:

Сообщение от Shitbox2
Какой способ выбрать, какие еще есть?

У нас можно, для передачи на сервер, использовать
- сессию
- реквест
- хеш (#<данные>)

Shitbox2 06.03.2013 14:16

Цитата:

Сообщение от ksa (Сообщение 239089)
Сессия будет создана для каждого типа пользователя и у каждого будет свой сессионИД... Т.е. это не зависит от "желания" - это факт этого СУБД.

Если ее не стартовать session_start(), ничего не создастся, разве не так?

ПХП мой серверный язык. ЧТо такое Cache:? Просто кэш типа мемкэша и т.п.?

ksa 06.03.2013 14:56

Цитата:

Сообщение от Shitbox2
Если ее не стартовать session_start(), ничего не создастся, разве не так?

Повторюсь
Цитата:

Сообщение от ksa
Х/з какой у тебя серверный язык...


ksa 06.03.2013 14:57

Цитата:

Сообщение от Shitbox2
ЧТо такое Cache:?

http://www.intersystems.ru/cache/index.html

Shitbox2 06.03.2013 15:21

И как Cachè оправдан? Что за высоконагруженный проект такой, что майСКЮЭЛЬ не справляется? Этот форум может считаться высоконагруженным?

Вопрос номер два, #<данные> это отправка в адресной строке? А можно отправить как &lang=ru, дописывая это автоматически ко всем УРЛам?

ksa 06.03.2013 15:26

Цитата:

Сообщение от Shitbox2
И как Cachè оправдан?

Тебя действительно это интересует? :D
Про Оракл ты уже прояснил ситуацию? Теперь решил взяться за Каше? :blink:

Цитата:

Сообщение от Shitbox2
#<данные> это отправка в адресной строке?

Да.

Цитата:

Сообщение от Shitbox2
А можно отправить как &lang=ru, дописывая это автоматически ко всем УРЛам?

Да.
Но это уже реквест...

jsjob 07.03.2013 20:46

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

1. У вас не будет задержек
2. Будет возможность оптимизации статических страниц (сжатие, кэширование)
3. Домены будут адекватно индексироваться поисковиками
4. Не будет ошибок с определением предпочитаемого пользователем языка

Единственное, что надо запомнить - через какой домен пользователь сделал подписку.

Job search
Поиск работы
Эш эзләү

Deff 07.03.2013 22:09

В принципе, зарегавшись на gmail можно получить скрипт автогуглопереводчика на форум, язык единожды выбирает пользователь(хотя можно менять в процессе просмотра, переходиь с одного, на иной
Можно для своих делать средсвами PHP, для гостей - гуглопереводчиком(
начальный язык у гугла выбирается по IP
C другой стороны можно всех сделать средсвами PHP считывая кук языка с гостя и добавляя его в соль ссылок


Часовой пояс GMT +3, время: 16:31.