forLanguage
The bundled hyphenator for a BCP 47 language tag ("de", "de-DE", "fr_FR", "sr-Latn", "el-polyton", ...), or null when no bundled set covers the language. Callers decide what a null means; EPUB layout leaves such a language unhyphenated (#615).
The primary subtag picks the language. The rest of the tag picks among its sets where hyph-utf8 has more than one (RFC 5646, 2.2): the region picks British English for the countries that spell that way, the variant 1901 the traditional German spelling (the Swiss one in Switzerland and Liechtenstein), polyton polytonic Greek, and the script Latin or Cyrillic Serbian. Serbian, Bosnian and Serbo-Croatian with no script get both alphabets, since their sets share no letter. Private-use subtags pick the sets that hyph-utf8 names with them (la-x-classic, la-x-liturgic, fi-x-school).
Instances are shared and built on first use: only the sets a document asks for are read.