ISO 639-1 defines Two-letter Codes standard for the Representation of Names of Languages. It has been (re-)confirmed in 2019, so, like Intel vulns, it is here to stay.
It defines the following codes for Haxe:
ab aa af ak sq am ar an hy as av ae ay az bm ba eu be bn bh bi bs br bg my ca ch ce ny zh cv kw co cr hr cs da dv nl en eo et ee fo fj fi fr ff gl ka de el gn gu ht ha he hz hi ho hu ia id ie ga ig ik io is it iu ja jv kl kn kr ks kk km ki rw ky kv kg ko ku kj la lb lg li ln lo lt lu lv gv mk mg ml mt mi mr mh mn na nv nb nd ne ng nn no ii nr oc oj cu om or os pa pi fa pl ps pt qu rm rn ro ru sa sc sd se sm sg sr gd sn si sk sl so st es su sw ss sv ta te tg th ti bo tk tl tn to tr ts tt tw ty ug uk ur uz ve vi vo wa cy wo fy xh yi yo za zh
And associates them to:
- an english language name , e.g. “Finnish”
- a nativeName , e.g. “suomi”,
- a rtf Bool (i.e. is it right-to-left language).
This class is @:pure , i.e. devoid of side-effects (see below).
See more on haxelib or GitHub - emugel/iso639-1: 2-letter language code standard iso639-1 class for Haxe
I won’t do this little dance everytime, but the first time one has to, right?!
By the way I am not sure if the class is really pure, as this is somewhat a new thing for me, so don’t hesitate to say if it isn’t so I can change the doc.