IANA Language Subtag Registry
Visionary Software Solutions IANA Language Subtag Registry: the registry's records as types, and the RFC 5646 language tag composed from them
The records of the IANA Language Subtag Registry as types, and the RFC 5646 language tag composed from them. The module software.visionary.iana.language.subtag.registry depends on nothing but java.base.
@Tag(language = Spanish.class, region = Colombia.class) // es-CO| Package | Holds |
|---|---|
…registry | Tag, and what every record states: Registered, Subtag, LanguageCode, Comments |
…registry.type | a record's Type: Language, Extlang, Script, Region, Variant, Grandfathered, Redundant |
…registry.deprecation | Deprecated, and a whole tag's PreferredValue |
…registry.formation | where a subtag goes in a tag: Prefix, Prefixes, SuppressScript |
…registry.classification | Macrolanguage, Scope |
A registered subtag is a type implementing these: Chinese implements Language, Scope.Macrolanguage. The subtags themselves are iana-subtags', generated from the registry by generate-language-subtags.
Coordinates
software.visionary.iana.language.subtag.registry:iana-subtag-registry:2026.10.13
Why it is its own Gradle build
The Kompuwiz catalog requires static transitive the LEC API, which requires transitive this module. A module the catalog requires cannot be described by a catalog token, since javac rejects the cyclic dependence, so this module builds with Gradle and is listed in the catalog as an external token.
Build
./gradlew build publishToMavenLocalLicense
GPL-3.0-or-later. See COPYING.
Views
Drawn from the release. A link in a view opens its source at the release tag.