Xpoint
   [напомнить пароль]

Идентификатор языка отображения в запросе

Метки: usability, локализация, url
2005-08-01 10:58:25 [обр] Евгений Морозов[досье]

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

Существуют наиболее типичные решения:

  1. Передача в URL
    1. Как фиктивный каталог (речь идет о динамическом сайте), например: http://example.com/rus/ или http://example.com/eng/.
    2. В переменной запроса, вроде: http://example.com/index.php?language=ru
  2. Передача в Cookies без комментариев

Интересно услышать разные мнения по этому вопросу. С технической точки зрения все указанные решения одинаково легко реализуемы. Но вот что логичнее и удобнее пользователю?

спустя 7 минут [обр] Алексей В. Иванов(3/2861)[досье]
Cookies использовать нельзя, т.к. роботы не найдут такие страницы. В остальном же разница не большая, но директорию использовать красивее и удобнее, т.к. уродливый параметр не нужно будет таскать (а его придется в каждую ссылку, форму добавлять)
спустя 19 минут [обр] Евгений Морозов[досье]

Алексей В. Иванов[досье] С cookie абсолютно согласен. Но дело в том, что у cookie есть большое преимущество - прозрачность. Пользователь выбирает язык только один раз, а далее ничто не напоминает ему о каких-то разграничениях. Он запрашивает ресурс - он получает его в том виде, каком ему удобно. При этом и URL остается чистым. Но...

Вот фиктивный каталог, по-моему, ужасно некрасив в URL. Главное не совсем логичен. Если есть ресурс /about_company.htm, то их как бы два: /rus/... и /eng/... Но семантически-то это одно и то же.

Переменная language тоже не слишком здорово, но на мой взгляд лишена недостатка предыдущего варианта. Кстати в XML есть очевидный аналог такого решения: аттрибут xml:lang.

спустя 47 минут [обр] SelenIT(0/67)[досье]

Евгений Морозов[досье]

Но семантически-то это одно и то же.

Позвольте не согласиться. По-моему, как раз с точки зрения пользователя другая языковая версия - это другой документ, и самостоятельный URL для него, на мой взгляд, вполне оправдан.

спустя 33 минуты [обр] Евгений Морозов[досье]

SelenIT[досье]
А в чем собственно разница для конечного пользователя? Типичный сценарий взаимодействия: выбор языка -> просмотр страниц на выбранном языке. Т.е. для пользователя существует некоторая информация (ОНА ему важна прежде всего), а язык - лишь интерфейс, средство передачи этой понятийной информации. Есть яркий пример: локализация GUI интерфейсов. Поэтому одну и ту же информацию, выраженную на разных естественных языках, следует выделять в один ресурс. А язык отображения задавать переменной.

Но можно выделить и иные случаи, когда пользователю важен язык отображения как факт. Примером может быть online курсы по иностранным языкам, да и что угодно, требующее одновременного присутствия нескольких языковых версий.

спустя 31 минуту [обр] Давид Мзареулян(1/1003)[досье]

Есть ещё вариант ru.domain.com / en.domain.com. Но это обычно делают, когда локализаций много и/или когда локализованные версии сайтов чем-то отличаются.

Вообще, www.domain.com/rus/... кажется оптимальным.

спустя 1 час 28 минут [обр] SelenIT(0/67)[досье]

Евгений Морозов[досье]

Т.е. для пользователя существует некоторая информация (ОНА ему важна прежде всего), а язык - лишь интерфейс, средство передачи этой понятийной информации. Есть яркий пример: локализация GUI интерфейсов.

Имхо, это не более чем одна из возможных схем. Лично я считаю, что называть семантически аналогичную информацию на разных языках одной и той же информацией - самообман. Даже если не рассматривать практически неизбежные ошибки и искажения перевода, информация, которую пользователь (неважно по какой причине) не в состоянии прочитать - это не та информация, которая ему нужна. Вполне типичная реакция пользователя: "Ой, тут все не по-русски, мне такого не надо!".

Вдобавок, разные языковые версии могут иметь разную степень актуальности (почти наверняка изменения переводов будут запаздывать по сравнению с обновлениями оригинала на его языке). Разве это не аргумент в пользу интерпретации языковых версий как различных ("параллельных") ресурсов?

спустя 2 часа 6 минут [обр] Сергей Круглов(10/2057)[досье]
Про параллельные ресурсы и пр.:
Многоязычные сайты
спустя 1 час 51 минуту [обр] Евгений Морозов[досье]

Сергей Круглов[досье]
Спасибо за ссылку. Но поставленного вопроса, в принципе, в той теме касаются косвенно и ответа нет. Хотя от себя скажу, что default вариант для фиктивного каталога не подходит (т.е. если есть http://domain.com/rus/, то http://domain.com/ должен выдавать интернациональную заставку с выбором языка).

SelenIT[досье]
Причем здесь самообман? :) И та --- не та информация тут тоже не при чем. Никто и не подразумевает, что пользователь должен будет читать какой-либо на незнакомом ему языке. Это тут совсем не при чем. Но в рамках сайта среднего объема создавать подобные языковые версии одной страницы вполне нормально. Если кто-то пишет о своем доме, то это один ресурс: http://vasia.com/about_my_home.htm И все равно, какой язык. Это - страница, посвященная его дому. Вот смысловая связь информации. Не имелась ввиду тождественность. Зачем называть эту страницу как-то еще?
 
По сути второй аргумент (о различном времени обновления) несколько более весом.

Странно, что в сети очень мало информации об этом. Каких-либо конкретных статей и рекомендаций нет. Во всяком случае я не нашел. Но:

  1. В RFC2070(ietf) есть рекомендации по локализации html. Но дальше этого они не идут (т.е. затрагивают только кодировки).
  2. В web заложена наиболее очевидная модель локализации - домены стран: ru, uk, de и т.д. Это вообще наиболее верный выход. Но дорогой.
  3. Поддомены (как на sun.com) не очень подходят, поскольку их вернее занимать "подзонами" сайта. Вроде контрольной панели.

Мы рассматриваем вариант с одним доменом, а в поддоменах должно быть то же самое (т.е. тоже передача необходимого языка).

Как я вижу, наиболее приемлемый для многих способ - фиктивный каталог. (вот тех. реализация у него хуже, чем у переменной).

спустя 3 часа 2 минуты [обр] Иван Шумков(3/77)[досье]
Я реализовывал так: если нет куки о языке, то пытаюсь определить язык по юзерагенту, если никак, то устанавливаю дефолтный (русский) в куки и редирект на www.domen.ru/ru/.
спустя 1 час 1 минуту [обр] Евгений Морозов[досье]
Иван Шумков[досье] Вопрос был не совсем о программной реализации, а о помещении собственно идентификатора ru. Насчет реализации переключения этих самых языков - это уже второй вопрос, кстати немаловажный, который требует уже новой темы.
спустя 9 минут [обр] Иван Шумков(3/77)[досье]

Евгений Морозов[досье]
Мне кажется, что правильнее (по убывающей):

  1. Домен первого уровня (domen.com/, domen.ru/).
  2. Субдомен (en.domen.ru/, domen.ru/)
  3. Виртуальная директория (domen.ru/en/, domen.ru/)

Во втором варианте, в случае, если вы используете субдомены, для разделения зон на сайте (например: user.domen.ru/ivan_shumkov/). То можно ставить так user.en.domen.ru/ivan_shumkov/

спустя 17 минут [обр] Давид Мзареулян(1/1003)[досье]
# Домен первого уровня (domen.com/, domen.ru/).
Почему не domen.uk/, domen.ru/?
спустя 6 минут [обр] Иван Шумков(3/77)[досье]

Давид Мзареулян[досье]

Почему не domen.uk/, domen.ru/?

Это помойму не принципально. Хоть domen.kz/

