refactoring design.
base code of i18n.