]> gitweb.fperrin.net Git - DictionaryPC.git/blobdiff - src/com/hughes/android/dictionary/parser/wiktionary/EnFunctionCallbacks.java
Fix it-noun parser.
[DictionaryPC.git] / src / com / hughes / android / dictionary / parser / wiktionary / EnFunctionCallbacks.java
index 90535cce74e7d56c0a5e33729588421e023cabb6..5f7f85087db251128bc061f44e8628263745c0d1 100644 (file)
@@ -725,29 +725,30 @@ class EnFunctionCallbacks {
         final EnParser parser,
         final AppendAndIndexWikiCallback<EnParser> appendAndIndexWikiCallback) {
       parser.titleAppended = true;
-      final String base = ListUtil.get(args, 0);
-      final String gender = ListUtil.get(args, 1);
-      final String singular = base + ListUtil.get(args, 2, null);
-      final String plural = base + ListUtil.get(args, 3, null);
+      final String gender = ListUtil.get(args, 0);
+      final String singular = parser.title;
+      final String plural = ListUtil.get(args, 1, null);
       appendAndIndexWikiCallback.builder.append(" ");
       appendAndIndexWikiCallback.dispatch(singular, null, null);
       appendAndIndexWikiCallback.builder.append(" {").append(gender).append("}, ");
-      appendAndIndexWikiCallback.dispatch(plural, null, null);
-      appendAndIndexWikiCallback.builder.append(" {pl}");
+      if (plural != null) {
+        appendAndIndexWikiCallback.dispatch(plural, null, null);
+        appendAndIndexWikiCallback.builder.append(" {pl}");
+        parser.wordForms.add(plural);
+      }
       final String f = namedArgs.remove("f");
       if (f != null) {
           appendAndIndexWikiCallback.builder.append(", ");
           appendAndIndexWikiCallback.dispatch(f, null, null);
           appendAndIndexWikiCallback.builder.append(" {f}");
       }
-      final String m = namedArgs.remove("f");
+      final String m = namedArgs.remove("m");
       if (m != null) {
           appendAndIndexWikiCallback.builder.append(", ");
           appendAndIndexWikiCallback.dispatch(m, null, null);
           appendAndIndexWikiCallback.builder.append(" {m}");
       }
       parser.wordForms.add(singular);
-      parser.wordForms.add(plural);
       if (!namedArgs.isEmpty() || args.size() > 4) {
         EnParser.LOG.warning("Invalid it-noun: " + wikiTokenizer.token());
       }
@@ -1227,4 +1228,4 @@ static final class it_conj_are<T extends AbstractWiktionaryParser> implements Fu
   }
 
 
-}
\ No newline at end of file
+}