diff --git a/templates/de/doc/ql/poliqarp-plus.html.ep b/templates/de/doc/ql/poliqarp-plus.html.ep
index 3540b90..c1d9120 100644
--- a/templates/de/doc/ql/poliqarp-plus.html.ep
+++ b/templates/de/doc/ql/poliqarp-plus.html.ep
@@ -9,15 +9,15 @@
 
   <p>Die kleinsten Elemente von Poliqarp sind Segmente. Meistens repräsentieren Segmente Wörter und können leicht abgefragt werden:</p>
 
-  %= doc_query poliqarp => loc('Q_poliqarp_simple', 'Tree')
+  %= doc_query poliqarp => loc('Q_poliqarp_simple', '** Tree')
 
   <p>Abfolgen einfacher Segmente werden durch Leerzeichen getrennt:</p>
 
-  %= doc_query poliqarp => loc('Q_poliqarp_simpleseq', 'the Tree')
+  %= doc_query poliqarp => loc('Q_poliqarp_simpleseq', '** the Tree')
 
   <p>Einfache Segmente beziehen sich immer auf die Oberflächenform eines Wortes. Wenn Sie nach einer Oberflächenform ohne Beachtung der Groß- und Kleinschreibung suchen, können Sie <code>/i</code> anfügen.</p>
 
-  %= doc_query poliqarp => loc('Q_poliqarp_simpleci', 'run/i')
+  %= doc_query poliqarp => loc('Q_poliqarp_simpleci', '** run/i')
 
   <p>Die Abfrage oben findet alle Vorkommen des Wortes unabhängig von ihrer Großschreibung.
 
@@ -25,20 +25,20 @@
 
   <p>Segmente können auch durch <%= doc_link_to 'Reguläre Ausdrücke', 'ql', 'regexp' %> abgefragt werden - indem das Segment mit doppelten Anführungszeichen umschlossen wird.</p>
 
-  %= doc_query poliqarp => '"l(au|ie)fen"'
+  %= doc_query poliqarp => loc('Q_poliqarp_re', '** "r(u|a)n"'), cutoff => 1
 
   <p>Reguläre Ausdrücke stimmen immer mit dem gesamten Segment überein,
     d.h. die obige Abfrage findet Wörter, die mit dem ersten Buchstaben des Ausdrucks beginnen und mit dem letzten Buchstaben enden. Um Teilausdrücke zu unterstützen, können Sie das Flag <code>/x</code> verwenden.</p>
 
-    %= doc_query poliqarp => '"l(au|ie)fen"/x', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_rex', '** "r(u|a)n"/x'), cutoff => 1
 
   <p>Das <code>/x</code> flag sucht nach allen Segmenten, die eine Sequenz von Zeichen enthalten, die mit dem regulären Ausdruck übereinstimmen. Das bedeutet, dass die obige Abfrage äquivalent zu der Folgenden ist:</p>
 
-  %= doc_query poliqarp => '".*?l(au|ie)fen.*?"', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_recontext', '** ".*?r(u|a)n.*?"'), cutoff => 1
 
   <p>Das <Code>/x</code> Flag kann auch in Verbindung mit exakten Ausdrücken verwendet werden, um nach Teilzeichenketten zu suchen:</p>
 
-  %= doc_query poliqarp => 'trenn/xi', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_simplex', '** part/xi'), cutoff => 1
 
   <p>Die obige Abfrage findet alle Vorkommen von Segmenten mit der definierten Zeichenfolge - unabhängig von Groß-Kleinschreibung und unabhängig von ihrem Zeichenkontext.</p>
 
@@ -48,7 +48,7 @@
 
   <p>Sie können das <code>/i</code> Flag erneut anwenden, um unabhängig von Groß-Kleinschreibung zu suchen.</p>
 
-  %= doc_query poliqarp => '"l(au|ie)fen"/xi', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_rexi', '** "r(u|a)n"/xi'), cutoff => 1
 
 </section>
 
@@ -61,36 +61,36 @@
 
   %# Es gibt noch mehr spezielle Schlüssel in Poliqarp, aber KorAP bietet sie nicht an.
 
-  %= doc_query poliqarp => '[orth=Baum]'
+  %= doc_query poliqarp => loc('Q_poliqarp_complexorth', '** [orth=Tree]')
 
   <p>Die Abfrage entspricht also:</p>
 
-  %= doc_query poliqarp => 'Baum'
+  %= doc_query poliqarp => loc('Q_poliqarp_simple', '** Tree')
 
   <p>Komplexe Segmente erwarten einfache Ausdrücke als Werte, was bedeutet, dass auch der folgende Ausdruck gültig ist:</p>
 
-  %= doc_query poliqarp => '[orth="l(au|ie)fen"/xi]', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_complexre', '** [orth="r(u|a)n"/xi]'), cutoff => 1
 
   <p>Ein weiterer spezieller Schlüssel ist <code>base</code>, bezogen auf die Lemma-Annotation der <%= doc_link_to 'Standard-Foundry', 'data', 'annotation'%>.
     Die folgende Abfrage findet alle Vorkommen von Segmenten, die mit dem eingegebenen Lemma in der Standard-Foundry annotiert wurden.</p>
 
-  %= doc_query poliqarp => '[base=Baum]'
+  %= doc_query poliqarp => loc('Q_poliqarp_complexlemma', '** [base=Tree]'), cutoff => 1
 
   <p>Der dritte Sonderschlüssel ist <code>pos</code> und bezieht sich auf die Wortarten-Annotation der <%= doc_link_to 'Standard-Foundry', 'data', 'annotation'%>.
     Die folgende Abfrage findet alle attributiven Adjektive:</p>
 
