You may want to add a custom language that is derived from an existing language. It's useful if you want to adapt some translations to another instance of your application, or to a specific customer.
The structure of a custom language is:
existing language code +
custom text, where
custom text can only contain alphanumeric characters and
Custom languages can be added like any other language.
Fallbacks work as expected. It means that if the
en-microsoft.some_key is missing,
then it will fallback to
en.some_key. So you only need to translate keys that should
Note that fallback are chained, so
fr-BE-custom will fallback to
fr-BE that will
itself fallback to
Using GetText syntax, it will only fallback to the source language. So either you create a fallback mechanism by yourself or you avoid fallbacking by translating everything in Translation.io for that custom language.