Generated by GPT-5-mini| RFC 5646 | |
|---|---|
| Title | RFC 5646 |
| Author | Mark Davis, Paul Hoffman |
| Published | 2009-09 |
| Series | IETF RFC |
| Pages | 44 |
| Url | RFC 5646 |
RFC 5646
RFC 5646 is an Internet Engineering Task Force (IETF) specification that defines language tags for identifying human languages in Internet protocols and applications. It updates and consolidates prior work to provide a formal syntax, subtags, and matching algorithms used across standards such as HTTP, XML, and MIME. The document is closely associated with other standards efforts and organizations involved in language identification, localization, and internationalization.
RFC 5646 builds on earlier standards and bodies of work, including efforts by the Internet Engineering Task Force IETF, the Unicode Consortium Unicode, the ISO technical committees ISO/TC 37, ISO 639, and standards from W3C such as HTML5 and XML 1.0. It responds to needs voiced by projects like ICU and organizations such as IETF Internationalization Working Group and the W3C Internationalization Activity to harmonize language tagging practices used by Apache HTTP Server, Mozilla Firefox, Google, and Microsoft. Influenced by prior RFCs and standards including RFC 3066 and RFC 4646, the specification aims to improve interoperability among implementations like PostgreSQL, MySQL, Apache CouchDB, and internationalized services provided by Facebook, Twitter, and Apple.
The syntax in RFC 5646 is a variant of BCP 47 tagging derived from earlier standards produced by IETF working groups and informed by coding systems such as ISO 639-1, ISO 639-2, ISO 639-3, ISO 15924, and ISO 3166-1 alpha-2. Tags are sequences of subtags separated by hyphens, with formal grammar similar to ABNF used by IETF specifications authored by contributors affiliated with IETF,IETF Working Group efforts and implementers from Mozilla Foundation and Microsoft Corporation. The definition determines canonicalization, case conventions, and extensions referenced by standards adopted by vendors including IBM, Oracle Corporation, and Adobe Systems.
RFC 5646 specifies registration and use of primary language subtags drawn from repositories like ISO 639-1 and ISO 639-3, script subtags from ISO 15924, region subtags from ISO 3166-1 alpha-2 and UN M.49, and variant and extension subtags influenced by work from IETF Language Tagging Working Group and projects such as gettext and CLDR developed by the Unicode Consortium. Private-use subtags and extensions are provided for interoperability with implementations used by Mozilla, Google Chrome, Safari, and enterprise systems from Red Hat and Microsoft Azure.
The document includes algorithms for lookup and matching, designed to be compatible with matching mechanisms used in HTTP/1.1 Accept-Language processing implemented by Apache HTTP Server and language negotiation techniques documented by W3C. Implementations in libraries such as ICU, glibc, and Boost apply the fallback and filtering rules specified in the RFC. These algorithms influence behavior in applications like KDE, GNOME, Android, and server platforms run by Amazon Web Services and Google Cloud Platform.
RFC 5646 relies on maintained registries and governance by bodies such as the IANA and coordination with standards organizations like ISO and the Unicode Consortium. Registration procedures reference the role of editors and experts from institutions including MIT, Stanford University, University of Cambridge, and consortia including W3C and IETF working groups. Policy and change management align with processes used by IANA and community contributions from corporations such as IBM, Microsoft, Google, and volunteer projects like Wikipedia.
Language tags per RFC 5646 are widely used in web technologies including HTML5, CSS, JSON-LD, and protocol headers like HTTP/1.1 Accept-Language and SMTP. They support localization workflows in tools such as gettext, content management systems like WordPress and Drupal, and cloud platforms from Amazon Web Services and Google Cloud Platform. End-user applications benefiting from these tags include Mozilla Firefox, Google Chrome, Microsoft Edge, LibreOffice, and mobile platforms like Android and iOS. Enterprise deployments in SAP, Salesforce, and multilingual publishing by organizations such as UNESCO and European Commission also leverage these tags.
RFC 5646 itself focuses on syntax and matching and notes that language tags can influence privacy and fingerprinting risks when combined with other identifiers in requests processed by HTTP/1.1 servers, content delivery networks like Akamai, and analytics platforms used by Google Analytics. Implementers such as Mozilla Foundation and Apple are advised to consider implications similar to those discussed in protocols by IETF working groups addressing privacy and security. Operations teams at providers including Cloudflare and Amazon Web Services should evaluate disclosure risks when exposing language preferences linked to profiles managed by Facebook or Twitter.
Category:Internet Standards