-  %= doc_query poliqarp => '[pos=ADJA]'
+  %= doc_query poliqarp => loc('Q_poliqarp_complexpos', '** [pos=ADJA]'), cutoff => 1
 
   <p>Komplexe Segmente, die weitere Token-Annotationen erfordern, können die <code>foundry/layer</code> Notation dem Suchschlüssel voranstellen.
     Zum Beispiel, um alle Vorkommen von Plural-Wörtern in einer diese Information enthaltenden Foundry zu finden, können Sie mit der folgenden Abfrage suchen:</p>
 
-  %= doc_query poliqarp => '[mate/m=number:pl]'
+  %= doc_query poliqarp => loc('Q_poliqarp_complexplural', '** [mate/m=number:pl]'), cutoff => 1
 
   <h4>Negation</h4>
   <p>Die Negation von Termen in komplexen Ausdrücken kann durch Voranstellen eines Ausrufezeichens vor dem Gleichheitszeichen oder dem gesamten Term ausgedrückt werden.</p>
 
-  %= doc_query poliqarp => '[pos!=ADJA]'
-  %= doc_query poliqarp => '[!pos=ADJA]'
+  %= doc_query poliqarp => loc('Q_poliqarp_neg1', '** [pos!=ADJA]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_neg2', '** [!pos=ADJA]'), cutoff => 1
 
   <blockquote class="warning">
     <p>Vorsicht: Negierte komplexe Segmente können nicht alleinstehend gesucht werden.
@@ -101,7 +101,7 @@
 
   <p>Ein spezielles Segment ist das leere Segment, das jedem Wort im Index entspricht.</p>
 
-  %= doc_query poliqarp => '[]'
+  %= doc_query poliqarp => '[]', cutoff => 1
 
   <p>Leere Segmente sind nützlich, um Abstände von Wörtern auszudrücken, indem sie <%= doc_link_to 'Wiederholungen', 'ql', 'poliqarp-plus#syntagmatic-operators-repetitions' %> verwenden.</p>
 
@@ -117,7 +117,7 @@
   <p>Nicht alle Segmente sind an Worte gebunden - manche sind an Konzepte gebunden, die mehrere Wörter überspannen, z. B. Nominalphrasen, Sätze oder Absätze.
 Span-Segmente können durch spitze Klammern anstelle von eckigen Klammern gesucht werden.</p>
 
-  %= doc_query poliqarp => '<xip/c=INFC>'
+  %= doc_query poliqarp => loc('Q_poliqarp_span', '** <corenlp/c=NP>'), cutoff => 1
     
     <p>Ansonsten können sie genauso behandelt werden wie einfache oder komplexe Segmente.</p>
 </section>
@@ -127,24 +127,24 @@
 
   <p>Ein komplexes Segment kann mehrere Eigenschaften haben, die ein Token erfüllen muss. Zum Beispiel, um nach allen Wörtern einer bestimmten Oberflächenform eines bestimmten Lemmas (egal ob großgeschrieben oder nicht) zu suchen, können Sie folgende Abfrage nutzen:</p>
 
-  %= doc_query poliqarp => '[orth=laufe/i & base=Lauf]'
+  %= doc_query poliqarp => loc('Q_poliqarp_and', '** [orth=run/i & base=Run]'), cutoff => 1
 
   <p>Das Kaufmanns-Und kombiniert mehrere Eigenschaften mit einem logischen UND.
 Die Ausdrücke des komplexen Segments können negiert werden wie zuvor eingeführt.</p>
 
-  %= doc_query poliqarp => '[orth=laufe/i & base!=Lauf]'
+  %= doc_query poliqarp => loc('Q_poliqarp_andneg1', '** [orth=run/i & base!=Run]'), cutoff => 1
 
   <p>Die folgende Abfrage ist daher äquivalent:</p>
 
-  %= doc_query poliqarp => '[orth=laufe/i & !base=Lauf]'
+  %= doc_query poliqarp => loc('Q_poliqarp_andneg2', '** [orth=run/i & !base=Run]'), cutoff => 1
 
   <p>Alternativen können mit dem Balkensymbol ausgedrückt werden:</p>
 
-  %= doc_query poliqarp => '[base=laufen | base=gehen]'
+  %= doc_query poliqarp => loc('Q_poliqarp_or', '** [base=run | base=go]'), cutoff => 1
 
   <p>Alle diese Unterausdrücke können mit runden Klammern gruppiert werden, um komplexe boolesche Ausdrücke zu bilden:</p>
 
-  %= doc_query poliqarp => '[(base=laufen | base=gehen) & tt/pos=VVFIN]'
+  %= doc_query poliqarp => loc('Q_poliqarp_group', '** [(base=run | base=go) & tt/pos=VVFIN]'), cutoff => 1
 </section>
 
 <section id="syntagmatic-operators">
@@ -154,19 +154,19 @@
 
   <p>Sequenzen können verwendet werden, um Segmente in einer bestimmten Reihenfolge zu suchen. Hierfür werden die einfachen Ausdrücke mit Leerzeichen getrennt.</p>
 
-  %= doc_query poliqarp => 'der alte Mann'
+  %= doc_query poliqarp => loc('Q_poliqarp_seq', '** the old man'), cutoff => 1
 
   <p>Sie können natürlich auch mit komplexen Segmenten suchen:</p>
 
-  %= doc_query poliqarp => '[orth=der][orth=alte][orth=Mann]'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqcomplex', '** [orth=the][orth=old][orth=man]'), cutoff => 1
 
   <p>Jetzt können Sie auch den Nutzen des leeren Segments erkennen, um nach Wörtern zu suchen, die Sie nicht kennen:</p>
 
-  %= doc_query poliqarp => '[orth=der][][orth=Mann]'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqcomplexempty', '** [orth=the][][orth=man]'), cutoff => 1
 
   <p>Sie können Segmente und Span-Segmente auch in Sequenzen mischen, um beispielsweise nach einem Wort am Anfang eines Satzes zu suchen (das als erstes Wort nach dem Ende eines Satzes interpretiert werden kann).</p>
 
