Full i18n support

See diff