refactoring + fallbacks for translations