]> gitweb.fperrin.net Git - Dictionary.git/commitdiff
More dictionary configs, dictionary name in window title, remove all
authorThad Hughes <thad.hughes@gmail.com>
Sun, 18 Dec 2011 19:35:07 +0000 (11:35 -0800)
committerThad Hughes <thad.hughes@gmail.com>
Sun, 18 Dec 2011 19:35:07 +0000 (11:35 -0800)
dictionaries menu item.

res/values/strings.xml
src/com/hughes/android/dictionary/DictionaryActivity.java
src/com/hughes/android/dictionary/DictionaryListActivity.java
src/com/hughes/android/dictionary/QuickDicConfig.java
src/com/hughes/android/dictionary/engine/EntryTypeName.java
src/com/hughes/android/dictionary/engine/Language.java

index 93946c6b893b4d159c80c6e08fd2dccc53e76a55..8298edf3ed1862a80bed27d1764c025c20b9c862 100644 (file)
@@ -10,6 +10,7 @@
 \nLong-press to edit the dictionary config. Press "menu" to add a new dictionary.]]></string>
   <string name="addDictionary">Add dictionary</string>
   <string name="addDefaultDictionaries">Add default dictionaries</string>
+  <string name="removeAllDictionaries">Remove all dictionaries</string>
   <string name="editDictionary">Edit dictionary config</string>
   <string name="deleteDictionary">Delete dictionary</string>
   <string name="moveUp">Move up</string>
index 80025c2f4346f31967642bb757a63f7cf291f654..1bfdc29b9139179265cdefb557cd93d249b3f9b7 100644 (file)
@@ -151,6 +151,7 @@ public class DictionaryActivity extends ListActivity {
           this).read(C.DICTIONARY_CONFIGS, QuickDicConfig.class);\r
       dictIndex = prefs.getInt(C.DICT_INDEX, 0) ;\r
       final DictionaryConfig dictionaryConfig = quickDicConfig.dictionaryConfigs.get(dictIndex);\r
+      this.setTitle("QuickDic: " + dictionaryConfig.name);\r
       dictRaf = new RandomAccessFile(dictionaryConfig.localFile, "r");\r
       dictionary = new Dictionary(dictRaf); \r
     } catch (Exception e) {\r
index da6173722a21b695eb27b52d85414ee2ce4ad069..b6ac37071202088c65fbe782d41d490dc3777198 100644 (file)
@@ -139,6 +139,15 @@ public class DictionaryListActivity extends ListActivity {
           }
         });
 
