currently, when you look at the usage of WebLanguages class, the UI components first call
getLanguagesEnglishNames() and getLanguagesNativeNames() methods
and then composes the UI 'language' elements relying on those lists being ordered exactly the same way.
More "OOP" way would be to have a Language class, that itself knows its native name and english name and shorthand and perhaps also overwrites its toString() method to provide a 'UI name' for itself.
IMO A good candidate for our workshops' pairprogramming excercises.