-  %= doc_query poliqarp => '<base/s=s>[orth=Der]'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqspan', '** <base/s=s>[orth=The]'), cutoff => 1
 
   <h4>Gruppen</h4>
 
@@ -176,15 +176,15 @@
 
   <p>Alternativen erlauben die Suche nach alternativen Segmenten oder Sequenzen von Segmenten, ähnlich dem paradigmatischen Operator. Sie haben bereits gesehen, dass Sie nach alternativen Adjektiv-Sequenzen suchen können, indem Sie eingeben:</p>
 
-  %= doc_query poliqarp => 'der [orth=alte | orth=junge] Mann'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqor', '** the [orth=old | orth=young] man'), cutoff => 1
 
   <p>Allerdings bereitet dieser Ausdruck Probleme, falls Sie nach Alternativen von Sequenzen anstatt von Begriffen suchen möchten. In diesem Fall können Sie syntagmatische Alternativen und Gruppen verwenden:</p>
 
-  %= doc_query poliqarp => '(dem jungen | der alte) Mann'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqorgroup1', '** the (young man | old woman)'), cutoff => 1
 
   <p>Das Balkensymbol funktioniert genauso wie bei der paradigmatischen Alternative, unterstützt aber Sequenzen unterschiedlicher Länge als Operanden. Die obige Abfrage nach einem alternativen Adjektiv kann daher umformuliert werden als:</p>
 
-  %= doc_query poliqarp => 'der (junge | alte) Mann'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqorgroup2', '** the (old | young) man'), cutoff => 1
 
   <h4 id="syntagmatic-operators-repetitions">Wiederholungen</h4>
 
@@ -192,37 +192,37 @@
 
     <p>Um eine Sequenz von drei Vorkommen eines Wortes zu suchen, können Sie Ihre Abfrage auf eine der folgenden Arten formulieren - sie werden die selben Ergebnisse erhalten:</p>
 
-  %= doc_query poliqarp => 'der der der'
-  %= doc_query poliqarp => 'der{3}'
-  %= doc_query poliqarp => '[orth=der]{3}'
+  %= doc_query poliqarp => loc('Q_poliqarp_repmanual', '** the the the'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_repsimple', '** the{3}'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_repcomplex', '** [orth=the]{3}'), cutoff => 1
 
   <p>Im Unterschied zu regulären Ausdrücken bezieht sich der Wiederholungsoperator nicht auf den Treffer, sondern auf das gegebene Muster. So gibt Ihnen die folgende Abfrage eine Sequenz von drei Wörtern mit einer definierten Zeichenfolge als Teilstring - aber die gefundenen Wörter müssen nicht identisch sein.</p>
 
-  %= doc_query poliqarp => '"la.*?"/i{3}'
+  %= doc_query poliqarp => loc('Q_poliqarp_repre', '** "ru.*?"/i{3}'), cutoff => 1
 
   <p>Das gleiche gilt für Annotationen. Die folgende Abfrage findet eine Folge von 3 bis 4 Adjektiven in einem definierten Kontext, wobei die Adjektive nicht identisch sein müssen.</p>
 
-  %= doc_query poliqarp => '[base=ein][tt/p=ADJA]{3,4}[xip/p=NOUN]'
+  %= doc_query poliqarp => loc('Q_poliqarp_repanno', '** [base=the][tt/p=ADJA]{3,4}[tt/p=NOUN]'), cutoff => 1
 
   <p>Zusätzlich zu nummerierten Quantitäten ist es auch möglich, Wiederholungsinformationen als Kleene-Operatoren <code>?</code>, <code>*</code> und <code>+</code> anzugeben.</p>
 
   <p>Um nach einer Sequenz mit einem optionalen Segment zu suchen, können Sie Folgendes angeben:</p>
 
-  %= doc_query poliqarp => '[base=die][tt/pos=ADJA]?[base=Baum]'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqopt1', '** [base=the][tt/pos=ADJA]?[base=Tree]'), cutoff => 1
 
   <p>Diese Abfrage ist identisch mit der nummerierten Quantifizierung von:</p>
 
-  %= doc_query poliqarp => '[base=die][tt/pos=ADJA]{,1}[base=Baum]'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqopt2', '** [base=the][tt/pos=ADJA]{,1}[base=Tree]'), cutoff => 1
 
   <p>Um nach den gleichen Sequenzen zu suchen, aber mit einer unbegrenzten Anzahl von Adjektiven, können Sie den Kleene-Stern benutzen:</p>
 
-  %= doc_query poliqarp => '[base=die][tt/pos=ADJA]*[base=Baum]'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqstar', '** [base=the][tt/pos=ADJA]*[base=Tree]'), cutoff => 1
 
   <p>Und um nach dieser Sequenz zu suchen, aber mit mindestens einem Adjektiv dazwischen, können Sie das Kleene Plus benutzen (alle Abfragen sind identisch):</p>
 
-  %= doc_query poliqarp => '[base=die][tt/pos=ADJA]+[base=Baum]', cutoff => 1
-  %= doc_query poliqarp => '[base=die][tt/pos=ADJA]{1,}[base=Baum]', cutoff => 1
-  %= doc_query poliqarp => '[base=die][tt/pos=ADJA][tt/pos=ADJA]*[base=Baum]', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqplus1', '** [base=the][tt/pos=ADJA]+[base=Tree]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqplus2', '** [base=the][tt/pos=ADJA]{1,}[base=Tree]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqplus3', '** [base=the][tt/pos=ADJA][tt/pos=ADJA]*[base=Tree]'), cutoff => 1
 
   <blockquote class="warning">
     <p>Wiederholungsoperatoren wie <code>{,n}</code>, <code>?</code> und <code>*</code> machen Segmente oder Gruppen von Segmenten optional. Falls diese Abfragen getrennt und nicht als Teil einer Sequenz verwendet werden (und es keine obligatorischen Segmente in der Abfrage gibt), werden Sie vom System gewarnt, dass Ihre Abfrage nicht als optional behandelt wird.</p>
