EN·ZH로 줄이지 마라
이번 542편은 링크 레이블을 언어 코드로 축약해서 제공하지 않게 하라는 규칙입니다.

KRDS CP-422 — 링크 레이블을 언어 코드로 축약해서 제공하고 있지 않다.
0. 들어가며 — ‘EN’, ’KO’만 보이면
이번 542편은 링크 레이블을 언어 코드로 축약해서 제공하지 않게 하라는 규칙입니다.
언어 변경 링크를 — ‘EN’, ‘KO’, ‘ZH’ 같은 언어 코드로 줄여 표시하면, 그 코드를 모르는 사용자는 무슨 언어인지 모르죠. CP-422는 언어명을 코드로 축약하지 말라고 규정합니다. CP-421(해당 언어로 온전한 이름)의 짝이죠. 이번 편을 풀어냅니다.
1. 원문 — 언어 코드 축약 금지
CP-422 (컴포넌트 > 언어 변경) “링크 레이블을 언어 코드로 축약해서 제공하고 있지 않다.”
언어 변경 링크 레이블을 ‘EN’, ‘KO’ 같은 언어 코드로 줄여 표시하지 말라는 뜻입니다.
정리: 언어명을 코드(EN·KO 등)로 축약하지 마라. 이게 CP-422입니다.
2. 왜 코드 축약을 금지하나
언어 변경 링크를 — 공간을 아끼려고 언어 코드로 줄여 표시하는 경우가 있습니다:
영어 → EN, 한국어 → KO, 중국어 → ZH, 일본어 → JA
ISO 639 언어 코드를 쓴 거죠. 하지만 — 이렇게 코드로 축약하면 문제가 생깁니다. CP-422는 이를 금지합니다.
코드 축약의 문제:
일반 사용자가 모름 — ‘EN’, ‘KO’, ‘ZH’, ‘JA’ 같은 언어 코드는 — 개발자·전문가에겐 익숙해도, 일반 사용자 대부분은 모릅니다. 특히:
’ZH’가 중국어(Zhōngwén), ’JA’가 일본어(Japanese)인 걸 — 아는 사람이 드물죠.
외국인 사용자도 — 자기 언어 코드를 모를 수 있습니다(‘내 언어가 EN인가?’).
추측·혼란 — 코드를 보고 — ‘이게 무슨 언어지?’ 추측해야 합니다. ’KO’가 한국어(Korea/Korean)인지, ’EN’이 영어인지 헷갈리거나 모르죠. 언어를 못 찾습니다.
언어 변경의 목적 무색 CP-421에서 본 것처럼 언어 변경은 그 언어 사용자가 자기 언어를 찾게 하는 것인데, 코드로 축약하면 정작 그 사용자가 자기 언어를 못 알아보죠.
그래서 CP-422는 — 언어명을 코드로 축약하지 말라고 합니다. 대신 CP-421대로 — 해당 언어로 된 온전한 이름을 씁니다:
‘EN’ (X) → English (O)
‘KO’ (X) → 한국어 (O)
‘ZH’ (X) → 中文 (O)
‘JA’ (X) → 日本語 (O)
온전한 언어 이름(endonym)이면 — 그 언어 사용자가 한눈에 알아보죠. ’English’를 보면 영어 사용자가, ’中文’을 보면 중국어 사용자가 자기 언어를 찾습니다.
공간이 부족하면? 코드 축약의 이유가 ’공간 절약’인데 언어가 많아 공간이 부족하면, 코드로 줄이는 게 아니라 드롭다운을 씁니다(CP-420의 3개 이상 드롭다운). 드롭다운에 온전한 언어 이름을 목록으로 넣으면, 공간도 아끼고 이름도 온전하죠. 즉 공간 문제는 드롭다운으로 해결하지, 코드 축약으로 해결하지 않습니다.
코드는 lang 속성에만. 언어 코드(ISO 639)는 — 화면 레이블이 아니라, lang 속성(CP-426)에 씁니다. <a lang="en">English</a>처럼 — 코드는 프로그래밍적 표시(lang)에, 화면 레이블은 온전한 이름으로요. 코드의 자리는 lang 속성이지 화면 텍스트가 아니죠.
이 규칙은 언어 변경의 ‘레이블 명료성’을 담당합니다 — 언어명을 코드로 줄이지 않고 온전히 표기해(422), 사용자가 무슨 언어인지 한눈에 알게 하죠. CP-421(해당 언어 표기)과 함께 — ’English’·‘中文’ 같은 온전한 endonym을 보장합니다.
정리하면 — 언어 코드(EN·KO 등)는 일반 사용자가 몰라 무슨 언어인지 모르므로, 코드로 축약하지 말고 해당 언어로 된 온전한 이름을 쓰고 공간이 부족하면 드롭다운을 사용해야 합니다.
3. 점검 / 개선
무엇을 점검하나
코드 축약 없음 — 언어 레이블이 ‘EN’, ‘KO’ 같은 코드로 축약되지 않았는가.
온전한 이름 — ‘English’, ‘中文’ 같은 온전한 언어명(endonym)인가.
공간 해결 — 공간 부족 시 코드가 아닌 드롭다운(CP-420)으로 해결했는가.
개선 방향
‘EN’/‘KO’ 등 코드를 온전한 이름(English/한국어)으로 교체.
공간 부족은 드롭다운(CP-420). 코드는 lang 속성(CP-426)에만.
4. 누가 담당하나 / 우리 사이트에 해당될까?
| 역할 | 책임 |
|---|---|
| 콘텐츠/UX | 온전한 언어명 사용 |
| 퍼블리셔/개발 | 레이블 교체 구현 |
| 기관 유형 | CP-422 적용 |
|---|---|
| 중앙행정기관(대표·운영) / 공공기관 / 지자체 | ✅ 필수 (다국어 지원 시) |
다국어를 지원하는 사이트에 해당됩니다.
5. 30초 자가진단 + FAQ
✅ 30초 자가진단
□ 언어 레이블이 ‘EN’, ‘KO’ 같은 코드로 축약되지 않았나요?
□ ‘English’, ‘中文’ 같은 온전한 언어명(endonym)인가요?
□ 공간 부족 시 코드가 아닌 드롭다운으로 해결했나요?
❓ FAQ
Q1. ‘EN’, ’KO’가 깔끔하지 않나요? 깔끔해 보여도 일반 사용자 대부분이 코드를 모릅니다. ’ZH’가 중국어인 걸 아는 사람이 드물죠. 온전한 이름이 명확합니다. Q2. 공간이 부족하면 코드로 줄여야 하지 않나요? 공간은 드롭다운(CP-420)으로 해결합니다. 코드 축약이 아니라요. Q3. 언어 코드는 어디에 쓰나요? 화면 레이블이 아니라 lang 속성(CP-426)에 씁니다. 코드의 자리는 lang이죠.
6. 마무리
CP-422의 메시지:
EN·ZH로 줄이지 마라 — 언어명을 코드로 축약하지 말고 온전히 표기하라.
언어 코드(EN·KO)는 일반 사용자가 몰라 무슨 언어인지 모릅니다. 코드로 줄이지 말고 해당 언어로 된 온전한 이름을 쓰며 공간 부족은 드롭다운으로 해결하는 게 핵심이죠. 다음 편은 국가명 보조 정보입니다.
다음 편 예고 ▶ 「543. (CP-423) 사용자의 국적이나 접속 국가에 따라 제공되는 서비스나 정책이 달라지는 경우 링크에 국가명을 보조적인 정보로 제공하고 있다.」
ViewCheck는 언어명이 코드로 축약되지 않았는지를 진단합니다.
📚 참고 출처
KRDS 컴포넌트 — 언어 변경(Language switcher) 가이드 — https://www.krds.go.kr/html/site/component/component_42.html
KRDS #ViewCheck #공공웹사이트 #전자정부 #디지털정부 #웹접근성 #디자인시스템 #UIUX #UI컴포넌트 #웹표준
KRDS,ViewCheck,공공웹사이트,전자정부,디지털정부,웹접근성,디자인시스템,UIUX,UI컴포넌트,웹표준

관련 글
다음 호는 언제?
이번 846편은 간행물 자료의 발행 주기 정보를 본문의 부제목이나 별도 안내 영역에 제공하라는 규칙입니다. 그리고 이 편이 — 846 규칙 완전 분해 시리즈의 마지막 한 편입니다.
방대한 자료를 효율적으로
이번 845편은 목록에 필터링, 정렬 방식, 상세 검색(기간, 자료 유형 등) 기능을 제공하여 정보를 효과적으로 조회하라는 규칙입니다. [정책 자료 탐색] 서브섹션의 시작이죠.
적힌 대로 가야 한다
이번 844편은 모든 링크는 실행하였을 때, 링크 레이블에 명시된 적절한 화면으로 이동하라는 규칙입니다.
