summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndré Malo <nd@apache.org>2005-12-10 15:52:24 +0000
committerAndré Malo <nd@apache.org>2005-12-10 15:52:24 +0000
commit618802d904c42f8078c60990d22b93f805c0719c (patch)
treeabc064b179e5b5a0f0548bc5e24a6998f4123e07
parentf431dcba1389fa89188f7188fe2a8107d2120a40 (diff)
downloadhttpd-618802d904c42f8078c60990d22b93f805c0719c.tar.gz
update transformation
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@355753 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--docs/manual/mod/event.html.en90
-rw-r--r--docs/manual/mod/leader.html.de3
-rw-r--r--docs/manual/mod/leader.html.en29
-rw-r--r--docs/manual/mod/leader.xml.de2
-rw-r--r--docs/manual/mod/leader.xml.ko2
-rw-r--r--docs/manual/mod/leader.xml.meta2
-rw-r--r--docs/manual/mod/mod_auth_basic.html.en1
-rw-r--r--docs/manual/mod/mod_auth_basic.xml.ja2
-rw-r--r--docs/manual/mod/mod_auth_basic.xml.ko2
-rw-r--r--docs/manual/mod/mod_auth_digest.html.en4
-rw-r--r--docs/manual/mod/mod_auth_digest.xml.ko2
-rw-r--r--docs/manual/mod/mod_authn_dbd.html.en8
-rw-r--r--docs/manual/mod/worker.html.de3
-rw-r--r--docs/manual/mod/worker.html.en12
-rw-r--r--docs/manual/mod/worker.xml.de2
-rw-r--r--docs/manual/mod/worker.xml.ja2
-rw-r--r--docs/manual/mod/worker.xml.meta2
17 files changed, 122 insertions, 46 deletions
diff --git a/docs/manual/mod/event.html.en b/docs/manual/mod/event.html.en
index 7352f5f5bf..053caa9933 100644
--- a/docs/manual/mod/event.html.en
+++ b/docs/manual/mod/event.html.en
@@ -31,23 +31,23 @@ MPM</td></tr>
<h3>Summary</h3>
<div class="warning"><h3>Warning</h3>
- <p>This MPM is experimental, so it may or may not work
- as expected.</p>
+ <p>This MPM is experimental, so it may or may not work as
+ expected.</p>
</div>
-
+
+ <p>The <code class="module"><a href="../mod/event.html">event</a></code> Multi-Processing Module (MPM) is
+ designed to allow more requests to be served simultaneously by
+ passing off some processing work to supporting threads, freeing up
+ the main threads to work on new requests. It is based on the
+ <code class="module"><a href="../mod/worker.html">worker</a></code> MPM, which implements a hybrid
+ multi-process multi-threaded server. Run-time configuration
+ directives are identical to those provided by
+ <code class="module"><a href="../mod/worker.html">worker</a></code>.</p>
+
<p>To use the <code class="module"><a href="../mod/event.html">event</a></code> MPM, add
<code>--with-mpm=event</code> to the <code class="program"><a href="../programs/configure.html">configure</a></code>
script's arguments when building the <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p>
-
- <p>This MPM depends on <a class="glossarylink" href="../glossary.html#apr" title="see glossary">APR</a>'s atomic
- compare-and-swap operations for thread synchronization. If you are
- compiling for an x86 target and you don't need to support 386s, or
- you are compiling for a SPARC and you don't need to run on
- pre-UltraSPARC chips, add
- <code>--enable-nonportable-atomics=yes</code> to the
- <code class="program"><a href="../programs/configure.html">configure</a></code> script's arguments. This will cause
- APR to implement atomic operations using efficient opcodes not
- available in older CPUs.</p>
+
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
@@ -73,8 +73,70 @@ MPM</td></tr>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
</ul>
-</div>
+<h3>Topics</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#how-it-works">How it Works</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#requirements">Requirements</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#issues">Issues</a></li>
+</ul><h3>See also</h3>
+<ul class="seealso">
+<li><a href="worker.html">The worker MPM</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="how-it-works" id="how-it-works">How it Works</a></h2>
+ <p>This MPM tries to fix the 'keep alive problem' in HTTP. After a client
+ completes the first request, the client can keep the connection
+ open, and send further requests using the same socket. This can
+ save signifigant overhead in creating TCP connections. However,
+ Apache traditionally keeps an entire child process/thread waiting
+ for data from the client, which brings its own disadvantages. To
+ solve this problem, this MPM uses a dedicated thread to handle both
+ the Listening sockets, and all sockets that are in a Keep Alive
+ state.</p>
+
+ <p>The MPM assumes that the underlying <code>apr_pollset</code>
+ implementation is reasonably threadsafe. This enables the MPM to
+ avoid excessive high level locking, or having to wake up the listener
+ thread in order to send it a keep-alive socket. This is currently
+ only compatible with KQueue and EPoll.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="requirements" id="requirements">Requirements</a></h2>
+ <p>This MPM depends on <a class="glossarylink" href="../glossary.html#apr" title="see glossary">APR</a>'s atomic
+ compare-and-swap operations for thread synchronization. If you are
+ compiling for an x86 target and you don't need to support 386s, or
+ you are compiling for a SPARC and you don't need to run on
+ pre-UltraSPARC chips, add
+ <code>--enable-nonportable-atomics=yes</code> to the
+ <code class="program"><a href="../programs/configure.html">configure</a></code> script's arguments. This will cause
+ APR to implement atomic operations using efficient opcodes not
+ available in older CPUs.</p>
+
+ <p>This MPM does not perform well on older platforms which lack good
+ threading, but the requirement for EPoll or KQueue makes this
+ moot.</p>
+
+ <ul>
+
+ <li>To use this MPM on FreeBSD, FreeBSD 5.3 or higher is recommended.
+ However, it is possible to run this MPM on FreeBSD 5.2.1, if you
+ use <code>libkse</code> (see <code>man libmap.conf</code>).</li>
+
+ <li>For NetBSD, at least version 2.0 is recommended.</li>
+
+ <li>For Linux, a 2.6 kernel is recommended. It is also necessary to
+ ensure that your version of <code>glibc</code> has been compiled
+ with support for EPoll.</li>
+
+ </ul>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="issues" id="issues">Issues</a></h2>
+ <p>At present, this MPM is incompatible with <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>, and
+ other input filters.</p>
+</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/event.html" title="English">&nbsp;en&nbsp;</a></p>
diff --git a/docs/manual/mod/leader.html.de b/docs/manual/mod/leader.html.de
index 5bb4403781..54d68f70a4 100644
--- a/docs/manual/mod/leader.html.de
+++ b/docs/manual/mod/leader.html.de
@@ -25,6 +25,9 @@
<a href="../en/mod/leader.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/mod/leader.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
+<div class="outofdate">Diese Übersetzung ist möglicherweise
+ nicht mehr aktuell. Bitte prüfen Sie die englische Version auf
+ die neuesten Änderungen.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td>Eine experimentelle Variante des Standard-MPMs
<code class="module"><a href="../mod/worker.html">worker</a></code></td></tr>
<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr>
diff --git a/docs/manual/mod/leader.html.en b/docs/manual/mod/leader.html.en
index c6005ca27a..77709e99f5 100644
--- a/docs/manual/mod/leader.html.en
+++ b/docs/manual/mod/leader.html.en
@@ -44,15 +44,7 @@ MPM</td></tr>
<p>To use the <code class="module"><a href="../mod/leader.html">leader</a></code> MPM, add
<code>--with-mpm=leader</code> to the <code class="program"><a href="../programs/configure.html">configure</a></code>
script's arguments when building the <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p>
-
- <p>This MPM depends on APR's atomic compare-and-swap operations for
- thread synchronization. If you are compiling for an x86 target
- and you don't need to support 386s, or you are compiling for a
- SPARC and you don't need to run on pre-UltraSPARC chips, add
- <code>--enable-nonportable-atomics=yes</code> to the
- <code class="program"><a href="../programs/configure.html">configure</a></code> script's arguments. This will cause
- APR to implement atomic operations
- using efficient opcodes not available in older CPUs.</p>
+
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
@@ -79,8 +71,25 @@ MPM</td></tr>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#threadstacksize">ThreadStackSize</a></li>
<li><img alt="" src="../images/right.gif" /> <a href="mpm_common.html#user">User</a></li>
</ul>
+<h3>Topics</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#requirements">Requirements</a></li>
+</ul><h3>See also</h3>
+<ul class="seealso">
+<li><a href="worker.html">The worker MPM</a></li>
+</ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="requirements" id="requirements">Requirements</a></h2>
+ <p>This MPM depends on APR's atomic compare-and-swap operations for
+ thread synchronization. If you are compiling for an x86 target
+ and you don't need to support 386s, or you are compiling for a
+ SPARC and you don't need to run on pre-UltraSPARC chips, add
+ <code>--enable-nonportable-atomics=yes</code> to the
+ <code class="program"><a href="../programs/configure.html">configure</a></code> script's arguments. This will cause
+ APR to implement atomic operations
+ using efficient opcodes not available in older CPUs.</p>
</div>
-
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../de/mod/leader.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
diff --git a/docs/manual/mod/leader.xml.de b/docs/manual/mod/leader.xml.de
index 7405a91893..0a0d5b5e35 100644
--- a/docs/manual/mod/leader.xml.de
+++ b/docs/manual/mod/leader.xml.de
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
-<!-- English Revision: 280384 -->
+<!-- English Revision: 280384:355750 (outdated) -->
<!--
Copyright 2003-2005 The Apache Software Foundation or its licensors,
diff --git a/docs/manual/mod/leader.xml.ko b/docs/manual/mod/leader.xml.ko
index 7c6dffac7c..d17f737553 100644
--- a/docs/manual/mod/leader.xml.ko
+++ b/docs/manual/mod/leader.xml.ko
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
-<!-- English Revision: 105989:280384 (outdated) -->
+<!-- English Revision: 105989:355750 (outdated) -->
<!--
Copyright 2003-2005 The Apache Software Foundation or its licensors,
diff --git a/docs/manual/mod/leader.xml.meta b/docs/manual/mod/leader.xml.meta
index 48428c2130..118babf6e9 100644
--- a/docs/manual/mod/leader.xml.meta
+++ b/docs/manual/mod/leader.xml.meta
@@ -6,7 +6,7 @@
<relpath>..</relpath>
<variants>
- <variant>de</variant>
+ <variant outdated="yes">de</variant>
<variant>en</variant>
<variant outdated="yes">ko</variant>
</variants>
diff --git a/docs/manual/mod/mod_auth_basic.html.en b/docs/manual/mod/mod_auth_basic.html.en
index 18ff092ba8..8dabb0a6c3 100644
--- a/docs/manual/mod/mod_auth_basic.html.en
+++ b/docs/manual/mod/mod_auth_basic.html.en
@@ -99,6 +99,7 @@ lower level modules</td></tr>
&lt;Location /secure&gt;<br />
<span class="indent">
AuthType basic<br />
+ AuthName "private area"<br />
AuthBasicProvider dbm<br />
AuthDBMType SDBM<br />
AuthDBMUserFile /www/etc/dbmpasswd<br />
diff --git a/docs/manual/mod/mod_auth_basic.xml.ja b/docs/manual/mod/mod_auth_basic.xml.ja
index 50ec1b19e0..8bdb2891fa 100644
--- a/docs/manual/mod/mod_auth_basic.xml.ja
+++ b/docs/manual/mod/mod_auth_basic.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="iso-2022-jp"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 151408:345057 (outdated) -->
+<!-- English Revision: 151408:355326 (outdated) -->
<!--
Copyright 2002-2005 The Apache Software Foundation or its licensors,
diff --git a/docs/manual/mod/mod_auth_basic.xml.ko b/docs/manual/mod/mod_auth_basic.xml.ko
index 1f795a25cb..a462b0b23d 100644
--- a/docs/manual/mod/mod_auth_basic.xml.ko
+++ b/docs/manual/mod/mod_auth_basic.xml.ko
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
-<!-- English Revision: 151408:345057 (outdated) -->
+<!-- English Revision: 151408:355326 (outdated) -->
<!--
Copyright 2004-2005 The Apache Software Foundation or its licensors,
diff --git a/docs/manual/mod/mod_auth_digest.html.en b/docs/manual/mod/mod_auth_digest.html.en
index 2acf76b56f..7640cd8085 100644
--- a/docs/manual/mod/mod_auth_digest.html.en
+++ b/docs/manual/mod/mod_auth_digest.html.en
@@ -253,8 +253,8 @@ server</td></tr>
by the <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> module. Make sure
that the chosen provider module is present in the server.</p>
- <p>See <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> and <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>
- for providers.</p>
+ <p>See <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>, <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>,
+ and <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> for providers.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
diff --git a/docs/manual/mod/mod_auth_digest.xml.ko b/docs/manual/mod/mod_auth_digest.xml.ko
index 3469e170b9..287a09602c 100644
--- a/docs/manual/mod/mod_auth_digest.xml.ko
+++ b/docs/manual/mod/mod_auth_digest.xml.ko
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
-<!-- English Revision: 105989:345064 (outdated) -->
+<!-- English Revision: 105989:355745 (outdated) -->
<!--
Copyright 2004-2005 The Apache Software Foundation or its licensors,
diff --git a/docs/manual/mod/mod_authn_dbd.html.en b/docs/manual/mod/mod_authn_dbd.html.en
index 9317bb10f4..034b10d562 100644
--- a/docs/manual/mod/mod_authn_dbd.html.en
+++ b/docs/manual/mod/mod_authn_dbd.html.en
@@ -110,7 +110,6 @@ DBDExptime 60</code>
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>SQL query to look up a password for a user</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDBDUserPWQuery <var>query</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr>
-<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbd</td></tr>
</table>
@@ -132,18 +131,17 @@ DBDExptime 60</code>
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AuthDBDUserRealmQuery <var>query</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>directory</td></tr>
-<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>AuthConfig</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbd</td></tr>
</table>
- <p>The <code class="directive">AuthDBDUserRealmPWQuery</code> specifies an
+ <p>The <code class="directive">AuthDBDUserRealmQuery</code> specifies an
SQL query to look up a password for a specified user and realm.
The query must take two string (typically SQL varchar) arguments
(username and realm), and return a single value (encrypted password).
</p>
<div class="example"><p><code>
- AuthDBDUserRealmPWQuery "SELECT password FROM authn
- WHERE username = %s AND realm = %s"
+ AuthDBDUserRealmQuery "SELECT password FROM authn
+ WHERE username = %s AND realm = %s"
</code></p></div>
diff --git a/docs/manual/mod/worker.html.de b/docs/manual/mod/worker.html.de
index 132f272f4d..f3a4bf8591 100644
--- a/docs/manual/mod/worker.html.de
+++ b/docs/manual/mod/worker.html.de
@@ -25,6 +25,9 @@
<a href="../en/mod/worker.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../ja/mod/worker.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div>
+<div class="outofdate">Diese Übersetzung ist möglicherweise
+ nicht mehr aktuell. Bitte prüfen Sie die englische Version auf
+ die neuesten Änderungen.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Beschreibung:</a></th><td>Multi-Processing-Modul, das einen Hybrid-Webserver mit
Multi-Thread und Multi-Prozess-Unterstützung implementiert</td></tr>
<tr><th><a href="module-dict.html#Status">Status:</a></th><td>MPM</td></tr>
diff --git a/docs/manual/mod/worker.html.en b/docs/manual/mod/worker.html.en
index c86ec6e216..cdd8dadd43 100644
--- a/docs/manual/mod/worker.html.en
+++ b/docs/manual/mod/worker.html.en
@@ -33,9 +33,9 @@
<h3>Summary</h3>
<p>This Multi-Processing Module (MPM) implements a hybrid
- multi-process multi-threaded server. By using threads to serve
+ multi-process multi-threaded server. By using threads to serve
requests, it is able to serve a large number of requests with
- less system resources than a process-based server. Yet it
+ fewer system resources than a process-based server. However, it
retains much of the stability of a process-based server by
keeping multiple processes available, each with many threads.</p>
@@ -94,7 +94,7 @@ uses</a></li>
threads or processes to be created before their requests can be
served. The number of processes that will initially launched is
set by the <code class="directive"><a href="../mod/mpm_common.html#startservers">StartServers</a></code>
- directive. Then during operation, Apache assesses the total number
+ directive. During operation, Apache assesses the total number
of idle threads in all processes, and forks or kills processes to
keep this number within the boundaries specified by <code class="directive"><a href="../mod/mpm_common.html#minsparethreads">MinSpareThreads</a></code> and <code class="directive"><a href="../mod/mpm_common.html#maxsparethreads">MaxSpareThreads</a></code>. Since this
process is very self-regulating, it is rarely necessary to modify
@@ -122,13 +122,13 @@ uses</a></li>
non-default values are specified for these directives, they
should appear before other <code class="module"><a href="../mod/worker.html">worker</a></code> directives.</p>
- <p>In addition to a the set of active child processes, there may
- be additional child processes which are terminating but where at
+ <p>In addition to the set of active child processes, there may
+ be additional child processes which are terminating, but where at
least one server thread is still handling an existing client
connection. Up to <code class="directive"><a href="../mod/mpm_common.html#maxclients">MaxClients</a></code> terminating processes
may be present, though the actual number can be expected to be
much smaller. This behavior can be avoided by disabling the
- termination of individual child processes, which is achieved by
+ termination of individual child processes, which is achieved using
the following:</p>
<ul>
diff --git a/docs/manual/mod/worker.xml.de b/docs/manual/mod/worker.xml.de
index ab9e6a4303..11d413dc65 100644
--- a/docs/manual/mod/worker.xml.de
+++ b/docs/manual/mod/worker.xml.de
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.de.xsl"?>
-<!-- English Revision: 280384 -->
+<!-- English Revision: 280384:354164 (outdated) -->
<!--
Copyright 2003-2005 The Apache Software Foundation or its licensors,
diff --git a/docs/manual/mod/worker.xml.ja b/docs/manual/mod/worker.xml.ja
index 57ad2c1864..ce1c04dad1 100644
--- a/docs/manual/mod/worker.xml.ja
+++ b/docs/manual/mod/worker.xml.ja
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="iso-2022-jp"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
-<!-- English Revision: 151408:280384 (outdated) -->
+<!-- English Revision: 151408:354164 (outdated) -->
<!--
Copyright 2002-2005 The Apache Software Foundation or its licensors,
diff --git a/docs/manual/mod/worker.xml.meta b/docs/manual/mod/worker.xml.meta
index 1de3bc9dfe..bfe0d580d2 100644
--- a/docs/manual/mod/worker.xml.meta
+++ b/docs/manual/mod/worker.xml.meta
@@ -6,7 +6,7 @@
<relpath>..</relpath>
<variants>
- <variant>de</variant>
+ <variant outdated="yes">de</variant>
<variant>en</variant>
<variant outdated="yes">ja</variant>
</variants>