Added Translation.
authorviric@mandarina
Sun, 29 Jul 2007 13:07:29 +0200
changeset 16 cd43a69c4026
parent 15 b3cd84530d9a
child 17 0fbcc82bcdea
Added Translation.
src/jdict/AskWord.java
src/jdict/Config.java
src/jdict/Main.java
src/jdict/Results.java
src/jdict/ShowText.java
src/jdict/T.java
--- a/src/jdict/AskWord.java	Sun Jul 29 13:07:12 2007 +0200
+++ b/src/jdict/AskWord.java	Sun Jul 29 13:07:29 2007 +0200
@@ -13,16 +13,20 @@
 	private Command cmd_montri;
 	private Command cmd_pri;
 	private Command cmd_vortarinformo;
+	private Command cmd_agordoj;
     private TextField word;
     private ChoiceGroup translit;
-    final String translit_neniu = "Neniu";
-    final String translit_iksa = "Iksa sistemo";
-    final String translit_rusa = "ASCII-rusa";
+    private String translit_neniu;
+    private String translit_iksa;
+    private String translit_rusa;
     private StringItem showSearch;
     private String vortaro;
 	
 	public AskWord()
 	{
+        translit_neniu = T.t("Neniu");
+        translit_iksa = T.t("Iksa sistemo");
+        translit_rusa = T.t("ASCII-rusa");
         get_vortaro();
 
 		show();
@@ -55,10 +59,10 @@
 	{
 		myform = new Form(vortaro);
 
-        word = new TextField("Vorto:", "", 20, TextField.ANY);
+        word = new TextField(T.t("Vorto:"), "", 20, TextField.ANY);
         myform.append(word);
 
-        translit = new ChoiceGroup("Transliterigo", ChoiceGroup.EXCLUSIVE);
+        translit = new ChoiceGroup(T.t("Transliterigo"), ChoiceGroup.EXCLUSIVE);
         translit.append(translit_neniu, null);
         translit.append(translit_iksa, null);
         translit.append(translit_rusa, null);
@@ -66,22 +70,25 @@
         myform.append(translit);
 
         /* DEBUG */
-        showSearch = new StringItem("Serĉonte:", "");
+        showSearch = new StringItem(T.t("Serĉonte:"), "");
         myform.append(showSearch);
 
-		cmd_sercxi = new Command("Serĉi", Command.OK, 0);
+		cmd_sercxi = new Command(T.t("Serĉi"), Command.OK, 0);
 		myform.addCommand(cmd_sercxi);
 		/* Commands */
-		cmd_montri = new Command("Montri", Command.HELP, 1);
+		cmd_montri = new Command(T.t("Montri"), Command.HELP, 1);
 		myform.addCommand(cmd_montri);
 		/* Commands */
-		cmd_pri = new Command("Pri ĉi tio", Command.HELP, 2);
+		cmd_pri = new Command(T.t("Pri ĉi tio"), Command.HELP, 2);
 		myform.addCommand(cmd_pri);
 		/* Commands */
-		cmd_vortarinformo = new Command("Vortarinformo", Command.HELP, 3);
+		cmd_vortarinformo = new Command(T.t("Vortarinformo"), Command.HELP, 3);
 		myform.addCommand(cmd_vortarinformo);
 		/* Commands */
-		cmd_eliri = new Command("Eliri", Command.BACK, 4);
+		cmd_agordoj = new Command(T.t("Agordoj"), Command.HELP, 3);
+		myform.addCommand(cmd_agordoj);
+		/* Commands */
+		cmd_eliri = new Command(T.t("Eliri"), Command.BACK, 4);
 		myform.addCommand(cmd_eliri);
 
 		myform.setCommandListener(this);
@@ -164,5 +171,10 @@
 
             ShowText textwin = new ShowText(text, myform);
         }
+        else if (c == cmd_agordoj)
+        {
+            /* This opens a new form */
+            Config config = new Config(this, myform);
+        }
 	}
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jdict/Config.java	Sun Jul 29 13:07:29 2007 +0200
@@ -0,0 +1,66 @@
+package jdict;
+
+import javax.microedition.lcdui.*;
+import java.io.*;
+import java.util.Enumeration;
+
+public class Config
+	implements CommandListener
+{
+	private Form myform;
+	private Command cmd_konservi;
+	private Command cmd_malantauxen;
+	private ChoiceGroup lingvoj;
+    private Form last;
+    private AskWord from_screen;
+
+
+
+    public Config(AskWord _from_screen, Form _last)
+    {
+        last = _last;
+        from_screen = _from_screen;
+        show();
+    }
+
+    public void show()
+    {
+		myform = new Form(T.t("Agordoj"));
+
+        lingvoj = new ChoiceGroup(T.t("Lingvo"), ChoiceGroup.EXCLUSIVE);
+
+        String chosen_lang = T.get_chosen_language();
+        for (Enumeration e = T.get_languages(); e.hasMoreElements(); )
+        {
+            String lingvo = (String) e.nextElement();
+            int index;
+            
+            index = lingvoj.append(lingvo, null);
+            if (lingvo.equals(chosen_lang))
+                lingvoj.setSelectedIndex(index, true);
+        }
+        myform.append(lingvoj);
+
+		cmd_konservi = new Command(T.t("Konservi"), Command.OK, 0);
+		myform.addCommand(cmd_konservi);
+		/* Commands */
+		cmd_malantauxen = new Command(T.t("Malantaŭen"), Command.BACK, 4);
+		myform.addCommand(cmd_malantauxen);
+
+		myform.setCommandListener(this);
+		Main.display.setCurrent(myform);
+    }
+
+	public void commandAction(Command c, Displayable d)
+	{
+        if (c == cmd_konservi)
+        {
+            T.set_language(lingvoj.getString(lingvoj.getSelectedIndex()));
+            from_screen.show();
+        }
+        else if (c == cmd_malantauxen)
+        {
+            Main.display.setCurrent(last);
+        }
+	}
+}
--- a/src/jdict/Main.java	Sun Jul 29 13:07:12 2007 +0200
+++ b/src/jdict/Main.java	Sun Jul 29 13:07:29 2007 +0200
@@ -17,9 +17,18 @@
         main = this;
 	}
 
