웹 사이트는 현지화 설정을 어떻게 처리해야합니까? (“일반적인 UI 오해와 성가심은 무엇입니까?”)

StackOverflow https://stackoverflow.com/questions/1016709

문제

나는 이것을 원본 게시물.

SO (개발자 인)에있는 많은 사람들이 현지화를 얻지 못한다는 것을 보는 것은 흥미 롭습니다. 다음은 어떻게 작동 해야하는지에 대한 제가 생각합니다.

사용자의 문화 환경 설정을 볼 때 내가 본 모든 브라우저 (및 .NET 개발자에게도)에서는 다음 형식 인 언어 문화입니다.

그래서 우리는 다음과 같습니다.

  • EN -GB- 영어 - 영국 문화
  • EN -US- 영어 - 미국 문화
  • en- 영어 - 변하지 않는 문화.
  • FR-FR-프랑스어-프랑스 문화
  • FR-Ch-프랑스어-스위스 문화
  • DE-CH-독일어-스위스 문화
  • De-de-독일어-독일 문화

보다 MSDN .NET 프레임 워크가 지원하는 전체 목록.

웹 사이트로 이동하면 EN 부분에서 영어를 원한다는 것을 알고 있으며 영국에 기울어 진 (번호 형식, 날짜 형식)에 관심이 있다는 것이 관심이 있다는 것을 알고 있습니다. 그래서 Google.com으로 가서 Google.de (내 IP 주소로 인해)로 이동하면 Google.de가 영어로 모든 것을 표시하지만 Google.de가 독일어로 표시되기 때문에 완전히 잘못된 경우 완전히 괜찮습니다. IP 주소를 거의 제어 할 수 없지만 언어 및 문화 설정을 완전히 제어합니다. 관심이 있다면 Microsoft의 새로운 검색 엔진 (bing.com)이 제대로 처리합니다. Microsoft가 검색을 수행하는 방법을 배울 수 있고 Google 또는 Google이 Microsoft뿐만 아니라 현지화하는 법을 배울 수 있기를 바랍니다.)

MSDN 자세한 내용은 여기에 또 다른 좋은 기사가 있습니다

그렇다면 사이트가 지역화를 어떻게 처리 해야하는지에 대한 권장 사항은 무엇입니까?

도움이 되었습니까?

해결책

여기의 해결책은 매우 간단합니다. Dev가 다른 일을하는 것은 성가신 일입니다.

  1. 브라우저 설정을 존중하십시오. 그것이 영어라고 말하면 하나님에 의해 영어입니다.

  2. 절대적으로해야한다면 상단에 버튼을 추가하여 다른 것을 선택하십시오. 그런 다음 브라우저를 무시합니까?

  3. 당신이 당신의 길이 더 좋다고 생각한다면. 그만, 누군가 당신을 때리게하십시오. 그렇지 않습니다. 필요에 따라 반복하십시오.

  4. 누군가의 나라를 요구하는 웹 스플래시 페이지를 제거하십시오. 브라우저 기본값을 기준으로 일반 페이지를 표시하고 위의 항목 2를 참조하십시오. 나는 그것이 실제로 중요한 사이트에 들어 가지 않았다. 업데이트: 몇 년 후, 이제 이것을 할 이유가 있습니다. 2013 년 영국은 웹 사이트 운영자가 해당 국가의 방문객에게 페이지를 제공하는 해당 국가를 기반으로 한 사이트를 존중 해야하는 쿠키를 둘러싼 정책을 제정했습니다. 따라서 주최 한 국가의 법률에주의하십시오.

  5. 여러 국가의 여러 서버에서 실제로 제공되는 사이트가있는 경우 서버 중 하나가 실제로 제공되는 서버 중 하나를 감지 할 수 있습니다. 당신이 할 수 없다면, 그냥 방향 광기를 멈추고 그들을 위해 결정을 내리지 마십시오.

다른 팁

HTTP 허용 언어 헤더를 포함하여 이에 제한되지 않는 현지화 설정을 사용할 수있는 경우 웹 사이트는 절대적으로 존중해야합니다.

