I banged on Locale::Maketext and I18N::LangTags today. I basically just added two or three lines of new code to Locale::Maketext's language negotiation code (courtesy Autrijus Tang, who set me straight about the environment variables and their priorities); and then I decided that the negotiation code was generally useful (not just useful to Locale::Maketext), so I moved it all off into a new module I18N::LangTags::Detect. No big whoop.
I'm reading more of Voltaire's Bastards . It's straaaange.