спустя 1 минуту [обр] Давид Мзареулян(1/1003)[досье]
Иван Шумков[досье] Вот-вот. Домены 1-го уровня к языкам вообще никакого отношения не имеют.
спустя 15 минут [обр] Иван Шумков(3/77)[досье]
Давид[досье], помойму, иметь для двух языков (рус. и анг.) два разных домена domen.com и domen.ru - нормально и удобно. Во всяком случае очень много таких примеров.
спустя 4 минуты [обр] Давид Мзареулян(1/1003)[досье]
Не видел ни одного такого примера. Видел очень много примеров, когда com — сайт для международного рынка, а ru — для российского. Со всеми вытекающими различиями помимо языка.
спустя 52 минуты [обр] Иван Шумков(3/77)[досье]
Давид Мзареулян[досье]
Тут вы правы.
Пример: adobe.com (на выбор языков (стран) 15, кроме русского). Определяются как субдомены - brazil.adobe.com.
adobe.ru - отдельный сайт для российского рынка.
спустя 2 часа 46 минут [обр] SelenIT(0/67)[досье]

Евгений Морозов[досье]

Если кто-то пишет о своем доме, то это один ресурс: http://vasia.com/about_my_home.htm И все равно, какой язык.

Тому, кто пишет - может быть, и все равно (если он точно знает, что смысл написанного везде одинаков, учитывая межкультурные особенности восприятия и т.п.). Тому, что будет читать - по-моему, вряд ли.

Зачем называть эту страницу как-то еще?

А зачем переписывать эту же страницу на другом языке (и, практически неизбежно, с другим временем модификации)? Не проще ли создать другую страницу http://vasia.com/ru/about_my_home.htm и дать нормальную возможность выбора между ними.

Слово "самообман", возможно, слишком резко. Но с моей точки зрения называть объективно разные сущности одним ресурсом - значит вводить терминологическое ограничение, способное привести к путанице. Например: как тот же поисковик узнает, на каком языке индексировать "страничку о Васином доме" в Вашем примере? Сможет ли он проиндексировать ее на всех доступных языках? Если да, то как - ведь это всего одна страничка?..

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

Если же такого терминологического ограничения не вводить - на мой взгляд, не возникнет и проблемы различения "разных воплощений одной информации"...

спустя 7 часов [обр] Евгений Морозов[досье]

SelenIT[досье]
Мы с Вами в некотором тупике. Посмотрите тему с самого начала. Никто не собирается прятать id. Мной был предложен (наряду с остальными) вариант передачи его в строке запроса. Разговор-то не о статичном html. А разница между about_my_home.htm?language=ru и about_my_home.htm?language=en очевидна. И при индексации проблем вроде быть не должно.

Иван Шумков[досье]
Да, к сожалению, стандарта нет.

Хотя вообще говоря в основе web лежали вполне четкие идеи, но они забыты и их никто не реализовывает.

Вообще говоря, доменное имя = имя машины (замена неудобному IP). Так было в самом начале.

А отсюда логично вытекает следующее: если мы говорим о локализациях одного множества документов, то подразумевается их хранение на одной машине. Т.е. доменное имя при этом менять нельзя, а язык задавать - либо папкой, либо гонимым параметром.

Если информация значительно отличается (например по детальности) и кроме того представлена на каком-либо одном языке, то следует использовать различные доменные имена.

Т.е. на примере adobe.com: для бразильского adobe.com/brazil, а для русского adobe.ru. Как?

Кстати, вот еще вопрос: а как собственно должен выглядеть сам идентификатор? ru, rus, russian? Первый - ISO, второй - не пойми что, третий - мне больше нравится (и читается много приятнее обрубков).

спустя 1 час 39 минут [обр] Давид Мзареулян(1/1003)[досье]
И ru и rus — это ISO: http://en.wikipedia.org/wiki/ISO_639
Russian, возможно, читается лучше, но набирается дольше (а если Вы захотите сделать зеркало на языке “banyumasan”?).
спустя 1 час 5 минут [обр] Иван Шумков(3/77)[досье]
Т.е. на примере adobe.com: для бразильского adobe.com/brazil, а для русского adobe.ru. Как?
Не совсем в этом дело. Перечитайте посты Давида[досье]. И не adobe.com/brazil, а brazil.adobe.com/.
спустя 53 минуты [обр] SelenIT(0/67)[досье]
Евгений Морозов[досье]
Все, конечно, относительно. Но, насколько мне известно, about_my_home.htm?language=ru и about_my_home.htm?language=en - разные URI, т.е., вроде бы даже формально - самостоятельные ресурсы. Конечно, проблем с индексацией разного контента под разными URI не будет.
спустя 8 минут [обр] Сергей Круглов(10/2057)[досье]

Кстати, adobe.com - это не только выбор языка, причем далеко не только.

Это к высказанной выше идее, что корень многоязычного сайта - это только выбор языка и ничего более.

спустя 13 минут [обр] Евгений Морозов[досье]

Давид Мзареулян[досье]
Согласен. Забыл, что в ISO и трехбуквенные коды есть.

Иван Шумков[досье]
А Вы мой пост перечитайте (тот, из которого цитату взяли). Внимательно. Вот и пример был придуман на основе тезисов поста. Обратите внимание: интерес представляет логичное и удобное решение, а не разбор существующих (среди которых не исключается наличие искомого). Вот, как у Intel: http://www.intel.com/cd/corporate/europe/emea/rus/187626.htm - красота! И таких тьма. Но это их проблема.

Про adobe же выводы были такие:

  1. Если есть хост adobe.com и на нем есть материал, по сути один и тот же, т.е. представляющий сходный интерес для читателя (сейчас на меня еще SelenIT покричит :)), но данный материал представлен для пользователей, предпочитающих разные языки, то логично будет, если данный материал будет лежать в папках (rus, eng, jpn etc) хоста adobe.com.
  2. Если есть специфичная информация для пользователей из определенной страны (или языка). Т.е. представительство в другой стране, то логично будет иметь дополнительный домен для данного сайта (с доменом первого уровня ru, uk, de etc).

Разговор-то у нас о Usability, но к usability мы так и не пришли.

Usability URL можно оценить по следующим критериям:

  1. Логичность классификации информации
  2. Readability - то, как URL читается.
  3. Memorability - то, насколько быстро он запоминается и вспоминается.
  4. Printability - то, насколько его удобно набирать и редактировать в адресной строке.

Это важно для 20-30% пользователей, но это не повод не обсуждать эту тему. Хотелось бы видеть аргументы по указанным выше позициям.

спустя 33 минуты [обр] Иван Шумков(3/77)[досье]

Да вобщем-то все понятно.

Подведем итоги? Я голосую за указание языка в субдомене :).

спустя 8 минут [обр] Евгений Морозов[досье]

SelenIT[досье]
RFC2396(ietf) стр.15: "The query component is a string of information to be interpreted by
the resource." (если требуется перевод: Строка запроса - информация, которая должна быть обработана ресурсом). Т.е. формально about_my_home.htm?language=ru и about_my_home.htm?language=en - ОДИН И ТОТ ЖЕ РЕСУРС, а информация специфицируется набором переменных.

Вообще говоря эта переменная - некоторый прообраз такой утопии: в броузере не вкладка "Кодировки", а вкладка Языки. Думаю, что идея ясна.

Сергей Круглов[досье]
Мы реализацию переключения пока не обсуждали. Это тоже большая тема. Есть очень много "удобных решений". На многих сайтах страница по-умолчанию на английском. Причем локализации идут под ссылкой Internationalization. Ну как? Лично мне все равно, я и на английском почитаю. Но я смотрел ради эксперимента и это Internationalization, увы, не сразу нашел. Да и слово-то какое! Ух... Только вот Russian люди знают почти все, а вот ...

спустя 2 минуты [обр] Евгений Морозов[досье]
Иван Шумков[досье]
Если не хотите обсуждать - не делайте этого. В конце-концов это не ГОСТ. Но тему пока закрывать не стоит. Может кто-то что-нибудь полезное выскажет.
спустя 2 часа 39 минут [обр] SelenIT(0/67)[досье]

