How can synonyms be defined to allow loading babel with, e.g., \usepackage[nl-NL,en-GB]{babel} rather than \usepackage[dutch,english]{babel}?

• What do you want that for? Babel works fine as specified. – erreka Jun 3 '15 at 19:26
• @Lusr56 I imagine it would make integration with I18N applications a little more straightforward. – Sean Allred Jun 3 '15 at 20:23
• @SeanAllred What we need then may be a whole rewrite of babel, renaming all internal language codes to conform to RFC-5646. – erreka Jun 3 '15 at 21:37
• @Lusr56 I hear the maintainer accepts patches ;) – Sean Allred Jun 3 '15 at 22:25

Just create a proxy file. For example, for Dutch the file would be nl-NL.ldf and its contents

\def\CurrentOption{dutch}
\input{dutch.ldf}


For en-GB.ldf it would be:

\def\CurrentOption{british}
\input{english.ldf}


But the language names, as set in \selectlanguage and the like, are still dutch and british, respectively.

• So, again, what's the gain? – erreka Jun 3 '15 at 20:09
• @Lusr56 I've edited the answer to show this case. – Javier Bezos Jun 4 '15 at 6:47
• I removed my objection and edited the answer to make it complete and explicit. – erreka Jun 4 '15 at 17:31