diff --git a/scripts/all-namespaces.py b/scripts/all-namespaces.py
index 1bb5cdb33..40cd62b9d 100644
--- a/scripts/all-namespaces.py
+++ b/scripts/all-namespaces.py
@@ -7,7 +7,7 @@
results: dict[str, list[str]] = {}
# XXX_LOCALES
-locales = ("ca", "da", "de", "el", "en", "eo", "es", "fr", "it", "ja", "no", "pt", "ro", "ru", "sv", "zh")
+locales = ("ca", "da", "de", "el", "en", "eo", "es", "fr", "it", "ja", "lt", "no", "pt", "ro", "ru", "sv", "zh")
for locale in locales:
result_discard_last: list[str] = []
diff --git a/tests/data/lt/Antigva ir Barbuda.wiki b/tests/data/lt/Antigva ir Barbuda.wiki
new file mode 100644
index 000000000..68733e098
--- /dev/null
+++ b/tests/data/lt/Antigva ir Barbuda.wiki
@@ -0,0 +1,88 @@
+[[Image:LocationAntiguaAndBarbuda.png|thumb|250px|[[Antigva ir Barbuda]]]]
+{{vikipedija|Antigva ir Barbuda}}
+== {{ltv}} ==
+=== ''Daiktavardis'' ===
+{{ltdkt}} {{f}}
+
+'''[[Antigva ir Barbuda]]'''
+# {{Kategorija|Valstybės|zodis=Antigva ir Barbuda}} - salų valstybė rytinėje [[Karibų jūra|Karibų jūros]] dalyje, [[Mažųjų Antilų salynas|Mažųjų Antilų salyne]], šalia [[Atlanto vandenynas|Atlanto vandenyno]].
+
+
+==== Etimologija ====
+{{Žodžiai|jung}}
+*[[Antigva]]
+*[[Barbuda]]
+
+
+==== Vertimai ====
+
+{{trans-top|vardas=Antigva ir Barbuda|kalba=lt|kt=Šalys Šiaurės Amerikoje}}
+{{afv1}} {{t+|af|Antigua en Barbuda}}
+{{sqv1}} {{t+|sq|Antigua dhe Barbuda}}
+{{env1}} {{t+|en|Antigua and Barbuda}}
+{{arv1}} {{t+|ar|أنتيغوا وبربودا|tr='antiighwaa wa-barbuudaa|sc=Arab}}
+{{hyv1}} {{t+|hy|Անտիգուա Բարբուդա|tr=Antigua Barbuda|sc=Armn}}
+{{bev1}} {{t+|be|Антыгуа і Барбуда|f|tr=Antýhua i Barbúda}}
+{{bnv1}} {{t+|bn|এন্টিগুয়া এবং বার্বুডা|sc=Beng}}
+{{bsv1}} {{t+|bs|Antigva i Barbuda|f}}
+{{brv1}} {{t+|br|Antigua ha Barbuda}}
+{{bgv1}} {{t+|bg|Антигуа и Барбуда|tr=Antigua i Barbuda}}
+{{wov1}} {{t+|wo|Antigua ak Barbuda}}
+{{csv1}} {{t+|cs|Antigua a Barbuda}}
+{{dav1}} {{t+|da|Antigua og Barbuda}}
+{{eov1}} {{t+|eo|Antigvo-Barbudo}}
+{{etv1}} {{t+|et|Antigua ja Barbuda}}
+{{glv1}} {{t+|gl|Antiga e Barbuda}}
+{{elv1}} {{t+|el|Αντίγκουα και Μπαρμπούντα|tr=Antígoua kai Barboúda|f|sc=Grek}}
+{{guv1}} {{t+|gu|એંટિગુવા અને બર્બુડા|sc=Gujr}}
+{{hev1}} {{t+|he|אנטיגואה וברבודה|tr=antigvah ve-barbudah|sc=Hebr}}
+{{hiv1}} {{t+|hi|एन्टिगुवा और बर्बुडा|tr=enṭiguvā aur barbuḍā|sc=Deva}}
+{{idv1}} {{t+|id|Antigua dan Barbuda}}
+{{iav1}} {{t+|ia|Antigua e Barbuda}}
+{{isv1}} {{t+|is|Antígva og Barbúda}}
+{{esv1}} {{t+|es|Antigua y Barbuda|f}}
+{{itv1}} {{t+|it|Antigua e Barbuda}}
+{{jav1}} {{t+|ja|アンティグア・バーブーダ|tr=Antigua Bābūda}}
+{{cav1}} {{t+|ca|Antigua i Barbuda}}
+{{zhv1}}
+{{cmnv1}} {{t+|cmn|安提瓜島和巴布達|sc=Hani}}, {{t+|cmn|安提瓜岛和巴布达|tr=Āntíguā hé Bābùdá|sc=Hani}}
+{{kov1}} {{t+|ko|앤티가 바부다|tr=Aentiga Babuda|sc=Kore}}
+{{trans-mid}}
+{{hrv1}} {{t+|hr|Antigva i Barbuda}}
+{{lvv1}} {{t+|lv|Antigva un Barbuda}}
+{{plv1}} {{t+|pl|Antigua i Barbuda|f}}
+{{mkv1}} {{t+|mk|Антигва и Барбуда|f|tr=Antígva i Barbúda}}
+{{msv1}} {{t+|ms|Antigua dan Barbuda}}
+{{mtv1}} {{t+|mt|Antigwa u Barbuda}}
+{{mrv1}} {{t+|mr|एन्टिगुवा आणि बर्बूडा|tr=enṭiguvā āṇi barbūḍā|sc=Deva}}
+{{nav1}} {{t+|na|Antigua me Barbuda}}
+{{nvv1}} {{tø|nv|Antíígwa dóó Hashkʼaan Bikéyah Yázhí}}
+{{nov1}} {{t+|no|Antigua og Barbuda}}
+{{nlv1}} {{t+|nl|Antigua en Barbuda}}
+{{fav1}} {{t+|fa|آنتیگوا و باربودا|tr=Ântigvâ va Bârbudâ|sc=fa-Arab}}
+{{ptv1}} {{t+|pt|Antígua e Barbuda}}
+{{frv1}} {{t+|fr|Antigua-et-Barbuda}}
+{{rov1}} {{t+|ro|Antigua și Barbuda|f}}
+{{ruv1}} {{t+|ru|Антигуа и Барбуда|f|tr=Antígua i Barbúda}}
+{{shv1}}
+*:Kirilica: {{t+|sh|Антигва и Барбуда|sc=Cyrl}}
+*:Lotyniškai: {{t+|sh|Antigva i Barbuda}}
+{{skv1}} {{t+|sk|Antigua a Barbuda}}
+{{slv1}} {{t+|sl|Antigva in Barbuda}}
+{{fiv1}} {{t+|fi|Antigua ja Barbuda}}
+{{swv1}} {{t+|sw|Antigua na Barbuda}}
+{{gdv1}} {{t+|gd|Antigua agus Barbuda}}
+{{svv1}} {{t+|sv|Antigua och Barbuda}}
+{{tlv1}} {{t+|tl|Antigua at Barbuda}}
+{{trv1}} {{t+|tr|Antigua ve Barbuda}}
+{{ukv1}} {{t+|uk|Антигуа і Барбуда|f|tr=Antýhua i Barbúda}}
+{{huv1}} {{t+|hu|Antigua és Barbuda}}
+{{dev1}} {{t+|de|Antigua und Barbuda|n}}
+{{ruev1}} {{t+|rue|Антіґуа і Барбуда|f|tr=Antig'ua i Barbuda|sc=Cyrl}}
+{{extv1}} {{t+|ext|Antígua i Barbua}}
+{{trans-bottom}}
+
+=== Taip pat žiūrėkite ===
+
+{{Amerika}}
+{{Commons|Antigua and Barbuda|no=T}}
diff --git a/tests/data/lt/abalienacija.wiki b/tests/data/lt/abalienacija.wiki
new file mode 100644
index 000000000..4e4676144
--- /dev/null
+++ b/tests/data/lt/abalienacija.wiki
@@ -0,0 +1,36 @@
+{{see|abalienaciją}}
+== {{ltv}} ==
+
+=== ''Daiktavardis'' ===
+{{ltdkt|forma=f-mot-6l-a|šakn=abalienacij|pform=[[abalienacija]]|skiem=a-ba-lie-na-ci-ja}}
+
+'''abalienãcija''':
+
+# {{Kategorija|Ekonomika}} - [[turtas|turto]] [[nusavinimas]] arba [[perleidimas]].
+
+==== Etimologija ====
+
+{{la|abalienatio}}
+
+[[Category:Lotyniškos kilmės žodžiai/Lietuvių kalba]]
+
+
+==== Vertimai ====
+
+{{trans-top|kalba=lt|vardas=abalienacija|kt=Ekonomika}}
+{{env1}} {{t+|en|transfer of property}}
+{{versk|et|abalienacija}}
+{{versk|es|abalienacija}}
+{{versk|it|abalienacija}}
+{{versk|lv|abalienacija}}
+{{versk|pl|abalienacija}}
+{{trans-mid}}
+{{lav1}} {{t+|la|abalienatio}}
+{{versk|pt|abalienacija}}
+{{versk|fr|abalienacija}}
+{{versk|ru|abalienacija}}
+{{versk|de|abalienacija}}
+{{trans-bottom}}
+
+
+----
diff --git a/tests/data/lt/dengti.wiki b/tests/data/lt/dengti.wiki
new file mode 100644
index 000000000..fbc7496ca
--- /dev/null
+++ b/tests/data/lt/dengti.wiki
@@ -0,0 +1,96 @@
+== {{ltv}} ==
+=== ''Veiksmažodis'' ===
+{{ltvks|forma=f-1a-gti-ia-ė
+|bšakn=den|eslšakn=deng|btklšakn=deng
+|pform=[[dengti]]
+|pform1=[[dengia]]
+|pform2=[[dengė]]
+|dalyviai=t
+|skiem=deng-ti}}
+
+'''[[dengti]]'''
+# [[dėti]], [[kloti]] ant viršaus
+#* '''''Dengė''' puodą (su) dangčiu. Stalas baltai '''dengtas'''.''
+# [[traukti]], [[gobti]]
+#* ''Debesys '''dengia''' dangų. Sniegas '''dengė''' žemę.''
+# [[dėti]] (stogą), [[stiegti]]
+#* ''Stogas čerpėmis '''dengtas'''. Dangumi '''dengtas''' (be stogo).''
+# [[aprūpinti]] drabužiais, [[rengti]]
+#* ''Jį giminės '''dengia''' ir maitina.''
+# {{p}} [[ginti]], [[užstoti]], [[slėpti]]
+#* ''Kas nusikaltėlį '''dengia'''? Kulkosvaidžiu '''dengė''' atsitraukiantį dalinį.''
+# {{Kategorija|Sportas}} - [[neleisti]] laisvai [[veikti]] varžovų puolėjui
+#* ''Puolė gerai, bet '''dengė''' prastai.''
+# {{š}} greitai, smarkiai ką [[daryti]] ([[eiti]], [[bėgti]], [[važiuoti]]; [[mušti]], [[trenkti]], [[rėžti]]; [[valgyti]], [[gerti]])
+
+
+==== Sinonimai ====
+
+{{sin-top|kalba=lt|vardas=dengti|tipas=bendrai}}
+* {{t+|lt|bėgti}}
+* {{t+|lt|kloti}}
+* {{t+|lt|pleikti|t}}
+* {{t+|lt|rengti}}
+{{sin-mid}}
+* {{t+|lt|smogti }}
+* {{t+|lt|stiegti}}
+* {{t+|lt|tiesti}}
+{{sin-bottom}}
+
+==== Antonimai ====
+
+{{ant-top|kalba=lt|vardas=dengti|tipas=bendrai}}
+* {{t+|lt|nedengti}}
+{{ant-mid}}
+{{ant-bottom}}
+
+==== Išvestiniai žodžiai ====
+
+{{rel-top|kalba=lt|vardas=dengti|tipas=Išvestiniai žodžiai}}
+* {{t+|lt|antdengti}}
+* {{t+|lt|apdengti}}
+* {{t+|lt|atidengti}}
+* {{t+|lt|dengikas}}
+* {{t+|lt|dengikė}}
+* {{t+|lt|dengimasis}}
+* {{t+|lt|dengimas}}
+* {{t+|lt|dengtis}}
+* {{t+|lt|dengėjas}}
+* {{t+|lt|dengėja}}
+{{rel-mid}}
+* {{t+|lt|išdengti}}
+* {{t+|lt|nedengti}}
+* {{t+|lt|nudengti}}
+* {{t+|lt|padengti}}
+* {{t+|lt|pardengti}}
+* {{t+|lt|perdengti}}
+* {{t+|lt|pradengti}}
+* {{t+|lt|pridengti}}
+* {{t+|lt|sudengti}}
+* {{t+|lt|uždengti}}
+{{rel-bottom}}
+
+==== Vertimai ====
+
+{{trans-top|kalba=lt|vardas=dengti|tipas=bendrai}}
+{{env1}} {{t+|en|lay|pst=stalą}}, {{t+|en|enshroud}}, {{t+|en|shroud}}, {{t+|en|clothe}}, {{t+|en|bury}}, {{t+|en|cloak}}, {{t+|en|coat}}, {{t+|en|cap}}, {{t+|en|screen|pst=apsaugojant}}, {{t+|en|cover}}, {{t+|en|mark}}
+{{trans-mid}}
+{{trans-bottom}}
+
+
+
+----
+=== ''Dalyvis'' ===
+{{ltdlv|tipas=įvard|forma=f-as|dalis=[[būt. l.]] [[neveik. dlv.]]|šakn=dengt
+|pform=[[dengtas]]
+|pformm=[[dengta]]
+|skiem=deng-ti}}
+
+'''[[dengti]]'''
+# tas kurį [[dengė]]
+
+==== Etimologija ====
+<= [[dengti]], [[dengia]], [[dengė]]
+
+
+----
diff --git a/tests/data/lt/informatikos.wiki b/tests/data/lt/informatikos.wiki
new file mode 100644
index 000000000..62ac04f10
--- /dev/null
+++ b/tests/data/lt/informatikos.wiki
@@ -0,0 +1,4 @@
+== {{ltv}} ==
+=== ''Daiktavardis'' ===
+{{ltdkt|forma=f-mot-6l-a|šakn=informatik|šakn2=informatik|šakn3=informatik|šakn4=informatik
+|pform=[[informatika]]}}
diff --git a/tests/data/lt/informatyvus.wiki b/tests/data/lt/informatyvus.wiki
new file mode 100644
index 000000000..4a2929f00
--- /dev/null
+++ b/tests/data/lt/informatyvus.wiki
@@ -0,0 +1,15 @@
+== {{ltv}} ==
+=== ''Būdvardis'' ===
+{{ltbdv|tipas=įvard-laips|forma=f-us|šakn=informatyv
+|pform=[[informatyvus]]
+|pformm=[[informatyvi]]
+|skiem=in-for-ma-ty-vus}}
+
+'''[[informatyvus]]'''
+# teikiantis daug [[informacija|informacijos]]
+
+==== Etimologija ====
+[[informuoti]] + [[-atyv]]
+
+
+----
diff --git a/tests/data/lt/pasaulis.wiki b/tests/data/lt/pasaulis.wiki
new file mode 100644
index 000000000..78a71f31f
--- /dev/null
+++ b/tests/data/lt/pasaulis.wiki
@@ -0,0 +1,94 @@
+[[Image:The Blue Marble.jpg|thumb|250px|[[Žemė]]]]
+{{vikipedija|Žemė}}
+{{vikicitatos|Pasaulis}}
+== {{ltv}} ==
+=== ''Daiktavardis'' ===
+{{ltdkt|forma=f-vyr-3l-is|šakn=pasaul|šakn2=pasaul}}
+'''[[pasaulis]]'''
+# visa žemė; [[Žemė]]s rutulys
+# visi žmonės; aplinkiniai žmonės
+# [[visata]]
+
+==== Simboliai ====
+* [[🜨]], [[♁]]
+
+==== Išraiškos arba posakiai ====
+*'''[[Pasaulio vandenynas]]''' {{Kategorija|Vandenynai}}
+
+==== Vertimai ====
+{{trans-top|vardas=pasaulis|kalba=lt|tipas=visa žemė}}
+{{gav1}} {{t+|ga|domhan|m}}
+{{akzv1}} {{t+|akz|ihaani onaami}}
+{{amsv1}} {{t+|ams|シェかい|tr=sjexa'i}}
+{{env1}} {{t+|en|world}}
+{{arv1}} {{t+|ar|عالم|m|tr=3aalam}}, {{t+|ar|دنيا|tr=dunyaa}}
+{{hyv1}} {{t+|hy|աշխարհ|tr=ašxarh}}
+{{versk|ast|pasaulis}}
+{{euv1}} {{t+|eu|mundu}}, {{t+|eu|lur}}
+{{bnv1}} {{t+|bn|দুনিয়া|tr=duniya|sc=Beng|xs=Bengali}}
+{{bsv1}} {{t+|bs|svijet|m}}
+{{versk|dz|pasaulis}}
+{{brv1}} {{t+|br|bed|m}}
+{{csv1}} {{t+|cs|svět|m}}
+{{dav1}} {{t+|da|verden|c}}
+{{etv1}} {{t+|et|maakera}}
+{{eev1}} {{t+|ee|xexeme}}
+{{fyv1}} {{t+|fy|wrâld}}, {{t+|fy|ierde}}
+{{elv1}} {{t+|el|κόσμος|m|tr=kósmos}}
+{{hev1}} {{t+|he|עולם|m|tr=olám}}
+{{hiv1}} {{t+|hi|दुनिया|f|tr=duniyā|xs=Hindi}}
+{{idv1}} {{t+|id|Dunia}}
+{{isv1}} {{t+|is|veröld|f}}
+{{esv1}} {{t+|es|mundo|m}}, {{t+|es|globo|m}}, {{t+|es|tierra|f}}
+{{itv1}} {{t+|it|mondo|m}}
+{{jav1}} {{t+|ja|世界|sc=Jpan}} ({{t+|ja|せかい|sc=Jpan}}, sekai)
+{{yiv1}} {{t+|yi|וועלט|sc=Hebr}}
+{{sgsv1}} {{t+|sgs|sviets}}
+{{versk|kn|pasaulis}}
+{{versk|km|pasaulis}}
+{{zhv1}}
+{{cmnv1}} {{t+|cmn|世界|tr=shìjiè|sc=Hani}}
+{{kov1}} {{t+|ko|세계|tr=segye|sc=Hang}}
+{{hrv1}} {{t+|hr|svijet|m}}
+{{xugv1}} {{t+|xug|シケー|tr=si↗kee|sc=Jpan}}
+{{kuv1}} {{t+|ku|دنیا|sc=ku-Arab}}, {{t+|ku|dinya}}
+{{ltgv1}} {{t+|ltg|pasauļs|m}}
+{{lvv1}} {{t+|lv|pasaule|f}}
+{{trans-mid}}
+{{plv1}} {{t+|pl|świat|m}}
+{{lav1}} {{t+|la|mundus|m}}
+{{msv1}} {{t+|ms|dunia|xs=Malay}}
+{{versk|my|pasaulis}}
+{{nov1}} {{t+|no|verden|m}}
+{{ryuv1}} {{t+|ryu|しけー|tr=sikee|sc=Jpan}}
+{{versk|oc|pasaulis}}
+* [[Old Frisian]]: [[wrald]]
+{{nlv1}} {{t+|nl|aarde|f|m}}, {{t+|nl|wereld|m|f}}
+{{fav1}} {{t+|fa|گیتی|tr=giti|xs=Persian}}, {{t+|fa|جهان|tr=jahân|xs=Persian}}
+{{nanv1}} {{t+|nan|世界}} ({{t+|nan|sè-kài}})
+{{ptv1}} {{t+|pt|mundo|m}}
+{{frv1}} {{t+|fr|monde|m}}, {{t+|fr|Terre|f}}
+{{rmv1}} {{t+|rm|mund|m}}
+{{rov1}} {{t+|ro|lume}}, {{t+|ro|pământ}}
+{{ruv1}} {{t+|ru|мир|m|tr=mir}}, {{t+|ru|свет|m|tr=svet}}
+{{cuv1}} {{t+|cu|миръ|m|tr=mirŭ|sc=Glag}}, {{t+|cu|ⰏⰉⰓⰟ|m|tr=mirŭ|sc=Glag}}
+{{grcv1}} {{t+|grc|κόσμος|tr=kosmos|sc=polytonic}}
+{{srv1}} {{t+|sr|свет|m|sc=Cyrl}}, {{t+|sr|svet|m}}, {{t+|sr|свијет|m|sc=Cyrl}}, {{t+|sr|svijet|m}}
+{{scnv1}} {{t+|scn|munnu|m}}, {{t+|scn|terra|f}}
+{{fiv1}} {{t+|fi|maailma}}, {{t+|fi|maapallo}}, {{t+|fi|maa}}
+{{scov1}} {{t+|sco|warld}}
+{{gdv1}} {{t+|gd|saoghal|m|xs=Scottish Gaelic}}, {{t+|gd|cruinne-cè|m|f}}
+{{svv1}} {{t+|sv|värld|c}}
+{{versk|th|pasaulis}}
+{{versk|ta|pasaulis}}
+{{versk|te|pasaulis}}
+{{bov1}} {{t+|bo|འཛམ་གླིང་།|tr='dzam gling|sc=Tibt}}
+{{trv1}} {{t+|tr|Dünya}}, {{t+|tr|acun}}
+{{ukv1}} {{t+|uk|світ|m|xs=Ukrainian}}
+{{urv1}} {{t+|ur|دنیا|f|xs=Urdu}}
+{{cyv1}} {{t+|cy|byd|m}}
+{{huv1}} {{t+|hu|világ}}
+{{viv1}} {{t+|vi|thế giới}}
+{{dev1}} {{t+|de|Welt|f}}, {{t+|de|Erde|f}}
+{{trans-bottom}}
+----
diff --git a/tests/data/lt/senas.wiki b/tests/data/lt/senas.wiki
new file mode 100644
index 000000000..fa3c99704
--- /dev/null
+++ b/tests/data/lt/senas.wiki
@@ -0,0 +1,660 @@
+== {{ltv}} ==
+=== ''Būdvardis'' ===
+{{ltbdv|tipas=įvard-laips|forma=f-as
+|šakn=sen
+|pform=[[senas]]
+|pformm=[[sena]]
+|skiem=sẽ-nas}}
+
+'''[[senas]]'''
+
+#jau kuris [[laikas]] [[esantis]]
+#ilgai [[vartotas]], [[palaikis]]
+#anksčiau [[buvęs]], [[nedabartinis]], [[pasenęs]]
+#prieš tai buvęs
+#[[pabuvęs]], [[palaikytas]], [[pastovėjęs]]
+
+
+=== Tarimas ===
+{{IPA|[ˈsʲæːnɐs]}}
+
+==== Etimologija ====
+Iš {{proto|indoeuropiečių|sénos}}. Plg. senovės graikų k. ''[[ἕνος]]'' (henos), sanskrito [[सन]] (sána) ir gotų k. [[𐍃𐌹𐌽𐌴𐌹𐌲𐍃]] (sineigs).
+
+
+==== Sinonimai ====
+
+{{sin-top|kalba=lt|vardas=senas|tipas=bendrai}}
+* {{t+|lt|archajiškas}}
+{{sin-mid}}
+* {{t+|lt|nejaunas}}
+{{sin-bottom}}
+
+==== Antonimai ====
+
+{{ant-top|kalba=lt|vardas=senas|tipas=bendrai}}
+* {{t+|lt|jaunas}}
+{{ant-mid}}
+* {{t+|lt|naujas}}
+{{ant-bottom}}
+
+==== Išraiškos arba posakiai ====
+{{rel-top|kalba=lt|vardas=senas|tipas=Kilę žodžiai}}
+* [[apsenys]]
+* [[apyseniai]]
+* [[apysenis]]
+* [[pasenas]]
+* [[paseniai]]
+* [[paseniūnis]]
+* [[pasenokas]]
+* [[pasenusiai]]
+* [[pasenykščiom]]
+* [[pasenys]]
+* [[pasenėlis]]
+* [[persena]]
+* [[persenis]]
+* [[persenėlis]]
+* [[po senam]]
+* [[po seno]]
+* [[poseniai]]
+* [[posenis]]
+* [[posenolis]]
+* [[prasenas]]
+* [[prasenis]]
+* [[prasenobė]]
+* [[prasenoviškas]]
+* [[prasenovė]]
+* [[priesenis]]
+* [[priešsenatvinis]]
+* [[proprosenelis]]
+* [[proprosenelė]]
+* [[proproseniai]]
+* [[proprosenolis]]
+* [[proprosenolė]]
+* [[prosenas]]
+* [[proseneliai]]
+* [[prosenelis]]
+* [[proseneliškas]]
+* [[proseniai]]
+* [[prosenis]]
+* [[prosenobinis]]
+* [[prosenobiškas]]
+* [[prosenobė]]
+* [[prosenoliai]]
+* [[prosenolis]]
+* [[prosenovinis]]
+* [[prosenoviškas]]
+* [[prosenovė]]
+* [[prosenutis]]
+* [[prosenučiai]]
+* [[pussenis]]
+* [[sansenis]]
+* [[sen]]
+* [[sena galvelė]]
+* [[sena lapė]], [[senas lapė]]
+* [[senaamžis]]
+* [[senabiškas]]
+* [[senabuvys]]
+* [[senabė]]
+* [[senadienis]]
+* [[senadorius]]
+* [[senaduonis]]
+* [[senadvaris]]
+* [[senaesiai]]
+* [[senagagas]]
+* [[senagalas]]
+* [[senagalvėlis]]
+* [[senagalys]]
+* [[senagirė]]
+* [[senagulis]]
+* [[senai]]
+* [[senaip]]
+* [[senakaimis]]
+* [[senakapiai]]
+* [[senakapis]]
+* [[senakelis]]
+* [[senakelė]]
+* [[senakurys]]
+* [[senalamstis]]
+* [[senalietuviškas]]
+* [[senalis]]
+* [[senamadis]]
+* [[senamadiškas]]
+* [[senamadiškumas]]
+* [[senamartė]]
+* [[senamedis]]
+* [[senamedė]]
+* [[senamiestis]]
+* [[senamiškis]]
+* [[senamotė]]
+* [[senamėžinis]]
+* [[senamėžis]]
+* [[senamėžymis]]
+* [[senamėžė]]
+* [[senapalaikis]]
+* [[senapaukštis]]
+* [[senapienė]]
+* [[senapievė]]
+* [[senapilis]]
+* [[senapilė]]
+* [[senaprūdė]]
+* [[senaprūsiai]]
+* [[senaprūsis]]
+* [[senaprūsiškas]]
+* [[senapušis]]
+* [[senapušė]]
+* [[senaryčiai]]
+* [[senas]]
+* [[Senasis Testamentas]]
+* [[senasis vilkas]]
+* [[senasis]]
+* [[senasis įstatymas]]
+* [[senaskynimis]]
+* [[senasodis]]
+* [[senasparniai]]
+* [[senastis]]
+* [[senasėdija]]
+* [[senasėdis]]
+* [[senata]]
+* [[senatas]]
+* [[senatikis]]
+* [[senatikiškas]]
+* [[senatis]]
+* [[senatorybė]]
+* [[senatuva]]
+* [[senatuvė]]
+* [[senatva]]
+* [[senatvia]]
+* [[senatvija]]
+* [[senatvinis]]
+* [[senatviškas]]
+* [[senatvė]]
+* [[senatėvis]]
+* [[senauklė]]
+* [[senaupis]]
+* [[senaupė]]
+* [[senauti]]
+* [[senavadas]]
+* [[senavagis]]
+* [[senavedys]]
+* [[senavedžiai]]
+* [[senavietė]]
+* [[senavikas]]
+* [[senavimas]]
+* [[senašilis]]
+* [[senažiūris]]
+* [[senažiūriškumas]]
+* [[senažiūrumas]]
+* [[senažydis]]
+* [[senbabis]]
+* [[senbajoris]]
+* [[senbalė]]
+* [[senbernauti]]
+* [[senberniauti]]
+* [[senberniavimas]]
+* [[senbernis]]
+* [[senberniškas]]
+* [[senbernystė]]
+* [[senbernėti]]
+* [[senbezda]]
+* [[senbiza]]
+* [[senbizda]]
+* [[senbizdis]]
+* [[senbobinis]]
+* [[senbobė]]
+* [[senbočiai]]
+* [[senbutelis]]
+* [[senbutybė]]
+* [[senbuvis]]
+* [[senbuvybė]]
+* [[sendaiktininkas]]
+* [[sendaiktinė]]
+* [[sendaiktis]]
+* [[sendaržis]]
+* [[sendavatkė]]
+* [[sendinimas]]
+* [[sendinti]]
+* [[sendinėti]]
+* [[sendirvis]]
+* [[sendirvonis]]
+* [[sendirvė]]
+* [[sendrabužis]]
+* [[sendraugis]]
+* [[senduonė]]
+* [[sendvaris]]
+* [[sendvariškis]]
+* [[sendyti]]
+* [[sendzūkiai]]
+* [[sendėdžius]]
+* [[sendžiūvis]]
+* [[senega]]
+* [[seneikščias]]
+* [[seneklis]]
+* [[seneliai]]
+* [[seneliausias]]
+* [[seneliokas]]
+* [[seneliotė]]
+* [[senelis]]
+* [[seneliukiškas]]
+* [[seneliškas]]
+* [[seneliūkštis]]
+* [[seneluitis]]
+* [[senenybė]]
+* [[senesnybė]]
+* [[senest]]
+* [[senetva]]
+* [[senežeris]]
+* [[senežė]]
+* [[sengalis]]
+* [[sengalva]]
+* [[sengalvis]]
+* [[sengalvužėlis]]
+* [[sengalvėjėlis]]
+* [[sengalvėlis]]
+* [[sengatvis]]
+* [[sengeležis]]
+* [[sengelžis]]
+* [[sengentė]]
+* [[sengiris]]
+* [[sengirė]]
+* [[sengobšis]]
+* [[sengraikiai]]
+* [[sengraikiškas]]
+* [[sengriovis]]
+* [[sengrybis]]
+* [[sengudrystė]]
+* [[sengūžis]]
+* [[seniadie]]
+* [[seniai]]
+* [[seniaik]]
+* [[seniapalakis]]
+* [[senickai]]
+* [[senickas]]
+* [[senidien]]
+* [[seniekas]]
+* [[seniena]]
+* [[senienininkas]]
+* [[senieninkas]]
+* [[senika]]
+* [[senikas]]
+* [[senikė]]
+* [[senimas]]
+* [[senina]]
+* [[seninimas]]
+* [[seninis]]
+* [[seninteliai]]
+* [[senintelis]]
+* [[seninti]]
+* [[seniokas]]
+* [[seniokiškas]]
+* [[seniokšlis]]
+* [[seniotė]]
+* [[senis]]
+* [[senitelaitis]]
+* [[senitelys]]
+* [[senitkas]]
+* [[seniuoti]]
+* [[senius]]
+* [[seniuvienė]]
+{{rel-mid}}
+* [[seniądien]]
+* [[seniškas]]
+* [[seniūga]]
+* [[seniūgas]]
+* [[seniūkštis]]
+* [[seniūna]]
+* [[seniūnas]]
+* [[seniūnauti]]
+* [[seniūnavimas]]
+* [[seniūnienė]]
+* [[seniūnija]]
+* [[seniūninkauti]]
+* [[seniūniokas]]
+* [[seniūnis]]
+* [[seniūniukas]]
+* [[seniūnybė]]
+* [[seniūnystė]]
+* [[senkaimis]]
+* [[senkalbė]]
+* [[senkalkis]]
+* [[senkalnis]]
+* [[senkapiai]]
+* [[senkapis]]
+* [[senkarklis]]
+* [[senkaršis]]
+* [[senkatalikas]]
+* [[senkatalikis]]
+* [[senkatalikiškas]]
+* [[senkatalikystė]]
+* [[senkelis]]
+* [[senkelmis]]
+* [[senkeris]]
+* [[senkiaulė]]
+* [[senkietis]]
+* [[senkinti]]
+* [[senkis]]
+* [[senklonis]]
+* [[senknygės]]
+* [[senkriaušė]]
+* [[senkromis]]
+* [[senkrėtinis]]
+* [[senkrėtis]]
+* [[senkunigis]]
+* [[senlaikiai]]
+* [[senlaikis]]
+* [[senlatviai]]
+* [[senlaukis]]
+* [[senlenkiškas]]
+* [[senlietuviai]]
+* [[senlietuviškas]]
+* [[senlizdis]]
+* [[senmadiškas]]
+* [[senmalis]]
+* [[senmalžė]]
+* [[senmarka]]
+* [[senmartė]]
+* [[senmatė]]
+* [[senmedis]]
+* [[senmerga]]
+* [[senmergauti]]
+* [[senmergiauti]]
+* [[senmergiškas]]
+* [[senmergysta]]
+* [[senmergystė]]
+* [[senmergė]]
+* [[senmielės]]
+* [[senmiestis]]
+* [[senmiestiškas]]
+* [[senmiestiškis]]
+* [[senmilžė]]
+* [[senmiškis]]
+* [[senmotinė]]
+* [[senmotė]]
+* [[senmėšlis]]
+* [[senniekis]]
+* [[senobelė]]
+* [[senobiausias]]
+* [[senobinis]]
+* [[senobinė]]
+* [[senobiškas]]
+* [[senobiškumas]]
+* [[senobė]]
+* [[senoji]]
+* [[senokai]]
+* [[senokas]]
+* [[senoklis]]
+* [[senoklė]]
+* [[senokumas]]
+* [[senoliai]]
+* [[senolis]]
+* [[senolius]]
+* [[senoliškas]]
+* [[senomis]]
+* [[senomė]]
+* [[senonis]]
+* [[senopas]]
+* [[senota]]
+* [[senotaras]]
+* [[senotariškas]]
+* [[senotas]]
+* [[senovesnis]]
+* [[senoviausias]]
+* [[senovininkas]]
+* [[senovinis]]
+* [[senoviniškas]]
+* [[senovinti]]
+* [[senovinė]]
+* [[senoviškas]]
+* [[senoviškis]]
+* [[senoviškumas]]
+* [[senovybinis]]
+* [[senovybė]]
+* [[senovystė]]
+* [[senovė]]
+* [[senpaikis]]
+* [[senpaikšis]]
+* [[senpalaikis]]
+* [[senpanė]]
+* [[senpenis]]
+* [[senpirda]]
+* [[senpjovis]]
+* [[senplėšiniai]]
+* [[senponis]]
+* [[senpopieris]]
+* [[senprūsiai]]
+* [[senprūsis]]
+* [[senprūsiškas]]
+* [[senpuvis]]
+* [[senpušynis]]
+* [[senpušė]]
+* [[senraistis]]
+* [[senraštis]]
+* [[senraštvietė]]
+* [[senromėniškas]]
+* [[senrūbiai]]
+* [[senrūgis]]
+* [[senrūsis]]
+* [[sensausis]]
+* [[sensena]]
+* [[sensenis]]
+* [[sensenovė]]
+* [[senskolė]]
+* [[senskrabis]]
+* [[senslaviai]]
+* [[senslovėniai]]
+* [[senslovėniškas]]
+* [[senslėnis]]
+* [[sensniegis]]
+* [[sensodis]]
+* [[senstelėti]]
+* [[sensterėti]]
+* [[sensvietis]]
+* [[sentakis]]
+* [[sentaukiai]]
+* [[sentelėti]]
+* [[senterėti]]
+* [[sentestamentiškas]]
+* [[senti]]
+* [[sentikis]]
+* [[sentikiškas]]
+* [[sentimentalinis]]
+* [[sentimentalinti]]
+* [[sentimentalistas]]
+* [[sentimentalizmas]]
+* [[sentimentališkas]]
+* [[sentimentalumas]]
+* [[sentimentalus]]
+* [[sentimentas]]
+* [[sentorpynė]]
+* [[sentošis]]
+* [[sentrobė]]
+* [[senturgis]]
+* [[sentėtis]]
+* [[sentėvas]]
+* [[sentėviai]]
+* [[sentėvis]]
+* [[senugalis]]
+* [[senugalvis]]
+* [[senugnis]]
+* [[senukai]]
+* [[senulis]]
+* [[senulė]]
+* [[senuma]]
+* [[senumas]]
+* [[senumet]]
+* [[senumynai]]
+* [[senumynas]]
+* [[senumė]]
+* [[senuoliai]]
+* [[senuolis]]
+* [[senuolius]]
+* [[senuoliškas]]
+* [[senuomenė]]
+* [[senuoti]]
+* [[senuotis]]
+* [[senupis]]
+* [[senupė]]
+* [[senurvis]]
+* [[senutis]]
+* [[senučiai]]
+* [[senučiokas]]
+* [[senučiotė]]
+* [[senvadaksnis]]
+* [[senvaginis]]
+* [[senvagis]]
+* [[senvagė]]
+* [[senvaikis]]
+* [[senvaikiškas]]
+* [[senvaikysta]]
+* [[senvaikystė]]
+* [[senvaitis]]
+* [[senvežis]]
+* [[senvietė]]
+* [[senvieškelis]]
+* [[senvotė]]
+* [[senvyris]]
+* [[senvyriškas]]
+* [[senyba]]
+* [[senybas]]
+* [[senybietis]]
+* [[senybininkas]]
+* [[senybinis]]
+* [[senybinė]]
+* [[senybiškas]]
+* [[senybiškumas]]
+* [[senybė]]
+* [[senykščia]]
+* [[senykščias]]
+* [[senyla]]
+* [[senylis]]
+* [[senynas]]
+* [[senysis]]
+* [[senysta]]
+* [[senystva]]
+* [[senystė]]
+* [[senyti]]
+* [[senyva]]
+* [[senyvas]]
+* [[senyvis]]
+* [[senyviškas]]
+* [[senyvokas]]
+* [[senyvumas]]
+* [[senyvė]]
+* [[senądien]]
+* [[senė]]
+* [[senėjimas]]
+* [[senėta]]
+* [[senėti]]
+* [[senšaknė]]
+* [[senšena]]
+* [[senšluotė]]
+* [[senšunis]]
+* [[senūmenė]]
+* [[senžagariai]]
+* [[senžmogis]]
+* [[senžydis]]
+* [[sąsenis]]
+{{rel-bottom}}
+{{rel-top|kalba=lt|vardas=senas|tipas=Išraiškos}}
+* {{t+|lt|iš senų dienų}}
+* {{t+|lt|iš senų metų}}
+* {{t+|lt|senas dienas}}, {{t+|lt|seni dieni}}
+{{rel-mid}}
+* {{t+|lt|senos bėdos}}
+* {{t+|lt|senos dienos}}
+{{rel-bottom}}
+
+==== Vertimai ====
+{{trans-top|kalba=lt|vardas=senas|tipas=apie negyvus objektus: ilgai egzistavęs}}
+{{versk|ay|senas}}
+{{gav1}} {{t+|ga|sean|xs=Irish}}
+{{amsv1}} {{t+|ams|フルサリ|tr=hurusari}}, {{t+|ams|フルー|tr=huruu}}
+{{env1}} {{t+|en|old}}
+{{arv1}} {{t+|ar|قديم|tr=qadīm|sc=Arab}}
+{{anv1}} {{t+|an|biello}}
+{{hyv1}} {{t+|hy|հին|tr=hin}}
+{{euv1}} {{t+|eu|zahar}}
+{{bsv1}} {{t+|bs|star}}
+{{csv1}} {{t+|cs|starý}}
+{{romv1}} {{t+|rom|phurano|m}}, {{t+|rom|phurane|p}}
+{{dav1}} {{t+|da|gammel}}
+{{versk|et|senas}}
+{{eev1}} {{t+|ee|xoxo}}
+{{fyv1}} {{t+|fy|âld|xs=West Frisian}}
+{{glv1}} {{t+|gl|vello|xs=Galician}}
+{{gotv1}} {{t+|got|𐍃𐌹𐌽𐌴𐌹𐌲𐍃|tr=sineigs}}
+{{elv1}} {{t+|el|παλιός|m}} (paliós), {{t+|el|αρχαίος|m}} (archaíos)
+{{hev1}} {{t+|he|ישן|tr=ya'shan}}, {{t+|he|יָשָׁן|tr=ya'shan}}
+{{iov1}} {{t+|io|anciena}}
+{{isv1}} {{t+|is|gamall}}
+{{esv1}} {{t+|es|antiguo|m}}; {{t+|es|viejo|m}}
+{{itv1}} {{t+|it|vecchio|m}}, vecchia {{f}}, vecchi {{p}}, vecchie {{f|p}}
+{{jav1}} {{t+|ja|古い}} ({{t+|ja|ふるい}}, furui)
+{{cav1}} {{t+|ca|vell|m}}, vella {{f}}, antic {{m}}, antiga {{f}}
+{{zhv1}}
+{{cmnv1}} {{t+|cmn|舊}}的, {{t+|cmn|旧}}的 (jiù de), 很{{t+|cmn|久}}的 (hěn jiǔ de), {{t+|cmn|古老}}的 (gǔlǎo de)
+{{kov1}} {{t+|ko|낡다|tr=nakda}}, {{t+|ko|오래되다|tr=orae-doeda}}
+{{hrv1}} {{t+|hr|star}}
+{{xugv1}} {{t+|xug|プルセン|tr=puruseN}}
+{{kuv1}} {{t+|ku|kevn}}, {{t+|ku|کۆن|sc=ku-Arab}}
+{{ltgv1}} {{t+|ltg|senejs|m}}
+{{lvv1}} {{t+|lv|sens|m}}, {{t+|lv|vecs|m}}
+{{plv1}} {{t+|pl|stary|m}}, {{t+|pl|stare|n}}
+{{trans-mid}}
+{{livv1}} {{t+|liv|muini}}
+{{mlv1}} {{t+|ml|പഴയ|tr=pazhaya}}, {{t+|ml|പഴയത്|tr=pazhayathu}}
+{{versk|gv|senas}}
+{{mviv1}} {{t+|mvi|フいーフい|tr=fuy:fuy}}
+{{nov1}} {{t+|no|gammel}}
+{{nlv1}} {{t+|nl|oud}}
+{{ryuv1}} {{t+|ryu|ふるさん|tr=hurusaN}}
+{{ocv1}} {{t+|oc|vièlh|m}}
+{{fav1}} {{t+|fa|کهن|tr=kohan|xs=Persian}}, {{t+|fa|دیرین|tr=dirin|xs=Persian}}
+{{ptv1}} {{t+|pt|velho}}
+{{frv1}} {{t+|fr|vieux|m}}, {{t+|fr|vieil}}
+{{rov1}} {{t+|ro|vechi|m}}
+{{ruv1}} {{t+|ru|старый|tr=stáryj}}
+{{sav1}} {{t+|sa|सन|tr=sána|sc=Deva}}
+{{angv1}} {{t+|ang|eald|xs=Old English}}, {{t+|ang|gamol|xs=Old English}}
+{{xclv1}} {{t+|xcl|հին|tr=hin}}
+{{cuv1}} {{t+|cu|старъ|tr=starŭ|sc=Cyrs}}
+{{srv1}}
+*:Kirilica: {{t+|sr|стар|sc=Cyrl}}
+*:Lotyniškai: {{r+|sr|star}}
+{{skv1}} {{t+|sk|starý|m}}
+{{slv1}} {{t+|sl|star|m}}
+{{fiv1}} {{t+|fi|vanha}}
+{{swv1}} {{t+|sw|mkongwe|xs=Swahili}}, {{t+|sw|ukale|xs=Swahili}}
+{{gdv1}} {{t+|gd|sean}}, {{t+|gd|aosda}}, {{t+|gd|aosmhor}}
+{{svv1}} {{t+|sv|använd}}, {{t+|sv|förlegad}}, {{t+|sv|gammal}}, {{t+|sv|utsliten}}
+{{tlv1}} {{t+|tl|luma|xs=Tagalog}}
+{{tev1}} {{t+|te|పాత}} (paata)
+{{bov1}} {{t+|bo|རྙིང་པ་|tr=rnying pa|sc=Tibt}}
+{{trv1}} {{t+|tr|eski}}
+{{cyv1}} {{t+|cy|hen|xs=Welsh}}
+{{huv1}} {{t+|hu|régi}}
+{{dev1}} {{t+|de|alt}}
+{{trans-bottom}}
+{{trans-top|kalba=lt|vardas=senas|tipas=apie gyvus padarus: ilgai gyvenęs}}
+{{env1}} {{t+|en|old}}
+{{cccv1}} {{t+|ccc|shashaka}}
+{{etv1}} {{t+|et|vana}}
+{{esv1}} {{t+|es|viejo}}, {{t+|es|anciano}}
+{{versk|it|senas}}
+{{jav1}} {{t+|ja|年取った}} ({{t+|ja|としとった}}, toshitotta), {{t+|ja|老けた}} ({{t+|ja|ふけた}}, fuketa), {{t+|ja|年配の}} ({{t+|ja|ねんぱいの}}, nenpaino), {{t+|ja|年寄りの}} ({{t+|ja|としよりの}}, toshiyorino), {{t+|ja|老年の}} ({{t+|ja|ろうねんの}}, rounennno)
+{{lvv1}} {{t+|lv|vecs|m}}
+{{plv1}} {{t+|pl|stary|m}}
+{{lav1}} {{t+|la|vetus|m}}
+{{trans-mid}}
+{{versk|pt|senas}}
+{{versk|fr|senas}}
+{{ruv1}} {{t+|ru|старый|tr=stáryj}}
+{{angv1}} {{t+|ang|eald}}, {{t+|ang|gamol}}
+{{cuv1}} {{t+|cu|старъ|tr=starŭ|sc=Cyrs}}
+{{slv1}} {{t+|sl|star|m}}
+{{fiv1}} {{t+|fi|vanha}}
+{{trv1}} {{t+|tr|yaşlı}}
+{{dev1}} {{t+|de|alt}}
+{{trans-bottom}}
+
+----
diff --git a/tests/test_lt.py b/tests/test_lt.py
new file mode 100644
index 000000000..99038b07d
--- /dev/null
+++ b/tests/test_lt.py
@@ -0,0 +1,506 @@
+from collections.abc import Callable
+from pathlib import Path
+from unittest.mock import patch
+
+import pytest
+
+from wikidict import context
+from wikidict.render import parse_word
+from wikidict.stubs import Definitions
+
+
+@pytest.fixture(scope="module", autouse=True)
+def setup_lua_ctx() -> None:
+ with patch.dict("os.environ", {"CWD": str(Path(context.__file__).parent.parent)}):
+ assert context.reset("lt")
+
+
+@pytest.mark.parametrize(
+ "word, pronunciations, genders, etymology, definitions, variants, reverse_variants",
+ [
+ (
+ "abalienacija",
+ [],
+ ["f"],
+ ["(lot. abalienatio)"],
+ {"Daiktavardis": ["(Ekonomika) - turto nusavinimas arba perleidimas."]},
+ [],
+ [
+ "abalienacijai",
+ "abalienacijas",
+ "abalienacijoje",
+ "abalienacijomis",
+ "abalienacijoms",
+ "abalienacijos",
+ "abalienacijose",
+ "abalienaciją",
+ "abalienacijų",
+ ],
+ ),
+ (
+ "Antigva ir Barbuda",
+ [],
+ ["f"],
+ [],
+ {
+ "Daiktavardis": [
+ "(Valstybės) - salų valstybė rytinėje Karibų jūros dalyje, Mažųjų Antilų salyne, šalia Atlanto vandenyno."
+ ]
+ },
+ [],
+ [],
+ ),
+ (
+ "dengti",
+ [],
+ [],
+ ["<= dengti, dengia, dengė"],
+ {
+ "Veiksmažodis": [
+ "dėti, kloti ant viršaus",
+ ("Dengė puodą (su) dangčiu. Stalas baltai dengtas.",),
+ "traukti, gobti",
+ ("Debesys dengia dangų. Sniegas dengė žemę.",),
+ "dėti (stogą), stiegti",
+ ("Stogas čerpėmis dengtas. Dangumi dengtas (be stogo).",),
+ "aprūpinti drabužiais, rengti",
+ ("Jį giminės dengia ir maitina.",),
+ "(prk.) ginti, užstoti, slėpti",
+ ("Kas nusikaltėlį dengia? Kulkosvaidžiu dengė atsitraukiantį dalinį.",),
+ "(Sportas) - neleisti laisvai veikti varžovų puolėjui",
+ ("Puolė gerai, bet dengė prastai.",),
+ "(šnek.) greitai, smarkiai ką daryti (eiti, bėgti, važiuoti; mušti, trenkti, rėžti; valgyti, gerti)",
+ ],
+ "Dalyvis": ["tas kurį dengė"],
+ },
+ [],
+ [
+ "dengdama",
+ "dengdamas",
+ "dengdavai",
+ "dengdavau",
+ "dengdavo",
+ "dengdavom",
+ "dengdavome",
+ "dengdavot",
+ "dengdavote",
+ "dengdavus",
+ "dengdavusi",
+ "dengdavęs",
+ "dengei",
+ "dengi",
+ "dengia",
+ "dengiam",
+ "dengiama",
+ "dengiamas",
+ "dengiame",
+ "dengiant",
+ "dengianti",
+ "dengiantis",
+ "dengiat",
+ "dengiate",
+ "dengiau",
+ "dengiu",
+ "dengiąs",
+ "dengs",
+ "dengsi",
+ "dengsiant",
+ "dengsianti",
+ "dengsiantis",
+ "dengsim",
+ "dengsima",
+ "dengsimas",
+ "dengsime",
+ "dengsit",
+ "dengsite",
+ "dengsiu",
+ "dengsiąs",
+ "dengta",
+ "dengtas",
+ "dengte",
+ "dengtina",
+ "dengtinai",
+ "dengtinas",
+ "dengtum",
+ "dengtume",
+ "dengtumei",
+ "dengtumėm",
+ "dengtumėme",
+ "dengtumėt",
+ "dengtumėte",
+ "dengtų",
+ "dengus",
+ "dengusi",
+ "dengčiau",
+ "dengė",
+ "dengėm",
+ "dengėme",
+ "dengėt",
+ "dengėte",
+ "dengęs",
+ "denk",
+ "denki",
+ "denkim",
+ "denkime",
+ "denkit",
+ "denkite",
+ "tedengia",
+ "tedengie",
+ ],
+ ),
+ (
+ "informatyvus",
+ [],
+ ["m"],
+ ["informuoti + -atyv"],
+ {"Būdvardis": ["teikiantis daug informacijos"]},
+ [],
+ [
+ "informatyvaus",
+ "informatyvesne",
+ "informatyvesnei",
+ "informatyvesnes",
+ "informatyvesni",
+ "informatyvesniais",
+ "informatyvesniaisiais",
+ "informatyvesniajai",
+ "informatyvesniajam",
+ "informatyvesniajame",
+ "informatyvesniam",
+ "informatyvesniame",
+ "informatyvesnieji",
+ "informatyvesniems",
+ "informatyvesniesiems",
+ "informatyvesnio",
+ "informatyvesnioji",
+ "informatyvesniojo",
+ "informatyvesniojoje",
+ "informatyvesniosiomis",
+ "informatyvesniosioms",
+ "informatyvesniosios",
+ "informatyvesniosiose",
+ "informatyvesnis",
+ "informatyvesniu",
+ "informatyvesniuoju",
+ "informatyvesniuose",
+ "informatyvesniuosiuose",
+ "informatyvesniuosius",
+ "informatyvesnius",
+ "informatyvesniąja",
+ "informatyvesniąją",
+ "informatyvesniąsias",
+ "informatyvesnių",
+ "informatyvesniųjų",
+ "informatyvesnysis",
+ "informatyvesnė",
+ "informatyvesnėje",
+ "informatyvesnėmis",
+ "informatyvesnėms",
+ "informatyvesnės",
+ "informatyvesnėse",
+ "informatyvesnę",
+ "informatyvesnį",
+ "informatyvesnįjį",
+ "informatyvi",
+ "informatyvia",
+ "informatyviai",
+ "informatyviais",
+ "informatyviaisiais",
+ "informatyviajai",
+ "informatyviajam",
+ "informatyviajame",
+ "informatyviam",
+ "informatyviame",
+ "informatyvias",
+ "informatyviau",
+ "informatyviausi",
+ "informatyviausia",
+ "informatyviausiai",
+ "informatyviausiais",
+ "informatyviausiaisiais",
+ "informatyviausiajai",
+ "informatyviausiajam",
+ "informatyviausiajame",
+ "informatyviausiam",
+ "informatyviausiame",
+ "informatyviausias",
+ "informatyviausiasis",
+ "informatyviausieji",
+ "informatyviausiems",
+ "informatyviausiesiems",
+ "informatyviausio",
+ "informatyviausioje",
+ "informatyviausioji",
+ "informatyviausiojo",
+ "informatyviausiojoje",
+ "informatyviausiomis",
+ "informatyviausioms",
+ "informatyviausios",
+ "informatyviausiose",
+ "informatyviausiosiomis",
+ "informatyviausiosioms",
+ "informatyviausiosios",
+ "informatyviausiosiose",
+ "informatyviausiu",
+ "informatyviausiuoju",
+ "informatyviausiuose",
+ "informatyviausiuosiuose",
+ "informatyviausiuosius",
+ "informatyviausius",
+ "informatyviausią",
+ "informatyviausiąja",
+ "informatyviausiąją",
+ "informatyviausiąjį",
+ "informatyviausiąsias",
+ "informatyviausių",
+ "informatyviausiųjų",
+ "informatyvieji",
+ "informatyviem",
+ "informatyviems",
+ "informatyviesiem",
+ "informatyviesiems",
+ "informatyvioj",
+ "informatyvioje",
+ "informatyvioji",
+ "informatyviojo",
+ "informatyviojoj",
+ "informatyviojoje",
+ "informatyviom",
+ "informatyviomis",
+ "informatyvioms",
+ "informatyvios",
+ "informatyviose",
+ "informatyviosiom",
+ "informatyviosiomis",
+ "informatyviosioms",
+ "informatyviosios",
+ "informatyviosiose",
+ "informatyviu",
+ "informatyviuoju",
+ "informatyviuos",
+ "informatyviuose",
+ "informatyviuosiuos",
+ "informatyviuosiuose",
+ "informatyviuosius",
+ "informatyvius",
+ "informatyvią",
+ "informatyviąja",
+ "informatyviąją",
+ "informatyviąsias",
+ "informatyvių",
+ "informatyviųjų",
+ "informatyvu",
+ "informatyvusis",
+ "informatyvūs",
+ "informatyvų",
+ "informatyvųjį",
+ ],
+ ),
+ (
+ "pasaulis",
+ [],
+ ["m"],
+ [],
+ {
+ "Daiktavardis": ["visa žemė; Žemės rutulys", "visi žmonės; aplinkiniai žmonės", "visata"],
+ "Simboliai": ["🜨, ♁"],
+ },
+ [],
+ [
+ "pasauli",
+ "pasauliai",
+ "pasauliais",
+ "pasauliams",
+ "pasaulio",
+ "pasauliu",
+ "pasauliui",
+ "pasauliuose",
+ "pasaulius",
+ "pasaulių",
+ "pasaulyje",
+ "pasaulį",
+ ],
+ ),
+ (
+ "senas",
+ ["[ˈsʲæːnɐs]"],
+ ["f", "m"],
+ [
+ "Iš Iš indoeuropiečių prokalbės *sénos. Plg. senovės graikų k. ἕνος (henos), sanskrito सन (sána) ir gotų k. 𐍃𐌹𐌽𐌴𐌹𐌲𐍃 (sineigs)."
+ ],
+ {
+ "Būdvardis": [
+ "jau kuris laikas esantis",
+ "ilgai vartotas, palaikis",
+ "anksčiau buvęs, nedabartinis, pasenęs",
+ "prieš tai buvęs",
+ "pabuvęs, palaikytas, pastovėjęs",
+ ]
+ },
+ [],
+ [
+ "sena",
+ "senai",
+ "senais",
+ "senaisiais",
+ "senajai",
+ "senajam",
+ "senajame",
+ "senam",
+ "sename",
+ "senasis",
+ "senesne",
+ "senesnei",
+ "senesnes",
+ "senesni",
+ "senesniais",
+ "senesniaisiais",
+ "senesniajai",
+ "senesniajam",
+ "senesniajame",
+ "senesniam",
+ "senesniame",
+ "senesnieji",
+ "senesniems",
+ "senesniesiems",
+ "senesnio",
+ "senesnioji",
+ "senesniojo",
+ "senesniojoje",
+ "senesniosiomis",
+ "senesniosioms",
+ "senesniosios",
+ "senesniosiose",
+ "senesnis",
+ "senesniu",
+ "senesniuoju",
+ "senesniuose",
+ "senesniuosiuose",
+ "senesniuosius",
+ "senesnius",
+ "senesniąja",
+ "senesniąją",
+ "senesniąsias",
+ "senesnių",
+ "senesniųjų",
+ "senesnysis",
+ "senesnė",
+ "senesnėje",
+ "senesnėmis",
+ "senesnėms",
+ "senesnės",
+ "senesnėse",
+ "senesnę",
+ "senesnį",
+ "senesnįjį",
+ "seni",
+ "seniau",
+ "seniausi",
+ "seniausia",
+ "seniausiai",
+ "seniausiais",
+ "seniausiaisiais",
+ "seniausiajai",
+ "seniausiajam",
+ "seniausiajame",
+ "seniausiam",
+ "seniausiame",
+ "seniausias",
+ "seniausiasis",
+ "seniausieji",
+ "seniausiems",
+ "seniausiesiems",
+ "seniausio",
+ "seniausioje",
+ "seniausioji",
+ "seniausiojo",
+ "seniausiojoje",
+ "seniausiomis",
+ "seniausioms",
+ "seniausios",
+ "seniausiose",
+ "seniausiosiomis",
+ "seniausiosioms",
+ "seniausiosios",
+ "seniausiosiose",
+ "seniausiu",
+ "seniausiuoju",
+ "seniausiuose",
+ "seniausiuosiuose",
+ "seniausiuosius",
+ "seniausius",
+ "seniausią",
+ "seniausiąja",
+ "seniausiąją",
+ "seniausiąjį",
+ "seniausiąsias",
+ "seniausių",
+ "seniausiųjų",
+ "senieji",
+ "seniem",
+ "seniems",
+ "seniesiem",
+ "seniesiems",
+ "seno",
+ "senoj",
+ "senoje",
+ "senoji",
+ "senojo",
+ "senojoj",
+ "senojoje",
+ "senom",
+ "senomis",
+ "senoms",
+ "senos",
+ "senose",
+ "senosiom",
+ "senosiomis",
+ "senosioms",
+ "senosios",
+ "senosiose",
+ "senu",
+ "senuoju",
+ "senuos",
+ "senuose",
+ "senuosiuos",
+ "senuosiuose",
+ "senuosius",
+ "senus",
+ "seną",
+ "senąja",
+ "senąją",
+ "senąjį",
+ "senąsias",
+ "senų",
+ "senųjų",
+ ],
+ ),
+ ],
+)
+def test_parse_word(
+ word: str,
+ pronunciations: list[str],
+ genders: list[str],
+ etymology: list[Definitions],
+ definitions: list[Definitions],
+ variants: list[str],
+ reverse_variants: list[str],
+ page: Callable[[str, str], str],
+) -> None:
+ """Test the sections finder and definitions getter."""
+ code = page(word, "lt")
+ details = parse_word(word, code, "lt", force=True)
+ assert details
+ assert pronunciations == details.pronunciations
+ assert genders == details.genders
+ assert etymology == details.etymology
+ assert definitions == details.definitions
+ assert variants == details.variants
+ assert reverse_variants == details.reverse_variants
+
+
+def test_skip_variant(page: Callable[[str, str], str]) -> None:
+ word = "informatikos"
+ code = page(word, "lt")
+ details = parse_word(word, code, "lt", force=True)
+ assert not details
diff --git a/wikidict/caches/svg.gz b/wikidict/caches/svg.gz
index 82357fa25..0ff57d1bb 100644
Binary files a/wikidict/caches/svg.gz and b/wikidict/caches/svg.gz differ
diff --git a/wikidict/lang/lt/__init__.py b/wikidict/lang/lt/__init__.py
new file mode 100644
index 000000000..1a38d7d23
--- /dev/null
+++ b/wikidict/lang/lt/__init__.py
@@ -0,0 +1,219 @@
+"""Lithuanian language."""
+
+import re
+from collections import defaultdict
+
+from ... import lang, utils
+from . import variant_handlers as variant_handlers_mod
+from .template_adapters import adapters as template_adapters # noqa: F401
+from .variant_handlers import handlers as variant_handlers # noqa: F401
+
+random_word_url = "https://lt.wiktionary.org/wiki/Specialus:Atsitiktinis_puslapis"
+
+template_trans = "Šablonas"
+
+float_separator = ","
+
+section_patterns = ("#", r"\*")
+sublist_patterns = ("#", r"\*")
+section_sublevels = (3, 4)
+head_sections = ("{{ltv}}",)
+etyl_section = ("etimologija",)
+sections = (
+ *etyl_section,
+ "artikelis", # article
+ "būdvardis", # adjective
+ "būdinys", # adverb
+ "daiktavardis", # noun
+ "dalyvis", # participle
+ "dalelytė", # particle
+ # "išraiškos arba posakiai", # expressions or sayings
+ "įvardis", # pronoun
+ "jaustukas", # emoticon
+ "padalyvis", # participle
+ "prielinksnis", # preposition
+ "prieveiksmis", # adverb
+ "pusdalyvis", # participle
+ "raidė", # letter
+ "simboliai", # symbols
+ "skaitvardis", # numerical
+ "veiksmažodis", # verb
+ "žodžių junginys", # phrase
+)
+
+variant_titles = sections
+variant_templates = ("{{flexion",)
+
+reverse_variant_titles = (
+ "{{ltbdv",
+ "{{ltbdn",
+ "{{ltdkt",
+ "{{ltdlv",
+ "{{ltpdlv",
+ "{{ltpsdlv",
+ "{{ltvks",
+)
+reverse_variant_templates = ("{{rev-flexion",)
+
+
+def find_genders(code: str, locale: str) -> list[str]:
+ """
+ >>> find_genders("", "lt")
+ []
+
+ >>> find_genders("{{ltdkt}} {{f}}", "lt")
+ ['f']
+ >>> find_genders("{{ltdkt}} {{m}}", "lt")
+ ['m']
+
+ >>> find_genders("(mot. g.)", "lt")
+ ['f']
+ >>> find_genders("(vyr. g.)", "lt")
+ ['m']
+ """
+ res: list[str] = re.compile(r"\{\{([fm]+)\}\}").findall(code)
+ if "(mot. g.)" in code:
+ res.append("f")
+ if "(vyr. g.)" in code:
+ res.append("m")
+ return utils.unique(res)
+
+
+def find_pronunciations(
+ code: str, locale: str, *, pattern: re.Pattern[str] = re.compile(r"\{IPA\|([^}]+)")
+) -> list[str]:
+ """
+ >>> find_pronunciations("", "lt")
+ []
+ >>> find_pronunciations("{{IPA|[ˈsʲæːnɐs]}}", "lt")
+ ['[ˈsʲæːnɐs]']
+ """
+ return utils.unique(utils.flatten(pattern.findall(code)))
+
+
+def adjust_wikicode(
+ code: str,
+ locale: str,
+ *,
+ templates_status: list[tuple[str, str]] | None = None,
+ word: str = "",
+) -> str:
+ r"""
+ >>> adjust_wikicode("
", "lt")
+ ''
+ >>> adjust_wikicode("
", "lt")
+ ''
+ >>> adjust_wikicode("
", "lt")
+ ''
+ >>> adjust_wikicode("
", "lt")
+ ''
+
+ >>> adjust_wikicode("----", "lt")
+ ''
+
+ >>> adjust_wikicode("'''[[foo]]'''", "lt", word="foo")
+ ''
+
+ >>> adjust_wikicode("== {{ltv}} ==\n=== ''Daiktavardis'' ===\n==== Etimologija ====\n{{Žodžiai|jung}}\n*[[Antigva]]\n*[[Barbuda]]", "lt", word="foo")
+ "== {{ltv}} ==\n=== ''Daiktavardis'' ===\n==== Etimologija ===="
+
+ >>> adjust_wikicode("== {{ltv}} ==\n=== ''Daiktavardis'' ===\n'''Žodžių junginį sudaro žodžiai:'''\n* {{t+|lt|būtasis}}\n* {{t+|lt|laikas}}", "lt", word="foo")
+ "== {{ltv}} ==\n=== ''Daiktavardis'' ==="
+
+ >>> from ... import context
+ >>> _ = context.reset("lt")
+
+ >>> context.new_word("Kvietkauskas")
+ >>> adjust_wikicode("== {{ltv}} ==\n=== ''Daiktavardis'' ===\n{{ltdkt|forma=f-{{{forma|vyr-1l-as}}}|tikr=tikr|šakn=Kvietkausk|šakn2={{{sakn2}}}}}", "lt", word="Kvietkauskas")
+ "== {{ltv}} ==\n=== ''Daiktavardis'' ===\n# {{rev-flexion|Kvietkauskai}}\n# {{rev-flexion|Kvietkauskais}}\n# {{rev-flexion|Kvietkauskams}}\n# {{rev-flexion|Kvietkauske}}\n# {{rev-flexion|Kvietkausko}}\n# {{rev-flexion|Kvietkausku}}\n# {{rev-flexion|Kvietkauskui}}\n# {{rev-flexion|Kvietkauskuose}}\n# {{rev-flexion|Kvietkauskus}}\n# {{rev-flexion|Kvietkauską}}\n# {{rev-flexion|Kvietkauskų}}\n{{m}}"
+ """
+
+ # Drop "see also" inline text
+ lines: list[str] = []
+ in_section = False
+ for line in code.splitlines():
+ if "{{Žodžiai" in line or "Žodžių junginį" in line:
+ in_section = True
+ continue
+ if in_section:
+ if line.startswith("*"):
+ continue
+ in_section = False
+ lines.append(line)
+ code = "\n".join(lines)
+
+ # Remove uninteresting sections that would mess with genders finding
+ lines.clear()
+ in_section = False
+ for line in code.splitlines():
+ if line.startswith("==== "):
+ in_section = "Sinonimai" in line or "Vertimai" in line or "Išraiškos" in line or "Antonimai" in line
+ elif line.startswith("
", "", code)
+ code = code.replace("----", "")
+ code = code.replace(f"'''[[{word}]]'''", "")
+
+ #
+ # Reverse variants
+ #
+
+ interesting_reverse_variant_titles = lang.reverse_variant_titles[locale]
+ interesting_reverse_variant_titles_alone = tuple(f"{t}}}}}" for t in interesting_reverse_variant_titles)
+ if any(tpl in code for tpl in interesting_reverse_variant_titles):
+ cleaned: list[str] = []
+ in_tpl = False
+ tpl_code = ""
+ table_count = 0
+
+ for line in code.splitlines():
+ if line.startswith(interesting_reverse_variant_titles) and not line.startswith(
+ interesting_reverse_variant_titles_alone
+ ):
+ in_tpl = True
+
+ if in_tpl:
+ tpl_code += line
+ if tpl_code.count("{") == tpl_code.count("}"):
+ in_tpl = False
+ tpl_code = tpl_code.rsplit("}}", 1)[0]
+ tpl_code += "}}"
+
+ if "{{{" in tpl_code:
+ forms = variant_handlers_mod.render_reverse_variant(tpl_code, [], defaultdict(str), word)
+ else:
+ tpl_name = tpl_code[2 : max(0, tpl_code.find("|")) or tpl_code.find("}")].strip()
+ variant_handlers_mod.append_to_reverse_variants(tpl_name)
+ forms = utils.process_templates(
+ word,
+ tpl_code,
+ locale,
+ templates_status=templates_status,
+ variant_only=True,
+ )
+
+ if forms:
+ # The gender can be derived from the reverse variants table
+ cleaned.extend(
+ form
+ if "g." in form or form.startswith("{{") or form == "SKIP WORD"
+ else f"# {{{{rev-flexion|{form}}}}}"
+ for form in sorted(forms.split("|"))
+ )
+ tpl_code = ""
+ table_count += 1
+ else:
+ cleaned.append(line)
+
+ # We do not want to keep variants since they all are copy-paste of the base form
+ if table_count > 0 and cleaned.count("SKIP WORD") == table_count:
+ return ""
+
+ code = "\n".join(cleaned)
+
+ return code
diff --git a/wikidict/lang/lt/template_adapters.py b/wikidict/lang/lt/template_adapters.py
new file mode 100644
index 000000000..38d36b87b
--- /dev/null
+++ b/wikidict/lang/lt/template_adapters.py
@@ -0,0 +1,5 @@
+import re
+
+adapters = {
+ "Šablonas:t+": lambda body: re.sub(r"(.+)", "", body, count=2),
+}
diff --git a/wikidict/lang/lt/variant_handlers.py b/wikidict/lang/lt/variant_handlers.py
new file mode 100644
index 000000000..fd82fa8d9
--- /dev/null
+++ b/wikidict/lang/lt/variant_handlers.py
@@ -0,0 +1,67 @@
+import re
+from collections import defaultdict
+
+from ... import context, utils
+
+
+def render_variant(tpl: str, parts: list[str], data: defaultdict[str, str], word: str) -> str:
+ """
+ >>> render_variant("flexion", ["ensimesmar"], defaultdict(str), "")
+ 'ensimesmar'
+ """
+ return parts[0]
+
+
+def render_reverse_variant(tpl: str, parts: list[str], data: defaultdict[str, str], word: str) -> str:
+ """
+ >>> render_reverse_variant("rev-flexion", ["foo"], defaultdict(str), "")
+ 'foo'
+ """
+ if tpl == "rev-flexion":
+ return parts[0]
+
+ # We might pass the whole template code in `tpl` from `adjust_wikicode()` to workaround brackets parsing
+ template = tpl if tpl.startswith("{{") else utils.reconstruct_tpl(tpl, parts, data)
+
+ table = context.expand(template, "lt")
+ table = table.replace(",
", "\n| ")
+ table = table.replace("| colspan=2 ", "")
+
+ forms: set[str] = set()
+ for line in table.splitlines():
+ # Guess the gender, when available
+ if line.startswith("'''"):
+ if "[[mot. g.]]" in line:
+ forms.add("{{f}}")
+ if "[[vyr. g.]]" in line:
+ forms.add("{{m}}")
+
+ if line.startswith("* žr."):
+ # We want reverse variants for the original word only
+ if not line[line.find("'''") :].startswith(f"'''{word}'''"):
+ return "SKIP WORD"
+ elif line.startswith("* taip pat žr."):
+ forms.update(re.findall(r"\[\[([^\]]+)\]\]", line.split("'''")[1]))
+ elif line.startswith("| ") and "style=" not in line:
+ if "[[" in line:
+ forms.update(re.findall(r"\| \[\[([^\]]+)\]\]", line))
+ else:
+ forms.add(line.lstrip("| "))
+
+ forms.discard(word)
+ forms.discard("-")
+
+ return "|".join(sorted(forms))
+
+
+handlers = {
+ "flexion": render_variant,
+ "rev-flexion": render_reverse_variant,
+}
+
+
+def append_to_reverse_variants(tpl: str) -> None:
+ """Dynamically append a template to reverse variants templates."""
+ if tpl in handlers:
+ return
+ handlers[tpl] = render_reverse_variant
diff --git a/wikidict/namespaces.py b/wikidict/namespaces.py
index dace99bd3..60c70899a 100644
--- a/wikidict/namespaces.py
+++ b/wikidict/namespaces.py
@@ -15,6 +15,7 @@
"fr": ["Catégorie", "Fichier", "Image"],
"it": ["Categoria", "File", "Image", "Immagine"],
"ja": ["Image", "カテゴリ", "ファイル", "画像"],
+ "lt": ["Image", "Kategorija", "Vaizdas"],
"no": ["Bilde", "Fil", "Image", "Kategori"],
"pt": ["Arquivo", "Categoria", "Ficheiro", "Image", "Imagem"],
"ro": ["Categorie", "Fişier", "Fișier", "Image", "Imagine"],
diff --git a/wikidict/part_of_speech.py b/wikidict/part_of_speech.py
index dbcb0fa71..fa8df7ca1 100644
--- a/wikidict/part_of_speech.py
+++ b/wikidict/part_of_speech.py
@@ -61,6 +61,10 @@
# `名詞・田の実` → `名詞`
re.compile(r"([^\d(::・・]+).*").sub,
],
+ "lt": [
+ # `daiktavardis #1` → `daiktavardis`
+ re.compile(r"(.+) #\d").sub,
+ ],
"no": [
# `verb 1` → `verb`
re.compile(r"([^\s,]+),?\s+.*").sub,
@@ -238,6 +242,9 @@
"慣用句": "成句", # idiom
"名詞形": "名詞", # noun form
},
+ "lt": {
+ "top": "daiktavardis",
+ },
"no": {
"forkortelser": "forkortelse",
"top": "substantiv",
diff --git a/wikidict/render.py b/wikidict/render.py
index 47cf0eda4..6b92523d6 100644
--- a/wikidict/render.py
+++ b/wikidict/render.py
@@ -407,9 +407,12 @@ def find_sections(word: str, code: str, lang_src: str, lang_dst: str) -> tuple[l
for title, section in all_sections:
title = title.lower()
- if lang_src == "de" and section.level == 3:
- current_pos = "/".join(re.findall(r"\{\{\w+\|([^|]+)\|\w+\}\}", title))
- continue
+ if lang_src == "de":
+ if section.level == 3:
+ current_pos = "/".join(re.findall(r"\{\{\w+\|([^|]+)\|\w+\}\}", title))
+ continue
+ elif lang_src == "lt":
+ title = title.strip("'")
# Filter on interesting sections
if title.startswith(wanted):
diff --git a/wikidict/utils.py b/wikidict/utils.py
index 7942a7a63..af6b8d26e 100644
--- a/wikidict/utils.py
+++ b/wikidict/utils.py
@@ -246,6 +246,9 @@ def format_pos(locale: str, value: str) -> str:
>>> format_pos("ja", "名詞・田の実")
'名詞'
+ >>> format_pos("lt", "daiktavardis #1")
+ 'Daiktavardis'
+
>>> format_pos("no", "verb 1")
'Verb'
>>> format_pos("no", "egennavn, toponym")