@@ -231,16 +231,16 @@
 
   <p>Die Wiederholung kann auch verwendet werden, um Distanzen zwischen Segmenten auszudrücken, indem Sie <%= doc_link_to 'leere Segmente', 'ql', 'poliqarp-plus # leere Segmente'%> verwenden.</p>
 
-  %= doc_query poliqarp => '[base=die][][base=Baum]'
-  %= doc_query poliqarp => '[base=die][]{2}[base=Baum]', cutoff => 1
-  %= doc_query poliqarp => '[base=die][]{2,}[base=Baum]', cutoff => 1
-  %= doc_query poliqarp => '[base=die][]{,3}[base=Baum]', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqdistance1', '** [base=the][][base=Tree]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqdistance2', '** [base=the][]{2}[base=Tree]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqdistance3', '** [base=the][]{2,}[base=Tree]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqdistance4', '** [base=the][]{,3}[base=Tree]'), cutoff => 1
 
   <p>Selbstverständlich können auch Kleene-Operatoren mit leeren Segmenten eingesetzt werden.</p>
 
-  %= doc_query poliqarp => '[base=die][]?[base=Baum]'
-  %= doc_query poliqarp => '[base=die][]*[base=Baum]', cutoff => 1
-  %= doc_query poliqarp => '[base=die][]+[base=Baum]', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqdistanceopt', '** [base=the][]?[base=Tree]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqdistancestar', '** [base=the][]*[base=Tree]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqdistanceplus', '** [base=the][]+[base=Tree]'), cutoff => 1
     
   <h4>Positionen</h4>
 
@@ -250,23 +250,23 @@
 
   <p>Der Befehl <code>contains()</code> ergibt einen Treffer, wenn eine zweite Unterabfrage innerhalb der Spanne einer ersten Unterabfrage liegt.</p>
 
-  %= doc_query poliqarp => 'contains(<base/s=s>, [tt/p=KOUS])', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_poscontains', '** contains(<base/s=s>, [tt/p=KOUS])'), cutoff => 1
 
   <p>Die <code>startsWith()</code> Operation ergibt einen Treffer, wenn eine zweite Unterabfrage am Anfang der Spanne einer ersten Unterabfrage vorkommt.</p>
 
-  %= doc_query poliqarp => 'startsWith(<base/s=s>, [tt/p=KOUS])', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_posstartswith', '** startsWith(<base/s=s>, [tt/p=KOUS])'), cutoff => 1
 
   <p>Die Operation <code>endsWith()</code> ergibt einen Treffer, wenn eine zweite Unterabfrage am Ende der Spanne einer ersten Unterabfrage vorkommt.</p>
 
-  %= doc_query poliqarp => 'endsWith(<base/s=s>, [opennlp/p=NN])', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_posendswith', '** endsWith(<base/s=s>, [opennlp/p=NN])'), cutoff => 1
 
   <p>Die Operation <code>matches()</code> ergibt einen Treffer, wenn eine zweite Unterabfrage die gleiche Spanne einer ersten Unterabfrage hat.</p>
 
-  %= doc_query poliqarp => 'matches(<base/s=s>,[tt/p=CARD][tt/p="N.*"])', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_posmatches', '** matches(<base/s=s>,[tt/p=CARD][tt/p="N.*"])'), cutoff => 1
 
   <p>Die Operation <code>overlaps()</code> ergibt einen Treffer, wenn eine zweite Unterabfrage mit der Spanne einer ersten Unterabfrage überlappt.</p>
 
-  %= doc_query poliqarp => 'overlaps([][tt/p=ADJA],{1:[tt/p=ADJA]}[])', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_posoverlaps', '** overlaps([][tt/p=ADJA],{1:[tt/p=ADJA]}[])'), cutoff => 1
 
   <blockquote class="warning">
     <p>Positionsoperatoren sind noch experimentell und können sich in bestimmten Aspekten in Zukunft ändern (obwohl das definierte Verhalten stabil ist). Es gibt auch falsches Verhalten, das in zukünftigen Versionen korrigiert wird.</p>
@@ -287,9 +287,7 @@
 
   <p>Klassen werden verwendet, um Teiltreffer durch umgebende geschweifte Klammern und eine Klassennummer <code>{1: ...}</code> zu gruppieren. Klassen können verwendet werden, um auf Teiltreffer in einer Abfrage zu verweisen, ähnlich wie bei Captures in regulären Ausdrücken. In Poliqarp+ haben Klassen mehrere Zwecke, wobei die Hervorhebung der Intuitivste ist:</p>
 
-  %= doc_query poliqarp => 'der {1:{2:[]} Mann}'
-
-  %#= doc_query poliqarp => 'der {1:{2:[]{1,4}} {3:Baum}} {4:[]}'
+  %= doc_query poliqarp => loc('Q_poliqarp_classes', '** the {1:{2:[]} man}'), cutoff => 1
 
   <p>In KorAP können Klassen von 1 bis 128 definiert werden. Wenn eine Klassennummer fehlt, ist die Klasse standardmäßig auf die Klassennummer 1 gesetzt: <code>{...}</code> ist gleich <code>{1: ...}</code>.</p>
 
@@ -297,23 +295,22 @@
 
   <p>Basierend auf Klassen können Treffer geändert werden. Der Operator <code>focus()</code> beschränkt die Spanne eines Treffers auf die Grenzen einer bestimmten Klasse.</p>
 
-  %= doc_query poliqarp => 'focus(der {Baum})'
+  %= doc_query poliqarp => loc('Q_poliqarp_focus', '** focus(the {Tree})'), cutoff => 1
 
   <p>Die obige Abfrage sucht nach einer Sequenz, wobei der Treffer auf das zweite Segment beschränkt wird. Sie können das erste Segment in dieser Abfrage als <i>positive look-behind zero-length assertion</i> in regulären Ausdrücken verstehen.</p>
 
   <p>Aber Fokussieren ist weitaus nützlicher, wenn Sie nach Treffern suchen, ohne die Oberflächenform zu kennen. Um beispielsweise alle Wörter zwischen zwei definierten Wörtern zu finden, können Sie suchen:</p>
 