Евгений Морозов[досье]
Метафора про "вкладку Языки в браузере" понятна. Полностью согласен, что при локализации интерфейсов такой подход всецело оправдан. Универсален ли он - другой вопрос... спорить не буду.

И все же по поводу цитаты из RFC: по-моему, Ваш вывод о том, что ресурсы, различающиеся лишь строкой запроса - непременно один ресурс, из нее явно не следует. В RFC2616(ietf), раздел 3.2, утверждается: "As far as HTTP is concerned, Uniform Resource Identifiers are simply formatted strings which identify — via name, location, or any other characteristic — a resource". Мне кажется логичным вывод, что ресурс идентифицируется всей строкой URI (как это происходит де-факто при использовании ЧПУ). Надеюсь, более опытные коллеги помогут нас рассудить.

спустя 1 час 6 минут [обр] Евгений Морозов[досье]

SelenIT[досье]
Только обсуждающих тут немного, что плохо.

Читайте RFC2396(ietf) - все прекрасно сказано (цитировать не буду). Посмотрите определение ресурса, а также компоненты URI. Думаю, все должно стать ясным. А заодно - небольшой вопрос на понимание: почему Apache на запросы about_my_home.htm?language=ru и about_my_home.htm?language=en выдает не разные файлы?

К слову сказать: http://www.w3.org/Internationalization/ - сборник рекомендаций по локализации. Сабжа там нет. Я отправил письмо с запросом - интересно, что они думают (если, конечно, обратят внимание на простых смертных :)). Если ответят - письмо выложу сюда.

У них, между прочим, явно указано, что домены первого уровня: ru и т.п. ДЛЯ ЛОКАЛИЗАЦИЙ.

спустя 42 минуты [обр] SelenIT(0/67)[досье]
...почему Apache на запросы about_my_home.htm?language=ru и about_my_home.htm?language=en выдает не разные файлы?
[off]Полагаю, потому что Apache вообще не выдает файлов. AFAIK, в HTTP понятия "файл" нет.[/off]
спустя 2 часа 55 минут [обр] Евгений Морозов[досье]
SelenIT[досье]
Ладно, специально для Вас: Почему результатом отображения URI /about_my_home.htm?language=ru и /about_my_home.htm?language=en HTTP сервером Apache на локальную файловую систему будет путь .../about_my_home.htm (... в данном случае заменяет часть абсолютного пути, специфичную для какой-либо системы)?
спустя 19 минут [обр] Давид Мзареулян(1/1003)[досье]
Евгений Морозов[досье] Это, вообще говоря, личное дело Апача и ни к локализации ни к стандартам оно отношения не имеет.
спустя 5 минут [обр] Евгений Морозов[досье]
Давид Мзареулян[досье] Эта реплика была только для SelenIT. Не принимайте всерьез. Просто аргумент, возможно выраженный не настолько формально, насколько требуется для понимания простого намека человеком влюбленным в RFC2616(ietf). Причем 2616 не определяет понятия URI, а только косвенно на него ссылается.
спустя 1 час 20 минут [обр] SelenIT(0/67)[досье]

Евгений Морозов[досье], давайте как-нибудь обойдемся без намеков - во, первых, они мимо цели, во-вторых, ответ на Ваш конкретный вопрос зависит от конфигурации конкретного Апача, и в третьих, аргумент это слабый (см. пост Давида Мзареуляна[досье]).

С моей точки зрения, определение ресурса по RFC2396(ietf) не настолько жестко, чтобы полностью исключить либо мою, либо Вашу трактовку. И это лишь дает разработчику свободу выбирать ту реализацию, которая удобнее ему и пользователю.

А RFC2616(ietf) я привел лишь на том основании, что "In general, the rules for equivalence ... are scheme dependent" (раздел 6 RFC2396(ietf)), а у нас речь идет в основном о документах, выдаваемых по HTTP. Однозначных подтверждений тому, что строка запроса действительно не участвует в идентификации ресурса (и этим принципиально отличается от злополучной фиктивной директории), в обоих RFC я не нашел.

спустя 11 часов [обр] Евгений Морозов[досье]

SelenIT[досье]
RFC2396(ietf)

hier_part = ( net_path | abs_path ) [ "?" query ]
relativeURI = ( net_path | abs_path | rel_path ) [ "?" query ]

3.3. Path Component
"The path component contains data, specific to the authority (or the
scheme if there is no authority component), identifying the resource
within the scope of that scheme and authority."

3.4. Query Component
"The query component is a string of information to be interpreted by
the resource."

RFC2616(ietf)

3.2.2 http URL

http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]

"The semantics are that the identified resource is located at the
server listening for TCP connections on that port of that host, and the Request-URI for the resource is
abs_path (section 5.1.2)".

Интересно, что http_URL, строго говоря, синтаксически не является URI: query входит в abs_path, в то время как в URI это явно разные части. Т.е. наблюдается несогласованность.

Но фактически оба мы правы. Я с точки зрения URI, а Вы, опираясь на стандарт HTTP. Хотя Вы могли бы привести и конкретные цитаты, доказывающие Вашу правоту. "...via name, location, or any other characteristic — a resource" - по большому счету ничего не говорит, т.к. url не содержит не name, не location...

Однако в пользу моей трактовки:
Все же query есть query. Пусть база данных является ресурсом, то query - это запрос к ней. Можно ли считать любую произвольную выборку из БД ресурсом?

Ладно, хватит оффтопика, предложу для рассмотрения пример:
Пусть существует сайт, на котором представлены спецификации одной технологии на разных языках. Каждая языковая версия спецификации содержит главный файл (пусть tar.gz или zip) и несколько дополнений, исправлений и т.п. (тоже архив).
Ссылки с комментариями представлены в html документе (кот. может быть на самом деле и скриптом). Комментарии и ссылки тоже должны быть локализованы.

Кто как предложит организовать структуру? (URL должен быть user-friendly)

спустя 48 минут [обр] Сергей Круглов(10/2057)[досье]

