https://wiki.apertium.org/w/index.php?title=Modes_introduction&feed=atom&action=history
Modes introduction - Revision history
2024-03-29T08:55:10Z
Revision history for this page on the wiki
MediaWiki 1.34.1
https://wiki.apertium.org/w/index.php?title=Modes_introduction&diff=60097&oldid=prev
Rcrowther: a little tighter
2016-09-22T17:25:09Z
<p>a little tighter</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 17:25, 22 September 2016</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Line 29:</td>
<td colspan="2" class="diff-lineno">Line 29:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><pre></div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><pre></div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>lt-proc '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/en-es.automorf.bin' </div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>lt-proc '/home/shane/apertium/en-es/apertium-en-es/en-es.automorf.bin' </div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| apertium-tagger -g $2 '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/en-es.prob' </div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| apertium-tagger -g $2 '/home/shane/apertium/en-es/apertium-en-es/en-es.prob' </div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| apertium-pretransfer</div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| apertium-pretransfer</div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| apertium-transfer -n '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/apertium-en-es.en-es.genitive.t1x' '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/en-es.genitive.bin' </div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| apertium-transfer -n '/home/shane/apertium/en-es/apertium-en-es/apertium-en-es.en-es.genitive.t1x' '/home/shane/apertium/en-es/apertium-en-es/en-es.genitive.bin' </div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| lt-proc -b '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/en-es.autobil.bin' </div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| lt-proc -b '/home/shane/apertium/en-es/apertium-en-es/en-es.autobil.bin' </div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| lrx-proc -m '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/en-es.autolex.bin' </div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| lrx-proc -m '/home/shane/apertium/en-es/apertium-en-es/en-es.autolex.bin' </div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| apertium-transfer -b '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/apertium-en-es.en-es.t1x' '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/en-es.t1x.bin' </div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| apertium-transfer -b '/home/shane/apertium/en-es/apertium-en-es/apertium-en-es.en-es.t1x' '/home/shane/apertium/en-es/apertium-en-es/en-es.t1x.bin' </div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| apertium-interchunk '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/apertium-en-es.en-es.t2x' '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/en-es.t2x.bin' </div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| apertium-interchunk '/home/shane/apertium/en-es/apertium-en-es/apertium-en-es.en-es.t2x' '/home/shane/apertium/en-es/apertium-en-es/en-es.t2x.bin' </div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| apertium-postchunk '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/apertium-en-es.en-es.t3x' '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/en-es.t3x.bin' </div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| apertium-postchunk '/home/shane/apertium/en-es/apertium-en-es/apertium-en-es.en-es.t3x' '/home/shane/apertium/en-es/apertium-en-es/en-es.t3x.bin' </div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| lt-proc $1 '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/en-es.autogen.bin' </div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| lt-proc $1 '/home/shane/apertium/en-es/apertium-en-es/en-es.autogen.bin' </div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| lt-proc -p '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/en-es.autopgen.bin' </div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| lt-proc -p '/home/shane/apertium/en-es/apertium-en-es/en-es.autopgen.bin' </div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Line 72:</td>
<td colspan="2" class="diff-lineno">Line 72:</td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><pre></div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><pre></div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>lt-proc '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/en-es.automorf.bin' </div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>lt-proc '/home/shane/apertium/en-es/apertium-en-es/en-es.automorf.bin' </div></td>
</tr>
<tr>
<td class="diff-marker">−</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>| apertium-tagger -g $2 '/home/shane<del class="diffchange diffchange-inline">/Code</del>/apertium/en-es/apertium-en-es/en-es.prob' </div></td>
<td class="diff-marker">+</td>
<td style="color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>| apertium-tagger -g $2 '/home/shane/apertium/en-es/apertium-en-es/en-es.prob' </div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| apertium-pretransfer </div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>| apertium-pretransfer </div></td>
</tr>
<tr>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td>
<td class="diff-marker"> </td>
<td style="background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div></pre></div></td>
</tr>
</table>
Rcrowther
https://wiki.apertium.org/w/index.php?title=Modes_introduction&diff=60095&oldid=prev
Rcrowther: Kinda basic but, far as I can, missing info
2016-09-22T13:53:13Z
<p>Kinda basic but, far as I can, missing info</p>
<p><b>New page</b></p><div>= Modes Introduction =<br />
Apertium core ('lt-toolbox', 'apertium-lex-tools') is a collection of tools which pipe data one to another. You can use these tools individually. There are many instructions on the wiki which do this, and the tools are useful for fine-grained debugging.<br />
<br />
However, to ease the use of the tools, Apertium language-builds pre-configure chains of tools into scripts. These pre-configured chains are called 'modes'. Go into a dictionary,<br />
<br />
<pre><br />
ls modes<br />
</pre> <br />
<br />
you will receive a list like,<br />
<br />
<pre><br />
xxx-yyy-chunker.mode<br />
xxx-yyy-pgen.mode<br />
yyy-morph.mode<br />
...<br />
</pre><br />
<br />
and many, many more.<br />
<br />
This is a list of files. if you have a look inside one of these files (this is a provocative choice of mode-file, found only in a bilingual dictionary),<br />
<br />
<br />
<pre><br />
cat modes/en-es.mode<br />
</pre> <br />
<br />
You will see something like,<br />
<br />
<pre><br />
lt-proc '/home/shane/Code/apertium/en-es/apertium-en-es/en-es.automorf.bin' <br />
| apertium-tagger -g $2 '/home/shane/Code/apertium/en-es/apertium-en-es/en-es.prob' <br />
| apertium-pretransfer<br />
| apertium-transfer -n '/home/shane/Code/apertium/en-es/apertium-en-es/apertium-en-es.en-es.genitive.t1x' '/home/shane/Code/apertium/en-es/apertium-en-es/en-es.genitive.bin' <br />
| lt-proc -b '/home/shane/Code/apertium/en-es/apertium-en-es/en-es.autobil.bin' <br />
| lrx-proc -m '/home/shane/Code/apertium/en-es/apertium-en-es/en-es.autolex.bin' <br />
| apertium-transfer -b '/home/shane/Code/apertium/en-es/apertium-en-es/apertium-en-es.en-es.t1x' '/home/shane/Code/apertium/en-es/apertium-en-es/en-es.t1x.bin' <br />
| apertium-interchunk '/home/shane/Code/apertium/en-es/apertium-en-es/apertium-en-es.en-es.t2x' '/home/shane/Code/apertium/en-es/apertium-en-es/en-es.t2x.bin' <br />
| apertium-postchunk '/home/shane/Code/apertium/en-es/apertium-en-es/apertium-en-es.en-es.t3x' '/home/shane/Code/apertium/en-es/apertium-en-es/en-es.t3x.bin' <br />
| lt-proc $1 '/home/shane/Code/apertium/en-es/apertium-en-es/en-es.autogen.bin' <br />
| lt-proc -p '/home/shane/Code/apertium/en-es/apertium-en-es/en-es.autopgen.bin' <br />
</pre><br />
<br />
Phew! the mode-file is a list of tools from Apertium, ('lt-proc', 'apertium-interchunk' etc.) pre-configured for the dictionary/language pair (many file paths to binaries, and commandline switches, written in). <br />
<br />
The commands have been written as a simple text file with pipe symbols between the commands. So, when we run the usual translation command (that you can find all over the wiki),<br />
<br />
<pre><br />
echo 'This is a test sentence.' | apertium -d . xxx-yyy<br />
</pre><br />
<br />
the program <code>apertium</code> is loading a mode-file called 'xxx-yyy'. The program then runs the commands in the file. Mode-file <code>xxx-yyy.mode</code>, as you may have tried or guessed, is a series of commands to generate a full translation. So, let's try on a real mode-file,<br />
<br />
<pre><br />
echo 'This is a test sentence.' | apertium -d . en-es<br />
</pre><br />
<br />
returns,<br />
<br />
<pre><br />
Esto es una frase de prueba.<br />
</pre><br />
<br />
== The different modes ==<br />
The list returned many mode-files. If <code>xxx-yyy.mode</code> offers a full translation, what do the others do? <br />
<br />
<pre><br />
cat modes/en-es-pretransfer.mode<br />
</pre> <br />
<br />
returns,<br />
<br />
<pre><br />
lt-proc '/home/shane/Code/apertium/en-es/apertium-en-es/en-es.automorf.bin' <br />
| apertium-tagger -g $2 '/home/shane/Code/apertium/en-es/apertium-en-es/en-es.prob' <br />
| apertium-pretransfer <br />
</pre><br />
<br />
Oh! A much shorter tool-chain. But you may notice it is much the same as the <code>xxx-yyy.mode</code> file, but stops applying tools at 'apertium-pretransfer'. So this mode-file constructs a chain that processes input until it reaches the 'transfer' stage. Then it stops, and returns the result. You can test,<br />
<br />
<pre><br />
echo 'This is a test sentence.' | apertium -d . en-es-pretransfer<br />
</pre><br />
<br />
(note that the program 'apertium' does not need to be told this is a '.mode' file)<br />
<br />
The result might be,<br />
<br />
<pre><br />
^This<prn><tn><mf><sg>$ ^be<vbser><pri><p3><sg>$ ^a<det><ind><sg>$ ^test<n><sg>$ ^sentence<n><sg>$^.<sent>$^.<sent>$<br />
</pre><br />
<br />
Much messier, not a full translation, not translated at all. The text represents the processing Apertium had managed by the time it reached the 'transfer' stage (which is before the bilingual dictionary is applied). Apertium worked from a monolingual dictionary, and recognised several words/lexical units in the input stream, decided on their place in grammar, and added some other details e.g. if the words were singular or plural lexical units.<br />
<br />
For further interpretation of the output, see [[Apertium stream format]].<br />
<br />
<br />
<br />
=== The difference in modes between a monolingual and a bilingual dictionary===<br />
Once you understand what a mode is - a pre-configured run through Apertium tools - it is much easier to understand why monolingual dictionaries offer different modes to a bilingual dictionary.<br />
<br />
A monolingual dictionary can not use the full apertium toolchain. That's why the monolingual modes are, currently,<br />
<br />
<pre><br />
xxx-morph.mode<br />
xxx-genr.mode<br />
xxx-tagger.mode<br />
xxx-disam.mode<br />
</pre><br />
<br />
They can only run tools up to the point where they have worked out what they know about ('analysed') the text.<br />
<br />
A bilingual dictionary can not only know about the text, but then apply tools to translate. So it offers many more modes,<br />
<br />
<pre><br />
en-es-anmor.mode <br />
en-es-pretransfer.mode <br />
en-es-biltrans.mode <br />
en-es-tagger.mode <br />
en-es-chunker.mode <br />
en_GB-en_US.mode <br />
en-es-generador.mode <br />
en_US-en_GB.mode <br />
en-es-genitive.mode <br />
en-es-interchunk.mode <br />
en-es.mode <br />
en-es-postchunk.mode<br />
</pre><br />
<br />
and a bilingual dictionary can translate in both directions, so it will offer all the modes for translation in the opposite direction,<br />
<br />
<pre><br />
es-en.mode<br />
es-en-postchunk.mode<br />
es-en-pretransfer.mode<br />
es-en-tagger.mode<br />
es-en-anmor.mode <br />
es-en_US-generador.mode<br />
es-en-chunker.mode <br />
es-en_US.mode<br />
es-en-generador.mode<br />
es-en-interchunk.mode<br />
</pre><br />
<br />
== What use are the modes? ==<br />
Throughout the wiki you will find instructions and examples which offer fine-grained use of the apertium tools directly.<br />
<br />
However, for a beginner, you will not stand a chance of remembering all of them, or their configuration options. for example, <br />
<br />
<pre><br />
lt-proc -p<br />
</pre><br />
<br />
is the way to run the 'postgeneration' stage/phase.<br />
<br />
A beginner would need a script to handle a full translation, and the mode-files provide them ready-made. And the modes are a little more than that, the variations provide a very good debugging tool. In many lexers and parsers it can be difficult to know what is being done to, and with, the text at any point. But running the different Apertium mode-files exposes the entire pipeline, in close detail.<br />
<br />
See also [[:Modes]] and [[Monodix basics]]<br />
<br />
[[Category:Documentation in English]]</div>
Rcrowther