중국어 간체 및 중국어 번체의 언어 코드?


79

우리는 웹 사이트에 다국어 하위 사이트를 만들고 있습니다.

2 글자 언어 코드를 사용하고 싶습니다. 스페인어와 프랑스어는 쉽습니다. 다음과 같은 URL을 얻게됩니다.

mydomain.com/es
mydomain.com/fr

하지만 중국어 번체 및 간체에 문제가 있습니다. 이러한 언어에 사용할 2 자 코드에 대한 표준이 있습니까?

mydomain.com/zh
mydomain.com/?

2
스페인어와 프랑스어는 쉽지만 CLDR 데이터베이스에는 각각 26 개와 47 개 국가 별 변형이 나열되어 있습니다! 제공하는 리소스가 차이에 따라 얼마나 달라지는 지에 따라 다릅니다.
Patanjali

답변:


174

@dkarp는 훌륭한 일반적인 대답을 제공합니다. 중국어와 관련된 몇 가지 추가 사항을 추가하겠습니다.

중국어가 주요 문자 언어 인 여러 국가가 있습니다. 그들 사이의 가장 큰 차이점은 간체 또는 전통 문자를 사용하는지 여부이지만 지역적 차이 (어휘 등)도 약간 있습니다. 이들을 구별하는 표준 방법은 예 zh_CN를 들어 중국 본토, zh_SG싱가포르, zh_TW대만 또는 zh_HK홍콩의 경우 국가 코드를 사용하는 것 입니다.

중국 본토와 싱가포르는 모두 간체 문자를 사용하고 나머지는 전통 문자를 사용합니다. 중국과 대만 이후 가장 큰 인구를 가진 두 가지, 단지 zh_CNzh_TW종종 웹 사이트의 간체 및 번체 문자 버전을 구별하는 데 사용됩니다.

더 기술적으로 정확하지만, 일반적으로 실제로 사용하지 않는 , 그러나 사용하는 것 zh_HANS(일반) 중국어 간체 문자, 그리고 zh_HANT그것을 다른 나라를 구분하는 의미가 때 중국의 전통 문자, 드문 경우를 제외하고.


11
이것은 훌륭한 답변입니다. 잘 쓰여졌 고 대부분의 사람들이 아는 것이 아닐 수도 있습니다. 그리고 기술적으로 더 정확한 것 ( zh_HANS)과 일반적으로 사용되는 것 ( zh_CN) 사이에 좋은 선을 그립니다 . 두 용어에 대해 Google 검색을 수행 할 수 있습니다 zh_CN. 이는 에 찬성하는 7 대 1 차이 이며 솔직히 제가 예상했던 것보다 적습니다.
dkarp

11
사실 URL 의 차이 예상했던 것만 큼 큽니다. inurl:zh_CN4.3M 히트를 제공합니다. inurl:zh_HANS20K를 제공합니다. 그래도 정말 유익한 답변입니다.
dkarp

2
HANS와 HANT의 차이점은 CN과 TW보다 훨씬 덜 유용합니다. 그 차이는 문자보다 많지만 지역별로 사용하기 때문입니다. 예를 들어, 서브 루틴 은 중국 본토에서는 子程序으로 번역되지만 대만에서는 子 程式으로 번역됩니다. 이 예에서 문자는 중국어 간체와 번체에서 동일하지만 번역은 여전히 ​​달라야합니다.
Yongwei Wu

34

실제로 이것에 대한 표준 표현이 있습니다. 사람들이 당신이보고있는 것과 똑같은 문제 (같은 언어이지만 다른 방언이나 문자)에 부딪 혔기 때문에 그들은 두 글자 지역 코드로 두 글자 언어 코드를 확장했습니다. 따라서에 범용 프랑스어 페이지가있을 수 mydomain.com/fr있지만 캐나다 프랑스어 독자를 위해 국제화하면 mydomain.com/fr_CA(캐나다) 및 mydomain.com/fr_FR(프랑스) 가 남을 수 있습니다 . 일부 플랫폼에서는 밑줄 대신 대시를 사용하여 언어 및 지역 코드를 구분합니다 (따라서 fr-CAfr-FR).

중국어 간체의 표준 로케일은 zh_CN입니다. 중국어 번체의 표준 로케일은 zh_TW입니다.

실제 BCP 47 표준 문서는 세부 사항이 약간 무겁고 가독성에 약간의 가독성이 있기 때문에 주저합니다 . Java에서 사용하는 것과 같은 표준 로케일 식별자 를 사용 하면 괜찮습니다.


2