Я, признаюсь, делал сайты, где таскал язык как в QUERY_STRING, так и в путевом имени. Аргументы за и против:

  1. /ru/about (http://www.amd.com) или /about_ru (http://www.vatican.va)

+ : вообще можно не употреблять "?" в адресе. Идея user-friendly URL торжествует (и доходит до абсурда... шутка ;)
- : имеем дополнительный уровень в иерархии.
Что делать, если язык в URL не указан?
Можно показывать переключалку языков и больше ничего (http://www.abit.com.tw, http://www.asus.com, http://www.vatican.va).
Можно делить по субдоменам или доменам (домены: http://www.abbyy.com , субдомены: http://www.sun.com, http://www.adobe.com).
Можно все /about/hello редиректить на /en/about/hello (http://www.amd.com/). Либо просто показывать язык по умолчанию, т. е. если язык по умолчанию ru, то никаких /ru/about вообще не должно быть, а то нас поисковики неправильно поймут (http://www.intel.com, http://www.grailnet.org/).
Либо... либо... ну попробуйте разобраться, как устроен http://www.microsoft.com :)

  1. /about?lang=ru

+ : даже не знаю, может программисту легче писать обработчики URI?
- : оператору сайта труднее - надо все время не забывать этот язык подписывать в ссылках. Ну или нужна такая CMS, чтоб юзер вообще не оперировал адресами конкретных страниц (даже простыми "../")
Примеры: Навскидку нашел только http://www.euronews.net .

Выводы: таскание языка до "?" встречается чаще.

спустя 3 часа 2 минуты [обр] Евгений Морозов[досье]

Сергей Круглов[досье] Спасибо. Вот уже более подробное и конкретное рассмотрение.

Может еще кто-нибудь выскажется?

спустя 4 часа 24 минуты [обр] Евгений Морозов[досье]

Господа, предлагаю следующее решение:

Общая концепция: скрестить переменную и cookie.

Описание:

  1. Будем считать, что один многоязычный ресурс (тот ресурс, от которого мы собственно ждем многоязычности) идентифицируется relativeURI без строки query.
  2. Для ресурса возможны два пути передачи идентификатора языка:
    1. Переменной: /about_us.htm?language=ru
    2. Cookie

a имеет более высокий приоритет, чем b.

  1. Если запрошен ресурс, а язык не задан ни одним из способов, то выводится языковой диалог.
  2. Если запрошен язык, которого ресурс не поддерживает, то выводится языковой диалог с сообщением об отсутствии поддержки.

Проблемы индексации:
нет, т.к. если движок определяет, что cookie у запрашивающей стороны не в почете, то и не использует его.

Проблемы пользователя:
нет. Если cookie не держит (что редко), то даем использовать только переменную.
Адресная строка чиста и красива (кроме случая с отключенными куками). Интересно, сколько таких будет? Есть статистика?

Ваши замечания, дополнения? Очень надеюсь на дельные замечания - это позволит предусмотреть все подводные камни.

спустя 2 минуты [обр] Давид Мзареулян(1/1003)[досье]
Закладки.
спустя 4 минуты [обр] Давид Мзареулян(1/1003)[досье]

Вообще, тема исчерпала себя в первых нескольких ответах. Чего дальше этого кота за хвост тянуть — не понимаю… Всё уже сказано.

Евгений Морозов[досье] Вам неоднократно уже говорили, что версии документа на разных языках — это, вообще говоря, разные документы и у них обязаны быть разные URL. Нет — Вы опять выдаёте решение, которое на одном урле держит все варианты. Ну захочу я передать (со включёнными куками) поставить ссылку именно на японский (скажем) вариант страницы. КАК я это сделаю? Никак — Вашей модели.

спустя 16 минут [обр] Евгений Морозов[досье]
Давид Мзареулян[досье] something.htm?language=jpn
спустя 6 минут [обр] Евгений Морозов[досье]
Давид Мзареулян[досье] URI /something.htm?language=jpn и /something.htm?language=rus разные. Это уж точно.
спустя 17 минут [обр] Давид Мзареулян(1/1003)[досье]
Евгений Морозов[досье] Что jpn? Откуда я возьму этот jpn, если у меня куки и я ?language= не вижу?
спустя 24 минуты [обр] Евгений Морозов[досье]

Давид Мзареулян[досье] А про страницу запроса языка у пользователя Вы прочли в том же посте? По-моему нет. Прочитайте внимательнее.
Если юзер N кидает своему другу ссылку http://www.domain.com/document.htm, то первое, что видит его приятель - страницу, на которой вопрос: Вам как подать? Английский Русский и т.д. А по ссылке грузит то, что надо.

Это для нового юзера. Если юзер уже был, то у него есть кук.

Но проще запомнить http://www.domain.com/document.htm, а никак не http://www.domain.com/ru/document.htm, http://www.domain.com/rus/document.htm - это точно. Эти ru, rus ... ошибиться очень просто. А делать ru, rus, russian это совсем кошмар.

спустя 16 минут [обр] Евгений Морозов[досье]
Оффтопик: создается впечатление, что люди в форуме не читают посты. Тогда usability вопрос - как писать так, чтобы они это делали, и необходимость повторять 2-3 раза отпала? Я новичок на Xpoint. Может есть рецепт? Скажем по одному тезису на пост?
спустя 30 минут [обр] Давид Мзареулян(1/1003)[досье]
Если юзер N кидает своему другу ссылку http://www.domain.com/document.htm, то первое, что видит его приятель - страницу, на которой вопрос: Вам как подать? Английский Русский и т.д. А по ссылке грузит то, что надо.
Юзер, набравший http://www.domain.com/document.htm, ожидает увидеть там документ, а не непонятно какую форму на непонятно каком языке. Это уже контр-юзабилити, то, что Вы тут толкаете.
спустя 1 час 2 минуты [обр] Евгений Морозов[досье]

Давид Мзареулян[досье]
Спросить пользователя о том, в каком виде он хочет увидеть информацию, четким и ясным образом (к тому же только 1 раз, при первом посещении) это контр-юзабилити (кстати, бредовый термин)?

Насколько мне помнится ВСЕ мультиязычные ресурсы так или иначе предлагают этот выбор языка. Некоторые очень криво. Раньше это было обычно - первой страницей при первом посещении видеть выбор локали. Честно говоря, это встречается сейчас реже. Чаще вариант такой: пользователю дают громадную страницу, вполне вероятно, что не на его языке. Первое впечатление - "не знаю что делать дальше". Почему ему просто не показать удобный, простой и не перегруженный выбор локали?

Кстати, ну ладно со страничками, а картинки (положим нелокализованные)? Вариант с папками подразумевает два URL на один ресурс? Как тут будете поступать? Сделаете каталог /mul/images ? (mul - это из ISO)

спустя 6 минут [обр] Давид Мзареулян(1/1003)[досье]

Евгений Морозов[досье]

Спросить пользователя о том, в каком виде он хочет увидеть информацию, четким и ясным образом (к тому же только 1 раз, при первом посещении) это контр-юзабилити (кстати, бредовый термин)?

Да. Можно и прямее выразиться, да модераторов не хочется дразнить.

Кстати, ну ладно со страничками, а картинки (положим нелокализованные)? Вариант с папками подразумевает два URL на один ресурс? Как тут будете поступать? Сделаете каталог /mul/images ? (mul - это из ISO)

Не вижу тут никаких проблем. Ну то есть ВООБЩЕ никаких. Подумайте минут пять — тоже перестанете их видеть.

спустя 24 минуты [обр] Алексей В. Иванов(3/2861)[досье]

Евгений Морозов[досье]

Оффтопик: создается впечатление, что люди в форуме не читают посты.

Продолжая оффтопик:
Это не так. Хотя, очевидно, что топик, не имеющий цели, поросший непонятными постами трудно читать.
Отвечать иногда нет смысла, когда совершенно очевидно, что автор в любом случае сделает по-своему (данная ситуация).

Возвращаясь к теме:
Грёзы о языковом диалоге являются бредом, поскольку неудобно + негативно отреагируют поисковики (им, как не поддерживающим кук, будут подсовываться тысячи одинаковых страниц с листингами на языки).
Также сказками кажутся слова о мифических людях, которые запоминают URL'ы типа "http://example.com/document.htm". Вы много документов помните по URL? Или же Вам подсказывает браузер? Он подсказывает Вам сколько вариантом? Бывали ли там когда-нибудь дубликаты, вроде page.html и page.html?language =ru ?

Кстати, развивая тему, я считаю, что деревья сайтов для разных языков должны быть разными, ведь очевидно, что у разных народов разные интересы. Например, нет смысла делать ветвь "вакансии", кроме, как на родном языке и делать для нее переводы. Кто хочет иметь у себя в штате человека, языка которого никто не понимает? Так же я очень часто сталкиваюсь с тем, что материалы переводят неполностью из-за высокой стоимости и низкой отдачи, от этого иностранные варианты сайта выглядят совсем иначе.

P.S. Ваш вариант с ?language= кажется вдвойне уродливым, есть добавлять к нему параметры на динамических страницах. Возьмем «объемный» прайс-лист с возможностью фильтра по разделу: example.com/my_pricelist.html?language=ru&page=2&category=motherboard

спустя 2 часа 11 минут [обр] Иван Шумков(3/77)[досье]
Евгений Морозов[досье]
Вы порете ерунду. Вам уже сто раз повторили как лучше сделать. Как горох об стенку.
спустя 8 часов [обр] Евгений Морозов[досье]

Давид Мзареулян[досье]
Согласен, что это очень нежелательно в середине сайта.

Картинки, как и страницы - те же ресурсы. Т.е. локализуются одинаково.

Алексей В. Иванов[досье]
На самом деле, люди, приходя в тему, читают 2-3 последних поста. Поэтому в теме столько левой информации. Кстати на свое усмотрение Вы можете перенести часть постов в раздел Интернет::Теория - это касательно ресурса в rfc.
Насчет самодурства Вы не правы.

Броузер предлагает на выбор и вариант с переманными, и без них - смотрел IE6.0. Может в других не так.

Предложенное решение (я не говорил, что начал реализовывать) дает user-friendly URL, но есть минус: неудобство передачи URL другому пользователю при отсутствии потери информации (идентификатора).

Вот и Вы посты не прочли. Если информация выглядит совсем иначе, то лучше юзать домен страны, если это невозможно, то поддомен. Мы же говорим об интерфейсной локализации. Т.е. когда подразумевается, что пользователь будет использовать меатериал ТОЛЬКО на одном языке. Кстати, строго говоря, навигационное дерево сайта не совпадает со структурой ресурсов и совпадать не обязано.

example.com/my_pricelist.html?language=ru&category=motherboard&page=2 - так логичнее. Кстати читается вполне хорошо.
 
Как правильнее сделать выбор языка для первой страницы (скажем http://www.domain.com) ?
Какого стандарта придерживаться при наименовании фиктивной директории?

спустя 31 минуту [обр] Алексей В. Иванов(3/2861)[досье]

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

Продолжая тему "?lang":
Предположим, что я пришел с поиковика на Ваш сайт. Пришел я на URL: page.html?lang=en (обязательно с языком, как я сказал выше), сайт мне сразу вставил куку, что я "не русский". Как мне исправить такую ситуацию? Более того, все страницы, которые до этого я читал нормально (если в URL не содержалось языка) превратяться в "тыкву" с этого момента.
Ответ очевиден — нужно иметь выбор языка на самой странице. Продолжать?

спустя 2 часа 9 минут [обр] Давид Мзареулян(1/1003)[досье]
Евгений Морозов[досье] Вот ещё одна идея, чтобы Вам было о чём пописать в ближайшую неделю. Попробуйте навесить разные языковые версии на разные порты (по аналогии с не к ночи будь помянутым Русским Апачем). Например, http://site.com:80/ — страница выбора языка, http://site.com:643/ — русская, http://site.com:826/ — английская, http://site.com:392/ — японская. За основу можно взять ООН-овские числовые коды стран. Чуете, какой простор открывается?
спустя 46 минут [обр] Евгений Морозов[досье]

Алексей В. Иванов[досье]
Посмотрите это, если интересно (статья и обсуждение на форуме):
http://www.agconsult.be/en/publications/articles/languagechoice.asp
http://www.cre8asiteforums.com/viewtopic.php?t=20153
Обратите внимание на высказывание Rudd по поводу фиктивного каталога - malformed (уродливый).

А то, что переменная над куком имеет ПРИОРИТЕТ Вы прочли? По всему видно, что нет.

Выбор языка на каждой странице - это понятно и естественно. Причем ссылка должна быть на этот же материал, но на другом языке. С этой точки зрения ?lang=... удобнее.

Так что с унификацией названия папки? Что юзать: ru? rus? russian?
У microsoft.com солянка: rus, eng, но japan... не jp, jpn, japanese.

спустя 10 минут [обр] Алексей В. Иванов(3/2861)[досье]
А то, что переменная над куком имеет ПРИОРИТЕТ Вы прочли? По всему видно, что нет.

Прочел. Чего не скажешь о Вас.

Так что с унификацией названия папки? Что юзать: ru? rus? russian?

Кому какое до этого дело? Люди "парсят" одинаково хорошо эти сокращения.

Обратите внимание на высказывание Rudd по поводу фиктивного каталога - malformed (уродливый).

Вы сами-то читали, что он написал? Он написал, что уродливо использовать "index.php/eng". В этим с ним нельзя не согласиться, за то он пишет, то использовать виртуальную директорию "elegant".

спустя 26 минут [обр] Эдуард Суров(2/264)[досье]
Ох, ну и нафлудили... Евгений Морозов[досье], в реальности для произвольного документа на языке A может не существовать версии на языке B. Просто потому, что структура сайтов для разных языков обычно отличается довольно радикально, и об этом здесь уже неоднократно говорилось. И рассматривать, скажем, переводы статьи на разные языки нужно именно как две разные страницы. Хотите облегчить пользователю жизнь? Добавьте связку между этими документами и на странице со статьей по-русски выдавайте ссылку "Read this article in English", например. А расположенная на каждой странице ссылка на сайт на другом языке должна именно туда и вести - в начало того сайта. В идеале "иноязычные" сайты нужно располагать в доменах третьего уровня, если неохота с этим возиться - в виртуальных подкаталогах. Передача языка через параметр в URL - дико некрасиво, а уж куки - это и вовсе неприемлемо.
спустя 9 минут [обр] Евгений Морозов[досье]

Алексей В. Иванов[досье]
Ничего ужасного в этом нет, если Вы шли по ссылке ?lang=ru с поисковика, то значит Вы искали англ. информацию. Вы получаете только ее. Навигация тоже грузится только английская - проблемы нет никакой. То же может случиться, если использовать /eng/...

Но я говорил об универсальности, а как быть с другими языками (кроме ru)?

Насчет Ruud, да, извиняюсь, принял index.php за доменное имя. Но обратите внимание: elegant он назвал http://domain.com/articles/eng

Кстати большой минус субдоменов: если название сайта имеет ценность как бренд, то префиксы делают его нечитаемым. Примеры: ru.intel.com, ru.microsoft.com, ru.java.com и т.д.

спустя 21 минуту [обр] Иван Шумков(3/77)[досье]
если название сайта имеет ценность как бренд, то префиксы делают его нечитаемым
Это почему же? Помойму очень даже читаймо. Вот я читаю: Русский Micrisoft.com. Замечательно читается. Могу еще раз, хотите?
спустя 9 минут [обр] Евгений Морозов[досье]
Иван Шумков[досье] Ничего замечательного. Если Вам удобно читать вверх ногами текст, то всем так удобно? Спросите рекламистов и маркетологов. Первое, что человек прочитает среди списка из 5 и более ссылок (в том же поисковике) будет: Руинтел, Румикрософт и Руждава... Приглядываться никто не будет. У adobe.com еще ничего - хоть полные названия.
спустя 18 минут [обр] Сергей Круглов(10/2057)[досье]
Наверное, дяденьки из Sun Microsystems маркетологов уже спросили?
http://www.sun.com/worldwide/
спустя 11 минут [обр] Эдуард Суров(2/264)[досье]
Евгений Морозов[досье], а вы сами-то уже спросили рекламистов и маркетологов? И сколько их было, и что они ответили? Или единственный рекламист и маркетолог, участвовавший в опросе - это вы сам? Это не наезд, просто действительно интересно авторитетное мнение по этому вопросу.
спустя 1 час 6 минут [обр] LookeR(13/1069)[досье]
Сергей Круглов[досье]
Они, наверное, еще и деньги посчитали... могли ведь и о региональных доменах подумать (выкупать, судиться и т.д.). :-)
спустя 3 минуты [обр] Евгений Морозов[досье]
Эдуард Суров[досье]
Подобное часто встречается в книгах авторитетных людей. Это касается не в частности web, но в большей степени брендинга вообще. Постараюсь найти мнения о web.
спустя 2 минуты [обр] Евгений Морозов[досье]

LookeR[досье]
Скорее всего это их и вынудило сделать именно так.

Кстати встретилось: /about.en.php Если сайт интересует - поищу в истории.

спустя 40 минут [обр] LookeR(13/1069)[досье]

Возможно, что-то пропустил выше, но автор хотел мнений... вот моё.

Давайте говорить минимум о трех категориях:

  1. Способных быстро, осмысленно, ассоциативно запомнить доменное имя (разобрав его "по косточкам", типа www-нафик, зона - com, транскрипция названия с соответствующими нюансами, либо четкое английское написание и т.п.). Способных кроме всего прочего, "догадаться", что это не e-mail, или что на какой-то стадии вёрстки в имя закралась ошибка...
  2. Способных быстро запомнить название проекта и название продукта, дабы воспроизвести его в поисковой системе.
  3. Способных с трудом написать название домена на бумажке и четко, без паразитных символов вроде пробелов, подчеркиваний и запятых.

Т.о. имя домена большой роли не играет. Запомнить jp.nekto.ru :-) может только первая категория - технари и опытные пользователи. Остальным - всё что написано в адресной строке - галиматья.
Если сервис используют часто - его заносят в букмарки. Какие там потом строки?
Да, мне было удобно, например, на мелкософте писать: http://microsoft.com/hardware/mouse/ дабы побыстрее добраться до драйверов мышей и нужно это было крайне редко, так что проще написать, чем найти в застарелых закладках. ТО теперь я обнаружил, что ссылочка приобрела вид http://www.microsoft.com/hardware/downloads/ и т.д. кстати там уже сочетание keyboardandmouse появилось. Теперь мне прощу в букмарки занести.

Берём windowsupdate... замечательный продукт, но кто его просит загружать русскую версию сайта для английских виндов с русскими региональными установками??? В чем логика?
А Гугл? Чего это он мне русскую страничку грузит по-умолчанию, которое я не настраивал? Мне лень с этим разбираться...
Ну и еще пример с куками... зайду я с итальянского интернет-кафе на свою росейский сайт... не дай бог этот сайт будет грузиться на языке отличном от русского. А ведь шанс есть... особенно если на него уже заходил итальянец.

К чему я всё это:

  1. Правильно понять доменное имя - удел избранных (префиксы, суффиксы и т.д.)
  2. Анализировать адресные строки запросов - аналогично.
  3. Втихомолочку решать что-то за пользователя - гаденько...
  4. Запомнить, что что-то надо поправить в адресной строке - дико.
  5. Заставлять пользователя "искать концы", там где всё всегда было просто и прозрачно - издевательство.

Субъективный итог:
Всё что нужно - надо писать в доменном имени, либо в ближайших 2-3 символах после... но учитывать, что обратный слэш тоже не все способны воспроизвести правильно. Все возможности переключения функций (и в частности языка) должны быть доступны через интерфейс сайта. Надеяться, что кто-то кроме профессионалов будет анализировать запросы - глупо.

P.S. Не надо пытаться меня разубеждать... мнение - есть мнение. Если в чем-то заблуждаюсь - время и пользователь рассудитят.

спустя 1 минуту [обр] LookeR(13/1069)[досье]
Категории пользователей инета, конечно... :-(
спустя 18 минут [обр] Давид Мзареулян(1/1003)[досье]
LookeR[досье] Один только момент по поводу «надо писать в доменном имени, либо в ближайших 2-3 символах после». Для большинства людей (даже из тех, кто знает, что такое доменное имя), домен, не начинающийся с www. — это не домен. Так что с доменами высшего уровня надо быть аккуратным — всегда есть вероятность, что либо вначале пририсуют www., либо пририсуют его сразу после домена 2-го уровня.
спустя 13 минут [обр] LookeR(13/1069)[досье]
Давид Мзареулян[досье]
Реально с "пририсовками" не сталкивался... Хотя... Рядовой пользователь, как правило, либо пишет адрес в запросе поисковой системы, либо правит адресную строку, стараясь сохранить: http://www.
Да, наверное, при такой правке могут "родить уродца" и похлеще...
Если ЦА включает таких пользователей, то точно не надо надеяться на их способность проанализировать адресную строку или найти в новом супер-пупер-гениальном месте "суперобновленный" интерфейс выбора языка.
спустя 35 минут [обр] Евгений Морозов[досье]

LookeR[досье]
Ваш пост действительно полезен. Мнение есть мнение. Больше бы именно таких постов.

К Вам только два вопроса:

  1. Если ссылок много на странице и представлены они именно URI (поисковые сайты, каталоги, секция "Ссылки" в какой-либо статье). Что Вы думаете об этом случае?
  2. http://microsoft.com/hardware/mouse/ - закладки это выход конечно, но ссылка и текущая умрет. Это плохая тенденция в любом случае.

Давид Мзареулян[досье]
С www Вы абсолютно правы - с этой точки зрения: www.en.example.com - неприятное сочетание.

спустя 9 минут [обр] Иван Шумков(3/77)[досье]

Сейчас я столкнулся с похожей задачей:
Есть сайт geometria.ru ЦА, которого - тусовщики Петербурга. На первой странице сайта - рекламная обложка. Свою деятельность потехоньку переносим на Москву и часть матерьяла 30% уже для Московских пользователей. Решено было делить сайт на Москву и Питер, дабы делить контент и умножить вдвое рекламные места (ну и по другим соображениям).

Решение:
На geometria.ru по базе сетей определять откуда пользователь.
Если Москва или Питер - редирект их на msk.geometria.ru и spb.geometria.ru. Если что-то другое то вывести рекламную обложку с выбором города.

спустя 19 минут [обр] Евгений Морозов[досье]

Иван Шумков[досье]
Прекрасное решение. Локаль уже есть - ru, а msk и spb - деление по географии. А, скажем, "moscow" вместо "msc" будет не лучше?

LookeR[досье]
"Правильно понять доменное имя - удел избранных (префиксы, суффиксы и т.д.)" - так вот Вы сами и сказали, не совсем явно правда. Т.е. для рядового пользователя (не избранного) www.microsoft.com и ru.microsoft.com - мало сравнимые адреса. И причина - плохая способность дробить это самое имя.

спустя 1 час 26 минут [обр] Иван Шумков(3/77)[досье]
Евгений Морозов[досье]
Сокращение Москвы - msk. Я думаю не лучше. Быстрее набрать и запомнить три буквы, чем шесть. К тому же если писать Москву полностью, тогда и Питер тоже (saintpetersburg.geometria.ru ?).
спустя 15 минут [обр] Евгений Морозов[досье]
Иван Шумков[досье] Для Питера spb - де-факто. Я там живу. moscow не значительно длиннее.
спустя 37 минут [обр] Давид Мзареулян(1/1003)[досье]
Интересно, а какой TCP/IP-порт соответствует Питеру?
спустя 55 минут [обр] Евгений Морозов[досье]
Давид Мзареулян[досье] Для www стандарт 80. :)
спустя 13 часов [обр] LookeR(13/1069)[досье]

Евгений Морозов[досье]
Не совсем понял вашу фразу:

так вот Вы сами и сказали, не совсем явно правда.

Попробую "ответить" на вторую часть:

для рядового пользователя (не избранного) www.microsoft.com и ru.microsoft.com - мало сравнимые адреса. И причина - плохая способность дробить это самое имя.

Причина скорее не в неспособности дробить, а в первую очередь - неспособности понять (нежелании, непонимании необходимости), что есть что в имени, ссылке, запросе. Поэтому для многих это не просто мало сравнимые адреса - это абсолютно разные адреса (что, пожалуй, верно, но отчасти...).
При этом, ftp.microsoft.com и ru.microsoft.com - будут у него, наверное, в одном ряду. ;-)

далее:

Если ссылок много на странице и представлены они именно URI

И? Есть ссылка - ткнул и порядок! Чего голову-то забивать?
Ссылку же должен сопровождать текст? Или это просто набор URI и посетителю предлагается игра "Найди отличия в ссылках и выбери единственно верную"?
Список же из одних URI - просчет (недоработкаб, брак) WEB-разработчика и дизайнера.

http://microsoft.com/hardware/mouse/ - закладки это выход конечно, но ссылка и текущая умрет. Это плохая тенденция в любом случае.

Опять вопрос к разработчику. Всех ссылок, конечно, не сохранить, но если делалась интуитивно-понятная адресация на разделы - при переделке сайта - это должно было учитываться. Правда, я думаю, что таких пользователей не много, поэтому их привычкой (вскормленой разработчиком) можно принебречь.
При этом, если говорить об отмирании ссылки, то ссылка на каталог - более живуча, нежели ссылка с "запросными данными", ИМХО. Ну и доменные имена - еще более постоянны.

Иван Шумков[досье]
А как-же Relkom и их региональные домены? ;-)
geometria.spb.ru
geometria.msk.ru

спустя 1 час 42 минуты [обр] Иван Шумков(3/77)[досье]
LookeR[досье]
Думаете так будет лучше чем spb.geometria.ru ? Особой разницы не вижу. Если "читать домен" то получается: Питерская геометрия.
А если "читать" регионаьлные домен то получается: Геометрия, Питер.
спустя 1 час 9 минут [обр] Евгений Морозов[досье]

LookeR[досье]
Практически Вы правы. Если Вас в целом интересует теория, как, положим, архитектора информационных систем, то Вы и другие участники беседы могут идти на www.w3.org и там получат много философского "флуда" в разделе http://www.w3.org/DesignIssues/Overview.html и иже с ним. Это совсем неглупая информация для интересующихся людей.

Иван Шумков[досье]
Насчет читаемости fully-qualified domain name. На самом деле, я думаю никто не обращал внимания, оно [имя] читаемо только для Евреев, Арабов и всех народов, чья письменность справа-налево. Я думаю никто не будет спорить, что система доменных имен - иерархия по определению. Мы с Вами пишем слева-направо и читаем также. Поэтому все иерархии для нас слева-направо. Т.е. ".ru.xpoint/forums/thread/32512.xhtml" (точку можно опускать) Не расценивайте это за попытку попрать устои, это просто к слову. (Почитайте про United States Of Жmerinca в "Ководстве" А. Лебедева)

спустя 17 минут [обр] LookeR(13/1069)[досье]

Иван Шумков[досье]
Иван есть домены и они известны многим ("сторожилам инета" точно).
Забыли их неоправданно, нмвз.
Конечно, проще сделать домен третьего уровня из своего второго уровня, чем регистрировать "региональный" и быть кому-то обязанным (Релкому в частности).
Вопрос "Как лучше?" бессмыслен, нмвз.
Как (сколько) денег вложите - так и раскрутится.
А если на проект попадают только с поисковых систем (и ссылок с других сайтов), то доменное имя не играет никакой роли.

Что касается моего восприятия, то я начинаю запоминать ссылки с конца (хотя проще записать или даже диктануть на плеер или телефон, а можно и сфотографировать).
Сначала - зону: ру, ит, ком, инфо или биз и т.п.
Потом - "сайт провайдера" или доменную составляющую второго уровня.
Ну, и кусок, который говорит о "названии проекта", т.е. составляющую третьего уровня.
Языковые "примочки" и пр. белиберду я не запоминаю - не нужно мне это. Я их просто отсекаю. Ибо грамотный проект отдаст контент и без выбора языка. А с безграмотным - лучше не связываться.

спустя 54 минуты [обр] Иван Шумков(3/77)[досье]
Большинство сайтов предоставляющие (процентов 95) выбор по городам используют именно субдомен. Я думаю потом что:
  • домен domen.spb.ru смотрится не очень серьезно (он бесплатный насколько я знаю)
  • если в проект добавляется еще один город?
спустя 12 минут [обр] LookeR(13/1069)[досье]

Что-то мы отклоняемся от языков...

Вообще, позиция "по городам" немного абсурдна.
Но и тут у релкома есть запас... :-)
http://www.relcom.ru/Services/Whois/ (там можно посмотреть обслуживаемые домены)

