diff --git a/Changes b/Changes
index bf39da6..ecb78d3 100644
--- a/Changes
+++ b/Changes
@@ -1,7 +1,8 @@
-0.53 2024-02-27
+0.53 2024-03-14
         - Solve a potential timing issue in VC rendering. (diewald)
         - Update DeReKo link in corpus specific localization. (hebasta)
         - News and announcements are now displayed in Safari (fixes #208). (hebasta) 
+        - Translate example query documentation. (diewald)
 
 0.52 2023-11-29
         - Update Piwik dependency to point to matomo.js. (diewald)
diff --git a/Dockerfile b/Dockerfile
index 8c0da65..d4615f2 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -44,7 +44,7 @@
             curl && \
     set -o pipefail && \
     curl -L https://cpanmin.us | perl - App::cpanminus && \
-    cpanm https://github.com/Akron/Mojolicious-Plugin-Localize/archive/refs/tags/v0.21.tar.gz \
+    cpanm https://github.com/Akron/Mojolicious-Plugin-Localize/archive/refs/tags/v0.22.tar.gz \
           Cpanel::JSON::XS \
           EV \
           IO::Socket::Socks
diff --git a/Makefile.PL b/Makefile.PL
index 6039ff2..9717a58 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -42,7 +42,7 @@
     'Mojolicious::Plugin::Piwik' => 2.00,
 
     # Currently on GitHub only (github.com/akron)
-    'Mojolicious::Plugin::Localize' => 0.21
+    'Mojolicious::Plugin::Localize' => 0.22
   },
 
   META_MERGE   => {
diff --git a/kalamar.dict b/kalamar.dict
index 16c0a38..daf0698 100644
--- a/kalamar.dict
+++ b/kalamar.dict
@@ -78,6 +78,7 @@
       intro => 'de/intro',
       doc => {
         ql => {
+          '.' => 'de/doc/ql',
           'poliqarp-plus' => 'de/doc/ql/poliqarp-plus',
           'cosmas-2' => 'de/doc/ql/cosmas-2'
         },
@@ -207,6 +208,7 @@
       intro => 'intro',
       doc => {
         ql => {
+          '.' => 'doc/ql',
           'poliqarp-plus' => 'doc/ql/poliqarp-plus',
           'cosmas-2' => 'doc/ql/cosmas-2'
         },
diff --git a/t/doc.t b/t/doc.t
index b0f15c9..af5c2b0 100644
--- a/t/doc.t
+++ b/t/doc.t
@@ -12,7 +12,17 @@
 
 # Bug 2021-06-11
 $t->get_ok('/doc/ql/wildcards?cat=1')
-  ->status_is(404)
+  ->status_is(404) # ! Should be 404!
+  ;
+
+$t->get_ok('/doc/ql/')
+  ->status_is(200)
+  ->text_is('title','KorAP: Query Languages')
+  ;
+
+$t->get_ok('/doc/ql')
+  ->status_is(200)
+  ->text_is('title','KorAP: Query Languages')
   ;
 
 # Embedding
@@ -46,6 +56,16 @@
   ->status_is(200)
   ->text_is("title", "KorAP - Corpus Analysis Platform");
 
+$t->get_ok('/doc/ql/' => { 'Accept-Language' => 'de-DE, en-US, en' })
+  ->status_is(200)
+  ->text_is('title','KorAP: Anfragesprachen')
+  ->text_is('h3','Beispielanfragen')
+  ;
+
+$t->get_ok('/doc/ql' => { 'Accept-Language' => 'de-DE, en-US, en' })
+  ->status_is(200)
+  ->text_is('title','KorAP: Anfragesprachen')
+  ;
 
 # Pages
 $t->get_ok('/doc/ql/poliqarp-plus' => { 'Accept-Language' => 'en-US, en, de-DE' })
diff --git a/templates/de/doc/ql.html.ep b/templates/de/doc/ql.html.ep
new file mode 100644
index 0000000..4d79fa8
--- /dev/null
+++ b/templates/de/doc/ql.html.ep
@@ -0,0 +1,48 @@
+% layout 'main', title => 'KorAP: ' . loc('Nav_ql');
+
+%= page_title
+
+<p>
+  KorAP bietet für die Recherche mehrere Anfragesprachen an, wobei <%= embedded_link_to 'doc', 'Poliqarp', 'ql', 'poliqarp-plus' %>
+  derzeit die beste Unterstützung aufweist.
+  Poliqarp ist den Anfragesprachen der
+  <%= ext_link_to 'IMS Open Corpus Workbench (CWB)', "http://cwb.sourceforge.net/" %> und der
+  <%= ext_link_to 'SketchEngine', "https://www.sketchengine.eu/documentation/corpus-querying/" %> sehr ähnlich.
+  Die Sprache wurde ursprünglich für das
+  <%= ext_link_to 'Polnische National Korpus', "http://nkjp.pl/poliqarp/" %> entwickelt.
+</p>
+
+<section id="examples">
+  <h3>Beispielanfragen</h3>
+  
+  <p><strong><%= embedded_link_to 'doc', 'Poliqarp', 'ql', 'poliqarp-plus' %></strong>: Finde alle Vorkommen des Lemmas &quot;Baum&quot; (annotiert durch die <%= embedded_link_to 'doc', 'default foundry', 'data', 'annotation' %>).</p>
+  %= doc_query poliqarp => '[base=Baum]'
+
+  <p><strong><%= embedded_link_to 'doc', 'Poliqarp', 'ql', 'poliqarp-plus' %></strong>: Finde Adjektiv-Sequenzen (annotiert durch Treetagger), die eine Länge zwischen 3 und 5 Elementen haben.</p>
+  %= doc_query poliqarp => '[tt/p=ADJA]{3,5}'
+
+  <p><strong><%= embedded_link_to 'doc', 'Cosmas-II', 'ql', 'cosmas-2' %></strong>: Finde alle Vorkommen des Wortes &quot;der&quot; und des Wortes &quot;Baum&quot;, die in einem Abstand von maximal 5 Token zueinander stehen, wobei die Reihenfolge irrelevant ist.</p>
+  %= doc_query cosmas2 => 'der /w5 Baum'
+
+%#  <p><strong><%= embedded_link_to 'doc', 'Cosmas-II', 'ql', 'cosmas-2' %></strong>: Finde alle Vorkommen einer Wortfolge, dessen erstes Wort ein Adjektiv ist (annotiert durch Marmot), gefolgt von dem Wort &quot;Baum&quot; (wobei die Groß-/Kleinschreibung ignoriert werden kann). Zusätzlich soll diese Wortfolge innerhalb eines Satzes stehen (annotiert in der <%= embedded_link_to 'doc', 'default foundry', 'data', 'annotation' %>).</p>
+%#  <p><em>Bitte beachten</em>: Inkompatibilitäten von Anfragen mit anderen Systemen werden in Form von Warnungen ausgegeben.</p>
+%#  %= doc_query cosmas2 => 'MORPH(marmot/p=ADJA) $Baum #IN #ELEM(s)', cutoff => 1
+
+  <p><strong><%= embedded_link_to 'doc', 'Poliqarp+', 'ql', 'poliqarp-plus' %></strong>: Finde alle Nominalphrasen (annotiert von CoreNLP), die ein Adverb (annotiert von OpenNLP) enthalten, das von Treetagger als Wortart annotiert wurde, welche mit einem &quot;A&quot; beginnen muss (ausgedrückt durch einen regulären Ausdruck).</p>
+  %= doc_query poliqarp => 'contains(<corenlp/c=NP>,{[opennlp/p=ADV & tt/p="A.*"]})', cutoff => 1
+    
+  <p><strong><%= embedded_link_to 'doc', 'Poliqarp+', 'ql', 'poliqarp-plus' %></strong>: Finde alle Sätze (annotiert in der base foundry), die mit einer Wortfolge beginnen, die zunächst ein Wort im Präsens aufweist (annotiert durch Marmot) und von dem Lemma &quot;die&quot; (annotiert von der <%= embedded_link_to 'doc', 'default foundry', 'data', 'annotation' %>) gefolgt wird. Hebe beide Trefferwörter in unterschiedlichen Farben hervor.</p>
+  %= doc_query poliqarp => 'startswith(<base/s=s>, {1:[marmot/m=tense:pres]}{2:[base=die]})', cutoff => 1
+
+  <p><strong><%= embedded_link_to 'doc', 'Poliqarp+', 'ql', 'poliqarp-plus' %></strong>: Finde alle Wortfolgen eines Artikels, gefolgt von drei Adjektiven und einem Substantiv (alle annotiert von Treetagger), die einen Satz beenden (annotiert in der base foundry). Hebe alle Teile der Wortfolge farblich hervor.</p>
+  %= doc_query poliqarp => 'focus(3:endswith(<base/s=s>,{3:[tt/p=ART]{1:{2:[tt/p=ADJA]{3,4}}[tt/p=NN]}}))', cutoff => 1
+
+  <p><strong><%= embedded_link_to 'doc', 'Annis', 'ql', 'annis' %></strong>: Finde alle Vorkommen zweier aufeinanderfolgender Adverben (annotiert in der <%= embedded_link_to 'doc', 'default foundry', 'data', 'annotation' %>).</p>
+  %= doc_query annis => 'pos="ADV" & pos="ADV" & #1 . #2'
+
+  <p><strong><%= embedded_link_to 'doc', 'Annis', 'ql', 'annis' %></strong>: Finde alle Artikel, die von einem attributivem Possesivpronomen ausgehend (annotiert durch Treetagger) in einer Determiner-Relation (mit dem Label <code>DET</code> von Malt annotiert) stehen.</p>
+  %= doc_query annis => 'tt/p="PPOSAT" ->malt/d[func="DET"] node'
+
+  <p><strong><%= embedded_link_to 'doc', 'CQL', 'ql', 'cql' %></strong>: Finde alle Vorkommen der Wortfolge &quot;der alte Mann&quot;.</p>
+  %= doc_query cql => '"der alte Mann"'	
+</section>
diff --git a/templates/doc/ql.html.ep b/templates/doc/ql.html.ep
index c32453c..fe82e7a 100644
--- a/templates/doc/ql.html.ep
+++ b/templates/doc/ql.html.ep
@@ -27,9 +27,9 @@
   <p><strong><%= embedded_link_to 'doc', 'Cosmas-II', 'ql', 'cosmas-2' %></strong>: Find all occurrences of the words &quot;der&quot; and &quot;Baum&quot;, in case they are in a maximum distance of 5 tokens. The order is not relevant.</p>
   %= doc_query cosmas2 => 'der /w5 Baum'
 
-  <p><strong><%= embedded_link_to 'doc', 'Cosmas-II', 'ql', 'cosmas-2' %></strong>: Find all sequences of a word starting with a &quot;d&quot; (using a wildcard) followed by an adjective as annotated in the marmot foundry, followed by the word &quot;Baum&quot; (ignore the case), that is in a sentence element annotated by the <%= embedded_link_to 'doc', 'default foundry', 'data', 'annotation' %>.</p>
-  <p><em>Be aware</em>: Minor incompatibilities with implemented languages may be announced with warnings.</p>
-  %= doc_query cosmas2 => 'd* MORPH(marmot/p=ADJA) $Baum #IN #ELEM(s)'
+%#  <p><strong><%= embedded_link_to 'doc', 'Cosmas-II', 'ql', 'cosmas-2' %></strong>: Find all sequences of an adjective as annotated in the marmot foundry, followed by the word &quot;Baum&quot; (ignore the case), that is in a sentence element annotated by the <%= embedded_link_to 'doc', 'default foundry', 'data', 'annotation' %>.</p>
+%#  <p><em>Be aware</em>: Minor incompatibilities with implemented languages may be announced with warnings.</p>
+%#  %= doc_query cosmas2 => 'MORPH(marmot/p=ADJA) $Baum #IN #ELEM(s)', cutoff => 1
 
   <p><strong><%= embedded_link_to 'doc', 'Poliqarp+', 'ql', 'poliqarp-plus' %></strong>: Find all nominal phrases as annotated using CoreNLP, that contain an adverb as annotated by OpenNLP, that is annotated as something starting with an &quot;A&quot; using regular expressions in Treetagger.</p>
   %= doc_query poliqarp => 'contains(<corenlp/c=NP>,{[opennlp/p=ADV & tt/p="A.*"]})', cutoff => 1
