use dependency injection to pass i18n instance around