Хотя, если городов очень много - проще уж по регионам.
Как делают сотовые операторы (и Мегафон в частности)..

Да и персональную настройку первой страницы под конкретного пользователя никто не запрещал.
И опять всё упирается в раскрутку имени...
Через инет - любое безобразие.
В реале - думаем о целевой аудитории, может быть регистрируем несколько синонимов и анализируем статистику...

спустя 4 часа 9 минут [обр] Евгений Морозов[досье]

Модератор, а можно перенести тему в Интернет::Теория. Мне кажется, что тема скорее туда относится. Остальные поддержат? Это было ошибочно: помещать эту тему в юзабилити.

LookeR[досье]
Ваш способ восприятия подтвердил мою мысль: иерархия воспринимается слева-направо. (даже если написано наоборот)

Иван Шумков[досье]
Ваш выбор зависит от Вашей способности предсказать дальнейшее развитие на данном этапе (выборе домена). Задайтесь вопросом: какие варианты сайта могут появиться еще в ближайшие 10 лет. Ваша задача - придумать такое имя, чтобы ссылки на Ваш сайт не рухнули через 1-2 года (когда Вы вдруг решите его поменять). Это настоятельно рекомендуется (не мной, а w3c).

Если Вы остаетесь в России, то ru. без сомнений.
Если целите в международный вариант - лучше сразу использовать com (или любой не локализованный домен).
В русском домене ничто не мешает использовать и субдомены, и региональные домены. Именно в Вашем случае, пожалуй, субдомены лучше, поскольку дают свободу (в рамках России).

