Warning! This translation is too out of date, please see the original.

데비안 웹 사이트를 원하는 언어로 보는 방법


분명히 세상 모든 사람이 같은 언어를 사용하는 것은 아닙니다. 웹이 성장함에 따라 여러 언어로 작성된 페이지를 찾는 것이 더욱 일반적인 일이 되고 있습니다. 이를 위해 내용 협상(content negotiation)이라는 표준이 도입됐습니다. 이 표준은 사용자가 자신이 원하는 언어로 문서를 볼 수 있게 합니다. 실제 버전은 사용자의 브라우저와 서버 사이에서 협상(negotiation)을 거쳐 전달됩니다. 브라우저는 환경 설정을 보내고 서버는 환경 설정에 따라 어떤 버전을 보내고 보낼 수 있는 어떤 버전이 있는지 결정합니다.

(페이지 밑에 나열된 번역에서) 다른 언어를 선택한다는 것은 그 언어로 된 현재 페이지만을 보여준다는 점에 주의해야 합니다. 그렇게 해도 기본 언어는 바뀌지 않습니다. 다른 페이지 링크를 누른다면 원래 언어로 다시 보일 것입니다. 기본 언어를 바꾸려면 다음에 설명한 대로 브라우저 설정에서 언어를 바꿔야 합니다.


데비안 웹 페이지가 잘못 된 언어로 보이면 어떻게 해야 하나

데비안 웹 서버로부터 문서를 잘못 된 언어로 받게 되는 첫 번째 이유이자 가장 일반적인 이유는 브라우저가 적절하게 설정되지 않았기 때문입니다. 이 문제를 고치는 방법에 관해서는 언어 설정법 섹션을 보기 바랍니다.

두 번째 이유는 망가지거나 잘못 설정된 캐시 때문입니다. 점점 더 많은 ISP에서 캐싱을 네트워크 트래픽을 줄이는 방법으로 보기 때문에 이 문제가 점점 늘어나고 있습니다. 캐싱을 사용하지 않는 것 같더라도 웹 서버 캐싱에 관한 노트를 읽어보기 바랍니다.

세 번째 이유는 www.debian.org 문제입니다. 지난 몇 년 동안 보고된 잘못 된 페이지 문제 중 일부만이 www.debian.org 쪽의 문제입니다. 따라서 우리에게 연락하기 전에 앞의 두 가지 문제 원인을 먼저 조사해 볼 것을 제안합니다. http://www.debian.org/는 동작하지만 미러 중 하나가 동작하지 않는 것을 발견한다면 미러 관리자에게 연락할 수 있게 우리에게 알려주기 바랍니다.

이 문제들을 고치고 나서 페이지를 다시 보기 전에 브라우저에서 로컬 캐시(디스크와 메모리)를 지울 것을 제안합니다. 테스트시 lynx를 사용해 보는 것도 좋습니다. 우리가 아는 한 lynx는 내용 협상에 대한 HTTP 명세를 100% 따르는 유일한 브라우저입니다.

프록시 서버의 잠재적 문제

프록시 서버는 본질적으로는 자신만의 컨텐츠를 가지고 있지 않은 웹 서버입니다. 프록시 서버는 사용자와 실제 웹 서버 사이에 위치합니다. 프록시 서버는 웹 페이지 요청을 중간에 낚아채서(grab) 페이지를 가져옵니다(fetch). 그리고 나서 페이지를 여러분에게 전달하고 이후의 요청에 대비해 캐시된 로컬 복사본을 만듭니다. 이 과정은 많은 사용자가 같은 페이지를 요청할 때 네트워크 트래픽을 실제로 줄여줄 수 있습니다.

이것은 대부분의 경우에 훌륭한 아이디어지만 캐시에 버그가 있을 때는 그렇지 못합니다. 특히 몇몇 오래 된 프록시 서버는 내용 협상을 이해하지 못합니다. 이것은 나중에 서로 다른 언어를 요청해도 한 언어로 된 페이지만 캐시하고 그 페이지만을 전달하는 문제를 야기합니다. 유일한 해결 방법은 캐싱 소프트웨어를 업그레이드하거나 교체하는 것입니다.