이에 대한 일반적인 주장은 "평균 사용자"가 언어 설정을 찾고 자신의 선호도에 맞게 구성 할만 큼 똑똑하지 않다는 것입니다. 따라서 이러한 설정은 종종 잘못된 것보다 더 자주 발생하지 않는 경우 (사용자가 우리를).

그것은 잘못된 해결책입니다.

사용자 모집단의 상당한 부분을 찾을 수 없거나 찾기 위해 귀찮게 할 수없는 경우, 올바른 응답은 다음과 같습니다. 쉽게 찾을 수 있도록하십시오, 사이트가 설정 한 내용을 무시하는 것이 아닙니다. 아마도 과도하게 복잡한 "환경 설정"대화 상자에 묻지 않고 프로그램의 최상위 메뉴에서 언어 설정에 직접 액세스 할 수 있습니다. 아마도 프로그램이 처음 실행될 때 언어 환경 설정을 요청할 수 있습니다. 아마도 운영 체제의 현지화 설정을 사용하십시오. 또는 브라우저가 사용자의 선호도에 대한 올바른 정보를 보낼 것임을 거의 확실하게 확인하는 데 필요한 경우 완전히 다른 것일 수도 있습니다. 그러나 손을 던지지 말고 "쓸모없고 고칠 수 없습니다!"라고 말하고 무시하십시오.

다른 답변은 사용자가 사이트의 프로필에서 언어 나 로케일을 선택할 수있게하는 것에 대한 이야기를했는데, 이는 또한 중요하고 절대적으로 표준이어야하지만 이는 사용자의 일반 설정에 사이트 별 재정의를 제공하는 것입니다. 그러나 사용자가 사이트에서이를 재정의하지 않은 경우, 올바른 조치는 브라우저 설정에 지정된대로 가장 많이 선호되는 언어/로케일로 기본적으로 IP 주소의 지리적 위치를 기반으로하지 않도록하는 것입니다.

경력의 어느 시점에서, 나는 TCP/IP 스택의 일부를 유지했다. 그것은 IP 주소가 네트워크 계층 주소 이외의 다른 방법으로 사용해서는 안된다는 것을 잘 아는 다소 드문 위치에 있습니다. IP 주소와 위치 간의 연관성은 모두 우연의 일치입니다. 이는 IP 주소가 의미하는 바의 기본 부분이 아니라 주소가 배포되는 방식의 인공물입니다.

(그들은 또한 컴퓨터의 고유 식별자로 유용하지 않지만 다른 이야기입니다)

지리적 위치를 남겨 두는 것이 좋습니다. HTTP 표준에는 브라우저 또는 다른 사용자 에이전트가 각 요청에 사용자 문화 환경 설정을 포함시키는 방법이 포함되어 있습니다 (그리고 반드시 하나의 문화 일뿐 만 아니라 가중 선호도 목록임을 기억하십시오). 브라우저는 사용자보다 사용자와 더 가깝기 때문에 적어도 기본값 으로이 요청을 존중해야합니다.

그런 다음 사용자가 일시적으로 또는 영구적으로 사이트에 대한 선호도를 변경하도록 허용해도됩니다. 사용자가 다른 문화 설정으로 다른 컨텐츠를 볼 수 있도록해도 괜찮습니다. 거친 예는 정치 뉴스와 기술 정보를 모두 포함하는 사이트입니다. 누군가가 "자연적인"언어로 뉴스를 원하지만 영어로 된 기술 정보를 원할 것이라는 것은 매우 합리적입니다.

마지막으로, 폴백 패턴을 갖는 것은 괜찮습니다. 예를 들어, 해당 지역 (예 : 리셀러)을 기반으로 사용자에게 서비스를 제공하는 사이트가있는 경우 일본 콘텐츠가 아시아 지역 하위 사이트에만 존재할 수 있습니다. EMEA 사이트를 방문하는 일본어를 사용하는 사용자는 영어 콘텐츠를보고 갇혀있을 수 있습니다. 이는 그의 마지막 선택 일 수 있습니다.