Вообще говоря, домены первого уровня ru, us, uk etc - никак не относятся к языку представленной информации (где-то выше я ляпнул обратное), а представляют СТРАНЫ. Т.е. это обозначение говорит о том, что сайт находится в зоне какой либо страны. Регистрировать российский сайт в зоне, к примеру, Уругвая - дурной тон (если нет веских оснований). Плохо, что подобное не ограничивают.

спустя 3 дня [обр] Алексей Волков, он же «Росомаха из Флориды»(17/468)[досье]
сообщение промодерировано

М Что касается юзабилити, то после сообщения Идентификатор языка отображения в запросе (304011) был разведён беспорядок.

Ко всем аргументам за „направление иерархии“, „неочевидные сокращения языков, городов“ и прочим абстрактным тезисам можно отнестись с пониманием, но не более того.

  1. Пользователи давно уже привыкли к формату интернет-адресов такому, как он есть. Причём, во всём его многообразии. Поэтому судить о том, что пользователи видят, что они понимают, а что нет без результатов конкретных исследований не стоит.
  2. Наличие языка в строке адреса упрощает ссылки и закладки, и потому делать его проще именно там.
  3. Не использовать субдомены можно только в том случае, если это невозможно технически. Во всех остальных случаях двузначный код языка — достаточный индикатор, необходимый, если на сайте есть несколько языков.
