i18n (closes #2)