X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FLanguage.java;fp=src%2Forg%2Fcacert%2Fgigi%2FLanguage.java;h=5841c3c35dc918b025df178735d3e1500706f12e;hp=9faaaad669038005d728017ee83a95c922c8afe1;hb=06c5d96d7dc2df71a1658e1c7c9e34ad065d10d7;hpb=1de729f545658d412e9fb8828bad41dd00271e00 diff --git a/src/org/cacert/gigi/Language.java b/src/org/cacert/gigi/Language.java index 9faaaad6..5841c3c3 100644 --- a/src/org/cacert/gigi/Language.java +++ b/src/org/cacert/gigi/Language.java @@ -4,7 +4,7 @@ import java.io.File; 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; @@ -17,8 +17,16 @@ import org.xml.sax.SAXException; public class Language { private static HashMap langs = new HashMap(); HashMap translations = new HashMap(); + 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 @@ -36,7 +44,11 @@ public class Language { System.out.println(translations.size() + " strings loaded."); } public String getTranslation(String text) { - return translations.get(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); @@ -54,5 +66,8 @@ public class Language { } return l; } + public Locale getLocale() { + return l; + } }