спустя 5 дней [обр] Старынин Валерий(0/57)[досье]

Делаю многоязыковой сайт. Что, если сделать так:

  1. языки - в каталогах
  2. в одном месте (файле, таблице) задается список языков, один из которых - главный (первый или специально отмеченный)
  3. в другом месте выстраивается виртуальное дерево ресурсов сайта для каждого языка
  4. при простом заходе на сайт - редирект на каталог с первым языком.
  5. на каждой странице - ссылки на другие языки

Мне не понятно:

  1. ссылки на другие языки ставить на индексы или на версию этой страницы (если она есть) (и как задавать соответствие страниц)
  2. если есть нелокализуемые ресурсы (форум, к примеру), то в других языках просто делать редирект на одну версию?
  3. нормально ли все это?
спустя 3 часа 2 минуты [обр] Евгений Морозов[досье]

Старынин Валерий[досье]

  1. Ваш выбор, по общему мнению участников данного обсуждения каталоги - хороший вариант.
  2. собственно зависят от Вас, как программиста.
  1. Распространенный нынче вариант. Субъективно: мне не нравится. Лучше минималистичный splash с возможностью выбора языка. Где-то в форуме обсуждали, как лучше его оформить.
  1. Зависит от Вас. Можно ссылаться только на корни разных версий, а можно на версии страниц на других языках (разумеется доступных). По-моему логичен второй вариант.

