HTML5 lang 속성의 언어 + 지역 값


11

language+region이 W3.org 페이지에 설명 된대로 접근 방식에 따라 현지화 된 콘텐츠를 제공하는 웹 사이트 (예 : fr-CA캐나다 프랑스어 콘텐츠 및 fr-FR"프랑스 프랑스어"콘텐츠)를 제공하고 있습니다. 각각의 콘텐츠는 language+region고유 한 것으로 간주 되므로 검색 엔진이 콘텐츠를 적절히 식별하고 제공하는 것이 중요합니다.

인터넷을 검색하면 (예 : 이 질문 ) 대부분의 사람들 이 콘텐츠 언어를 설명하기 위해 HTML 속성 에 ISO639 언어 코드 를 사용하는 것이 좋습니다 lang. 이 권장 사항에 <html lang="fr">따라 위에서 언급 한 language+region조합 간의 차별화를 가능하게하지 않는 사용을 시작했습니다 .

HTML4 사양을 검토 할 때 language+region언어 코드로 사용하는 것은 en-US예제가 하나의 가능한 값으로 주어지기 때문에 완벽하게 괜찮을 것 같습니다 . 그러나 가능한 허용 값에 ​​대한 예를 제공하지 않는 HTML5 사양 에서 이에 대한 확인을 찾을 수 없습니다 .

거기에서 나는 웹 거인들이 무엇을하고 있는지를 보면서 사실상의 대답을 얻으려고 노력했다. Facebook의 활동을 살펴 봤습니다. HTML lang값이 동일하게 유지되는 동안 (약간) 다른 콘텐츠로 웹 사이트의 Candian French 및 French French 버전을 제공합니다 .

fr-CA
URL : http://fr-ca.facebook.com
HTML lang 속성 : <html lang="fr">
단어 '이메일'의 번역 :courriel

fr-FR
URL : http://fr-fr.facebook.com/
HTML lang 속성 : <html lang="fr">
단어 'email'의 번역 :Adresse électronique

language+regionHTML5 의 접근 방식을 사용하여 지역화 된 콘텐츠를 설명하는 권장 / 표준 방법은 무엇입니까 ?

답변:


5

W3C는 언어 태그 / 서브 태그 선택에 관한 매우 긴 가이드 를 제공합니다 .

중요한 비트 :

언어 태그 구문은 IETF의 BCP 47에 의해 정의됩니다 . 과거에는 올바른 하위 태그를 찾기 위해 다양한 ISO 표준의 코드 목록을 참조 해야했지만 이제는 IANA 언어 하위 태그 레지스트리 만 살펴 봐야합니다 . 아래에 새로운 레지스트리를 설명하겠습니다.

이 기사에서는 언어 태그의 구성 요소를 선택하는 방법에 대한 조언을 제공합니다. BCP 47에 정의 된 개념에 대한 개요는 HTML 및 XML의 언어 태그를 참조하십시오 .

...

레지스트리를 검색하는 동안 Richard Ishida의 Language Subtag Lookup tool 과 같은 추가 도움말을 제공하는 도구가 있습니다 .

...

올바른 언어를 사용하십시오. 때로는 몇 가지 대안을 확인하는 것이 좋습니다. BCP47의 공동 저자 인 마크 데이비스 (Mark Davis)는 "언제 어떤 언어 식별자를 사용해야하는지 명확하지 않습니다. 예를 들어, 대부분의 사람들이 파키스탄에서 펀자 브어를 부르는 것은 실제로 코드 'lah', 공식적인 이름은 'Lahnda'입니다. 다른 언어에 동일한 이름이 사용되거나 사람들이 검색하는 이름이 IANA 레지스트리에없는 다른 경우 "

SIL Ethnologue 에서 언어 정보를 찾아 해당 정보를 Wikipedia 와 상호 참조 할 수 있습니다 . Ethnologue는 BCP47과 동일한 3 문자 코드를 사용하지만 코드 별로 언어를 찾으 려면 BCP47 2 문자 코드를 ISO 639-3 대응 코드로 변환 해야 합니다. ( 리차드 이시다의 도구 가 당신을 위해 이것을합니다.)

