+
+ /**
+ * Return all the languages known by the program.
+ *
+ * @return the known language codes
+ */
+ static public List<String> getKnownLanguages() {
+ List<String> resources = new LinkedList<String>();
+
+ String regex = ".*" + Target.resources.name()
+ + "[_a-zA-Za]*\\.properties$";
+
+ for (String res : ResourceList.getResources(Pattern.compile(regex))) {
+ String resource = res;
+ int index = resource.lastIndexOf('/');
+ if (index >= 0 && index < (resource.length() - 1))
+ resource = resource.substring(index + 1);
+ if (resource.startsWith(Target.resources.name())) {
+ resource = resource.substring(0, resource.length()
+ - ".properties".length());
+ resource = resource.substring(Target.resources.name().length());
+ if (resource.startsWith("_")) {
+ resource = resource.substring(1);
+ resources.add(resource);
+ }
+ }
+ }
+
+ return resources;
+ }