-  %= doc_query poliqarp => 'focus(der {[]} Mann)'
+  %= doc_query poliqarp => loc('Q_poliqarp_focusempty', '** focus(the {[]} Tree)'), cutoff => 1
 
   <p>Dies beschränkt die Treffer auf alle interessanten Begriffe zwischen der definierten Sequenz. Oder Sie können nach allen Wörtern, die einer Sequenz unmittelbar folgen suchen:</p>
 
-  %= doc_query poliqarp => 'focus(der alte und {[]})'
+  %= doc_query poliqarp => loc('Q_poliqarp_focusextension', '** focus(the old and {[]})'), cutoff => 1
 
-  <!--
-      <p><code>focus()</code> ist besonders nützlich, wenn Sie in bestimmten Bereichen nach Treffern suchen, zum Beispiel in Anführungszeichen mit Positionsoperatoren. Während Sie sich nicht für das ganze Zitat interessieren, können Sie sich darauf konzentrieren, was für Sie wirklich wichtig ist.</p>
+  <p><code>focus()</code> ist besonders nützlich, wenn Sie in bestimmten Bereichen nach Treffern suchen, zum Beispiel in Zitaten mit Positionsoperatoren.
+    Während Sie sich nicht für das ganze Zitat interessieren, können Sie das Ergebnis darauf fokussieren, was für Sie relevant ist.</p>
 
-      %= doc_query poliqarp => 'focus(1:contains(er []{,10} sagte, {1:Baum}))'
-      -->
+  %= doc_query poliqarp => loc('Q_poliqarp_focusrelevance', '** focus(contains(she []{,10} said, {Tree}))'), cutoff => 1
 
   <p>Falls eine Klassennummer fehlt, setzt der Fokusoperator standardmäßig auf die Klassennummer 1: <code>focus(...)</code> entspricht <code>focus(1: ...)</code>.</p>
 
diff --git a/templates/doc/ql/poliqarp-plus.html.ep b/templates/doc/ql/poliqarp-plus.html.ep
index b8fe913..6d7a58e 100644
--- a/templates/doc/ql/poliqarp-plus.html.ep
+++ b/templates/doc/ql/poliqarp-plus.html.ep
@@ -10,15 +10,15 @@
   <p>The atomic elements of Poliqarp queries are segments. Most of the time segments represent words and can be simple queried:</p>
   %# footnote: In the polish national corpus, Poliqarp can join multiple segments when identifying a single word.
 
-  %= doc_query poliqarp => loc('Q_poliqarp_simple', 'Tree')
+  %= doc_query poliqarp => loc('Q_poliqarp_simple', '** Tree')
 
   <p>Sequences of simple segments are expressed using a space delimiter:</p>
 
-  %= doc_query poliqarp => loc('Q_poliqarp_simpleseq', 'the Tree')
+  %= doc_query poliqarp => loc('Q_poliqarp_simpleseq', '** the Tree')
 
   <p>Simple segments always refer to the surface form of a word. To search for surface forms without case sensitivity, you can use the <code>/i</code> flag.</p>
 
-  %= doc_query poliqarp => loc('Q_poliqarp_simpleci', 'run/i')
+  %= doc_query poliqarp => loc('Q_poliqarp_simpleci', '** run/i')
 
   <p>The query above will find all occurrences of the term irrespective of the capitalization of letters.</p>
 
@@ -26,19 +26,19 @@
 
   <p>Segments can also be queried using <%= doc_link_to 'regular expressions', 'ql', 'regexp' %> - by surrounding the segment with double quotes.</p>
 
-  %= doc_query poliqarp => '"l(au|ie)fen"'
+  %= doc_query poliqarp => loc('Q_poliqarp_re', '** "r(u|a)n"'), cutoff => 1
 
   <p>Regular expression segments will always match the whole segment, meaning the above query will find words starting with the first letter of the regular expression and ending with the last letter. To support subqueries, you can use the <code>/x</code> flag.</p>
 
-    %= doc_query poliqarp => '"l(au|ie)fen"/x', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_rex', '** "r(u|a)n"/x'), cutoff => 1
 
   <p>The <code>/x</code> will search for all segments that contain a sequence of characters the regular expression matches. That means the above query is equivalent to:</p>
 
-  %= doc_query poliqarp => '".*?l(au|ie)fen.*?"', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_recontext', '** ".*?r(u|a)n.*?"'), cutoff => 1
 
   <p>The <code>/x</code> flag can also be used in conjunction with strict expressions to search for substrings:</p>
 
-  %= doc_query poliqarp => 'trenn/xi', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_simplex', '** part/xi'), cutoff => 1
 
   <p>The above query will find all occurrences of segments including the defined substring regardless of upper and lower case.</p>
 
@@ -48,7 +48,7 @@
 
   <p>You can again apply the <code>/i</code> flag to regular expressions to search case insensitive.</p>
 
-  %= doc_query poliqarp => '"l(au|ie)fen"/xi', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_rexi', '** "r(u|a)n"/xi'), cutoff => 1
 </section>
 
 <section id="complex">
@@ -59,36 +59,36 @@
   <p>The KorAP implementation of Poliqarp provides three special segment keys: <code>orth</code> for surface forms, <code>base</code> for lemmata, and <code>pos</code> for Part-of-Speech. The following complex query finds all surface forms of the defined word.</p>
   %# There are more special keys in Poliqarp, but KorAP doesn't provide them.
 
-  %= doc_query poliqarp => '[orth=Baum]'
+  %= doc_query poliqarp => loc('Q_poliqarp_complexorth', '** [orth=Tree]')
 
   <p>The query is thus equivalent to:</p>
 
