public Languages getLanguages() {
   I18nManager i18nMgr = I18nManager.getInstance();
   Collection<String> enabledKeysSet = I18nModule.getEnabledLanguageKeys();
   Map<String, String> langNames = new HashMap<String, String>();
   Map<String, String> langTranslators = new HashMap<String, String>();
   String[] enabledKeys = ArrayHelper.toArray(enabledKeysSet);
   String[] names = new String[enabledKeys.length];
   for (int i = 0; i < enabledKeys.length; i++) {
     String key = enabledKeys[i];
     String langName = i18nMgr.getLanguageInEnglish(key, I18nModule.isOverlayEnabled());
     langNames.put(key, langName);
     names[i] = langName;
     String author = i18nMgr.getLanguageAuthor(key);
     langTranslators.put(key, author);
   }
   ArrayHelper.sort(enabledKeys, names, true, true, true);
   return new Languages(enabledKeys, langNames, langTranslators);
 }