refactorization and add i18n
1.2.0