Из непонятного:

  1. Насчет индексов см. 4 выше. Соответствие... Ну при разных деревьях это, скажем, дополнительная таблица со связями между листьями Ваших деревьев. Например два поля: share_id и leaf_id - то, что share - id для множественной связи, а второе - id одного из полюсов связи.
  1. Разделение нелокализуемых ресурсов (при их пользовании разноязычными пользователями) вообще отдельный разговор. Мне кажется, что в качестве кодировки стоит брать utf-8, так хотя бы отображаться будет без проблем у всех.
  1. Ну а чем же нет?
спустя 27 минут [обр] Давид Мзареулян(1/1003)[досье]
Ну при чём тут utf-8…:(
спустя 1 час 59 минут [обр] Евгений Морозов[досье]
Давид Мзареулян[досье]
Хорошо. Назовите хоть один набор символов, в котором есть значки для европейских, азиатских и других языков одновременно. Я думаю, что любой сразу скажет - UNICODE.
спустя 12 минут [обр] Эдуард Суров(2/264)[досье]
Евгений Морозов[досье], при чем тут набор символов? В какой бы кодировке не была страница, всегда есть возможность отобразить "чужой" символ при помощи сущностей (entity). Что и делает любой уважающий себя XSLT-процессор, к примеру. Я не собираюсь умалять достоинств замечательной кодировки UTF-8, но ее применение вообще никаким образом не связано с обсуждаемой темой.
спустя 5 часов [обр] Евгений Морозов[досье]
Эдуард Суров[досье]
Вот и мне непонятно, почему Давид прицепился к utf-8. Я имел ввиду, что если ресурс нелокализуется, а его могут юзать очень разные пользователи (по локалям), то использовать лучше UNICODE, чтобы никого не ущемлять кривым отображением. А уж в каком виде представлены символы UNICODE - это выбор разработчика.
спустя 9 часов [обр] Старынин Валерий(0/57)[досье]
Евгений Морозов[досье]
А как установить взаимосвязи документов в разных языках? По именам или принудительно линковать?
спустя 2 часа 14 минут [обр] Евгений Морозов[досье]
Старынин Валерий[досье], это offtopic. Либо открывайте новую тему в другом форуме (где-то в первых постах была ссылка на подобную тему), либо пишите лично мне.
спустя 24 дня [обр] Даниэль Алиевский(0/125)[досье]

Уж очень много в теме, сложно все внимательно прочитать. Тем не менее, раз была просьба высказывать мнения, пожалуйста.

  1. Страницы на разных языках - это разные документы, а не разные представления, и у них должен быть разный URL. Даже если не говорить о роботах, то вполне вероятна ситуация, когда ни один из языков не является для посетителя родным, и посетителю могут быть интересны все языковые варианты. Или потому, что не понятное в одном языке становится более понятным в другом. Или потому, что используется автопереводчик, и попытка перевести с нескольких языков дает возможность получить более ясные результаты.
  1. Более того, мне пока не попадались сайты с действительно идентичным содержанием на разных языках (может быть, в силу недостатка опыта). Редко имеет смысл абсолютно все дословно переводить на все поддерживаемые языки. Все же, как правило, разные языки - еще и разные целевые аудитории.
  1. Лично я предпочитаю делать версии документа "рядом", не создавая никаких подкаталогов (неважно, виртуальных или настоящих) и не передавая параметров после ?. Например: about.htm (базовая английская версия), about.ru.htm (русская версия). Для сайта, ориентированного на Россию, возможно, сделал бы наоборот: about.htm и about.en.htm. При этом сразу отпадает вопрос, где хранить файлы, общие для всех версий (скажем, css, картинки, скрипты).

Варианты вроде en.pupkin.ru/about.htm мне кажутся несколько идиотскими ("английский Пупкин русский"), pupkin.ru/en/about.htm - чуть менее идиотскими ("русский Пупкин, английский раздел"). Понятно, что пользователь на адрес смотрит редко, а все равно неприятно, когда адрес нельзя зачитать и не услышать при этом ерунды.

google.com и google.ru (и для прочих стран) - неплохой вариант, если это действительно разные сайты, ориентированные на разные страны и адаптированные к ним. В случае Google у меня это вызывает сомнения. Сайты нашей компании, ориентированные на Россию и на Америку, оба находятся в домене .com (что вполне корректно - они коммерческие), но имеют разные имена и разное содержание.

  1. Всякие автоматические определения языка клиента или запоминание языка в кукисах мне представляются плохими решениями. Почему это, если я знаю несколько языков, меня лишают права выбора? Мне несложно набрать google.ru, если я хочу русскую версию (и запомнить это в закладках). А вот если я посылаю кому-нибудь адрес google.com, мне хочется быть уверенным, что этот некто увидит то же, что и я.
спустя 3 дня [обр] Tony(1/52)[досье]

Даниэль Алиевский[досье]
Не цепляйтесь к реализации. Вы часто говорите про подкаталоги. Вот у меня файловая система не отображает структуру сайта и говорить о подкаталогах абсурдно.

Одна единица информации на разных языках — это как раз разные представления одной информации, а не разные документы. Так же, как версия для печати — это другое представление информации.
Например, я делаю так: en.example.com, print.en.example.com, de.example.com, ru.example.com.
А часть URL типа /news/2005/jul/56/ — это не что иное, как путь к страницы (к логической странице, а не к "папочке").

спустя 7 часов [обр] Дмитрий Попов(1/509)[досье]

Я вот прочитал тему. Сначала до конца. Внимательно.
А теперь мааааленький вопрос:
Господа, а чего Вы вообще обсуждаете?

Язык передавать в URL надо. Просто по любому. Для того что бы можно было ссылаться, для того, что бы можно было проиндексировать, для однозначности документов.
С этим вроде уже никто не спорит. (Если кто спорит - я даже спорить не буду (= ).
Передавать его как субдомен, директорию или параметр. Скажите, неужели это действительно такая большая проблема, что бы разводить флейм на 10 листов A4?

Кому-то нравится ru.domain.com. Кому-то domain.com/ru/. Кому то domain.com/?lang=ru

  • сли спорить поповоду варианта c GET-параметром - то тут спор вообще никак не касается языков.

Это очередной флейм на тему ЧПУ, коего все уже зачитались.

  • Разница между ru.domain и domain/ru минимальна. Как для пользователя, так и для разработчика.

Безусловно, если сайты разных языков абсолютно разные, разумнее пихать их в разные домены (возможно даже зоны), если похоже - то нет особой разницы.

  • domain/document/ru - выглядит красиво, при однозначно идентичной структуре сайта для разных языков.

В противном случае такой вариант - полный бред.

Но еще раз: Любой из этих вариантов приемлем для своих случаев. И нет хорошего, нет плохого. Есть разные.

P.S. Чего-то понесло меня. Хотел сказать просто "Господа, чего Вы обсужадете" )
P.S.S. Единственное решение, которое я считаю довольно некрасивым, я сам применил года 3 назад, это http://www.altec.ru/ru/ Это уже тафтология какая-то. И я считаю некрасивым. Все-таки в домене .ru Русский язык должен быть по дефолту. ИМХо.

спустя 1 день 11 часов [обр] Даниэль Алиевский(0/125)[досье]
Дмитрий Попов[досье] Можте быть, вы правы. Но для чего ж тогда вы внимательно читали весь трэд, коли считаете его флэймом? ;-) Зацепило, наверно?
спустя 4 часа 49 минут [обр] Дмитрий Попов(1/509)[досье]
Даниэль Алиевский[досье]
Просто я обожаю флейм читать )
спустя 7 часов [обр] Сергей Круглов(10/2057)[досье]
- Вас мучают эротические сны?
- Ну почему же мучают?...
Powered by POEM™ Engine Copyright © 2002-2005