some i18n refactoring