Vikivortaro
eowiktionary
https://eo.wiktionary.org/wiki/Vikivortaro:%C4%88efpa%C4%9Do
MediaWiki 1.47.0-wmf.17
case-sensitive
Aŭdvidaĵo
Specialaĵo
Diskuto
Uzanto
Uzanta diskuto
Vikivortaro
Vikivortaro-Diskuto
Dosiero
Dosiero-Diskuto
MediaWiki
MediaWiki-Diskuto
Ŝablono
Ŝablono-Diskuto
Helpo
Helpo-Diskuto
Kategorio
Kategorio-Diskuto
Aldono
Aldono-Diskuto
TimedText
TimedText talk
Modulo
Modulo-Diskuto
Event
Event talk
Ŝablono:forigo
10
7124
1475658
774683
2026-08-30T17:31:28Z
Taylor 49
4683
plimo
1475658
wikitext
text/x-wiki
<!--"eo.wiktionary.org/wiki/%C5%9Cablono:forigo"--><!--2026-Aug-30--><includeonly>{{ArtikolaMesaĝokesto
| speco = forigo
| bildo = {{#if:<!--o-->{{{kon|}}}<!--o-->|<!--then-->[[Dosiero:User-trash-full-question.png|50px|link=]]<!--o-->|<!--else-->[[Dosiero:User-trash-full.png|50px|link=]]<!--o-->}}<!--endif-->
| teksto = <big>Mi petas <b>forigi</b> ĉi tiun paĝon<!--o-->{{#if:<!--o-->{{{1|}}}<!--o-->|<!--then-->, ĉar: '''{{{1}}}'''<!--o-->}}<!--endif-->. <!--o-->{{#if:<!--o-->{{{kon|}}}<!--o-->|<!--then-->Iu '''malkonsentas''' kun la proponita forigo, ĉar: '''{{{kon}}}'''. Rigardu la [[{{TALKPAGENAME}}|diskutpaĝon]].<!--o-->|<!--else-->Se vi ne konsentas, bonvolu klarigi tion [[{{TALKPAGENAME}}|sur la diskutpaĝo]], kaj aldonu vian resumon kiel parametro "kon=" al la ŝablonalvoko (vidu ekzemplon sur la paĝo [[Ŝablono:forigo]]). Ne malaperigu la ŝablonon nek la argumenton de la proponinto. Se neniu kontraŭstaras tiam la paĝo estos forigita post 10 tagoj. Se vi sukcesas sufiĉe korekti la paĝon, senvalidigante la kialon por forigo, bonvolu forpreni ĉi tiun sciigon de la paĝo.<!--o-->}}<!--endif--></big>
<table class="plainlinks" style="margin:3px auto 3px auto;padding:3px;border:1px solid #000000;"><tr><td><small>Administrantoj, ne forgesu kontroli neekziston de [[Special:Whatlinkshere/{{FULLPAGENAME}}|ligiloj ĉi tien]] kaj [{{fullurl:{{FULLPAGENAME}}|action=history}} historion] ([{{fullurl:{{FULLPAGENAME}}|diff=0}} lasta ŝanĝo]) antaŭ [{{fullurl:{{FULLPAGENAME}}|action=delete}} forigi].</small></td></tr></table>
{{lasred|cent=1}}
}}
[[Kategorio:Kandidatoj por baldaŭa forigo]]</includeonly><noinclude>
== Utilo ==
Sciigas proponon pri forigo de paĝo kaj eblan malkonsenton de alia uzanto.
== Uzo ==
Almetu la ŝablonon plej supre al la paĝo (kapvorta paĝo, alia ŝablono, aldona paĝo aŭ alia speco).
== Parametroj (1 aŭ 2) ==
* ''(anonima kaj rekomendita parametro)'' -- kialo por la forigo
* ''(nomita kaj nedeviga aldona parametro)'' <b>kon=</b> -- kontraŭargumento
La supraj parametroj ne estu tro longaj, oni diskutu sole sur la diskutpaĝo.
== Dependo de paĝonomo ==
JES (sed kaŝita parametro "pagenameoverridetestonly" NE subtenata).
== Ekzemploj de alvoko kaj memtesto ==
{{pate|sel=111-100|:top}}
{{pate|sel=111-100|forigo}}
{{pate|sel=111-100|[[forigo|sensencaĵo]]}}
{{pate|sel=111-100|[[forigo|sensencaĵo|kon=tio estas la korea lingvo, mi baldaŭ aldonos esperantan tradukon]]}}
{{pate|:end}}
== Kategoria efiko ==
JES. Aldonas paĝon al {{kate|Kandidatoj por baldaŭa forigo}}.
== Pritraktado de eraroj ==
NE.
== Bezonataj resursoj ==
* [[Ŝablono:ArtikolaMesaĝokesto]]
* [[Ŝablono:lasred]]
== Rimarkoj ==
[[Ŝablono:delete]] alidirekras ĉi tien.
[[Kategorio:Ŝablonaro bontenada]]
</noinclude>
q0k82ygzr69wwfzs5sfcopr4objqvrn
Uzanta diskuto:Castelobranco
3
7535
1475660
1475168
2026-08-30T17:52:39Z
Taylor 49
4683
local conjTable = require('মডিউল:আভিধানিক উপাত্ত/Q9610').getInflectionTable(frame, current_lexeme)
1475660
wikitext
text/x-wiki
{| cellspacing="0" width="100%" bgcolor="#f4f1fc" align="center" style="position: relative; z-index: 5; top: 0px; font-size:110%; text-align:center;"
|- valign="top"
| width="40%" bgcolor="#f4f1fc" style="border-top: 1px solid #d1d0f5; border-bottom: solid 1px #d1d0f5;"|
[[Dosiero:Esperanto star.png|20px]] <small>''[[Uzanto:Castelobranco/Arkivo01|Arkivo]]'' </small> [[Dosiero:Esperanto star.png|20px]]
|}
== Reveno ==
Saluton kaj rebonvenon! Tamen ni estas iomete skeptika pri amaskreado de paĝoj (en iu ajn lingvo) de tipo "[[Annonciation de la Vierge]] -> [[Anunciacio]]" (vortospeco estas, sed neniu vortfarado, neniu etimologio, neniu faka kategorio, neniu ligilo al vikipedio, ...) per kopiado de iu malnova vortaro. Tiel ne estiĝas problemo pri kopirajto, sed ankaŭ ne aŭ apenaŭ kreskas valoro de la vikivortaro. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 21:21, 16 mar. 2026 (UTC)
:Dankon, mi ĝojas pro la bona laboro farita de vi ĉi tie! Mi tute komprenas vian skeptikecon kaj mi ne vin petas aliĝu min por krei novajn paĝojn. En portugalaj projektoj mi mem kreas malmultajn paĝojn, ĉar mi preferas plibonigi (mane aŭ aŭtomate) la jam ekzistantajn. Sed ĉar niaj esperantaj vikiprojektoj estas tre malplenaj (preskaŭ neglektitaj), do mi konsideras bluigi ligilojn mia plej grava tasko (al niaj legantoj estus pli bona trovi malgrandan paĝon ol trovi nenion). Post kiam mi kreos kelkajn centojn da paĝojn el tiuj malnovaj vortaroj, mi aldonos liajn ligilojn <u>al</u> Vikipedio (ligiloj '''de''' Vikipedio pli gravas ol '''al''' Vikipedio), por helpi vikipediistojn koni Vikivortaron kaj eble partopreni ĉi tie, ĉar plibonigi jam ekzistantajn paĝojn estas pli facila ol krei ilin. Tio ne estas mian nuran kontribuon, mi ankaŭ aldonas [https://eo.wiktionary.org/w/index.php?title=kato&diff=prev&oldid=48779 bildojn], [https://eo.wiktionary.org/w/index.php?title=anta%C5%AD&diff=1223447&oldid=1138649 sondosierojn], [https://eo.wiktionary.org/w/index.php?title=unu&diff=prev&oldid=220935 ekzemplojn, referencojn], k.t.p. Ne estas nur unu maniero kreski valoron de Vikivortaro, ni ĉiam trovas malsaman taskon kiun ni preferas plenumi. Kiel oni diras en Vikipedio (ankaŭ validas ĉi tie) "perfekteco estas nek dezirita nek plenumebla", la projekto nure bezonas esti pli bona ol hieraŭ. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 02:44, 17 mar. 2026 (UTC)
:: Mi vidas ke [[Vikivortaro:Kandidatiĝoj#Dua_administranto-kandidatiĝo_CasteloBranco|via kandidatiĝo]] ne progresas bone. Mi laŭcele ne voĉdonis por povi fermi la diskutadon kiel senpartia uzanto, sed nun post du semajnoj mi eltrovas ke la voĉoj intertempe ne plimultiĝis. :-( [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 17:50, 30 mar. 2026 (UTC)
:::Ene de tiaj projektoj, tio ne multe gravas por provizora statuso. Stevardo [[:meta:User:A09|A09]] jam respondis la peton ĉe Meta ([[:meta:Special:Permalink/30333354]]). Estas nun esperantista administranto ĉi tie (ĝis septembro). Ĉu vi povas fermi la diskutadon? Dankon! [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 12:38, 31 mar. 2026 (UTC)
:::: Vi jam faris tion. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 23:17, 2 apr. 2026 (UTC)
== Vulgara uzantonomo, "LTA Pakkoruotsi" ==
* [[:w:Vikipedio:Problemaj_uzantoj#Tutvike_forbarita_uzanto,_gantopupo_de_"Nenoniel"]]
* [[:m:Special:CentralAuth/Urpola]] globale forbarita
* [[:m:Special:CentralAuth/Oksettava_örvelö]] (= "vomiga ulaĉo")
[[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 23:15, 2 apr. 2026 (UTC)
:Dankon pro la averto, mi legis la diskuton. Dum la venontaj aperoj, ne malŝparu vian tempon. La redaktoj de forbaritaj uzantoj estas tuje forigendaj. Riparante iliajn artikolojn ni nur ilin instigas krei novajn kontojn. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 02:15, 4 apr. 2026 (UTC)
== Roboto ==
Saluton denove.
* Mi vidas ke vi amaskreas paĝojn, evidente per roboto. Kial vi ne uzas vian robotan konton [[User:CasteloBot]] kiu eĉ daŭre havas la robotan flagon?
* Vi hodiaŭ kreis paĝojn pri verboj ... de kie venas la difinoj? Laŭ frekvenco de redaktado maprobablas ke vi verkas ilin mem. Aŭ ĉu vi iel verkis ilin antaŭe, kaj nur poste rapide enmetis ilin per la roboto?
* Ĉu vi povus eviti komencan majusklon kaj finan punkton? La [[:sv:Wiktionary:Stilguide#Definitionen|ideo estas ke la difino kiel eble povas anstataŭi la vorton]], do ne estu frazo se la kapvorto mem ne estas frazo:
::: Mi apartigis la difektiĝintajn lampojn de la funkciantajn, kaj klopodos ripari la frue nomitajn.
:::: apartigi = fari aparta
::::: Mi faris apartaj la difektiĝintajn lampojn de la funkciantajn, kaj klopodos ripari la frue nomitajn. ''(funkcias)''
:::: apartigi = Fari ion aparta.
::::: Mi Faris ion apartaj. la difektiĝintajn lampojn de la funkciantajn, kaj klopodos ripari la frue nomitajn. ''(NE funkcias)''
[[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 12:59, 19 apr. 2026 (UTC)
: Evidente la enhavo venas de [https://pdf-archive.com/2014/01/26/kabe-1910-05-jan-2014] kaj [[:w:Vortaro_de_Esperanto]] [[:s:Vortaro_de_Esperanto]]. Por mi ne plene klaras ĉu la vortaro jam estas publika havaĵo aŭ nur estos ekde 2030-01-01 [[:c:Commons:Copyright rules by territory/Poland]]. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 13:26, 19 apr. 2026 (UTC)
::Post legi la paĝon kiun vi menciis kaj konsulti amikon (voluntulon ĉe OTRS), mi konfirmis, ke tiu verko '''ne estas en publikhavaĵo'''. Mi jam petis ĝian forigadon el [[:c:Commons:Deletion requests/File:Kabe - Vortaro de Esperanto, 1922.pdf|Komunejo]] kaj el [[:s:Vikifontaro:Forigproponoj#Aŭtoro:Kabe + La Faraono + Vortaro de Esperanto|Vikifontaro]]. Dankon pro la rimarko. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 04:12, 20 apr. 2026 (UTC)
:Mi ne plu uzas roboton por krei paĝojn. Mi kreos la sintakson mane, dum la lastaj semajnoj, kaj mi enmetis ĝin ĉi tien post kopii la kodon el mia komputilo, alglui ĝin sur malplena paĝo kaj konservi sian rilatan paĝon. Mi intencas uzi mian roboton por ripari la kodon poste.
:La difinoj venas el vortaro de KaBe, laŭ mi indikis en Referencoj. Mi ne uzis ReVo aŭ PIV aŭ iun ajn verkon. Mi laboras nur sur la tekston de KaBe, kiu estas en Commons kaj en Vikifontaro. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 14:06, 19 apr. 2026 (UTC)
::Mi adoptos ĉi tiujn sugestojn por la difinoj (“eviti majusklon kaj punkton”). [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 14:13, 19 apr. 2026 (UTC)
== Special:SpecialPages ==
Saluton ... necesas redakti la paĝon [[MediaWiki:Sidebar]] kaj aldoni linion:
<pre>** Special:SpecialPages|Specialaj paĝoj</pre>
[[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 17:12, 22 apr. 2026 (UTC)
:{{farita}} [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 21:12, 22 apr. 2026 (UTC)
== Paĝo "pullamössösukupolvi" ==
[https://eo.wiktionary.org/w/index.php?title=pullam%C3%B6ss%C3%B6sukupolvi&action=history Ĉiuj kontoj kaj IP adresoj] krom vi kaj mi estis kontrolitaj far sama ulo. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 20:20, 22 apr. 2026 (UTC)
: Bv ne forigu pliajn finnajn paĝojn. Mi investis tempon en la paĝo "pullamössösukupolvi". [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 21:54, 22 apr. 2026 (UTC)
::La kodo de la lasta versio redaktada de vi estas [[Uzanto:Castelobranco/pullamössösukupolvi|ĉi tie]]. Vi povas denove krei la paĝon, se vi deziras. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 02:27, 23 apr. 2026 (UTC)
== Gratulojn! ==
Mi ne tre ofte atentas nun pri eventoj ĉi tie. Do, tralegis infomon datitan de 31 mar. 2026 nur hodiaŭ. Saluton kaj gratulojn. [[User:Vami|<span style="font-family:cursive;text-decoration:underline;display:inline-block;transform:rotate(-8deg);-moz-transform:rotate(-8deg);-webkit-transform:rotate(-8deg);-o-transform:rotate(-8deg);">Va</span>]] [[User talk:Vami|<sub>(🖋️)</sub>]] 13:25, 22 maj. 2026 (UTC)
:Dankon, Vami! [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 21:57, 22 maj. 2026 (UTC)
== Ĉevrono/ĉerko ==
Bonfarton! Problemo ĉe la artikolo [[ĉevrono]]. En la partoj Vorterseparo, Signifoj kaj Traduko aperas priskribo por la vorto ĉerko. Tamen [[ĉerko]] jam havas artikolon.
Ankaŭ traduka parto: ĉerko -> [[caixão]] -> skatolego; ĉerko. Do samtempe utilus ĝustigi tradukparton por portugala vorto.
Vi estas krento del artikolo, do estas senco ke vi ĝustigu la artikolon. [[User:Vami|<span style="font-family:cursive;text-decoration:underline;display:inline-block;transform:rotate(-8deg);-moz-transform:rotate(-8deg);-webkit-transform:rotate(-8deg);-o-transform:rotate(-8deg);">Va</span>]] [[User talk:Vami|<sub>(🖋️)</sub>]] 10:47, 22 jun. 2026 (UTC)
:{{farita}}. Dankon! [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 14:31, 22 jun. 2026 (UTC)
== Roboto ==
Saluton! Vi multe redaktadas kaj per via ĉefa konto kaj per via robota konto, ambaŭokaze per roboto (centoj da redaktoj je frekvenco ĉirkaŭ unu redakto div sekundo apenaŭ eblas per tradicia permana redaktado) . Ĉu estas aparta utilo? Vi [[Uzanta_diskuto:Taylor_49#Vortaro_de_Esperanto_(1910)|jam respondis antaŭe]] sed mi ne plene komprenis. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 14:37, 8 jul. 2026 (UTC)
:En mia ĉefa konto, mi redaktas permane. Sed mi laboras antaŭe ĉe mia komputilo ('''ekster''' la vikio). Kiam la tasko estas preta, mi kopias (Ctrl+C) la kodon, algluas (Ctrl+V) en la vikia paĝo kaj konservas ĝin. Tiel mi kapablas redakti tre rapide, sed ne aŭtomate. Mi vere faras centojn da klakoj. Kompare kun robotaj redaktoj, tiu estas pli teda laborado. Mi uzas mian roboton por aŭtomate redakte ĉiun paĝon (el iu listo) kiu havas kelkajn kodojn, anstataŭigante tiu kodon al alia. Ankaŭ ĝi povas krei paĝojn, sed nur se ili havos la saman vikitekston. Mi faris tion por krei derivitajn formojn (pluralojn, akuzativojn, verbajn formojn ktp). Se la kreotaj paĝoj havos malsimilajn vikitekstojn, mi bezonas redakti permane. Mi ne kapablas redakti aŭtomate en mia ĉefa konto (la aŭtomata opcio nur aperas por konto kun robota statuso). [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 15:26, 8 jul. 2026 (UTC)
:: Dankon ...
<pre>
malsamoj historio tralasinto 23:41:14 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasinte 23:41:14 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasintan 23:41:13 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasintajn 23:41:12 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasintaj 23:41:11 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasinta 23:41:10 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasata 23:41:10 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasanton 23:41:09 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasantojn 23:41:08 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasantoj 23:41:07 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasanto 23:41:06 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasante 23:41:06 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasantan 23:41:05 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasantajn 23:41:04 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasantaj 23:41:03 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasanta 23:41:03 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio trapasoton 23:41:02 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio trapasotojn 23:41:01 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio trapasotoj 23:41:00 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio trapasoto 23:40:59 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio trapasote 23:40:59 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
</pre>
:: la frekvenco estas rekte nekredebla ... 21 redaktoj dum 15 sekundoj. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 16:01, 8 jul. 2026 (UTC)
:::Anstataŭigi: <nowiki>{{radi|tralas}} -> {{mems|tra}} + {{radi|las}}</nowiki>. Mi mane faris tian redakton antaŭ lerni kiel aŭtomatigi ĝin, uzante <nowiki>{{tranĉi}} kaj {{dekstra}}</nowiki>. Poste, mia roboto faris tiun taskon kaj mi laboras en aliaj. Mi kutime provas novajn taskojn antaŭ redakte aŭtomate. Kial tio ĝenas vin? Mi koncernas plu pri la ne-robotaj taskoj faritaj de robotoj ol la eble-robotaj taskoj faritaj de uzantoj. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 17:00, 8 jul. 2026 (UTC)
== "id=" ==
Saluton! Vi ĵus aldonis umon "id=" al kelkaj ŝablonoj. Kio estas la utilo? [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 14:37, 8 jul. 2026 (UTC)
:Ĝi estos utila por citi fontojn ene de iu paĝo. Mi laboras en tasko por aldoni ekzemplojn al vortoj de ''Vortaro'' de Kabe (kaj aliaj) el la ''Proverbaro'' de LZ. Ĉiu frazo havos sian fonton, ligita al verko el Referencoj-sekcio. Tiu ankaŭ plibonigos la kontroladon de kopirajtitaj tekstoj, kiujn mi volas forpreni. Do, tiu estas provo por venonta tasko. Baldaŭ mi montros al vi. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 15:54, 8 jul. 2026 (UTC)
:: Bone, mi vidos. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 16:01, 8 jul. 2026 (UTC)
:::La ideo estas ke la leganto povu rapide kontroli la fonton de ĉiu citaĵo el verko sur Vikifontaro. Vidu [[baldaŭ|provon]] (bv. alklaki la ligilojn en la sekcio "Ekzemploj"). Ankoraŭ mankas ŝablonon por aŭtomate fari la internajn ligilojn, kaj mi ankoraŭ esploras kiel pli bone ligi rekte al paĝo (ekz. [[:s:Vortaro de Esperanto/Artikolaro/Baldaŭ|p.16]]). Eble mi bezonos fari kelkajn ŝanĝojn en la verko sur Vikifontaro por funkciigi tiun. Ankoraŭ daŭros iom da tempo antaŭ ol tiu tasko estos preta. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 14:12, 10 jul. 2026 (UTC)
== Du demandoj ==
[[Vikivortaro:Diskutejo#Esperanta_verbo]]. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 15:07, 9 jul. 2026 (UTC)
== Eraro de roboto ==
[https://eo.wiktionary.org/w/index.php?title=Finnlandon&diff=1474942&oldid=1458476 title=Finnlandon] La roboto anstataŭigis la ĝustan ŝablonon per malĝusta kun resumo <code>*vorterseparo</code>. [[Ŝablono:Akuzativo-eo]] estas por bazaj formoj. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 19:44, 3 aŭg. 2026 (UTC)
Portempaj katoj:
* {{kate|Diag-akuzativo-eo-on}}
* {{kate|Diag-akuzativo-eo-ojn}}
estu ruĝaj kaj malplenaj. Via malfaro bedaŭrinde malplenigis ilin. Se post kelkaj tagoj ne reaperos paĝoj, tiam ne plu estas fuŝoj similaj al paĝo [[Finnlandon]], kaj eblas forŝalti la katojn se oni povas fidi ke la roboto estonte ne plu aldonos la ŝablonon [[Ŝablono:Akuzativo-eo]] al paĝoj pri substantivaj formoj. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 19:56, 3 aŭg. 2026 (UTC)
:Saluton, @[[Uzanto:Taylor 49|Taylor 49]]! Tiu ŝablono {{ŝl|form-eo}} kreas malĝustan vorterseparon por la vorto ("finnland'on" anstataŭ "finn'land'o'n"). Mi ŝanĝis la ŝablonon {{ŝl|Akuzativo-eo}} por uzi ĝin en tiaj paĝoj, kiel mi antaŭe proponis [[Vikivortaro:Diskutejo#Akuzativa formo de propra nomo|tie]]. Ĉu mi devus uzi {{ŝl|Deklinacio-eo|S}}-n por aldoni la ĝustan vorterseparon? [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 20:22, 3 aŭg. 2026 (UTC)
:: Dankon pro la respondo. La vorterseparon de "on" eblas plibonigi aŭ '''forĵeti'''. La ŝablonon "form-eo" transkluzivigas [https://linkcount.toolforge.org/?project=eo.wiktionary.org&page=%C5%9Cablono%3Aform-eo ca 24'000] paĝoj. Do la plibonigo afekcius la 24'000 paĝojn samtempe, ne unu post unu. La vorterseparon "finn'land" oni jam havas ĉe la baza formo [[Finnlando]]. Malfeliĉan ŝablonon {{ŝl|Deklinacio-eo}} mi ankaŭ intencas prilabori, tiel ke [[Ŝablono:Akuzativo-eo]] senutiliĝos, kaj restoj nur du ŝablonoj: {{ŝl|Deklinacio-eo}} por bazaj formoj, kaj {{ŝl|form-eo}} por la nebazaj. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 20:39, 3 aŭg. 2026 (UTC)
:::Ĉu ne eblas uzi {{ŝl|Deklinacio-eo}}-n por ambaŭ formoj? Tiel la redaktado estus pli simpla kaj ni ne bezonus ŝanĝi la [[Helpo:Kiel redakti paĝon|helpopaĝon]]. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 20:56, 3 aŭg. 2026 (UTC)
:::: Teorie, jes. Ĉu tiel redaktado estus pli simpla mi pridubas. Tamen {{ŝl|form-eo}} estas dumtempe la sola kiu ĝuste prilaboras nursingularajn kaj nurpluralajn substantivojn (sed bazajn formojn ĝi malakceptas). Tio kompreneble rilatas al [[Vikivortaro:Diskutejo#Luksnivelo_de_nebazaj_formoj]] kaj la principa demando: ĉu la esperanta vikivortaro nepre kiel eble plej rapide kresku en amaso, aŭ preferinde en kvalito (do bonaj difinoj, pluraj difinoj de plursignifaj vortoj, bonaj ekzemloj, bildoj, pluraj bildoj por plursignifaj vortoj, ...). {{ŝl|form-eo}} daŭre estas parte heredaĵo de iama porkejo de pli ol 30 ŝablonoj por sama celo (fleksio de io esperanta, sen preciza distingo de vortospeco, baza statuso, nursingulareco, ...). [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 21:32, 3 aŭg. 2026 (UTC)
:::::{{ŝl|Deklinacio-eo}} estas simpla tabelo. [https://eo.wiktionary.org/w/index.php?title=%C5%9Cablono:Deklinacio-eo&action=edit&oldid=1233817 Tiu ŝanĝo] ebligis al ni montri/kaŝi la pluralajn formojn, laŭ nia bezono. Se mi riparos ĝin, {{ŝl|form-eo}} ne estos la sola ŝablono por nursingularaj substantivoj. Mi ankaŭ povus plibonigi ĝin por nurpluralaj. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 21:50, 3 aŭg. 2026 (UTC)
== Multaj novaj moduloj ==
Ekzemple [[Modulo:LeksemoHelpo]] kaj [[Modulo:Wikidata]] kaj [[Modulo:Vikidatumoj]] ... ili ne havas dokumentaĵon kaj ne estas uzataj. Ĉu vi mem kodumis ilin? Se ne, tiam necesas indiki la fonton. Ŝajne almenaŭ kelkaj estas faritaj por vikipedio, kaj la linio
<pre>
local conjTable = require('মডিউল:আভিধানিক উপাত্ত/Q9610').getInflectionTable(frame, current_lexeme)
</pre>
preskaŭ certe neniam funkcios en ĉi tiu vikio. ;-) Bv aldonu dokumentaĵon al moduloj kiujn vi intencas enservigi, kaj forigu la ceterajn. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 17:52, 30 aŭg. 2026 (UTC)
5mhszg671ot9uqng81jp0fd0crizokc
1475661
1475660
2026-08-30T22:51:32Z
Castelobranco
930
/* Multaj novaj moduloj */ Respondo
1475661
wikitext
text/x-wiki
{| cellspacing="0" width="100%" bgcolor="#f4f1fc" align="center" style="position: relative; z-index: 5; top: 0px; font-size:110%; text-align:center;"
|- valign="top"
| width="40%" bgcolor="#f4f1fc" style="border-top: 1px solid #d1d0f5; border-bottom: solid 1px #d1d0f5;"|
[[Dosiero:Esperanto star.png|20px]] <small>''[[Uzanto:Castelobranco/Arkivo01|Arkivo]]'' </small> [[Dosiero:Esperanto star.png|20px]]
|}
== Reveno ==
Saluton kaj rebonvenon! Tamen ni estas iomete skeptika pri amaskreado de paĝoj (en iu ajn lingvo) de tipo "[[Annonciation de la Vierge]] -> [[Anunciacio]]" (vortospeco estas, sed neniu vortfarado, neniu etimologio, neniu faka kategorio, neniu ligilo al vikipedio, ...) per kopiado de iu malnova vortaro. Tiel ne estiĝas problemo pri kopirajto, sed ankaŭ ne aŭ apenaŭ kreskas valoro de la vikivortaro. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 21:21, 16 mar. 2026 (UTC)
:Dankon, mi ĝojas pro la bona laboro farita de vi ĉi tie! Mi tute komprenas vian skeptikecon kaj mi ne vin petas aliĝu min por krei novajn paĝojn. En portugalaj projektoj mi mem kreas malmultajn paĝojn, ĉar mi preferas plibonigi (mane aŭ aŭtomate) la jam ekzistantajn. Sed ĉar niaj esperantaj vikiprojektoj estas tre malplenaj (preskaŭ neglektitaj), do mi konsideras bluigi ligilojn mia plej grava tasko (al niaj legantoj estus pli bona trovi malgrandan paĝon ol trovi nenion). Post kiam mi kreos kelkajn centojn da paĝojn el tiuj malnovaj vortaroj, mi aldonos liajn ligilojn <u>al</u> Vikipedio (ligiloj '''de''' Vikipedio pli gravas ol '''al''' Vikipedio), por helpi vikipediistojn koni Vikivortaron kaj eble partopreni ĉi tie, ĉar plibonigi jam ekzistantajn paĝojn estas pli facila ol krei ilin. Tio ne estas mian nuran kontribuon, mi ankaŭ aldonas [https://eo.wiktionary.org/w/index.php?title=kato&diff=prev&oldid=48779 bildojn], [https://eo.wiktionary.org/w/index.php?title=anta%C5%AD&diff=1223447&oldid=1138649 sondosierojn], [https://eo.wiktionary.org/w/index.php?title=unu&diff=prev&oldid=220935 ekzemplojn, referencojn], k.t.p. Ne estas nur unu maniero kreski valoron de Vikivortaro, ni ĉiam trovas malsaman taskon kiun ni preferas plenumi. Kiel oni diras en Vikipedio (ankaŭ validas ĉi tie) "perfekteco estas nek dezirita nek plenumebla", la projekto nure bezonas esti pli bona ol hieraŭ. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 02:44, 17 mar. 2026 (UTC)
:: Mi vidas ke [[Vikivortaro:Kandidatiĝoj#Dua_administranto-kandidatiĝo_CasteloBranco|via kandidatiĝo]] ne progresas bone. Mi laŭcele ne voĉdonis por povi fermi la diskutadon kiel senpartia uzanto, sed nun post du semajnoj mi eltrovas ke la voĉoj intertempe ne plimultiĝis. :-( [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 17:50, 30 mar. 2026 (UTC)
:::Ene de tiaj projektoj, tio ne multe gravas por provizora statuso. Stevardo [[:meta:User:A09|A09]] jam respondis la peton ĉe Meta ([[:meta:Special:Permalink/30333354]]). Estas nun esperantista administranto ĉi tie (ĝis septembro). Ĉu vi povas fermi la diskutadon? Dankon! [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 12:38, 31 mar. 2026 (UTC)
:::: Vi jam faris tion. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 23:17, 2 apr. 2026 (UTC)
== Vulgara uzantonomo, "LTA Pakkoruotsi" ==
* [[:w:Vikipedio:Problemaj_uzantoj#Tutvike_forbarita_uzanto,_gantopupo_de_"Nenoniel"]]
* [[:m:Special:CentralAuth/Urpola]] globale forbarita
* [[:m:Special:CentralAuth/Oksettava_örvelö]] (= "vomiga ulaĉo")
[[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 23:15, 2 apr. 2026 (UTC)
:Dankon pro la averto, mi legis la diskuton. Dum la venontaj aperoj, ne malŝparu vian tempon. La redaktoj de forbaritaj uzantoj estas tuje forigendaj. Riparante iliajn artikolojn ni nur ilin instigas krei novajn kontojn. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 02:15, 4 apr. 2026 (UTC)
== Roboto ==
Saluton denove.
* Mi vidas ke vi amaskreas paĝojn, evidente per roboto. Kial vi ne uzas vian robotan konton [[User:CasteloBot]] kiu eĉ daŭre havas la robotan flagon?
* Vi hodiaŭ kreis paĝojn pri verboj ... de kie venas la difinoj? Laŭ frekvenco de redaktado maprobablas ke vi verkas ilin mem. Aŭ ĉu vi iel verkis ilin antaŭe, kaj nur poste rapide enmetis ilin per la roboto?
* Ĉu vi povus eviti komencan majusklon kaj finan punkton? La [[:sv:Wiktionary:Stilguide#Definitionen|ideo estas ke la difino kiel eble povas anstataŭi la vorton]], do ne estu frazo se la kapvorto mem ne estas frazo:
::: Mi apartigis la difektiĝintajn lampojn de la funkciantajn, kaj klopodos ripari la frue nomitajn.
:::: apartigi = fari aparta
::::: Mi faris apartaj la difektiĝintajn lampojn de la funkciantajn, kaj klopodos ripari la frue nomitajn. ''(funkcias)''
:::: apartigi = Fari ion aparta.
::::: Mi Faris ion apartaj. la difektiĝintajn lampojn de la funkciantajn, kaj klopodos ripari la frue nomitajn. ''(NE funkcias)''
[[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 12:59, 19 apr. 2026 (UTC)
: Evidente la enhavo venas de [https://pdf-archive.com/2014/01/26/kabe-1910-05-jan-2014] kaj [[:w:Vortaro_de_Esperanto]] [[:s:Vortaro_de_Esperanto]]. Por mi ne plene klaras ĉu la vortaro jam estas publika havaĵo aŭ nur estos ekde 2030-01-01 [[:c:Commons:Copyright rules by territory/Poland]]. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 13:26, 19 apr. 2026 (UTC)
::Post legi la paĝon kiun vi menciis kaj konsulti amikon (voluntulon ĉe OTRS), mi konfirmis, ke tiu verko '''ne estas en publikhavaĵo'''. Mi jam petis ĝian forigadon el [[:c:Commons:Deletion requests/File:Kabe - Vortaro de Esperanto, 1922.pdf|Komunejo]] kaj el [[:s:Vikifontaro:Forigproponoj#Aŭtoro:Kabe + La Faraono + Vortaro de Esperanto|Vikifontaro]]. Dankon pro la rimarko. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 04:12, 20 apr. 2026 (UTC)
:Mi ne plu uzas roboton por krei paĝojn. Mi kreos la sintakson mane, dum la lastaj semajnoj, kaj mi enmetis ĝin ĉi tien post kopii la kodon el mia komputilo, alglui ĝin sur malplena paĝo kaj konservi sian rilatan paĝon. Mi intencas uzi mian roboton por ripari la kodon poste.
:La difinoj venas el vortaro de KaBe, laŭ mi indikis en Referencoj. Mi ne uzis ReVo aŭ PIV aŭ iun ajn verkon. Mi laboras nur sur la tekston de KaBe, kiu estas en Commons kaj en Vikifontaro. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 14:06, 19 apr. 2026 (UTC)
::Mi adoptos ĉi tiujn sugestojn por la difinoj (“eviti majusklon kaj punkton”). [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 14:13, 19 apr. 2026 (UTC)
== Special:SpecialPages ==
Saluton ... necesas redakti la paĝon [[MediaWiki:Sidebar]] kaj aldoni linion:
<pre>** Special:SpecialPages|Specialaj paĝoj</pre>
[[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 17:12, 22 apr. 2026 (UTC)
:{{farita}} [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 21:12, 22 apr. 2026 (UTC)
== Paĝo "pullamössösukupolvi" ==
[https://eo.wiktionary.org/w/index.php?title=pullam%C3%B6ss%C3%B6sukupolvi&action=history Ĉiuj kontoj kaj IP adresoj] krom vi kaj mi estis kontrolitaj far sama ulo. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 20:20, 22 apr. 2026 (UTC)
: Bv ne forigu pliajn finnajn paĝojn. Mi investis tempon en la paĝo "pullamössösukupolvi". [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 21:54, 22 apr. 2026 (UTC)
::La kodo de la lasta versio redaktada de vi estas [[Uzanto:Castelobranco/pullamössösukupolvi|ĉi tie]]. Vi povas denove krei la paĝon, se vi deziras. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 02:27, 23 apr. 2026 (UTC)
== Gratulojn! ==
Mi ne tre ofte atentas nun pri eventoj ĉi tie. Do, tralegis infomon datitan de 31 mar. 2026 nur hodiaŭ. Saluton kaj gratulojn. [[User:Vami|<span style="font-family:cursive;text-decoration:underline;display:inline-block;transform:rotate(-8deg);-moz-transform:rotate(-8deg);-webkit-transform:rotate(-8deg);-o-transform:rotate(-8deg);">Va</span>]] [[User talk:Vami|<sub>(🖋️)</sub>]] 13:25, 22 maj. 2026 (UTC)
:Dankon, Vami! [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 21:57, 22 maj. 2026 (UTC)
== Ĉevrono/ĉerko ==
Bonfarton! Problemo ĉe la artikolo [[ĉevrono]]. En la partoj Vorterseparo, Signifoj kaj Traduko aperas priskribo por la vorto ĉerko. Tamen [[ĉerko]] jam havas artikolon.
Ankaŭ traduka parto: ĉerko -> [[caixão]] -> skatolego; ĉerko. Do samtempe utilus ĝustigi tradukparton por portugala vorto.
Vi estas krento del artikolo, do estas senco ke vi ĝustigu la artikolon. [[User:Vami|<span style="font-family:cursive;text-decoration:underline;display:inline-block;transform:rotate(-8deg);-moz-transform:rotate(-8deg);-webkit-transform:rotate(-8deg);-o-transform:rotate(-8deg);">Va</span>]] [[User talk:Vami|<sub>(🖋️)</sub>]] 10:47, 22 jun. 2026 (UTC)
:{{farita}}. Dankon! [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 14:31, 22 jun. 2026 (UTC)
== Roboto ==
Saluton! Vi multe redaktadas kaj per via ĉefa konto kaj per via robota konto, ambaŭokaze per roboto (centoj da redaktoj je frekvenco ĉirkaŭ unu redakto div sekundo apenaŭ eblas per tradicia permana redaktado) . Ĉu estas aparta utilo? Vi [[Uzanta_diskuto:Taylor_49#Vortaro_de_Esperanto_(1910)|jam respondis antaŭe]] sed mi ne plene komprenis. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 14:37, 8 jul. 2026 (UTC)
:En mia ĉefa konto, mi redaktas permane. Sed mi laboras antaŭe ĉe mia komputilo ('''ekster''' la vikio). Kiam la tasko estas preta, mi kopias (Ctrl+C) la kodon, algluas (Ctrl+V) en la vikia paĝo kaj konservas ĝin. Tiel mi kapablas redakti tre rapide, sed ne aŭtomate. Mi vere faras centojn da klakoj. Kompare kun robotaj redaktoj, tiu estas pli teda laborado. Mi uzas mian roboton por aŭtomate redakte ĉiun paĝon (el iu listo) kiu havas kelkajn kodojn, anstataŭigante tiu kodon al alia. Ankaŭ ĝi povas krei paĝojn, sed nur se ili havos la saman vikitekston. Mi faris tion por krei derivitajn formojn (pluralojn, akuzativojn, verbajn formojn ktp). Se la kreotaj paĝoj havos malsimilajn vikitekstojn, mi bezonas redakti permane. Mi ne kapablas redakti aŭtomate en mia ĉefa konto (la aŭtomata opcio nur aperas por konto kun robota statuso). [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 15:26, 8 jul. 2026 (UTC)
:: Dankon ...
<pre>
malsamoj historio tralasinto 23:41:14 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasinte 23:41:14 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasintan 23:41:13 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasintajn 23:41:12 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasintaj 23:41:11 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasinta 23:41:10 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasata 23:41:10 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasanton 23:41:09 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasantojn 23:41:08 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasantoj 23:41:07 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasanto 23:41:06 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasante 23:41:06 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasantan 23:41:05 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasantajn 23:41:04 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasantaj 23:41:03 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio tralasanta 23:41:03 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio trapasoton 23:41:02 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio trapasotojn 23:41:01 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio trapasotoj 23:41:00 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio trapasoto 23:40:59 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
malsamoj historio trapasote 23:40:59 +12 Castelobranco diskuto kontribuoj (*vorterseparo) danki
</pre>
:: la frekvenco estas rekte nekredebla ... 21 redaktoj dum 15 sekundoj. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 16:01, 8 jul. 2026 (UTC)
:::Anstataŭigi: <nowiki>{{radi|tralas}} -> {{mems|tra}} + {{radi|las}}</nowiki>. Mi mane faris tian redakton antaŭ lerni kiel aŭtomatigi ĝin, uzante <nowiki>{{tranĉi}} kaj {{dekstra}}</nowiki>. Poste, mia roboto faris tiun taskon kaj mi laboras en aliaj. Mi kutime provas novajn taskojn antaŭ redakte aŭtomate. Kial tio ĝenas vin? Mi koncernas plu pri la ne-robotaj taskoj faritaj de robotoj ol la eble-robotaj taskoj faritaj de uzantoj. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 17:00, 8 jul. 2026 (UTC)
== "id=" ==
Saluton! Vi ĵus aldonis umon "id=" al kelkaj ŝablonoj. Kio estas la utilo? [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 14:37, 8 jul. 2026 (UTC)
:Ĝi estos utila por citi fontojn ene de iu paĝo. Mi laboras en tasko por aldoni ekzemplojn al vortoj de ''Vortaro'' de Kabe (kaj aliaj) el la ''Proverbaro'' de LZ. Ĉiu frazo havos sian fonton, ligita al verko el Referencoj-sekcio. Tiu ankaŭ plibonigos la kontroladon de kopirajtitaj tekstoj, kiujn mi volas forpreni. Do, tiu estas provo por venonta tasko. Baldaŭ mi montros al vi. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 15:54, 8 jul. 2026 (UTC)
:: Bone, mi vidos. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 16:01, 8 jul. 2026 (UTC)
:::La ideo estas ke la leganto povu rapide kontroli la fonton de ĉiu citaĵo el verko sur Vikifontaro. Vidu [[baldaŭ|provon]] (bv. alklaki la ligilojn en la sekcio "Ekzemploj"). Ankoraŭ mankas ŝablonon por aŭtomate fari la internajn ligilojn, kaj mi ankoraŭ esploras kiel pli bone ligi rekte al paĝo (ekz. [[:s:Vortaro de Esperanto/Artikolaro/Baldaŭ|p.16]]). Eble mi bezonos fari kelkajn ŝanĝojn en la verko sur Vikifontaro por funkciigi tiun. Ankoraŭ daŭros iom da tempo antaŭ ol tiu tasko estos preta. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 14:12, 10 jul. 2026 (UTC)
== Du demandoj ==
[[Vikivortaro:Diskutejo#Esperanta_verbo]]. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 15:07, 9 jul. 2026 (UTC)
== Eraro de roboto ==
[https://eo.wiktionary.org/w/index.php?title=Finnlandon&diff=1474942&oldid=1458476 title=Finnlandon] La roboto anstataŭigis la ĝustan ŝablonon per malĝusta kun resumo <code>*vorterseparo</code>. [[Ŝablono:Akuzativo-eo]] estas por bazaj formoj. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 19:44, 3 aŭg. 2026 (UTC)
Portempaj katoj:
* {{kate|Diag-akuzativo-eo-on}}
* {{kate|Diag-akuzativo-eo-ojn}}
estu ruĝaj kaj malplenaj. Via malfaro bedaŭrinde malplenigis ilin. Se post kelkaj tagoj ne reaperos paĝoj, tiam ne plu estas fuŝoj similaj al paĝo [[Finnlandon]], kaj eblas forŝalti la katojn se oni povas fidi ke la roboto estonte ne plu aldonos la ŝablonon [[Ŝablono:Akuzativo-eo]] al paĝoj pri substantivaj formoj. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 19:56, 3 aŭg. 2026 (UTC)
:Saluton, @[[Uzanto:Taylor 49|Taylor 49]]! Tiu ŝablono {{ŝl|form-eo}} kreas malĝustan vorterseparon por la vorto ("finnland'on" anstataŭ "finn'land'o'n"). Mi ŝanĝis la ŝablonon {{ŝl|Akuzativo-eo}} por uzi ĝin en tiaj paĝoj, kiel mi antaŭe proponis [[Vikivortaro:Diskutejo#Akuzativa formo de propra nomo|tie]]. Ĉu mi devus uzi {{ŝl|Deklinacio-eo|S}}-n por aldoni la ĝustan vorterseparon? [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 20:22, 3 aŭg. 2026 (UTC)
:: Dankon pro la respondo. La vorterseparon de "on" eblas plibonigi aŭ '''forĵeti'''. La ŝablonon "form-eo" transkluzivigas [https://linkcount.toolforge.org/?project=eo.wiktionary.org&page=%C5%9Cablono%3Aform-eo ca 24'000] paĝoj. Do la plibonigo afekcius la 24'000 paĝojn samtempe, ne unu post unu. La vorterseparon "finn'land" oni jam havas ĉe la baza formo [[Finnlando]]. Malfeliĉan ŝablonon {{ŝl|Deklinacio-eo}} mi ankaŭ intencas prilabori, tiel ke [[Ŝablono:Akuzativo-eo]] senutiliĝos, kaj restoj nur du ŝablonoj: {{ŝl|Deklinacio-eo}} por bazaj formoj, kaj {{ŝl|form-eo}} por la nebazaj. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 20:39, 3 aŭg. 2026 (UTC)
:::Ĉu ne eblas uzi {{ŝl|Deklinacio-eo}}-n por ambaŭ formoj? Tiel la redaktado estus pli simpla kaj ni ne bezonus ŝanĝi la [[Helpo:Kiel redakti paĝon|helpopaĝon]]. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 20:56, 3 aŭg. 2026 (UTC)
:::: Teorie, jes. Ĉu tiel redaktado estus pli simpla mi pridubas. Tamen {{ŝl|form-eo}} estas dumtempe la sola kiu ĝuste prilaboras nursingularajn kaj nurpluralajn substantivojn (sed bazajn formojn ĝi malakceptas). Tio kompreneble rilatas al [[Vikivortaro:Diskutejo#Luksnivelo_de_nebazaj_formoj]] kaj la principa demando: ĉu la esperanta vikivortaro nepre kiel eble plej rapide kresku en amaso, aŭ preferinde en kvalito (do bonaj difinoj, pluraj difinoj de plursignifaj vortoj, bonaj ekzemloj, bildoj, pluraj bildoj por plursignifaj vortoj, ...). {{ŝl|form-eo}} daŭre estas parte heredaĵo de iama porkejo de pli ol 30 ŝablonoj por sama celo (fleksio de io esperanta, sen preciza distingo de vortospeco, baza statuso, nursingulareco, ...). [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 21:32, 3 aŭg. 2026 (UTC)
:::::{{ŝl|Deklinacio-eo}} estas simpla tabelo. [https://eo.wiktionary.org/w/index.php?title=%C5%9Cablono:Deklinacio-eo&action=edit&oldid=1233817 Tiu ŝanĝo] ebligis al ni montri/kaŝi la pluralajn formojn, laŭ nia bezono. Se mi riparos ĝin, {{ŝl|form-eo}} ne estos la sola ŝablono por nursingularaj substantivoj. Mi ankaŭ povus plibonigi ĝin por nurpluralaj. [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 21:50, 3 aŭg. 2026 (UTC)
== Multaj novaj moduloj ==
Ekzemple [[Modulo:LeksemoHelpo]] kaj [[Modulo:Wikidata]] kaj [[Modulo:Vikidatumoj]] ... ili ne havas dokumentaĵon kaj ne estas uzataj. Ĉu vi mem kodumis ilin? Se ne, tiam necesas indiki la fonton. Ŝajne almenaŭ kelkaj estas faritaj por vikipedio, kaj la linio
<pre>
local conjTable = require('মডিউল:আভিধানিক উপাত্ত/Q9610').getInflectionTable(frame, current_lexeme)
</pre>
preskaŭ certe neniam funkcios en ĉi tiu vikio. ;-) Bv aldonu dokumentaĵon al moduloj kiujn vi intencas enservigi, kaj forigu la ceterajn. [[Uzanto:Taylor 49|Taylor 49]] ([[Uzanta diskuto:Taylor 49|diskuto]]) 17:52, 30 aŭg. 2026 (UTC)
:Saluton, @[[Uzanto:Taylor 49|Taylor 49]]! Mi eksperimentas pri importado de datumoj el Vikidatumoj leksemoj. Mi kreis kelkajn modulojn kaj importis aliajn el versioj de Vikipedio, kiuj jam faras tion. Ĉar temas pri eksperimento, kelkaj el ili estos forigitaj. Mi scios nur post la fino de la eksperimento kaj tiam mi kreos la dokumentadon por tiuj, kiuj estos aprobitaj. Mi jam povas sukcese importi difinojn, gramatikajn klasojn, bildojn, sonojn kaj fonetikajn transskribaĵojn. Sed mi ankoraŭ ne sukcesis importi tradukojn kaj mi ankoraŭ faros testojn kun radikoj, sinonimoj kaj antonimoj.
:Profitante de ĉi tiu temo, mi rimarkis, ke ekzistas [[:Kategorio:Ŝablonaro bezonas dokumentadon|163 ŝablonoj sen dokumentado]] kreitaj antaŭ kelkaj jaroj. Ĉu vi povus krei dokumentadon por ili? Ĉu vi sukcesis plibonigi la {{ŝ|t}}-ŝablonon? [[Uzanto:Castelobranco|<span style="color:#778899; font-family:Verdana; font-size:1em;">CasteloBranco</span>]]<sup>[[Uzanta diskuto:Castelobranco|<span style="color:#00008b;">diskuto</span>]]</sup> 22:51, 30 aŭg. 2026 (UTC)
mwxaxgcz2r63jd6xa5op2t04we3e874
Aldono:Vortaro angla-Esperanto o
102
8477
1475662
1475390
2026-08-31T02:58:45Z
Noelekim
1068
1475662
wikitext
text/x-wiki
<templatestyles src="rugxa.css"/>{{subpaĝo|[[Aldono:Vortaro angla-Esperanto]]}}
__NOTOC__
{{ind12dim|tit=indekso|fla=-|ctb=3|pre=O}}
== O ==
'''[[o]]''' - o; ho
'''[[o'clock]]''' - la ..a horo
== OA ==
'''[[oaf]]''' - krudulo
'''[[oafish]]''' - kruda
'''[[oak]]''' - kverko; kverka
'''[[oasis]]''' - oazo
'''[[oath]]''' - ĵuro
'''[[oat]]''' - avena; aveno
'''[[oatmeal]]''' - avenfaruno; avenkaĉo; poriĝo
'''[[oaty]]''' - avena; aveneca
== OB ==
'''[[Ob]]''' - Obo
'''[[Obamacare]]''' - la sanasekuraj reformoj de prezidanto Obama
'''[[obdurate]]''' - malcedema
'''[[obedience]]''' - obeemo
'''[[obedient]]''' - obeema
'''[[obeisance]]''' - sinklino; adorkliniĝo
'''[[obelisk]]''' - obelisko
'''[[obese]]''' - obeza; obezulo(j); korpulenta; dikventra
'''[[obesity]]''' - obezeco; korpulenteco
'''[[obey]]''' - obei; observi
'''[[obfuscate]]''' - malklarigi; malkomprenigi
'''[[obfuscation]]''' - malklarigado; malkomprenigo
'''[[obit]]''' - nekrologo
'''[[obituary]]''' - nekrologo
'''[[object]]''' - objekto; celo; kontraŭai; kontraŭ(ad)i al; kontraŭargumenti; plendi pri; kontraŭdiri; oponi; protesti (kontraŭ); obĵeti; sedi
'''[[objectification]]''' - malhumanigo
'''[[objectify]]''' - malhumanigi
'''[[objection]]''' - kontraŭstaro; kontraŭado; kontraŭargumento; kontraŭdiro; kontraŭaĵo; plendo; protesto; malakcepto
'''[[objectionable]]''' - ofenda; malaprobinda; malagrabla
'''[[objectionably]]''' - ofende; malaprobinde; malagrable
'''[[objective]]''' - celo; celaĵo; objektiva; senpartia; sendependa
'''[[objectively]]''' - objektive
'''[[objectivity]]''' - objektiveco
'''[[objector]]''' - kontraŭulo; plendanto; kontraŭdiranto
'''[[oblast]]''' - oblasto
'''[[obligate]]''' - devontigi
'''[[obligation]]''' - devo; devigo; devontigo; sindevontigo; obligacio; ŝuldiĝo; '''a no-obligation consultation''' - senkondiĉa konsulto;
'''[[obligatory]]''' - deviga; deva; malvola
'''[[oblige]]''' - devigi; komplezi al; fari al ... la komplezon; bonvole
'''[[oblique]]''' - oblikva; malrekta; kaŝema; evitema
'''[[obliquely]]''' - oblikve; malrekte; kaŝeme; eviteme
'''[[obliterate]]''' - elviŝi; forbati
'''[[obliteration]]''' - elviŝo; forbato
'''[[oblivion]]''' - forgeso; senkonscieco
'''[[oblivious]]''' - senkonscia; ne konscias
'''[[obliviousness]]''' - senkonscieco
'''[[obnoxious]]''' - malsimpatia; malagrabla; malica; antipatia; aĉa; malplaĉ(eg)a; naŭza
'''[[obnoxiously]]''' - malsimpatie; malagrable; malice; antipatie; aĉe; malplaĉ(eg)e; naŭze
'''[[obscene]]''' - obscena; fiparola; ofendi la pudoron
'''[[obscenity]]''' - obsceneco; obscenaĵo
'''[[obscurantism]]''' - obskurantismo
'''[[obscurantist]]''' - obskurantisma
'''[[obscure]]''' - neklara; neklare; malklara; malklare; malklarigi; fari nevidebla; nekomprenebla; apenaŭ konata; nekompreneble; enigma; nekonata; nekonate; obskura; obskure; malhela; '''obscured''' - preterito kaj participo de la verbo "obscure"; nevidebliĝinta; nevidebliĝis
'''[[obscurely]]''' - neklare; malklare; nekompreneble; enigme; obskure; malhele
'''[[obscurity]]''' - neklareco; malklareco; nekomprenebleco; nekonateco; anonimeco; obskureco; senlumeco; malheleco
'''[[obsequies]]''' - funebraĵoj
'''[[obsequious]]''' - sklavema
'''[[obsequiously]]''' - sklaveme
'''[[obsequiousness]]''' - sklavemeco
'''[[observable]]''' - observebla
'''[[observance]]''' - observo; observado; rito; ceremonio
'''[[observant]]''' - observema
'''[[observation]]''' - rimarko; komento; observo; observado; observa
'''[[observatory]]''' - observatorio
'''[[observe]]''' - observi; rigardadi; esplorrigardi; gvati; rimarki; konstati; praktiki; obei
'''[[observer]]''' - observanto; gvatanto
'''[[obsess]]''' - obsedi; obsediĝi
'''[[obsession]]''' - obsedo; monomanio
'''[[obsessive]]''' - obsedanta; obsedato
'''[[obsessively]]''' - obsede
'''[[obsolescence]]''' - malnoviĝinteco; postiĝinteco; postrestinteco
'''[[obsolescent]]''' - postiĝinta; postrestinta; malnoviĝinta; fariĝinta jam ne uzata
'''[[obsolete]]''' - jam ne uzata; malnoviĝinta; malaktuala; eksvalidiĝi; eksvalida; eksmoda; eksmodiĝi
'''[[obstacle]]''' - malhelpo; obstrukco; obstaklo; baro; barilo; bloko; haltigo; faligaĵo; kontraŭaĵo
'''[[obstetric]]''' - obstetrika
'''[[obstetrical]]''' - obstetrika
'''[[obstetrician]]''' - obstetrikologo; akuŝkuracisto
'''[[obstetrics]]''' - obstetriko; akuŝologio
'''[[obstinacy]]''' - obstineco
'''[[obstinate]]''' - obstina; obstini; durkapa
'''[[obstinately]]''' - obstine
'''[[obstruct]]''' - malhelpi; obstrukci; bari; haltigi; maloportunigi
'''[[obstruction]]''' - malhelpo; malhelpaĵo; obstrukco; baro; barilo; haltigo; haltigaĵo; maloportunigo
'''[[obstructive]]''' - malhelpema; malhelpa; obstrukcema
'''[[obtain]]''' - akiri; havigi al si; ricevi; sukcese peti; venigi; atingi; efektivigi; realigi
'''[[obtrusive]]''' - truda; trudiĝa
'''[[obtrusively]]''' - trude
'''[[obtuse]]''' - neinteligenta; (geometrio) obtuza
'''[[obvious]]''' - evidenta; evidente; memevidenta; memevidente; nekaŝebla; nekaŝeble; antaŭvidebla; antaŭvideble
'''[[obviously]]''' - evidente; memevidente; nekaŝeble; antaŭvideble
== OC ==
'''[[OC gas]]''' ''aŭ'' '''[[OC spray]]''' - kajenpipra aerosolo
'''[[occasion]]''' - okazo; fojo(n); okazigi; estigi; kaŭzi; rezultigi; naskigi
'''[[occasional]]''' - foja; fojfoja; kelkfoja; iufoja; iafoja; tempaltempa; neofta
'''[[occasionally]]''' - foje; fojfoje; kelkfoje; iufoje; iafoje; de tempo al tempo; tempaltempe; neofte
'''[[Occident]]''' - Okcidento
'''[[Occidental]]''' - okcidentulo; okcidenta
'''[[Occitan]]''' - la okcitana (lingvo)
'''[[occult]]''' - okulta; okultaj fenomenoj
'''[[occupant]]''' - okupanto; loĝanto; luanto
'''[[occupation]]''' - okupo; okupado; profesio; metio; <span class="rugxa">milita</span> okupacio;
'''[[occupational safety and health]]''' - sekureco kaj sano de la laborejo
'''[[occupier]]''' - okupanto; loĝanto; posedanto
'''[[occupy]]''' - okupi; enloĝi; ekloĝi en; ekposedi
'''[[occur]]''' - okazi; troviĝi
'''[[occurrence]]''' - okazo; okazintaĵo; okazantaĵo; fariĝo
'''[[ocean]]''' - oceano; oceana; profunda maro
'''[[Oceania]]''' - Oceanio
'''[[Oceanian]]''' - oceania
'''[[oceanic]]''' - oceana
'''[[oceanographer]]''' - oceanografo
'''[[oceanographic]]''' - oceanografia
'''[[oceanography]]''' - oceanografio
'''[[OCR]]''' - OCR; optika karakterorekono
'''[[Oct]]''' - Oktobro
'''[[octave]]''' - oktavo; oktava; tagoko
'''[[October]]''' - Oktobro
'''[[octogenarian]]''' - okdekjarulo
'''[[octopi]]''' - polpoj
'''[[octopus]]''' - polpo
'''[[oculist]]''' - oftalmologo; okulkuracisto; okulisto
== OD ==
'''[[odd]]''' - kurioza; kurioze; stranga; strange; nekutima; nekutime; proksimume; pli-malpli; laŭokaza; fojfoja; neparaj; laŭokaza; laŭokaze; '''you can expect the odd downpour''' - vi povas atendi fojfojan pluvegon; '''we support the proposals, but with the odd exception''' - ni subtenas la proponojn, sed kun fojfoja escepto; '''the odd thing was, I felt no pain''' - strange, mi ne sentis doloron;
'''[[oddball]]''' - bizara; bizarulo; stranga; strangulo
'''[[odder]]''' - pli kurioza; pli stranga
'''[[oddest]]''' - plej kutioza; plej stranga
'''[[oddity]]''' - strangaĵo
'''[[oddly]]''' - kurioze; strange
'''[[odds]]''' - ŝancoj; vetŝancoj; probableco; la fortuno
'''[[ode]]''' - odo
'''[[Odessa]]''' - Odesa
'''[[odious]]''' - naŭza; abomena; malaminda
'''[[odium]]''' - naŭzo; abomeno; malamindeco
'''[[odometer]]''' ''aŭ'' '''[[odometre]]''' - veturometro
'''[[odor]]''' ''aŭ'' '''[[odour]]''' - odoro
'''[[Odysseus]]''' - Odiseo
'''[[Odyssey]]''' - Odiseado
== OE ==
'''[[OECD]]''' - OEKD
'''[[o’er]]''' - super
'''[[oestrogen]]''' - oestrono
'''[[oestrous]]''' ''aŭ'' '''[[oestrus]]''' - oestro
== OF ==
'''[[of]]''' - de; da; el; pri; pro; por; ĉe; je; inter; ke; post; de post; ekde; fare de; rilate al
'''[[off]]''' - de; de sur; for; for de; el; nuligi; malmendi; malokazigi; malaboni; kontraŭordoni; eksvalidigi; erara; misa; kvitigi; trastrekita; rabatite de; proksime de; malfunkcii; malŝaltita; devojiĝinta; devojigita
'''[[offbeat]]''' - eksterordinara
'''[[offence]]''', '''[[offense]]''' - ofendo; ofendiĝo; krimo; delikto; malobservo (de la leĝoj pri ...); atako; '''no offence meant''', '''no offence intended''' - ne ofendiĝu; '''it is advisable not to take offense where no offence was intended'''- estas konsilinde ne ofendiĝi se ofendo ne estis intencita.
'''[[offend]]''' - ofendi; krimi; '''offended''' - preterito kaj participo de "offend"; ofendiĝiinta; '''offending''' - gerundio kaj participo de "offend"; kulpa
'''[[offender]]''' - kulpulo; ofendinto; leĝrompinto; krimulo; kriminto; deliktulo; malobeinto; malobservinto
'''[[offensive]]''' - ofensivo; ofensiva; ofenda; ofende; insulta; insulte; insultema; insulteme; malagrabla; malagrable; malplaĉegi; malplaĉega; malplaĉege
'''[[offensively]]''' - ofende; insulte; malagrable; malplaĉege
'''[[offensiveness]]''' - ofendeco; malplaĉego
'''[[offer]]''' - propono; proponi (al); oferti (al); oferto; prezenti; alporti; oferi; doni; havigi; ebligi al ... ..on; ebligi, ke ... ..u; '''offered''' - preterito kaj participo de la verbo "offer"; al ... oni proponis; '''offering''' - gerundio kaj participo de la verbo "offer"; monofero
'''[[offertory]]''' - ofertorio
'''[[offhand]]''' - senkonsidera; indiferenta; senzorga; malestima; abrupta
'''[[offhandedly]]''' - senkonsidere; indiferente; senzorge; malestime; abrupte
'''[[offhandedness]]''' - senkonsidero; indiferenteco; senzorgo; malestimo; abrupteco
'''[[office]]''' - oficejo; ofico; oficistaro; posteno; kontoro; kabineto; sidejo; buroo; filio; <span class="rugxa">monaĥa preĝaro</span> liturgio de la horoj
'''[[officer]]''' - oficiro; oficisto; ..isto; respondeculo; policisto; sinjoro policisto
'''[[official]]''' - oficiala; oficiale; oficialulo; ŝtatoficisto; respondeculo; oficisto; funkciulo; altrangulo; kadrulo
'''[[officialise]]''' ''aŭ'' '''[[officialize]]''' - oficialigi
'''[[officially]]''' - oficiale
'''[[officiate]]''' - deĵori; prezidi ..n; ofici
'''[[officious]]''' - oficialema; ordonema; trud(iĝ)ema; fervorega
'''[[officiously]]''' - oficialeme; ordoneme; trud(iĝ)eme; fervorege
'''[[officiousness]]''' - oficialemo; ordenemo; trud(iĝ)emo; fervoregeco
'''[[offline]]''' - ekster la reto; eksterreta; eksterrete
'''[[offload]]''' - malŝarĝi; depreni; sin liberigi de
'''[[offset]]''' - kompensi; kontraŭpezi; ofseta; ofseto
'''[[offshoot]]''' - ido; elkreskaĵo; '''an offshoot of Esperanto''' - Esperantido
'''[[offshore]]''' - eksterlanda; eksterlande; eksterlando; el-eksterlanda; el eksterlando; eksterpatria; eksterpatrie; surmara; submara; oceana
'''[[offshoring]]''' - eksterlandigo
'''[[offspring]]''' - ido(j); idaro
'''[[offstage]]''' - malantaŭ la scenejo
'''[[oft]]''' - ofte
'''[[often]]''' - ofte; multfoje; grandakvante
'''[[oftentimes]]''' - ofte
== OG ==
'''[[ogle]]''' - okulumi al
'''[[ogre]]''' - ogro
'''[[ogress]]''' - ogrino
== OH ==
'''[[oh]]''' - ho; oho; hola; ha; aj; hu; be
'''[[Ohio]]''' - Ohio
== OI ==
'''[[oil]]''' - petrolo; oleo; nafto; mazuto
'''[[oilfield]]''' - naftejo
'''[[oilman]]''' - petrolindustriulo
'''[[oilseed]]''' - olesemo
'''[[oilslick]]''' - petrola sternaĵo
'''[[oily]]''' - olea; oleeca; olemakulita
'''[[ointment]]''' - smiraĵo; ungvento
== OK ==
'''[[OK]]''' - OK; bona; bone; en ordo; enorde; komprenite?; permesebla; permeseble; konsentite; sekura; en bona ordo; stabila; bonfartas; bonsanas; fidinda; nu
'''[[okay]]''' - OK; bone; bona; en ordo; enorde; komprenite?; permesebla; permeseble; konsentite; sekura; en bona ordo; stabila; bonfartas; bonsanas; fidinda; nu; sankcii; aprobi; rajtigi; permesi
'''[[Oklahoma]]''' - Oklahomo
== OL ==
'''[[old]]''' - malnova; malnoviĝinta; ne-nova; antaŭa; eksa; malaktuala; eluzita; kaduka; aĉa; delonga; kiu jam daŭris (iun tempon); konata; maljuna; maljunuloj; maljunularo; maljuna generacio; aĝa; havas ... jarojn; antikva; la antikva mondo; la pasinteco; '''the old days''' - la pasinteco; la pratempo; la malnova epoko; la antauxa epoko; la pasinta) epoko; '''the old order''' - la malnova ordo; '''the old-fashioned way''' - per la tradicia metodo;
'''[[Olde]]''' - '''Olde England''' - malnovepoka Anglio; '''olde worlde''' ''aŭ'' '''olde-worlde''' - kun aspekto de malnova epoko
'''[[olden times]]''' - la malnova epoko
'''[[older]]''' - pli aĝa; pli maljuna; nejuna; pli malnova; pli delonga;
'''the certificate must be no older than one year''' - la atestilo devas esti ne pli malnova ol unu jaron; '''the guerrillas were no older than my own children''' - la gerilanoj ne estis pli aĝaj ol miaj propraj infanoj;
'''[[oldest]]''' - plej malnova; plej maljuna; plej aĝa; plej delonga
'''[[oldie]]''' - kanto de hieraŭ
'''[[oldtime]]''' - veterana
'''[[Ole Miss]]''' - la Universitato de Misisipio
'''[[oleaginous]]''' - oleeca
'''[[olfactory]]''' - flara
'''[[oligarch]]''' - oligarĥo; oligarko
'''[[oligarchical]]''' - oligarĥia; oligarkia
'''[[oligarchy]]''' - oligarĥio; oligarkio
'''[[oligopoly]]''' - oligopolo
'''[[olive]]''' - olivo; olivkolora
'''[[Olympia]]''' - Olimpio; Olimpia
'''[[Olympiad]]''' - Olimpiaj Ludoj; Olimpiado; Olimpiko
'''[[Olympian]]''' - olimpika sportisto; <span class="rugxa">rilate al la monto Olimpo</span> olimpa
'''[[Olympic]]''' - olimpika; olimpia; '''Olympic Games''' - Olimpiko; Olimipiaj Ludoj; '''Olympics''' - Olimpiko; Olimipiaj Ludoj
'''[[Olympus]]''' - <span class="rugxa">monto</span> Olimpo; <span class="rugxa">sanktejo de Zeŭso</span> Olimpio
== OM ==
'''[[Oman]]''' - Omano
'''[[ombudsman]]''' - protektanto de la popolaj rajtoj; mediatoro; ombudsmano
'''[[omega]]''' - omega
'''[[omelet]]''' ''aŭ'' '''[[omelette]]''' - omleto
'''[[omen]]''' - omeno; aŭguro; antaŭsigno
'''[[omicron]]''' - omikrono; '''Omicron variant''' - varianto Omikrono
'''[[ominous]]''' - minaca; malbonaŭgura; malbonsigna; danĝera; sinistra
'''[[ominously]]''' - minace; malbonsigne; sinistre
'''[[omission]]''' - eksterlaso; preterlaso; preterlasaĵo; forlaso; forlasaĵo; ekskluzivo; forigo; malinkludo
'''[[omit]]''' - eksterlasi; preterlasi; forlasi; ekskluzivi; forigi; malinkludi
'''[[omnipotence]]''' - ĉiopovo; ĉiopoveco
'''[[omnipotent]]''' - ĉiopova
'''[[omnipresence]]''' - ĉieesto
'''[[omnipresent]]''' - ĉiea; ĉieas
'''[[omniscience]]''' - ĉiosciado
'''[[omniscient]]''' - ĉioscia; ĉioscianta
'''[[Omsk]]''' - Omsko
== ON ==
'''[[on]]''' - sur; sur ..n; pri; rilate al; al; de; je; en; plu; plue; per; dum; laŭ; pro; kontraŭ; ĉe; ĉirkaŭ; kun; funkcii; ŝaltita; kompare kun; funkcianta; aktiv; aktiva; ..e; ..ite; ..inte; ..ate; ..ante; ..ote; ..onte; ..ano(j) de
'''[[onboard]]''' - sur; sur la ..o; sur la ..on; sur ĝi; sur ĝin; en la ..o; en la ..on; en ĝi; en ĝin; sur... <span class="rugxa">kun verbo kaj akuzativa pronomo</span>; suriri; suriranta; surirante; veturanta en; veturante en; portata de; portate de; ŝarĝita(j); rajdi surŝipe (''aŭ'' ... surtrajne; ... suraviadle); surŝipiĝiinta; surtrajniĝiinta; suraviadiliĝiinta; enŝipiĝiinta; entrajniĝiinta; enaviadiliĝiinta; enaviadila; entrajna; enveturila; pasaĝero(j)
'''[[once]]''' - iam; iatempe; unufoje; unu fojon; post kiam; kondiĉe ke; ..ite; ..inte; antaŭe; '''the committee should meet monthly, not once a year''' - la komitato devus kunsidi ĉiumonate kaj ne unufoje ĉiujare; '''the proposal was mentioned not once but three times in the course of the speech''' - la propono estis menciita ne unu fojon, sed tri fojojn dum la parolado; '''the speech did not once refer to organising a democratic transition''' - dum la parolado estis neniu mencio pri la organizado de demokratia transiro; '''as soon as I started taking the tablet, I never had another problem - not once''' - de kiam mi komencis preni la pilolon, mi neniam poste havis problemon - eĉ ne unu fojon; '''in over 40 years of transporting nuclear cargoes, not once has there been a single release of radioactivity''' - dum pli ol 40 jaroj da transportado de nukleaj kargoj, estis eĉ ne unu ellaso de radioaktiveco;
'''[[oncoming]]''' - aliranta; alprokisimiĝanta; venonta
'''[[one]]''' -
: <span class="rugxa">pronomo</span> oni; '''one's''' - onies; la propra(j); sia(j);
: unu; unu el la; unu el ili; ununura; sola; unusola; unika; '''dine at one of the town's many restaurants''' - manĝi ĉe unu el la multaj restoracioj de la urbo; '''the one''' - tiu; tiu, kiu; la sola; la unika; la ununura; <span class="rugxa">amrilato</span> la ĝemela animo; '''that's the one''' - jen, ĝuste tiu!; '''did you hear the one about ...''' - ĉu vi aŭdis la ŝercon pri ...; '''the one exception''' - la sola escepto; '''the one God''' - la sola Dio; la ununura Dio; '''the one I wanted''' - tiu, kiun mi celis; '''the one that got away''' - la eskapinto; '''the one that's on the shelf''' - tiu sur la breto; '''these same politicians were the ones behind the Bill''' - estis ĝuste tiuj politikistoj kiuj subtenis la leĝprojekton; '''The ones behind the shootings were not punished. They are the ones who should be behind bars''' - La instigintoj de la pafmortigoj ne estis punitaj. Estas tiuj kiuj devus esti la enprizonigitoj; '''the ones behind cried "Forward!", while those in front cried "Back!"''' - "Antaŭen!" kriis la malantaŭuloj, dum la antaŭuloj kriis "Retroen!"; '''the ones in between''' - la interaj;
'''not one iota''' - eĉ ne unu joto; '''not one day more''' - eĉ ne unu tagon plu; '''not one single country has so far ratified this Convention''' - ĝis nun, eĉ ne unu lando ratifis ĉi tiun Konvencion; '''the EU is a union of countries and not one single country''' - la EU estas unuiĝo de lando kaj ne unusola lando; '''she is not one to suffer fools gladly''' - ŝi ne emas indulgi stultulojn; '''not one but two networks had the same idea''' - ne unu sed du televidaj ĉenoj ekhavis la saman ideon; '''it is difficult to translate a euphemism into a language that is not one's own''' - oni malfacile tradukas eŭfemismon en malpropran lingvon; '''what is important is to kick the ball into the opponents' net and not one's own''' - grave estas tio, ke oni pafu la pilkon en la reton de la kontraŭantoj kaj ne en la propran;
'''[[onerous]]''' - ŝarĝa; peza; ĝena; peniga;
'''[[oneself]]''' - si; al si; sin; al si; pri si; je si
'''[[ongoing]]''' - daŭranta; ankoraŭ evoluanta
'''[[onion]]''' - cepo
'''[[online]]''' - enreta; enrete(n); enretigita; enretiĝinta; interreta; interrete; perreta; perrete; en la reto; rete; ret..; konektita; Rete konektita
'''[[onlooker]]''' - rigardanto; observanto; spektanto
'''[[only]]''' - nur; nura; sole; sola; ankoraŭ; eĉ pli; almenaŭ; ne ... alie ol; '''the only one left''' - la sola kiu restas; '''when I was four I went to kindergarten, the only reason being that it was near our house''' - en mia kvara jaro mi vizitis infanĝardenon, nur pro tio ke ĝi estis proksima al nia domo; '''that was the only reason for the delegation's vote''' - tiu estis la sola motivo de la voĉdono de la delegacio; '''our technology isn't the only reason for our success''' - niaj teknologiaĵoj ne estas la sola kialo de nia sukceso; '''the only thing that matters is the quality of the project submitted''' - sole gravas la kvalito de la prezentita projekto; '''the only thing that matters is that they are illegally oppressing you''' - gravas sole tio, ke ili kontraŭleĝe subpremas vin; '''the only thing we can do is to tackle this problem in a holistic manner''' - mankas alternativo por ni krom pritrakti ĉi tiun problemo laŭ integra maniero
'''I am not the only one waiting for the completion of this project''' - mi ne estas la sola kiu atendas la kompletigon de ci tiu projekto; '''if you drink in moderation, not only are there no harmful effects but such moderate drinking is good for the health''' - se vi drinkos modere, ne nur mankos malutilaj efikoj, sed tia modera drinkado estas saniga; '''the village is expanding not only because of resettlement, but also because of natural growth''' - la vilaĝo plivastiĝas, ne nur pro reloĝigado sed ankaŭ pro natura kreskado; '''not only did I visit customers, but I also sold and repaired tools''' - mi ne nur vizitis klientojn, mi vendis kaj riparis ilojn; '''not only has the status of young girls not improved but in many regions, it has worsened''' - la kondiĉoj de junaj knabinoj ne nur ne pliboniĝis en multaj regionoj, ili malpliboniĝis; '''the city not only has a painful past, it also has a painful present''' - la urbo ne nur havas doloran estintecon, ĝi ankaŭ havas doloran estantecon; '''not only is there no fuel duty, but petrol is actually subsidised''' - ne nur mankas imposto sur fueloj, benzino fakte estas subvenciata; '''not only is organised crime a disgrace to society, it is also a threat to political and social stability''' - la mafiismo ne nur estas honto por la socio, ĝi ankaŭ estas minaco al la politika kaj socia stabileco; '''I am encouraged by the commitment on these issues, not only that shown today but throughout''' - min esperigas la sindevontigo pri ĉi tiu demandoj, ne nur tio montrita hodiaŭ sed daŭre; '''it is important not only that institutions can benefit from information networks, but also that individuals have access to them''' - grave estas, ke ne nur la institucioj povu profiti de informretoj, sed ankaŭ ke individuoj povu aliri ilin; '''not only were there no answers in the East, there were none to be found in the West''' - ne nur mankis solvoj en Oriento, ili ankaŭ nenie troveblis en Okcidento; '''not only would these actions be unethical, they would be illegal''' - ĉi tiaj agoj ne nur estus kontraŭetikaj, ili estus kontraŭleĝaj; '''not only would it be a powerful tool for responding to emergencies but also for gathering evidence''' - ĝi ne nur estus potenca ilo por respondi al krizokazoj, sed ankaŭ por kolekti pruvaĵojn;
'''[[onomatopoeia]]''' - onomatopeo
'''[[onrush]]''' - impeto
'''[[onset]]''' - ekkomenco; ekkomenciĝo; ekestiĝo
'''[[onsite]]''' - ĉeloka
'''[[onslaught]]''' - ofensivo; impeto
'''[[Ontario]]''' - Ontario
'''[[onto]]''' - sur ..n
'''[[ontogenesis]]''' - ontogenezo
'''[[ontological]]''' - ontologia
'''[[ontologically]]''' - ontologie
'''[[ontologist]]''' - ontologo
'''[[ontology]]''' - ontologio
'''[[onus]]''' - respondeco; '''the onus is on the government to ensure this happens''' - estas la registaro kiu respondecas pri la realigo de tio; '''the onus of proof is on the applicant for the licence''' - estas la petanto por licenco kiu respondecas pri la necesa pruvo; '''the onus of proof is on the prosecution''' - estas la prokuroro kiu devas pruvi la akuzon
'''[[onward]]''' - antaŭen; pluen
'''[[onwards]]''' - antaŭen; pluen; '''from the 1920s onwards''' - ekde la 1920-aj jaroj
== OO ==
'''[[oo]]''' - uu
'''[[oocyte]]''' - ovolo
'''[[oodles]]''' - abundo
'''[[oops]]''' - ups!; fusx'
'''[[ooze]]''' - ŝlimo; eliĝadi; eligadi; pusadi
== OP ==
'''[[opacity]]''' - maldiafaneco; netravidebelco; kaŝemeco
'''[[opaque]]''' - opaka; maldiafana; neklara; netravidebla; kaŝema
'''[[op. cit.]]''' - supre citita
'''[[OPEC]]''' - OPEL; Organizaĵo de Petroleksportantaj Landoj
'''[[op-ed]]''' - opinipeco; komentaria artikolo
'''[[open]]''' - malfermi; malfermiĝi; malfermita turniro; publika; libera; aperta; komenci; komenciĝi; debuti; premieras; starigi; malŝlosi; senbara; sensepta; senkapsuligi; elvolvi; elvolviĝi; disetendi; disigi; malkaŝa; nekaŝema; nesindetena; senartifika; amika; '''some markets are still not open enough''' - iuj merkatoj ankoraŭ ne estas sufiĉe malfermitaj '''opening''' - gerundio kaj participo de la verbo "open"; malfermo; malfermejo; malfermaĵo; aliro; aperturo; apertaĵo; debuto; premiero; starigo (de); enirejo; malplenaĵo
'''[[opener]]''' - malfermilo; <span class="rugxa">sporto</span> malferma matĉo
'''[[openly]]''' - publike; malkaŝe; senkaŝe; libere; senartifike
'''[[openness]]''' - malfermiteco; malkaŝiteco; malkaŝem(ec)o; senartifikeco
'''[[openwork]]''' - aĵura
'''[[opera]]''' - opero; operejo
'''[[operable]]''' - funkcipova
'''[[operate]]''' - funkcii; funkciigi; reguli; operacii; operaciigi; konduki; direkti; aktivi; ag(ad)i; labor(ad)i; deĵori; negoci; fari negocojn; cirkuli; cirkuligi; <span class="rugxa">aviadilo</span> flugi; flugigi; <span class="rugxa">gaskampo, petrolkampo</span> ekspluati; '''operating''' - gerundio kaj participo de "operate"; operacia; de negocado; el negocado; '''operating deficit''' - operacia deficito; '''operating income''' - malneta enspezo el negocado; '''operating method''' - metodo de funkciado; '''operating principles''' - operaciaj principoj; '''operating profit''' - malneta profito el negocado; '''operating rate''' - nivelo de funkciado; rapido de funkciado; '''operating speed''' - rapido de funkciado; '''operating system''' - (komputila) operaciuma sistemo; (komputila) mastrumilo; '''operating theater''' ''aŭ'' '''operating theatre''' - (hospitalo) operaciejo
'''[[operation]]''' - operacio; (milita) operaco; funkcio; funkciigo; funkciado; procedo; efikado; negocado
'''[[operational]]''' - operaciebla; operacia; de operacioj; funkcias; funkcianta; funkcia; funkciigita; ekfunkciis; ekfunkciigita; de funkcioj; (<span class="rugxa">milita</span>) operaca; operacopreta; de operacoj
'''[[operative]]''' - agento; oficisto; ..isto; funkcianta
'''[[operator]]''' - operacianto; operaciisto; operaciilo; komutisto; funkciigisto; funkciiganto; manipulanto; administranto; ..isto
'''[[ophthalmic]]''' - oftalma
'''[[ophthalmologist]]''' - oftalmologo; okulkuracisto; okulisto
'''[[opiate]]''' - opiaĵo
'''[[opine]]''' - opinii
'''[[opinion]]''' - opinio
'''[[opinionated]]''' - opiniama
'''[[opioid]]''' - opioido; opioida
'''[[opium]]''' - opio
'''[[opponent]]''' - oponanto; kontraŭulo; kontraŭanto; kontraŭbatalanto; antagonisto; malfavoranto
'''[[opportune]]''' - ĝustatempa; ĝustatempe; oportuna; oportune; konvena; konvene
'''[[opportunely]]''' - ĝustatempe; oportune; konvene
'''[[opportunism]]''' - oportunismo
'''[[opportunist]]''' - oportunisto
'''[[opportunistic]]''' - oportunisma; laŭokaza
'''[[opportunity]]''' - ŝanco; eblo; ebleco; okazo; oportuna okazo; konvena okazo; favora okazo
'''[[oppose]]''' - kontraŭi (al); kontraŭstari; kontraŭparoli; kontraŭdiri; kontraŭbatali; kontraŭmeti; kontraŭiĝi al; oponi; oponi pri; oponi ke ..u; opozicii al; opozicii kontraŭ; malakcepti; malfavori; rifuzi; malhelpi; '''opposing''' - gerundio kaj participo de "oppose"; malamikaj; antagonismaj; antagonistaj
'''[[opposite]]''' - vidalvide de; fronte al; kontraŭdirekte; kontraŭdirekten al; kontraŭ; kontraŭa; kontraŭo; kontraŭsenco; malo; mala; male de; '''the complete opposite of ...''' - staras je la antipodo de ...; '''the opposite sex''' - la alia sekso
'''[[opposition]]''' - kontraŭstaro; kontraŭado; kontraŭmeto; kontraŭuloj; kontraŭula; oponado; opozicia; la opozicio; la opoziciaj partioj; malakcepto; malfavoro; rifuzo; antagonismo
'''[[opossum]]''' - <span class="rugxa">Didelphus</span> didelfo
'''[[oppress]]''' - subpremi; persekuti; prem(ad)i
'''[[oppression]]''' - subpremo; persekutiĝo; premado
'''[[oppressive]]''' - subprema; prema; persekuta; sufoka; ŝarĝ(eg)a
'''[[oppressively]]''' - preme; subpreme; sufoke; ŝarĝege
'''[[oppressor]]''' - subpremanto
'''[[opprobrium]]''' - malgloro
'''[[opt]]''' - elekti
'''[[optic]]''' - opta
'''[[optical]]''' - optika
'''[[optician]]''' - optikisto
'''[[optics]]''' - optiko
'''[[optimal]]''' - optimuma; plej favora; plej bona
'''[[optimisation]]''' ''aŭ'' '''[[optimization]]''' - optimumigo
'''[[optimise]]''' ''aŭ'' '''[[optimize]]''' - optimumigi; akordigi (kun); adapti ..n por esti referencita
'''[[optimism]]''' - optimismo
'''[[optimist]]''' - optimisto
'''[[optimistic]]''' - optimisma
'''[[optimum]]''' - optimuma; plej favora; plej favora
'''[[option]]''' - opcio; elekto; alternativo; '''we have no other option but to agree''' - mankas al ni ajna elekto krom konsenti; '''there is no option but to return to the negotiating table''' - estas neniu alternativo ol reveni al la tablo de intertraktado; '''in this kind of situation, indifference is not an option''' - en ĉi tia situacio, indiferenteco ne akcepteblas;
'''[[optional]]''' - laŭvola; sendeviga
'''[[optionally]]''' - laŭvole
'''[[optoelectronic]]''' - optikelektronika
'''[[optoelectronics]]''' - optikelektroniko
'''[[optometrist]]''' - optikisto
'''[[opulence]]''' - lukso
'''[[opulent]]''' - luksa
== OR ==
'''[[or]]''' - aŭ; ĉu; nek; kaj ne; se ne; nome; t.e.; tio estas
'''[[oracle]]''' - orakolo
'''[[oral]]''' - voĉa; voĉe; buŝa; buŝe; parola; parole
'''[[orally]]''' - voĉe; buŝe; parole
'''[[orange]]''' - oranĝa; oranĝo
'''[[orangutan]]''' ''aŭ'' '''[[orangutang]]''' - <span class="rugxa">Simia satyrus</span> orangutano; orangutango
'''[[orate]]''' - oratori
'''[[oration]]''' - oratoraĵo
'''[[orator]]''' - oratoro
'''[[oratory]]''' - oratorado; la oratora arto; kapelo
'''[[orb]]''' - globo
'''[[orbit]]''' - orbito; rondiri ĉirkaŭ; giri
'''[[orbital]]''' - orbita
'''[[orbiter]]''' - orbitatoro
'''[[orc]]''' - orko
'''[[orca]]''' - <span class="rugxa">(Orcinus orca)</span> orcino
'''[[orchard]]''' - horto; fruktoĝardeno; fruktokulturejo; fruktejo
'''[[orchardist]]''' - fruktokulturisto
'''[[orchestra]]''' - orkestro; orkestrejo
'''[[orchestral]]''' - orkestra
'''[[orchestrate]]''' - reĝisori; direkti; organizi; konduki; orkestri; '''orchestrated by ...''' reĝisorata de ...; direktata de ...; sub la direktado de ...; organizata de ...; kondukata de ...
'''[[orchestrator]]''' - reĝisorinto
'''[[orchid]]''' - (''Orchidaceae'') orkideo
'''[[ordain]]''' - ordini; dekreti; destini al; '''ordained''' - preterito kaj participo de "ordain"; pastriĝis; pastriĝinta
'''[[ordeal]]''' - suferiga travivaĵo
'''[[order]]''' - ordo; ordigi; ordometi; bonordo; la publika ordo; ordoni (al); ordoni, ke ... ..u; ordono; dekreto; komandi; komando; alkomandi; juĝordoni; juĝordono; ordeno; mendi; mendo; ordino; '''illegally selling weapons seems to be the order of the day''' - la kontraŭleĝa vendado de armiloj ŝajnas esti ĝenerala praktiko; '''it is not in order for us to postpone the vote''' - ne estas dece ke ni prokrastu la voĉdonadon; '''we learn history not in order to know how to behave, but to know who we are''' - ni lernas la historion ne por scii kiel konduti, sed por scii kiujn ni estas;
'''[[orderly]]''' - bonorda; bonorde; ordema; <span class="rugxa">hospitala</span> asistanto; <span class="rugxa">armea</span> servosoldato
'''[[ordinance]]''' - leĝo; dekreto; regulo; rito
'''[[ordinarily]]''' - kutime
'''[[ordinariness]]''' - ordinareco; rutineco; normaleco
'''[[ordinary]]''' - ordinara; simpla; rutina; normala; <span class="rugxa">liturgia, episkopa</span> ordinario
'''[[ordination]]''' - pastriĝo; ordinado; ordinada solenaĵo
'''[[ordnance]]''' - eksplodaĵoj; eksplodiloj; municioj
'''[[ordure]]''' - ekskremento; fekaĵo
'''[[ore]]''' - erco; orminaĵo
'''[[Oregon]]''' - Oregono
'''[[Orenburg]]''' - Orenburgo
'''[[organ]]''' - organo; orgeno; revuo; voĉo
'''[[organdy]]''' - organdio
'''[[organic]]''' - eko..; ekokultiva; organika; organa; organisma; integra
'''[[organisation]]''' ''aŭ'' '''[[organization]]''' - organizaĵo; organizo; organizado; organiziteco; asocio
'''[[organisational]]''' ''aŭ'' '''[[organizational]]''' - organiza; organizaĵa; de la organizaĵo(j)
'''[[organise]]''' ''aŭ'' '''[[organize]]''' - organizi; okazigi; ordigi; sortimenti; '''organising''' ''aŭ'' '''organizing''' - gerundio kaj participo de "organise"/"organize"; organiza
'''[[organiser]]''' ''aŭ'' '''[[organizer]]''' - organizinto; organizanto; organizisto; organizilo
'''[[organism]]''' - organismo
'''[[organist]]''' - orgenisto
'''[[organochloride]]''' - klorkarbonhidrogeno; klorkarbonhidrogena
'''[[organophosphate]]''' - organofosfato
'''[[organza]]''' - organzo
'''[[orgasm]]''' - orgasmo
'''[[orgiastic]]''' - orgia
'''[[orgy]]''' - orgio; bakĥanalio
'''[[orient]]''' - oriento; orienti
'''[[oriental]]''' - orienta
'''[[orientalism]]''' - orientalismo
'''[[orientalist]]''' - orientalisto
'''[[orientate]]''' - orienti; orientiĝi
'''[[orientation]]''' - orientiĝo
'''[[oriented]]''' - '''action-oriented''' - agema; agemulo; '''family oriented''' - porfamilia; '''nationalist-oriented''' - de naciisma tendenco; '''results-oriented''' - kiu koncentriĝas pri rezultoj; kiu emas koncentriĝi pri rezultoj; '''sales-oriented''' - de komerca karaktero; de negoca karaktero
'''[[orifice]]''' - elirejo
'''[[origami]]''' - origamio
'''[[origin]]''' - deveno; origino; fonto; kaŭzo
'''[[original]]''' - originala; originalo; unua; dekomenca; tutnova; origina; primitiva; iniciatema; '''originally''' - komence; en la komenco; unue; dekomence; origine; denaske
'''[[originality]]''' - originaleco; iniciatemo; elpensemeco
'''[[originate]]''' - deveni (de); (kiu) havas sian devenon; origini (de); (kiu estas) el; iniciati; estigi; naskigi; naskiĝi
'''[[origination]]''' - estigo; naskigo; iniciato
'''[[originator]]''' - estiginto; elpensinto; naskiginto
'''[[Orinoco]]''' - Orinoko
'''[[ornament]]''' - ornamaĵo; ornami
'''[[ornate]]''' - riĉe ornamita; lukse ornamita; riĉe dekoraciita; lukse dekoraciita
'''[[ornery]]''' kalcitrema; kverelema; petolema
'''[[orneryness]]''' - kalcitremo; kverelemo; petolemo
'''[[ornithologist]]''' - ornitologo
'''[[ornithology]]''' - ornitologio
'''[[orotund]]''' - bombasta
'''[[orotundity]]''' - bombasteco
'''[[orphan]]''' - orfo; orfa; orfiĝinta; orfigi
'''[[orphanage]]''' - orfejo
'''[[orthodontics]]''' - denta ortopedio; ortodontio
'''[[orthodontist]]''' - denta ortopediisto; ortodontiisto
'''[[orthodox]]''' - ortodoksa; ortodoksulo(j)
'''[[orthodoxy]]''' - ortodoksismo; '''Orthodoxy''' - la ortodoksa eklezio
'''[[orthography]]''' - ortografio
'''[[orthomyxoviruses]]''' - virusfamilio orthomyxoviridae
'''[[orthopaedic]]''' ''aŭ'' '''[[orthopedic]]''' - ortopedia
'''[[orthopaedics]]''' ''aŭ'' '''[[orthopedics]]''' - ortopedio
'''[[orthopaedist]]''' ''aŭ'' '''[[orthopedist]]''' - ortopediisto
'''[[orthorhombic]]''' - ortoromba
== OS ==
'''[[OS]]''' - (komputila) OS; operaciuma sistemo; operaciumo
'''[[Osaka]]''' - Osako
'''[[Oscar]]''' - la Oskar-premio; '''Oscar awards''' - la Oskar-premioj; '''Oscar ceremonies''' - ceremonioj de la Oskar-premio; '''Oscar-winning''' - premiita per Oskaro; '''Oscars''' - Oskar-premioj; Oskaroj
'''[[oscillate]]''' - svingiĝi; oscili
'''[[oscillation]]''' - svingiĝado; oscilo
'''[[osculate]]''' - oskuli
'''[[osier]]''' - <span class="rugxa">''Salix viminalis''</span> vimeno
'''[[osmosis]]''' - osmozo
'''[[osprey]]''' - <span class="rugxa">''Pandion haliaetus''</span> fiŝaglo; pandiono
'''[[Ossetia]]''' - Osetio
'''[[Ossetian]]''' - osetia; osetiano
'''[[ossuary]]''' - ostujo
'''[[ostensible]]''' - supoza
'''[[ostensibly]]''' - supoze
'''[[ostentation]]''' - parademo
'''[[ostentatious]]''' - paradema
'''[[ostentatiously]]''' - parademe
'''[[osteoarthritis]]''' - ostartrito
'''[[ostinato]]''' - ostinato
'''[[ostracise]]''' ''aŭ'' '''[[ostracize]]''' - ĵeti ostracismon sur ..n
'''[[ostracism]]''' - ostracismo; pariigo
'''[[ostrich]]''' - <span class="rugxa">''Struthio camelus''</span> struto
== OT ==
'''[[other]]''' - alia; aliulo; cetera; ekstera; malpropra; '''the other afternoon''' - je lastatempa postagmezo; '''the other day''' - antaŭ kelkaj tagoj; lastatempe; '''the other evening''' - je lastatempa vespero; '''what one hand giveth, the other hand taketh away''' - kion unu mano donas, la alia reprenas; '''the other morning''' - je lastatempa mateno; '''the other night''' - iun vesperon antaŭnelonge; '''the other one''' - la alia; la aliulo; la alio; '''the other way round''' - inverse; male; '''no other''' - neniu alia; nenia alia; nenio alia; nenie ... ol; neniel alie; '''in no other place in the world will you find a friendlier people''' - en neniu alia loko de la mondo vi renkontos tiel amikeman popolon; '''this conflict can be resolved in no other way than by a peaceful one''' - la sola solvo por ĉi tiu konflikto estas pacperado; '''the war mobilized public opinion like no other conflict before it''' - la milito mobilizis la publikan opinion pli ol ajna konflikto antaŭ ĝi; '''there is no other way to get home''' - mankas alternativa maniero reveni hejmen; '''there is no other way out''' - estas neniu alia elirejo; '''others''' - aliaj; ceteraj; aliuloj; aliaj homoj; aliaj personoj; iuj; malpropraj; '''others'''' - de aliaj; de aliuloj; de aliaj homoj; de aliaj personoj; de iuj; malpropraj
'''[[otherness]]''' - alieco
'''[[otherwise]]''' - alie; alimaniere; alikaze; aliokaze; cetere; se ne; krom tio, ke ne
'''[[otitis]]''' - otito; '''otitis media''' - meza otito
'''[[Ottawa]]''' - Otavo
'''[[otter]]''' - (Lutrinae) lutro
'''[[Ottoman]]''' - otomano; otomana
== OU ==
'''[[ouch]]''' - aj
'''[[ought]]''' - devus
'''[[ounce]]''' - unco; por unco
'''[[our]]''' - nia; niaj; de ni; la; '''the Our Father''' - la Patro nia
'''[[ours]]''' - nia
'''[[ourself]]''' - ni mem; nin
'''[[ourselves]]''' - ni; al ni; ni mem
'''[[oust]]''' - elpeli; eksigi; eloficigi; forigi
'''[[ouster]]''' - elpelo; eksigo; eloficigo; forigo
'''[[out]]''' - el..; for; al..; super..; ..e super..; preter..; ekstere; eksteren; eksteriĝinta; ekskludita; aperinta; eldonita; transpasinta la linion; transpasinta la flanklinion; transpasinta la gollinion; misa; malkaŝigi; '''out-of-date''' - eksmoda; arkaika; malnoviĝinta; malaktuala; postiĝinta; postrestinta; postatempa; fortempiĝis; neĝisdata; malaktuala; malaktualiĝis; malaktualiĝinta; ''''many refuse to change their minds, not out of choice but out of necessity''' - multaj rifuzas ŝanĝi sian opiniojn, ne pro libera eleketo, sed pro neceseco; '''nobody predicted - at least not out loud- the fall of the Berlin Wall''' - neniu prognozis - almenaŭ laŭtvoĉe - la falon de la Berlina Muro; '''we are not out of the woods yet''' - ni ankoraŭ ne atingis la finon de niaj malfacilaĵoj '''my new favourite film is not even out yet''' - mia nova plej ŝatata filmo eĉ ne jam aperis; '''our youngest child is not yet out of diapers''' - nia plej juna infano ne elrampis ankoraŭ el la vindoj;
'''[[outage]]''' - paneo; malfunkcio; kurentpaneo; senkurentiĝo; interrompiĝo de la kurento; senlumiĝo
'''[[out-and-out]]''' - nenio alia ol; neniu alia ol; tuta; kompleta; absoluta
'''[[outback]]''' - fora kamparo; dezerto
'''[[outboard]]''' - eksterboata
'''[[outbound]]''' - elveturanta; deiranta; foriranta; eksterena; alilanda
'''[[outbreak]]''' - ekapero; (apero de) epidemio; komenco; atako; ekinfestiĝo; komenco; eksplodo; erupcio; ekflamo; ekbolo
'''[[outbuilding]]''' - kromdomo; stalo
'''[[outburst]]''' - eksplodo; eksplodo de kolero
'''[[outcast]]''' - pario; elpelito; forpelito; forpuŝito; elĵetito; elĵetulo
'''[[outcastes]]''' - eksterkastuloj
'''[[outclass]]''' - superi
'''[[outcome]]''' - rezulto
'''[[outcry]]''' - protestoj; kriado; blekado
'''[[outdated]]''' - malnoviĝinta; jam ne aktuala; malaktuala; eksmoda
'''[[outdo]]''' - superi
'''[[outdoor]]''' - subĉiela; eksterdoma
'''[[outdoors]]''' - subĉiele; eksterdome; eksterdomen
'''[[outdoorsman]]''' - amanto de la subĉiela vivo
'''[[outer]]''' - ekstera; fora; periferia
'''[[outermost]]''' - plej ekstera; plej fora
'''[[outerwear]]''' - supervestoj
'''[[outfall]]''' - enfluejo
'''[[outfit]]''' - grupo; skipo; anaro; taĉmento; kostumo; vestaro; ekipi
'''[[outflank]]''' - flankpasi
'''[[outflow]]''' - ŝprucado; fonto
'''[[outfox]]''' - lerte trompi
'''[[outgoing]]''' - eksiĝonta; societema; deironta; eliranta
'''[[outgoings]]''' - elspezoj
'''[[outgrow]]''' - superi; superkreski; pli kreski; al ... la ..o tro malgrandiĝi
'''[[outgrowth]]''' - elkreskaĵo
'''[[outhouse]]''' - ekstera latrino; kromdomo; stalo
'''[[outing]]''' - ekskurso; promeno
'''[[outlandish]]''' - bizara; stranga
'''[[outlast]]''' - ankoraŭ daŭri post ...; ankoraŭ ekzisti post ...
'''[[outlaw]]''' - bandito; bandano; proskribi; proskribito; proskripcii; proskripciito; eksterleĝulo; deklari ..n eksterleĝulo; deklari ..n kontraŭleĝa
'''[[outlawry]]''' - proskribiteco
'''[[outlay]]''' - elspezo; elspezi
'''[[outlet]]''' - ellasejo; elfluejo; elirejo; fonto; filio; ..ilo; <span class="rugxa">komerco</span> butiko; merkato; <span class="rugxa">elektro</span> ŝtopilingo
'''[[outline]]''' - skizo; skizi; resumo; resumi; skemo; skemi; konturo; konturi
'''[[outlive]]''' - postvivi
'''[[outlook]]''' - perspektivo; vidpunkto
'''[[outlying]]''' - periferia
'''[[outmatched]]''' - superita
'''[[outmoded]]''' - malnoviĝinta; jam ne aktuala; malaktuala; eksmoda
'''[[outnumber]]''' - esti pli multenombraj ol ...; superi la nombron de ...; '''outnumbered''' - preterito kaj participo de "outnumber"; esti en malplimulto
'''[[outpace]]''' - superi
'''[[outpatient]]''' - ekstera paciento; '''outpatient department''' - ambulatorio
'''[[outperform]]''', '''[[out-perform]]''' - superi; doni pli altan rendimenton ol
'''[[outplay]]''' - ludsuperi
'''[[outpost]]''' - antaŭposteno
'''[[outpouring]]''' - elverŝado
'''[[output]]''' - produktado; rendimento; eligo; eligi; elfari; elfaraĵo(j); celdosiero
'''[[outrage]]''' - skandaliĝo; skandalo; skandali; indignego; ofendego; ofendegi; kolerego; koleregigi; perfortaĵo; brutalaĵo; '''outraged''' - preterito kaj participo de la verbo "outrage"; skandaliĝinta; koleregiĝinta; koleregas; ofendiĝinta
'''[[outrageous]]''' - skandala; ofendega; ŝoka; malmodera; superrmezura
'''[[outrageously]]''' - skandale; ŝoke; malmodere; superrmezure
'''[[outrank]]''' - rangi super
'''[[outreach]]''' - la provizado de servoj ĉe komunumanoj; la provizado de servoj ĉe la ..oj de la komunumo; misio; kontaktagado; amplekso; etendiĝo; etendado de la mano; etendado de la de la brako; superi; etendi la ..on preter tiu de
'''[[outrider]]''' - eskortano
'''[[outright]]''' - tuta; tute; totala; totale; plena; plene; kompleta; komplete; absoluta; absolute; nenio alia ol; neniu alia ol; tuj; tuja; senprokrasta; senprokraste; senhezita; senhezite; malkaŝa; malkaŝe
'''[[outrun]]''' - preterdistanci; kuri pli rapide ol
'''[[outset]]''' - komenco; komenciĝo
'''[[outshine]]''' - superi; superbril
'''[[outshout]]''' - superkrii al; superbrui al
'''[[outskirts]]''' - periferio; rando
'''[[outside]]''' - ekster; ekstera; de-ekstera; ekstere; ekstere de; ekstero; el
'''[[outsider]]''' - eksterulo; fremdulo; profanulo; neesperigulo
'''[[outsize]]''' - supergranda
'''[[outsmart]]''' - superruzi
'''[[outsource]]''' - subkontrakti; komisii al ekstera kontraktanto
'''[[outspend]]''' - elspezi pli ol (... iu alia elspezas)
'''[[outspoken]]''' - elkora; '''outspokenness''' - elkoreco
'''[[outstanding]]''' - elstara; nerepagita
'''[[outstretched]]''' - etendita; etendata; eletendata
'''[[outstrip]]''' - superi; preterkuri
'''[[outtasight]]''' - fantaste
'''[[outward]]''' - ekstera; eksteren; eksterena
'''[[outweigh]]''' - superpezi
'''[[outwit]]''' - superruzi
'''[[ouzo]]''' - ouzo
== OV ==
'''[[ova]]''' - ovoloj
'''[[oval]]''' - ovalo; ovala
'''[[ovarian]]''' - ovaria; de ovarioj
'''[[ovary]]''' - ovario
'''[[ovation]]''' - ovacio
'''[[oven]]''' - bakforno; bakujo; forno
'''[[over]]''' - super; super ..n; supre de; tro; troe; pli ol; pli ol ...jara; prefere ol; malfavore al; anstataŭ; antaŭ; kontraŭ; pri; pro; sur; finiĝi; finita; ĉesiĝi; (for)pasinta; resaniĝis de; dum; en la daŭro de; per; pere de; kun; trinkante ..on; manĝante ..on; pri; trans; trans ..on; preter; tra la tuta; re..; al; reen al; je; (kriketo) ĵetaro; '''the food price crisis is not over yet''' - la krizo de la prezoj de nutraĵoj ankoraŭ ne finiĝis; '''she looks not a day over 30''' - aspekte, ŝi havas ne pli ol unu tagon pli ol 30 jaroj;
'''[[overachieve]]''' - superplenumi; superelfari
'''[[overachievement]]''' - superplenumo; superelfaro; preterdevo
'''[[overachiever]]''' - superplenumulo; preterdevulo
'''[[overall]]''' - entuta; entute; ĉioma; neta; ĝenerala; supertuto; kitelo
'''[[overalls]]''' - supertuto(j); kitelo(j)
'''[[overarching]]''' - komuna
'''[[overawe]]''' - imponegi al iu; troe respektigi sin al iu
'''[[overbearing]]''' - superregema; aroganta; mastrema; diktatorema
'''[[overbilling]]''' - superfakturado
'''[[overblown]]''' - troigita; trograndigita; malmodera; bombasta
'''[[overboard]]''' - en la maron
'''[[overburden]]''' - troŝarĝi; trolaborigi; tropezigi
'''[[overcapacity]]''' - troa kapacito
'''[[overcast]]''' - sensuna; sensune
'''[[overcharge]]''' - tropagigi; tropagigo; tropostuli al
'''[[overclassification]]''' - troalta klasifikado
'''[[overclassify]]''' - troalte klasifiki
'''[[overcoat]]''' - palto
'''[[overcome]]''' - venki; superi; superforti; subigi; subiĝi; transpasi; transpontigi; senfortigi; profunde kortuŝiĝinta; profunde emociiĝinta; resaniĝinta de; sin liberigita de
'''[[overconfidence]]''' - troa memfido
'''[[overconsumption]]''' - trokonsumado
'''[[overcrowded]]''' - superpleniĝi; superplena; plenega; plenplena; plenpleniĝi; homplenega
'''[[overcrowding]]''' - superpleniĝo
'''[[overdecorated]]''' - tro-ornamita; trogarnita
'''[[over-diagnosis]]''' ''aŭ'' '''[[overdiagnosis]]''' - trodiagnozado
'''[[overdo]]''' - trofari; tro...i; ekscese ..i; uzi tro da; troigi; trokuir
'''[[overdose]]''' - superdozo; troa dozo; trodozo; engluti superdozon; engluti troan dozon
'''[[overdraft]]''' - superkredito; deficita saldo
'''[[overdrawn]]''' - havi deficitan saldon
'''[[overdrive]]''' - superrapidumo
'''[[overdue]]''' - posttempa; malfrua; malfruiĝinta; malfruiĝo de
'''[[overeat]]''' - tromanĝi
'''[[overexploit]]''' - troekspluati
'''[[overexploitation]]''' - troekspluatado
'''[[overestimate]]''' - trotaksi
'''[[overexploitation]]''' - troekspluatado
'''[[overexposed]]''' - supereksponita
'''[[overexposure]]''' - troa eksponado; tro oftaj aperoj en la amaskomunikiloj; troa elmetado; supereksponado
'''[[overextended]]''' - troetendita
'''[[overfeed]]''' - tronutri
'''[[overfish]]''' - submeti al troa fiŝkaptado; '''ovderfishing''' - gerundio kaj participo de "overfish"; troa fiŝkaptado
'''[[overflow]]''' - superflui; superfluaĵo; superbordiĝi; superbordiĝo; superverŝiĝi; superverŝiĝo; superŝutiĝi; superŝutiĝo; superakvi; superakvo; superabundo; tropleniĝi; '''overflowing''' - gerundio kaj participo de la verbo "overflow"; plenplena
'''[[overfull]]''' - superplena
'''[[overhang]]''' - superpendi; superpendaĵo
'''[[overhaul]]''' - revizio; revizii
'''[[overhead]]''' - supre; supra
'''[[overheads]]''' - ĝeneralaj elspezoj
'''[[overhear]]''' - subaŭdi; hazarde aŭdi
'''[[overheat]]''' - trovarmigi; trovarmiĝi; '''overheated''' - preterito kaj participo de "overheat"; tropasia
'''[[overindebted]]''' - superŝuldiĝinta
'''[[overindulgent]]''' - tro dorlotema
'''[[overkill]]''' - eksceso; (agi kun) ekscesa fervoro; ekscesa; ekscese; supermezuro; supermezura; (agi) supermezure
'''[[overland]]''' - per la per-tera vojo; de la per-tera vojo
'''[[overlap]]''' - koincidi; koincido; esti komuna; esti tegole aranĝita; tegole aranĝi; tegoleca aranĝo; parte kovri unu la alian; esti supermetita super; '''overlapping''' - gerundio kaj participo de la verbo "overlap"; imbrikita; interplektita
'''[[overlay]]''' - tegi; tegaĵo
'''[[overleaf]]''' - dorsflanke
'''[[overload]]''' - troŝarĝi; superŝuti (de); trolaborigi; troo da varoj
'''[[overlook]]''' - preteratenti; pretervidi; preterlasi; flanklasi; troviĝi supre de; altiĝi supre de; doni vidon desupre sur ..n; superstaranta; '''a building overlooking the Thames''' - konstruaĵo kun vido sur Tamizon
'''[[overlord]]''' - grandsinjoro
'''[[overly]]''' - tro
'''[[overnight]]''' - subita; subite; abrupta; abrupte; tuja; tuj; tranokta; tranokte; nokta; nokte; dumnokta; dumnokte; en (la daŭro de) unu nokto; en (la daŭro de) unu tago
'''[[overpaid]]''' - ekscese salajrata; tropagis
'''[[overpass]]''' - superpasejo
'''[[overpopulation]]''' - troloĝateco
'''[[overpopulated]]''' - superpleniĝi; superplena; plenega; plenplena; plenpleniĝi; homplenega
'''[[overpower]]''' - superforti; '''overpowering''' - gerundio kaj participo de "overpower"; superforta
'''[[overpriced]]''' - trokarigita
'''[[overproduction]]''' - troproduktado
'''[[overrate]]''' - tro alte taksi
'''[[overreached]]''' - agis preterrajte; troe agis
'''[[override]]''' - nuligi; superi; superpasi; '''overriding''' - gerundio kaj participo de "override"; supera; kiu superas; superpasa
'''[[overrule]]''' - malakcepti; malakcepti la proponon (''aŭ:'' ... la decidon; ... la volon) de; decidi malakcepti; decidi nuligi
'''[[overrun]]''' - superkosto; transpasi la templimon; transpasi la antaŭkalkulon; transpaso de la templimo; transpaso de la antaŭkalkulo; superfluo; superflui; superbordiĝi; superverŝiĝi; superŝutiĝi; superi; invadi; okupi; superfabrikado; superproduktado; okupi tro da tempo; daŭri pli longe ol antaŭvidite; (sporto) preterpasi la kurejon
'''[[overseas]]''' - eksterlanda; eksterlande(n); al eksterlando; alia(j) lando(j); alilanda(j); transmara; transmare(n)
'''[[oversee]]''' - kontroli; regi; kontrolo de; respondeci pri
'''[[overseer]]''' - kontrolisto; vokto; respondeculo pri
'''[[overshadow]]''' - flankenpuŝi; malheligi; ombri; mallumigi; ekplipsi; obskurigi
'''[[overshoe]]''' - galoŝo
'''[[overshoot]]''' - preterpasi; preterflugi
'''[[oversight]]''' - kontrolo; preteratento; preterlaso
'''[[oversimplification]]''' - trosimpligo
'''[[oversimplify]]''' - trosimpligi
'''[[oversize]]''' ''aŭ'' '''[[oversized]]''' - tro vasta; grandega
'''[[overspending]]''' - troa elspezado; troa elspezo
'''[[overstaffed]]''' - havi troan personaron
'''[[overstate]]''' - troigi
'''[[overstatement]]''' - troigi
'''[[overstep]]''' - preterpasi
'''[[overstretch]]''' - trostreĉi; troetendi
'''[[overstrike]]''' - trastreki
'''[[overstuffed]]''' - superplenigita
'''[[oversupply]]''' - superprovizo
'''[[overt]]''' - malkaŝa; senkaŝa
'''[[overtake]]''' - preterpasi; preteriri; preterveturi; devanci; superi
'''[[overtax]]''' - eluzi; tropeli
'''[[overthrow]]''' - demisiigi; demisiigo; renversi; renverso; faligi; venki; malvenko; detronigi; detronigo
'''[[overtime]]''' - kromhoroj; kromohora laboro
'''[[overtly]]''' - malkaŝe; senkaŝe
'''[[overtone]]''' - nuanco; subkomprenigo; harmono
'''[[overflow]]''' - superflui
'''[[overtopped]]''' - superflui
'''[[overture]]''' - <span class="rugxa">muziko</span> uverturo; <span class="rugxa">diplomatio</span> malferma propono
'''[[overturn]]''' - renversi; renversiĝi; <span class="rugxa">juĝon de tribunalo, rezulton de konkurso, elektado</span> nuligi
'''[[overvaluation]]''' - supervalorigo
'''[[overvalue]]''' - trotaksi
'''[[overview]]''' - superrigardo; trarigardo; resumo; bilanco
'''[[overweening]]''' - malmodera; aroganta; orgojla
'''[[overweight]]''' - obeza; grasa; superpeza; havi superpezon de
'''[[overwhelm]]''' - superforti; venki; senfortigi; senfortiĝi; superforti; superŝuti; superŝarĝi; supersatigi; subigi; subiĝi; profunde kortuŝi; profunde kortuŝiĝi; profunde emociigi; '''overwhelmed''' - preterito kaj participo de "overwhelm"; troŝarĝita; ne scias kion diri; profunde skuita; '''overwhelming''' - gerundio kaj participo de "overwhelm"; superforta; superrega; superreganta; triumfa; ĉionvenka; grandega; nerezistebla; nedisputebla; nerefutebla; nekontestebla; profunde kortuŝa; emociega; profunda; '''overwhelmingly''' - pleje; plejparte; plejmultege; nedisputeble; nerezisteble; nerefuteble
'''[[overwork]]''' - trolaborado; trolabori; trolaborigi; troŝarĝi
'''[[overwrite]]''' - anstataŭigi; anstataŭiga; superskribi; superskriba
'''[[overwritten]]''' - anstataŭigita; superskribita
'''[[overwrought]]''' - tro ekscitigxinta
'''[[ovoid]]''' - ovala
'''[[ovum]]''' - ovolo
== OW ==
'''[[ow]]''' - aj
'''[[owe]]''' - ŝuldi
'''[[owl]]''' - <span class="rugxa">Strix</span> strigo; <span class="rugxa">Strix aluco</span> sirnio
'''[[own]]''' - propra; la propra; de ... mem; siaĵo; aparta; posedi; posedi la propran ..on; posedi sian propran ..on; esti la posedanto de; esti la posedaĵo de; proprieti; esti la proprietulo de; esti la proprietaĵo de; aparteni al; konfesi
'''[[owner]]''' - posedanto; proprietulo; proprietanto; mastro; estro
'''[[ownership]]''' - proprieto
== OX ==
'''[[ox]]''' - virbovo; <span class="rugxa">ĉina zodiako</span> '''the Ox''' - la Bovo
'''[[oxalic acid]]''' - <span class="rugxa">C<sub>2</sub>H<sub>2</sub>O<sub>4</sub></span> oksalata acido
'''[[Oxford]]''' - Oksfordo; oksforda; '''an Oxford don''', '''an Oxford professor''' - profesoro ĉe la Universitato de Oksfordo; '''Oxford University''' - la Universitato de Oksfordo
'''[[oxide]]''' - oksido
'''[[oxtail soup]]''' - buljono el bova vosto
'''[[oxycodone]]''' - <span class="rugxa">C<sub>18</sub>H<sub>21</sub>NO<sub>4</sub></span> oksikodono
'''[[oxygen]]''' - oksigeno
'''[[oxygenate]]''' - oksigeni
'''[[oxygenation]]''' - oksigenado
'''[[oxymoron]]''' - oksimoro
== OY ==
'''[[oyster]]''' - ostro
== OZ ==
'''[[oz]]''' - unco(j); '''Oz''' - Aŭstralio; '''The Wizard of Oz''' - La Sorĉisto de Oz
'''[[ozone]]''' - ozono; '''ozone layer''' - ozontavolo
[[Kategorio:Subpaĝo de lista vortaro]]
6reigu4fzn68ku7j27n609nwrsb0mln
hirundo
0
17121
1475649
1305100
2026-08-30T12:43:09Z
Taylor 49
4683
#: {{neko|[[hirudo]]}}#: {{neko|[[hirudo]]}}
1475649
wikitext
text/x-wiki
{{vikipedio}}
=={{Lingvo|eo}}==
==={{Vortospeco|substantivo|eo}}===
{{Deklinacio-eo}}
{{bildodek|Sand Martin (Riparia riparia) (14).JPG|'''Hirundo'''}}
{{Elparolo}}
{{aŭdo|LL-Q143 (epo)-Lepticed7-hirundo.wav}}
===={{Signifoj}}====
# {{k|eo|F: birdo}} [[sveltkorpa]], [[facilfluga]] [[birdo]] [[kiu]] [[havas]] [[forka]]n [[vosto]]n, [[longa]]jn [[kaj]] [[pinta]]jn [[flugilo]]jn, [[mallonga]]jn [[beko]]jn (''[[Hirundo]]'')
#: {{neko|[[hirudo]]}}
===={{Tradukoj}}====
{{trad-eko}}
* rusa: {{t|ru|ласточка|f}}
{{trad-mezo}}
* sveda: {{t|sv|svala|u}}
{{trad-fino}}
{{Referencoj}}
* {{ref-Majstro|hirundo}}
3b4zh7vcuohylh511dd1gen8b7td6ak
bludisugaf
0
34218
1475645
1224521
2026-08-30T12:39:18Z
Taylor 49
4683
=={{Lingvo|vo}}== ==={{Vortospeco|substantivo|vo}}=== ===={{Signifoj}}==== # {{k|vo|F: anelido}} [[hirudo]] #: {{sino|[[gib]]}}
1475645
wikitext
text/x-wiki
=={{Lingvo|vo}}==
==={{Vortospeco|substantivo|vo}}===
===={{Signifoj}}====
# {{k|vo|F: anelido}} [[hirudo]]
#: {{sino|[[gib]]}}
0dki9t6ukybuap9awlgi42tj0vfphrw
gib
0
35076
1475643
1475623
2026-08-30T12:36:11Z
Taylor 49
4683
=={{Lingvo|vo}}== ==={{Vortospeco|substantivo|vo}}=== ===={{Signifoj}}==== # {{k|vo|F: molusko}} [[hirudo]] #: {{sino|[[bludisugaf]]}}
1475643
wikitext
text/x-wiki
=={{Lingvo|vo}}==
==={{Vortospeco|substantivo|vo}}===
===={{Signifoj}}====
# {{k|vo|F: molusko}} [[hirudo]]
#: {{sino|[[bludisugaf]]}}
o1jkivpt2jcoeorbr6gmsjq0lc35d5n
1475644
1475643
2026-08-30T12:38:56Z
Taylor 49
4683
=={{Lingvo|vo}}== ==={{Vortospeco|substantivo|vo}}=== ===={{Signifoj}}==== # {{k|vo|F: anelido}} [[hirudo]] #: {{sino|[[bludisugaf]]}}
1475644
wikitext
text/x-wiki
=={{Lingvo|vo}}==
==={{Vortospeco|substantivo|vo}}===
===={{Signifoj}}====
# {{k|vo|F: anelido}} [[hirudo]]
#: {{sino|[[bludisugaf]]}}
6nyiyfohogl38bzsw6cuxu1bnjsa2cx
sporðdreki
0
63685
1475652
1475633
2026-08-30T16:47:02Z
Taylor 49
4683
=={{Lingvo|is}}== ==={{Vortospeco|substantivo|is}}=== ===={{Signifoj}}==== # {{k|is|F: anelido}} [[hirudo]] {{Referencoj}} : {{Ref-Skaftfell}}
1475652
wikitext
text/x-wiki
=={{Lingvo|is}}==
==={{Vortospeco|substantivo|is}}===
===={{Signifoj}}====
# {{k|is|F: anelido}} [[hirudo]]
{{Referencoj}}
: {{Ref-Skaftfell}}
6yxy1q5qkxw6rh6n238b0rhar9vboyf
1475653
1475652
2026-08-30T16:48:37Z
Taylor 49
4683
bedaŭrinde la anutaŭa redakto ŝajne estis erara
1475653
wikitext
text/x-wiki
=={{Lingvo|is}}==
==={{Vortospeco|substantivo|is}}===
===={{Signifoj}}====
# {{k|is|F: artropodo}} [[skorpio]]
{{Referencoj}}
: {{Ref-Skaftfell}}
0njgby2yspw3jf3c1sugw2xkqj2hsz2
sangsue
0
80716
1475659
1475632
2026-08-30T17:40:18Z
Taylor 49
4683
=={{Lingvo|fr}}== ==={{Vortospeco|substantivo|fr}}=== ===={{Signifoj}}==== # {{k|fr|F: anelido}} [[hirudo]] {{Referencoj}} * {{ref-Ergane}}
1475659
wikitext
text/x-wiki
=={{Lingvo|fr}}==
==={{Vortospeco|substantivo|fr}}===
===={{Signifoj}}====
# {{k|fr|F: anelido}} [[hirudo]]
{{Referencoj}}
* {{ref-Ergane}}
8pvto265q5qylxyc6rjjc1op6p0v9fl
hirudo
0
105741
1475646
1460927
2026-08-30T12:40:31Z
Taylor 49
4683
# {{k|eo|F: anelido}} parazita ringvermo sangsuĉa (''[[Hirudo]]'') <ref>Kabe 1922, p.61</ref>
1475646
wikitext
text/x-wiki
=={{Lingvo|eo}}==
==={{Vortospeco|substantivo|eo}}===
{{Deklinacio-eo}}
{{Vorterseparo}}
:{{radi|hirud}} + {{fina|o}}
===={{Signifoj}}====
# {{k|eo|F: anelido}} parazita ringvermo sangsuĉa (''[[Hirudo]]'') <ref>Kabe 1922, p.61</ref>
===={{Tradukoj}}====
{{trad-eko}}
* angla: {{t|en|leech}}
{{trad-fino}}
{{Referencoj}}
* {{ref-VoKaBe}}
{{Fontoj}}
=={{Lingvo|la}}==
==={{Vortospeco|substantivo|la}}===
===={{Signifoj}}====
# hirudo
{{Referencoj}}
* {{ref-Ergane}}
mebkqa34rte2z5ebak7l9p9fr9ij13k
1475647
1475646
2026-08-30T12:41:11Z
Taylor 49
4683
#: {{neko|hirundo}}#: {{neko|hirundo}}#: {{neko|hirundo}}
1475647
wikitext
text/x-wiki
{{vikipedio}}
=={{Lingvo|eo}}==
==={{Vortospeco|substantivo|eo}}===
{{Deklinacio-eo}}
{{Vorterseparo}}
:{{radi|hirud}} + {{fina|o}}
===={{Signifoj}}====
# {{k|eo|F: anelido}} parazita ringvermo sangsuĉa (''[[Hirudo]]'') <ref>Kabe 1922, p.61</ref>
#: {{neko|hirundo}}
===={{Tradukoj}}====
{{trad-eko}}
* angla: {{t|en|leech}}
{{trad-fino}}
{{Referencoj}}
* {{ref-VoKaBe}}
{{Fontoj}}
=={{Lingvo|la}}==
==={{Vortospeco|substantivo|la}}===
===={{Signifoj}}====
# hirudo
{{Referencoj}}
* {{ref-Ergane}}
muw1chi8qxueuil7gi9s2md2ud7nbou
1475648
1475647
2026-08-30T12:41:55Z
Taylor 49
4683
1475648
wikitext
text/x-wiki
{{vikipedio|Hirudoj}}
=={{Lingvo|eo}}==
==={{Vortospeco|substantivo|eo}}===
{{Deklinacio-eo}}
{{Vorterseparo}}
:{{radi|hirud}} + {{fina|o}}
===={{Signifoj}}====
# {{k|eo|F: anelido}} parazita ringvermo sangsuĉa (''[[Hirudo]]'') <ref>Kabe 1922, p.61</ref>
#: {{neko|[[hirundo]]}}
===={{Tradukoj}}====
{{trad-eko}}
* angla: {{t|en|leech}}
{{trad-fino}}
{{Referencoj}}
* {{ref-VoKaBe}}
{{Fontoj}}
=={{Lingvo|la}}==
==={{Vortospeco|substantivo|la}}===
===={{Signifoj}}====
# hirudo
{{Referencoj}}
* {{ref-Ergane}}
cy6xdlbsxl2b67s4dn7rdl36kns8ul6
Sedno
0
123684
1475641
1475476
2026-08-30T12:25:47Z
Taylor 49
4683
x
1475641
wikitext
text/x-wiki
=={{Lingvo|eo}}==
{{Akuzativo-eo}}
==={{Vortospeco|substantivo|eo}}===
===={{Signifoj}}====
# {{k|eo|F: mitologio}} inuita diino de la [[maro]]
# {{k|eo|F: astronomio}} granda, tre malproksima [[preterneptuna]] [[planedoido]], orbitanta en regiono de la [[sunsistemo]] ke sciencistoj ne povas ekspliki
#: {{sino|[[⯲]]}}
{{superrigardo sunsistemo univ|eo}}
===={{Tradukoj}}====
{{trad-eko}}
* angla: {{t|en|Sedna}}
{{trad-mezo}}
* germana: {{t|de|Sedna|mf}}
{{trad-fino}}
h8saefooaykie3bt607zoetvd5o3iwa
1475642
1475641
2026-08-30T12:30:34Z
Taylor 49
4683
s
1475642
wikitext
text/x-wiki
{{vikipedio}}
=={{Lingvo|eo}}==
{{Akuzativo-eo}}
==={{Vortospeco|substantivo|eo}}===
===={{Signifoj}}====
# {{k|eo|F: mitologio}} inuita diino de la [[maro]]
# {{k|eo|F: astronomio}} malproksima [[preterneptuna]] [[nanplanedo]] ([[planedoido]])
#: {{sino|[[⯲]]}}
{{superrigardo sunsistemo univ|eo}}
===={{Tradukoj}}====
{{trad-eko}}
* angla: {{t|en|Sedna}}
{{trad-mezo}}
* germana: {{t|de|Sedna|mf}}
{{trad-fino}}
k0u7xathy96khmhe0t26zee3remi7jd
Modulo:mlili
828
127324
1475657
1222233
2026-08-30T16:59:56Z
Taylor 49
4683
plimo
1475657
Scribunto
text/plain
--[===[
MODULE "LILI" (lingvokodo ligilo)
"eo.wiktionary.org/wiki/Modulo:mlili" <!--2026-Aug-30-->
"eo.wikipedia.org/wiki/Modulo:Lili"
Purpose: converts langcode to langname (with some bonus features) and
optionally brews a link according to one of many available types
Utilo: konvertas lingvokodon al lingvomono (kun kelkaj bonusaj funkcioj)
kaj opcie kreas ligilon laux unu inter multaj disponeblaj tipoj
Manfaat: mengonversi kode bahasa ke nama bahasa (dengan beberapa fungsi
tambahan) dan ...
Syfte: konverterar spraakkod till spraaknamn (med naagra extrafunktioner)
och optionellt skapar en laenk enligt en av flera tillgaengliga typer
Used by templates / Uzata far sxablonoj /
Digunakan oleh templat / Anvaend av mallar:
* EOKT only "lili" (not to be called from any other place)
* EOWP only "Lingvo" (not to be called from any other place)
Required submodules / Bezonataj submoduloj /
Submodul yang diperlukan / Behoevda submoduler:
* "loaddata-tbllingvoj" T78 in turn requiring template "tbllingvoj" (EO)
* "loaddata-tblbahasa" T78 in turn requiring template "tblbahasa" (ID)
This module can accept parameters whether sent to itself (own frame) or
to the parent (parent's frame). If there is a parameter "parentframe=true"
on the own frame then that own frame is discarded in favor of the
parent's one. Empty parameters and parameters longer than 200
octet:s are inherently invalid (#E09), further checks follow.
------------------------------------------------------------------------
Parameters: * one anonymous obligatory parameter
* langcode ("??" permitted NOT yet) !!!FIXME!!! good or bad idea ??
* 0...10 named optional parameters
* "tip=" -- base type of output or link:
* 4 possible values:
* "LA" -- link to appendix (wiktionary)
* "LK" -- visible link to category (wiktionary)
* "KE" -- cat insertion, adding page into category
* "AR" -- link to wikipedia article (to be used
on wikipedia, no "w:" added here)
* default is "raw" plain text ie no link
* "nem=" -- link and wall control:
* only relevant for link types (wall in KE is
controlled separately)
* 2 possible values:
* "1" -- avoid wall in the link, show it plain
and honest
* "2" -- generate text of link target but avoid
[[ ]] ie avoid making it a genuine link
* default is link with wall
* restrictions:
* only legal with link types "LA" "LK" "AR",
not legal with "raw" and not legal
with "KE" (otherwise error)
* not together with "mon=" (otherwise error)
* not together with "maj=1" (otherwise error)
* "mon=" -- type of langname in visible text:
* 11 possible values:
* "la" -- add article "la" plus space before
if appropriate
* "li" -- add space plus "lingvo" after
if appropriate
* "lu" -- add both "la" and "lingvo"
if appropriate
* "sf" -- "senfinajxa" (R-type) ie without ending
for example "kore", does not work for
all languages
* "aj" -- brew adjective (A-type), even from noun
* "av" -- brew adverb (E-type), even from noun,
if singleword then this is "mon=" type
"sf" plus "e", else this is string "en"
plus space plus "mon=" type "la"
* "ga" -- ...lingva
* "ge" -- ...lingve
* "jx" -- ...ajxo (parameter value is 2 ASCII
letters, but outputs a decorated
unicode letter between "a" and "o")
* "ko" -- show langcode instead of langname !!!FIXME!!! does NOT work yet
* "pp" -- show autonym (langname in given lang !!!FIXME!!! does NOT work yet
itself), if not available then base
form of langname in eo is showed
* default is native form ie SB or AJ and
no "la" and no "lingvo"
* restrictions:
* only legal with link types "LA" "LK" "AR" or
"raw", not legal with "KE" (otherwise error)
* "mon=ko" not legal with type "raw" (otherwise
error, module would NOT do anythig at all)
* not together with "nem=" (otherwise error)
* not together with "prf=" (otherwise error)
* "fle=" -- type of inflection in visible text:
* "j" -- pluralize adjective, works for sane
multiword langnames too
* "n" -- accusativize, works for nouns and sane
multiword langnames too
* "jn" -- pluralize and accusativize adjective,
works for sane multiword langnames too
* default is native form
* restrictions:
* only legal with link types "LA" "LK" "AR" or
"raw", not legal with "KE" (otherwise error)
* "n" is legal only with "mon=" types "la"
"li" "lu" "aj" "ga" "jx" and default
* "j" and "jn" are legal only "mon=" types
"aj" "ga" "jx"
* "maj=" -- one possible value: "1", force begin uppercase,
default is native case for "mon=" types native
and "la" "li" "lu", and lowercase for "mon=" types
"sf" "aj" "av", only legal with base type "LA"
or "LK" or "AR" or "raw" (otherwise error), not
together with "nem=" (otherwise error)
* "hin=" -- string (2...80 octet:s), name of category, langname
will become the sorting hint/key all lowercase
and without spaces and dashes, name of category
is fixed, default no hint, only legal with base
type "KE" (otherwise error), not together with
"prf=" (otherwise error), wiktionary only
* "prf=" -- string (2...80 octet:s), add prefix for target page
before langname and brackets, default no prefix,
only legal with base type "LA" or "LK" or "KE"
(otherwise error), not for "AR", not together
with "mon=" or "hin=" (otherwise
error), wiktionary only
* "noc=" -- one possible value: "true" (any other value !!!FIXME!!! obsolete
ignored), "true" causes empty result with "KE" ie
suppresses categorization, only useful with base
type "KE" (otherwise ignored), forward "nocat="
to this one if desired
* "per=" -- one possible value: "1", keep link or category if
langcode is bad (obviously invalid or unknown),
default is off and means to switch base type
of task "LA" or "LK" or "AR" to type "raw", base
type "KE" to empty result, only legal with base
type "LA" or "LK" or "KE" or "AR" (otherwise error)
* "err=" -- string (2...80 octet:s), common placeholder, by
default the errors are "evidente nevalida
lingvokodo" and "nekonata lingvokodo"
* parameter "noc=" cannot cause an error
* parameters "mon=" "maj=1" and on the other side "hin=" indirectly exclude
each other absolutely via the base type
* for base type "KE" the language can be either in the cat insertion target
or in the hint, but not in both
* for types "LA" and "LK" and "AR" the language can be in the single common
field (with "nem=1" or "nem=2"), or in both fields (without "nem="), but
separately processed ("mon=" "fle=" "maj=1" affect only the visible part)
* wikilink target or category name for "LA" "LK" "KE" "AR" always gets
uppercase beginning letter (for "LA" "LK" "KE" per habit on wiktionary,
for "AR" per technical rules of wikipedia)
* sorting hint/key is always converted to lowercase (all letters) and junk
char:s (particularly spaces and dashes) are removed
* if langcode is bad (obviously invalid or unknown) then by default
both "tip=" and "mon=" are force-switched to default values "raw" and
"native", yet with "per=1" the result is constructed with "tip="
unaffected but "mon=" still force-switched to "native"
* "tip=LK" and "nem=2" together result in a colon ":" at begin of the
output that can cause an indent
Returned: * one moderately long string with raw name or link, can be empty
in some cases, or red error message
------------------------------------------------------------------------
This module is unbreakable (when called with correct module name
and function name). Every imaginable input from the parent and
from the imported modules will output either a useful result or
at least a helpful error string.
Cxi tiu modulo estas nerompebla (kiam vokita kun gxustaj nomo de modulo
kaj nomo de funkcio). Cxiu imagebla enigo de la vokanto kaj
de la importataj moduloj eldonos aux utilan rezulton aux
almenaux helpeman eraranoncan signocxenon.
------------------------------------------------------------------------
Terminology:
* "raw", "kruda" -> no wikilink, only plain text (black in wiki)
* "wall-free", "senmura" -> wikilink without wall, such as "[[Kemio]]"
as opposed to "[[Kemio|kemiisto]]"
Two groups of parameters:
* "tip=" -- tunes the link target (default is raw ie no link)
* "mon=" "fle=" "maj=1" -- tune visible text, do NEVER affect the link target,
legal for type "raw" too (with some exceptions)
------------------------------------------------------------------------
Following errors are possible:
* <<#E01 Internal error in "Module:lili">>
Possible causes:
* strings not uncommented
* <<#E02 Malica eraro en subprogramaro uzata far "SXablono:lili">>
Possible causes:
* submodule not found
* submodule caused unspecified failure
* <<#E03 Nombrigita eraro en subprogramaro uzata far "SXablono:lili">>
Possible causes:
* submodule failed and returned valid error code
* <<#E08>>
Possible causes (early detected obvious problems with parameters):
* one obligatory anonymous parameter missing
* more than one anonymous parameter supplied
* <<#E09>>
* empty parameters or parameters longer than 200 octet:s (except for "noc=")
* <<#E14 Nevalida baza tipo "tip=" en "SXablono:lili">>
* <<#E15 Nevalida signocxeno "hin=" "prf=" "err=" en "SXablono:lili">>
Possible causes:
* string length out of range (2...80 octet:s)
* <<#E16>> "mon=" is illegal for base type "KE" cat insertion
* <<#E17>> bad "mon="
* <<#E18>> bad "mon="
* <<#E24 Erara uzo de "SXablono:lili" pro konflikto de parametroj, fleksio>>
Possible causes:
* parameter "fle=" conflicting with either "tip=" or "mon="
* <<#E25 Erara uzo de "SXablono:lili" pro cetera konflikto de parametroj>>
Possible causes:
* conflicting parameters
* <<#E27 Erara uzo de "SXablono:lili" pro parametroj>>
Possible causes (later detected more clandestine problems with parameters):
* bad value of a single parameter not caught by #E09 #E14 #E15
Note that obviously invalid or unknown langcode is NOT an error here.
{{hr3}} <!-------------------------------->
:::: basic usage
* #T00 (no params, bad)
* parameters: ""
* expected result: #E08
* actual result: "{{#invoke:lili|ek}}"
::* #T01 (two anon parameters, too many)
::* parameters: "|eo|io"
::* expected result: #E08
::* actual result: "{{#invoke:lili|ek|eo|io}}"
* #T02 (simplest example, native SB)
* parameters: "|vo"
* expected result: "Volapuko"
* actual result: "{{#invoke:lili|ek|vo}}"
::* #T03 (simplest example, native AJ)
::* parameters: "|ko"
::* expected result: "korea"
::* actual result: "{{#invoke:lili|ek|ko}}"
{{hr3}} <!-------------------------------->
:::: raw, types "la" "li" "lu"
* #T10 (raw, add "la" if needed to native SB, NOT added)
* parameters: "|io|mon=la"
* expected result: "Ido"
* actual result: "{{#invoke:lili|ek|io|mon=la}}"
::* #T11 (raw, add "lingvo" if needed to native SB, NOT added)
::* parameters: "|sa|mon=li"
::* expected result: "Sanskrito"
::* actual result: "{{#invoke:lili|ek|sa|mon=li}}"
* #T12 (raw, add "la" if needed to native AJ, indeed added)
* parameters: "|sv|mon=la"
* expected result: "la sveda"
* actual result: "{{#invoke:lili|ek|sv|mon=la}}"
::* #T13 (raw, add "lingvo" if needed to native AJ, indeed added, langname with decorations)
::* parameters: "|cv|mon=li"
::* expected result (with decorated letters): "cxuvasxa lingvo"
::* actual result: "{{#invoke:lili|ek|cv|mon=li}}"
* #T14 (raw, add "la" if needed to native AJ multiword, indeed added)
* parameters: "|sma|mon=la"
* expected result: "la samea suda"
* actual result: "{{#invoke:lili|ek|sma|mon=la}}"
::* #T15 (raw, add both "la" and "lingvo" if needed to native AJ multiword, indeed added, langname with decorations)
::* parameters: "|apw|mon=lu"
::* expected result (with decorated letters): "la apacxa okcidenta lingvo"
::* actual result: "{{#invoke:lili|ek|apw|mon=lu}}"
{{hr3}} <!-------------------------------->
:::: raw, force root or force AJ (short)
* #T20 (raw, force AJ from native SB)
* parameters: "|io|mon=aj"
* expected result: "ida"
* actual result: "{{#invoke:lili|ek|io|mon=aj}}"
::* #T21 (raw, force AJ from native AJ)
::* parameters: "|sv|mon=aj"
::* expected result: "sveda"
::* actual result: "{{#invoke:lili|ek|sv|mon=aj}}"
* #T22 ("sma|mon=aj", raw, force AJ from native AJ multiword)
* expected result: "samea suda"
* actual result: "{{#invoke:lili|ek|sma|mon=aj}}"
::* #T23 ("io|mon=sf", raw, force root from native SB)
::* expected result: "id" (note that this is langname "Ido", not langcode "id")
::* actual result: "{{#invoke:lili|ek|io|mon=sf}}"
* #T24 ("sv|mon=sf", raw, force root from native AJ)
* expected result: "sved"
* actual result: "{{#invoke:lili|ek|sv|mon=sf}}"
::* #T25 ("sma|mon=sf", raw, force root from native AJ multiword)
::* expected result: "samea sud" (useless)
::* actual result: "{{#invoke:lili|ek|sma|mon=sf}}"
* #T26 ("sv|mon=aj|fle=j", raw, force AJ and plural from native AJ)
* expected result: "svedaj"
* actual result: "{{#invoke:lili|ek|sv|mon=aj|fle=j}}"
::* #T27 ("sma|mon=aj|fle=j", raw, force AJ and plural from native AJ multiword)
::* expected result: "sameaj sudaj"
::* actual result: "{{#invoke:lili|ek|sma|mon=aj|fle=j}}"
* #T28 (raw, force AJ and plural from native SB)
* parameters: "|sa|mon=aj|fle=j"
* expected result: "sanskritaj"
* actual result: "{{#invoke:lili|ek|sa|mon=aj|fle=j}}"
::* #T29 (raw, force AJ and accusative plural from native AJ multiword)
::* parameters: "|se|mon=aj|fle=jn"
::* expected result: "sameajn nordajn"
::* actual result: "{{#invoke:lili|ek|se|mon=aj|fle=jn}}"
{{hr3}} <!-------------------------------->
:::: raw, force AV (short)
* #T30 (raw, force AV from native SB)
* parameters: "|io|mon=av"
* expected result: "ide"
* actual result: "{{#invoke:lili|ek|io|mon=av}}"
::* #T31 (raw, force AV from native AJ)
::* parameters: "|sv|mon=av"
::* expected result: "svede"
::* actual result: "{{#invoke:lili|ek|sv|mon=av}}"
* #T32 ("sma|mon=av", raw, force AV from native AJ multiword)
* expected result: "en la samea suda" (fake AV by PP "en", is useful again)
* actual result: "{{#invoke:lili|ek|sma|mon=av}}"
::* #T33 ("io|mon=av|maj=1", raw, force AV from native SB and uppercase)
::* expected result: "Ide"
::* actual result: "{{#invoke:lili|ek|io|mon=av|maj=1}}"
* #T34 ("sv|mon=av|maj=1", raw, force AV from native AJ and uppercase)
* expected result: "Svede"
* actual result: "{{#invoke:lili|ek|sv|mon=av|maj=1}}"
::* #T35 ("sma|mon=av|maj=1", raw, force AV from native AJ multiword and uppercase)
::* expected result: "En la samea suda" (fake AV by PP "en", is useful again)
::* actual result: "{{#invoke:lili|ek|sma|mon=av|maj=1}}"
{{hr3}} <!-------------------------------->
:::: raw, force AJ (long) or force AV (long) or ...ajxo
* #T40 (raw, ...lingva from native SB)
* parameters: "|io|mon=ga"
* expected result: "idlingva"
* actual result: "{{#invoke:lili|ek|io|mon=ga}}"
::* #T41 (raw, ...lingva accusative plural from native SB)
::* parameters: "|io|mon=ga|fle=jn"
::* expected result: "idlingvajn"
::* actual result: "{{#invoke:lili|ek|io|mon=ga|fle=jn}}"
{{hr3}} <!-------------------------------->
* #T50 ("eo|tip=LA", simple example, native SB)
* expected result: link to "Aldono:Esperanto" with text "Esperanto"
* actual result: "{{#invoke:lili|ek|eo|tip=LA}}"
::* #T51 ("ko|tip=LA", simple example, native AJ)
::* expected result: link to "Aldono:Korea" with text "korea" (note the letter case)
::* actual result: "{{#invoke:lili|ek|ko|tip=LA}}"
* #T52 ("eo|tip=LK", simple example, native SB)
* expected result: link to "Kategorio:Esperanto" with hidden colon ":" and visible text "Esperanto"
* actual result: "{{#invoke:lili|ek|eo|tip=LK}}"
* actual result via debu: "{{debu|{{#invoke:lili|ek|eo|tip=LK}}|outctl=nw}}"
::* #T53 ("ko|tip=LK", simple example, native AJ)
::* expected result: link to "Kategorio:Korea" with hidden colon ":" and visible text "korea"
::* actual result: "{{#invoke:lili|ek|ko|tip=LK}}"
::* actual result via debu: "{{debu|{{#invoke:lili|ek|ko|tip=LK}}|outctl=nw}}"
* #T54 ("sma|tip=LK|mon=aj|fle=j", force AJ and plural from native AJ multiword)
* expected result: link to "Kategorio:Samea suda" with hidden colon ":" and visible text "sameaj sudaj"
* actual result: "{{#invoke:lili|ek|sma|tip=LK|mon=aj|fle=j}}"
* actual result via debu: "{{debu|{{#invoke:lili|ek|sma|tip=LK|mon=aj|fle=j}}|outctl=nw}}"
{{hr3}} <!-------------------------------->
* #T60 ("vo|tip=KE", simple example, native SB)
* expected result: below cat insertion "Kategorio:Volapuko"
* actual result: "{ {#invoke:lili|ek|vo|tip=KE} }" (blocked)
* actual result via debu: "{{debu|{{#invoke:lili|ek|vo|tip=KE}}|outctl=nw}}"
::* #T61 ("ko|tip=KE", simple example, native AJ)
::* expected result: below cat insertion "Kategorio:Korea"
::* actual result: "{ {#invoke:lili|ek|ko|tip=KE} }" (blocked)
::* actual result via debu: "{{debu|{{#invoke:lili|ek|ko|tip=KE}}|outctl=nw}}"
* #T62 ("ia|tip=KE|hin=Fivortaro", native SB, supply cat name and use hint)
* expected result: below cat insertion "Kategorio:Fivortaro" with hint "interlingvao"
* actual result: "{ {#invoke:lili|ek|ia|tip=KE|hin=Fivortaro} }" (blocked)
* actual result via debu: "{{debu|{{#invoke:lili|ek|ia|tip=KE|hin=Fivortaro}}|outctl=nw}}"
::* #T63 ("ko|tip=KE|hin=Fivortaro", native AJ, supply cat name and use hint)
::* expected result: below cat insertion "Kategorio:Fivortaro" with hint "korea"
::* actual result: "{ {#invoke:lili|ek|ko|tip=KE|hin=Fivortaro} }" (blocked)
::* actual result via debu: "{{debu|{{#invoke:lili|ek|ko|tip=KE|hin=Fivortaro}}|outctl=nw}}"
{{hr3}} <!-------------------------------->
* note that tests #T42 ... #T44 and #T60 ... #T63 depend on "debu"
* note that tests #T60 ... #T63 cannot be reasonably executed on the docs subpage without help of "pate" or "debu"
{{hr3}} <!-------------------------------->
]===]
local exporttable = {}
require('strict')
-- ***********************
-- * CONSTANTS [O] * ---------------------------------------------
-- ***********************
-- uncommentable EO vs ID constant strings (core site-related features)
local constringvoj = "Modulo:loaddata-tbllingvoj" -- EO
-- local constringvoj = "Modul:loaddata-tblbahasa" -- ID
-- constant table -- ban list -- add obviously invalid access codes (2-letter or 3-letter) only
-- length of the list is NOT stored anywhere, the processing stops
-- when type "nil" is encountered, used by "lfivalidatelnkoadv" only
-- controversial codes (sh sr hr), (zh cmn)
-- "en.wiktionary.org/wiki/Wiktionary:Language_treatment" excluded languages
-- "en.wikipedia.org/wiki/Spurious_languages"
-- "iso639-3.sil.org/code/art" only valid in ISO 639-2
-- "iso639-3.sil.org/code/gem" only valid in ISO 639-2 and 639-5, "collective"
-- "iso639-3.sil.org/code/zxx" "No linguistic content"
local contabisbanned = {}
contabisbanned = {'by','dc','ll','jp','art','deu','eng','epo','fra','gem','ger','ido','lat','por','rus','spa','swe','tup','zxx'} -- 1...19
-- surrogate transcoding table
local contabtransluteo = {}
contabtransluteo[ 67] = 0xC488 -- CX
contabtransluteo[ 99] = 0xC489 -- cx
contabtransluteo[ 71] = 0xC49C -- GX
contabtransluteo[103] = 0xC49D -- gx
contabtransluteo[ 74] = 0xC4B4 -- JX
contabtransluteo[106] = 0xC4B5 -- jx
contabtransluteo[ 83] = 0xC59C -- SX
contabtransluteo[115] = 0xC59D -- sx
contabtransluteo[ 85] = 0xC5AC -- UX breve
contabtransluteo[117] = 0xC5AD -- ux breve
-- constant table (error circumfixes)
local contabfel = {}
contabfel.mibg = '<span class="error">' -- mini whining begin
contabfel.labg = '<b>' .. contabfel.mibg -- lagom whining begin
contabfel.hubg = '<big>' .. contabfel.labg -- huge whining begin
contabfel.mien = '</span>' -- mini whining end
contabfel.laen = contabfel.mien .. '</b>' -- lagom whining end
contabfel.huen = contabfel.laen .. '</big>' -- huge whining end
-- uncommentable EO vs ID constant table
-- * #E02...#E98, holes permitted, #E00...#E12 globally reserved
-- * note that #E00 #E01 #E99 are NOT supposed to be included here
-- * separate "strmparent" (full) needed for "%@"
local contaberaroj = {}
contaberaroj[02] = 'Malica eraro en subprogramaro uzata far %@' -- EO #E02
-- contaberaroj[02] = 'Kesalahan jahat dalam subprogram digunakan oleh %@' -- ID #E02
contaberaroj[03] = 'Nombrigita eraro en subprogramaro uzata far %@' -- EO #E03
-- contaberaroj[03] = 'Kesalahan ternomor dalam subprogram digunakan oleh %@' -- ID #E03
contaberaroj[08] = 'Erara uzo de %@, kvanto da anonimaj parametroj, legu gxian dokumentajxon' -- EO #E08
-- contaberaroj[08] = 'Penggunaan salah %@, jumlah parameter anonim, bacalah dokumentasinya' -- ID #E08
contaberaroj[09] = 'Erara uzo de %@, malbona longo de signocxeno en anonima parametro' -- EO #E09
-- contaberaroj[09] = 'Penggunaan salah %@, panjang string parameter anonim salah' -- ID #E09
contaberaroj[14] = 'Nevalida baza tipo "tip=" en %@' -- EO #E14
-- contaberaroj[14] = 'Tipe dasar salah "tip=" di %@' -- ID #E14
contaberaroj[15] = 'Nevalida signocxeno "hin=" "prf=" "err=" en %@' -- EO #E15
-- contaberaroj[15] = 'String salah "hin=" "prf=" "err=" di %@' -- ID #E15
contaberaroj[16] = 'Parametro "mon=" ne uzeblas por baza tipo "KE" kategorienmeto en %@' -- EO #E16
-- contaberaroj[16] = 'Parameter "mon=" tidak dapat digunakan untuk tip dasar "KE" pengategorian di %@' -- ID #E16
contaberaroj[17] = 'Io nevalida "mon=" en %@' -- EO #E17
-- contaberaroj[17] = 'Apa-apa salah "mon=" di %@' -- ID #E17
contaberaroj[24] = 'Erara uzo de %@ pro konflikto de parametroj, fleksio' -- EO #E24
-- contaberaroj[24] = 'Penggunaan salah %@ oleh karena konflik parameter, infleksi' -- ID #E24
contaberaroj[25] = 'Erara uzo de %@ pro cetera konflikto de parametroj' -- EO #E25
-- contaberaroj[25] = 'Penggunaan salah %@ oleh karena konflik parameter lain' -- ID #E25
contaberaroj[27] = 'Erara uzo de %@ pro parametroj' -- EO #E27
-- contaberaroj[27] = 'Penggunaan salah %@ oleh karena parameter' -- ID #E27
-- uncommentable EO vs ID constant strings (misc)
local constrevid = "evidente nevalida lingvokodo" -- EO replacement
-- local constrevid = "kode bahasa jelas-jelas salah" -- ID replacement
local constrneli = "nekonata lingvokodo" -- EO replacement
-- local constrneli = "kode bahasa tidak dikenal" -- ID replacement
-- constant table (3 integers for preliminary parameter check)
local contabparam = {}
contabparam[0] = 1 -- minimal number of anon parameters
contabparam[1] = 1 -- maximal number of anon parameters
contabparam[2] = 200 -- maximal length of single para (min is hardcoded as ONE)
-- constant tables "tip=" "mon="
local contabtiptyper = {['LA']=1,['LK']=2,['KE']=3,['AR']=4}
local contabmontyper = {['la']=1,['li']=2,['lu']=3,['sf']=4,['aj']=5,['av']=6,['ga']=7,['ge']=8,['jx']=9} -- !!!FIXME!!! add ,['ko']=10,['pp']=11
-- constants to control behaviour from source AKA semi-hardcoded parameters
local conbookodlng = false -- "true" to allow long codes like "zh-min-nan"
local conboomiddig = false -- "true" to allow middle digit "s7a"
-- uncommentable (override)
-- * name of table MUST always be declared, OTOH elements are usually absent
-- * for testing only, values automatically peeked otherwise
local contabovrd = {}
-- contabovrd.sitelang = 'eo' -- "en"
-- contabovrd.sitelang = 'id'
-- contabovrd.katprefi = 'Kategorio' -- "Category"
-- contabovrd.katprefi = 'Kategori'
-- contabovrd.indprefi = 'Indekso' -- "Index"
-- contabovrd.indprefi = 'Indeks'
-- contabovrd.apxprefi = 'Aldono' -- "Appendix"
-- contabovrd.apxprefi = 'Lampiran'
-- contabovrd.defortrc = true -- force "detrc=true"
-- ****************************************
-- * SPECIAL STUFF OUTSIDE MAIN [B] * ----------------------------
-- ****************************************
-- SPECIAL VAR:S
local qldingvoj = {} -- type "table" and nested
local qbooguard = false -- only for the guard test, pass to other var ASAP
-- GUARD AGAINST INTERNAL ERROR AND IMPORT ONE VIA LOADDATA
qbooguard = (type(constringvoj)~='string')
if (not qbooguard) then
qldingvoj = mw.loadData(constringvoj) -- can crash here
qbooguard = (type(qldingvoj)~='table') -- seems to be always false
end--if
-- *****************************
-- * MATH PROCEDURES [E] * ---------------------------------------
-- *****************************
local function mathisintrange (numzjinput, numzjmin, numzjmax)
local booisclean = false -- preASSume guilt
if (type(numzjinput)=='number') then -- no non-numbers, thanks
if (numzjinput==math.floor(numzjinput)) then -- no transcendental
booisclean = ((numzjinput>=numzjmin) and (numzjinput<=numzjmax)) -- rang
end--if
end--if
return booisclean
end--function mathisintrange
local function mathdiv (xdividens, xdivisero)
local resultdiv = 0 -- DIV operator lacks in LUA :-(
resultdiv = math.floor (xdividens / xdivisero)
return resultdiv
end--function mathdiv
local function mathmod (xdividendo, xdivisoro)
local resultmod = 0 -- MOD operator is "%" and bitwise AND operator lack too
resultmod = xdividendo % xdivisoro
return resultmod
end--function mathmod
-- ******************************************
-- * NUMBER CONVERSION PROCEDURES [N] * --------------------------
-- ******************************************
local function prnnumto2digit (numzerotoninetynine)
-- Convert integer 0...99 to decimal ASCII string always 2 digits "00"..."99".
-- Depends on procedures :
-- [E] mathisintrange mathdiv mathmod
local strtwodig = '??' -- always 2 digits
if (mathisintrange(numzerotoninetynine,0,99)) then
strtwodig = tostring(mathdiv(numzerotoninetynine,10)) .. tostring(mathmod(numzerotoninetynine,10))
end--if
return strtwodig
end--function prnnumto2digit
-- *****************************************
-- * LOW LEVEL STRING PROCEDURES [G] * ---------------------------
-- *****************************************
local function prgstringrange (varvictim, nummini, nummaxi)
local nummylengthofstr = 0
local booveryvalid = false -- preASSume guilt
if (type(varvictim)=='string') then
nummylengthofstr = string.len(varvictim)
booveryvalid = ((nummylengthofstr>=nummini) and (nummylengthofstr<=nummaxi))
end--if
return booveryvalid
end--function prgstringrange
------------------------------------------------------------------------
local function prgpokestring (strinpokeout, numpokepoz, numpokeval)
-- Replace single octet in a string.
-- Input : * strinpokeout -- empty legal, but nothing done then
-- * numpokepoz -- ZERO-based, out of range legal
-- * numpokeval -- new UINT8 value
-- This is inefficient by design of LUA. The caller is responsible to
-- minimize the number of invocations of this, in particular, not to
-- call if the new value is equal the existing one.
local numpokelen = 0
numpokelen = string.len(strinpokeout)
if ((numpokelen==1) and (numpokepoz==0)) then
strinpokeout = string.char(numpokeval) -- totally replace
end--if
if (numpokelen>=2) then
if (numpokepoz==0) then
strinpokeout = string.char(numpokeval) .. string.sub(strinpokeout,2,numpokelen)
end--if
if ((numpokepoz>0) and (numpokepoz<(numpokelen-1))) then
strinpokeout = string.sub(strinpokeout,1,numpokepoz) .. string.char(numpokeval) .. string.sub(strinpokeout,(numpokepoz+2),numpokelen)
end--if
if (numpokepoz==(numpokelen-1)) then
strinpokeout = string.sub(strinpokeout,1,numpokepoz) .. string.char(numpokeval)
end--if
end--if (numpokelen>=2) then
return strinpokeout
end--function prgpokestring
------------------------------------------------------------------------
-- test whether char is an ASCII digit "0"..."9", return boolean
local function prgtestnum (numkaad)
local boodigit = false
boodigit = ((numkaad>=48) and (numkaad<=57))
return boodigit
end--function prgtestnum
------------------------------------------------------------------------
-- test whether char is an ASCII uppercase letter, return boolean
local function prgtestuc (numkode)
local booupperc = false
booupperc = ((numkode>=65) and (numkode<=90))
return booupperc
end--function prgtestuc
------------------------------------------------------------------------
-- test whether char is an ASCII lowercase letter, return boolean
local function lfgtestlc (numcode)
local boolowerc = false
boolowerc = ((numcode>=97) and (numcode<=122))
return boolowerc
end--function lfgtestlc
------------------------------------------------------------------------
local function prgtestvowel (numonechaar)
-- Test whether char is a vowel, return tristate, ZERO no
-- vowel, ONE (e i u), TWO (a o).
local numtrivowel = 0
if (numonechaar>=96) then
numonechaar = numonechaar - 32
end--if
if ((numonechaar==69) or (numonechaar==73) or (numonechaar==85)) then
numtrivowel = 1
end--if
if ((numonechaar==65) or (numonechaar==79)) then
numtrivowel = 2
end--if
return numtrivowel
end--function prgtestvowel
-- *****************************
-- * UTF8 PROCEDURES [U] * ---------------------------------------
-- *****************************
local function prulnutf8char (numbgoctet)
-- Evaluate length of a single UTF8 char in octet:s.
-- Input : * numbgoctet -- beginning octet of a UTF8 char
local numlen1234x = 0
if (numbgoctet<128) then
numlen1234x = 1 -- $00...$7F
end--if
if ((numbgoctet>=194) and (numbgoctet<=223)) then
numlen1234x = 2 -- $C2 to $DF
end--if
if ((numbgoctet>=224) and (numbgoctet<=239)) then
numlen1234x = 3 -- $E0 to $EF
end--if
if ((numbgoctet>=240) and (numbgoctet<=244)) then
numlen1234x = 4 -- $F0 to $F4
end--if
return numlen1234x
end--function prulnutf8char
------------------------------------------------------------------------
local function prusrcasepairrest (strmy4set, num16val4in)
-- Search pair of undecoded UTF8 values (UPPER, lower) based on
-- ONE value (unrolled loop).
-- Input : * strmy4set -- "eo" or "sv" or "GENE" (no "ASCII" here)
-- * num16val4in -- undecoded UINT16BE value, $C200 ... $DEFF
-- Output : * num16upper, num16lower -- both -1 if nothing found
-- This obeys UTF8UT.TXT .
-- Called from PRUCOMPAREUTF8WCI PRUTRISTULETR PRUCASEAIOREST PRUCASEAIOFULL
-- PRUCOMPARECIBEGIN PRICASEADVJAEM2AL PRICASEADVJAEMFBAL PRICASEADVJAEM2FB.
-- This is useful for UTF8-aware:
-- * adjusting a single letter or text to UPPER or lower case
-- * finding out whether a char is UPPER letter, lower letter, or non-letter
-- * efficient case insensitive comparison (do NOT call this if at least
-- one char is within the ASCII range, or two chars are equal even without
-- case insensitivity)
local num16upper = -1 -- preASSume nothing found
local num16lower = -1 -- preASSume nothing found
local function xxxdicompare (xxxupper, xxxlower) -- only 3 upvalues used
local xxxfound = false -- preASSume no hit
if ((num16val4in==xxxupper) or (num16val4in==xxxlower)) then
num16upper = xxxupper
num16lower = xxxlower
xxxfound = true
end--if
return xxxfound
end--function xxxdicompare
while true do -- fake loop
if ((strmy4set~='eo') and (strmy4set~='GENE')) then
break -- do NOT check
end--if
if (xxxdicompare(0xC488,0xC489)) then
break -- found it
end--if
if (xxxdicompare(0xC49C,0xC49D)) then
break -- found it
end--if
if (xxxdicompare(0xC4A4,0xC4A5)) then
break -- found it
end--if
if (xxxdicompare(0xC4B4,0xC4B5)) then
break -- found it
end--if
if (xxxdicompare(0xC59C,0xC59D)) then
break -- found it
end--if
if (xxxdicompare(0xC5AC,0xC5AD)) then
break -- found it
end--if
break -- finally
end--while -- fake loop
while true do -- fake loop
if ((strmy4set~='sv') and (strmy4set~='GENE')) then
break -- do NOT check
end--if
if (xxxdicompare(0xC384,0xC3A4)) then
break -- found it
end--if
if (xxxdicompare(0xC385,0xC3A5)) then
break -- found it
end--if
if (xxxdicompare(0xC389,0xC3A9)) then
break -- found it
end--if
if (xxxdicompare(0xC396,0xC3B6)) then
break -- found it
end--if
break -- finally
end--while -- fake loop
return num16upper, num16lower
end--function prusrcasepairrest
------------------------------------------------------------------------
local function prutristletr (strsel4set, strin4trist)
-- Evaluate char to tristate result (no letter vs uppercase letter
-- vs lowercase letter) within defined charset (ASCII + selectable
-- extra subset of UTF8).
-- Input : * strsel4set : "ASCII" (default, empty string or type "nil"
-- will do too) "eo" "sv" (value "GENE" NOT here)
-- * strin4trist : single unicode char (1 or 2 octet:s) or
-- longer string
-- Output : * numtype4x : 0 no letter or invalid UTF8 -- 1 upper -- 2 lower
-- Depends on procedures : (this is prutristletr)
-- [U] prulnutf8char prusrcasepairrest
-- [G] prgtestuc lfgtestlc
-- Possible further char:s or fragments of such are disregarded, the
-- question answered is "Is there one uppercase or lowercase letter
-- available at begin?".
local numlong4den = 0 -- actual length of input string
local numcxa4unde = 0 -- undecoded UINT16BE of incoming
local numw4upper = 0 -- undecoded UINT16BE of found lower
local numw4lower = 0 -- undecoded UINT16BE of found UPPER
local numlong4bor = 0 -- expected length of single char
local numcha4r = 0 -- UINT8 beginning char
local numcha4s = 0 -- UINT8 later char (BIG ENDIAN, lower value here above)
local numtype4x = 0 -- final result to be returned, preASSume invalid
while true do -- fake loop -- this is prutristletr
numlong4den = string.len (strin4trist)
if (numlong4den==0) then
break -- bad string length
end--if
numcha4r = string.byte (strin4trist,1,1)
numlong4bor = prulnutf8char(numcha4r)
if ((numlong4bor==0) or (numlong4den<numlong4bor)) then
break -- truncated char or invalid
end--if
if (numlong4bor==1) then
if (prgtestuc(numcha4r)) then
numtype4x = 1
end--if
if (lfgtestlc(numcha4r)) then
numtype4x = 2
end--if
break -- success ASCII
end--if
if (numlong4bor==2) then
numcha4s = string.byte (strin4trist,2,2) -- only $80 to $BF cannot ovrfl
numcxa4unde = numcha4r * 256 + numcha4s -- UINT16BE
numw4upper, numw4lower = prusrcasepairrest (strsel4set,numcxa4unde)
if (numcxa4unde==numw4upper) then
numtype4x = 1
end--if
if (numcxa4unde==numw4lower) then
numtype4x = 2
end--if
end--if
break -- finally
end--while -- fake loop -- join mark
return numtype4x
end--function prutristletr
------------------------------------------------------------------------
local function prucaseaiorest (strsel5set, strinco6cs, boowup6cas, boodo6all)
-- Adjust case of a single letter or longer string within defined
-- charset (ASCII + selectable minimal subset of UTF8). (this is REST)
-- Input : * strsel5set : "ASCII" (default, empty string or type "nil"
-- will do too) "eo" ...
-- * strinco6cs : single unicode letter (1 or 2 octet:s) or
-- longer string
-- * boowup6cas : for desired output uppercase "true" and for
-- lowercase "false"
-- * boodo6all : "true" to adjust all letters, "false"
-- only beginning letter
-- Output : * strinco6cs
-- Depends on procedures : (this is REST)
-- [U] prulnutf8char prusrcasepairrest
-- [G] prgpokestring prgtestuc lfgtestlc
-- This process never changes the length of a string in octet:s. Empty string
-- on input is legal and results in an empty string returned. When case is
-- adjusted, a 1-octet or 2-octet letter is replaced by another letter of same
-- length. Unknown seemingly valid char:s (1-octet ... 4-octet) are copied.
-- Broken UTF8 stream results in remaining part of the output string (from
-- one char to complete length of the incoming string) filled by "Z".
-- We peek max 2 values per iteration, and change the string in-place, doing
-- so strictly only if there indeed is a change. This is important for LUA
-- where the in-place write access must be emulated by means of a less
-- efficient procedure.
local numlong6den = 0 -- actual length of input string
local numokt6index = 0
local numcxa6unde = 0 -- undecoded UINT16BE of incoming
local numw6upper = 0 -- undecoded UINT16BE of found lower
local numw6lower = 0 -- undecoded UINT16BE of found UPPER
local numlong6bor = 0 -- expected length of single char
local numdel6ta = 0 -- quasi-signed ZERO or +1 or -1 or +32 or -32 or other
local numcha6r = 0 -- UINT8 beginning char
local numcha6s = 0 -- UINT8 later char (BIG ENDIAN, lower value here above)
local boowan5tlowr = false
local boodo6adj = true -- preASSume innocence -- continue changing
local boobotch6d = false -- preASSume innocence -- NOT yet botched
boowup6cas = (boowup6cas==true)
boodo6all = (boodo6all==true)
boowan5tlowr = (not boowup6cas)
numlong6den = string.len (strinco6cs)
while true do -- outer genuine loop over incoming string (this is REST)
if (numokt6index>=numlong6den) then
break -- done complete string
end--if
if ((not boodo6all) and (numokt6index~=0)) then -- loop can skip index ONE
boodo6adj = false
end--if
numdel6ta = 0 -- preASSume on every iteration
numlong6bor = 1 -- preASSume on every iteration
while true do -- inner fake loop (this is REST)
numcha6r = string.byte (strinco6cs,(numokt6index+1),(numokt6index+1))
if (boobotch6d) then
numdel6ta = 90 - numcha6r -- "Z" -- delta must be non-ZERO to write
break -- fill with "Z" char:s
end--if
if (not boodo6adj) then
break -- copy octet after octet
end--if
numlong6bor = prulnutf8char(numcha6r) -- now 1 ... 4 or ZERO
if ((numlong6bor==0) or ((numokt6index+numlong6bor)>numlong6den)) then
numlong6bor = 1 -- reassign to ONE !!!
numdel6ta = 90 - numcha6r -- "Z" -- delta must be non-ZERO to write
boobotch6d = true
break -- truncated char or broken stream
end--if
if (numlong6bor>=3) then
break -- copy UTF8 char, no chance for adjustment
end--if
if (numlong6bor==1) then
if (prgtestuc(numcha6r) and boowan5tlowr) then
numdel6ta = 32 -- ASCII UPPER->lower
end--if
if (lfgtestlc(numcha6r) and boowup6cas) then
numdel6ta = -32 -- ASCII lower->UPPER
end--if
break -- success with ASCII and one char almost done
end--if (numlong6bor==1) then
if (numlong6bor==2) then
numcha6s = string.byte (strinco6cs,(numokt6index+2),(numokt6index+2)) -- only $80 to $BF
numcxa6unde = numcha6r * 256 + numcha6s -- UINT16BE
numw6upper, numw6lower = prusrcasepairrest (strsel5set,numcxa6unde)
if ((numcxa6unde==numw6upper) and boowan5tlowr) then
numdel6ta = numw6lower-numw6upper -- UPPER->lower
end--if
if ((numcxa6unde==numw6lower) and boowup6cas) then
numdel6ta = numw6upper-numw6lower -- lower->UPPER
end--if
end--if (numlong6bor==2) then
break -- finally -- unknown non-ASCII char is a fact :-(
end--while -- inner fake loop -- join mark (this is REST)
if ((numlong6bor==1) and (numdel6ta~=0)) then -- no risk of carry here
strinco6cs = prgpokestring (strinco6cs,numokt6index,(numcha6r+numdel6ta))
end--if
if ((numlong6bor==2) and (numdel6ta~=0)) then -- no risk of carry here
strinco6cs = prgpokestring (strinco6cs,(numokt6index+1),(numcha6s+numdel6ta))
end--if
numokt6index = numokt6index + numlong6bor -- advance in incoming string
end--while -- outer genuine loop over incoming string (this is REST)
return strinco6cs
end--function prucaseaiorest
-- *******************************************
-- * HIGH LEVEL STRING PROCEDURES [I2] * -------------------------
-- *******************************************
local function pribrewcathint (strsignaro, strhinthink, bookeepuk)
-- Brew sorting hint/key for wiki category by lowering all letters and
-- removing junk chars other than known letters and numbers. All ASCII and
-- selected non-ASCII letters do count as such. Particularly ban spaces
-- and dashes. Controllably UTF8-aware.
-- Input : * strsignaro -- "ASCII" (default, empty string or type "nil"
-- will do too) "eo" NOPE "sv" NOPE "GENE"
-- * strhinthink -- empty is useless but cannot
-- cause major harm
-- * bookeepuk -- keep unknown non-ASCII (by default dropped
-- for sets other than "GENE", whereas NOPE
-- for "GENE" always kept)
-- Output : * strhasiil -- risk of empty
-- Depends on procedures : (restricted prucaseaiorest)
-- [U] prulnutf8char prusrcasepairrest prutristletr prucaseaiorest
-- [G] prgpokestring prgtestnum prgtestuc lfgtestlc
-- Simplified strategy:
-- * numbers unchanged
-- * ASCII lowercase unchanged
-- * ASCII uppercase lowered
-- * unknown non-ASCII dropped (NOPE for sets other than "GENE")
-- unless bookeepuk is true
-- * non-ASCII sent to case procedure with attempt to lower
-- * everything else dropped
-- * broken stream aborts and gives empty result
local strhasiil = ''
local strnew7char = ''
local numstrleon = 0
local numeindx = 1 -- ONE-based
local numczaar = 0
local numczanx = 0 -- pre-picked next char
local numettfyra = 0
numstrleon = string.len (strhinthink)
while true do -- outer genuine loop over source string
if (numeindx>numstrleon) then
break -- empty input is useless but cannot cause major harm
end--if
numczaar = string.byte (strhinthink,numeindx,numeindx)
numeindx = numeindx + 1 -- do INC here
numettfyra = prulnutf8char (numczaar) -- 1...4 or ZERO on error
if (numettfyra==0) then
strhasiil = ''
break -- broken stream -> bugger all -- exit outer loop
end--if
numczanx = 0 -- preASSume none
if (numeindx<=numstrleon) then -- pick but do NOT INC
numczanx = string.byte (strhinthink,numeindx,numeindx)
end--if
while true do -- inner fake loop
if (numettfyra==1) then
if (prgtestnum(numczaar) or lfgtestlc(numczaar)) then
strnew7char = string.char (numczaar)
break -- numbers and ASCII lowercase pass unchanged
end--if
if (prgtestuc(numczaar)) then
strnew7char = string.char (numczaar+32) -- lower ASCII letter
break -- lower it
end--if
end--if (numettfyra==1) then
if ((numettfyra==2) and ((strsignaro=='eo') or (strsignaro=='sv') or (strsignaro=='GENE'))) then
strnew7char = string.char(numczaar,numczanx) -- preASSume unchanged
if ((not bookeepuk) and (strsignaro~='GENE')) then -- drop unknown
if (prutristletr(strsignaro,strnew7char)==0) then -- no known letter
strnew7char = '' -- discard char
break
end--if
end--if
strnew7char = prucaseaiorest (strsignaro,strnew7char,false,false)
break -- done with lowercased or unchanged char
end--if ((numettfyra==2) and ...
strnew7char = '' -- anything else -> discard char
break -- finally to join mark
end--while -- inner fake loop -- join mark
strhasiil = strhasiil .. strnew7char -- ASCII char or UTF8 char or ""
numeindx = numeindx + numettfyra - 1 -- do ADD here
end--while
return strhasiil
end--function pribrewcathint
-- ******************************************* high-level validation
-- * HIGH LEVEL STRING PROCEDURES [I3] * ------------------------
-- ******************************************* of strings
local function lfivalidatelnkoadv (strqooq, booyesdsh, booyesqst, booloonkg, boodigit, boonoban)
-- Advanced test whether a string (intended to be a langcode) is valid
-- containing only 2 or 3 lowercase letters, or 2...10 char:s and with some
-- dashes, or maybe a digit in middle position or maybe instead equals to "-"
-- or "??" and maybe additionally is not included on the ban list.
-- Input : * strqooq -- string (empty is useless and returns
-- "true" ie "bad" but cannot cause any major harm)
-- * booyesdsh -- "true" to allow special code dash "-"
-- * booyesqst -- "true" to allow special code doublequest "??"
-- * booloonkg -- "true" to allow long codes such as "zh-min-nan"
-- * boodigit -- "true" to allow digit in middle position
-- * boonoban -- (inverted) "true" to skip test against ban table
-- Output : * booisvaladv -- true if string is valid
-- Depends on procedures :
-- [G] prgtestnum lfgtestlc
-- Depends on constants :
-- * table "contabisbanned"
-- Incoming empty string is safe but type "nil" is NOT.
-- Digit is tolerable only ("and" applies):
-- * if boodigit is "true"
-- * if length is 3 char:s
-- * in middle position
-- Dashes are tolerable (except in special code "-") only ("and" applies):
-- * if length is at least 4 char:s (if this is permitted at all)
-- * in inner positions
-- * NOT adjacent
-- * maximally TWO totally
-- There may be maximally 3 adjacent letters, this makes at least ONE dash
-- obligatory for length 4...7, and TWO dashes for length 8...10.
local varomongkosong = 0 -- for check against the ban list
local numchiiar = 0
local numukurran = 0
local numindeex = 0 -- ZERO-based -- two loops
local numadjlet = 0 -- number of adjacent letters (max 3)
local numadjdsh = 0 -- number of adjacent dashes (max 1)
local numtotdsh = 0 -- total number of dashes (max 2)
local booislclc = false
local booisdigi = false
local booisdash = false
local booisvaladv = true -- preASSume innocence -- later final verdict here
while true do -- outer fake loop
if (strqooq=='-') then
booisvaladv = booyesdsh
break -- to join mark -- good or bad
end--if
if (strqooq=='??') then
booisvaladv = booyesqst
break -- to join mark -- good or bad
end--if
numukurran = string.len (strqooq)
if ((numukurran<2) or (numukurran>10)) then
booisvaladv = false
break -- to join mark -- evil
end--if
if (not booloonkg and (numukurran>3)) then
booisvaladv = false
break -- to join mark -- evil
end--if
numindeex = 0
while true do -- inner genuine loop over char:s
if (numindeex>=numukurran) then
break -- done -- good
end--if
numchiiar = string.byte (strqooq,(numindeex+1),(numindeex+1))
booisdash = (numchiiar==45)
booisdigi = prgtestnum(numchiiar)
booislclc = lfgtestlc(numchiiar)
if (not (booislclc or booisdigi or booisdash)) then
booisvaladv = false
break -- to join mark -- inherently bad char
end--if
if (booislclc) then
numadjlet = numadjlet + 1
else
numadjlet = 0
end--if
if (booisdigi and ((numukurran~=3) or (numindeex~=1) or (not boodigit))) then
booisvaladv = false
break -- to join mark -- illegal digit
end--if
if (booisdash) then
if ((numukurran<4) or (numindeex==0) or ((numindeex+1)==numukurran)) then
booisvaladv = false
break -- to join mark -- illegal dash
end--if
numadjdsh = numadjdsh + 1
numtotdsh = numtotdsh + 1 -- total
else
numadjdsh = 0 -- do NOT zeroize the total !!!
end--if
if ((numadjlet>3) or (numadjdsh>1) or (numtotdsh>2)) then
booisvaladv = false
break -- to join mark -- evil
end--if
numindeex = numindeex + 1 -- ZERO-based
end--while -- inner genuine loop over char:s
if (not boonoban) then -- if "yesban" then
numindeex = 0
while true do -- lower inner genuine loop
varomongkosong = contabisbanned[numindeex+1] -- number of elem unknown
if (type(varomongkosong)~='string') then
break -- abort inner loop (then outer fake loop) due to end of table
end--if
numukurran = string.len (varomongkosong)
if ((numukurran<2) or (numukurran>3)) then
break -- abort inner loop (then outer fake loop) due to faulty table
end--if
if (strqooq==varomongkosong) then
booisvaladv = false
break -- abort inner loop (then outer fake loop) due to violation
end--if
numindeex = numindeex + 1 -- ZERO-based
end--while -- lower inner genuine loop
end--if (not boonoban) then
break -- finally
end--while -- outer fake loop -- join mark
return booisvaladv
end--function lfivalidatelnkoadv
-- ******************************************* placeholderism
-- * HIGH LEVEL STRING PROCEDURES [I7] * -------------------------
-- *******************************************
local function pripl2altwre (strbeforfill, numaskikodo, varsupstitu)
-- Process all anon and fixed placeholders "%@" or "%~".
-- Input : * strbeforfill -- request string with placeholders to be filled
-- in, no placeholders or empty input is useless
-- but cannot cause major harm
-- * numaskikodo -- ASCII code of placeholder type, 64 for "%@" or
-- 126 for "%~"
-- * varsupstitu -- substitute, either string (same content reused
-- if multiple placeholders), or ZERO-based table
-- (with one element per placeholder such as
-- {[0]="none","neniu"}), length 1...80, further
-- sanitization must be done elsewhere
-- Output : * strafterfill
-- Depends on procedures :
-- [G] prgstringrange
local varpfiller = 0 -- risky picking
local strufiller = '' -- final validated filler
local strafterfill = ''
local numlenbigtext = 0 -- len of strbeforfill
local numsfrcindex = 0 -- char index ZERO-based
local numinsrtinde = 0 -- index in table ZERO-based
local numtecken0d = 0
local numtecken1d = 0
numlenbigtext = string.len (strbeforfill)
while true do
if (numsfrcindex>=numlenbigtext) then
break -- empty input is useless but cannot cause major harm
end--if
numtecken0d = string.byte(strbeforfill,(numsfrcindex+1),(numsfrcindex+1))
numsfrcindex = numsfrcindex + 1 -- INC here
numtecken1d = 0 -- preASSume none
if (numsfrcindex<numlenbigtext) then -- pick but do NOT INC
numtecken1d = string.byte(strbeforfill,(numsfrcindex+1),(numsfrcindex+1))
end--if
if ((numtecken0d==37) and (numtecken1d==numaskikodo)) then -- "%@" "%~"
numsfrcindex = numsfrcindex + 1 -- INC more, now totally + 2
varpfiller = 0 -- preASSume nothing available
strufiller = '??' -- preASSume nothing available
if (type(varsupstitu)=='string') then
varpfiller = varsupstitu -- take it as-is (length check below)
end--if
if (type(varsupstitu)=='table') then
varpfiller = varsupstitu [numinsrtinde] -- risk of type "nil"
numinsrtinde = numinsrtinde + 1 -- INC tab index on every placeholder
end--if
if (prgstringrange(varpfiller,1,80)) then -- restrict
strufiller = varpfiller -- now the substitute is finally accepted
end--if
else
strufiller = string.char (numtecken0d) -- no placeholder -> copy octet
end--if
strafterfill = strafterfill .. strufiller -- add one of 4 possible cases
end--while
return strafterfill
end--function pripl2altwre
-- ******************************************* ASCII-encoding
-- * HIGH LEVEL STRING PROCEDURES [I5] * -------------------------
-- *******************************************
local function prikodeosg (streosurr)
-- Transcode eo X-surrogates to cxapeloj in a single string (eo only).
-- Input : * streosurr -- ANSI string (empty is useless but cannot
-- cause major harm)
-- Output : * strutf8eo -- UTF8 string
-- Depends on procedures :
-- [E] mathdiv mathmod
-- Depends on constants :
-- * table "contabtransluteo" inherently holey
-- To be called ONLY from "prhrecusurrstrtab".
-- * the "x" in a surr pair is case insensitive,
-- for example both "kacxo" and "kacXo" give same result
-- * avoid "\", thus for example "ka\cxo" would get converted but the "\" kept
-- * double "x" (both case insensitive) prevents conversion and becomes
-- reduced to single "x", for example "kacxxo" becomes "kacxo"
local vareopeek = 0
local strutf8eo = ''
local numeoinplen = 0
local numinpinx = 0 -- ZERO-based source index
local numknar0k = 0 -- current char
local numknaf1x = 0 -- next char (ZERO is NOT valid)
local numknaf2x = 0 -- post next char (ZERO is NOT valid)
local boonext1x = false
local boonext2x = false
local boosudahdone = false
numeoinplen = string.len(streosurr)
while true do
if (numinpinx>=numeoinplen) then
break
end--if
numknar0k = string.byte(streosurr,(numinpinx+1),(numinpinx+1))
numknaf1x = 0 -- preASSume no char
numknaf2x = 0 -- preASSume no char
if ((numinpinx+1)<numeoinplen) then
numknaf1x = string.byte(streosurr,(numinpinx+2),(numinpinx+2))
end--if
if ((numinpinx+2)<numeoinplen) then
numknaf2x = string.byte(streosurr,(numinpinx+3),(numinpinx+3))
end--if
boonext1x = ((numknaf1x==88) or (numknaf1x==120)) -- case insensitive
boonext2x = ((numknaf2x==88) or (numknaf2x==120)) -- case insensitive
boosudahdone = false
if (boonext1x and boonext2x) then -- got "xx"
strutf8eo = strutf8eo .. string.char(numknar0k,numknaf1x) -- keep one "x" only
numinpinx = numinpinx + 3 -- eaten 3 written 2
boosudahdone = true
end--if
if (boonext1x and (not boonext2x)) then -- got yes-"x" and no-"x"
vareopeek = contabtransluteo[numknar0k] -- UINT16 or type "nil"
if (type(vareopeek)=='number') then
strutf8eo = strutf8eo .. string.char(mathdiv(vareopeek,256),mathmod(vareopeek,256)) -- add UTF8 char
numinpinx = numinpinx + 2 -- eaten 2 written 2
boosudahdone = true
end--if
end--if
if (not boosudahdone) then
strutf8eo = strutf8eo .. string.char(numknar0k) -- copy char
numinpinx = numinpinx + 1 -- eaten 1 written 1
end--if
end--while
return strutf8eo
end--function prikodeosg
-- ******************************************* language-specific
-- * HIGH LEVEL STRING PROCEDURES [I8] * -------------------------
-- ******************************************* processing
local function prieoakuplurest (strtyp26inf, str26term)
-- Accusativize or pluralize an Esperanto term (restricted version: no
-- stop words, no punctuation, no uppercase, no error checking).
-- Input : * strtyp26inf -- type of inflection "j" "n" "jn" must be lowercase
-- * str26term -- term in nominative singular form
-- Depends on procedures :
-- [G] prgtestnum prgtestvowel
-- Suffix added ONLY if there was at least one more vowel before the final
-- "a" or "o", this excludes words like "la" (article), "tra", "bo",
-- "po" (preposition or letter name), "sxo".
local str26outfo = '' -- we will rebuild it
local num26lon = 0
local num26plindex = 0 -- ZERO-based
local numu26char = 0
local numu26ches = 0
local boodontbother = false
local booendofword = false
local boovw26dig = false -- preASSume not yet had a vowel or digit in word
while true do -- outer fake loop -- this is PRIEOAKUPLUREST
num26lon = string.len (str26term)
while true do -- inner genuine loop
if (num26plindex>=num26lon) then
break -- done whole term
end--if
numu26char = string.byte (str26term,(num26plindex+1),(num26plindex+1))
num26plindex = num26plindex + 1 -- ZERO-based
str26outfo = str26outfo .. string.char(numu26char) -- copy ch in any case
boodontbother = (numu26char==32)
if (not boodontbother) then
booendofword = (num26plindex==num26lon) -- end of term is end of word
if (not booendofword) then -- one more chance
numu26ches = string.byte (str26term,(num26plindex+1),(num26plindex+1))
booendofword = (numu26ches==32)
end--if
if (booendofword) then -- maybe add suffix soon
if (boovw26dig and (prgtestvowel(numu26char)==2)) then
str26outfo = str26outfo .. strtyp26inf -- DO IT HERE
end--if
boovw26dig = false -- reset after having used it
else
boovw26dig = boovw26dig or prgtestnum(numu26char) or (prgtestvowel(numu26char)~=0)
end--if (booendofword) else
end--if (not boodontbother) then
end--while -- inner genuine loop
break -- finally
end--while -- outer fake loop -- join mark
return str26outfo
end--function prieoakuplurest
------------------------------------------------------------------------
local function prieovarlinnomfull (strlang29name, numtip29mon)
-- Vari langname in Esperanto to desired form (short, long with "la",
-- long with "lingvo", long with both, suffix "lingv" or "ajxo") and word
-- class (root, AJ, AV) (full).
-- Input : * strlang29name : such as "Ido" or "dana" or "samea suda"
-- * numtip29mon : 0 native (does nothing) -- 1 la (yes AJ, no SB)
-- -- 2 li (yes AJ, no SB) -- 3 lu (yes AJ, no SB)
-- -- 4 sf (root) -- 5 aj -- 6 av (genuine or
-- surrogate) -- 7 ga (...lingva) --
-- 8 ge (...lingve or surrogate) -- 9 jx (...ajxo)
-- [U] prulnutf8char prusrcasepairrest prucaseaiorest
-- [G] prgpokestring prgtestuc lfgtestlc prgtestvowel
-- Types 1 to 6:
-- * for types 1 "la" and 2 "li"
-- * we add the stuff to native AJ only, never to native SB
-- * for type 5 ie "aj"
-- * fails for "Malnova Volapuko"
-- * for type 6 ie "av"
-- * we change word class for a singleword SB langname
-- resulting in something like "ide"
-- * we change word class for a singleword AJ langname
-- resulting in something like "svede"
-- * we can add "la" to a multiword langname resulting in
-- something like "en la samea suda" or "en Malnova Volapuko"
-- Types 7 and 8:
-- * very short form (+ "a" or "e" only):
-- * root ending with "lingv":
-- * for example:
-- * translingva mul INDIVIDUAL EXCEPTIONª
-- * short form (+ "lingv" + "a" or "e"):
-- * root ending with "nd or "nt" (assuming before-before-last
-- is vowel, NOT checked):
-- * for example:
-- * nd -- nederlanda nl irlanda ga
-- * nt -- Esperanto eo Papiamento pap
-- * root ending with NOT two consonants:
-- * thus:
-- * last is vowel or before-last is vowel
-- * last is >=$80 and before-before-last is vowel (assuming
-- before-last is >=$80, NOT checked)
-- * for example:
-- * hx -- cxehxa cs
-- * l -- Okcidentalo ie karela krl bengala bl
-- * n -- bretona br
-- * r -- harara har
-- * v -- maldiva div java jv
-- * long form (+ "alingv" + "a" or "e"):
-- * root ending with "laux":
-- * for example:
-- * lauxa lo INDIVIDUAL EXCEPTION
-- * root ending with two consonants except "nt" or "nd":
-- * for example:
-- * gl angla en
-- * gr montenegra cnr
-- * hxj luhxja luy
-- * ksx moksxa mdf
-- * mr kimra cy
-- * ncx romancxa rm
-- * ngx njangxa ny
-- * nk evenka evn
-- * pt kopta cop
-- * rd lombarda lmo kurda ku
-- * sk euxska eu
-- * sn bosna bs
-- * tv latva lv
-- * zg lezga lez
-- strategy:
-- * check for "lingv" -> very short
-- * check for "laux" -> long
-- * check for "nd" "nt" -> short
-- * check for last is vowel or before-last is vowel -> short
-- * check for last is >=$80 and before-before-last is vowel -> short
-- * else -> long
local str29xtraroot = '' -- preASSume none
local numshort29long = 1 -- preASSume short
local boois29noun = false
local boomul29words = false
local booav29muwo = false -- adverb from multiple words
if ((numtip29mon>=1) and (numtip29mon<=9) and (string.len(strlang29name)>=3)) then
boois29noun = (string.byte(strlang29name,-1,-1)==111) -- "o"
boomul29words = (string.find(strlang29name,' ',1,true)~=nil) -- plain text
booav29muwo = ((numtip29mon==6) or (numtip29mon==8)) and boomul29words
if ((numtip29mon>=4) and (not booav29muwo)) then
strlang29name = prucaseaiorest ('eo',string.sub(strlang29name,1,-2),false,false) -- cut out root and lower it
end--if
if (((numtip29mon==1) or (numtip29mon==3)) and (not boois29noun)) then
strlang29name = 'la ' .. strlang29name -- well pluralizable elsewhere
end--if
if (((numtip29mon==2) or (numtip29mon==3)) and (not boois29noun)) then
strlang29name = strlang29name .. ' lingvo' -- well pluralizable elsewhere
end--if
if ((numtip29mon==7) or (numtip29mon==8)) then -- maybe plus extra root
while true do -- fake loop
if (string.sub(strlang29name,-5,-1)=='lingv') then
numshort29long = 0
break -- very short
end--if
if (string.sub(strlang29name,-4,-1)==('la'..string.char(0xC5,0xAD))) then
numshort29long = 2
break -- long
end--if
if ((string.sub(strlang29name,-2,-1)=='nd') or (string.sub(strlang29name,-2,-1)=='nt')) then
break -- short
end--if
if ((prgtestvowel(string.byte(strlang29name,-1,-1))~=0) or (prgtestvowel(string.byte(strlang29name,-2,-2))~=0)) then
break -- short
end--if
if ((string.byte(strlang29name,-1,-1)>=128) and (prgtestvowel(string.byte(strlang29name,-3,-3))~=0)) then
break -- short
end--if
numshort29long = 2 -- else long
break -- finally
end--while -- fake loop -- join mark
if (numshort29long==1) then
str29xtraroot = 'lingv'
end--if
if (numshort29long==2) then
str29xtraroot = 'alingv'
end--if
end--if ((numtip29mon==7) or (numtip29mon==8)) then
if ((numtip29mon==5) or (numtip29mon==7)) then
strlang29name = strlang29name .. str29xtraroot .. 'a' -- root -> AJ
end--if
if ((numtip29mon==6) or (numtip29mon==8)) then
if (boomul29words) then -- surrogate AV, with "en", with or without "la"
if (boois29noun) then
strlang29name = 'en ' .. strlang29name
else
strlang29name = 'en la ' .. strlang29name
end--if
else
strlang29name = strlang29name .. str29xtraroot .. 'e' -- root -> AV (was singleword AJ or SB)
end--if
end--if
if (numtip29mon==9) then
strlang29name = strlang29name .. 'a' .. string.char(0xC4,0xB5) .. 'o'
end--if
end--if ((numtip29mon>=1) and ...
return strlang29name -- same var
end--function prieovarlinnomfull
-- ************************************ error handling
-- * HIGH LEVEL PROCEDURES [H4] * --------------------------------
-- ************************************
local function prhvali1status98code (varvalue)
-- Depends on procedures :
-- [E] mathisintrange
local boovalid = false -- preASSume guilt
while true do -- fake loop
if (varvalue==0) then
break -- success thus keep false since no valid error code ;-)
end--if
if (mathisintrange(varvalue,1,98)) then
boovalid = true -- got an error and valid error code returned
else
varvalue = 255 -- failed to return valid status code
end--if
break -- finally to join mark
end--while -- fake loop -- join mark
return varvalue, boovalid
end--function prhvali1status98code
------------------------------------------------------------------------
local function prhconstructerar (numerar3code, boopeek3it)
-- Construct error message maybe peeking description.
-- Input : * numerar3code -- 1 ... 98 or 2 ... 98 (resistant against invalid
-- data type, giving "??" on such)
-- * boopeek3it -- do peek description #E02...#E98 from table
-- Depends on procedures :
-- [N] prnnumto2digit
-- [E] mathisintrange mathdiv mathmod
-- Depends on constants :
-- * maybe table contaberaroj TWO-based (holes permitted)
-- To be called ONLY from lfhbrewerror, prhbrewerr8supa, etc .
local vardes3krip = 0
local numbottom3limit = 1
local stryt3sux = '#E'
if (boopeek3it) then
numbottom3limit = 2 -- #E01 is a valid code for submodule only
end--if
if (mathisintrange(numerar3code,numbottom3limit,98)) then
stryt3sux = stryt3sux .. prnnumto2digit(numerar3code)
if (boopeek3it) then
vardes3krip = contaberaroj[numerar3code] -- risk of type "nil"
if (type(vardes3krip)=='string') then
stryt3sux = stryt3sux .. ' ' .. vardes3krip
else
stryt3sux = stryt3sux .. ' ??' -- no text found
end--if
end--if (boopeek3it) then
else
stryt3sux = stryt3sux .. '??' -- no valid error code
end--if
return stryt3sux
end--function prhconstructerar
------------------------------------------------------------------------
local function prhbrewerr8supa (numeror8code, strparent8nm, numsub8kodo)
-- Brew error sev huge, submodule, 2 lines, insertable parent.
-- Input : * numeror8code -- TWO-based error code 2 ... 98 (resistant
-- against invalid data type, giving "??" on such)
-- * strparent8nm -- name of parent (not used and should be type
-- "nil" if message does NOT contain "%@")
-- * numsub8kodo -- 1 ... 98 (resistant against invalid data type,
-- send type "nil" if no submodule involved)
-- Output : * stryt8sux -- message with HTML
-- Depends on procedures :
-- [H4] prhconstructerar
-- [I7] pripl2altwre
-- [G] prgstringrange
-- [N] prnnumto2digit
-- [E] mathisintrange mathdiv mathmod
-- Depends on constants :
-- * table contabfel with 2 elements .hubg .huen
-- * table contaberaroj TWO-based (holes permitted)
-- #E02...#E98, note that #E00 #E01 #E99 are NOT supposed to be included here.
-- We DO NOT eat the name of the guilty submodule since it is included
-- in the error code #E03 #E05 and its message. Also for the submodule
-- we report code only, no description.
local stryt8sux = ''
stryt8sux = contabfel.hubg .. pripl2altwre(prhconstructerar(numeror8code,true),64,strparent8nm) .. contabfel.huen
if (mathisintrange(numsub8kodo,1,98)) then
stryt8sux = stryt8sux .. '<br>' .. contabfel.hubg .. 'Submodule reports ' .. prhconstructerar (numsub8kodo,false) .. contabfel.huen
end--if
return stryt8sux
end--function prhbrewerr8supa
-- ***********************************
-- * HIGH LEVEL PROCEDURES [H] * ---------------------------------
-- ***********************************
local function prhrecusurrstrtab (varinkommen, strlingkod, bookeys)
-- Process (transcode) either a single string, or all string items in a
-- table (even nested) using any type of keys/indexes (such as a holey
-- number sequence and non-numeric ones). Items with a non-string non-table
-- value are kept unchanged. Optional transcoding of eo and NOPE sv surrogates
-- (via 2 separate procedures). Optionally string keys/indexes are transcoded
-- as well.
-- Input : * varinkommen -- type "string" or "table"
-- * strlingkod -- "eo" or NOPE "sv" to transcode surrogates,
-- anything else (preferably type "nil") to skip this
-- * bookeys -- transcode keys too (preferably either "true"
-- or type "nil")
-- Depends on procedures :
-- [I] prikodeosg (only if trans of eo X-surrogates desired)
-- [I] NOPE lfikodsvsg
-- [E] mathdiv mathmod (via "prikodeosg" and NOPE "lfikodsvsg")
-- Depends on constants :
-- * table "contabtransluteo" inherently holey (via "prikodeosg")
-- * NOPE table "contabtranslutsv"
-- We always fully rebrew tables from scratch, thus do NOT replace
-- single elements (doing so would break "in pairs").
local varnky = 0 -- variable without type
local varutmatning = 0
local boodone = false
if (type(varinkommen)=='string') then
if (strlingkod=='eo') then
varinkommen = prikodeosg (varinkommen) -- surr
end--if
-- if (strlingkod=='sv') then
-- varinkommen = lfikodsvsg (varinkommen) -- surr
-- end--if
varutmatning = varinkommen -- copy, change or no change
boodone = true
end--if
if (type(varinkommen)=='table') then
varutmatning = {} -- brew new table from scratch
for k4k,v4v in pairs(varinkommen) do -- nothing done if table empty
if ((bookeys==true) and (type(k4k)=='string')) then
varnky = prhrecusurrstrtab (k4k, strlingkod, nil) -- RECURSION
else
varnky = k4k
end--if
if ((type(v4v)=='string') or (type(v4v)=='table')) then
v4v = prhrecusurrstrtab (v4v, strlingkod, bookeys) -- RECURSION
end--if
varutmatning[varnky] = v4v -- write same or diff place in dest table
end--for
boodone = true
end--if
if (not boodone) then
varutmatning = varinkommen -- copy as-is whatever it is, useless
end--if
return varutmatning
end--function prhrecusurrstrtab
------------------------------------------------------------------------
local function lfhbrew1234types (strprf9nsapx, strprf9nskat, strnam9bah, strnambaauc, strnambaalu, strnambaaty, numbejs9tajp, boohevaprf, strprf9prf, boohevahin, strhin9hin, num012nem)
-- Brew wikilink, cat insertion, part of such, or just raw
-- string from many values.
-- Input : * strprf9nsapx strprf9nskat -- ns prefixes
-- * strnam9bah
-- * ...
-- strnam9bah, strnambaauc, strnambaalu, strnambaaty : magic with prucaseaiorest
-- prieovarlinnomfull prieoakuplurest already done, but NOT pribrewcathint
-- numbejs9tajp : 0 raw -- 1 LA -- 2 LK colon YES -- 3 KE -- 4 AR -- 7 empty
-- boohevaprf, strprf9prf : "prf=" is legal for all wiktionary types
-- LA LK KE but not for AR and not together with "hin="
-- num012nem : is relevant for base types 1 2 4 but NOT for 3
-- Depends on procedures :
-- [I] pribrewcathint
-- [U] prulnutf8char prusrcasepairrest prutristletr prucaseaiorest
-- [G] prgpokestring prgtestnum prgtestuc lfgtestlc
local strnspre = '' -- empty or "Appendix:" 1 or ":Category:" 2 or "Category:" 3
local strbasepagename = ''
local strbefore = '' -- before wall (link target)
local strafteer = '' -- aft wall (visible link text) (no wall if this empty)
local strtypehere = ''
if (numbejs9tajp==1) then
strnspre = strprf9nsapx .. ':' -- LA "Appendix:"
end--if
if (numbejs9tajp==2) then
strnspre = ':' .. strprf9nskat .. ':' -- LK ":Category:"
end--if
if (numbejs9tajp==3) then
strnspre = strprf9nskat .. ':' -- KE "Category:"
end--if
if (numbejs9tajp==4) then
strbasepagename = strnambaalu
else
if (boohevaprf) then
strbasepagename = strprf9prf .. ' (' .. strnam9bah .. ')' -- no force uppercase
else
strbasepagename = strnambaauc -- force uppercase begin
end--if
end--if
if (numbejs9tajp==3) then
if (boohevahin) then
strbefore = strhin9hin
strafteer = pribrewcathint ('eo',strnam9bah,false) -- only for "KE"
else
strbefore = strbasepagename
strafteer = '' -- wall not desired
end--if
else
strbefore = strbasepagename
if (num012nem==0) then
strafteer = strnambaaty -- will use wall, augmented langname
else
strafteer = '' -- wall not desired in visible link of type LA LK AR
end--if
end--if (numbejs9tajp==3) else
strtypehere = strnspre .. strbefore -- ns prefix ends with colon ":"
if (strafteer~='') then
strtypehere = strtypehere .. '|' .. strafteer
end--if
if (num012nem~=2) then
strtypehere = '[[' .. strtypehere .. ']]' -- no link for "nem=2"
end--if
return strtypehere
end--function lfhbrew1234types
-- ***********************
-- * VARIABLES [R] * ---------------------------------------------
-- ***********************
function exporttable.ek (arxframent)
-- misc unknown type
local vartymp = 0 -- variable without type
-- special type "args" AKA "arx"
local arxsomons = 0 -- metaized "args" from our own or parent's "frame"
-- misc tab
local tablg78ysubt = {} -- all langcodes
local tablgc0toca = {} -- one langcode
-- peeked stuff
local strpiklangcode = '' -- "en" privileged site language
local strpikkatns = '' -- "Category"
local strpikindns = '' -- "Index"
local strpikapxns = '' -- "Appendix"
local strmparent = '' -- :getParent():getTitle() o "myparentoverridetestonly="
-- misc str
local strnambah = '' -- langname (without prefix "Bahasa")
local strnambauc = '' -- langname uppercased begin ("Angla")
local strnambalu = '' -- langname "li" uppercased begin ("Angla lingvo")
local strnambaty = '' -- langname processed ac to "mon=" "fle=" and "maj=1"
local strtomp = ''
local strvisgud = '' -- visible output or cat insertion on success
local strviserr = '' -- visible error message on error (no tracking cat)
local strret = '' -- result string
-- parameters "str"
local strkodbah = '' -- langcode (2 or 3 lowercase) from arxsomons[1]
local strhinhin = '' -- name of category KE (langcode will brew the hint)
local strprfprf = '' -- prefix before langname
local strerarpl = '' -- custom but common placeholder
-- general "num"
local numerr = 0 -- 1 inter 2 mali 3 nombri 8 tip 15 cxeno3
local num2statcode = 0
local numpindex = 0 -- number of anon params
local numlangsta = 0 -- 2 known -- 1 unknown -- 0 obviously invalid
-- parameters "num"
local numbasetipe = 0 -- 0 raw -- 1 LA -- 2 LK -- 3 KE -- 4 AR -- 7 empty
local nummontip = 0 -- 0 native -- 1 la -- 2 li -- 3 lu ...
local numfletip = 0 -- 0 native -- 1 j -- 2 n -- 3 jn
local numnemzz = 0 -- avoid wall or [[ ]] in visible link type LA LK AR
-- general boo
local boopetitapluralo = false
local boopluraligebla = false
local boofleksebla = false
local bootimp = false
-- parameters boo
local boomaj = false -- force uppercase
local boonoc = false -- infamous "nocat" (cannot cause an error)
local booper = false -- keep link or cat insertion on error
local boohavehin = false
local boohaveprf = false
local boohaveerr = false
-- ******************
-- * MAIN [Z] * --------------------------------------------------
-- ******************
---- GUARD AGAINST INTERNAL ERROR AGAIN ----
-- later reporting of #E01 must NOT depend on uncommentable stuff
if (qbooguard) then
numerr = 1 -- #E01 internal
end--if
---- PEEK STUFF THAT IS NOT OVERRIDDEN SEMIGENEROUS ----
-- this depends on "arxframent" (only if parent requested) but NOT on "arx"
-- "strpikkatns" and "strpikindns" and "strpikapxns" do NOT
-- include a trailing ":" colon, and are for "lfykattlaenk"
-- and "lfyapxindlaenk" and "lfikatpaldigu"
if (numerr==0) then
strpiklangcode = contabovrd.sitelang or mw.getContentLanguage():getCode() or 'en' -- privileged site language
strpikkatns = contabovrd.katprefi or (mw.site.namespaces[ 14] or {})['name'] or 'Category' -- standard namespace
strpikapxns = contabovrd.apxprefi or (mw.site.namespaces[102] or {})['name'] or 'Appendix' -- custom namespace
if ((type(strpiklangcode)~='string') or (type(strpikkatns)~='string') or (type(strpikapxns)~='string')) then
numerr = 1 -- #E01 internal (unlikely)
end--if
end--if (numerr==0) then
---- GET THE ARX (ONE OF TWO) ----
-- must be seized independently on "numerr" even if we already suck
-- give a f**k in possible params other than "parentframe=true"
arxsomons = arxframent.args -- "args" from our own "frame"
if (type(arxsomons)~='table') then
arxsomons = {} -- guard against indexing error from our own
numerr = 1 -- #E01 internal
end--if
if (arxsomons['parentframe']=='true') then
arxsomons = arxframent:getParent().args -- "args" from parent's "frame"
end--if
if (type(arxsomons)~='table') then
arxsomons = {} -- guard against indexing error again
numerr = 1 -- #E01 internal
end--if
---- PROCESS MESSAGES, DECODE ONLY IF NEEDED ----
-- needed for all errors except #E01
if (numerr==0) then
contaberaroj = prhrecusurrstrtab (contaberaroj, strpiklangcode, nil)
end--if
---- PROCESS ONE HIDDEN NAMED PARAM ----
strmparent = '' -- using vartymp here
if (numerr==0) then -- get parent (silent if bad, silent if absent)
vartymp = arxsomons['myparentoverridetestonly']
if (prgstringrange(vartymp,1,200)) then -- empty or too long NOT legal
strmparent = vartymp
end--if
end--if
---- SEIZE PARENT FROM MW ----
-- full "strmparent" is used for error messages whereas
-- unfull "strmpareuf" is used for tracking cat insertions
if ((numerr==0) and (strmparent=='')) then -- get parent (error if bad)
vartymp = arxframent:getParent():getTitle() -- full title with ns prefix
if (prgstringrange(vartymp,1,200)) then -- empty or too long NOT legal
strmparent = vartymp -- cannot be left empty
else
numerr = 1 -- #E01 internal
end--if
end--if
---- PICK ONE SUBTABLE T78 ----
-- here risk of #E02 #E03
-- on error we assign "numerr" and maybe "num2statcode" both used far below
while true do -- fake loop
if (numerr~=0) then -- #E01 possible
break -- to join mark
end--if
num2statcode, bootimp = prhvali1status98code (qldingvoj[2])
if (num2statcode~=0) then
if (bootimp) then
numerr = 3 -- #E03 nombrigita
else
numerr = 2 -- #E02 malica
end--if
break -- to join mark
end--if
vartymp = qldingvoj['T78'] -- from "loaddata-tbllingvoj"
if (type(vartymp)~='table') then -- important check
numerr = 2 -- #E02 malica
break -- to join mark
end--if
tablg78ysubt = vartymp -- has sub-sub-tables for langcodes
break -- finally to join mark
end--while -- fake loop -- join mark
---- WHINE IF YOU MUST #E01 ----
-- reporting of this error #E01 MUST NOT depend on uncommentable
-- or pickable stuff such as "contaberaroj" or "strmparent"
-- do NOT use "PRHBREWERR" whatever, report our name, NOT of template, in EN
if (numerr==1) then
strtomp = '#E01 Internal error in "Module:lili"'
strviserr = contabfel.hubg .. strtomp .. contabfel.huen
end--if
---- PRELIMINARILY ANALYZE ANONYMOUS PARAMETERS ----
-- this will catch holes, empty parameters, too long parameters,
-- and wrong number of parameters
-- below on exit var "numpindex" will contain number of
-- prevalidated anonymous params
-- this depends on 3 constants:
-- * contabparam[0] minimal number
-- * contabparam[1] maximal number
-- * contabparam[2] maximal length (default 200)
if (numerr==0) then -- using vartymp calling prgstringrange
numpindex = 0 -- ZERO-based
while true do
vartymp = arxsomons [numpindex+1] -- can be type "nil"
if ((type(vartymp)~='string') or (numpindex>contabparam[1])) then
break -- good or bad
end--if
if (not prgstringrange (vartymp,1,contabparam[2])) then
numerr = 9 -- #E09 anon param empty or too long
break -- only bad here
end--if
numpindex = numpindex + 1 -- on exit has number of valid parameters
end--while
if ((numerr==0) and ((numpindex<contabparam[0]) or (numpindex>contabparam[1]))) then
numerr = 8 -- #E08 number of anon params
end--if
end--if
---- PROCESS ONE OBLIGATORY ANONYMOUS PARAM INTO ONE STRING AND ONE NUM ----
-- now var "numpindex" sudah contains number of prevalidated params
-- and is always 1 and is useless
-- here we prevalidate and assign "strkodbah" and "numlangsta"
-- this depends directly on 2 boolean constant:s and indirectly
-- on constant table "contabisbanned" via "lfhvalidatelnkoadv"
if (numerr==0) then
numlangsta = 2 -- this is just weak hope ...
strkodbah = arxsomons[1] -- langcode (obligatory, "??" permitted)
if (not lfivalidatelnkoadv(strkodbah,false,true,conbookodlng,conboomiddig,false)) then
numlangsta = 0 -- 2 known -- 1 unknown -- 0 obviously invalid
end--if
end--if
---- PROCESS 0...10 OPTIONAL NAMED PARAMS ----
-- data type boolean:
-- * "maj=" -- "1" -> force uppercase
-- * "noc=" -- "true" -> no cat (this is "nocat", no error possible)
-- * "per=" -- "1" -> keep link or category if unknown
-- data type tristate:
-- * "nem=" -- in visible link LA LK AR "1" -> no wall -- "2" -> no [[ ]]
-- multiple choice (2) (assign a "num") :
-- * "tip=" -- base type of task, 4 -> 5 possible values (later 6)
-- (0 raw) -- 1 LA -- 2 LK -- 3 KE -- 4 AR (later also: 7 empty)
-- * "mon=" -- type of langname, 11 -> 12 possible values
-- (0 native) -- 1 la -- 2 li -- 3 lu -- 4 sf -- 5 aj -- 6 av
-- -- 7 ga -- 8 ge -- 9 jx -- 10 ko -- 11 pp
-- * "fle=" -- type of inflection, 3 -> 4 possible values
-- (0 native) -- 1 j -- 2 n -- 3 jn
-- string (2...80 octet:s) (3) (fill string and assign a "boo" to "true") :
-- * "hin=" -- name of category KE (langcode will brew the hint)
-- * "prf=" -- prefix before langname
-- * "err=" -- common placeholder
if (numerr==0) then
while true do -- fake loop
numnemzz = 0
vartymp = arxsomons['nem'] -- optional, NOT prevalidated
if (type(vartymp)=='string') then
if (vartymp=='1') then
numnemzz = 1
else
if (vartymp=='2') then
numnemzz = 2
else
numerr = 27 -- #E27 other param crime
break
end--if
end--if
end--if
boomaj = false
vartymp = arxsomons['maj'] -- optional, NOT prevalidated
if (type(vartymp)=='string') then
if (vartymp=='1') then
boomaj = true
else
numerr = 27 -- #E27 other param crime
break
end--if
end--if
boonoc = (arxsomons['noc']=='true') -- this one needs word "true" and CANNOT cause an error
booper = false
vartymp = arxsomons['per'] -- optional, NOT prevalidated
if (type(vartymp)=='string') then
if (vartymp=='1') then
booper = true
else
numerr = 27 -- #E27 other param crime
break
end--if
end--if
numbasetipe = 0 -- default raw
vartymp = arxsomons['tip'] -- optional, NOT prevalidated
if (type(vartymp)=='string') then
vartymp = contabtiptyper [vartymp] -- risk of type "nil"
if (type(vartymp)~='number') then
numerr = 14 -- #E14 -- faulty base type
break
end--if
numbasetipe = vartymp
end--if
nummontip = 0 -- default native form of langname
vartymp = arxsomons['mon'] -- optional, NOT prevalidated
if (type(vartymp)=='string') then
vartymp = contabmontyper [vartymp] -- risk of type "nil"
if (type(vartymp)~='number') then
numerr = 27 -- #E27 other param crime
break
end--if
nummontip = vartymp
end--if
numfletip = 0 -- default base inflection form
vartymp = arxsomons['fle'] -- optional, NOT prevalidated
if (type(vartymp)=='string') then
if (vartymp=='j') then
numfletip = 1
end--if
if (vartymp=='n') then
numfletip = 2
end--if
if (vartymp=='jn') then
numfletip = 3
end--if
if (numfletip==0) then
numerr = 27 -- #E27 other param crime
break
end--if
end--if
boohavehin = false
vartymp = arxsomons['hin'] -- optional, NOT prevalidated
if (type(vartymp)=='string') then -- do NOT merge if:s
if (prgstringrange (vartymp,2,80)) then
strhinhin = vartymp
boohavehin = true
else
numerr = 15 -- #E15 -- crime with "hin=" "prf=" "err="
break
end--if
end--if
boohaveprf = false
vartymp = arxsomons['prf'] -- optional, NOT prevalidated
if (type(vartymp)=='string') then -- do NOT merge if:s
if (prgstringrange (vartymp,2,80)) then
strprfprf = vartymp
boohaveprf = true
else
numerr = 15 -- #E15 -- crime with "hin=" "prf=" "err="
break
end--if
end--if
boohaveerr = false
vartymp = arxsomons['err'] -- optional, NOT prevalidated
if (type(vartymp)=='string') then -- do NOT merge if:s
if (prgstringrange (vartymp,2,80)) then
strerarpl = vartymp
boohaveerr = true
else
numerr = 15 -- #E15 -- crime with "hin=" "prf=" "err="
break
end--if
end--if
break -- finally to join mark
end--while -- fake loop -- join mark
end--if
---- CHECK FOR CONFLICTING PARAMETERS ----
-- "tip=" * no conflicts possible (only values 0...4 can be
-- requested, value 7 not directly)
-- * default is fixed to "raw" 0
-- * may be changed later
-- * from "LA" 1 "LK" 2 "AR" 4 to "raw" 0 (for one reason)
-- * from "KE" 3 to "empty" 7 (for one of two possible reasons)
-- "nem=" * default is fixed to ZERO
-- * is illegal for base type "KE" 3 or "raw" 0
-- * is inverted (non-default "1" means "no wall" and "2"
-- means no [[]] and no link either)
-- * wall with base type "KE" is a separate issue
-- "mon=" * default is fixed to "native" 0
-- * "mon=" is illegal for base type "KE" 3 #E16
-- * "mon=ko" is illegal with base type "raw" #E17
-- * "mon=" is illegal together with "nem=" #E18
-- "fle=" * default is fixed to "native" 0
-- * is illegal for base type "KE" 3
-- * depends on "mon="
-- "maj=1" * default is fixed to false (native case, note that
-- lowercasing when affixing or changing word class
-- is separate from this parameter)
-- * is illegal for base type "KE" 3
-- * is illegal together with "nem="
-- "hin=" * default is fixed to false and empty
-- * is illegal for base type other than "KE" 3
-- "prf=" * is illegal for base type "raw" 0 and "AR" 4
-- * is illegal together with "mon="
-- * is illegal together with "hin="
-- * default is fixed to false and empty
-- "per=1" * default is fixed to OFF
-- * "per=1" is illegal for base type "raw" 0
-- "err=" * no conflicts possible
while true do -- fake loop
if (numerr~=0) then
break
end--if
boopetitapluralo = (numfletip==1) or (numfletip==3)
boopluraligebla = (nummontip==5) or (nummontip==7) or (nummontip==9)
boofleksebla = boopluraligebla or (nummontip<=3) -- OK for native too
if ((numnemzz~=0) and ((numbasetipe==0) or (numbasetipe==3))) then
numerr = 25 -- #E25 conflicting
break
end--if
if ((nummontip~=0) and (numbasetipe==3)) then
numerr = 16 -- #E16 "mon=" is illegal for base type "KE" 3
break
end--if
if ((nummontip==10) and (numbasetipe==0)) then
numerr = 17 -- #E17 "mon=ko" is illegal for base type "raw" too
break
end--if
if ((nummontip~=0) and (numnemzz~=0)) then
numerr = 18 -- #E18 "mon=" is illegal together with "nem="
break
end--if
if ((numfletip~=0) and (numbasetipe==3)) then
numerr = 24 -- #E24 conflicting -- "fle=" legal only for link types raw
break
end--if
if ((numfletip~=0) and (not boofleksebla)) then
numerr = 24 -- #E24 conflicting -- "fle=" legal only for bigger subset
break
end--if
if (boopetitapluralo and (not boopluraligebla)) then
numerr = 24 -- #E24 conflicting -- "j" "jn" legal only for tiny subset
break
end--if
if (boomaj and (numbasetipe==3)) then
numerr = 25 -- #E25 conflicting
break
end--if
if (boomaj and (numnemzz~=0)) then
numerr = 25 -- #E25 conflicting
break
end--if
if (boohavehin and (numbasetipe~=3)) then
numerr = 25 -- #E25 conflicting
break
end--if
if (boohaveprf and ((numbasetipe==0) or (numbasetipe==4))) then
numerr = 25 -- #E25 conflicting
break
end--if
if (boohaveprf and (nummontip~=0)) then
numerr = 25 -- #E25 conflicting
break
end--if
if (boohaveprf and boohavehin) then
numerr = 25 -- #E25 conflicting
break
end--if
if (booper and (numbasetipe==0)) then
numerr = 25 -- #E25 conflicting
end--if
break -- finally
end--while -- fake loop -- join mark
---- CHANGE BASE TYPE IF NEEDED DUE TO NOCAT ----
if ((numerr==0) and boonoc and (numbasetipe==3)) then
numbasetipe = 7 -- switch to empty result pseudo type 7
end--if
---- PEEK THE LANGNAME ----
-- * tristate "numlangsta" : 2 known -- 1 unknown -- 0 obviously invalid
-- * from above 2 or 0, now confirm 2 or downgrade to 1 or skip this
-- for langname in site language (/c0/):
-- * type "nil" can become (numlangsta=1) (unknown langcode) if the site
-- langcode works, otherwise #E02 (broken submodule)
-- * "-" is unconditionally evil with #E02 (broken submodule)
-- here we depend on "strpiklangcode" and submodule "loaddata-tbllingvoj"
if ((numerr==0) and (numbasetipe~=7) and (numlangsta==2)) then
while true do -- fake loop
tablgc0toca = tablg78ysubt[strkodbah] -- subtable for given langcode
if (type(tablgc0toca)~='table') then
if (type(tablg78ysubt[strpiklangcode])=='table') then -- site langcode
numlangsta = 1 -- given langcode is unknown (site langcode works)
else
numerr = 2 -- #E02 broken submo (site langcode does NOT work either)
end--if
break
end--if
vartymp = tablgc0toca[0] -- pick langname from /c0/
if (not prgstringrange (vartymp,2,60)) then -- length out of range
numerr = 2 -- #E02 broken submodule
break
end--if
strnambah = vartymp -- got langname :-)
break -- finally
end--while -- fake loop -- join mark
end--if
---- WHINE IF YOU MUST #E02...#E98 ----
-- reporting depends on uncommentable strings
if (numerr>1) then
if (numerr==3) then -- #E03
strviserr = prhbrewerr8supa(numerr,('"'..strmparent..'"'),num2statcode) -- 2 lines
else
strviserr = prhbrewerr8supa(numerr,('"'..strmparent..'"')) -- one line
end--if
end--if
---- CHANGE BASE TYPE AND MON TYPE TO RAW IF NEEDED DUE TO BAD LANGCODE ----
-- only if langcode is bad (obviously invalid 0 or unknown 1) and
-- "per=1" was NOT used then change base type "LA" 1 or "LK" 2 or "AR" 4 to
-- type "raw" 0, and base type "KE" 3 to empty result AKA pseudo type 7
-- if langcode is bad then always reset "mon=" type to "raw" 0
if ((numerr==0) and (numlangsta~=2) and (not booper)) then
if ((numbasetipe==1) or (numbasetipe==2) or (numbasetipe==4)) then
numbasetipe = 0 -- switch to type "raw"
end--if
if (numbasetipe==3) then
numbasetipe = 7 -- switch to empty result pseudo type 7
end--if
end--if
if ((numerr==0) and (numlangsta~=2)) then
nummontip = 0 -- default "raw" / "native"
end--if
---- APPLY MESSAGES FOR BAD CODES ----
if ((numerr==0) and (numbasetipe~=7)) then
if (numlangsta==0) then
if (boohaveerr) then -- have "err="
strnambah = strerarpl -- common placeholder, custom message
else
strnambah = constrevid -- invalid langcode, fixed message
end--if
end--if
if (numlangsta==1) then
if (boohaveerr) then -- have "err="
strnambah = strerarpl -- common placeholder, custom message
else
strnambah = constrneli -- unknown langcode, fixed message
end--if
end--if
end--if
---- BREW THE VISIBLE PART FOR RAW OR FOR LINK TYPES ----
-- strkodbah : langcode (not needed anymore here)
-- strnambah : langname (native form, always >= 2 letters, from above)
-- strnambauc : langname uppercased begin ("Angla") (brew here)
-- strnambalu : langname type "li" uppercased begin ("Angla lingvo")
-- name of article (brew here)
-- strnambaty : langname processed according to "mon=" "fle="
-- and "maj=1" (brew here) (for 3 link types with wall only)
-- numbasetipe : 0 raw -- 1 LA -- 2 LK colon YES -- 3 KE -- 4 AR -- 7 empty
-- nummontip : 0 native -- 1 la -- 2 li -- 3 lu -- 4 sf ...
-- numfletip : 0 native -- 1 j -- 2 n -- 3 jn
-- boomaj
if ((numerr==0) and (numbasetipe~=7)) then
strnambauc = prucaseaiorest('eo',strnambah,true,false) -- make upper one letter
strnambalu = prucaseaiorest('eo',prieovarlinnomfull(strnambah,2),true,false) -- !!!FIXME!!! tablgc0toca[8] -- pick title from /c8/
if (nummontip==0) then
strnambaty = strnambah -- native form of langname
end--if
if ((nummontip>=1) and (nummontip<=9)) then
strnambaty = prieovarlinnomfull(strnambah, nummontip) -- la li lu sf ...
end--if
if (nummontip==10) then
strnambaty = "X-10-ko-X" -- !!!FIXME!!! not implemented yet
end--if
if (nummontip==11) then
strnambaty = "X-11-pp-X" -- !!!FIXME!!! not implemented yet
end--if
if (numfletip==1) then
strnambaty = prieoakuplurest ('j', strnambaty) -- can handle multiword AJ
end--if
if (numfletip==2) then
strnambaty = prieoakuplurest ('n', strnambaty) -- can handle multiword AJ
end--if
if (numfletip==3) then
strnambaty = prieoakuplurest ('jn', strnambaty) -- can handle multiword AJ
end--if
if (boomaj) then
strnambaty = prucaseaiorest ('eo',strnambaty,true,false) -- eo, upper, one
end--if
end--if
---- TRIVIAL WORK WITH BASE TYPE (0) RAW ----
if ((numerr==0) and (numbasetipe==0)) then
strvisgud = strnambaty
end--if
---- HARD WORK WITH TYPE (1,2,3,4) LINK OR CAT INSERTION OR ARTICLE ----
-- all "nummontip" "numfletip" "boomaj" done above, NOT needed anymore :-)
if ((numerr==0) and (numbasetipe~=0) and (numbasetipe~=7)) then
strvisgud = lfhbrew1234types (strpikapxns, strpikkatns, strnambah, strnambauc, strnambalu, strnambaty, numbasetipe, boohaveprf, strprfprf, boohavehin, strhinhin, numnemzz)
end--if
---- RETURN THE STRING ----
if (numerr==0) then -- no separate string for cat:s here
strret = strvisgud
else
strret = strviserr
end--if
return strret -- can be empty
end--function
---- RETURN THE LUA TABLE ----
return exporttable
q0qng7e5hp4iyac4yhz9znquijkj089
Modulo:mlili/dokumentado
828
127325
1475655
1222236
2026-08-30T16:51:27Z
Taylor 49
4683
plimo
1475655
wikitext
text/x-wiki
{{doku-mp}}
{{protektomoŝa}}
* Ĉi tiu modulo efektivigas laboron de ŝablono {{ŝl|lili}} kaj estas vokata sole de tie.
* Dependas de:
** modulo {{modu|loaddata-tbllingvoj}} (tabelo T78) siavice de permodule legata ŝablono {{ŝl|tbllingvoj}}
<noinclude>
{{hr3}} <!-------------------------------->
:::: basic usage
* #T00 (no params, bad)
* parameters: ""
* expected result: #E08
* actual result: "{{#invoke:lili|ek}}"
::* #T01 (two anon parameters, too many)
::* parameters: "|eo|io"
::* expected result: #E08
::* actual result: "{{#invoke:lili|ek|eo|io}}"
* #T02 (simplest example, native SB)
* parameters: "|vo"
* expected result: "Volapuko"
* actual result: "{{#invoke:lili|ek|vo}}"
::* #T03 (simplest example, native AJ)
::* parameters: "|ko"
::* expected result: "korea"
::* actual result: "{{#invoke:lili|ek|ko}}"
{{hr3}} <!-------------------------------->
:::: raw, types "la" "li" "lu"
* #T10 (raw, add "la" if needed to native SB, NOT added)
* parameters: "|io|mon=la"
* expected result: "Ido"
* actual result: "{{#invoke:lili|ek|io|mon=la}}"
::* #T11 (raw, add "lingvo" if needed to native SB, NOT added)
::* parameters: "|sa|mon=li"
::* expected result: "Sanskrito"
::* actual result: "{{#invoke:lili|ek|sa|mon=li}}"
* #T12 (raw, add "la" if needed to native AJ, indeed added)
* parameters: "|sv|mon=la"
* expected result: "la sveda"
* actual result: "{{#invoke:lili|ek|sv|mon=la}}"
::* #T13 (raw, add "lingvo" if needed to native AJ, indeed added, langname with decorations)
::* parameters: "|cv|mon=li"
::* expected result (with decorated letters): "cxuvasxa lingvo"
::* actual result: "{{#invoke:lili|ek|cv|mon=li}}"
* #T14 (raw, add "la" if needed to native AJ multiword, indeed added)
* parameters: "|sma|mon=la"
* expected result: "la samea suda"
* actual result: "{{#invoke:lili|ek|sma|mon=la}}"
::* #T15 (raw, add both "la" and "lingvo" if needed to native AJ multiword, indeed added, langname with decorations)
::* parameters: "|apw|mon=lu"
::* expected result (with decorated letters): "la apacxa okcidenta lingvo"
::* actual result: "{{#invoke:lili|ek|apw|mon=lu}}"
{{hr3}} <!-------------------------------->
:::: raw, force root or force AJ (short)
* #T20 (raw, force AJ from native SB)
* parameters: "|io|mon=aj"
* expected result: "ida"
* actual result: "{{#invoke:lili|ek|io|mon=aj}}"
::* #T21 (raw, force AJ from native AJ)
::* parameters: "|sv|mon=aj"
::* expected result: "sveda"
::* actual result: "{{#invoke:lili|ek|sv|mon=aj}}"
* #T22 ("sma|mon=aj", raw, force AJ from native AJ multiword)
* expected result: "samea suda"
* actual result: "{{#invoke:lili|ek|sma|mon=aj}}"
::* #T23 ("io|mon=sf", raw, force root from native SB)
::* expected result: "id" (note that this is langname "Ido", not langcode "id")
::* actual result: "{{#invoke:lili|ek|io|mon=sf}}"
* #T24 ("sv|mon=sf", raw, force root from native AJ)
* expected result: "sved"
* actual result: "{{#invoke:lili|ek|sv|mon=sf}}"
::* #T25 ("sma|mon=sf", raw, force root from native AJ multiword)
::* expected result: "samea sud" (useless)
::* actual result: "{{#invoke:lili|ek|sma|mon=sf}}"
* #T26 ("sv|mon=aj|fle=j", raw, force AJ and plural from native AJ)
* expected result: "svedaj"
* actual result: "{{#invoke:lili|ek|sv|mon=aj|fle=j}}"
::* #T27 ("sma|mon=aj|fle=j", raw, force AJ and plural from native AJ multiword)
::* expected result: "sameaj sudaj"
::* actual result: "{{#invoke:lili|ek|sma|mon=aj|fle=j}}"
* #T28 (raw, force AJ and plural from native SB)
* parameters: "|sa|mon=aj|fle=j"
* expected result: "sanskritaj"
* actual result: "{{#invoke:lili|ek|sa|mon=aj|fle=j}}"
::* #T29 (raw, force AJ and accusative plural from native AJ multiword)
::* parameters: "|se|mon=aj|fle=jn"
::* expected result: "sameajn nordajn"
::* actual result: "{{#invoke:lili|ek|se|mon=aj|fle=jn}}"
{{hr3}} <!-------------------------------->
:::: raw, force AV (short)
* #T30 (raw, force AV from native SB)
* parameters: "|io|mon=av"
* expected result: "ide"
* actual result: "{{#invoke:lili|ek|io|mon=av}}"
::* #T31 (raw, force AV from native AJ)
::* parameters: "|sv|mon=av"
::* expected result: "svede"
::* actual result: "{{#invoke:lili|ek|sv|mon=av}}"
* #T32 ("sma|mon=av", raw, force AV from native AJ multiword)
* expected result: "en la samea suda" (fake AV by PP "en", is useful again)
* actual result: "{{#invoke:lili|ek|sma|mon=av}}"
::* #T33 ("io|mon=av|maj=1", raw, force AV from native SB and uppercase)
::* expected result: "Ide"
::* actual result: "{{#invoke:lili|ek|io|mon=av|maj=1}}"
* #T34 ("sv|mon=av|maj=1", raw, force AV from native AJ and uppercase)
* expected result: "Svede"
* actual result: "{{#invoke:lili|ek|sv|mon=av|maj=1}}"
::* #T35 ("sma|mon=av|maj=1", raw, force AV from native AJ multiword and uppercase)
::* expected result: "En la samea suda" (fake AV by PP "en", is useful again)
::* actual result: "{{#invoke:lili|ek|sma|mon=av|maj=1}}"
{{hr3}} <!-------------------------------->
:::: raw, force AJ (long) or force AV (long) or ...ajxo
* #T40 (raw, ...lingva from native SB)
* parameters: "|io|mon=ga"
* expected result: "idlingva"
* actual result: "{{#invoke:lili|ek|io|mon=ga}}"
::* #T41 (raw, ...lingva accusative plural from native SB)
::* parameters: "|io|mon=ga|fle=jn"
::* expected result: "idlingvajn"
::* actual result: "{{#invoke:lili|ek|io|mon=ga|fle=jn}}"
{{hr3}} <!-------------------------------->
* #T50 ("eo|tip=LA", simple example, native SB)
* expected result: link to "Aldono:Esperanto" with text "Esperanto"
* actual result: "{{#invoke:lili|ek|eo|tip=LA}}"
::* #T51 ("ko|tip=LA", simple example, native AJ)
::* expected result: link to "Aldono:Korea" with text "korea" (note the letter case)
::* actual result: "{{#invoke:lili|ek|ko|tip=LA}}"
* #T52 ("eo|tip=LK", simple example, native SB)
* expected result: link to "Kategorio:Esperanto" with hidden colon ":" and visible text "Esperanto"
* actual result: "{{#invoke:lili|ek|eo|tip=LK}}"
* actual result via debu: "{{debu|{{#invoke:lili|ek|eo|tip=LK}}|outctl=nw}}"
::* #T53 ("ko|tip=LK", simple example, native AJ)
::* expected result: link to "Kategorio:Korea" with hidden colon ":" and visible text "korea"
::* actual result: "{{#invoke:lili|ek|ko|tip=LK}}"
::* actual result via debu: "{{debu|{{#invoke:lili|ek|ko|tip=LK}}|outctl=nw}}"
* #T54 ("sma|tip=LK|mon=aj|fle=j", force AJ and plural from native AJ multiword)
* expected result: link to "Kategorio:Samea suda" with hidden colon ":" and visible text "sameaj sudaj"
* actual result: "{{#invoke:lili|ek|sma|tip=LK|mon=aj|fle=j}}"
* actual result via debu: "{{debu|{{#invoke:lili|ek|sma|tip=LK|mon=aj|fle=j}}|outctl=nw}}"
{{hr3}} <!-------------------------------->
* #T60 ("vo|tip=KE", simple example, native SB)
* expected result: below cat insertion "Kategorio:Volapuko"
* actual result: "{ {#invoke:lili|ek|vo|tip=KE} }" (blocked)
* actual result via debu: "{{debu|{{#invoke:lili|ek|vo|tip=KE}}|outctl=nw}}"
::* #T61 ("ko|tip=KE", simple example, native AJ)
::* expected result: below cat insertion "Kategorio:Korea"
::* actual result: "{ {#invoke:lili|ek|ko|tip=KE} }" (blocked)
::* actual result via debu: "{{debu|{{#invoke:lili|ek|ko|tip=KE}}|outctl=nw}}"
* #T62 ("ia|tip=KE|hin=Fivortaro", native SB, supply cat name and use hint)
* expected result: below cat insertion "Kategorio:Fivortaro" with hint "interlingvao"
* actual result: "{ {#invoke:lili|ek|ia|tip=KE|hin=Fivortaro} }" (blocked)
* actual result via debu: "{{debu|{{#invoke:lili|ek|ia|tip=KE|hin=Fivortaro}}|outctl=nw}}"
::* #T63 ("ko|tip=KE|hin=Fivortaro", native AJ, supply cat name and use hint)
::* expected result: below cat insertion "Kategorio:Fivortaro" with hint "korea"
::* actual result: "{ {#invoke:lili|ek|ko|tip=KE|hin=Fivortaro} }" (blocked)
::* actual result via debu: "{{debu|{{#invoke:lili|ek|ko|tip=KE|hin=Fivortaro}}|outctl=nw}}"
{{hr3}} <!-------------------------------->
* note that tests #T42 ... #T44 and #T60 ... #T63 depend on "debu"
* note that tests #T60 ... #T63 cannot be reasonably executed on the docs subpage without help of "pate" or "debu"
{{hr3}} <!-------------------------------->
</noinclude>
20ko8eh5556va01633udw0stg354u6y
1475656
1475655
2026-08-30T16:52:15Z
Taylor 49
4683
.
1475656
wikitext
text/x-wiki
{{doku-mp}}
{{protektomoŝa}}
* Ĉi tiu modulo efektivigas laboron de ŝablono {{ŝl|lili}} kaj estas vokata sole de tie.
* Dependas de:
** modulo {{modu|loaddata-tbllingvoj}} (tabelo T78) siavice de permodule legata ŝablono {{ŝl|tbllingvoj}}
<noinclude>
{{hr3}} <!-------------------------------->
:::: basic usage
* #T00 (no params, bad)
* parameters: ""
* expected result: #E08
* actual result: "{{#invoke:mlili|ek}}"
::* #T01 (two anon parameters, too many)
::* parameters: "|eo|io"
::* expected result: #E08
::* actual result: "{{#invoke:mlili|ek|eo|io}}"
* #T02 (simplest example, native SB)
* parameters: "|vo"
* expected result: "Volapuko"
* actual result: "{{#invoke:mlili|ek|vo}}"
::* #T03 (simplest example, native AJ)
::* parameters: "|ko"
::* expected result: "korea"
::* actual result: "{{#invoke:mlili|ek|ko}}"
{{hr3}} <!-------------------------------->
:::: raw, types "la" "li" "lu"
* #T10 (raw, add "la" if needed to native SB, NOT added)
* parameters: "|io|mon=la"
* expected result: "Ido"
* actual result: "{{#invoke:mlili|ek|io|mon=la}}"
::* #T11 (raw, add "lingvo" if needed to native SB, NOT added)
::* parameters: "|sa|mon=li"
::* expected result: "Sanskrito"
::* actual result: "{{#invoke:mlili|ek|sa|mon=li}}"
* #T12 (raw, add "la" if needed to native AJ, indeed added)
* parameters: "|sv|mon=la"
* expected result: "la sveda"
* actual result: "{{#invoke:mlili|ek|sv|mon=la}}"
::* #T13 (raw, add "lingvo" if needed to native AJ, indeed added, langname with decorations)
::* parameters: "|cv|mon=li"
::* expected result (with decorated letters): "cxuvasxa lingvo"
::* actual result: "{{#invoke:mlili|ek|cv|mon=li}}"
* #T14 (raw, add "la" if needed to native AJ multiword, indeed added)
* parameters: "|sma|mon=la"
* expected result: "la samea suda"
* actual result: "{{#invoke:mlili|ek|sma|mon=la}}"
::* #T15 (raw, add both "la" and "lingvo" if needed to native AJ multiword, indeed added, langname with decorations)
::* parameters: "|apw|mon=lu"
::* expected result (with decorated letters): "la apacxa okcidenta lingvo"
::* actual result: "{{#invoke:mlili|ek|apw|mon=lu}}"
{{hr3}} <!-------------------------------->
:::: raw, force root or force AJ (short)
* #T20 (raw, force AJ from native SB)
* parameters: "|io|mon=aj"
* expected result: "ida"
* actual result: "{{#invoke:mlili|ek|io|mon=aj}}"
::* #T21 (raw, force AJ from native AJ)
::* parameters: "|sv|mon=aj"
::* expected result: "sveda"
::* actual result: "{{#invoke:mlili|ek|sv|mon=aj}}"
* #T22 ("sma|mon=aj", raw, force AJ from native AJ multiword)
* expected result: "samea suda"
* actual result: "{{#invoke:mlili|ek|sma|mon=aj}}"
::* #T23 ("io|mon=sf", raw, force root from native SB)
::* expected result: "id" (note that this is langname "Ido", not langcode "id")
::* actual result: "{{#invoke:mlili|ek|io|mon=sf}}"
* #T24 ("sv|mon=sf", raw, force root from native AJ)
* expected result: "sved"
* actual result: "{{#invoke:mlili|ek|sv|mon=sf}}"
::* #T25 ("sma|mon=sf", raw, force root from native AJ multiword)
::* expected result: "samea sud" (useless)
::* actual result: "{{#invoke:mlili|ek|sma|mon=sf}}"
* #T26 ("sv|mon=aj|fle=j", raw, force AJ and plural from native AJ)
* expected result: "svedaj"
* actual result: "{{#invoke:mlili|ek|sv|mon=aj|fle=j}}"
::* #T27 ("sma|mon=aj|fle=j", raw, force AJ and plural from native AJ multiword)
::* expected result: "sameaj sudaj"
::* actual result: "{{#invoke:mlili|ek|sma|mon=aj|fle=j}}"
* #T28 (raw, force AJ and plural from native SB)
* parameters: "|sa|mon=aj|fle=j"
* expected result: "sanskritaj"
* actual result: "{{#invoke:mlili|ek|sa|mon=aj|fle=j}}"
::* #T29 (raw, force AJ and accusative plural from native AJ multiword)
::* parameters: "|se|mon=aj|fle=jn"
::* expected result: "sameajn nordajn"
::* actual result: "{{#invoke:mlili|ek|se|mon=aj|fle=jn}}"
{{hr3}} <!-------------------------------->
:::: raw, force AV (short)
* #T30 (raw, force AV from native SB)
* parameters: "|io|mon=av"
* expected result: "ide"
* actual result: "{{#invoke:mlili|ek|io|mon=av}}"
::* #T31 (raw, force AV from native AJ)
::* parameters: "|sv|mon=av"
::* expected result: "svede"
::* actual result: "{{#invoke:mlili|ek|sv|mon=av}}"
* #T32 ("sma|mon=av", raw, force AV from native AJ multiword)
* expected result: "en la samea suda" (fake AV by PP "en", is useful again)
* actual result: "{{#invoke:mlili|ek|sma|mon=av}}"
::* #T33 ("io|mon=av|maj=1", raw, force AV from native SB and uppercase)
::* expected result: "Ide"
::* actual result: "{{#invoke:mlili|ek|io|mon=av|maj=1}}"
* #T34 ("sv|mon=av|maj=1", raw, force AV from native AJ and uppercase)
* expected result: "Svede"
* actual result: "{{#invoke:mlili|ek|sv|mon=av|maj=1}}"
::* #T35 ("sma|mon=av|maj=1", raw, force AV from native AJ multiword and uppercase)
::* expected result: "En la samea suda" (fake AV by PP "en", is useful again)
::* actual result: "{{#invoke:mlili|ek|sma|mon=av|maj=1}}"
{{hr3}} <!-------------------------------->
:::: raw, force AJ (long) or force AV (long) or ...ajxo
* #T40 (raw, ...lingva from native SB)
* parameters: "|io|mon=ga"
* expected result: "idlingva"
* actual result: "{{#invoke:mlili|ek|io|mon=ga}}"
::* #T41 (raw, ...lingva accusative plural from native SB)
::* parameters: "|io|mon=ga|fle=jn"
::* expected result: "idlingvajn"
::* actual result: "{{#invoke:mlili|ek|io|mon=ga|fle=jn}}"
{{hr3}} <!-------------------------------->
* #T50 ("eo|tip=LA", simple example, native SB)
* expected result: link to "Aldono:Esperanto" with text "Esperanto"
* actual result: "{{#invoke:mlili|ek|eo|tip=LA}}"
::* #T51 ("ko|tip=LA", simple example, native AJ)
::* expected result: link to "Aldono:Korea" with text "korea" (note the letter case)
::* actual result: "{{#invoke:mlili|ek|ko|tip=LA}}"
* #T52 ("eo|tip=LK", simple example, native SB)
* expected result: link to "Kategorio:Esperanto" with hidden colon ":" and visible text "Esperanto"
* actual result: "{{#invoke:mlili|ek|eo|tip=LK}}"
* actual result via debu: "{{debu|{{#invoke:mlili|ek|eo|tip=LK}}|outctl=nw}}"
::* #T53 ("ko|tip=LK", simple example, native AJ)
::* expected result: link to "Kategorio:Korea" with hidden colon ":" and visible text "korea"
::* actual result: "{{#invoke:mlili|ek|ko|tip=LK}}"
::* actual result via debu: "{{debu|{{#invoke:mlili|ek|ko|tip=LK}}|outctl=nw}}"
* #T54 ("sma|tip=LK|mon=aj|fle=j", force AJ and plural from native AJ multiword)
* expected result: link to "Kategorio:Samea suda" with hidden colon ":" and visible text "sameaj sudaj"
* actual result: "{{#invoke:mlili|ek|sma|tip=LK|mon=aj|fle=j}}"
* actual result via debu: "{{debu|{{#invoke:mlili|ek|sma|tip=LK|mon=aj|fle=j}}|outctl=nw}}"
{{hr3}} <!-------------------------------->
* #T60 ("vo|tip=KE", simple example, native SB)
* expected result: below cat insertion "Kategorio:Volapuko"
* actual result: "{ {#invoke:mlili|ek|vo|tip=KE} }" (blocked)
* actual result via debu: "{{debu|{{#invoke:mlili|ek|vo|tip=KE}}|outctl=nw}}"
::* #T61 ("ko|tip=KE", simple example, native AJ)
::* expected result: below cat insertion "Kategorio:Korea"
::* actual result: "{ {#invoke:mlili|ek|ko|tip=KE} }" (blocked)
::* actual result via debu: "{{debu|{{#invoke:mlili|ek|ko|tip=KE}}|outctl=nw}}"
* #T62 ("ia|tip=KE|hin=Fivortaro", native SB, supply cat name and use hint)
* expected result: below cat insertion "Kategorio:Fivortaro" with hint "interlingvao"
* actual result: "{ {#invoke:mlili|ek|ia|tip=KE|hin=Fivortaro} }" (blocked)
* actual result via debu: "{{debu|{{#invoke:mlili|ek|ia|tip=KE|hin=Fivortaro}}|outctl=nw}}"
::* #T63 ("ko|tip=KE|hin=Fivortaro", native AJ, supply cat name and use hint)
::* expected result: below cat insertion "Kategorio:Fivortaro" with hint "korea"
::* actual result: "{ {#invoke:mlili|ek|ko|tip=KE|hin=Fivortaro} }" (blocked)
::* actual result via debu: "{{debu|{{#invoke:mlili|ek|ko|tip=KE|hin=Fivortaro}}|outctl=nw}}"
{{hr3}} <!-------------------------------->
* note that tests #T42 ... #T44 and #T60 ... #T63 depend on "debu"
* note that tests #T60 ... #T63 cannot be reasonably executed on the docs subpage without help of "pate" or "debu"
{{hr3}} <!-------------------------------->
</noinclude>
62wfh54ykhu5e73trwmfx8muxd28fet
Kieva Rusjo
0
270978
1475640
1475486
2026-08-30T12:23:12Z
Taylor 49
4683
fix
1475640
wikitext
text/x-wiki
{{vikipedio}}
=={{Lingvo|eo}}==
==={{Vortospeco|substantivo|eo}}===
{{bildodek|Location of Kyivan Rus.png|Teritorio de '''Kieva Rusjo''' post morto de Jaroslavo la Saĝa en 1054}}
===={{Signifoj}}====
# {{k|eo|F: iama lando}} mezepoka orientslava imperio kun centro en la urbo Kievo
===={{Tradukoj}}====
{{trad-eko}}
* angla: {{t|en|Kievan Rus}}
* ukraina: {{t|uk|Київська Русь}}
{{trad-fino}}
skbofqj8kjuzmo3y84b5ihpowmm8nip
disdonilo
0
270988
1475651
1475604
2026-08-30T16:45:53Z
Taylor 49
4683
disrabilo
1475651
wikitext
text/x-wiki
=={{Lingvo|eo}}==
==={{Vortospeco|substantivo|eo}}===
{{Deklinacio-eo}}
==== {{Signifoj}} ====
# [[aparato]] kiu [[disdoni|disdonas]] ion, precipe malgrandajn kvantojn de produkto, kiel papero, sapo aŭ aliaj aĵoj
{{Vorterseparo}}
{{pref|dis}} + {{radi|don}} + {{sufi|il}} + {{fina|o}}
===={{Tradukoj}}====
{{trad-eko}}
* angla: {{t|en|dispenser}}
* hispana: {{t|es|dispensador}}
{{trad-fino}}
{{Referencoj}}
* [https://esperanto-me.org/dic English-Esperanto Annotated Dictionary]
32cyijk4w4fka768om6p5if3tw8zvpq
Modulo:LexemeRenderer
828
270990
1475638
1475598
2026-08-30T12:17:36Z
Taylor 49
4683
-- {{delete|-> [[Modulo:LeksemoHelpo]]}}
1475638
Scribunto
text/plain
-- {{delete|-> [[Modulo:LeksemoHelpo]]}}
0t64er9864b56jal93m7x5qi2p7juct
Ŝablono:klaso
10
270991
1475639
1475610
2026-08-30T12:18:26Z
Taylor 49
4683
<includeonly>{{#invoke:LeksemoHelpo|legiKategorion|{{tranĉi|{{{1|}}}|3}}}}</includeonly> <noinclude>[[Kategorio:Ŝablonaro ĝenerala]]</noinclude>
1475639
wikitext
text/x-wiki
<includeonly>{{#invoke:LeksemoHelpo|legiKategorion|{{tranĉi|{{{1|}}}|3}}}}</includeonly>
<noinclude>[[Kategorio:Ŝablonaro ĝenerala]]</noinclude>
k4dklam5ageempz943re17231ubs76x
пиявка
0
271003
1475654
1475635
2026-08-30T16:49:35Z
Taylor 49
4683
=={{Lingvo|ru}}== ==={{Vortospeco|substantivo|ru}}=== ===={{Signifoj}}==== # {{k|ru|F: anelido}} [[hirudo]]
1475654
wikitext
text/x-wiki
=={{Lingvo|ru}}==
==={{Vortospeco|substantivo|ru}}===
===={{Signifoj}}====
# {{k|ru|F: anelido}} [[hirudo]]
htz92w80bug77cbyfyr4r56f06t1i5h
Kategorio:Anelido
14
271006
1475650
2026-08-30T12:44:00Z
Taylor 49
4683
[[Kategorio:Besto]]
1475650
wikitext
text/x-wiki
[[Kategorio:Besto]]
q9vlh3gb7geqfmg3yx7o0qxy27f8e07