implement i18n support, ready to add xml support