https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=Modul%3ATransText
Modul:TransText - Versionsgeschichte
2025-04-19T07:20:16Z
Versionsgeschichte dieser Seite in Wikipedia
MediaWiki 1.44.0-wmf.25
https://de.wikipedia.org/w/index.php?title=Modul:TransText&diff=200363781&oldid=prev
Sebastian Wallroth: Änderte den Schutzstatus für „Modul:TransText“ ([Bearbeiten=Nur Sichter] (unbeschränkt) [Verschieben=Nur Administratoren] (unbeschränkt))
2020-05-27T05:43:23Z
<p>Änderte den Schutzstatus für „<a href="/wiki/Modul:TransText" title="Modul:TransText">Modul:TransText</a>“ ([Bearbeiten=Nur Sichter] (unbeschränkt) [Verschieben=Nur Administratoren] (unbeschränkt))</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<tr class="diff-title" lang="de">
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">Version vom 27. Mai 2020, 07:43 Uhr</td>
</tr><tr><td colspan="2" class="diff-notice" lang="de"><div class="mw-diff-empty">(kein Unterschied)</div>
</td></tr></table>
Sebastian Wallroth
https://de.wikipedia.org/w/index.php?title=Modul:TransText&diff=200363772&oldid=prev
Sebastian Wallroth: Schützte „Modul:TransText“ ([Bearbeiten=Nur Sichter] (unbeschränkt) [Verschieben=Nur Sichter] (unbeschränkt))
2020-05-27T05:43:01Z
<p>Schützte „<a href="/wiki/Modul:TransText" title="Modul:TransText">Modul:TransText</a>“ ([Bearbeiten=Nur Sichter] (unbeschränkt) [Verschieben=Nur Sichter] (unbeschränkt))</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<tr class="diff-title" lang="de">
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="1" style="background-color: #fff; color: #202122; text-align: center;">Version vom 27. Mai 2020, 07:43 Uhr</td>
</tr><tr><td colspan="2" class="diff-notice" lang="de"><div class="mw-diff-empty">(kein Unterschied)</div>
</td></tr></table>
Sebastian Wallroth
https://de.wikipedia.org/w/index.php?title=Modul:TransText&diff=193759401&oldid=prev
PerfektesChaos: 2019-10-30
2019-11-04T20:09:09Z
<p>2019-10-30</p>
<a href="//de.wikipedia.org/w/index.php?title=Modul:TransText&diff=193759401&oldid=185107041">Änderungen zeigen</a>
PerfektesChaos
https://de.wikipedia.org/w/index.php?title=Modul:TransText&diff=185107041&oldid=prev
PerfektesChaos: 2019-01-23
2019-01-26T21:16:58Z
<p>2019-01-23</p>
<a href="//de.wikipedia.org/w/index.php?title=Modul:TransText&diff=185107041&oldid=185031871">Änderungen zeigen</a>
PerfektesChaos
https://de.wikipedia.org/w/index.php?title=Modul:TransText&diff=185031871&oldid=prev
PerfektesChaos: 2019-01-22
2019-01-24T15:35:44Z
<p>2019-01-22</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 24. Januar 2019, 17:35 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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>local TransText = { suite = "TransText",</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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>local TransText = { suite = "TransText",</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; 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> serial = "2019-01-<del style="font-weight: bold; text-decoration: none;">21</del>",</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> serial = "2019-01-<ins style="font-weight: bold; text-decoration: none;">22</ins>",</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> item = 0 }</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> item = 0 }</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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>local Config = {</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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>local Config = {</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 239:</td>
<td colspan="2" class="diff-lineno">Zeile 239:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> return r</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> return r</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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>end -- finish()</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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>end -- finish()</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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;"><br /></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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;"><br /></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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;"><br /></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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>local function first( a1, a2 )</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> -- Compare a1 with a2</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> -- a1 -- string, with name</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> -- a2 -- string, with name</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> -- Returns true if a1 < a2</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> local f = function( a )</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> local d = { n = 0, s = "" }</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> local k = a</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> local s = type( k )</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> if s == "string" then</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> if k:match( "^%d+$" ) then</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> d.n = tonumber( k ) - 100</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> else</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> d.s = k</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> if k:match( "^%l+$" ) then</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> d.n = 0.1</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> elseif k:sub( 1, 3 ) == "ISO" then</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> local n, m = k:match( "^ISO(%d+)%-(%d+)$" )</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> if n then</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> d.n = tonumber( n )</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> + tonumber( m ) * 0.0001</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> else</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> n = k:match( "^ISO(%d+)$" )</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> d.n = tonumber( n )</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> end</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> else</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> d.n = 1000000</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> end</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> end</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> elseif s == "number" then</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> d.n = k - 100</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> end</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> return d</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> end</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> local d1 = f( a1 )</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> local d2 = f( a2 )</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> local r</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> if d1.n == d2.n then</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> r = ( d1.s < d2.s )</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> else</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> r = ( d1.n < d2.n )</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> end</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> return r</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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>end -- first()</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 447:</td>
<td colspan="2" class="diff-lineno">Zeile 494:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- Create template transclusion</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- Create template transclusion</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- Returns string, with wikisyntax text</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- Returns string, with wikisyntax text</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; 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> local <del style="font-weight: bold; text-decoration: none;">r,</del> <del style="font-weight: bold; text-decoration: none;">s,</del> <del style="font-weight: bold; text-decoration: none;">x</del></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> local <ins style="font-weight: bold; text-decoration: none;">o</ins> <ins style="font-weight: bold; text-decoration: none;">=</ins> <ins style="font-weight: bold; text-decoration: none;">{ }</ins></div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> local t = { }</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> local e, r, s, x</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> if Query.template[ "@" ]:find( "%s", 1, true ) then</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> if Query.template[ "@" ]:find( "%s", 1, true ) then</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> Query.template[ "@" ] = string.format( Query.template[ "@" ],</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> Query.template[ "@" ] = string.format( Query.template[ "@" ],</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 453:</td>
<td colspan="2" class="diff-lineno">Zeile 502:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> r = string.format( "{{%s", Query.template[ "@" ] )</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> r = string.format( "{{%s", Query.template[ "@" ] )</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; 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> <del style="font-weight: bold; text-decoration: none;">if</del> Query.template[ "#" ]<del style="font-weight: bold; text-decoration: none;"> then</del></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> <ins style="font-weight: bold; text-decoration: none;">e =</ins> Query.template[ "#" ]</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> if e then</div></td>
</tr>
<tr>
<td class="diff-marker"><a class="mw-diff-movedpara-left" title="Der Absatz wurde verschoben. Klicken, um zur neuen Stelle zu springen." href="#movedpara_26_7_rhs">⚫</a></td>
<td style="color: #202122; 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><a name="movedpara_10_0_lhs"></a> r = string.format( "%s|<del style="font-weight: bold; text-decoration: none;">%s=</del>%s",</div></td>
<td colspan="2" class="diff-empty diff-side-added"></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; 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> <del style="font-weight: bold; text-decoration: none;"> r, Query.template[ "#" ],</del> Query.slang<del style="font-weight: bold; text-decoration: none;"> )</del></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> <ins style="font-weight: bold; text-decoration: none;">s</ins> <ins style="font-weight: bold; text-decoration: none;">=</ins> Query.slang</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> if Query.script then</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> if Query.script then</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; 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> <del style="font-weight: bold; text-decoration: none;">r</del> = string.format( "%s-%s", <del style="font-weight: bold; text-decoration: none;">r</del>, Query.script )</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> <ins style="font-weight: bold; text-decoration: none;">s</ins> = string.format( "%s-%s", <ins style="font-weight: bold; text-decoration: none;">s</ins>, Query.script )</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> t[ e ] = s</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> table.insert( o, e )</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; 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> <del style="font-weight: bold; text-decoration: none;">if</del> Query.template[ "*" ]<del style="font-weight: bold; text-decoration: none;"> then</del></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> <ins style="font-weight: bold; text-decoration: none;">e =</ins> Query.template[ "*" ]</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> if e then</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; 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> <del style="font-weight: bold; text-decoration: none;">s</del> = finish( Query.source, Query.script or Query.slang )</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> <ins style="font-weight: bold; text-decoration: none;">t[ e ]</ins> = finish( Query.source, Query.script or Query.slang )</div></td>
</tr>
<tr>
<td class="diff-marker"><a class="mw-diff-movedpara-left" title="Der Absatz wurde verschoben. Klicken, um zur neuen Stelle zu springen." href="#movedpara_26_5_rhs">⚫</a></td>
<td style="color: #202122; 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><a name="movedpara_21_0_lhs"></a> <del style="font-weight: bold; text-decoration: none;">r</del> = string.format( "<del style="font-weight: bold; text-decoration: none;">%s|</del>%s=%s",</div></td>
<td colspan="2" class="diff-empty diff-side-added"></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; 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> <del style="font-weight: bold; text-decoration: none;"> r, Query</del>.<del style="font-weight: bold; text-decoration: none;">template[</del> <del style="font-weight: bold; text-decoration: none;">"*" ]</del>, <del style="font-weight: bold; text-decoration: none;"> s</del> )</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> <ins style="font-weight: bold; text-decoration: none;">table</ins>.<ins style="font-weight: bold; text-decoration: none;">insert(</ins> <ins style="font-weight: bold; text-decoration: none;">o</ins>, <ins style="font-weight: bold; text-decoration: none;">e</ins> )</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> for k, v in pairs( Query.trans ) do</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> for k, v in pairs( Query.trans ) do</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 470:</td>
<td colspan="2" class="diff-lineno">Zeile 521:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> k = Query.template[ k ]</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> k = Query.template[ k ]</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; 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> <del style="font-weight: bold; text-decoration: none;">s</del> = finish( v.text, v.script or v.slang )</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> <ins style="font-weight: bold; text-decoration: none;">t[ k ]</ins> = finish( v.text, v.script or v.slang )</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; 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> <del style="font-weight: bold; text-decoration: none;">r = string</del>.<del style="font-weight: bold; text-decoration: none;">format</del>( <del style="font-weight: bold; text-decoration: none;">"%s|%s=%s", r</del>, k<del style="font-weight: bold; text-decoration: none;">, s</del> )</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> <ins style="font-weight: bold; text-decoration: none;">table</ins>.<ins style="font-weight: bold; text-decoration: none;">insert</ins>( <ins style="font-weight: bold; text-decoration: none;">o</ins>, k )</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> if v.error then</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> if v.error then</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> x = x or ""</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> x = x or ""</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 478:</td>
<td colspan="2" class="diff-lineno">Zeile 529:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end -- for k, v</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end -- for k, v</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> table.sort( o, first )</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> for i = 1, #o do</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> e = o[ i ]</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> s = t[ e ]</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> if not e:match( "^%d+$" ) then</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker"><a class="mw-diff-movedpara-right" title="Der Absatz wurde verschoben. Klicken, um zur alten Stelle zu springen." href="#movedpara_21_0_lhs">⚫</a></td>
<td style="color: #202122; 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><a name="movedpara_26_5_rhs"></a> <ins style="font-weight: bold; text-decoration: none;"> s</ins> = string.format( "%s=%s",<ins style="font-weight: bold; text-decoration: none;"> e, s )</ins></div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> end</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker"><a class="mw-diff-movedpara-right" title="Der Absatz wurde verschoben. Klicken, um zur alten Stelle zu springen." href="#movedpara_10_0_lhs">⚫</a></td>
<td style="color: #202122; 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><a name="movedpara_26_7_rhs"></a> r = string.format( "%s<ins style="font-weight: bold; text-decoration: none;"> </ins>|%s",<ins style="font-weight: bold; text-decoration: none;"> r, s )</ins></div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> end -- for i</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> r = r .. "}}"</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> r = r .. "}}"</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> if x then</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> if x then</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 718:</td>
<td colspan="2" class="diff-lineno">Zeile 778:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; 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>p.<del style="font-weight: bold; text-decoration: none;">forward</del> = function ( frame )</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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>p.<ins style="font-weight: bold; text-decoration: none;">forwarding</ins> = function ( frame )</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- Available targets for this source</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- Available targets for this source</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> local r</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> local r</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> return r or ""</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> return r or ""</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; 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>end -- p.<del style="font-weight: bold; text-decoration: none;">forward</del></div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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>end -- p.<ins style="font-weight: bold; text-decoration: none;">forwarding</ins></div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
</tr>
</table>
PerfektesChaos
https://de.wikipedia.org/w/index.php?title=Modul:TransText&diff=184951490&oldid=prev
PerfektesChaos: 2019-01-21
2019-01-21T22:35:31Z
<p>2019-01-21</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="de">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 22. Januar 2019, 00:35 Uhr</td>
</tr><tr>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
<td colspan="2" class="diff-lineno">Zeile 1:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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>local TransText = { suite = "TransText",</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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>local TransText = { suite = "TransText",</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; 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> serial = "2019-01-<del style="font-weight: bold; text-decoration: none;">01</del>",</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> serial = "2019-01-<ins style="font-weight: bold; text-decoration: none;">21</ins>",</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> item = 0 }</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> item = 0 }</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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>local Config = {</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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>local Config = {</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 21:</td>
<td colspan="2" class="diff-lineno">Zeile 21:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> errTextMissing = { en = "Text missing",</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> errTextMissing = { en = "Text missing",</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> de = "Ausgangstext fehlt" },</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> de = "Ausgangstext fehlt" },</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> errTransCoding = { en = "Wrong encoding in result text",</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> de = "Schriftzeichen im Ergebnistext falsch" },</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> errMissing = { en = "Missing parameter",</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> errMissing = { en = "Missing parameter",</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> de = "Parameter fehlt" },</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> de = "Parameter fehlt" },</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 194:</td>
<td colspan="2" class="diff-lineno">Zeile 196:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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;"><br /></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; 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>local function fidelity( assume, accept )</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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>local function fidelity( assume, accept<ins style="font-weight: bold; text-decoration: none;">, after</ins> )</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- Check characters for compatibility with script</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- Check characters for compatibility with script</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- Precondition:</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- Precondition:</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- assume -- string, source text</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- assume -- string, source text</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- accept -- string, script specifier</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- accept -- string, script specifier</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> -- after -- true, for result text</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- Returns false, if okay, else string with coding sequence</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> -- Returns false, if okay, else string with coding sequence</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> local bib = Fellow()</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> local bib = Fellow()</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 205:</td>
<td colspan="2" class="diff-lineno">Zeile 208:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> local e, cp = bib.isScript( accept, assume )</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> local e, cp = bib.isScript( accept, assume )</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> if not e then</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> if not e then</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> local scream</div></td>
</tr>
<tr>
<td class="diff-marker"><a class="mw-diff-movedpara-left" title="Der Absatz wurde verschoben. Klicken, um zur neuen Stelle zu springen." href="#movedpara_11_5_rhs">⚫</a></td>
<td style="color: #202122; 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><a name="movedpara_10_0_lhs"></a> r = failure( <del style="font-weight: bold; text-decoration: none;">"errTextCoding"</del>, bib.showScripts( cp ) )</div></td>
<td colspan="2" class="diff-empty diff-side-added"></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> if after then</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> scream = "errTransCoding"</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> else</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> scream = "errTextCoding"</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> end</div></td>
</tr>
<tr>
<td colspan="2" class="diff-empty diff-side-deleted"></td>
<td class="diff-marker"><a class="mw-diff-movedpara-right" title="Der Absatz wurde verschoben. Klicken, um zur alten Stelle zu springen." href="#movedpara_10_0_lhs">⚫</a></td>
<td style="color: #202122; 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><a name="movedpara_11_5_rhs"></a> r = failure( <ins style="font-weight: bold; text-decoration: none;">scream</ins>, bib.showScripts( cp ) )</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
</tr>
<tr>
<td colspan="2" class="diff-lineno">Zeile 428:</td>
<td colspan="2" class="diff-lineno">Zeile 437:</td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> if type( achieve.script ) == "string" then</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> if type( achieve.script ) == "string" then</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> r.script = achieve.script</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> r.script = achieve.script</div></td>
</tr>
<tr>
<td class="diff-marker" data-marker="−"></td>
<td style="color: #202122; 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> r.error = fidelity( r.text, achieve.script )</div></td>
<td class="diff-marker" data-marker="+"></td>
<td style="color: #202122; 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> r.error = fidelity( r.text, achieve.script<ins style="font-weight: bold; text-decoration: none;">, true</ins> )</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> end</div></td>
</tr>
<tr>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> return r</div></td>
<td class="diff-marker"></td>
<td style="background-color: #f8f9fa; color: #202122; 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> return r</div></td>
</tr>
</table>
PerfektesChaos
https://de.wikipedia.org/w/index.php?title=Modul:TransText&diff=184933975&oldid=prev
PerfektesChaos: 2019-01-01
2019-01-21T13:19:00Z
<p>2019-01-01</p>
<p><b>Neue Seite</b></p><div>local TransText = { suite = "TransText",<br />
serial = "2019-01-01",<br />
item = 0 }<br />
local Config = {<br />
errBaseInvalid = { en = "Base code invalid",<br />
de = "Ausgangscode ungültig" },<br />
errBaseMissing = { en = "Base code missing",<br />
de = "Ausgangscode fehlt" },<br />
errBaseUnknown = { en = "Base code unknown:",<br />
de = "Ausgangscode unbekannt:" },<br />
errCompInvalid = { en = "Definition invalid",<br />
de = "Definition ungültig" },<br />
errCompMissing = { en = "Definition missing",<br />
de = "Definition fehlt" },<br />
errDefMissing = { en = "Definition module missing",<br />
de = "Definitionsmodul fehlt" },<br />
errTargetMissing = { en = "Target code missing",<br />
de = "Zielcode fehlt" },<br />
errTextCoding = { en = "Wrong encoding of base text",<br />
de = "Schriftzeichen im Ausgangstext falsch" },<br />
errTextMissing = { en = "Text missing",<br />
de = "Ausgangstext fehlt" },<br />
errMissing = { en = "Missing parameter",<br />
de = "Parameter fehlt" },<br />
errUnkown = { en = "Unkown parameter:",<br />
de = "Parameter unbekannt:" }<br />
}<br />
local Query = { slang = "und",<br />
script = false,<br />
template = { ["@"] = "lang",<br />
["#"] = "1",<br />
["*"] = "2" }<br />
}<br />
local Data<br />
<br />
<br />
<br />
local function Feed( all )<br />
local r = { }<br />
local val<br />
for k, v in pairs( all ) do<br />
if type( k ) == "number" or k:match( "^%d" ) then<br />
for ik, iv in pairs( all ) do<br />
if type( iv ) == "table" then<br />
val = Feed( iv )<br />
else<br />
val = iv<br />
end<br />
table.insert( r, val )<br />
end -- for ik, iv<br />
break -- for k, v<br />
else<br />
if type( v ) == "table" then<br />
r[ k ] = Feed( v )<br />
else<br />
r[ k ] = v<br />
end<br />
end<br />
end -- for k, v<br />
return r<br />
end -- Feed()<br />
<br />
<br />
<br />
local function Fellow()<br />
-- Attach Multilingual/scripting library<br />
-- Throws error, if library not existing<br />
local r<br />
if not TransText.MultiScript then<br />
local lucky, got = pcall( require,<br />
"Module:Multilingual/scripting" )<br />
if type( got ) == "table" and<br />
type( got.MultiScript ) == "function" then<br />
TransText.MultiScript = got.MultiScript()<br />
else<br />
error( "Library MultiScript unavailable" )<br />
end<br />
end<br />
if type( TransText.MultiScript ) == "table" then<br />
r = TransText.MultiScript<br />
end<br />
return r<br />
end -- Fellow()<br />
<br />
<br />
<br />
local function Fetch( at )<br />
-- Attempt to load Data<br />
-- Precondition:<br />
-- at -- string, page name<br />
-- Returns table, or not if invalid<br />
-- Throws error, if not existing<br />
local d = mw.loadData( at )<br />
local r<br />
if type( d ) == "table" and<br />
type( d.data ) == "table" then<br />
r = Feed( d.data )<br />
else<br />
r = { }<br />
end<br />
return r<br />
end -- Fetch()<br />
<br />
<br />
<br />
local function Frame()<br />
-- Fetch current frame<br />
-- Returns frame<br />
if not Query.frame then<br />
Query.frame = mw.getCurrentFrame()<br />
end<br />
return Query.frame<br />
end -- Frame()<br />
<br />
<br />
<br />
local function facility()<br />
-- Fetch current site language<br />
-- Returns language code<br />
local r<br />
if Data then<br />
r = Data.stdLang<br />
end<br />
if not r then<br />
r = mw.language.getContentLanguage():getCode()<br />
if Data then<br />
Data.stdLang = r<br />
end<br />
end<br />
return r<br />
end -- facility()<br />
<br />
<br />
<br />
local function factory( apply )<br />
-- Localization of messages<br />
-- apply -- string, with message key<br />
-- Returns message text; at least english<br />
local entry = Config[ apply ]<br />
local r<br />
if entry then<br />
r = entry[ facility() ]<br />
if not r then<br />
r = entry.en<br />
end<br />
else<br />
r = string.format( "????.%s.????", apply )<br />
end<br />
return r<br />
end -- factory()<br />
<br />
<br />
<br />
local function failure( alert, about )<br />
-- Format message with class="error"<br />
-- alert -- string, with message key<br />
-- about -- string, with explanation<br />
-- Returns message with markup<br />
local story = factory( alert )<br />
local err = mw.html.create( "span" )<br />
:addClass( "error" )<br />
local env = Frame():getParent()<br />
if env then<br />
story = string.format( "[[%s]] &#8211; %s",<br />
env:getTitle(), story )<br />
end<br />
if about then<br />
story = string.format( "%s %s", story, about )<br />
end<br />
err:wikitext( story )<br />
return tostring( err )<br />
end -- failure()<br />
<br />
<br />
<br />
local function fetch( assigned )<br />
-- Load data page<br />
-- Precondition:<br />
-- assigned -- string or nil, for sub module<br />
-- Returns table, if assigned, or not<br />
-- Throws error, if not existing<br />
local sub = string.format( "%s/data", Frame():getTitle() )<br />
local r<br />
if not Data then<br />
Data = Fetch( sub )<br />
end<br />
if assigned then<br />
sub = string.format( "%s/%s", sub, assigned )<br />
r = Fetch( sub )<br />
end<br />
return r<br />
end -- fetch()<br />
<br />
<br />
<br />
local function fidelity( assume, accept )<br />
-- Check characters for compatibility with script<br />
-- Precondition:<br />
-- assume -- string, source text<br />
-- accept -- string, script specifier<br />
-- Returns false, if okay, else string with coding sequence<br />
local bib = Fellow()<br />
local r<br />
if bib then<br />
local e, cp = bib.isScript( accept, assume )<br />
if not e then<br />
r = failure( "errTextCoding", bib.showScripts( cp ) )<br />
end<br />
end<br />
return r<br />
end -- fidelity()<br />
<br />
<br />
<br />
local function finish( adjust, about )<br />
-- Finalize template parameter text<br />
-- Precondition:<br />
-- adjust -- string, with source text<br />
-- about -- string or nil, with script or lang code<br />
-- Returns string, with source text<br />
local r = adjust:gsub( "{{", "&#123;&#123;" )<br />
:gsub( "|", "&#124;" )<br />
:gsub( "}}", "&#125;&#125;" )<br />
if TransText.MultiScript.isRTL( about ) then<br />
r = r .. "&lrm;"<br />
end<br />
if not mw.isSubsting() then<br />
r = r:gsub( "&(#?x?[lrm%x]+;)", "&amp;%1" )<br />
end<br />
return r<br />
end -- finish()<br />
<br />
<br />
<br />
local function flat( adjust )<br />
-- Make string of specification<br />
-- Precondition:<br />
-- adjust -- string, number, table, with specification<br />
-- Returns string, with specification<br />
local r = adjust<br />
local s = type( r )<br />
if s == "number" then<br />
r = mw.ustring.char( r )<br />
elseif s == "string" then<br />
elseif s == "table" then<br />
local collection = {}<br />
for k, v in pairs( r ) do<br />
s = type( v )<br />
if s == "number" then<br />
table.insert( collection, mw.ustring.char( v ) )<br />
elseif s == "string" then<br />
table.insert( collection, v )<br />
else<br />
table.insert( collection, "/????/" )<br />
end<br />
end -- for k, v<br />
r = table.concat( collection )<br />
end<br />
return r<br />
end -- flat()<br />
<br />
<br />
<br />
local function flip( adjust, apply )<br />
-- Replace by set of string pattern rules<br />
-- Precondition:<br />
-- adjust -- string, with text<br />
-- apply -- sequence table, with tupels { seek, set }<br />
-- Returns string, with text<br />
local r = adjust<br />
local seek, set, v<br />
for i = 1, #apply do<br />
v = apply[ i ]<br />
seek = flat( v[ 1 ] )<br />
set = flat( v[ 2 ] )<br />
apply[ i ] = { seek, set }<br />
r = mw.ustring.gsub( r, seek, set )<br />
end -- for i<br />
return r<br />
end -- flip()<br />
<br />
<br />
<br />
local function flipper( apply, append )<br />
-- Extend table by set of replacement rules<br />
-- Precondition:<br />
-- apply -- sequence table or nil, to be extended<br />
-- append -- table, to be appended<br />
-- Returns sequence table with replacement rules<br />
local r = apply<br />
if type( r ) ~= "table" then<br />
r = { }<br />
end<br />
for i = 1, #append do<br />
v = append[ i ]<br />
table.insert( r,<br />
{ flat( v[ 1 ] ),<br />
flat( v[ 2 ] ) } )<br />
end -- for i<br />
return r<br />
end -- flipper()<br />
<br />
<br />
<br />
local function flush( adjust )<br />
-- Cleanup for whitespace and invisible characters<br />
-- Precondition:<br />
-- adjust -- string, with source text<br />
-- Returns string, with source text<br />
local r = adjust<br />
local p<br />
if r:find( "&", 1, true ) then<br />
r = mw.text.decode( r, true )<br />
end<br />
p = mw.ustring.char( 91, 0x200E, 45, 0x200F,<br />
0x202A, 45, 0x202E,<br />
0x2066, 45, 0x2069, 93 )<br />
r = mw.ustring.gsub( r, p, "" )<br />
p = mw.ustring.char( 91, 0x0001, 45, 0x001F,<br />
0x00A0,<br />
0x2002, 45, 0x200A,<br />
0x202F, 93 ) -- NARROW NO-BREAK SPACE<br />
r = mw.ustring.gsub( r, p, " " )<br />
return r<br />
end -- flush()<br />
<br />
<br />
<br />
local function focus( achieve )<br />
-- Merge target specifications<br />
-- Precondition:<br />
-- achieve -- table, with specification<br />
-- Postcondition:<br />
-- specification expanded and resolved<br />
local use = { }<br />
local s<br />
if type( Data.use ) ~= "table" then<br />
Data.use = { }<br />
end<br />
if type( achieve.use ) == "string" then<br />
table.insert( use, achieve.use )<br />
elseif type( achieve.use ) == "table" then<br />
for k, v in pairs( achieve.use ) do<br />
table.insert( use, v )<br />
end -- for k, v<br />
end<br />
achieve.use = false<br />
for i = 1, #use do<br />
s = use[ i ]<br />
if Data.use[ s ] then<br />
error( "Recursive loop: " .. s )<br />
break -- for i<br />
else<br />
Data.use[ s ] = true<br />
part = Data.trans[ s ]<br />
if type( part ) == "table" then<br />
if part.use then<br />
focus( part )<br />
end<br />
if type( part.script ) == "string" and<br />
type( achieve.script ) ~= "string" then<br />
achieve.script = part.script<br />
end<br />
if type( part.replace ) == "table" then<br />
achieve.replace = flipper( achieve.replace,<br />
part.replace )<br />
end<br />
else<br />
error( "Bad transclusion: " .. s )<br />
end<br />
end<br />
end -- for i<br />
end -- focus()<br />
<br />
<br />
<br />
local function fold()<br />
-- Merge base specifications<br />
-- Returns string, with error message, if any<br />
local use = { }<br />
local r, part<br />
Query.task = Data[ Query.seek ]<br />
if type( Query.task.use ) == "string" then<br />
table.insert( use, Query.task.use )<br />
elseif type( Query.task.use ) == "table" then<br />
for k, v in pairs( Query.task.use ) do<br />
table.insert( use, v )<br />
end -- for k, v<br />
end<br />
table.insert( use, Query.seek )<br />
for i = 1, #use do<br />
part = Data[ use[ i ] ]<br />
if type( part ) == "table" then<br />
if type( part.script ) == "string" then<br />
Query.script = part.script<br />
end<br />
if type( part.replace ) == "table" then<br />
Data.replace = flipper( Data.replace, part.replace )<br />
end<br />
if type( part.targets ) == "table" then<br />
for k, v in pairs( part.targets ) do<br />
Data.trans[ k ] = v<br />
end -- for k, v<br />
end<br />
else<br />
r = failure( "errCompInvalid", v )<br />
break -- for i<br />
end<br />
end -- for i<br />
return r<br />
end -- fold()<br />
<br />
<br />
<br />
local function foreign( achieve )<br />
-- Execute transformation<br />
-- Precondition:<br />
-- achieve -- table, with specification<br />
-- Returns table with components<br />
-- text -- string, with transformed text<br />
-- script -- string, with transformed text<br />
-- error -- string, with problem<br />
local r = { text = Query.source }<br />
focus( achieve )<br />
if type( achieve.replace ) == "table" then<br />
r.text = flip( r.text, achieve.replace )<br />
end<br />
if type( achieve.script ) == "string" then<br />
r.script = achieve.script<br />
r.error = fidelity( r.text, achieve.script )<br />
end<br />
return r<br />
end -- foreign()<br />
<br />
<br />
<br />
local function forward()<br />
-- Create template transclusion<br />
-- Returns string, with wikisyntax text<br />
local r, s, x<br />
if Query.template[ "@" ]:find( "%s", 1, true ) then<br />
Query.template[ "@" ] = string.format( Query.template[ "@" ],<br />
Query.seek )<br />
end<br />
r = string.format( "{{%s", Query.template[ "@" ] )<br />
if Query.template[ "#" ] then<br />
r = string.format( "%s|%s=%s",<br />
r, Query.template[ "#" ], Query.slang )<br />
if Query.script then<br />
r = string.format( "%s-%s", r, Query.script )<br />
end<br />
end<br />
if Query.template[ "*" ] then<br />
s = finish( Query.source, Query.script or Query.slang )<br />
r = string.format( "%s|%s=%s",<br />
r, Query.template[ "*" ], s )<br />
end<br />
for k, v in pairs( Query.trans ) do<br />
if v.text then<br />
if Query.template[ k ] then<br />
k = Query.template[ k ]<br />
end<br />
s = finish( v.text, v.script or v.slang )<br />
r = string.format( "%s|%s=%s", r, k, s )<br />
if v.error then<br />
x = x or ""<br />
x = string.format( "%s %s", x, v.error )<br />
end<br />
end<br />
end -- for k, v<br />
r = r .. "}}"<br />
if x then<br />
r = r .. x<br />
end<br />
return r<br />
end -- forward()<br />
<br />
<br />
<br />
local function furnish()<br />
-- Execute trans series<br />
-- Returns string, with text<br />
local part, r<br />
if Query.task.shift and<br />
Data[ Query.task.shift ] then<br />
Query.seek = Query.task.shift<br />
Query.task = Data[ Query.seek ]<br />
end<br />
Data.trans = { }<br />
if type( Query.task.extern ) == "string" then<br />
Query.task.extern = { Query.task.extern }<br />
end<br />
if type( Query.task.extern ) == "table" then<br />
local lucky<br />
for k, v in pairs( Query.task.extern ) do<br />
lucky, part = pcall( fetch, v )<br />
if type( part ) == "table" then<br />
for rk, rv in pairs( part ) do<br />
Data[ rk ] = rv<br />
end -- for rk, rv<br />
else<br />
r = failure( "errDefMissing", v )<br />
break -- for k, v<br />
end<br />
end -- for k, v<br />
end<br />
if not r then<br />
if type( Query.task ) == "table" then<br />
r = fold()<br />
else<br />
r = failure( "errCompMissing", Query.seek )<br />
end<br />
end<br />
if not r then<br />
Query.source = flush( Query.source )<br />
if Data.replace then<br />
Query.source = flip( Query.source, Data.replace )<br />
end<br />
r = fidelity( Query.source, Query.script )<br />
if not r then<br />
local s<br />
for i = 1, #Query.targets do<br />
s = Query.targets[ i ]<br />
part = Data.trans[ s ]<br />
if type( part ) == "table" then<br />
Query.trans = Query.trans or { }<br />
Query.trans[ s ] = foreign( part )<br />
else<br />
if type( s ) == "string" and s ~= "" then<br />
s = ": " ..s<br />
else<br />
s = false<br />
end<br />
r = failure( "errTargetMissing", s )<br />
break -- for i<br />
end<br />
end -- for i<br />
end<br />
end<br />
if not r and Query.trans then<br />
r = forward()<br />
end<br />
return r<br />
end -- furnish()<br />
<br />
<br />
<br />
TransText.fiat = function ( accept, adjust, adapt, alter )<br />
-- Main entry<br />
-- Precondition:<br />
-- accept -- string, language and/or script specifier<br />
-- adjust -- string, source text<br />
-- adapt -- table, with required targets<br />
-- alter -- string or nil, with JSON template spec<br />
-- Postcondition:<br />
-- Returns string<br />
local r<br />
if type( accept ) == "string" then<br />
Query.seek = accept<br />
if Query.seek:match( "^%l%l%l?%-?" ) then<br />
Query.slang = Query.seek:match( "^(%l%l%l?)$" ) or<br />
Query.seek:match( "^(%l%l%l?)%-%u%u$" ) or<br />
Query.seek:match( "^(%l%l%l?)%-%u%l%l%l$" )<br />
Query.script = Query.seek:match( "^%l+%-(%u%l%l%l)$" )<br />
if not Query.script then<br />
local bib = Fellow()<br />
if bib then<br />
Query.script = bib.getLanguageScript( Query.slang )<br />
end<br />
end<br />
else<br />
Query.script = Query.seek:match( "^(%u%l%l%l)$" )<br />
end<br />
if not ( Query.script or Query.slang ) then<br />
r = failure( "errBaseInvalid", Query.seek )<br />
end<br />
if not r then<br />
local lucky<br />
lucky, r = pcall( fetch )<br />
if lucky then<br />
if Data[ Query.seek ] then<br />
local s<br />
Query.task = Data[ Query.seek ]<br />
if type( adjust ) == "string" then<br />
s = mw.text.trim( adjust )<br />
if s == "" then<br />
r = failure( "errTextMissing" )<br />
else<br />
Query.source = s<br />
end<br />
else<br />
r = failure( "errTextMissing" )<br />
end<br />
if not r then<br />
s = type( adapt )<br />
if s == "table" then<br />
Query.targets = adapt<br />
elseif s == "string" then<br />
Query.targets = { adapt }<br />
end<br />
if Query.targets then<br />
if alter then<br />
lucky, r = pcall( mw.text.jsonDecode,<br />
alter )<br />
if type( r ) == "table" then<br />
Query.template = r<br />
end<br />
end<br />
r = furnish()<br />
else<br />
r = failure( "errTargetMissing" )<br />
end<br />
end<br />
else<br />
r = failure( "errBaseUnknown", Query.seek )<br />
end<br />
else<br />
r = failure( "errDefMissing" )<br />
end<br />
end<br />
else<br />
r = failure( "errBaseMissing" )<br />
end<br />
return r<br />
end -- TransText.fiat()<br />
<br />
<br />
<br />
TransText.failsafe = function ( assert )<br />
-- Retrieve versioning and check for compliance<br />
-- Precondition:<br />
-- assert -- string, with required version or "wikidata",<br />
-- or false<br />
-- Postcondition:<br />
-- Returns string with appropriate version, or false<br />
local since = assert<br />
local r<br />
if since == "wikidata" then<br />
local item = TransText.item<br />
since = false<br />
if type( item ) == "number" and item > 0 then<br />
local entity = mw.wikibase.getEntity( string.format( "Q%d",<br />
item ) )<br />
if type( entity ) == "table" then<br />
local vsn = entity:formatPropertyValues( "P348" )<br />
if type( vsn ) == "table" and<br />
type( vsn.value ) == "string" and<br />
vsn.value ~= "" then<br />
r = vsn.value<br />
end<br />
end<br />
end<br />
end<br />
if not r then<br />
if not since or since <= TransText.serial then<br />
r = TransText.serial<br />
else<br />
r = false<br />
end<br />
end<br />
return r<br />
end -- TransText.failsafe()<br />
<br />
<br />
<br />
-- Export<br />
local p = { }<br />
<br />
<br />
<br />
p.fiat = function ( frame )<br />
-- Main task<br />
-- 1 -- language or script code of request text<br />
-- 2 -- request text<br />
-- 3 -- code of first transformation<br />
-- template -- 1 for template data<br />
local s = mw.text.trim( frame.args[ 3 ] or "" )<br />
local r<br />
if s ~= "" then<br />
local start = mw.text.trim( frame.args[ 1 ] or "" )<br />
local source = mw.text.trim( frame.args[ 2 ] or "" )<br />
if start ~= "" and source ~= "" then<br />
local syntax = mw.text.trim( frame.args.template or "" )<br />
local trans = { }<br />
table.insert( trans, s )<br />
for k, v in pairs( frame.args ) do<br />
if type( k ) == "number" and k > 3 then<br />
s = mw.text.trim( v )<br />
if s ~= "" then<br />
table.insert( trans, s )<br />
end<br />
end<br />
end -- for k, v<br />
Query.frame = frame<br />
r = TransText.fiat( start, source, trans, syntax )<br />
end<br />
end<br />
return r or ""<br />
end -- p.fiat<br />
<br />
<br />
<br />
p.from = function ( frame )<br />
-- Available sources<br />
local r<br />
return r or ""<br />
end -- p.from<br />
<br />
<br />
<br />
p.forward = function ( frame )<br />
-- Available targets for this source<br />
local r<br />
return r or ""<br />
end -- p.forward<br />
<br />
<br />
<br />
p.failsafe = function ( frame )<br />
-- Versioning interface<br />
local s = type( frame )<br />
local since<br />
if s == "table" then<br />
since = frame.args[ 1 ]<br />
elseif s == "string" then<br />
since = frame<br />
end<br />
if since then<br />
since = mw.text.trim( since )<br />
if since == "" then<br />
since = false<br />
end<br />
end<br />
return TransText.failsafe( since ) or ""<br />
end -- p.failsafe()<br />
<br />
<br />
<br />
p.TransText = function ()<br />
return TransText<br />
end -- p.TransText<br />
<br />
return p</div>
PerfektesChaos