if (isIgnorableTitle(title)) {
return;
}
- final String lang = heading.replaceAll("=", "").trim();
+ final String lang = heading.replace("=", "").trim();
if (!langPattern.matcher(lang).find()){
return;
}
// for the conjugation table from "fa".
// Would like to be able to link to a lang#token.
+
+ String head = namedArgs.remove("head");
+ final String tr = namedArgs.remove("tr");
+ if (head == null && tr != null && !titleAppended) {
+ head = title;
+ }
+ if (head != null) {
+ final String form = appendAndIndexWikiCallback.dispatch(head, EntryTypeName.WIKTIONARY_TITLE_MULTI);
+ wordForms.add(form);
+ appendAndIndexWikiCallback.builder.append(" ");
+ titleAppended = true;
+ }
+ if (tr != null) {
+ appendAndIndexWikiCallback.builder.append(" (");
+ final String form = appendAndIndexWikiCallback.dispatch(tr, EntryTypeName.WIKTIONARY_TRANSLITERATION);
+ wordForms.add(form);
+ appendAndIndexWikiCallback.builder.append(") ");
+ }
+
appendAndIndexWikiCallback.onFunction(wikiTokenizer, name, args, namedArgs);
} else if (wikiTokenizer.isListItem()) {
} else if (wikiTokenizer.isPlainText()) {
// Unindexed!
foreignBuilder.append(wikiTokenizer.token());
-
- } else if (wikiTokenizer.isMarkup() || wikiTokenizer.isNewline() || wikiTokenizer.isComment()) {
+ } else if (wikiTokenizer.isHtml()) {
+ if (!wikiTokenizer.token().startsWith("<ref>")) {
+ foreignBuilder.append(wikiTokenizer.token());
+ }
+ } else if (wikiTokenizer.isMarkup() ||
+ wikiTokenizer.isNewline() ||
+ wikiTokenizer.isComment()) {
// Do nothing.
} else {
LOG.warning("Unexpected token: " + wikiTokenizer.token());
- assert false;
+ assert !wikiTokenizer.errors().isEmpty();
}
}
final PairEntry pairEntry = new PairEntry(entrySource);
final IndexedEntry indexedEntry = new IndexedEntry(pairEntry);
+ indexedEntry.isValid = true;
entryIsFormOfSomething = false;
final StringBuilder englishBuilder = new StringBuilder();
}
- private void itConjAre(List<String> args, Map<String, String> namedArgs) {
- final String base = args.get(0);
- final String aux = args.get(1);
-
- putIfMissing(namedArgs, "inf", base + "are");
- putIfMissing(namedArgs, "aux", aux);
- putIfMissing(namedArgs, "ger", base + "ando");
- putIfMissing(namedArgs, "presp", base + "ante");
- putIfMissing(namedArgs, "pastp", base + "ato");
- // Present
- putIfMissing(namedArgs, "pres1s", base + "o");
- putIfMissing(namedArgs, "pres2s", base + "i");
- putIfMissing(namedArgs, "pres3s", base + "a");
- putIfMissing(namedArgs, "pres1p", base + "iamo");
- putIfMissing(namedArgs, "pres2p", base + "ate");
- putIfMissing(namedArgs, "pres3p", base + "ano");
- // Imperfect
- putIfMissing(namedArgs, "imperf1s", base + "avo");
- putIfMissing(namedArgs, "imperf2s", base + "avi");
- putIfMissing(namedArgs, "imperf3s", base + "ava");
- putIfMissing(namedArgs, "imperf1p", base + "avamo");
- putIfMissing(namedArgs, "imperf2p", base + "avate");
- putIfMissing(namedArgs, "imperf3p", base + "avano");
- // Passato remoto
- putIfMissing(namedArgs, "prem1s", base + "ai");
- putIfMissing(namedArgs, "prem2s", base + "asti");
- putIfMissing(namedArgs, "prem3s", base + "ò");
- putIfMissing(namedArgs, "prem1p", base + "ammo");
- putIfMissing(namedArgs, "prem2p", base + "aste");
- putIfMissing(namedArgs, "prem3p", base + "arono");
- // Future
- putIfMissing(namedArgs, "fut1s", base + "erò");
- putIfMissing(namedArgs, "fut2s", base + "erai");
- putIfMissing(namedArgs, "fut3s", base + "erà");
- putIfMissing(namedArgs, "fut1p", base + "eremo");
- putIfMissing(namedArgs, "fut2p", base + "erete");
- putIfMissing(namedArgs, "fut3p", base + "eranno");
- // Conditional
- putIfMissing(namedArgs, "cond1s", base + "erei");
- putIfMissing(namedArgs, "cond2s", base + "eresti");
- putIfMissing(namedArgs, "cond3s", base + "erebbe");
- putIfMissing(namedArgs, "cond1p", base + "eremmo");
- putIfMissing(namedArgs, "cond2p", base + "ereste");
- putIfMissing(namedArgs, "cond3p", base + "erebbero");
- // Subjunctive / congiuntivo
- putIfMissing(namedArgs, "sub123s", base + "i");
- putIfMissing(namedArgs, "sub1p", base + "iamo");
- putIfMissing(namedArgs, "sub2p", base + "iate");
- putIfMissing(namedArgs, "sub3p", base + "ino");
- // Imperfect subjunctive
- putIfMissing(namedArgs, "impsub12s", base + "assi");
- putIfMissing(namedArgs, "impsub3s", base + "asse");
- putIfMissing(namedArgs, "impsub1p", base + "assimo");
- putIfMissing(namedArgs, "impsub2p", base + "aste");
- putIfMissing(namedArgs, "impsub3p", base + "assero");
- // Imperative
- putIfMissing(namedArgs, "imp2s", base + "a");
- putIfMissing(namedArgs, "imp3s", base + "i");
- putIfMissing(namedArgs, "imp1p", base + "iamo");
- putIfMissing(namedArgs, "imp2p", base + "ate");
- putIfMissing(namedArgs, "imp3p", base + "ino");
-
-
- itConj(args, namedArgs);
- }
-
-
- private void itConj(List<String> args, Map<String, String> namedArgs) {
- // TODO Auto-generated method stub
-
- }
-
-
- private static void putIfMissing(final Map<String, String> namedArgs, final String key,
- final String value) {
- final String oldValue = namedArgs.get(key);
- if (oldValue == null || oldValue.length() == 0) {
- namedArgs.put(key, value);
- }
- }
-
- // TODO: check how ='' and =| are manifested....
- // TODO: get this right in -are
- private static void putOrNullify(final Map<String, String> namedArgs, final String key,
- final String value) {
- final String oldValue = namedArgs.get(key);
- if (oldValue == null/* || oldValue.length() == 0*/) {
- namedArgs.put(key, value);
- } else {
- if (oldValue.equals("''")) {
- namedArgs.put(key, "");
- }
- }
- }
-
- } // ForeignParser
\ No newline at end of file
+ } // ForeignParser