Multilingual support

See commit comments.