예를 들어, 많은 사람들이 동일한 언어로 간주 할 수있는 언어 코드가 서로 다른 경우는 거의 없습니다. 필리핀 및 타갈로그어 또는 Twi 및 Akan. 레지스트리에 사용해야 할 내용이 없지만 단일 응용 프로그램이나 컨텍스트 내에서 일관성을 유지하도록해야합니다.

(Emphasis mine.)

IANA 언어 서브 태그 레지스트리 는 사용하기 어렵다는 점에 유의해야합니다 . 와 같이 할아버지 태그를 제외 en-GB-oed하고 언어 패밀리 태그와 지역 / 변이 하위 태그를 별도로 찾아야합니다. 태그 / 하위 태그는 계층 구조가 아닌 유형별로 구성됩니다. 따라서 시간과 문제를 해결하고 Richard Ishida의 멋진 조회 도구를 사용하십시오 .


2

사용 <html lang="fr-FR">하고 <html lang="fr-CA">그들이 실제 내용에 해당하는 경우, 괜찮습니다. 그러나 검색 엔진에서는 그대로 무시합니다 <html lang="fr">.

HTML5는 언어 코드 사용을 변경한다는 의미는 아닙니다. BCP 47에 정의 된 코드 시스템과 그 확장 기능은 매우 정교하며 고통스러운 순간에 언어 변형을 지정할 수 있습니다. 최신 기술 수준은 훨씬 더 단순하고 fr-FR 및 fr-CA는 요즘 소프트웨어에서 달성 할 수있는 최고의 세분성을 나타냅니다. 종종 주요 코드 (여기서는 fr) 만 중요합니다.

검색 엔진이 lang속성 과 같은 언어 코드 선언에 실제로주의를 기울 였다는 증거는 없습니다 . 하이픈 넣기, 맞춤법 검사기, 음성 합성기 및 기본 글꼴 선택 알고리즘과 같은 다른 소프트웨어가 lang속성을 고려할 수 있습니다 . 그러나 검색 엔진은 실제 컨텐츠를 기반으로 휴리스틱 분석을 수행합니다.

lang속성을 신뢰하는 것보다 더 나은 결과를 생성하기 때문에이를 비난하기가 어렵습니다 . 예를 들어, 많은 제작 도구 lang="en"는 실제 내용에 관계없이 작성자에게 알리지 않고 자동으로 생성 합니다.


2

[이것은 나의 가장 강력한 영역이 아니기 때문에 여기서 문서를 인용하고 있지만, 당신이 간과 한 것 같습니다.]

HTML5의 사양이 필요 것으로 lang값이 유효 BCP 47 태그 . 이 문서에서 관련 비트는 섹션 3.4에있는 것 같습니다.

예를 들어, 구현시 확장 언어 범위를 기본 범위에 맵핑 할 수 있습니다. 또 다른 가능성은 구현이 ASCII 순서에서 첫 번째로 일치하는 태그를 리턴하는 것입니다. 언어 범위가 "* -CH"( 'CH'가 스위스를 나타냄)이고 태그 세트에 "de-CH"(스위스에서 사용되는 독일어), "fr-CH"(프랑스, 스위스) 및 "it"이 포함 된 경우 -CH "(이탈리아어, 스위스)이면"de-CH "태그가 반환됩니다.

... 보시면 기본적으로 RFC1766을 인용하는 HTML 4 사양에서 얻은 것입니다.


인용 한 단락을 찾는 데 어려움이 있습니다 (제공 한 링크 및 섹션 3.4에서 키워드를 검색하여 찾을 수 없음). 당신이 나에게 링크를 제공 할 수 있습니까? (가능하면 해시 태그를 사용하는 것이 이상적임).
Max

HTML 5 사양은 필요한 형식을 나타냅니다. 인용 된 비트는 실제로 정의 된 형식의 BCP 47 링크에서 가져온 것입니다.
Su '
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.