-  %= doc_query poliqarp => 'Baum'
+  %= doc_query poliqarp => loc('Q_poliqarp_simple', '** Tree')
 
   <p>Complex segments expect simple expressions as values, meaning that the following expression is valid as well:</p>
 
-  %= doc_query poliqarp => '[orth="l(au|ie)fen"/xi]', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_complexre', '** [orth="r(u|a)n"/xi]'), cutoff => 1
 
   <p>Another special key is <code>base</code>, refering to the lemma annotation of the <%= doc_link_to 'default foundry', 'data', 'annotation' %>.
     The following query finds all occurrences of segments annotated as a specified lemma by the default foundry.</p>
 
-  %= doc_query poliqarp => '[base=Baum]'
+  %= doc_query poliqarp => loc('Q_poliqarp_complexlemma', '** [base=Tree]'), cutoff => 1
 
   <p>The third special key is <code>pos</code>, refering to the part-of-speech annotation of the <%= doc_link_to 'default foundry', 'data', 'annotation' %>.
     The following query finds all attributive adjectives:</p>
 
-  %= doc_query poliqarp => loc('Q_poliqarp_complexpos', '[pos=ADJA]')
+  %= doc_query poliqarp => loc('Q_poliqarp_complexpos', '** [pos=ADJA]'), cutoff => 1
 
   <p>Complex segments requesting further token annotations can have keys following the <code>foundry/layer</code> notation.
     For example to find all occurrences of plural words in a supporting foundry, you can search using the following query:</p>
 
-  %= doc_query poliqarp => '[mate/m=number:pl]'
+  %= doc_query poliqarp => loc('Q_poliqarp_complexplural', '** [mate/m=number:pl]'), cutoff => 1
 
   <h4>Negation</h4>
   <p>Negation of terms in complex expressions can be expressed by prepending the equal sign or the whole expression with an exclamation mark.</p>
 
-  %= doc_query poliqarp => '[pos!=ADJA]'
-  %= doc_query poliqarp => '[!pos=ADJA]'
+  %= doc_query poliqarp => loc('Q_poliqarp_neg1', '** [pos!=ADJA]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_neg2', '** [!pos=ADJA]'), cutoff => 1
 
   <blockquote class="warning">
     <p>Beware: Negated complex segments can't be searched as a single statement.
@@ -99,7 +99,7 @@
 
   <p>A special segment is the empty segment, that matches every word in the index.</p>
 
-  %= doc_query poliqarp => '[]'
+  %= doc_query poliqarp => '[]', cutoff => 1
 
   <p>Empty segments are useful to express distances of words by using <%= doc_link_to 'repetitions', 'ql', 'poliqarp-plus#syntagmatic-operators-repetitions' %>.</p>
 
@@ -115,7 +115,7 @@
   <p>Not all segments are bound to words - some are bound to concepts spanning multiple words, for example noun phrases, sentences, or paragraphs.
 Span segments can be searched for using angular brackets instead of square brackets.</p>
 
-  %= doc_query poliqarp => '<xip/c=INFC>'
+  %= doc_query poliqarp => loc('Q_poliqarp_span', '** <corenlp/c=NP>'), cutoff => 1
     
     <p>Otherwise they can be treated in exactly the same way as simple or complex segments.</p>
 </section>
@@ -125,24 +125,24 @@
 
   <p>A complex segment can have multiple properties a token requires. For example to search for all words with a certain surface form of a particular lemma (no matter if capitalized or not), you can search for:</p>
 
-  %= doc_query poliqarp => '[orth=laufe/i & base=Lauf]'
+  %= doc_query poliqarp => loc('Q_poliqarp_and', '** [orth=run/i & base=Run]'), cutoff => 1
 
   <p>The ampersand combines multiple properties with a logical AND.
 Terms of the complex segment can be negated as introduced before.</p>
 
-  %= doc_query poliqarp => '[orth=laufe/i & base!=Lauf]'
+  %= doc_query poliqarp => loc('Q_poliqarp_andneg1', '** [orth=run/i & base!=Run]'), cutoff => 1
 
   <p>The following query is therefore equivalent:</p>
 
-  %= doc_query poliqarp => '[orth=laufe/i & !base=Lauf]'
+  %= doc_query poliqarp => loc('Q_poliqarp_andneg2', '** [orth=run/i & !base=Run]'), cutoff => 1
 
   <p>Alternatives can be expressed by using the pipe symbol:</p>
 
-  %= doc_query poliqarp => '[base=laufen | base=gehen]'
+  %= doc_query poliqarp => loc('Q_poliqarp_or', '** [base=run | base=go]'), cutoff => 1
 
   <p>All these sub expressions can be grouped using round brackets to form complex boolean expressions:</p>
 
-  %= doc_query poliqarp => '[(base=laufen | base=gehen) & tt/pos=VVFIN]'
+  %= doc_query poliqarp => loc('Q_poliqarp_group', '** [(base=run | base=go) & tt/pos=VVFIN]'), cutoff => 1
 </section>
 
 <section id="syntagmatic-operators">
@@ -152,19 +152,19 @@
 
   <p>Sequences can be used to search for segments in order. For this, simple expressions are separated by whitespaces.</p>
 
-  %= doc_query poliqarp => 'der alte Mann'
+  %= doc_query poliqarp => loc('Q_poliqarp_seq', '** the old man'), cutoff => 1
 
   <p>However, you can obviously search using complex segments as well:</p>
 
-  %= doc_query poliqarp => '[orth=der][orth=alte][orth=Mann]'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqcomplex', '** [orth=the][orth=old][orth=man]'), cutoff => 1
 
   <p>Now you may see the benefit of the empty segment to search for words you don't know:</p>
 
-  %= doc_query poliqarp => '[orth=der][][orth=Mann]'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqcomplexempty', '** [orth=the][][orth=man]'), cutoff => 1
 
   <p>You are also able to mix segments and spans in sequences, for example to search for a word at the beginning of a sentence (which can be interpreted as the first word after the end of a sentence).</p>
 
