Каковы лучшие практики для мультиязычных сайтов? - PullRequest
13 голосов
/ 28 января 2009

Я хочу создать многоязычный сайт, чтобы все или почти все страницы были доступны в 2 или более переводах. Каковы лучшие практики для подражания?

Например, я рассматриваю следующие механизмы выбора языка:

  1. Выбор предпочтительного языка на основе файлов cookie.
  2. На основе заголовка Accept-Language, если cookie не установлен.
  3. На основании GeoIP в противном случае (вероятно).

Есть что-нибудь еще?

Как должны обслуживаться разные переводы?

  1. как LANG.example.com/page
  2. как example.com/LANG/page
  3. как example.com/page?hl=LANG
  4. ...
  5. любой из вышеперечисленных с перенаправлением на example.com/page? (Кажется, обескуражен )

Как обеспечить правильную индексацию всех переводов?

  1. Достаточно ли файлов Sitemap со всеми страницами + правильный заголовок Content-Language?

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

  1. список доступных языков в верхнем / нижнем колонтитуле / боковой панели (например, в Википедии)
  2. поставить рядом с содержанием селектор «Выберите язык»

Как лучше всего работать с отсутствующими / устаревшими переводами?

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

Что еще я должен принять во внимание? Что я должен делать, а что определенно не должен?

Ответы [ 3 ]

5 голосов
/ 28 января 2009

В дополнение к ответам @ Quassnoi убедитесь, что вы используете стандартные идентификаторы языка RFC 4646 (например, EN-US, DE-AT); Вы, возможно, уже знаете об этом. Проект CLDR является отличным хранилищем данных интернационализации (дополнительные данные действительно полезны).

Если перевод определенной страницы недоступен, используйте механизм возврата к нейтральному языку; например "DE-AT", "DE", "" (нейтральный, например, "EN").

Большинство современных браузеров и базовых операционных систем будут правильно отображать все символы, необходимые для списка селектора языка, если страница закодирована правильно (я рекомендую все страницы в формате UTF-8). Убедитесь, что список языковых стандартов содержит имена как родного, так и текущего языка, чтобы позволить как носителям, так и не носителям языка просматривать указанные переводы, например, «Deutsch (German)», если текущая локаль EN- *.

Многие сайты используют значок флага, чтобы показать текущую локаль, но это больше относится к местоположению, и некоторые люди могут быть оскорблены, если вы показываете только доминирующий флаг (например, флаг США или Великобритании для английского языка).

Может быть целесообразно иметь более видимый (полуграфический) селектор языкового стандарта на домашней странице, если файл cookie языкового стандарта не был отправлен, используя сочетание GeoIP и Accept-Language для определения выбора языкового стандарта по умолчанию.

Полусвязанный: если ваши пользователи находятся в разных часовых поясах, включите настройку зоны в свой профиль учетной записи для отображения значений времени по местному времени. И сохраняйте все метки времени, используя UTC.

4 голосов
/ 28 января 2009
  1. Выбор на основе файлов cookie предпочитаемый язык.
  2. На основе заголовка Accept-Language, если cookie не установлен.

Эти два вы должны поддержать.

Поместите большой английский баннер в верхней части страницы, на котором написано Эта страница на английском языке .

как пример.com/LANG/page

Это лучший выбор.

LANG.example.com не подходит для автозаполнения, а вопросительные знаки выглядят некрасиво.

список доступных языков в верхнем / нижнем колонтитуле / на боковой панели (например, в Википедии)

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

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

показать старый перевод с предупреждением

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

4 голосов
/ 28 января 2009

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

...