!7 sO listBot; concept Translation { S in, out; } p { listBot = run(#1009226); db(); botIfMain(); } synchronized answer { outer: for (int safety = 0; safety < 10; safety++) { // translations management if "translations" ret struct(collectOrderedMap(list(Translation), 'in, 'out)); if "add translation: * *" { Pair p = uniq2(Translation, in := $1); cset(p.a, out := $2); ret p.b ? "OK, saved" : "OK, overwritten"; } if "remove translation: *" { deleteConcepts(Translation, in := $1); ret "OK"; } // try translations for (Translation t) if (match(t.in, s, m)) { S translated = format(t.out, m.m); print("Translated: " + s + " => " + translated); s = translated; continue outer; } break; } // forward verbatim try answer callAnswerMethod(listBot, s); }