-  %= doc_query poliqarp => '<base/s=s>[orth=Der]'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqspan', '** <base/s=s>[orth=The]'), cutoff => 1
 
   <h4>Groups</h4>
 
@@ -174,52 +174,52 @@
 
   <p>Alternations allow for searching alternative segments or sequences of segments, similar to the paradigmatic operator. You already have seen that you can search for a sequence with an alternative adjective in between by typing in:</p>
 
-  %= doc_query poliqarp => 'der [orth=alte | orth=junge] Mann'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqor', '** the [orth=old | orth=young] man'), cutoff => 1
 
   <p>However, this formulation has problems in case you want to search for alternations of sequences rather than terms. In this case you can use syntagmatic alternations and groups:</p>
 
-  %= doc_query poliqarp => '(dem jungen | der alte) Mann'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqorgroup1', '** the (young man | old woman)'), cutoff => 1
 
   <p>The pipe symbol works the same way as with the paradigmatic alternation, but supports sequences of different length as operands. The above query with an alternative adjective in a sequence can therefore be reformulated as:</p>
 
-  %= doc_query poliqarp => 'der (junge | alte) Mann'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqorgroup2', '** the (old | young) man'), cutoff => 1
 
   <h4 id="syntagmatic-operators-repetitions">Repetition</h4>
 
   <p>Repetitions in Poliqarp are realized as in <%= doc_link_to 'regular expressions', 'ql', 'regexp' %>, by giving quantifieres in curly brackets.</p>
   <p>To search for a sequence of three occurrences of a defined string, you can formulate your query in any of the following ways - they will have the same results:</p>
 
-  %= doc_query poliqarp => 'der der der'
-  %= doc_query poliqarp => 'der{3}'
-  %= doc_query poliqarp => '[orth=der]{3}'
+  %= doc_query poliqarp => loc('Q_poliqarp_repmanual', '** the the the'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_repsimple', '** the{3}'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_repcomplex', '** [orth=the]{3}'), cutoff => 1
 
   <p>In difference to regular expressions, the repetition operation won't refer to the match but to the pattern given. So the following query will give you a sequence of three words with a defined substring - but the words don't have to be identical.</p>
 
-  %= doc_query poliqarp => '"la.*?"/i{3}'
+  %= doc_query poliqarp => loc('Q_poliqarp_repre', '** "ru.*?"/i{3}'), cutoff => 1
 
   <p>The same is true for annotations. The following query will find a sequence of 3 to 4 adjectives in a defined context. The adjectives do not have to be identical though.</p>
 
-  %= doc_query poliqarp => '[base=ein][tt/p=ADJA]{3,4}[xip/p=NOUN]'
+  %= doc_query poliqarp => loc('Q_poliqarp_repanno', '** [base=the][tt/p=ADJA]{3,4}[tt/p=NOUN]'), cutoff => 1
 
   <p>In addition to numbered quantities, it is also possible to pass repetition information as Kleene operators <code>?</code>, <code>*</code>, and <code>+</code>.</p>
 
   <p>To search for a sequence with an optional segment, you can search for:</p>
 
-  %= doc_query poliqarp => '[base=die][tt/pos=ADJA]?[base=Baum]'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqopt1', '** [base=the][tt/pos=ADJA]?[base=Tree]'), cutoff => 1
 
   <p>This query is identical to the numbered quantification of:</p>
 
-  %= doc_query poliqarp => '[base=die][tt/pos=ADJA]{,1}[base=Baum]'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqopt2', '** [base=the][tt/pos=ADJA]{,1}[base=Tree]'), cutoff => 1
 
   <p>To search for the same sequences but with unlimited adjectives in between, you can use the Kleene Star:</p>
 
-  %= doc_query poliqarp => '[base=die][tt/pos=ADJA]*[base=Baum]'
+  %= doc_query poliqarp => loc('Q_poliqarp_seqstar', '** [base=the][tt/pos=ADJA]*[base=Tree]'), cutoff => 1
 
   <p>And to search for this sequence but with at least one adjective in between, you can use the Kleene Plus (all queries are identical):</p>
 
-  %= doc_query poliqarp => '[base=die][tt/pos=ADJA]+[base=Baum]', cutoff => 1
-  %= doc_query poliqarp => '[base=die][tt/pos=ADJA]{1,}[base=Baum]', cutoff => 1
-  %= doc_query poliqarp => '[base=die][tt/pos=ADJA][tt/pos=ADJA]*[base=Baum]', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqplus1', '** [base=the][tt/pos=ADJA]+[base=Tree]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqplus2', '** [base=the][tt/pos=ADJA]{1,}[base=Tree]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqplus3', '** [base=the][tt/pos=ADJA][tt/pos=ADJA]*[base=Tree]'), cutoff => 1
 
   <blockquote class="warning">
     <p>Repetition operators like <code>{,n}</code>, <code>?</code>, and <code>*</code> make segments or groups of segments optional. In case these queries are used separated and not as part of a sequence (and there are no mandatory segments in the query), you will be warned by the system that your query won't be treated as optional.</p>
@@ -228,16 +228,16 @@
 
   <p>Repetition can also be used to express distances between segments by using <%= doc_link_to 'empty segments', 'ql', 'poliqarp-plus#empty-segments' %>.</p>
 
-  %= doc_query poliqarp => '[base=die][][base=Baum]'
-  %= doc_query poliqarp => '[base=die][]{2}[base=Baum]', cutoff => 1
-  %= doc_query poliqarp => '[base=die][]{2,}[base=Baum]', cutoff => 1
-  %= doc_query poliqarp => '[base=die][]{,3}[base=Baum]', cutoff => 1
-
+  %= doc_query poliqarp => loc('Q_poliqarp_seqdistance1', '** [base=the][][base=Tree]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqdistance2', '** [base=the][]{2}[base=Tree]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqdistance3', '** [base=the][]{2,}[base=Tree]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqdistance4', '** [base=the][]{,3}[base=Tree]'), cutoff => 1
+  
   <p>Of course, Kleene operators can be used with empty segments as well.</p>
 