역사적으로 사용자들이 브라우저가 프록시 서버를 사용하도록 설정했을 때만 프록시 서버를 사용했습니다. 그러나 이제는 더 이상 그렇지 않습니다. 아마도 여러분의 ISP는 모든 HTTP 요청을 투명 프록시로 향하게 할 것입니다(redirect). 프록시가 내용 협상을 적절히 처리하지 못하면 사용자는 잘못 된 언어로 된 캐시 페이지를 받을 수 있습니다. 이 문제를 고치는 유일한 방법은 ISP에 그들의 소프트웨어를 업그레이드하거나 교체하다록 항의하는 것입니다.


언어 설정법

자신이 사용하는 언어를 자신이 좋아하는 순서에 따라 설정해야 합니다. 영어('en')를 백업으로(목록의 마지막에) 추가하는 것이 좋습니다. 데비안 웹 페이지의 원래 언어는 영어로 되어 있고 모든 문서가 여러분이 좋아하는 언어(들)로 번역되어 있지는 않기 때문입니다.

예를 들어 자신이 한국어 원어민이라면 언어 변수에 한국어(언어 코드 'ko')를 첫 번째로 포함하게 하고 영어(언어 코드 'en')를 그 다음에 오게 할 수 있습니다.

특정 브라우저에서 언어를 설정하는 정확한 방법은 다음에 나오는 내용을 참고하세요.

대부분의 브라우저는 선호하는 언어 정의에 대한 세부 사항을 숨기는 사용자 인터페이스를 제공할 것입니다. 그렇지 않다면 이전 단락에서 이야기한 중요한 단순화(simplification)에 주의하기 바랍니다. 'fr, en'과 같이 단순히 언어의 목록을 지정한다고 하더라도 이것이 선호도를 지정한 것은 아닙니다. 같은 순위의 옵션이고 서버가 그 순서를 무시할 수도 있습니다. 진짜 선호도를 지정하고 싶다면 "quality values"를 사용해야 합니다. 이 수치는 0과 1 사이의 부동 소수점으로 더 높은 값이 더 높은 선호도를 나타냅니다. 따라서 앞의 경우에는 'fr; q=1.0, en; q=0.5'과 같은 것을 사용해야 할 것입니다.

한 가지 주의할 점은 언어의 하위 분류를 사용하는 것입니다. 예를 들어 'en-GB, fr'을 사용하면 대부분의 사람들(HTTP 명세를 아직 읽지 못했다면)이 기대하는 것과는 다르게 작동할 것입니다.

특별한 이유가 없다면 언어에 국가 확장자(extension)를 붙이지 않기를 강하게 권고합니다.. 확장자를 추가한다면 반드시 확장자 없는 언어 코드도 포함시켜야 합니다.

설명: 'en-GB, fr'로 언어가 설정된 문서에 대한 요청을 받은 서버는 영어('en')판을 제공하지 못하고 프랑스어판을 처리합니다. 'en-gb'라는 언어 확장이 있는 파일이 존재해야지만 프랑스어 문서보다 먼저 영어 문서를 제공할 것입니다.

따라서 브라우저가 'en-GB, en, fr'를 보내도록 설정하거나 단순하게 'en, fr'을 보내도록 설정해야 합니다. 그런데 이렇게 하면 'en'을 요청했을 때 서버가 'en-us'를 보낼 수도 있습니다.

원하는 언어 변수 설정에 대한 더 자세한 정보는 내용 협상에 관한 아파치 문서를 보세요.

브라우저별 설정 변경 방법

브라우저에서 기본 언어를 설정하려면 웹 서버에 전달되는 변수를 설정해야 합니다. 구체적인 방법이 사용하는 브라우저에 따라 다릅니다.

모질라(Mozilla) / 넷스케이프(Netscape) 4.x 와 이후 버전
     Edit -> Preferences -> Navigator -> Languages
주의: Netscape 4.x에서는 메뉴에서 제공하는 언어를 반드시 선택해야 합니다. 많은 사람들이 손으로 직접 언어를 입력해서 문제가 발생했다는 보고를 했습니다.
모질라 파이어폭스(Mozilla Firefox)
버전 0.9와 그 이후 버전:
리눅스:
     Edit -> Preferences -> General -> Languages
