Ок. Давайте разделять. Таким образом получается менюшка может быть на английском, контент на русском. Хорошо, покажите кто нибудь мне сайт который работает по такому принципу. Я не встречал.
php.net. кусок мануала не переведен и в русской секции показываются английские страницы. я использую английский интерфейс фейсбука но в силу региона моих друзей и интересов - большая часть контента у меня русская. и так далее. дать интерфейс какой хочет пользователь - это удобство для пользователя. и оно не должно влиять на контент который он изучает.
Ну вот наконец то живой пример, но сайты довольно специфичные и явно ставили такое условие что бы язык сохранялся для удобства. Я же говорю про обычные сайты, магазины, новостные сайты, вот не припомню. З.Ы. Хмм... никогда не сидел в соц сетях, а про php.net как то не обращал внимание((( но за пример спасибо.
Всё, больше не надо примеров? А то их пол-интернета. youtube видит (по IP?), что я в России и предлагает мне всякий около-КВН-овский понос. Весь интерфейс при этом англоязычный, т.к. я в хроме выставил предпочтения английские. Если я выставляю на первое место русскую локаль и чищу куки, жму F5 - интерфейс меняется на русский. Контент тот же В футере нахожу переключатель языка, меняю его и заглядываю в куки: после того, как я указал язык на самом сайте, мои предпочтения браузера уже не влияют на интерфейс. Итого: Язык интерфейса задается в куках (вычисляется по заголовку Accept-Language, если куки пусты). URL не зависит от выбранного языка интерфейса, как и язык не зависит от URL. Добавлено спустя 29 минут 7 секунд: ebay.com точно так же вычисляет мои предпочтения по браузеру (если думает, что я здесь впервые) и дает выбрать язык явно. Предпочтение сохраняется в куках. На адресе язык не сказывается. Ebay используют машинный перевод для основных полей товара, при этом можно заглянуть в оригинал. Это необычно, но такой крупняк может себе позволить. Добавлено спустя 5 минут 3 секунды: reddit.com - новости. есть выбор языка интерфейса, сохраняют выбор в куках. контент у них исключительно англоязычный.
Такида. Использование только кук как мера оптимизации в стиле "не дергается файл" - провальна. Но я тут за куки ввиду долгожительства оных и не зависимости от того, залогинился пользователь или нет. Юзабилити в край угла, камрады. Однако, это не означает, что от сессий надо вовсе отказаться. Осуждаю. Плохо, плохой подход. Каждый раз, оторвавшись от вкладкии более чем на 15 минут (по дефолту), опять язык выбирать? По себе сужу - послал бы сайт нахкер, нашел бы аналог поприятнее. Сайт для меня, а не я для сайта. Чай не 92 год на дворе. Ну а как же такое понятие, как гостевая сессия? Вот у тебя есть двяжок. И где-то в шапке есть большая такая кнопка "АДМИНКА", а еще есть кнопка "РЕГИСТРАЦИЯ". Вот ты зашел на страницу. Как движок должен узнать, какую тебе показывать кнопку? Или ты ACL-маркеры тоже в куках хранить собираешься?
а PHPSESSID как приходит? как раз в куках и приходит обычно. и если его не пришло - то нафига стартовать сессию? пусть останется обычным гостем, зачем ему стартовать сессию?
в GETах порой. у гостя тоже есть свой набор прав. Гость тоже входит в определенную группу, от которой он права наследует. Предлагаешь дергать БД(о мемкешах речи не идет) лишний раз для десятка байт? Или всем один механизм, а гостям костылей подсыпать? Если речь идет об идентификации браузера, то нет. Если об идентификации пользователя, то да, как основной механизм-из-коробки.
будь проще. ненужно ничего дергать. если юзер не смог доказать что он имеет какието права - то он просто гость.
Звучит красиво, да. И логично, не поспорить. Но на деле означает костыли. Есть вот в системе единый интерфейс, через который компоненты/объекты права узнают. И вот работает оно через сессии. Для гостя придется исключение пилить. Как вариант - универсальную гостевую сессию. Один и тот же файлик гостевой для всех открывать, манипулируя идентификатором на стороне сервера. Но тут надо давать себе отчет, что можно еще в сессии хранить, а что нет. Добавлено спустя 3 минуты 28 секунд: Провел эксперимент. Разлогинился прямо тут, на форуме, выпилил все куки. Обновил страничку и чтобывыдумали? Словил sessionid, будучи гостем-таки. Добавлено спустя 5 минут 50 секунд: с джумлой та же фигня, хоть там sessionid не очевиден. Добавлено спустя 58 секунд: Миллион гостей к тебе пришло, миллион пользователей, ну правда, какая нафиг разница. Один фиг было бы круто, стань все гости пользователями. А когда станут, на каких спичках тогда экономить? Что гость, блуждающий по сайту, что пользователь, примерно одну нагрузку создают. Если пошли опасения касательно фрагментации винта, то вперед, по проторенному пути соцсетей - запиливание собственных сессий с блекджеком и мемкешами.
1. Куки и сессии нужны для сильно разных вещей, одно с другим не связано никак. Важно эту линию в голове провести. 2. Файлы и десериализация - дешёвые операции, париться не нужно. Если у ОС есть свободная оперативка, то всё хорошо, она туда пихнёт файловый кеш. Файловый кеш ОС быстрее чем тот же локальный мемкеш кстати. Так что спичечная оптимизация детектед.
Своп тут, боюсь, совсем не причем. Почитай, зачем он нужен, и что он в себе хранит Своп - просто механизм хранения страниц оперативы на винте. Когда оператива кончается и встает выбор между "начать терять страницы" и "сохранить страницы, но начать лютобешено терять скорость работы", предпочтительнее второй вариант. Еле-работающая система гораздо лучше мертвой. Вот в свопе эти страницы и крутятся.
ЯПлакаль Как же ты в интернете живешь?)) -------------------------------------------------------------------------------- Ютюбы, Ебеи, Фейсбуки это крупные очень крупные поталы, сайты они борятся за каждого клиента, у них нет совести нет чести их цель выжить из людей максимум бабла. В связи с этим они спустились на такие ухищерения что бы клиент с большей вероятностью задержался может еще на пару секунд и может что то купит/повысит рейтинг. Да все они ставят перед собой такую цель - запоминать язык. Но многие сайты забивают на это. Они не настолько крутые что бы еще думать о языке. http://www.zend.com/ - вот вам пример по вашему вершины пофигизма. Могу еще привести, больше половины сайтов работают как я говорю. Добавлено спустя 13 минут 18 секунд: http://www.oracle.com/ Добавлено спустя 5 минут 51 секунду: http://www.ibm.com/planetwide/select/selector.html - предлагает запомнить или нет Добавлено спустя 6 минут 47 секунд: https://getfedora.org а почему язык не сохранил?
в свободной оперативке, которая не занята приложениями, ОС хранит файловый кеш. В Линухе htop покажет жёлтеньким как раз это. Т.е. мой сайт с его "файловым" кешем весь умещается в незанятой оперативке и работает оч быстро.
Ты и привел сайты, на которые больше раза в триста лет никто не заходит. А если у тебя сайт на посещаемость и монетизацию рассчитан, будь добр лицом к пользователю, а не хреном повертывайся.
??? Я специально привел сайты не школьников а крупных компаний они могут позволить нанять спецов и продумать архитектуру, но им это не надо, всем вполне достаточно и без языка. На оракл до хрена и больше людей заходят.
Зачем, если это ? Думаешь, эти компании с этих сайтов прибыль получают для жизни? Ноуп. Думаешь им нужна посещаемость? Ноуп. Думаешь, им нужно, чтобы ты возвращался или обязательно зарегался? Ноуп.
да, они хорошо поднимают на этом всём. Они не особо заинтересованы делать настолько просты вещи как пхп. Пхп это вообще великий шаг в перёд, по сравнению со многими другими парадигмами.
Вообще то мое сообщение изобиловало ничем не прикрытым сарказмом С учетом того сколько стоит саппорт оракла, да и в айбиэме не робин гуды, бабло рубят не на сертификации. Сертификация это так мелкая халтура. Да ну((( Попробуй другие языки не пожалеешь.