import java.io.FileInputStream;
import java.io.IOException;
import java.util.HashMap;
-
+import java.util.Locale;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
public class Language {
private static HashMap<String, Language> langs = new HashMap<String, Language>();
HashMap<String, String> translations = new HashMap<String, String>();
+ Locale l;
private Language(String language) throws ParserConfigurationException,
IOException, SAXException {
+ if (language.contains("_")) {
+ String[] parts = language.split("_");
+ l = new Locale(parts[0], parts[1]);
+ } else {
+ l = new Locale(language);
+ }
+
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document d = db.parse(new FileInputStream(new File("locale", language
}
System.out.println(translations.size() + " strings loaded.");
}
+ public String getTranslation(String text) {
+ String string = translations.get(text);
+ if (string == null || string.equals("")) {
+ return text;
+ }
+ return string;
+ }
public static Language getInstance(String language) {
Language l = langs.get(language);
if (l == null) {
}
return l;
}
- public static void main(String[] args) {
- Language.getInstance("de");
+ public Locale getLocale() {
+ return l;
}
+
}