}
// for plugins
Object[] translatables = translatableTracker.getServices();
for (Object translatable : translatables) {
Translatable t = (Translatable) translatable;
TranslationTreeNode currentPluginNode = new TranslationTreeNode(new TranslationItem(t.toString()), true);
pluginNode.add(currentPluginNode);
// load all language tables
languageTables = new Hashtable<String, Properties>();
for (String supLang : Main.getSupportedLanguages()) {
Properties lang = new Properties();
try {
lang = t.getLanguageTable(supLang);
} catch (Exception e) {
logger.warn("Couldn't load language file of plugin {} for locale {}", t, supLang);
}
languageTables.put(supLang, lang);
}
try {
Properties english = t.getLanguageTable("en");
Enumeration<?> en = english.propertyNames();
List<TranslationTreeNode> list = new ArrayList<TranslationTreeNode>();
while (en.hasMoreElements()) {
String key = (String) en.nextElement();
TranslationItem tp = new TranslationItem(key);