final Map<String, String> namedArgs,
final T parser,
final AppendAndIndexWikiCallback<T> appendAndIndexWikiCallback) {
- if (args.size() != 1 || !namedArgs.isEmpty()) {
- EnParser.LOG.warning("weird qualifier: ");
+ namedArgs.remove("lang");
+ 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;
}
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;
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());
}
}
-}
\ No newline at end of file
+}