윈도우:
     Tools -> Options -> General -> Languages

1.5 이상 버전:
리눅스:
     편집 -> 설정 -> 고급 -> 일반 -> 언어 편집
윈도우:
     도구 -> 옵션 -> 고급 -> 일반 -> 언어 편집
그 이전 버전은 about:config로 이동해서 intl.accept_languages의 값을 바꿔야 합니다.
인터넷 익스플로러(Internet Explorer)
윈도우:
     Tools 또는 View 또는 Extras -> Internet Options -> (General) Languages
Mac OS:
     Edit -> Preferences -> Web Browser -> Language/Fonts
포켓 인터넷 익스플로러
     HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International\에 AcceptLanguage라는 문자열
     레지스트리 키를 만들고 그 값은
 fr; q=1.0, en; q=0.5(따옴표 없이)로 합니다..
오페라(Opera)
대부분의 버전:
     File -> Preferences -> Languages
리눅스/*BSD 버전 5.x와 6.x:
     File -> Preferences -> Document -> Languages
노키아 770 웹 브라우저: /home/user/.opera/opera.ini 파일을 편집해 다음 줄을 [Adv User Prefs] 섹션에 추가한다.
     HTTP Accept Language=fr;q=1.0,en;q=0.5
Galeon
     Settings -> Preferences -> Rendering -> Languages
Epiphany
     편집 -> 기본 설정 -> 언어 -> 언어
Konqueror
한 가지 언어만을 설정하고 싶다면 #358459 버그가 고쳐지는 대로 매우 쉽게 할 수 있습니다. KDE 제어판에서 선택하고 변경을 적용하기 위해 KDE 세션을 다시 시작하기만 하면 됩니다.
여러 언어를 설정하거나 앞서 언급한 버그를 피해가고 싶다면 ~/.kde/share/config/kio_httprc 파일에 다음 라인을 포함하도록 편집합니다.
     Languages=ko;q=1.0, en;q=0.5
lynx
.lynxrc에서 preferred_language 변수를 편집하거나 lynx를 실행할 때 '0' 명령을 사용해 설정할 수 있습니다.

예를 들어 .lynxrc에서 다음과 같은 행을 사용하면 됩니다.

preferred_language=fr; q=1.0, en; q=0.5
W3 (emacs 기반 웹 브라우저)
(setq url-mime-language-string  "preferred_language=fr; q=1.0, en; q=0.5")
또는 커스텀 패키지를 사용합니다(assuming URL version p4.0pre.14):
Hypermedia -> URL -> Mime -> Mime Language String...
iCab
     Edit -> Preferences -> Browser -> Fonts,Languages
W3M
     Options (o) -> Other Behavior -> Accept-Language
사파리(Safari)
사파리는 원하는 언어를 선택하기 위해 Mac OS X 시스템 환경설정을 사용합니다.
    시스템 환경설정 -> 다국어 -> 언어
ELinks
기본 인터페이스 언어를 설정할 수 있습니다.
    Setup -> Language
이렇게 하면 웹 사이트로부터 요청되는 언어를 바꿀 수 있습니다. You can change this behaviour and fine-tune the accepted languages HTTP variable at:
    Setup -> Options manager -> Protocols -> HTTP
넷스케이프 3.x(Netscape 3.x)
다음을 ~/.Xresources나 넷스케이프 app-defaults 파일에 추가합니다.
     *httpAcceptLanguage: [preferred_language string]
IBrowse
Preferences->Settings->Network에서 "Accept language"를 보면 기본값으로 "*"가 보일 것입니다. "Locale" 버튼을 눌러 원하는 언어를 추가하거나 직접 입력할 수 있습니다. 그 후 "OK"를 누르세요.
Voyager
Settings->Languages에서 직접 입력하거나 "Get from locale"을 클릭하세요. "OK"를 누르면 됩니다.

지금까지 설명하지 않은 브라우저 설정에 대한 정보가 있다면 debian-www@lists.debian.org로 메일 보내주세요.