Web-сайт Debian на разных языках


Разумеется, не все в мире используют один и тот же язык. С ростом web становится обычным попадание на страницы, доступные на нескольких языках. Поэтому введён стандарт под названием content negotiation — согласование содержания, который позволяет установить язык(и), на которых вы предпочитаете получать документы. Получаемая вами версия документа согласована между браузером и сервером; Ваш браузер посылает свои предпочтения и сервер решает, какую версию послать, на основе ваших предпочтений и доступных версий документов.

Учтите, что выбор другого языка (из списка доступных переводов, перечисленных внизу страницы) лишь покажет текущую страницу в этом языке. Это не изменит язык, используемый по умолчанию. Если вы нажмёте на ссылку на другую страницу, она вновь будет показана на оригинальном языке. Чтобы изменить ваш язык по умолчанию, вам нужно сменить ваши языковые свойства в настройках вашего браузера, как объяснено ниже.


Что делать, если страницы отображаются не на том языке, который нужен.

Первая и наиболее распространённая причина того, что документ может быть получен с web-сервера Debian не на том языке, на котором нужен, это неправильная настройка браузера. Чтобы узнать, как это исправить, прочтите, пожалуйста, раздел "Как установить предпочтительный язык".

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

Третья возможная причина — это проблема с www.debian.org. Лишь несколько раз за последние годы проблемы с получением страниц на неправильном языке были с нашей стороны. Таким образом мы предлагаем в первую очередь проверить первые два варианта прежде, чем пытаться связаться с нами. Если вы обнаружите, что http://www.debian.org/ работает нормально, а не работает одно из зеркал - сообщите нам и мы сами свяжемся с сопровождающими этих зеркал.

После исправления любых проблем мы рекомендуем очистить кэш вашего браузера (как дисковый так и в памяти) прежде чем снова пытаться увидеть страницы. Мы также рекомендуем пользоваться для тестирования браузером lynx. Это единственный браузер, который на 100% соответствует спецификации HTTP по согласованию содержания.

Возможные проблемы с прокси-серверами

Прокси-серверы, это, в сущности, web-серверы, не имеющие собственного содержания. Они находятся между пользователями и реальными web-серверами. Они перехватывают ваши запросы на получение web-страниц и получают эти страницы. После этого они отправляют страницу вам, но кроме того, создают её локальную, кэшированную копию, для использования при последующих запросах. Это уменьшает сетевой трафик, когда много пользователей запрашивают одну и ту же страницу.

Как правило, использовать прокси удобно, но если кэш содержит ошибки, возникают неприятности. В частности, некоторые старые прокси-серверы не поддерживают согласование содержания. В результате этого, страница, сохранённая в кэше на одном языке, будет передана пользователю, даже если он запросил её на другом. Единственным решением является обновление или замена кэширующего ПО.

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


Как изменить настройки языка

Вы должны установить в качестве предпочтительных всех языки, на которых вы говорите, в порядке предпочтения. Стоит добавить английский язык ('en') в конец списка, поскольку изначально web-страницы Debian написаны по-английски, и на предпочтительный для вас язык (или языки) могут быть переведены не все документы.

Например, если вы носитель русского языка, вы можете установить соответствующую переменную так, чтобы первым шёл русский язык (код языка 'ru'), а за ним — английский (код языка 'en').

См. ниже подробные инструкции для конкретных браузеров.

Как вы можете видеть, большинство браузеров предоставляет какой-либо пользовательский интерфейс, скрывающий некоторые моменты задания предпочтительного языка. Если это не так, помните о том, что материал выше изложен несколько упрощённо. Если вы просто зададите список языков, например 'ru, en', вы не определите предпочтения, а присвоите этим вариантам равный ранг, и сервер может игнорировать их порядок. Если вы хотите определить приоритеты, следует использовать "значения предпочтительности" — вещественные значения в интервале от нуля до единицы. Большее значение означает большую предпочтительность. Таким образом, в вышеописанном случае, скорее всего, следует определить что-то вроде 'ru; q=1.0, en; q=0.5'.

Вам нужно обратить внимания на подкатегории языков. Например, 'ru-SU, en' будет делать не то, что ожидает большинство людей (если только они не читали спецификацию HTTP).

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

Объяснение: сервер, получивший запрос на документ с описанием предпочтительного языка 'ru-RU, en' не станет возвращать русскую ('ru') версию документа прежде, чем английскую. Он вернёт документ на русском языке прежде английского, только если существует версия файла с языковым расширением 'ru-ru'.

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

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

Установка предпочтительного языка в браузере

