fix #30 and implement a much better i18n form and display