frontend i18n
refactor