За последние 24 часа нас посетил 17951 программист и 1653 робота. Сейчас ищут 1500 программистов ...

Нужен правильный алгоритм для Accept-Language

Тема в разделе "Решения, алгоритмы", создана пользователем Chushkin, 9 апр 2013.

  1. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    Есть сайт, там страницы только на русском (ru).
    Есть посетитель, у которого в заголовке запроса "Accept-Language: zh-CN" (например), т.е. указан конкретный язык (или языки).

    Какое поведение сайта будет правильным?
    - послать (типа "документа/страницы на китайском языке нет")
    - всё-таки выдать страницу (на русском языке)
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    выдать страницу (на русском языке)
     
  3. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    Accept-language выдает языки с указанием приоритета. Т.е.
    1) надо смотреть список допустимых языков в порядке убывания и сравнивать с тем, что мы можем предложить. Если мы можем предложить только русский, то думать не о чем :) Нет вариантов, нет проблем.
    2) сугубое IMHO: выдавать текст меню, всяких вспомогательных ссылок, т.е. "интерфейс", на предпочтительном языке, а язык основного контента должен зависеть только от URL!
    3) в каких-то специальных случаях возможно редирект на URL со страницей на предпочтительном языке, чтобы не нарушить правило 2. Нормально было бы делать такой редирект например для "Правил" или "Контактов" или "ЧаВо".

    Добавлено спустя 1 минуту 35 секунд:
    ты придумал самый неправильный вариант :) фантазия работает, молодец!
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    нельзя забывать о поисковиках. они раздражаются, если по одному и тому же адресу, пользователь и бот видят разное.

    Добавлено спустя 2 минуты 44 секунды:
    послать 404 если конечно урл у нее китайский, как писал Саша постом выше. А когда послал, предложить на русском страницу по ссылке, а если такой умный, то и через гугл транслейт.
     
  5. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    правильное использование заголовка vary решает проблему
     
  6. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я о таком даже не слышал =(
     
  7. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    igordata, ну мы тут вроде с вебом работаем, почту рассылаем. чаще всего именно эти задачи перед веб-мастерами встают. хотя бы разовое прочтение rfc 2616 (http/1.1) и 2822 (internet message format) рекомендую.
     
  8. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Это ад. Я на такое не способен.
     
  9. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    потрать недельку, рекомендую. я вот несколько лет назад это сделал когда нужно было реализовать "правильный" conditional get. и узнал что есть извращения типа if-unmodified-since - возвратить текст страницы только в случае если она не изменилась на сервере или 412 если изменилось. там вообще много полезного. меня вот бесит на телефоне читать письма в которых для заголовка указали что это юникод а для тела - нет. всех бы обязать работать исключительно по стандартам...
     
  10. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    =)
    я лучше тогда к тебе обращусь. ты как ща с работой?
     
  11. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    мне кажется, тогда бы развитие остановилось.
    сейчас быстрее выкатить новые возможности, чем их документировать, согласовывать, стандартизировать, бла-бла-бла.
     
  12. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    мне кажется, вы мысль не поняли. посмотрите сколько однотипных тем про кодировки/хтмл/вложения в письмах. есть стандарт, который описывает формат электронного сообщения. почему-то, когда я пишу скрипт формирующий письмо и соблюдаю минимальные требования описанные стандартом - письмо одинаково корректно отображается на всех платформах, на которых я имею возможность тестировать. а вот письма от других программистов я не могу так же удобно читать где захочу - потому что они не знают, что всего пара опущенных строк и письмо превращается в бессмысленный набор байтов. приведу абстрактный пример. купили вы ваз-2106 (все знают такую модель) но завод продал машину с двумя колесами, только передние. вот программа [для ленивых людей] попытается сделать так чтоб машина поехала - накатит еще пару колес, на жопу. раздатку добавит, кардан, кпп, двигатель, если и его не будет. а программа которая стандарты соблюдает - посмеется над тем как это ведро стало еще более уебищным куском металла.
    теперь скажите мне, вы впервые видите автомобиль, первый в жизни, и вот такой вот. вы не знаете как должен выглядеть автомобиль, но знаете, что он должен ехать. а эта херня не едет. что вы будете делать? почему ВЫ это должны сделать, а не завод изготовитель? где тут развитие?
     
  13. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    и тут пользователь решает отправить видюшку вам в почту, письмо такое на треть увеличивается и вы качаете на телефон мегабайт так 500 сообщения. всё же по стандарту. или же почтовая программа может спросить - а не закачать ли нам это всё на файлообменник да ссылочкой скинуть.
    одна из причин, почему xml в вебе не прижился.
     
  14. Ganzal

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

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

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    вопрос не в том, посылать ли файл внутри. хоть ссылочкой. главное, чтобы письмо было по стандарту.
     
  16. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.108
    Симпатии:
    1.243
    Адрес:
    там-сям
    интересно как ушли от темы )))