+    final MenuItem removeAllDictionariesMenuItem = menu.add(R.string.removeAllDictionaries);
+    removeAllDictionariesMenuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() {
+          public boolean onMenuItemClick(final MenuItem menuItem) {
+            quickDicConfig.dictionaryConfigs.clear();
+            dictionaryConfigsChanged();
+            return false;
+          }
+        });
+
     final MenuItem about = menu.add(getString(R.string.about));
     about.setOnMenuItemClickListener(new OnMenuItemClickListener() {
       public boolean onMenuItemClick(final MenuItem menuItem) {
index 497f3750815b81bcb3f6e31f8c0f21c85684bea6..306ff807ced5bcb68ab3447a5cbd16e664e40fa1 100644 (file)
@@ -18,11 +18,14 @@ import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
+import com.hughes.android.dictionary.engine.Language;
+
 public final class QuickDicConfig implements Serializable {
   
   private static final long serialVersionUID = 6711617368780900979L;
   
-  static final int LATEST_VERSION = 1;
+  // Just increment this to have them all update...
+  static final int LATEST_VERSION = 3;
   
   final List<DictionaryConfig> dictionaryConfigs = new ArrayList<DictionaryConfig>();
   int currentVersion = LATEST_VERSION;
@@ -33,20 +36,24 @@ public final class QuickDicConfig implements Serializable {
 
   public void addDefaultDictionaries() {
     {
-      final DictionaryConfig de_en_chemnitz = new DictionaryConfig();
-      de_en_chemnitz.name = "DE<->EN (Chemnitz)";
-      de_en_chemnitz.downloadUrl = "https://sites.google.com/site/quickdic/dictionaries-1/DE-EN_chemnitz.quickdic.zip?attredirects=0&d=1";
-      de_en_chemnitz.localFile = "/sdcard/quickDic/DE-EN_chemnitz.quickdic";
-      addOrReplace(de_en_chemnitz);
+      final DictionaryConfig config = new DictionaryConfig();
+      config.name = "German<->English";
+      config.downloadUrl = "https://sites.google.com/site/quickdic/dictionaries-1/DE-EN_chemnitz_enwiktionary.quickdic.zip?attredirects=0&d=1";
+      config.localFile = "/sdcard/quickDic/DE-EN_chemnitz_enwiktionary.quickdic";
+      addOrReplace(config);
     }
-
-    {
-      final DictionaryConfig en_it_wiktionary = new DictionaryConfig();
-      en_it_wiktionary.name = "EN<->IT (EN Wiktionary)";
-      en_it_wiktionary.downloadUrl = "https://sites.google.com/site/quickdic/dictionaries-1/EN-IT_enwiktionary.quickdic.zip?attredirects=0&d=1";
-      en_it_wiktionary.localFile = "/sdcard/quickDic/EN-IT_enwiktionary.quickdic";
-      addOrReplace(en_it_wiktionary);
+    
+    for (final String iso : Language.isoCodeToWikiName.keySet()) {
+      if (iso.equals("EN") || iso.equals("DE")) {
+        continue;
+      }
+      final DictionaryConfig config = new DictionaryConfig();
+      config.name = String.format("EN<->%s English<->%s (Wiktionary)", iso, Language.isoCodeToWikiName.get(iso));
+      config.downloadUrl = String.format("https://sites.google.com/site/quickdic/dictionaries-1/EN-%s_enwiktionary.quickdic.zip?attredirects=0&d=1", iso);
+      config.localFile = String.format("/sdcard/quickDic/EN-%s_enwiktionary.quickdic", iso);
+      addOrReplace(config);
     }
+
   }
 
   private void addOrReplace(final DictionaryConfig dictionaryConfig) {
index 0df2727242b38d014cce63772e407d3bd151fdae..7ea167ec5465b7b6233626cfabf638dc0367febd 100644 (file)
@@ -49,6 +49,7 @@ public enum EntryTypeName {
   
   MULTIROW_HEAD_MANY_WORDS(0),
   MULTIROW_TAIL_MANY_WORDS(0),
+  WIKTIONARY_EXAMPLE(0),
   PART_OF_HYPHENATED(0),
   BRACKETED(0),
   PARENTHESIZED(0),
index 5aae78207ce80a28caa68e2ffd40e00576bca8ed..c3cb84b4d5d7c1748a7c6021034a19c4a6b4ba94 100644 (file)
@@ -14,7 +14,9 @@
 \r
 package com.hughes.android.dictionary.engine;\r
 \r
+import java.util.Arrays;\r
 import java.util.LinkedHashMap;\r
+import java.util.List;\r
 import java.util.Locale;\r
 import java.util.Map;\r
 \r
@@ -22,6 +24,75 @@ import com.ibm.icu.text.Collator;
 \r
 public class Language {\r
 \r
+  public static final Map<String,String> isoCodeToWikiName = new LinkedHashMap<String,String>();\r
+  static {\r
+//    Albanian\r
+//    Armenian\r
+//    Belarusian\r
+//    Bengali\r
+//    Bosnian\r
+//    Bulgarian\r
+//    Catalan\r
+//    Esperanto\r
+//    Estonian\r
+//    Hungarian\r
+//    Indonesian\r
+//    Kurdish\r
+//    Latin\r
+//    Lithuanian\r
+//    Nepali\r
+//    Punjabi\r
+//    Swahili\r
+    isoCodeToWikiName.put("AF", "Afrikaans");\r
+    isoCodeToWikiName.put("AR", "Arabic");\r
+    isoCodeToWikiName.put("HY", "Armenian");\r
+    isoCodeToWikiName.put("HR", "Croation");\r
+    isoCodeToWikiName.put("CS", "Czech");\r
+    isoCodeToWikiName.put("ZH", "Chinese|Mandarin|Cantonese");\r
+    isoCodeToWikiName.put("DA", "Danish");\r
+    isoCodeToWikiName.put("NL", "Dutch");\r
+    isoCodeToWikiName.put("EN", "English");\r
+    isoCodeToWikiName.put("FI", "Finish");\r
+    isoCodeToWikiName.put("FR", "French");\r
+    isoCodeToWikiName.put("DE", "German");\r
+    isoCodeToWikiName.put("EL", "Greek");\r
+    isoCodeToWikiName.put("haw", "Hawaiian");\r
+    isoCodeToWikiName.put("HE", "Hewbrew");\r
+    isoCodeToWikiName.put("HI", "Hindi");\r
+    isoCodeToWikiName.put("IS", "Icelandic");\r
+    isoCodeToWikiName.put("GA", "Irish");\r
+    isoCodeToWikiName.put("IT", "Italian");\r
+    isoCodeToWikiName.put("LT", "Lithuanian");\r
+    isoCodeToWikiName.put("JA", "Japanese");\r
+    isoCodeToWikiName.put("KO", "Korean");\r
+    isoCodeToWikiName.put("KU", "Kurdish");\r
+    isoCodeToWikiName.put("MS", "Malay");\r
+    isoCodeToWikiName.put("MI", "Maori");\r
+    isoCodeToWikiName.put("MN", "Mongolian");\r
+    isoCodeToWikiName.put("NO", "Norwegian");\r
+    isoCodeToWikiName.put("FA", "Persian");\r
+    isoCodeToWikiName.put("PT", "Portuguese");\r
+    isoCodeToWikiName.put("RO", "Romanian");\r
+    isoCodeToWikiName.put("RU", "Russian");\r
+    isoCodeToWikiName.put("SA", "Sanskrit");\r
+    isoCodeToWikiName.put("SR", "Serbian");\r
+    isoCodeToWikiName.put("SO", "Somali");\r
+    isoCodeToWikiName.put("ES", "Spanish");\r
+    isoCodeToWikiName.put("SU", "Sudanese");\r
+    isoCodeToWikiName.put("SV", "Swedish");\r
+    isoCodeToWikiName.put("TG", "Tajik");\r
+    isoCodeToWikiName.put("TH", "Thai");\r
+    isoCodeToWikiName.put("BO", "Tibetan");\r
+    isoCodeToWikiName.put("TR", "Turkish");\r
+    isoCodeToWikiName.put("UK", "Ukranian");\r
+    isoCodeToWikiName.put("VI", "Vietnamese");\r
+    isoCodeToWikiName.put("CI", "Welsh");\r
+    isoCodeToWikiName.put("YI", "Yiddish");\r
+    isoCodeToWikiName.put("ZU", "Zulu");\r
+  }\r
+\r
+  static final List<String> ISO_CODES_WITH_DICTS = Arrays.asList();\r
+\r
   static final Map<String, Language> symbolToLangauge = new LinkedHashMap<String, Language>();\r
 \r
   final String symbol;\r