Чтобы установить язык по-умолчанию для Вашего браузера, Вам следует установить переменную, которая будет послана на web-сервер. Как это делается, зависит от используемого Вами браузера.

Mozilla / Netscape 4.x и более поздние версии
     Edit -> Preferences -> Navigator -> Languages
  
Замечание: в Netscape 4.x вы обязательно должны выбрать язык из списка возможных вариантов. Многие люди сообщали о проблемах, возникающих от того, что они ввели язык вручную.
Mozilla Firefox
Версия 3.0 и более поздние:
Linux:
     Edit -> Preferences -> General -> Languages -> Choose...
  
Windows:
     Tools -> Options -> General -> Languages -> Choose...
  
Mac OS:
     Firefox -> Preferences -> Content -> Languages -> Choose...
  

Версия 1.5 и более поздние:
Linux:
     Edit -> Preferences -> Advanced -> General -> Edit Languages
  
Windows:
     Tools -> Options -> Advanced -> General -> Edit Languages
  

Версия 0.9 и более поздние:
Linux:
     Edit -> Preferences -> General -> Languages
  
Windows:
     Tools -> Options -> General -> Languages
  
В более старых версиях нужно открыть страницу about:config и изменить значение intl.accept_languages.
Iceweasel
     Edit -> Preferences -> Content -> Languages -> Choose
  
Internet Explorer
Windows:
     Tools или View или Extras -> Internet Options -> (General) Languages
  
Mac OS:
     Edit -> Preferences -> Web Browser -> Language/Fonts
  
Pocket Internet Explorer
     Создайте в реестре в ветке
     HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International\
     строковый ключ AcceptLanguage со значением fr; q=1.0, en; q=0.5 (без кавычек).
  
Opera
Большая часть версий:
     File -> Preferences -> Languages
  
Linux/*BSD, версии 5.x and 6.x:
     File -> Preferences -> Document -> Languages
  
Nokia 770 Web Browser: Отредактируйте файл /home/user/.opera/opera.ini и добавьте в секцию [Adv User Prefs] такую строку:
     HTTP Accept Language=ru;q=1.0,en;q=0.5
  
Galeon
     Settings -> Preferences -> Rendering -> Languages
  
Epiphany
     Edit -> Preferences -> Language -> Languages
  
Konqueror
Если вы хотите задать только один язык, то после исправления ошибки #358459 это должно быть довольно просто, всего лишь выберите его в Центре Управления KDE и перезапустите сессию KDE для того, чтобы изменения вступили в силу.
Если вы хотите использовать несколько языков или хотите обойти упомянутую выше ошибку, отредактируйте файл ~/.kde/share/config/kio_httprc, включив в него такую строку:
     Languages=ru;q=1.0, en;q=0.5
  
lynx
Вы можете либо отредактировать переменную preferred_language в Вашем .lynxrc или установить её командой 'O' внутри lynx.

Например, в .lynxrc можно использовать следующую строку

     preferred_language=ru; q=1.0, en; q=0.5
  
W3 (браузер на основе emacs)
(setq url-mime-language-string  "preferred_language=ru; q=1.0, en; q=0.5")
или используя пользовательский пакет (имея в виду URL версия p4.0pre.14):
Hypermedia -> URL -> Mime -> Mime Language String...
iCab
     Edit -> Preferences -> Browser -> Fonts,Languages
  
W3M
     Options (o) -> Other Behavior -> Accept-Language
  
Safari
Safari использует для определения предпочтительного языка настройки системы Mac OS X:
    System preferences -> International -> Language
  
ELinks
Вы можете настроить язык интерфейса по умолчанию в меню:
    Setup -> Language
  
Тот же язык будет запрашиваться на web-сайтах. Изменить это поведение и тоньше подстроить принимаемые языки страниц можно в меню:
    Setup -> Options manager -> Protocols -> HTTP
  
Netscape 3.x
Добавьте строку
     *httpAcceptLanguage: [preferred_language string]
  
к файлу app-defaults Netscape или ~/.Xresources
IBrowse
Перейдите в Preferences, затем Settings, затем Network. Под Accept language вероятно, будет установлено "*" по умолчанию. Нажав кнопку "Locale", вы должны добавить предпочитаемый вами язык. Или вы можете ввести его вручную. Затем нажмите "OK".
Voyager
Зайдите в Settings, затем Languages. Вы можете ввести язык вручную или нажать на кнопку "Get from locale". Затем нажмите "OK".
Chromium
Customize and control Chromium -> Options -> Under the Hood -> Web content -> Change font and language settings -> Languages

Если у вас есть информацию о настройке браузера, не упомянутого выше, пожалуйста, сообщите об этом по адресу debian-www@lists.debian.org.