+    protected void loadSettings()
+    {
+    }
+
+    protected void saveSettings()
+    {
+    }
 
 	protected void startApp()
 	{
+        T.init();
+        loadSettings();
         askword = new AskWord();
 	}
 
@@ -34,6 +43,7 @@
 
 	public void quit()
 	{
+        saveSettings();
 		destroyApp(true);
 		notifyDestroyed();
 	}
--- a/src/jdict/Results.java	Sun Jul 29 13:07:12 2007 +0200
+++ b/src/jdict/Results.java	Sun Jul 29 13:07:29 2007 +0200
@@ -21,19 +21,19 @@
 
 	public void show()
 	{
-		myform = new Form("Rezultoj");
+		myform = new Form(T.t("Rezultoj"));
 
 		/* Commands */
-		cmd_malantauxen = new Command("Malantaŭen", Command.BACK, 0);
+		cmd_malantauxen = new Command(T.t("Malantaŭen"), Command.BACK, 0);
 		myform.addCommand(cmd_malantauxen);
 
         for (int i=0; i < myresults.size(); ++i)
         {
-            StringItem item = new StringItem("Rezulto:",
+            StringItem item = new StringItem(T.t("Rezulto:"),
                     (String) myresults.elementAt(i));
             myform.append(item);
         }
-        StringItem item = new StringItem("Entute:",
+        StringItem item = new StringItem(T.t("Entute:"),
                 new Integer(myresults.size()).toString());
         myform.append(item);
 
--- a/src/jdict/ShowText.java	Sun Jul 29 13:07:12 2007 +0200
+++ b/src/jdict/ShowText.java	Sun Jul 29 13:07:29 2007 +0200
@@ -22,7 +22,7 @@
 
 	public void show()
 	{
-		myform = new Form("Informo");
+		myform = new Form(T.t("Informo"));
 
         StringItem sitem = new StringItem(null, text);
         myform.append(sitem);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/jdict/T.java	Sun Jul 29 13:07:29 2007 +0200
@@ -0,0 +1,122 @@
+package jdict;
+
+import java.util.Hashtable;
+import java.util.Enumeration;
+
+public class T
+{
+    static Hashtable languages;
+    static Hashtable chosen_language;
+    static String chosen_language_name;
+
+    public static void init()
+    {
+        languages = new Hashtable();
+
+        /* Eo */
+        Hashtable eo = new Hashtable();
+        languages.put("eo", eo);
+        eo.put("Vorto:", "Vorto:");
+        eo.put("Transliterigo", "Transliterigo");
+        eo.put("Neniu", "Neniu");
+        eo.put("Iksa sistemo", "Iksa sistemo");
+        eo.put("ASCII-rusa", "ASCII-rusa");
+        eo.put("Serĉonte:", "Serĉonte:");
+        eo.put("Serĉi", "Serĉi");
+        eo.put("Montri", "Montri");
+        eo.put("Pri ĉi tio", "Pri ĉi tio");
+        eo.put("Vortarinformo", "Vortarinformo");
+        eo.put("Eliri", "Eliri");
+        eo.put("Lingvo", "Lingvo");
+        eo.put("Rezultoj", "Rezultoj");
+        eo.put("Rezulto:", "Rezulto:");
+        eo.put("Entute:", "Entute:");
+        eo.put("Malantaŭen", "Malantaŭen");
+        eo.put("Agordoj", "Agordoj");
+        eo.put("Informo", "Informo");
+        /* Eo iksa */
+        Hashtable eox = new Hashtable();
+        languages.put("eox", eox);
+        eox.put("Vorto:", "Vorto:");
+        eox.put("Transliterigo", "Transliterigo");
+        eox.put("Neniu", "Neniu");
+        eox.put("Iksa sistemo", "Iksa sistemo");
+        eox.put("ASCII-rusa", "ASCII-rusa");
+        eox.put("Serĉonte:", "Sercxonte:");
+        eox.put("Serĉi", "Sercxi");
+        eox.put("Montri", "Montri");
+        eox.put("Pri ĉi tio", "Pri cxi tio");
+        eox.put("Vortarinformo", "Vortarinformo");
+        eox.put("Eliri", "Eliri");
+        eox.put("Lingvo", "Lingvo");
+        eox.put("Rezultoj", "Rezultoj");
+        eox.put("Rezulto:", "Rezulto:");
+        eox.put("Entute:", "Entute:");
+        eox.put("Malantaŭen", "Malantauxen");
+        eox.put("Agordoj", "Agordoj");
+        eox.put("Informo", "Informo");
+        /* Ca */
+        Hashtable ca = new Hashtable();
+        languages.put("ca", ca);
+        ca.put("Vorto:", "Paraula:");
+        ca.put("Transliterigo", "Transliteració");
+        ca.put("Neniu", "Cap");
+        ca.put("Iksa sistemo", "Sistema X");
+        ca.put("ASCII-rusa", "ASCII-Rus");
+        ca.put("Serĉonte:", "Es cercarà:");
+        ca.put("Serĉi", "Cercar");
+        ca.put("Montri", "Mostrar");
+        ca.put("Pri ĉi tio", "Sobre això");
+        ca.put("Vortarinformo", "Sobre el diccionari");
+        ca.put("Eliri", "Sortir");
+        ca.put("Lingvo", "Idioma");
+        ca.put("Rezultoj", "Resultats");
+        ca.put("Rezulto:", "Resultat:");
+        ca.put("Entute:", "Total:");
+        ca.put("Malantaŭen", "Enrera");
+        ca.put("Agordoj", "Configuració");
+        ca.put("Informo", "Informació");
+
+        /* default */
+        set_language("eo");
+    }
+
+    public static void set_language(String name)
+    {
+        System.out.println("Choosing language: " + name);
+        chosen_language = (Hashtable) languages.get(name);
+        if (chosen_language == null)
+            System.out.println("Language " + name + " not found.");
+        chosen_language_name = name;
+    }
+
+    public static String t(String from)
+    {
+        String out;
+
+        if (chosen_language == null)
+        {
+            System.out.println("Language not chosen for string " + from);
+            return from;
+        }
+        
+        out = (String) chosen_language.get(from);
+        if (out == null)
+        {
+            System.out.println("Language string not found for " + from);
+            return from;
+        }
+        System.out.println("Asked string '" + from + "', giving '" + out + "'");
+        return out;
+    }
+
+    public static Enumeration get_languages()
+    {
+        return languages.keys();
+    }
+
+    public static String get_chosen_language()
+    {
+        return chosen_language_name;
+    }
+}