i18next is a powerful tool that nicely handles many aspects of i18n: it handles namepsaces, multiple languages with fallbacks, interpolation, pluralization, nested translations, missing tanslations ...
fallbackLng: { 'de-CH': ['fr', 'it', 'en'], 'de': ['fr', 'en'], 'zh-Hans': ['zh-Hant', 'en'], 'zh-Hant': ['zh-Hans', 'en'], 'default': ['en'] } my package.json looks ...