Двобуквені або трибуквені мовні коди

Питання

Чи повинен я використовувати двобуквені або трибуквені мовні коди ISO в language тегах?

Інтернет і Мережа використовують language теги для визначення звичайної мови тексту в таких протоколах і форматах, як HTML, XHTML, XML, HTTP, та інші. В минулому значення language тега були визначені в RFC 3066 теги для Ідентифікації Мов (та його попереднику RFC 1766) і починався або із ISO 639-1 двобуквеного мовного коду або ISO 639-2 трибуквеного коду.

Для деяких мов в ISO кодах були як двобуквені так і трибуквені альтернативи. (І для деяких мов на вибір були тільки дві трибуквені альтернативи.) Люди іноді плутають який ISO код вони повинні використовувати в language тезі.

Відповідь

Доброю новиною є те, що вам більше не потрібно турбуватися про це питання!

Поточна специфікація IETF, яка описує як створити language теги називається BCP 47. Вас більше не відсилають до списків кодів ISO. Замість цього ви повинні дивитися на відповідні subtags в новому IANA Language Subtag Реєстрі. Цей реєстр містить в мові тільки один subtag, так що немає більше будь-яких двозначностей.

Хоча тепер потрібно дивитися в IANA Language Subtag Реєстр, а не списки кодів ISO, language теги, що ви використовували до цього часу не потрібно міняти (поки ви слідували правилу 'найкоротший код'). Це просто зміна способу доступу до них.

IANA Language Subtag Реєстр досі використовує, і відноситься до кодів із ISO стандартів, але ті, хто супроводжують реєстр повинні подбати про те, щоб був тільки один subtag для будь-якої мови: або двобуквений або трибуквений.

Для отримання додаткової інформації про те, як використовувати новий синтаксис language тега та реєстр дивіться статті Language Теги в HTML і XML та Вибір Language Тега.