За последние 24 часа нас посетили 51385 программистов и 1758 роботов. Сейчас ищут 688 программистов ...

Мультиязычный сайт

Тема в разделе "PHP для новичков", создана пользователем AnteFil, 13 дек 2014.

  1. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Ок. Давайте разделять. Таким образом получается менюшка может быть на английском, контент на русском. Хорошо, покажите кто нибудь мне сайт который работает по такому принципу.
    Я не встречал.
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    php.net. кусок мануала не переведен и в русской секции показываются английские страницы.
    я использую английский интерфейс фейсбука но в силу региона моих друзей и интересов - большая часть контента у меня русская.
    и так далее.
    дать интерфейс какой хочет пользователь - это удобство для пользователя. и оно не должно влиять на контент который он изучает.
     
  3. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Ну вот наконец то живой пример, но сайты довольно специфичные и явно ставили такое условие что бы язык сохранялся для удобства.
    Я же говорю про обычные сайты, магазины, новостные сайты, вот не припомню.

    З.Ы.
    Хмм... никогда не сидел в соц сетях, а про php.net как то не обращал внимание((( но за пример спасибо.
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Всё, больше не надо примеров? А то их пол-интернета.

    youtube видит (по IP?), что я в России и предлагает мне всякий около-КВН-овский понос. Весь интерфейс при этом англоязычный, т.к. я в хроме выставил предпочтения английские. Если я выставляю на первое место русскую локаль и чищу куки, жму F5 - интерфейс меняется на русский. Контент тот же ;)

    В футере нахожу переключатель языка, меняю его и заглядываю в куки:
    [​IMG]
    после того, как я указал язык на самом сайте, мои предпочтения браузера уже не влияют на интерфейс.

    Итого:
    Язык интерфейса задается в куках (вычисляется по заголовку Accept-Language, если куки пусты).
    URL не зависит от выбранного языка интерфейса, как и язык не зависит от URL.

    Добавлено спустя 29 минут 7 секунд:
    ebay.com точно так же вычисляет мои предпочтения по браузеру (если думает, что я здесь впервые) и дает выбрать язык явно. Предпочтение сохраняется в куках. На адресе язык не сказывается.

    Ebay используют машинный перевод для основных полей товара, при этом можно заглянуть в оригинал. Это необычно, но такой крупняк может себе позволить.

    Добавлено спустя 5 минут 3 секунды:
    reddit.com - новости. есть выбор языка интерфейса, сохраняют выбор в куках. контент у них исключительно англоязычный.
     
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Такида.
    Использование только кук как мера оптимизации в стиле "не дергается файл" - провальна. Но я тут за куки ввиду долгожительства оных и не зависимости от того, залогинился пользователь или нет. Юзабилити в край угла, камрады. Однако, это не означает, что от сессий надо вовсе отказаться.
    Осуждаю. Плохо, плохой подход. Каждый раз, оторвавшись от вкладкии более чем на 15 минут (по дефолту), опять язык выбирать? По себе сужу - послал бы сайт нахкер, нашел бы аналог поприятнее. Сайт для меня, а не я для сайта. Чай не 92 год на дворе.
    Ну а как же такое понятие, как гостевая сессия? :)
    Вот у тебя есть двяжок. И где-то в шапке есть большая такая кнопка "АДМИНКА", а еще есть кнопка "РЕГИСТРАЦИЯ". Вот ты зашел на страницу. Как движок должен узнать, какую тебе показывать кнопку? Или ты ACL-маркеры тоже в куках хранить собираешься? :)
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Хорошо начал, плохо кончил :) Для тебя так однозначно идентификация === сессия ?
     
  7. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    а PHPSESSID как приходит? как раз в куках и приходит обычно.
    и если его не пришло - то нафига стартовать сессию? пусть останется обычным гостем, зачем ему стартовать сессию?
     
  8. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    в GETах порой.
    у гостя тоже есть свой набор прав. Гость тоже входит в определенную группу, от которой он права наследует. Предлагаешь дергать БД(о мемкешах речи не идет) лишний раз для десятка байт? Или всем один механизм, а гостям костылей подсыпать?

    Если речь идет об идентификации браузера, то нет. Если об идентификации пользователя, то да, как основной механизм-из-коробки.
     
  9. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    будь проще. ненужно ничего дергать. если юзер не смог доказать что он имеет какието права - то он просто гость.
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Звучит красиво, да. И логично, не поспорить. Но на деле означает костыли. Есть вот в системе единый интерфейс, через который компоненты/объекты права узнают. И вот работает оно через сессии. Для гостя придется исключение пилить. Как вариант - универсальную гостевую сессию. Один и тот же файлик гостевой для всех открывать, манипулируя идентификатором на стороне сервера. Но тут надо давать себе отчет, что можно еще в сессии хранить, а что нет.

    Добавлено спустя 3 минуты 28 секунд:
    Провел эксперимент. Разлогинился прямо тут, на форуме, выпилил все куки. Обновил страничку и чтобывыдумали? Словил sessionid, будучи гостем-таки.

    Добавлено спустя 5 минут 50 секунд:
    с джумлой та же фигня, хоть там sessionid не очевиден.

    Добавлено спустя 58 секунд:
    Миллион гостей к тебе пришло, миллион пользователей, ну правда, какая нафиг разница. Один фиг было бы круто, стань все гости пользователями. А когда станут, на каких спичках тогда экономить? Что гость, блуждающий по сайту, что пользователь, примерно одну нагрузку создают. Если пошли опасения касательно фрагментации винта, то вперед, по проторенному пути соцсетей - запиливание собственных сессий с блекджеком и мемкешами.
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    1. Куки и сессии нужны для сильно разных вещей, одно с другим не связано никак. Важно эту линию в голове провести.
    2. Файлы и десериализация - дешёвые операции, париться не нужно. Если у ОС есть свободная оперативка, то всё хорошо, она туда пихнёт файловый кеш. Файловый кеш ОС быстрее чем тот же локальный мемкеш кстати. Так что спичечная оптимизация детектед.
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Разве в оперативку, а не в кэш винта, который, к слову, сильно меньше оперативки?
     
  13. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Возможно swap имелся ввиду
     
  14. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Своп тут, боюсь, совсем не причем. Почитай, зачем он нужен, и что он в себе хранит :)
    Своп - просто механизм хранения страниц оперативы на винте. Когда оператива кончается и встает выбор между "начать терять страницы" и "сохранить страницы, но начать лютобешено терять скорость работы", предпочтительнее второй вариант. Еле-работающая система гораздо лучше мертвой. Вот в свопе эти страницы и крутятся.
     
  15. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Да, ступил
     
  16. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    ЯПлакаль:) Как же ты в интернете живешь?))
    --------------------------------------------------------------------------------
    Ютюбы, Ебеи, Фейсбуки это крупные очень крупные поталы, сайты они борятся за каждого клиента, у них нет совести нет чести их цель выжить из людей максимум бабла. В связи с этим они спустились на такие ухищерения что бы клиент с большей вероятностью задержался может еще на пару секунд и может что то купит/повысит рейтинг. Да все они ставят перед собой такую цель - запоминать язык.
    Но многие сайты забивают на это. Они не настолько крутые что бы еще думать о языке.

    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 а почему язык не сохранил?
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    в свободной оперативке, которая не занята приложениями, ОС хранит файловый кеш. В Линухе htop покажет жёлтеньким как раз это. Т.е. мой сайт с его "файловым" кешем весь умещается в незанятой оперативке и работает оч быстро.
     
  18. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ты и привел сайты, на которые больше раза в триста лет никто не заходит. А если у тебя сайт на посещаемость и монетизацию рассчитан, будь добр лицом к пользователю, а не хреном повертывайся.
     
  19. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    ??? Я специально привел сайты не школьников а крупных компаний они могут позволить нанять спецов и продумать архитектуру, но им это не надо, всем вполне достаточно и без языка. На оракл до хрена и больше людей заходят.
     
  20. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Зачем, если это
    ?
    Думаешь, эти компании с этих сайтов прибыль получают для жизни? Ноуп. Думаешь им нужна посещаемость? Ноуп. Думаешь, им нужно, чтобы ты возвращался или обязательно зарегался? Ноуп.
     
  21. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Им нужно чтобы ты заплатил за курсы и аттестацию
     
  22. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    А я ведь подозревал, чуяло мое сердце не ладное, буржуи одним словом:)
     
  23. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    да, они хорошо поднимают на этом всём. Они не особо заинтересованы делать настолько просты вещи как пхп. Пхп это вообще великий шаг в перёд, по сравнению со многими другими парадигмами.
     
  24. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Вообще то мое сообщение изобиловало ничем не прикрытым сарказмом:)
    С учетом того сколько стоит саппорт оракла, да и в айбиэме не робин гуды, бабло рубят не на сертификации. Сертификация это так мелкая халтура.
    Да ну((( Попробуй другие языки не пожалеешь.
     
  25. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Вы просто любите быстрых лошадей.