]> gitweb.fperrin.net Git - DictionaryPC.git/blobdiff - src/com/hughes/android/dictionary/parser/wiktionary/EnFunctionCallbacks.java
Split ZH into yue and cmn, fixed German heading.
[DictionaryPC.git] / src / com / hughes / android / dictionary / parser / wiktionary / EnFunctionCallbacks.java
index 58ff72efca52c2b73db1f85d535c1c7328b98073..9a7d748ee12c768c346b538aa866a940932702c3 100644 (file)
@@ -78,6 +78,10 @@ class EnFunctionCallbacks {
       callbacks.put("rel-mid3", callback);
       callbacks.put("rel-mid4", callback);
       callbacks.put("rel-bottom", callback);
+      callbacks.put("der-top", callback);
+      callbacks.put("der-mid", callback);
+      callbacks.put("der-mid3", callback);
+      callbacks.put("der-bottom", callback);
       
       callback = new AppendName<T>();
       callbacks.put("...", callback);
@@ -228,13 +232,17 @@ class EnFunctionCallbacks {
         final Map<String, String> namedArgs,
         final T parser,
         final AppendAndIndexWikiCallback<T> appendAndIndexWikiCallback) {
-      if (args.size() != 1 || !namedArgs.isEmpty()) {
-        EnParser.LOG.warning("weird qualifier: ");
+      if (!namedArgs.isEmpty()) {
+        EnParser.LOG.warning("weird qualifier: " + wikiTokenizer.token());
         return false;
       }
-      String qualifier = args.get(0);
       appendAndIndexWikiCallback.builder.append("(");
-      appendAndIndexWikiCallback.dispatch(qualifier, null);
+      for (int i = 0; i < args.size(); ++i) {
+          appendAndIndexWikiCallback.dispatch(args.get(i), null);
+          if (i > 0) {
+              appendAndIndexWikiCallback.builder.append(", ");
+          }
+      }
       appendAndIndexWikiCallback.builder.append(")");
       return true;
     }
@@ -248,7 +256,7 @@ class EnFunctionCallbacks {
         final Map<String, String> namedArgs,
         final T parser,
         final AppendAndIndexWikiCallback<T> appendAndIndexWikiCallback) {
-      //namedArgs.remove("lang");
+      namedArgs.remove("lang");
       if (!namedArgs.isEmpty()) {
         EnParser.LOG.warning("weird encoding: " + wikiTokenizer.token());
         return false;