Displaying available destinations using Angular.JS
Translations are UI logic, a different representation of the same data. They should stay on the template. On the other hand, country and city logic go in the controller. They should only be aware of the data, but not how it is represented.

The answer to this is to use Angular filters, and a separate service/factory/provider to hold the current language. The controller exposes the data to the UI, but the data is language-neutral.

Given that this is so similar, here's another answer where I explained how to use Angular filters with translations: https://codereview.stackexchange.com/a/116063/11919