내가 만든 사이트에서 나는 보통이 패턴을 따릅니다.

  • 각 페이지에는 어딘가에 언어가있는 고유 한 URL이 있습니다. /en/page 또는 다른 (서브) 도메인
  • 사용자가 지정되지 않은 언어로 URL을 열면 /page 나는 추측하기 시작한다 :
    • 이전 세션의 쿠키를 사용할 수 있습니까?
    • 그렇지 않다면 Accept-Language 사용 가능하며 사이트에서 사용할 수있는 언어에 매핑 할 수 있습니까?
    • 그렇지 않다면 가능성이 있다면 IP로 추측 할 수 있습니까?
    • 그렇지 않은 경우 사이트의 기본 언어에 대한 기본값.
  • 추측 된 언어로 쿠키를 설정하고 사용자를 적절한 URL로 사이트로 리디렉션합니다.
  • 모든 페이지에 언어 스위치를 넣었으므로 /en/page 쉽게 전환 할 수 있습니다 /xx/page
    • 사용자가 다른 페이지로 전환하면 쿠키가 업데이트됩니다.

이상적으로는 한 번만 추측해야합니다. 그때부터 사용자의 쿠키를 사용하거나 사용자가 원하는 페이지를 직접 방문합니다.

동의합니다. 사용자에게 앱에서 사용자 환경 설정을 무시할 수있는 기회를 제공합니다. 이것은 브라우저 설정에서 도출 할 수없는 TimeZone 현지화 문제와 같은 것들에 특히 편리합니다.

나는 무례한 것으로 간주 될 위험이 있지만 내 생각은 이 주제에 대해 게시하십시오 내 게시물이 실제로 질문이기 때문에 더 유익한 답변이있을 것입니다. 전에 그 게시물을 찾지 못했지만 미안합니다.

스마트 기본값과 사용자가이를 무시할 수있는 능력에는 차이가 있습니다. 내가 작업 한 대형 앱에서는 브라우저 설정, 지리적 위치 등에서 사용자의 로케일을 가정했지만 항상 사용자에게 쉽게 전환 할 수있는 방법을 제공했습니다.

나는 또 다른 방법을 모른다. 사용자가 귀하의 가정을 수정할 수있는 기회를주지 않으면 시간이 잘못되기 때문에 매우 문제가됩니다.

덧셈:

여기서 문제는 로케일 설정을 편집 할 수 있지만 기본적으로 기본적으로 동일하게 보이는 경우 응용 프로그램 개발자가 의도적으로 맡겼는지 또는 방법을 모르기 때문에 응용 프로그램 개발자가 알 수있는 방법이 없다는 것입니다. 또는 왜 변경 해야하는지.

사용자의 현지화 설정을 존중하는 것이 좋습니다. 제외하고 설정이 압도적 인 기본값 인 경우 사용자는 변경하지 않을 수 있습니다. 예를 들어, 나는 사용자의 대다수 (90+%)가 en-us 베트남에서 지리적으로 설정하는 것은 지역을 전환하는 사소한 방법이있는 한 미국 영어 콘텐츠가 아닌 베트남 콘텐츠를 보면 거의 항상 더 나은 서비스를 제공 할 것입니다. 반대로, 미국에 지리적 인 사용자가 베트남인 환경을 가지고 있다면, 반드시 베트남의 내용을 제공합니다.

이것은 베트남의 미국 영어 사용자에게 짜증이납니다. 확신하는. 그러나 그것은 또한 가장 큰 숫자에 가장 큰 좋은 것이며, 평균 비 기술적 사용자가 최고의 실제 경험을 얻을 수 있도록 도와줍니다. 우리는 사용자의 머리에 총을 들고 컴퓨터를 켜기 전에 언어/문화 선호도를 정직하게 선언하도록 강요 할 때까지 이와 같은 휴리스틱이 필요합니다.

고객으로부터 조사했을 때 사용자 중 한 명이 브라우저의 문화 설정이 잘못되었음을 알 수있는 강력한 버그 보고서를 보았습니다. 이제 고객이 구성 설정으로 브라우저를 무시할 수 있습니다. 브라우저의 문화 설정은 종종 잘못되기 때문에 그다지 유용하지 않습니다. 대부분의 최종 사용자가 그것을 찾거나 변경하기에는 너무 어렵습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top