언어는 어디에서 사용되는지에 따라 다르므로 (doh!) 언어 및 로케일 코드는 그 현실을 반영합니다. zh기본 언어 코드가 있지만, 그것의 두 가지 주요 형태가 있기 때문에, 거기에 zh_Hanszh_Hant있지만, 그들은 여전히 유일한 언어 코드가 아닌 로케일입니다.

위치 별

완벽에 사용되는 언어를 지정하려면 특정 위치, 국가 코드는 여전히 만드는 접미사되어야 zh_Hans_HK하고 zh_Hant_HK, 홍콩에서 사용 양쪽으로 각각 간체 및 번체 중국어, 대한.

실제로 많은 국가에서 국가 코드보다 더 구체적인 것이 필요한 경우가 많지만 CLDR과 같은 데이터베이스의 복잡성 및 유지 관리와 IP 대 위치 세부 정보 추출과 같은 지원 인프라가 기하 급수적으로 증가 할 가능성이 있습니다. , 일반적으로 사용할 수 없거나 충분히 정확하지 않습니다.

고정 텍스트

이제 코드가 사용자 인터페이스에서 사용할 고정 문자열 집합을 지정하거나 사이트의 전체 페이지 집합을 지정하는 것이라면 언어가 여러 곳이 아닌 한 국가 접미사가 실제로 필요하지 않습니다. 완전히 별도의 리소스 세트를 생성하는 데 상당히 충분합니다 (위치 기반 정보).

리소스 세트가 클수록 로케일을 기반으로하는 언어 코드가 필요할 가능성이 높아집니다 [이 컨텍스트에서는 실제 로케일이 아니라 언어 속성 만 있으므로 원하는대로 호출 할 수 있습니다!]. 필요한 경우에만 그렇게하면됩니다.

즉석 가치

그러나 날짜, 시간, 통화 및 숫자와 같은 특정 변수 값을 즉석에서 포맷하려는 경우 이러한 기능을 지원하는 모든 도구 (예 : 유니 코드 CLDR 데이터 기반 도구)가이를 기대하기 때문에 로케일이 중요해집니다. 알려진 모든 로케일에 대한 리소스 세트를 만들고 광고 구역을 유지 하려는 경우가 아니라면 이러한 로케일은 사내 생성 UI 언어가 사용하도록 설정된 코드에 대한 별도의 설정 이어야합니다 .

브라우저 언어 도구

입력 상자에서와 같이 편집 할 수있는 웹 페이지의 로케일을 지정하고 필드에 대해 속성 또는 CSS의 맞춤법 검사가 활성화 된 경우 브라우저의 언어 도구는 해당 로케일에 따라 필드의 맞춤법을 검사합니다.

기준

리소스 세트가 제공하는 내용을 명확히해야하므로 다음을 고려하십시오.

  • 고정 문자열? 언어 만.
  • 즉시 포맷 하시겠습니까? 장소.
  • 보기 환경에서 맞춤법 검사? 장소.
  • 전체 페이지 / 하위 사이트? 언어 만, 그렇지 않으면 상당히 다른 콘텐츠가 필요한 경우 로케일 (언어 변형)입니다.

유지 관리 오버 헤드를 최소화하는 스프레드 시트

스프레드 시트를 사용하여 각 언어 코드에 부모 코드가있는 UI 문자열을 보관하므로 해당 버전의 문자열에 대한 셀에는 부모로부터 문자열을 가져 오는 수식이 있습니다. 해당 언어 및 문자열에 대한 사용자 지정 문자열을 만들려면 셀 수식을 정확한 텍스트로 덮어 씁니다. 이는 리소스 유지 관리의 양을 최소화합니다. 마지막에 각 언어에 대한 완전한 리소스 파일을 생성하는 매크로를 실행합니다.


내 생각은 프로그래밍 언어 (예 : Java) 또는 언어 일치 프레임 워크가 zh-hans_CN 유형 형식을 지원할 수 있는지 여부입니다. 그렇지 않은 경우 국가를 갖는 것은 Hans가 zh_CN, zh_SG에 대해 가정되고 Hant가 zh_TW, zh_HK에 대해 가정되는 것처럼 '스크립트'를 의미합니다. 따라서 스크립트 부분은 생략 할 수 있습니다. 대부분의 언어에 대해 en / fr / de / es가있는 것처럼 시스템에 국가 일치가 전혀없는 경우 .... 적어도 특정 언어에 대해 zh_hans / zh_hant 유형 형식이있을 수 있습니다 (Drupal은 대부분 이런 식으로 난 내 모바일 애플 리케이션) 내 드루팔 CMS의 API에 맞게이 정보를 보낼 수 있도록
armyofda12mnkeys
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.