Support i18n on client-side, closes #345