First version with multiple languages. Needs testing.