-  %= doc_query poliqarp => '[base=die][]?[base=Baum]'
-  %= doc_query poliqarp => '[base=die][]*[base=Baum]', cutoff => 1
-  %= doc_query poliqarp => '[base=die][]+[base=Baum]', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqdistanceopt', '** [base=the][]?[base=Tree]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqdistancestar', '** [base=the][]*[base=Tree]'), cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_seqdistanceplus', '** [base=the][]+[base=Tree]'), cutoff => 1
     
   <h4>Position</h4>
 
@@ -245,23 +245,23 @@
   <p>Positional operators compare two matches of subqueries and will match, in case a certain condition regarding the position of both is true.</p>
   <p>The <code>contains()</code> operation will match, when a second subquery matches inside the span of a first subquery.</p>
 
-  %= doc_query poliqarp => 'contains(<base/s=s>, [tt/p=KOUS])', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_poscontains', '** contains(<base/s=s>, [tt/p=KOUS])'), cutoff => 1
 
   <p>The <code>startsWith()</code> operation will match, when a second subquery matches at the beginning of the span of a first subquery.</p>
 
-  %= doc_query poliqarp => 'startsWith(<base/s=s>, [tt/p=KOUS])', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_posstartswith', '** startsWith(<base/s=s>, [tt/p=KOUS])'), cutoff => 1
 
   <p>The <code>endsWith()</code> operation will match, when a second subquery matches at the end of the span of a first subquery.</p>
 
-  %= doc_query poliqarp => 'endsWith(<base/s=s>, [opennlp/p=NN])', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_posendswith', '** endsWith(<base/s=s>, [opennlp/p=NN])'), cutoff => 1
 
   <p>The <code>matches()</code> operation will match, when a second subquery has the exact same span as a first subquery.</p>
 
-  %= doc_query poliqarp => 'matches(<base/s=s>,[tt/p=CARD][tt/p="N.*"])', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_posmatches', '** matches(<base/s=s>,[tt/p=CARD][tt/p="N.*"])'), cutoff => 1
 
   <p>The <code>overlaps()</code> operation will match, when a second subquery has an overlapping span with the first subquery.</p>
 
-  %= doc_query poliqarp => 'overlaps([][tt/p=ADJA],{1:[tt/p=ADJA]}[])', cutoff => 1
+  %= doc_query poliqarp => loc('Q_poliqarp_posoverlaps', '** overlaps([][tt/p=ADJA],{1:[tt/p=ADJA]}[])'), cutoff => 1
 
   <blockquote class="warning">
     <p>Positional operators are still experimental and may change in certain aspects in the future (although the behaviour defined is intended to be stable). There is also known incorrect behaviour which will be corrected in future versions.</p>
@@ -282,9 +282,7 @@
 
   <p>Classes are used to group submatches by surrounding curly brackets and a class number <code>{1:...}</code>. Classes can be used to refer to submatches in a query, similar to captures in regular expressions. In Poliqarp+ classes have multiple purposes, with highlighting being the most intuitive one:</p>
 
-  %= doc_query poliqarp => 'der {1:{2:[]} Mann}'
-
-  %#= doc_query poliqarp => 'der {1:{2:[]{1,4}} {3:Baum}} {4:[]}'
+  %= doc_query poliqarp => loc('Q_poliqarp_classes', '** the {1:{2:[]} man}'), cutoff => 1
 
   <p>In KorAP classes can be defined from 1 to 128. In case a class number is missing, the class defaults to the class number 1: <code>{...}</code> is equal to <code>{1:...}</code>.</p>
 
@@ -292,24 +290,23 @@
 
   <p>Based on classes, matches may be modified. The <code>focus()</code> operator restricts the span of a match to the boundary of a certain class.</p>
 
-  %= doc_query poliqarp => 'focus(der {Baum})'
+  %= doc_query poliqarp => loc('Q_poliqarp_focus', '** focus(the {Tree})'), cutoff => 1
 
   <p>The query above will search for a sequence but the match will be limited to the second segment. You can think of the first segment in this query as a <i>positive look-behind zero-length assertion</i> in regular expressions.</p>
 
   <p>But focus is way more useful if you are searching for matches without knowing the surface form. For example, to find all terms between defined words you can search:</p>
 
-  %= doc_query poliqarp => 'focus(der {[]} Mann)'
+  %= doc_query poliqarp => loc('Q_poliqarp_focusempty', '** focus(the {[]} Tree)'), cutoff => 1
 
   <p>Or you may want to search for all words following a known sequence immediately:</p>
 
-  %= doc_query poliqarp => 'focus(der alte und {[]})'
+  %= doc_query poliqarp => loc('Q_poliqarp_focusextension', '** focus(the old and {[]})'), cutoff => 1
 
-  <!--
-      <p><code>focus()</code> is especially useful if you are searching for matches in certain areas, for example in quotes using positional operators.
-While not being interested in the whole quote as a match, you can focus on what's really relevant to you.</p>
+  <p><code>focus()</code> is especially useful if you are searching for matches in certain areas,
+    for example in quotes using positional operators.
+    While not being interested in the whole quote as a match, you can focus on what's really relevant to you.</p>
 
-      %= doc_query poliqarp => 'focus(1:contains(er []{,10} sagte, 1{Baum}))'
-      -->
+  %= doc_query poliqarp => loc('Q_poliqarp_focusrelevance', '** focus(contains(she []{,10} said, {Tree}))'), cutoff => 1
 
   <p>In case a class number is missing, the focus operator defaults to the class number 1: <code>focus(...)</code> is equal to <code>focus(1: ...)</code>.</p>
 
