Wikikamus idwiktionary https://id.wiktionary.org/wiki/Wikikamus:Halaman_Utama MediaWiki 1.46.0-wmf.23 case-sensitive Media Istimewa Pembicaraan Pengguna Pembicaraan Pengguna Wikikamus Pembicaraan Wikikamus Berkas Pembicaraan Berkas MediaWiki Pembicaraan MediaWiki Templat Pembicaraan Templat Bantuan Pembicaraan Bantuan Kategori Pembicaraan Kategori Indeks Pembicaraan Indeks Lampiran Pembicaraan Lampiran TimedText TimedText talk Modul Pembicaraan Modul Acara Pembicaraan Acara abang 0 2134 1349827 1344892 2026-04-14T12:36:32Z Anggabuana 27723 /* {{bahasa|ban}} */ 1349827 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id|num=1|homid=saudara}} : {{pemenggalan|id|abang}} {{AFI|id|/abaŋ/}} {{suara|id|LL-Q9240 (ind)-Dvnfit-abang.wav}} {{-n-|id}} # [[saudara]] [[laki-laki]] yang lebih [[tua]] #: {{contoh|id|'''Abang''' saya lahir tiga tahun lebih dulu.}} #* {{RQ:Pengawal Tambang Emas |chapter=Perantau dari Kolang |text=Keluarga dekat satu-satunya hanyalah '''abangnya''' itu. Itupun ibu yang sama tetapi ayahnya berlainan. |page=2 |url=https://id.wikisource.org/wiki/Halaman:ADH_0008_A._Damhoeri_-_Pengawal_Tambang_Emas.pdf/6#:~:text=Keluarga%20dekat%20satu%2Dsatunya%20hanyalah%20abangnya%20itu.%20Itupun%20ibu%20yang%20sama%20tetapi%20ayahnya%20berlainan. }} # {{non-gloss|bentuk [[panggilan]] bagi laki-laki}} ## {{non-gloss|panggilan bagi [[kakak]] laki-laki}} ## {{non-gloss|panggilan bagi [[suami]]}} ## {{non-gloss|panggilan bagi laki-laki [[muda]] hingga [[paruh baya]], yang tidak [[dikenal]] ataupun tidak terlalu [[dekat]]}} {{-turunan-|id}} {{kepala|id|num=2|homid=warna}} {{-adj-|id}} # {{label|id|Jawa}} warna [[merah]] {{-bacaan-}} * {{R:KBBI Daring}} =={{bahasa|ban}}== {{kepala|ban}} {{-adj-|ban}} # [[merah]] #:''I Madé ngelah cicing mawarna '''abang'''.'' #::Si Made punya anjing berwarna '''merah'''. =={{bahasa|bjn}}== {{kepala|bjn}} {{-n-|bjn}} # {{l|id|abang}} {{gloss|[[kakak]] [[laki-laki]]}} # {{l|id|abang}} {{gloss|panggilan kepada [[suami]]}} # {{l|id|abang}} {{gloss|panggilan kepada [[laki-laki]] yang belum lama [[dikenal]]}} =={{bahasa|lod}}== {{kepala|lod}} {{-n-|lod}} # [[jendela]] =={{bahasa|bew}}== {{kepala|bew|num=1|homid=kakak laki-laki}} {{-n-|bew}} # {{l|id|abang}} {{gloss|[[kakak]] [[laki-laki]]}} # {{l|id|abang}} {{gloss|[[panggilan]] kepada [[laki-laki]] yang lebih [[tua]]}} {{kepala|bew|num=2|homid=warna}} {{-adj-|bew}} # warna [[merah]] {{kepala|bew|num=3}} {{-n-|bew}} # ''lihat'' '''{{pranala|bew|abangan}}''' {{-bacaan-}} * {{R:Abdul Chaer Juni 2009|page=1}} =={{bahasa|beu}}== {{kepala|beu}} {{-n-|beu}} # [[desa]]; [[kampung]] =={{bahasa|jv}}== {{kepala|jv|alt=ꦲꦧꦁ}} : {{pemenggalan|id|abang}} {{AFI|id|/abaŋ/}} :* {{suara|jv|LL-Q33549 (jav)-Menyusurisudutnegeri-abang.wav|q=Banyumas}} :* {{suara|jv|LL-Q33549 (jav)-Rizkako30-abang.wav|q=Kedu}} :* {{suara|jv|LL-Q33549 (jav)-Farizor-abang.wav|q=Malang}} :* {{suara|jv|LL-Q33549 (jav)-Tetheow-abang.wav|q=Surabaya}} {{-etimologi-}} :Dari {{Inh-w|jv|kaw|abaṅ}} (ekuivalen dengan {{kat-afiks|jv|''[[bang]]'' + ''[[a-]]''}}), dari {{Inh-w|jv|kaw|baṅ|bāṅ}}, mungkin dari {{Der*|jv|mkh-pro|rɔɔŋ}}, {{Der^|mkh-pro|ɟrɔɔŋ|t=merah}}. {{-adj-|jv}} # [[merah]] #: {{syn|jv|abrit|q1=krama}} #: {{contoh|jv|Aku tuku klambi '''abang'''.|t=Aku beli baju warna '''merah'''.}} {{-turunan-}} * [[abangan]] {{-lihat-}} {{tabel:warna/jv}} =={{bahasa|mak}}== {{kepala|mak}} :{{suara|mak|LL-Q33643 (mak)-Noefieya NFY-abang.wav|q=Turatea}} {{-n-|mak}} # {{label|mak|Lakiung|Turatea}} [[dahi]] {{-bacaan-}} * Arief, A. (1995). ''[https://repositori.kemendikdasmen.go.id/2931/1/kamus%20makassar%20-%20indonesia%20%20%20-%20%20%20479h.pdf Kamus Makassar - Indonesia]''. Ujung Pandang: Yayasan YAPIK DDI. [[Kategori:WikiTutur 3.0 - Makassar]] [[Kategori:Kopdar WikiTutur 3.0 Jakarta 2026-01-26]] =={{bahasa|ms}}== {{kepala|ms}} {{-n-|ms}} # {{l|id|abang}} {{gloss|[[kakak]] [[laki-laki]]}} =={{bahasa|jax}}== {{kepala|jax}} : {{suara|jax|LL-Q3915769 (jax)-Sultan Toktik-abang.wav|q=Jambi Seberang}} {{-pronomina-|jax}} # {{l|jax|abang}} {{gloss|[[kakak]] [[laki-laki]]}} =={{bahasa|min}}== {{kepala|min|num=1}} : {{suara|min|LL-Q13324 (min)-Maronsita-abang.wav}} {{-etimologi-}} : Seasal dengan bahasa Melayu {{sebut|ms|abang}}. {{-n-|min}} # {{l|id|abang}} {{gloss|kakak laki-laki}} # {{l|id|abang}} {{gloss|panggilan kepada suami}} #: {{sinonim|min|uda|ajo|uwan|uwen|ombak}} #: {{contoh|min|Lai tau, '''abang'''?|t='''Abang''', apakah kamu tahu?}}<!--LL-Q13324 (min)-Maronsita-lai tau abang?.wav--> {{kepala|min|num=2}} {{-ragam-}} * {{l|min|obang}} {{-etimologi-}} : Pinjaman dari bahasa Melayu {{sebut|ms|ebang}}, {{sebut|ms|bang}}, dari bahasa Farsi {{sebut|fa|بانگ|tr=bâng|t=suara, sahutan, panggilan}}. {{-n-|min}} # [[azan]] #: {{contoh|min|Urang lah '''abang''' di surau, sumbayang awak lai!|t=Orang sudah '''azan''' di masjid, mari kita pergi salat dulu!}} {{-turunan-}} * {{l|min|baabangan}} * {{l|min|maabangan}} =={{bahasa|mui}}== {{kepala|mui}} {{-adj-|mui}} # [[merah]] {{-turunan-}} * {{l|mui|abang bibo}} =={{bahasa|mui-plm}}== {{kepala|mui-plm}} : {{AFI|mui-plm|/abaŋ/}} {{suara|mui-plm|LL-Q12497929 (mis)-Miraa26-abang.wav}} {{-etimologi-}} : Pinjaman dari bahasa Jawa {{sebut|jv|abang|t=merah}}. {{-adj-|mui-plm}} # [[merah]] #: {{contoh|mui-plm|'''Abang''' nian rai kau.|t='''Merah''' sekali wajahmu.}} {{-turunan-}} {{kotak|mui-plm |abang bibir |abang ijó |abang kué |ngabang |telo' abang |uma' abang }} =={{bahasa|pey}}== {{kepala|pey}} : {{suara|pey|LL-Q940486 (pey)-Bangrapip-abang.wav}} {{-etimologi-}} : Dari {{der|pey|bew|abang|t=abang}} dari {{der|pey|ms|abang|t=abang}}. {{-n-|pey}} # {{l|id|abang}} =={{bahasa|bts}}== {{kepala|bts}} {{-n-|bts}} # {{l|id|abang}} =={{bahasa|tes}}== {{kepala|tes}} : ⁠ {{suara|tes|LL-Q33549 (jav)-Bu Hariyati (Ruvika de)-abang.wav}} {{-adj-|tes}} # [[merah]] #: {{contoh|tes|Klambine lare iku werna '''abang'''.|t=Baju anak itu berwarna '''merah'''.}} [[Kategori:Rapat Komunitas Wiktionary Indonesia 2025-11-13]] [[Kategori:WikiTutur - Jawa]] [[Kategori:WikiTutur Daring Umum 11 Februari 2024]] [[Kategori:WikiTutur 2.0 - Minangkabau]] [[Kategori:WikiTutur 2.0 Padang 22 Oktober 2024]] [[Kategori:WikiTutur - Palembang]] [[Kategori:WikiTutur Palembang 18 Februari 2024]] [[Kategori:WikiTutur - Peco]] [[Kategori:WikiTutur Jakarta 3 Februari 2024]] [[Kategori:Kopdar WikiTutur 2.0 Jakarta 20 April 2025]] [[Kategori:WikiTutur 2.0 - Tengger]] =={{bahasa|osi}}== {{kepala|osi}} : {{suara|osi|LL-Q2701322 (osi)-Nurholipah (Dinda Anggun)-Abang.wav}} {{-a-|osi}} # [[merah]] [[Kategori:Edit-a-thon WikiKathā Maret 2026]] m7mjsys702taq1mo2f41qixjuphyfjz 1349835 1349827 2026-04-14T12:43:47Z Swarabakti 18192 /* {{bahasa|ban}} */ 1349835 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id|num=1|homid=saudara}} : {{pemenggalan|id|abang}} {{AFI|id|/abaŋ/}} {{suara|id|LL-Q9240 (ind)-Dvnfit-abang.wav}} {{-n-|id}} # [[saudara]] [[laki-laki]] yang lebih [[tua]] #: {{contoh|id|'''Abang''' saya lahir tiga tahun lebih dulu.}} #* {{RQ:Pengawal Tambang Emas |chapter=Perantau dari Kolang |text=Keluarga dekat satu-satunya hanyalah '''abangnya''' itu. Itupun ibu yang sama tetapi ayahnya berlainan. |page=2 |url=https://id.wikisource.org/wiki/Halaman:ADH_0008_A._Damhoeri_-_Pengawal_Tambang_Emas.pdf/6#:~:text=Keluarga%20dekat%20satu%2Dsatunya%20hanyalah%20abangnya%20itu.%20Itupun%20ibu%20yang%20sama%20tetapi%20ayahnya%20berlainan. }} # {{non-gloss|bentuk [[panggilan]] bagi laki-laki}} ## {{non-gloss|panggilan bagi [[kakak]] laki-laki}} ## {{non-gloss|panggilan bagi [[suami]]}} ## {{non-gloss|panggilan bagi laki-laki [[muda]] hingga [[paruh baya]], yang tidak [[dikenal]] ataupun tidak terlalu [[dekat]]}} {{-turunan-|id}} {{kepala|id|num=2|homid=warna}} {{-adj-|id}} # {{label|id|Jawa}} warna [[merah]] {{-bacaan-}} * {{R:KBBI Daring}} =={{bahasa|ban}}== {{kepala|ban}} {{-adj-|ban}} # [[merah]] #: {{contoh|ban|I Madé ngelah cicing mawarna '''abang'''.|Si Made punya anjing berwarna '''merah'''.}} =={{bahasa|bjn}}== {{kepala|bjn}} {{-n-|bjn}} # {{l|id|abang}} {{gloss|[[kakak]] [[laki-laki]]}} # {{l|id|abang}} {{gloss|panggilan kepada [[suami]]}} # {{l|id|abang}} {{gloss|panggilan kepada [[laki-laki]] yang belum lama [[dikenal]]}} =={{bahasa|lod}}== {{kepala|lod}} {{-n-|lod}} # [[jendela]] =={{bahasa|bew}}== {{kepala|bew|num=1|homid=kakak laki-laki}} {{-n-|bew}} # {{l|id|abang}} {{gloss|[[kakak]] [[laki-laki]]}} # {{l|id|abang}} {{gloss|[[panggilan]] kepada [[laki-laki]] yang lebih [[tua]]}} {{kepala|bew|num=2|homid=warna}} {{-adj-|bew}} # warna [[merah]] {{kepala|bew|num=3}} {{-n-|bew}} # ''lihat'' '''{{pranala|bew|abangan}}''' {{-bacaan-}} * {{R:Abdul Chaer Juni 2009|page=1}} =={{bahasa|beu}}== {{kepala|beu}} {{-n-|beu}} # [[desa]]; [[kampung]] =={{bahasa|jv}}== {{kepala|jv|alt=ꦲꦧꦁ}} : {{pemenggalan|id|abang}} {{AFI|id|/abaŋ/}} :* {{suara|jv|LL-Q33549 (jav)-Menyusurisudutnegeri-abang.wav|q=Banyumas}} :* {{suara|jv|LL-Q33549 (jav)-Rizkako30-abang.wav|q=Kedu}} :* {{suara|jv|LL-Q33549 (jav)-Farizor-abang.wav|q=Malang}} :* {{suara|jv|LL-Q33549 (jav)-Tetheow-abang.wav|q=Surabaya}} {{-etimologi-}} :Dari {{Inh-w|jv|kaw|abaṅ}} (ekuivalen dengan {{kat-afiks|jv|''[[bang]]'' + ''[[a-]]''}}), dari {{Inh-w|jv|kaw|baṅ|bāṅ}}, mungkin dari {{Der*|jv|mkh-pro|rɔɔŋ}}, {{Der^|mkh-pro|ɟrɔɔŋ|t=merah}}. {{-adj-|jv}} # [[merah]] #: {{syn|jv|abrit|q1=krama}} #: {{contoh|jv|Aku tuku klambi '''abang'''.|t=Aku beli baju warna '''merah'''.}} {{-turunan-}} * [[abangan]] {{-lihat-}} {{tabel:warna/jv}} =={{bahasa|mak}}== {{kepala|mak}} :{{suara|mak|LL-Q33643 (mak)-Noefieya NFY-abang.wav|q=Turatea}} {{-n-|mak}} # {{label|mak|Lakiung|Turatea}} [[dahi]] {{-bacaan-}} * Arief, A. (1995). ''[https://repositori.kemendikdasmen.go.id/2931/1/kamus%20makassar%20-%20indonesia%20%20%20-%20%20%20479h.pdf Kamus Makassar - Indonesia]''. Ujung Pandang: Yayasan YAPIK DDI. [[Kategori:WikiTutur 3.0 - Makassar]] [[Kategori:Kopdar WikiTutur 3.0 Jakarta 2026-01-26]] =={{bahasa|ms}}== {{kepala|ms}} {{-n-|ms}} # {{l|id|abang}} {{gloss|[[kakak]] [[laki-laki]]}} =={{bahasa|jax}}== {{kepala|jax}} : {{suara|jax|LL-Q3915769 (jax)-Sultan Toktik-abang.wav|q=Jambi Seberang}} {{-pronomina-|jax}} # {{l|jax|abang}} {{gloss|[[kakak]] [[laki-laki]]}} =={{bahasa|min}}== {{kepala|min|num=1}} : {{suara|min|LL-Q13324 (min)-Maronsita-abang.wav}} {{-etimologi-}} : Seasal dengan bahasa Melayu {{sebut|ms|abang}}. {{-n-|min}} # {{l|id|abang}} {{gloss|kakak laki-laki}} # {{l|id|abang}} {{gloss|panggilan kepada suami}} #: {{sinonim|min|uda|ajo|uwan|uwen|ombak}} #: {{contoh|min|Lai tau, '''abang'''?|t='''Abang''', apakah kamu tahu?}}<!--LL-Q13324 (min)-Maronsita-lai tau abang?.wav--> {{kepala|min|num=2}} {{-ragam-}} * {{l|min|obang}} {{-etimologi-}} : Pinjaman dari bahasa Melayu {{sebut|ms|ebang}}, {{sebut|ms|bang}}, dari bahasa Farsi {{sebut|fa|بانگ|tr=bâng|t=suara, sahutan, panggilan}}. {{-n-|min}} # [[azan]] #: {{contoh|min|Urang lah '''abang''' di surau, sumbayang awak lai!|t=Orang sudah '''azan''' di masjid, mari kita pergi salat dulu!}} {{-turunan-}} * {{l|min|baabangan}} * {{l|min|maabangan}} =={{bahasa|mui}}== {{kepala|mui}} {{-adj-|mui}} # [[merah]] {{-turunan-}} * {{l|mui|abang bibo}} =={{bahasa|mui-plm}}== {{kepala|mui-plm}} : {{AFI|mui-plm|/abaŋ/}} {{suara|mui-plm|LL-Q12497929 (mis)-Miraa26-abang.wav}} {{-etimologi-}} : Pinjaman dari bahasa Jawa {{sebut|jv|abang|t=merah}}. {{-adj-|mui-plm}} # [[merah]] #: {{contoh|mui-plm|'''Abang''' nian rai kau.|t='''Merah''' sekali wajahmu.}} {{-turunan-}} {{kotak|mui-plm |abang bibir |abang ijó |abang kué |ngabang |telo' abang |uma' abang }} =={{bahasa|pey}}== {{kepala|pey}} : {{suara|pey|LL-Q940486 (pey)-Bangrapip-abang.wav}} {{-etimologi-}} : Dari {{der|pey|bew|abang|t=abang}} dari {{der|pey|ms|abang|t=abang}}. {{-n-|pey}} # {{l|id|abang}} =={{bahasa|bts}}== {{kepala|bts}} {{-n-|bts}} # {{l|id|abang}} =={{bahasa|tes}}== {{kepala|tes}} : ⁠ {{suara|tes|LL-Q33549 (jav)-Bu Hariyati (Ruvika de)-abang.wav}} {{-adj-|tes}} # [[merah]] #: {{contoh|tes|Klambine lare iku werna '''abang'''.|t=Baju anak itu berwarna '''merah'''.}} [[Kategori:Rapat Komunitas Wiktionary Indonesia 2025-11-13]] [[Kategori:WikiTutur - Jawa]] [[Kategori:WikiTutur Daring Umum 11 Februari 2024]] [[Kategori:WikiTutur 2.0 - Minangkabau]] [[Kategori:WikiTutur 2.0 Padang 22 Oktober 2024]] [[Kategori:WikiTutur - Palembang]] [[Kategori:WikiTutur Palembang 18 Februari 2024]] [[Kategori:WikiTutur - Peco]] [[Kategori:WikiTutur Jakarta 3 Februari 2024]] [[Kategori:Kopdar WikiTutur 2.0 Jakarta 20 April 2025]] [[Kategori:WikiTutur 2.0 - Tengger]] =={{bahasa|osi}}== {{kepala|osi}} : {{suara|osi|LL-Q2701322 (osi)-Nurholipah (Dinda Anggun)-Abang.wav}} {{-a-|osi}} # [[merah]] [[Kategori:Edit-a-thon WikiKathā Maret 2026]] b56lsbw99qt95ogo1aqb9ahmdk8blp7 modern 0 3493 1349980 1279794 2026-04-15T08:42:45Z Iripseudocorus 40083 rekam1 1349980 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{-a-|id}} # terbaru; mutakhir:<br />'' pasukan diperlengkapi dengan senjata-senjata modern'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=13-14 |text=Tjita-tjita I.P. ialah: Indonesia merdeka dan berdaulat, kewarga-negaraan setjara '''modern''' (tak mengingati asal-kebangsaan apa, asalkan mengakui Indonesia sebagai negara dan kebangsaannja). |norm=Cita-cita I.P. ialah: Indonesia merdeka dan berdaulat, kewarganegaraan secara '''modern''' (tak mengingati asal-kebangsaan apa, asalkan mengakui Indonesia sebagai negara dan kebangsaannya) |url=https://id.wikisource.org/wiki/20_Mei_Pelopor_17_Agustus#:~:text=Tjita%2Dtjita%20I.P.%20ialah%3A%20Indonesia%20merdeka%20dan%20berdaulat%2C%20kewarga%2Dnegaraan%20setjara%20modern%20(tak%20mengingati%20asal%2Dkebangsaan%20apa%2C%20asalkan%20mengakui%20Indonesia%20sebagai%20negara%20dan%20kebangsaannja)%2C }} {{-a-|id}} # sikap dan cara berpikir serta cara bertindak sesuai dengan tuntutan zaman {{-turunan-|id}} {{-ragam-}} * [[moderen]] {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} [[Kategori:id:Penyerapan utuh]] =={{bahasa|nl}}== {{kepala|nl}} {{-n-|nl}} #[[modern]] c3r9wi4ij4zjqx1o5l1w6j5dixiia7m 1349981 1349980 2026-04-15T08:43:41Z Iripseudocorus 40083 rekam1 1349981 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|mo|dern}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-modern.wav}} {{-a-|id}} # terbaru; mutakhir:<br />'' pasukan diperlengkapi dengan senjata-senjata modern'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=13-14 |text=Tjita-tjita I.P. ialah: Indonesia merdeka dan berdaulat, kewarga-negaraan setjara '''modern''' (tak mengingati asal-kebangsaan apa, asalkan mengakui Indonesia sebagai negara dan kebangsaannja). |norm=Cita-cita I.P. ialah: Indonesia merdeka dan berdaulat, kewarganegaraan secara '''modern''' (tak mengingati asal-kebangsaan apa, asalkan mengakui Indonesia sebagai negara dan kebangsaannya) |url=https://id.wikisource.org/wiki/20_Mei_Pelopor_17_Agustus#:~:text=Tjita%2Dtjita%20I.P.%20ialah%3A%20Indonesia%20merdeka%20dan%20berdaulat%2C%20kewarga%2Dnegaraan%20setjara%20modern%20(tak%20mengingati%20asal%2Dkebangsaan%20apa%2C%20asalkan%20mengakui%20Indonesia%20sebagai%20negara%20dan%20kebangsaannja)%2C }} {{-a-|id}} # sikap dan cara berpikir serta cara bertindak sesuai dengan tuntutan zaman {{-turunan-|id}} {{-ragam-}} * [[moderen]] {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} [[Kategori:id:Penyerapan utuh]] =={{bahasa|nl}}== {{kepala|nl}} {{-n-|nl}} #[[modern]] 2ubbyipn1yxub5690nbkqjqu5bgtjut periode 0 3589 1349962 1280891 2026-04-15T08:09:40Z Iripseudocorus 40083 rekam1 1349962 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|pe|ri|o|de}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-periode.wav}} {{-n-|id}} #[[periode]], masa [[waktu]] #* {{RQ:20 Mei Pelopor 17 Agustus |page=17 |text=Pada '''periode''' itu djuga mulai tersebarnja benih-benih socialisme dengan aksinja jang hebat dan berpusat di Semarang. |norm=Pada '''periode''' itu juga mulai tersebarnya benih-benih sosialisme dengan aksinya yang hebat dan berpusat di Semarang. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/16#:~:text=Pada%20periode%20itu%20djuga%20mulai%20tersebarnja%20benih%2Dbenih%20socialisme%20dengan%20aksinja%20jang%20hebat%20dan%20berpusat%20di%20Semarang. }} =={{bahasa|nl}}== {{kepala|nl}} {{-n-|nl}} #[[periode]], masa [[waktu]] c380eshjvkyedph7l8r8l9m8u71f3cp Templat:it-conj-are 10 13190 1349907 820538 2026-04-15T06:43:17Z DelintBot 47600 Replacing [[mw:Help:Lint errors/obsolete-tag|obsolete tags]] 1349907 wikitext text/x-wiki <!--Conjugation of regular Italian verbs in -are--> <!--Use first parameter for the stem, second parameter for the auxiliary verb (Avere or Essere)--> <!--Copied, with modifications, from English Wiktionary--> <div style="text-align: center;"> {| style="background:#F0F0F0" |- ! colspan="2" style="background:#e2e4c0" | ! colspan="3" style="background:#e2e4c0" | sederhana ! colspan="3" style="background:#e2e4c0" | komposit |- ! colspan="2" style="background:#e2e4c0" | infinitif | colspan="3" | {{{1}}}are | colspan="3" | {{{2}}} {{{1}}}ato |- ! colspan="2" style="background:#e2e4c0" | gerund | colspan="3" | {{{1}}}ando | colspan="3" | gunakan gerund ''{{{2}}}'' dan {{{1}}}ato |- ! colspan="2" style="background:#e2e4c0" | partisip kini | colspan="3" | [[{{{1}}}ante]] |- ! colspan="2" style="background:#e2e4c0" | partisip lampau | colspan="3" | [[{{{1}}}ato]] |- ! colspan="2" rowspan="2" style="background:#C0C0C0" | orang ! colspan="3" style="background:#C0C0C0" | tunggal ! colspan="3" style="background:#C0C0C0" | jamak |- ! style="background:#C0C0C0;width:12.5%" | pertama ! style="background:#C0C0C0;width:12.5%" | kedua ! style="background:#C0C0C0;width:12.5%" | ketiga ! style="background:#C0C0C0;width:12.5%" | pertama ! style="background:#C0C0C0;width:12.5%" | kedua ! style="background:#C0C0C0;width:12.5%" | ketiga |- ! style="background:#c0cfe4" colspan="2" | indikatif ! style="background:#c0cfe4" | io ! style="background:#c0cfe4" | tu ! style="background:#c0cfe4" | lui/lei ! style="background:#c0cfe4" | noi ! style="background:#c0cfe4" | voi ! style="background:#c0cfe4" | loro |- ! rowspan="5" style="background:#c0cfe4" | bentuk waktu<br>sederhana ! style="height:3em;background:#c0cfe4" | kini | {{{1}}}o | {{{1}}}i | {{{1}}}a | {{{1}}}iamo | {{{1}}}ate | {{{1}}}ano |- ! style="height:3em;background:#c0cfe4" | imperfek | {{{1}}}avo | {{{1}}}avi | {{{1}}}ava | {{{1}}}avamo | {{{1}}}avate | {{{1}}}avano |- ! style="height:3em;background:#c0cfe4" | passato remoto | {{{1}}}ai | {{{1}}}asti | {{{1}}}ò | {{{1}}}ammo | {{{1}}}aste | {{{1}}}arono |- ! style="height:3em;background:#c0cfe4" | futur | {{{1}}}erò | {{{1}}}erai | {{{1}}}erà | {{{1}}}eremo | {{{1}}}erete | {{{1}}}eranno |- ! style="height:3em;background:#c0cfe4" | kondisional | {{{1}}}erei | {{{1}}}eresti | {{{1}}}erebbe | {{{1}}}eremmo | {{{1}}}ereste | {{{1}}}erebbero |- ! rowspan="5" style="background:#c0cfe4" | bentuk waktu<br>komposit ! style="height:3em;background:#c0cfe4" | passato prossimo ! colspan="6" style="background:#C0C0C0" | gunakan bentuk kini dari ''{{{2}}}'' dan partisip lampau |- ! style="height:3em;background:#c0cfe4" | trapassato prossimo ! colspan="6" style="background:#C0C0C0" | gunakan bentuk imperfek dari ''{{{2}}}'' dan partisip lampau |- ! style="height:3em;background:#c0cfe4" | trapassato remoto ! colspan="6" style="background:#C0C0C0" | gunakan betuk passato remoto dari ''{{{2}}}'' dan partisip lampau |- ! style="height:3em;background:#c0cfe4" | futuro anteriore ! colspan="6" style="background:#C0C0C0" | gunakan bentuk futur dari ''{{{2}}}'' dan partisip lampau |- ! style="height:3em;background:#c0cfe4" | condizionale passato ! colspan="6" style="background:#C0C0C0" | gunakan bentuk kondisional dari ''{{{2}}}'' dan partisip lampau |- ! style="background:#c0e4c0" colspan="2" | subjungtif ! style="background:#c0e4c0" | che io ! style="background:#c0e4c0" | che tu ! style="background:#c0e4c0" | che lui/che lei ! style="background:#c0e4c0" | che noi ! style="background:#c0e4c0" | che voi ! style="background:#c0e4c0" | che loro |- ! rowspan="2" style="background:#c0e4c0" | bentuk waktu<br>sederhana ! style="height:3em;background:#c0e4c0" | kini | {{{1}}}i | {{{1}}}i | {{{1}}}i | {{{1}}}iamo | {{{1}}}iate | {{{1}}}ino |- ! style="height:3em;background:#c0e4c0" rowspan="1" | imperfek | {{{1}}}assi | {{{1}}}assi | {{{1}}}asse | {{{1}}}assimo | {{{1}}}aste | {{{1}}}assero |- ! rowspan="2" style="background:#c0e4c0" | bentuk waktu<br>komposit ! style="height:3em;background:#c0e4c0" | passato ! colspan="6" style="background:#C0C0C0" | gunakan subjungtif kini dari ''{{{2}}}'' dan partisip lampau |- ! rowspan="1" style="height:3em;background:#c0e4c0" | trapassato ! colspan="6" style="background:#C0C0C0" | gunakan subjungtif imperfek dari ''{{{2}}}'' dan partisip lampau |- ! colspan="2" rowspan="2" style="height:3em;background:#e4d4c0" | imperatif ! style="background:#e4d4c0" | - ! style="background:#e4d4c0" | tu ! style="background:#e4d4c0" | lui/lei ! style="background:#e4d4c0" | noi ! style="background:#e4d4c0" | voi ! style="background:#e4d4c0" | loro |- | | {{{1}}}a | {{{1}}}i | {{{1}}}iamo | {{{1}}}ate | {{{1}}}ino |} </div><noinclude> [[Kategori:Templat {{it}}]] [[kategori:Templat konjugasi]]</noinclude> 97lbmb9fsf3146b0ousd4ib5b45ubzv Templat:es-conj-ar 10 14101 1349906 820542 2026-04-15T06:43:17Z DelintBot 47600 Replacing [[mw:Help:Lint errors/obsolete-tag|obsolete tags]] 1349906 wikitext text/x-wiki <div style="text-align: center;"> {| style="background:#F0F0F0" |- ! colspan="3" style="background:#e2e4c0" | infinitif | colspan="5" | {{{1}}}ar |- ! colspan="3" style="background:#e2e4c0" | gerund | colspan="5" | {{{1}}}ando |- ! colspan="3" style="background:#e2e4c0" | partisip lampau | colspan="5" | [[{{{1}}}ado]] |- ! colspan="2" rowspan="2" style="background:#C0C0C0" | orang ! colspan="3" style="background:#C0C0C0" | tunggal ! colspan="3" style="background:#C0C0C0" | jamak |- ! style="background:#C0C0C0;width:12.5%" | pertama ! style="background:#C0C0C0;width:12.5%" | kedua ! style="background:#C0C0C0;width:12.5%" | ketiga ! style="background:#C0C0C0;width:12.5%" | pertama ! style="background:#C0C0C0;width:12.5%" | kedua ! style="background:#C0C0C0;width:12.5%" | ketiga |- ! rowspan="6" style="background:#c0cfe4" | indikatif ! style="background:#c0cfe4" colspan="1" | ! style="background:#c0cfe4" | yo ! style="background:#c0cfe4" | tú ! style="background:#c0cfe4" | usted ! style="background:#c0cfe4" | nosotros ! style="background:#c0cfe4" | vosotros ! style="background:#c0cfe4" | ustedes |- ! style="height:3em;background:#c0cfe4" | kini | {{{1}}}o | {{{1}}}as | {{{1}}}a | {{{1}}}amos | {{{1}}}áis | {{{1}}}an |- ! style="height:3em;background:#c0cfe4" | imperfek | {{{1}}}aba | {{{1}}}abas | {{{1}}}aba | {{{1}}}ábamos | {{{1}}}abais | {{{1}}}aban |- ! style="height:3em;background:#c0cfe4" | preterite | {{{1}}}é | {{{1}}}aste | {{{1}}}ó | {{{1}}}amos | {{{1}}}asteis | {{{1}}}aron |- ! style="height:3em;background:#c0cfe4" | futur | {{{1}}}aré | {{{1}}}arás | {{{1}}}ará | {{{1}}}aremos | {{{1}}}aréis | {{{1}}}arán |- ! style="height:3em;background:#c0cfe4" | kondisional | {{{1}}}aría | {{{1}}}arías | {{{1}}}aría | {{{1}}}aríamos | {{{1}}}aríais | {{{1}}}arían |- ! rowspan="5" style="background:#c0e4c0" | subjungtif ! style="background:#c0e4c0" | ! style="background:#c0e4c0" | yo ! style="background:#c0e4c0" | tú ! style="background:#c0e4c0" | usted ! style="background:#c0e4c0" | nosotros ! style="background:#c0e4c0" | vosotros ! style="background:#c0e4c0" | ustedes |- ! style="height:3em;background:#c0e4c0" | kini | {{{1}}}e | {{{1}}}es | {{{1}}}e | {{{1}}}emos | {{{1}}}éis | {{{1}}}en |- ! style="height:3em;background:#c0e4c0" rowspan="1" | imperfek<br>(ra) | {{{1}}}ara | {{{1}}}aras | {{{1}}}ara | {{{1}}}áramos | {{{1}}}arais | {{{1}}}aran |- ! style="height:3em;background:#c0e4c0" rowspan="1" | imperfek<br>(se) | {{{1}}}ase | {{{1}}}ases | {{{1}}}ase | {{{1}}}ásemos | {{{1}}}aseis | {{{1}}}asen |- ! style="height:3em;background:#c0e4c0" rowspan="1" | futur | {{{1}}}are | {{{1}}}ares | {{{1}}}are | {{{1}}}áremos | {{{1}}}areis | {{{1}}}aren |- ! colspan="2" rowspan="2" style="height:3em;background:#e4d4c0" | imperatif ! style="background:#e4d4c0" | - ! style="background:#e4d4c0" | tú ! style="background:#e4d4c0" | usted ! style="background:#e4d4c0" | nosotros ! style="background:#e4d4c0" | vosotros ! style="background:#e4d4c0" | ustedes |- | | {{{1}}}a | {{{1}}}e | {{{1}}}emos | {{{1}}}ad | {{{1}}}en |} </div><noinclude> [[Kategori:Templat {{es}}]] [[category:Templat konjugasi]]</noinclude> ovdprw8a0sui4zgihha3rkdjxjo7qp2 Templat:it-conj-ire 10 14107 1349908 820539 2026-04-15T06:43:18Z DelintBot 47600 Replacing [[mw:Help:Lint errors/obsolete-tag|obsolete tags]] 1349908 wikitext text/x-wiki <!--Conjugation of regular Italian verbs in -ire--> <!--Use verb stem as first parameter, and either Avere or Essere as second parameter--> <div style="text-align: center;"> {| style="background:#F0F0F0" |- ! colspan="3" style="background:#e2e4c0" | infinitif | colspan="5" | {{{1}}}ire |- ! colspan="3" style="background:#e2e4c0" | gerund | colspan="5" | {{{1}}}endo |- ! colspan="3" style="background:#e2e4c0" | partisip kini | colspan="5" | [[{{{1}}}ente]] |- ! colspan="3" style="background:#e2e4c0" | partisip lampau | colspan="5" | [[{{{1}}}ito]] |- ! colspan="2" rowspan="2" style="background:#C0C0C0" | orang ! colspan="3" style="background:#C0C0C0" | tunggal ! colspan="3" style="background:#C0C0C0" | jamak |- ! style="background:#C0C0C0;width:12.5%" | pertama ! style="background:#C0C0C0;width:12.5%" | kedua ! style="background:#C0C0C0;width:12.5%" | ketiga ! style="background:#C0C0C0;width:12.5%" | pertama ! style="background:#C0C0C0;width:12.5%" | kedua ! style="background:#C0C0C0;width:12.5%" | ketiga |- ! style="background:#c0cfe4" rowspan="6" | indikatif ! style="background:#c0cfe4" | ! style="background:#c0cfe4" | io ! style="background:#c0cfe4" | tu ! style="background:#c0cfe4" | lui/lei ! style="background:#c0cfe4" | noi ! style="background:#c0cfe4" | voi ! style="background:#c0cfe4" | loro |- ! style="height:3em;background:#c0cfe4" | present | {{{1}}}o | {{{1}}}i | {{{1}}}e | {{{1}}}iamo | {{{1}}}ite | {{{1}}}ono |- ! style="height:3em;background:#c0cfe4" | imperfect | {{{1}}}ivo | {{{1}}}ivi | {{{1}}}iva | {{{1}}}ivamo | {{{1}}}ivate | {{{1}}}ivano |- ! style="height:3em;background:#c0cfe4" | passato remoto | {{{1}}}ii | {{{1}}}isti | {{{1}}}ì | {{{1}}}immo | {{{1}}}iste | {{{1}}}irono |- ! style="height:3em;background:#c0cfe4" | future | {{{1}}}irò | {{{1}}}irai | {{{1}}}irà | {{{1}}}iremo | {{{1}}}irete | {{{1}}}iranno |- ! style="height:3em;background:#c0cfe4" | conditional | {{{1}}}irei | {{{1}}}iresti | {{{1}}}irebbe | {{{1}}}iremmo | {{{1}}}ireste | {{{1}}}irebbero |- ! style="background:#c0e4c0" rowspan="3" | subjunctive ! style="background:#c0e4c0" | ! style="background:#c0e4c0" | che io ! style="background:#c0e4c0" | che tu ! style="background:#c0e4c0" | che lui/che lei ! style="background:#c0e4c0" | che noi ! style="background:#c0e4c0" | che voi ! style="background:#c0e4c0" | che loro |- ! style="height:3em;background:#c0e4c0" | present | {{{1}}}a | {{{1}}}a | {{{1}}}a | {{{1}}}iamo | {{{1}}}iate | {{{1}}}ano |- ! style="height:3em;background:#c0e4c0" rowspan="1" | imperfect | {{{1}}}issi | {{{1}}}issi | {{{1}}}isse | {{{1}}}issimo | {{{1}}}iste | {{{1}}}issero |- ! colspan="2" rowspan="2" style="height:3em;background:#e4d4c0" | imperative ! style="background:#e4d4c0" | - ! style="background:#e4d4c0" | tu ! style="background:#e4d4c0" | lui/lei ! style="background:#e4d4c0" | noi ! style="background:#e4d4c0" | voi ! style="background:#e4d4c0" | loro |- | | {{{1}}}i | {{{1}}}a | {{{1}}}iamo | {{{1}}}ite | {{{1}}}ano |} </div><noinclude> [[Kategori:Templat {{it}}]] [[category:Templat konjugasi]]</noinclude> k578hmwlgu0bepk77actxyk7edgx0br api 0 21373 1350007 1327360 2026-04-15T10:02:35Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350007 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-api.wav}} {{-n-|id}} # panas dan cahaya yang berasal dari sesuatu yang terbakar; nyala: <br />''di dekat api itu tampak beberapa orang berdiang'' #* {{RQ:Mustikarasa |page=1134 |text=Setelah dibungkus dengan daun pisang kemudian dibakar atau dipanggang dengan '''api''' sampai masak. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1142#:~:text=Setelah%20dibungkus%20dengan%20daun%20pisang%20kemudian%20dibakar%20atau%20dipanggang%20dengan%20api%20sampai%20masak. }} # kebakaran: <br />''bahaya api sering terjadi di kota-kota besar'' # {{ki}} perasaan yang menggelora (tentang cinta, perjuangan); semangat: <br />''kita harus terus mengobarkan api perjuangan menentang penjajahan; api revolusi; api asmara'' {{-etimologi-}} *Dari {{inh|id|poz-mly-pro|*api}}, dari {{inh|id|poz-pro|*hapuy}}, dari {{inh|id|map-pro|*Sapuy}}. {{-terjemahan-}} {{t-atas}} * {{ar}} : {{trad-|ar|النار}} * {{nl}} : {{trad-|nl|vuur}} * {{bug}} : {{trad-|bug|api}} * {{day}} : {{trad-|day|apui}} *{{en}}: {{t+|en|fire}} *{{fr}}: {{t+|fr|feu}}, {{t+|fr|flamme}} *{{ru}}: {{t+|ru|огонь}} *{{sv}}: {{t+|sv|eld}} *{{th}}: {{t+|th|ไฟ}} {{t-bawah}} {{rfv|id|impor dari KBBI}} =={{bahasa|bew}}== {{kepala|bew}} {{-lafal-}} * {{suara|bew|LL-Q33014 (bew)-Yahya Andi Saputra (Bangrapip)-api.wav}} {{-n-|bew}} # {{l|id|api}} [[Kategori:WikiTutur 2.0 - Betawi]] [[Kategori:Kolaborasi Tim WikiTutur 2.0]] =={{bahasa|bug}}== {{kepala|bug}} {{-n-|bug}} # [[panas]] dan [[cahaya]] yang berasal dari sesuatu yang ter[[bakar]] #: ''Ajja mukarawa api e'' #:Jangan sentuh apinya {{-lafal-|bug}} * {{suara|bug|LL-Q33190 (bug)-Iripseudocorus-Api.wav }} =={{bahasa|jv}}== {{kepala|jv}} {{rfv|jv}} {{-etimologi-}} :{{Inh+|jv|kaw|apuy|t=api}}, dari {{Inh*|jv|PMP|hapuy|t=api}}, dari {{Inh*|jv|PAN|Sapuy|t=api}}. Untuk terjemahan kata "api" itu sendiri dalam bahasa Jawa sudah digantikan oleh istilah {{sebut|jv|geni}} yang diserap dari bahasa Sanskerta. {{-n-|jv}} # [[uap]] {{-rujukan-}} * {{R:map:ACD|*Sapuy|id=28117|type=c}} =={{bahasa|knx}}== {{kepala|knx}} {{-lafal-}} * {{suara|knx|LL-Q6388963 (knx)-Yua yaiba-api.wav}} {{-adv-|knx}} # {{l|id|api}} [[Kategori:WikiTutur 2.0 - Kanayatn]] =={{bahasa|knl}}== {{kepala|knl}} {{-lafal-}} * {{suara|knl|LL-Q6389309 (knl)-Mario Manggit (Neyana999)-api.wav}} {{-n-|knl}} # {{l|id|api}} [[Kategori:WikiTutur 2.0 - Keninjal]] [[Kategori:Kolaborasi Tim WikiTutur 2.0]] =={{bahasa|kge}}== {{kepala|kge}} {{-pron-|kge}} # [[apa]] {{-pron-|kge}} # [[apa]] {{-turunan-}} {{col3|kge |apida |apilagi |apiya |apiyona |ngapi |ngapida}} {{col3|kge |api bakna |api haga |api pocakna}} ==== Rujukan ==== * Jakoeb, Ahmad Firdaus; Ben, Rakfat (2011). ''Kamus Bahasa Indonesia-Kumoring/Kumoring-Indonesia''. =={{bahasa|ljp}}== {{kepala|ljp}} {{-pron-|ljp}} # [[apa]] #: ''Lagi '''api'''?'' #:Lagi '''apa'''? {{-lafal-|ljp}} * {{suara|ljp|LL-Q49215 (ljp)-Isa Saburai-Api.wav}} =={{bahasa|mqy}}== {{kepala|mqy}} {{-n-|mqy}} # {{l|id|api}} =={{bahasa|ms}}== {{kepala|ms}} {{-adj-|ms}} # [[api#bahasa Indonesia|api]] {{-lafal-|ms}} * {{suara|ms|LL-Q9237 (msa)-Caca (Muhammad Rifqi Saputra)-api.wav|q=''Sambas''}} [[Category:WikiTutur 2.0 - Melayu Sambas]] [[Category:Kopdar WikiTutur 2.0 Jakarta 20 April 2025]] =={{bahasa|jax}}== {{kepala|jax}} {{-lafal-}} *{{suara|jax|LL-Q3915769 (jax)-Hihida Abdillah 1997-api.wav|q=''Jambi Seberang''}} {{-n-|jax}} # ("Jambi Seberang") api: #: ''panas nian api e..'' #:: apinya sangat panas.. =={{bahasa|mui-plm}}== {{kepala|mui-plm}} {{-n-|mui-plm}} # {{l|id|api}} =={{bahasa|rej}}== {{kepala|rej}} {{suara|pey|LL-Q3056339 (rej)-PiscesLeo-api.wav}} {{-pron-|rej}} # [[siapa]] =={{bahasa|szy}}== {{kepala|szy}} {{-n-|szy}} # [[kembar]] =={{bahasa|rob}}== {{kepala|rob}} {{-n-|rob}} # {{l|id|api}} [[Kategori:WikiTutur Daring Umum 11 Februari 2024]] [[Kategori:WikiTutur - Lampung Api]] [[Kategori:WikiTutur Yogyakarta 18 Februari 2024]] [[Kategori:WikiTutur - Bugis]] [[Kategori:WikiTutur Kopdar Jakarta 27 April 2024]] [[Kategori:WikiTutur - Betawi]] [[Kategori: Kata bahasa Rejang]] [[Kategori:WikiTutur Kopdar Jakarta 22 Juni 2024]] [[Kategori:WikiTutur - Rejang]] =={{bahasa|bbc}}== {{kepala|bbc}} {{-n-|bbc}} # [[api]] #: unang marmeam '''api''' ho #: jangan bermain '''api''' kau [[Kategori:Kopdar Wiki Medan 22 Februari 2026]] tcarcm7qj2a8ki4t8tedy1smu28oz5a pisang 0 21710 1349896 1330806 2026-04-15T06:31:35Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349896 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-pisang.wav}} {{-n-|id}} #suatu jenis buah genus ''Musa'' #suatu jenis tanaman buah tersebut #* {{RQ:Mustikarasa |page=1143 |text=Sedapan jang tjotjok dihidangkan dengan ini, ialah '''pisang''' rebus/ katjang tanah rebus. |norm=Sedapan yang cocok dihidangkan dengan ini ialah '''pisang''' rebus atau kacang tanah rebus. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1151#:~:text=Sedapan%20jang%20tjotjok%20dihidangkan%20dengan%20ini%2C%20ialah%20pisang%20rebus/%20katjang%20tanah%20rebus. }} =={{bahasa|ace}}== {{kepala|ace}} {{-lafal-|ace}} * {{suara|ace|LL-Q27683 (ace)-Muislate-pisang.wav}} {{-n-|ace}} # pisang {{-terjemahan-}} {{t-atas}} *{{ms}}: {{t+|ms|pisang}} {{t+|ms|ڤيسڠ}} *{{bjn}}: {{t+|bjn|pisang}} *{{gor}}: {{t+|gor|lambi}} *{{en}}: {{t+|en|banana}} *{{fr}}: {{t+|fr|banane}} *{{fi}}: {{t+|fi|banaani}} *{{ru}}: {{t+|ru|банан}} *{{th}}: {{t+|th|กล้วย}} {{t-bawah}} {{id-cat|Fruit}} =={{bahasa|ms}}== {{kepala|ms}} {{ms-orth|r=pisang|j=ڤيسڠ}} {{ms-nm}} #{{lang|id|pisang}} {{ms-cat|Fruit}} =={{bahasa|min}}== {{kepala|min}} {{-n-|min}} # pisang [[Kategori:WikiMaknyus Mataram]] [[Kategori:WikiMaknyus]] =={{bahasa|nij}}== {{kepala|nij}} {{-n-|nij}} # pisang #: ''Pisang te jadi mamusu'' #:: Pisang itu sudah muncul tongkolnya {{-lafal-|kode bahasa}} * {{suara|nij|LL-Q2992872 (nij)-Ilham Mufti Laksono-pisang.wav}} [[Kategori:WikiTutur - Ngaju]] [[Kategori:WikiTutur Kopdar Banjarmasin 30 Juni 2024]] [[Kategori:WikiTutur 3.0 - Aceh]] [[Kategori:WikiTutur 3.0 Kopdar Medan 2025-11-02]] =={{bahasa|kvb}}== {{kepala|kvb}} : {{suara|kvb|LL-Q6441341 (kvb)-Mustafa (Qil123)-pisang.wav}} {{-n-|kvb}} # {{l|kvb|pisang}} [[Kategori:Edit-a-thon WikiKathā Maret 2026]] =={{bahasa|xmm}}== {{kepala|xmm}} : {{suara|xmm|LL-Q1068112 (xmm)-TerebinthTree-Pisang.wav}} {{-n-|xmm}} # pisang [[Category:WikiMaknyus Manado]] [[Category:WikiMaknyus]] =={{bahasa|bjn}}== {{kepala|bjn}} {{-lafal-|bjn}} * {{suara|bjn|LL-Q33151 (bjn)-Wadaihangit-pisang.wav}} {{-n-|bjn}} # pisang (buah) #: {{ux|bjn|Pais ni nyamannya nang pais pisang pang|Kue pais ini enak yang rasa pisang}} [[Kategori:WikiTutur 3.0 - Banjar]] [[Kategori:WikiTutur 3.0 Banjarmasin 15 Februari 2026]] ahs0wrun60hrkugp06ztyj31u8t26wg botol 0 21793 1349922 1279296 2026-04-15T07:01:40Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349922 wikitext text/x-wiki [[File:Botol.webm|thumb|250px|start=1|end=4|Bahasa isyarat kata "Botol" ]] =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-botol.wav}} {{-n-|id}} # wadah untuk benda cair, yang berleher sempit dan biasanya dibuat dari kaca atau plastik: <br>''Ia mengisi botol minumnya dengan air segar sebelum berangkat ke sekolah.'' #* {{RQ:Mustikarasa |page=1151 |text=Crème ini dapat disimpan dalam '''botol''' dan tahan kira² 1 minggu. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1159#:~:text=Cr%C3%A8me%20ini%20dapat%20disimpan%20dalam%20botol%20dan%20tahan%20kira%C2%B2%201%20minggu. }} {{-pengejaan-|id}} /bo·tol/ {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} * {{id}} : {{t+|id|botol}} * {{gor}} : {{t+|gor|buutulu}} * {{nl}} : {{trad-|nl|fles|f|m}} * {{en}} : {{trad-|en|bottle}} * {{de}} : {{trad-|de|Flasche|f}} * {{fr}} : {{trad-|fr|bouteille}} {{t-bawah}} {{-rujukan-}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} fs40v0cmk48x2gobn2mkd8f8i1iydu2 roti 0 21798 1349918 1347656 2026-04-15T06:59:08Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349918 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-roti.wav}} {{-etimologi-}} {{ubor|id|sa|रोटी}}. {{-cog-|id}} Kognatif dengan {{cog|hi|रोटी}} dan {{cog|ur|روٹی}}. {{-n-|id}} # makanan yang dibuat dari bahan pokok tepung terigu, banyak macamnya #* {{RQ:Mustikarasa |page=1150 |text=Wedang dihidangkan dalam mangkuk, dimasukkan 2 sendok makan bidji delima, 2 sendok katjang, beberapa potong '''roti'''. |norm=Wedang dihidangkan dalam mangkuk, dimasukkan 2 sendok makan bidji delima, 2 sendok kacang, beberapa potong '''roti'''. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1158#:~:text=Wedang%20dihidangkan%20dalam%20mangkuk%2C%20dimasukkan%202%20sendok%20makan%20bidji%20delima%2C%202%20sendok%20katjang%2C%20beberapa%20potong%20roti.}} }} {{-rujukan-}} {{R:KBBI}} {{-terjemahan-}} {{t-atas}} * {{af}}: {{t+|af|brood}} * {{en}}: {{t+|en|bread}} * bahasa Esperanto: {{t+|eo|pano}} * bahasa Finlandia: {{t+|fi|leipä}} * {{ms}}: {{t+|ms|roti}} * {{fr}}: {{t+|fr|pain}} * {{pt}}: {{t+|pt|pão|m}} * bahasa Rusia: {{t+|ru|хлеб|m|sc=Cyrl}} * bahasa Spanyol: {{t+|es|pan|m}} * bahasa Swedia: {{t+|sv|bröd}} * bahasa Turki: {{t+|tr|ekmek}} {{t-bawah}} =={{bahasa|bew}}== {{kepala|bew}} : {{suara|sas|LL-Q33014_(bew)-Hzu_Hzu-roti.wav }} {{-n-|bew}} # makanan yang mengandung ragi =={{bahasa|min}}== {{kepala|min}} : {{suara|sas|LL-Q33014_(bew)-Hzu_Hzu-roti.wav }} {{-n-|min}} # makanan yang mengandung ragi [[Kategori:WikiMaknyus Mataram]] [[Kategori:WikiMaknyus]] =={{bahasa|osi}}== {{kepala|osi}} : {{pemenggalan|osi|ro|ti}} {{-n-|osi}} # {{l|id|roti}} {{-rujukan-}} * Ali, Hasan. (2002). ''[https://web.archive.org/web/20260115111844/https://ebookbanyuwangi.id/assets/2022/kamus_using.pdf Kamus Bahasa Daerah Using-Indonesia]''. Banyuwangi: Pemerintah Kabupaten Banyuwangi. [[Kategori:Edit-a-thon WikiKathā Maret 2026]] 4a1jo6r5ue80jbxdx8au9nqi1tbq7sh kue 0 21804 1349895 1279326 2026-04-15T06:28:17Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349895 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-kue.wav}} {{-n-|id}} # penganan dari bahan yang bermacam-macam, ada yang dikukus, digoreng, dipanggang #* {{RQ:Mustikarasa |page=1137 |text='''Kue''' tadi dimasukkan kedalam gula, diaduk sampai rata (dibesta). |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1145#:~:text=Kue%20tadi%20dimasukkan%20kedalam%20gula%2C%20diaduk%20sampai%20rata%20(dibesta). }} {{e|id}} * 糕 gao {{-terjemahan-}} {{t-atas}} * {{bjn}} : {{trad-|bjn|wadai}} * {{en}} : {{trad-|en|cake}} * {{fr}} : {{trad-|fr|gâteau}} {{t-bawah}} =={{bahasa|mui-plm}}== {{kepala|mui-plm}} # kue; [[lontong]] tradisional #: ''Beli talok untuk oleh-oleh'' #:: Beli talok untuk oleh-oleh nmxl1cn6zohkl3l9a9oroj1r7nizuhx pendidikan 0 21871 1349992 1279823 2026-04-15T08:59:40Z Iripseudocorus 40083 rekam1 1349992 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|pen|di|di|kan}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-pendidikan.wav}} {{imbuhan peng-an|didik|kelas=n}} # proses pengubahan sikap dan tata laku seseorang atau kelompok orang dalam usaha mendewasakan manusia melalui upaya pengajaran dan pelatihan; proses, cara, perbuatan mendidik #* {{RQ:20 Mei Pelopor 17 Agustus |page=n.d |text=Dalam soal usaha '''pendidikan''' jang berdasar kebudajaan bangsa jang paling terkenal ialah Taman Siswa dengan systimnja '''pendidikan''' dan organisasi jang istimewa. |norm=Dalam soal usaha '''pendidikan''' yang berdasar kebudayaan bangsa yang paling terkenal ialah Taman Siswa dengan sistemnya '''pendidikan''' dan organisasi yang istimewa. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/15#:~:text=Dalam%20soal%20usaha%20pendidikan%20jang%20berdasar%20kebudajaan%20bangsa%20jang%20paling%20terkenal%20ialah%20Taman%20Siswa%20dengan%20systimnja%20pendidikan%20dan%20organisasi%20jang%20istimewa%2C%20didirikan%20pada%203%20Juli%201922%20di%20Jogjakarta%20oleh%20Suwardi%20Suryaningrat%2C%20jang%20sedjak%208%20Mei%201928%20bernama%20Ki%20Hadjar%20Dewantoro. }} {{-terjemahan-}} {{t-atas}} * {{en}} : {{trad-|en|education}} * {{fr}} : {{trad-|fr|éducation}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} mfb74o1xh31fcld5g01uokm8f75p0ni jeruk nipis 0 22653 1349924 1279290 2026-04-15T07:03:17Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349924 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-buah jeruk nipis.wav}} {{-n-|id}} # buah jeruk nipis #* {{RQ:Mustikarasa |page=1151 |text=Telur dikotjok selama 5 menit sampai naik betul, ditjampur dengan gula pasir halus dan air '''djeruk nipis.''' |norm=Telur dikocok selama 5 menit sampai naik betul, dicampur dengan gula pasir halus dan air '''jeruk nipis.''' |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1159#:~:text=Telur%20dikotjok%20selama%205%20menit%20sampai%20naik%20betul%2C%20ditjampur%20dengan%20gula%20pasir%20halus%20dan%20air%20djeruk%20nipis. }} {{-sinonim-}} * [[limau]] {{-terjemahan-}} {{t-atas}} * {{en}} : {{trad-|en|lemon}} * {{fr}} : {{trad-|fr|citron}} {{t-bawah}} [[Kategori:id:Buah]] lt5h7449ehnc7hihqcm486g5bpol7gs penyakit 0 22950 1349964 1283205 2026-04-15T08:12:32Z Iripseudocorus 40083 rekam1 1349964 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|pe|nya|kit}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-penyakit.wav}} {{imbuhan peng-|sakit|kelas=n}} # sesuatu yang menyebabkan terjadinya gangguan pada makhluk hidup # gangguan kesehatan yang disebabkan oleh bakteri, virus, atau kelainan sistem faal atau jaringan pada organ tubuh (pada makhluk hidup) #* {{RQ:20 Mei Pelopor 17 Agustus |page=10 |text=Ketua Panitya adalah marhum dr. Tumbelaka, jang waktu itu tinggal dinegeri Belanda untuk menjiapkan diri sebagai specialist dalam ilmu '''penjakit''' urat-sjaraf. |norm=Ketua Panitia adalah marhum dr. Tumbelaka, yang waktu itu tinggal di negeri Belanda untuk menyiapkan diri sebagai spesialis dalam ilmu '''penyakit''' urat-saraf. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/9#:~:text=Ketua%20Panitya%20adalah%20marhum%20dr.%20Tumbelaka%2C%20jang%20waktu%20itu%20tinggal%20dinegeri%20Belanda%20untuk%20menjiapkan%20diri%20sebagai%20%E2%80%9Especialist%E2%80%9D%20dalam%20ilmu%20penjakit%20urat%2Dsjaraf. }} # {{ki}} kebiasaan yang buruk; sesuatu yang mendatangkan keburukan: <br />''suka membual itulah yang menjadi penyakitnya; mobil ini banyak penyakitnya'' # {{label|id|kasar}} kurang ajar (kata afektif dalam makian); bangsat: <br />''penyakit , pergi kau'' {{-terjemahan-}} {{t-atas}} * {{en}} : {{trad-|en|disease}} * {{fr}} : {{trad-|fr|maladie}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} azbg62lrf70pg7a8j1ydff38galja38 gula 0 23056 1349941 1349299 2026-04-15T07:31:31Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349941 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|gu|la}} {{IPA|id|/gu.la/}} * {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-gula.wav}} {{-etimologi-}} : Sanskerta ''guḍa'' (गुड) {{-n-|id}} # bahan [[pemanis]] dalam bentuk [[padatan]] atau [[butiran]] yang dibuat dari air [[tebu]], [[aren]], atau [[kelapa]] #* {{RQ:Mustikarasa |page= 58 |text= '''Gula''' ini dibuat dari sari tebu, jang setelah disaring lalu dikristalkan dengan dimasak |norm= '''Gula''' ini dibuat dari sari tebu, yang setelah disaring lalu dikristalkan dengan dimasak |url= https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/66#:~:text=Gula%20ini%20dibuat%20dari%20sari%20tebu%2C%20jang%20setelah%20disaring%20lalu%20dikristalkan%20dengan%20dimasak }} {{-terjemahan-}} {{t-atas}} * {{bhs|de}}: {{t|de|Zucker}} * {{bhs|en}}: {{t|en|sugar}} * {{bhs|fr}}: {{t|fr|sucre}} * {{bhs|th}}: {{t|th|น้ำตาล}} {{t-bawah}} {{id-cat|Food}} =={{bahasa|jv}}== {{kepala|jv}} {{-n-|jv}} # [[Gula]] #: ''Nggawa '''gula''' sak kilo' #:Membawa gula satu kilo {{-lafal-|jv}} * {{suara|jv|LL-Q33549 (jav)-Tetheow-gula.wav}} [[Kategori:WikiTutur Daring Umum 11 Februari 2024]] [[Kategori:WikiTutur - Jawa]] =={{bahasa|tes}}== {{kepala|tes}} {{-n-|tes}} # {{l|id|gula}} {{-lafal-|tes}} * {{suara|tes|LL-Q12473479 (tes)-Resmi (Bangrapip)-gula.wav}} [[Kategori:Kopdar WikiTutur 2.0 Jakarta 20 April 2025]] [[Kategori:WikiTutur 2.0 - Tengger]] [[Category:WikiMaknyus Manado]] [[Category:WikiMaknyus]] =={{bahasa|xmm}}== {{kepala|xmm}} : {{suara|xmm|LL-Q9240 (ind)-Manadonese-Gula.wav}} {{-n-|xmm}} # gula, bahan pemanis [[Category:WikiMaknyus Manado]] [[Category:WikiMaknyus]] 0nn7lcv7h1vwtnin5p9hrtsrxcscepn lada 0 23381 1349912 1286387 2026-04-15T06:47:07Z Alfiyah Rizzy Afdiquni 40651 1349912 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{-n-|id}} # buah lada #* {{RQ:Mustikarasa |page=1149 |text='''Lada''', pala, tjengkeh, djae ditumbuk sampai halus. |norm='''Lada''', pala, cengkeh, jahee ditumbuk sampai halus. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1157#:~:text=Lada%2C%20pala%2C%20tjengkeh%2C%20djae%20ditumbuk%20sampai%20halus. }} #: {{syn|id|merica|sahang}} #* {{RQ:Mustikarasa |page= 59 |text= '''Lada''' berbentuk butir ketjil2 bundar, ada jang hitam, asal dari Lampung dan ada pula jang putih asal dari Bangka. Rasa pedas disebabkan oleh piperin. Lada hitam lebih banjak mengadung zat ini daripada lada putih. |norm= '''Lada''' berbentuk butir kecil-kecil bundar, ada yang hitam, asal dari Lampung dan ada pula yang putih asal dari Bangka. Rasa pedas disebabkan oleh piperin. Lada hitam lebih banyak mengandung zat ini daripada lada putih. |url= https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/67#:~:text=Lada%20berbentuk%20butir%20ketjil2%20bundar%2C%20ada%20jang%20hitam%2C%20asal%20dari%20Lampung%20dan%20ada%20pula%20jang%20putih%20asal%20dari%20Bangka.%20Rasa%20pedas%20disebabkan%20oleh%20piperin.%20Lada%20hitam%20lebih%20banjak%20mengadung%20zat%20ini%20daripada%20lada%20putih. }} {{-terjemahan-}} {{t-atas}} * {{bhs|fi}}: {{t|fi|pippuri}} * {{bhs|en}}: {{t|en|pepper}} * {{bhs|fr}}: {{t|fr|poivre}} {{t-bawah}} =={{bahasa|ace}}== {{kepala|ace}} {{-n-|ace}} # {{l|id|lada}}; [[merica]] [[Kategori:WikiTutur 3.0 - Aceh]] [[Kategori:WikiTutur 3.0 - 02 November 2025]] =={{bahasa|mak}}== {{kepala|mak}} {{-n-|mak}} # {{l|id|lada}} =={{bahasa|nia}}== {{kepala|nia}} {{-n-|nia}} # [[cabe]] =={{bahasa|su}}== {{kepala|su}} : {{suara|su|LL-Q34002 (sun)-Griselda Orion-lada.wav}} {{suara|su|LL-Q34002 (sun)-Serigalakampus-lada.wav}} {{-adj-|su}} # [[pedas]] #: {{contoh|su|Seblak kuring lada pisan.|Seblak saya pedas sekali.}} [[Kategori:WikiTutur - Sunda]] [[Kategori:WikiTutur Bandung 25 Februari 2024]] [[Kategori:WikiTutur Kopdar Bandung 01 Juni 2024]] [[Category:WikiMaknyus Manado]] [[Category:WikiMaknyus]] =={{bahasa|jv}}== {{kepala|jv}} {{-n-|jv}} # [[lada]] [[Kategori:WikiMaknyus]] [[Kategori:WikiMaknyus Banjarnegara]] 4os6c63qasd3vf9em6d2y1z429oqwsb 1349913 1349912 2026-04-15T06:48:27Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349913 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-lada.wav}} {{-n-|id}} # buah lada #* {{RQ:Mustikarasa |page=1149 |text='''Lada''', pala, tjengkeh, djae ditumbuk sampai halus. |norm='''Lada''', pala, cengkeh, jahee ditumbuk sampai halus. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1157#:~:text=Lada%2C%20pala%2C%20tjengkeh%2C%20djae%20ditumbuk%20sampai%20halus. }} #: {{syn|id|merica|sahang}} #* {{RQ:Mustikarasa |page= 59 |text= '''Lada''' berbentuk butir ketjil2 bundar, ada jang hitam, asal dari Lampung dan ada pula jang putih asal dari Bangka. Rasa pedas disebabkan oleh piperin. Lada hitam lebih banjak mengadung zat ini daripada lada putih. |norm= '''Lada''' berbentuk butir kecil-kecil bundar, ada yang hitam, asal dari Lampung dan ada pula yang putih asal dari Bangka. Rasa pedas disebabkan oleh piperin. Lada hitam lebih banyak mengandung zat ini daripada lada putih. |url= https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/67#:~:text=Lada%20berbentuk%20butir%20ketjil2%20bundar%2C%20ada%20jang%20hitam%2C%20asal%20dari%20Lampung%20dan%20ada%20pula%20jang%20putih%20asal%20dari%20Bangka.%20Rasa%20pedas%20disebabkan%20oleh%20piperin.%20Lada%20hitam%20lebih%20banjak%20mengadung%20zat%20ini%20daripada%20lada%20putih. }} {{-terjemahan-}} {{t-atas}} * {{bhs|fi}}: {{t|fi|pippuri}} * {{bhs|en}}: {{t|en|pepper}} * {{bhs|fr}}: {{t|fr|poivre}} {{t-bawah}} =={{bahasa|ace}}== {{kepala|ace}} {{-n-|ace}} # {{l|id|lada}}; [[merica]] [[Kategori:WikiTutur 3.0 - Aceh]] [[Kategori:WikiTutur 3.0 - 02 November 2025]] =={{bahasa|mak}}== {{kepala|mak}} {{-n-|mak}} # {{l|id|lada}} =={{bahasa|nia}}== {{kepala|nia}} {{-n-|nia}} # [[cabe]] =={{bahasa|su}}== {{kepala|su}} : {{suara|su|LL-Q34002 (sun)-Griselda Orion-lada.wav}} {{suara|su|LL-Q34002 (sun)-Serigalakampus-lada.wav}} {{-adj-|su}} # [[pedas]] #: {{contoh|su|Seblak kuring lada pisan.|Seblak saya pedas sekali.}} [[Kategori:WikiTutur - Sunda]] [[Kategori:WikiTutur Bandung 25 Februari 2024]] [[Kategori:WikiTutur Kopdar Bandung 01 Juni 2024]] [[Category:WikiMaknyus Manado]] [[Category:WikiMaknyus]] =={{bahasa|jv}}== {{kepala|jv}} {{-n-|jv}} # [[lada]] [[Kategori:WikiMaknyus]] [[Kategori:WikiMaknyus Banjarnegara]] 0zimq55too1tydcz6gd1smv9msi8niq gerakan 0 23437 1349935 1279406 2026-04-15T07:19:30Z Iripseudocorus 40083 rekam1 1349935 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ge|ra|kan}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-gerakan.wav}} {{imbuhan -an|gerak|kelas=n}} # perbuatan atau keadaan bergerak (air, laut, mesin) # pergerakan, usaha, atau kegiatan dalam lapangan sosial (politik dsb): <br />''gerakan kaum buruh'' #* {{RQ:20 Mei Pelopor 17 Agustus |page= |text=Bukankah hingga kini masih ada perhimpunan-perhimpunan Pasundan, '''Gerakan''' Rakjat Indonesia Sunda Ketjil, Pemuda Indonesia Maluku, Kebaktian Rakjat Indonesia Sulawesi dll. sebagainja? |norm=Bukankah hingga kini masih ada perhimpunan-perhimpunan Pasundan, '''Gerakan''' Rakyat Indonesia Sunda Kecil, Pemuda Indonesia Maluku, Kebaktian Rakyat Indonesia Sulawesi dan lain sebagainya? |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/11#:~:text=Bukankah%20hingga%20kini%20masih%20ada%20perhimpunan%2Dperhimpunan%20%E2%80%9EPasundan%E2%80%9D%2C%20Gerakan%20Rakjat%20Indonesia%20Sunda%20Ketjil%2C%20Pemuda%20Indonesia%20Maluku%2C%20Kebaktian%20Rakjat%20Indonesia%20Sulawesi%20dll.%20sebagainja%3F}} {{-terjemahan-}} {{t-atas}} * {{en}} : {{trad-|en|motion}} * {{fr}} : {{trad-|fr|mouvement}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} dfb13jt9zaq1qnf6b6lely17bg6o3db hati 0 23450 1349944 1341578 2026-04-15T07:43:26Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349944 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-hati.wav}} {{-n-|id}} # {{Anat}} [[organ|Organ]] badan yang berwarna kemerah-merahan di bagian kanan atas [[rongga perut]], gunanya untuk mengambil [[sari-sari]] makanan di dalam [[darah]] dan menghasilkan [[empedu]]; [[lever]]. # [[Daging]] dari hati sebagai bahan makanan (terutama dari binatang [[sembelihan]]): #: ''masakan [[sambal goreng]] hati'' # [[jantung|Jantung]]: #: '''''Hati'''nya [[berdebar-debar]].'' # Sesuatu yang ada di dalam tubuh manusia yang dianggap sebagai tempat segala [[perasaan]] [[batin]] dan tempat menyimpan [[pengertian]] ([[perasaan]] dsb.): #: ''membaca dalam '''hati''''' #: ''berbicara dari '''hati''' ke '''hati'' #* {{RQ:Mustikarasa |page=1116 |text=Setelah kering ketan dilepaskan dari daun, di-potong² sesuka '''hati''', didjemur hingga kering betul. |norm=Setelah kering ketan dilepaskan dari daun, di-potong² sesuka '''hati''', di jemur hingga kering betul. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1124#:~:text=Setelah%20kering%20ketan%20dilepaskan%20dari%20daun%2C%20di%2Dpotong%C2%B2%20sesuka%20hati%2C%20didjemur%20hingga%20kering%20betul. }} # Bagian yang di dalam sekali (tentang [[buah]], [[batang]], [[tumbuhan]] dsb.) #: '''''hati''' buah [[nangka]]'' #: '''''hati''' batang [[pisang]]'' # [[sifat|Sifat]] ([[tabiat]]) batin manusia: #: ''Orang itu baik '''hati'''nya.'' # Apa yang terasa dalam batin: #: ''Sedih '''hati'''ku memikirkan nasib kawanku itu.'' {{-turunan-|id}} {{-terjemahan-}} {{t-atas|organ tubuh}} * bahasa Inggris: {{trad-|en|liver}} * bahasa Perancis: {{trad-|fr|foie}} {{t-bawah}} {{t-atas|emosi atau perasaan}} * bahasa Inggris: {{trad-|en|heart}} * bahasa Perancis: {{trad-|fr|coeur}} {{t-bawah}} {{t-atas|simbol}} * bahasa Inggris: {{trad-|en|heart}} * bahasa Perancis: {{trad-|fr|coeur}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} [[Kategori:id:Anatomi manusia]] =={{bahasa|mqg}}== {{kepala|mqg}} {{-n-|mqg}} # {{label|mqg|Kutai Adat Lawas}} {{l|id|hati}} [[Kategori:Edit-a-thon WikiKathā Maret 2026]] =={{bahasa|min}}== {{kepala|min}} {{-n-|min}} # {{aneuk jamee}} hati; [[lever]] {{-lafal-|min}} * {{suara|min| LL-Q13324 (min)-Agent20november-hati.wav }} {{-ragam-}} * [[ati]] [[Kategori:WikiTutur - Aneuk Jamee]] [[Kategori:WikiTutur Jakarta 3 Februari 2024]] nvh1mkhoehxqvbratmgtgaw7sgmrvue gelas 0 23695 1349938 1279279 2026-04-15T07:22:03Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349938 wikitext text/x-wiki [[File:Gelas.webm|thumb|250px|start=1|end=4|Bahasa isyarat kata "Gelas" ]] =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-gelas.wav}} {{-n-|id}} # tempat untuk minum, berbentuk tabung terbuat dari kaca dan sebagainya. #* {{RQ:Mustikarasa |page=1152 |text=Minuman ini biasanja untuk orang sakit panas. Dihidangkan dalam '''gelas'''. |norm=Minuman ini biasanya untuk orang sakit panas. Dihidangkan dalam gelas. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1160#:~:text=Minuman%20ini%20biasanja%20untuk%20orang%20sakit%20panas.%20Dihidangkan%20dalam%20gelas. }} {{-etimologi-}} * Dari {{nl}} [[glas]] {{-terjemahan-}} {{t-atas}} *{{id}}: {{t+|id|gelas}} *{{gor}}: {{t+|gor|halati}} *{{en}} : {{trad-|en|glass}} *{{fr}} : {{trad-|fr|verre}} {{t-bawah}} [[Kategori:id:Zat]] s97sjcwez5764qac1f8zlg690bxd8di jerapah 0 24488 1349958 1330388 2026-04-15T08:07:54Z DelintBot 47600 Removing [[mw:Help:Lint errors/bogus-image-options|bogus image options]] 1349958 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|je|ra|pah}} {{AFI|id|/d͡ʒəˈrapah/}} [[File:Giraffa camelopardalis reticulata Nürnberg.jpg|Netzgiraffen (Giraffa camelopardalis reticulata) im Tiergarten Nürnberg|thumb|250px]] {{-n-|id}} # mamalia berkuku genap, berkaki panjang, kaki depan lebih panjang dari kaki belakang sehingga punggungnya menurun ke belakang, leher sangat panjang, kepalanya dapat mencapai ketinggian 5–6 m dari tanah; {{Species|Giraffa camelopardalis}} {{-etimologi-}} * serapan dari kata bahasa Arab "زَرَافَةٌ" ''zarāfah''.<ref>Jones, Russell. 2008. ''Loan-words in Indonesian and Malay''. Jakarta: Yayasan Obor Indonesia.</ref><ref>Ibn Manẓūr. 1431 H. ''Lisān al-ʿArab''. Cairo: Dār al-Maʿārif.</ref> {{-rujukan-}} <references/> {{-bacaan-}} * {{R:KBBI Daring}} {{-sinonim-}} * [[zarafah]] {{-terjemahan-}} {{t-atas}} * {{en}} : {{trad-|en|giraffe}} * {{fr}} : {{trad-|fr|girafe}} {{t-bawah}} [[Kategori:id:Mamalia]] deg3i4fasoeyd5ve00s4ckbb1xtyfp6 bukti 0 24511 1349937 1279410 2026-04-15T07:20:42Z Iripseudocorus 40083 rekam1 1349937 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|buk|ti}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-bukti.wav}} {{-n-|id}} # sesuatu yang menyatakan kebenaran suatu peristiwa #* {{RQ:20 Mei Pelopor 17 Agustus |page=n.d |text='''Bukti''' jang njata tentang sifat B. U. jang tidak ''provincialistis'' itu ialah berfusinja B. U. dengan P.B.I. mendjadi Parindra. |norm='''Bukti''' yang nyata tentang sifat B. U. yang tidak ''provincialistis'' itu ialah berfusinya B. U. dengan P.B.I. menjadi Parindra. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/11#:~:text=Bukti%20jang%20njata%20tentang%20sifat%20B.%20U.%20jang%20tidak%20provincialistis%20itu%20ialah%20berfusinja%20B.%20U.%20dengan%20P.B.I.%20mendjadi%20%E2%80%9EParindra%E2%80%9D. }} # keterangan nyata # [[tanda]] {{-turunan-|id}} * [[dibuktikan]] * [[membuktikan]] * [[pembuktian]] {{-terjemahan-}} {{t-atas}} *{{de}}: {{t+|de|Beweis}} *{{nl}}: {{t+|nl|bewijs}} *{{en}}: {{t+|en|evidence}}, {{t+|en|proof}} *{{fr}}: {{t+|fr|preuve}} *{{ru}}: {{t+|ru|доказательство}} {{t-bawah}} 6i3tz3mkky5dvlsdau7g43050kjxiaa sendok 0 24637 1349940 1279274 2026-04-15T07:27:00Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349940 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-sendok.wav}} {{-n-|id}} # [[sendok]] # bentuk tidak baku: senduk # alat yang digunakan sebagai pengganti tangan dalam mengambil sesuatu (seperti nasi), bentuknya bulat, cekung, dan bertangkai (ada bermacam-macam, misalnya centong, sudip) #* {{RQ:Mustikarasa |page=1153 |text=Menghidangkannja tiga '''sendok''' makan gula |norm=Menghidangkan tiga '''sendok''' makan gula |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1161#:~:text=Menghidangkannja%20tiga%20sendok%20makan%20gula }} {{-terjemahan-}} {{t-atas}} * {{nl}} : {{trad-|nl|lepel}} * {{bug}} : {{trad-|bug|ᨔᨗᨋᨘ}} * {{en}} : {{trad-|en|spoon}} * {{fr}} : {{trad-|fr|cuillère}} {{t-bawah}} [[Kategori:Kbbi]] [[Kategori:Kamus besar bahasa Indonesia]] =={{bahasa|jax}}== {{kepala|jax}} {{-n-|jax}} # [[sudu]] alat makan #: Awak makan biasonyo pake '''sudu''' #: saya makan biasanya pakai '''sendok''' =={{bahasa|su}}== {{kepala|su}} {{-n-|su}} # [[sendok]] alat makan #: Ami mun dahar biasana tara make '''sendok''' #: Ami kalau makan biasanya tidak pakai '''sendok''' lcb2ml7655y70hycr2m824yo3z1sdt5 Wikikamus:Bot 4 24886 1349971 1349761 2026-04-15T08:20:34Z Redmin 44783 /* DelintBot */ Balas 1349971 wikitext text/x-wiki * '''id''': '''Bot''' adalah program komputer yang dijalankan di lingkungan {{SITENAME}} yang khusus dibuat untuk melakukan pekerjaan-pekerjaan otomatis seperti menambahkan interwiki, melakukan pengosongan halaman kotak pasir setiap beberapa waktu dan lain-lain. Suntingan dari pengguna-pengguna bot secara default tidak muncul di halaman [[Istimewa:PerubahanTerbaru|perubahan terbaru]]. Seperti kebanyakan program komputer pada umumnya, bot tidak lepas dari kekutu, tetapi kebanyakan bot ditulis oleh pemrogram yang sudah ahli dan sudah melewati serangkaian uji coba yang panjang. Kebanyakan bot juga beroperasi di {{SITENAME}} lainnya yang sudah mendapatkan persetujuan untuk status bot. Lihat halaman [[:w:Wikipedia:Bot|Wikipedia:Bot]] di [[:w:|Wikipedia Indonesia]] untuk penjelasan detil mengenai Bot di proyek-proyek Wikimedia dalam bahasa Indonesia. * <small>'''en:''' Requests for the [[m:bot|bot]] flag should be made on this page (see also the [[Wiktionary:Warung kopi|community discussion page]]). This wiki uses the [[m:bot policy|standard bot policy]], and allows [[m:bot policy#Global_bots|global bots]] and [[m:bot policy#Automatic_approval|automatic approval of certain types of bots]]. Other bots should apply below.</small> [[Kategori:Halaman ruang nama proyek]] == Daftar otomatis == * [[Istimewa:Daftar_pengguna/bot|Daftar bot secara otomatis]] * [https://meta.toolforge.org/stewardry/idwiktionary?bot=1 Aktivitas bot secara otomatis] * [{{fullurl:Istimewa:Catatan|type=rights}} Catatan perubahan hak akses] == Persetujuan untuk status bot == Bagian di bawah ini ditujukan sebagai tempat menaruh permintaan persetujuan status bot dari komunitas. Gunakan templat di bawah ini untuk mengajukan permohonan Anda. '''en''': ''Put your request for bot status here. Run your bot for a couple of days before request bot status. Inactive bot will be revoked. Use this template below.'' <pre>===[[User:''botname''|''botname'']]=== Responsible owner: [[xx:User:''ownername''|''ownername'']] (''bot owner username on main Wikimedia projects'') Bot functions: Already used with bot status on: ~~~~</pre> ===[[User:IvanBot|IvanBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[:w:User:IvanLanin|IvanLanin]]. * Bot functions: Various maintenance functions, but (probably) not interwiki. * Already used with bot status on: [[:w:|id.wikipedia]] --[[Pengguna:IvanLanin|IvanLanin]] 04:30, 17 Mei 2007 (UTC) :Bot status granted on 18 Mei 2007 [[User:Borgx|<font face="Copperplate Gothic Bold" color="#1F85FF">borgx</font>]] <sup>([[User_talk:Borgx|<font color="#003366">kirim pesan</font>]])</sup> 00:07, 26 Mei 2007 (UTC) {{done}} </div> ===[[User:SpaceBirdyBot|SpaceBirdyBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> Hello, I am running my Bot [[User:SpaceBirdyBot]] as interwikibot on [[:is:Special:Contributions/SpaceBirdyBot|is.wikt]] (and de,es,pt,ga,af,fo,nah,scn,nl,sv,ro) lately because not all links are catched by the current active bots there. If You are interested I can set my bot to run here also. I am using SVN pywikipedia (latest) and run it using <pre>interwiki.py -wiktionary -autonomous -force -noauto -nobacklink -noshownew -neverlink:fur,ilo,nov,sco</pre> * Botmaster: [[:is:Notandi:Spacebirdy]] * Bot's name:[[User:SpaceBirdyBot]] * List of bot flags on other Wiktionarys:af,ar,co,ca,oc,da,de,el,es,it,is,pt,ga,gd,af,fo,nah,scn,nl,sv,ro,yi,zh-min-nan,... * Purpose:interwiki * Technical details:svn pywikipediabot, latest versions Best regards, --[[Pengguna:Spacebirdy|Spacebirdy]] 09:06, 22 Juni 2008 (UTC) {{done}}<!-- but not in the current bot list?--> </div> ===[[User:SzajciBot|SzajciBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Botmaster: [[:hu:Szerkesztő:Szajci]] * List of bot flags on other Wiktionarys: hu, uk * Purpose:interwiki * Technical details:svn pywikipediabot {{not done}} </div> ===[[User:Luckas-bot|Luckas-bot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> *Responsible owner: [[:pt:User:Luckas Blade|Luckas Blade]] *Bot functions: interwiki *Already used with bot status on: pt, and waiting in others --[[Pengguna:Luckas Blade|Luckas Blade]] 17:34, 20 November 2008 (UTC) {{done}} </div> ===[[User:Interwicket|Interwicket]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[:en:User:Robert Ullmann|Robert Ullmann]] * Bot functions: interwiki * Already used with bot status on: please see [[:en:User:Interwicket/FL status]] Thanks, [[Pengguna:Robert Ullmann|Robert Ullmann]] 12:49, 17 April 2009 (UTC) :Granted. •• [[User:IvanLanin|ivanlanin]] [[User Talk:IvanLanin|&#9835;]] 18:59, 17 April 2009 (UTC) {{done}} </div> ===[[User:VolkovBot|VolkovBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> Hi! This interwiki bot owned by [[:w:ru:User:Volkov]] (sysop @ ru.wiki) has a global bot flag and is active on many wikimedia projects. Please grant a bot flag locally to avoid flooding recent changes. In case of any issue the bot owner can be reached at [[:w:ru:User talk:Volkov|Russian wikipedia]]. Thanks. --[[Pengguna:Volkov|Volkov]] 08:50, 20 April 2009 (UTC) :Granted. •• [[User:IvanLanin|ivanlanin]] [[User Talk:IvanLanin|&#9835;]] 09:48, 20 April 2009 (UTC) :: Thanks! --[[Pengguna:Volkov|Volkov]] 10:12, 20 April 2009 (UTC) {{done}} </div> ===[[User:ArthurBot|ArthurBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[:cs:User:Mercy]] * Bot functions: interwiki linking, mainly in the main namespace * Already used with bot status on: please see [[sulutil:ArthurBot]] Thanks! --[[Pengguna:Mercy|Mercy]] 19:49, 3 Desember 2010 (UTC) I've done some test edits. Feel free to review them. The bot is now stopped. --[[Pengguna:Mercy|Mercy]] 22:25, 3 Desember 2010 (UTC) : A local bot flag is no longer needed; this is a [[m:bot policy|global bot]], and this wiki recently enabled global bots. —<small>[[m:User:Pathoschild|Pathoschild]] 01:52:07, 04 November 2011 (UTC)</small> </div> ===[[User:CarsracBot|CarsracBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[:nl:User:Carsrac]] * Bot functions: interwiki linking, mainly in the main namespace * Already used with bot status on: please see [[sulutil:CarsracBot]]. The Bot has also a globalbotstatus. [[Pengguna:Carsrac|Carsrac]] 17:41, 10 Juni 2011 (UTC) : A local bot flag is no longer needed; this is a [[m:bot policy|global bot]], and this wiki recently enabled global bots. —<small>[[m:User:Pathoschild|Pathoschild]] 01:52:24, 04 November 2011 (UTC)</small> </div> ===[[User:OrophinBot|OrophinBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[Pengguna:Bennylin]] * Bot functions: terutama rekategorisasi, supaya tidak memenuhi Perubahan Terbaru * Already used with bot status on: please see [[sulutil:OrophinBot]].<small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 9 Oktober 2011 14.28 (UTC) : Please make a request at [[m:Steward requests/Bot status]]. —<small>[[m:User:Pathoschild|Pathoschild]] 01:55:57, 04 November 2011 (UTC)</small> :Done. [[Pengguna:Meursault2004|Meursault2004]] 4 November 2011 14.23 (UTC) </div> ===[[user:GedawyBot|GedawyBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Botmaster: [[w:ar:نقاش المستخدم:محمد الجداوي|محمد الجداوي]] * Bot's name: [[User:GedawyBot]] * List of bot flags on other Wiktionaries: [http://toolserver.org/~vvv/sulutil.php?user=GedawyBot list] * Purpose: interwiki * Technical details: pywikipediabot, latest versions Thanks in advance.--[[Pengguna:محمد الجداوي|محمد الجداوي]] 27 Oktober 2011 14.15 (UTC) :The 'crats haven't visited this wiki in a while. In a moment the global bot policy will be applied to this wiki. Please refrain to do more edits to this wiki until that time. The community will appreciate it. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 27 Oktober 2011 14.59 (UTC) ::Ok; I'll be waiting.--[[Pengguna:محمد الجداوي|محمد الجداوي]] 28 Oktober 2011 06.54 (UTC) ::: Already [{{fullurl:m:Special:Log|page=User:GedawyBot@idwiktionary}} done]. —<small>[[m:User:Pathoschild|Pathoschild]] 01:57:31, 04 November 2011 (UTC)</small> </div> === [[user:Botrie|Botrie]] === * Responsible owner: [[w:id:user:Riemogerz|Riemogerz]] (bot owner username on main Wikimedia projects) * Bot functions: interwiki * Already used with bot status on: id, jv, bug, map-bms, bjn (wikipedia) Saya harap dapat diterima. Salam. [[User:Riemogerz|'''<span style="text-decoration:blink;"><font face="Lucida Handwriting" color="darkgray" size="6">Riemogerz</font></span>''']] <sup>[[File:Icons-flag-ps.png]] [[User talk:riemogerz|bay de way]]</sup> 30 Mei 2012 19.37 (UTC) === [[user:Bot-Jagwar|Bot-Jagwar]] === * Responsible owner: [[w:mg:user:Jagwar|Jagwar]] * Bot functions: interwiki * Already used with bot status on: fr, mg --[[Pengguna:Jagwar|Jagwar]] ([[Pembicaraan Pengguna:Jagwar|bicara]]) 7 Juni 2012 15.18 (UTC) ===[[User:YS-Bot|YS-Bot]]=== *Responsible owner: [[:de:User:Yoursmile|Yoursmile]] *Bot functions: interwiki *Already used with bot status on: de, en, fr, es...: [http://toolserver.org/~quentinv57/sulinfo/YS-Bot List] Best regards --[[Pengguna:Yoursmile|Yoursmile]] ([[Pembicaraan Pengguna:Yoursmile|bicara]]) 6 September 2012 07.50 (UTC) :Done. Your bot has been approved. Please consider to fill the profile page. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 8 September 2012 15.18 (UTC) ===[[Pengguna:Taylorbot|Taylorbot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible operator / pengoperasi: [[User:Taylor 49|Taylor 49]] (''bot owner username on main Wikipedia'') * Pengembang kode bot: [[User:Taylor 49|Taylor 49]] * Bot functions: mengubah templat, memperbaiki spasi putih * Already used with bot status on: [https://id.wikipedia.org/wiki/Wikipedia:Bot/Permohonan ID pedia] *: [[Pengguna:Taylor 49|Taylor 49]] ([[Pembicaraan Pengguna:Taylor 49|bicara]]) 30 Januari 2019 11.49 (UTC) *: [[Pengguna:Taylor 49|Taylor 49]] ([[Pembicaraan Pengguna:Taylor 49|bicara]]) 1 Maret 2019 10.29 (UTC) *:: 12 Maret 2019 00.53 [[Pengguna:Meursault2004|Meursault2004]] [https://id.wiktionary.org/wiki/Istimewa:Catatan/rights mengubah keanggotaan grup] Taylorbot dari (tidak ada) ke bot ... terima kasih. [[Pengguna:Taylor 49|Taylor 49]] ([[Pembicaraan Pengguna:Taylor 49|bicara]]) 13 Maret 2019 16.33 (UTC) </div> ===[[User:HasifBot|HasifBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[User:Hasif Naufal Ramadan]] -> [[:m:Special:CentralAuth/Hasif1981]] * Bot functions: Membuat dan merapikan halaman serta mengubah bagian halaman yang tidak benar * Already used with bot status on: no wiki :: [[User:Hasif Naufal Ramadan]] 2023-05-17 06:54:22 ::: '''Ditutup''', bendera bot tidak diberikan, permohonan tidak jelas cukup, pengguna diblokir di satu wiki. [[Pengguna:Taylor 49|Taylor 49]] ([[Pembicaraan Pengguna:Taylor 49|bicara]]) 22 Juli 2025 13.56 (UTC) </div> ===[[User:SwarabaktiBot|SwarabaktiBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner / Penanggung jawab: [[Pengguna:Swarabakti|Swarabakti]] (''bot owner username on main Wikimedia projects'') * Bot functions / Kegunaan bot: memutakhirkan tampilan tata letak lama ke tata letak baru (per [[Wikikamus:Pemungutan suara/Penetapan kebijakan tata letak entri 2025-12-09|konsensus]]) serta membuat halaman kategori untuk keperluan pemeliharaan * Already used with bot status on / Sudah digunakan dengan status bot di: minwikt, bjnwikt * Additional comments / Komentar tambahan: Juga digunakan tanpa status bot khusus di bewwikt (karena edisi tersebut belum mengadopsi kebijakan standar bot). : — [[Pembicaraan pengguna:Swarabakti|<span title="ngobrol">'''<span style="color:#008080">swarabakti<sup>💬</sup></span>'''</span>]] 24 Desember 2025 02.50 (UTC) ::Halo, silakan dicoba jalankan dulu (test run) di beberapa halaman, 10-100 boleh. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 24 Desember 2025 04.35 (UTC) :::Sudah saya coba [[Special:Contributions/SwarabaktiBot|jalankan ya]]. Ada beberapa pengulangan suntingan untuk menyesuaikan dengan format yang berbeda-beda di beberapa halaman, tetapi untuk beberapa suntingan terakhir saya batasi pada penggantian dan penambahan templat saja. — [[Pembicaraan pengguna:Swarabakti|<span title="ngobrol">'''<span style="color:#008080">swarabakti<sup>💬</sup></span>'''</span>]] 24 Desember 2025 17.14 (UTC) ::::Sudah oke. Sudah diangkat menjadi bot. Selamat merapikan artikel. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 26 Desember 2025 04.56 (UTC) </div> ===[[m:User:DelintBot|DelintBot]]=== Responsible owner: [[m:User:Redmin|Redmin]]<br /> Bot functions: Fixing [[Special:LintErrors|lint errors]] on this wiki (some of which have made some entries partially unreadable in dark mode (see [[Lampung]] and [[⯚]], for example)<br /> Already used with bot status on: Bengali Wiktionary, Wikidata and Croatian Wiktionary Please let me know if you want me to make test edits. Thank you. [[Pengguna:Redmin|Redmin]] ([[Pembicaraan Pengguna:Redmin|bicara]]) 3 April 2026 00.17 (UTC) :Hello @[[Pengguna:Bennylin|Bennylin]], could you please take a look at this? [[Pengguna:Redmin|Redmin]] ([[Pembicaraan Pengguna:Redmin|bicara]]) 11 April 2026 15.33 (UTC) ::Hi, sorry I just saw this. Could you run some tests with your bot first (10-50 will do). Thank you. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 14 April 2026 08.21 (UTC) :::Hi, thank you for your reply, @[[Pengguna:Bennylin|Bennylin]]. The bot has made some test edits. Please note that in a number of edits when the bot tries to fix 'night-mode-unaware-background-color' errors, an edit may be made that adds missing quotes around attribute values but does not add the missing color due to a bug (the bug causes it to not see the existing background-color rule). This is something I want to [[phab:T420294|work on]] in [[m:Grants:Programs/Wikimedia Community Fund/Rapid Fund/Making DelintBot able to reliably fix more lint categories (ID: 23811013)|the future]] but this should not happen when fixing any other type of error. The bot tried to fix all 'bogus-image-options' errors and I cleaned up the rest manually. Hope this helps. [[Pengguna:Redmin|Redmin]] ([[Pembicaraan Pengguna:Redmin|bicara]]) 15 April 2026 08.20 (UTC) 0viull5h6wowgywevxbf01t8l625ked 1349996 1349971 2026-04-15T09:05:34Z Bennylin 723 /* DelintBot */ 1349996 wikitext text/x-wiki * '''id''': '''Bot''' adalah program komputer yang dijalankan di lingkungan {{SITENAME}} yang khusus dibuat untuk melakukan pekerjaan-pekerjaan otomatis seperti menambahkan interwiki, melakukan pengosongan halaman kotak pasir setiap beberapa waktu dan lain-lain. Suntingan dari pengguna-pengguna bot secara default tidak muncul di halaman [[Istimewa:PerubahanTerbaru|perubahan terbaru]]. Seperti kebanyakan program komputer pada umumnya, bot tidak lepas dari kekutu, tetapi kebanyakan bot ditulis oleh pemrogram yang sudah ahli dan sudah melewati serangkaian uji coba yang panjang. Kebanyakan bot juga beroperasi di {{SITENAME}} lainnya yang sudah mendapatkan persetujuan untuk status bot. Lihat halaman [[:w:Wikipedia:Bot|Wikipedia:Bot]] di [[:w:|Wikipedia Indonesia]] untuk penjelasan detil mengenai Bot di proyek-proyek Wikimedia dalam bahasa Indonesia. * <small>'''en:''' Requests for the [[m:bot|bot]] flag should be made on this page (see also the [[Wiktionary:Warung kopi|community discussion page]]). This wiki uses the [[m:bot policy|standard bot policy]], and allows [[m:bot policy#Global_bots|global bots]] and [[m:bot policy#Automatic_approval|automatic approval of certain types of bots]]. Other bots should apply below.</small> [[Kategori:Halaman ruang nama proyek]] == Daftar otomatis == * [[Istimewa:Daftar_pengguna/bot|Daftar bot secara otomatis]] * [https://meta.toolforge.org/stewardry/idwiktionary?bot=1 Aktivitas bot secara otomatis] * [{{fullurl:Istimewa:Catatan|type=rights}} Catatan perubahan hak akses] == Persetujuan untuk status bot == Bagian di bawah ini ditujukan sebagai tempat menaruh permintaan persetujuan status bot dari komunitas. Gunakan templat di bawah ini untuk mengajukan permohonan Anda. '''en''': ''Put your request for bot status here. Run your bot for a couple of days before request bot status. Inactive bot will be revoked. Use this template below.'' <pre>===[[User:''botname''|''botname'']]=== Responsible owner: [[xx:User:''ownername''|''ownername'']] (''bot owner username on main Wikimedia projects'') Bot functions: Already used with bot status on: ~~~~</pre> ===[[User:IvanBot|IvanBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[:w:User:IvanLanin|IvanLanin]]. * Bot functions: Various maintenance functions, but (probably) not interwiki. * Already used with bot status on: [[:w:|id.wikipedia]] --[[Pengguna:IvanLanin|IvanLanin]] 04:30, 17 Mei 2007 (UTC) :Bot status granted on 18 Mei 2007 [[User:Borgx|<font face="Copperplate Gothic Bold" color="#1F85FF">borgx</font>]] <sup>([[User_talk:Borgx|<font color="#003366">kirim pesan</font>]])</sup> 00:07, 26 Mei 2007 (UTC) {{done}} </div> ===[[User:SpaceBirdyBot|SpaceBirdyBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> Hello, I am running my Bot [[User:SpaceBirdyBot]] as interwikibot on [[:is:Special:Contributions/SpaceBirdyBot|is.wikt]] (and de,es,pt,ga,af,fo,nah,scn,nl,sv,ro) lately because not all links are catched by the current active bots there. If You are interested I can set my bot to run here also. I am using SVN pywikipedia (latest) and run it using <pre>interwiki.py -wiktionary -autonomous -force -noauto -nobacklink -noshownew -neverlink:fur,ilo,nov,sco</pre> * Botmaster: [[:is:Notandi:Spacebirdy]] * Bot's name:[[User:SpaceBirdyBot]] * List of bot flags on other Wiktionarys:af,ar,co,ca,oc,da,de,el,es,it,is,pt,ga,gd,af,fo,nah,scn,nl,sv,ro,yi,zh-min-nan,... * Purpose:interwiki * Technical details:svn pywikipediabot, latest versions Best regards, --[[Pengguna:Spacebirdy|Spacebirdy]] 09:06, 22 Juni 2008 (UTC) {{done}}<!-- but not in the current bot list?--> </div> ===[[User:SzajciBot|SzajciBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Botmaster: [[:hu:Szerkesztő:Szajci]] * List of bot flags on other Wiktionarys: hu, uk * Purpose:interwiki * Technical details:svn pywikipediabot {{not done}} </div> ===[[User:Luckas-bot|Luckas-bot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> *Responsible owner: [[:pt:User:Luckas Blade|Luckas Blade]] *Bot functions: interwiki *Already used with bot status on: pt, and waiting in others --[[Pengguna:Luckas Blade|Luckas Blade]] 17:34, 20 November 2008 (UTC) {{done}} </div> ===[[User:Interwicket|Interwicket]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[:en:User:Robert Ullmann|Robert Ullmann]] * Bot functions: interwiki * Already used with bot status on: please see [[:en:User:Interwicket/FL status]] Thanks, [[Pengguna:Robert Ullmann|Robert Ullmann]] 12:49, 17 April 2009 (UTC) :Granted. •• [[User:IvanLanin|ivanlanin]] [[User Talk:IvanLanin|&#9835;]] 18:59, 17 April 2009 (UTC) {{done}} </div> ===[[User:VolkovBot|VolkovBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> Hi! This interwiki bot owned by [[:w:ru:User:Volkov]] (sysop @ ru.wiki) has a global bot flag and is active on many wikimedia projects. Please grant a bot flag locally to avoid flooding recent changes. In case of any issue the bot owner can be reached at [[:w:ru:User talk:Volkov|Russian wikipedia]]. Thanks. --[[Pengguna:Volkov|Volkov]] 08:50, 20 April 2009 (UTC) :Granted. •• [[User:IvanLanin|ivanlanin]] [[User Talk:IvanLanin|&#9835;]] 09:48, 20 April 2009 (UTC) :: Thanks! --[[Pengguna:Volkov|Volkov]] 10:12, 20 April 2009 (UTC) {{done}} </div> ===[[User:ArthurBot|ArthurBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[:cs:User:Mercy]] * Bot functions: interwiki linking, mainly in the main namespace * Already used with bot status on: please see [[sulutil:ArthurBot]] Thanks! --[[Pengguna:Mercy|Mercy]] 19:49, 3 Desember 2010 (UTC) I've done some test edits. Feel free to review them. The bot is now stopped. --[[Pengguna:Mercy|Mercy]] 22:25, 3 Desember 2010 (UTC) : A local bot flag is no longer needed; this is a [[m:bot policy|global bot]], and this wiki recently enabled global bots. —<small>[[m:User:Pathoschild|Pathoschild]] 01:52:07, 04 November 2011 (UTC)</small> </div> ===[[User:CarsracBot|CarsracBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[:nl:User:Carsrac]] * Bot functions: interwiki linking, mainly in the main namespace * Already used with bot status on: please see [[sulutil:CarsracBot]]. The Bot has also a globalbotstatus. [[Pengguna:Carsrac|Carsrac]] 17:41, 10 Juni 2011 (UTC) : A local bot flag is no longer needed; this is a [[m:bot policy|global bot]], and this wiki recently enabled global bots. —<small>[[m:User:Pathoschild|Pathoschild]] 01:52:24, 04 November 2011 (UTC)</small> </div> ===[[User:OrophinBot|OrophinBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[Pengguna:Bennylin]] * Bot functions: terutama rekategorisasi, supaya tidak memenuhi Perubahan Terbaru * Already used with bot status on: please see [[sulutil:OrophinBot]].<small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 9 Oktober 2011 14.28 (UTC) : Please make a request at [[m:Steward requests/Bot status]]. —<small>[[m:User:Pathoschild|Pathoschild]] 01:55:57, 04 November 2011 (UTC)</small> :Done. [[Pengguna:Meursault2004|Meursault2004]] 4 November 2011 14.23 (UTC) </div> ===[[user:GedawyBot|GedawyBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Botmaster: [[w:ar:نقاش المستخدم:محمد الجداوي|محمد الجداوي]] * Bot's name: [[User:GedawyBot]] * List of bot flags on other Wiktionaries: [http://toolserver.org/~vvv/sulutil.php?user=GedawyBot list] * Purpose: interwiki * Technical details: pywikipediabot, latest versions Thanks in advance.--[[Pengguna:محمد الجداوي|محمد الجداوي]] 27 Oktober 2011 14.15 (UTC) :The 'crats haven't visited this wiki in a while. In a moment the global bot policy will be applied to this wiki. Please refrain to do more edits to this wiki until that time. The community will appreciate it. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 27 Oktober 2011 14.59 (UTC) ::Ok; I'll be waiting.--[[Pengguna:محمد الجداوي|محمد الجداوي]] 28 Oktober 2011 06.54 (UTC) ::: Already [{{fullurl:m:Special:Log|page=User:GedawyBot@idwiktionary}} done]. —<small>[[m:User:Pathoschild|Pathoschild]] 01:57:31, 04 November 2011 (UTC)</small> </div> === [[user:Botrie|Botrie]] === * Responsible owner: [[w:id:user:Riemogerz|Riemogerz]] (bot owner username on main Wikimedia projects) * Bot functions: interwiki * Already used with bot status on: id, jv, bug, map-bms, bjn (wikipedia) Saya harap dapat diterima. Salam. [[User:Riemogerz|'''<span style="text-decoration:blink;"><font face="Lucida Handwriting" color="darkgray" size="6">Riemogerz</font></span>''']] <sup>[[File:Icons-flag-ps.png]] [[User talk:riemogerz|bay de way]]</sup> 30 Mei 2012 19.37 (UTC) === [[user:Bot-Jagwar|Bot-Jagwar]] === * Responsible owner: [[w:mg:user:Jagwar|Jagwar]] * Bot functions: interwiki * Already used with bot status on: fr, mg --[[Pengguna:Jagwar|Jagwar]] ([[Pembicaraan Pengguna:Jagwar|bicara]]) 7 Juni 2012 15.18 (UTC) ===[[User:YS-Bot|YS-Bot]]=== *Responsible owner: [[:de:User:Yoursmile|Yoursmile]] *Bot functions: interwiki *Already used with bot status on: de, en, fr, es...: [http://toolserver.org/~quentinv57/sulinfo/YS-Bot List] Best regards --[[Pengguna:Yoursmile|Yoursmile]] ([[Pembicaraan Pengguna:Yoursmile|bicara]]) 6 September 2012 07.50 (UTC) :Done. Your bot has been approved. Please consider to fill the profile page. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 8 September 2012 15.18 (UTC) ===[[Pengguna:Taylorbot|Taylorbot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible operator / pengoperasi: [[User:Taylor 49|Taylor 49]] (''bot owner username on main Wikipedia'') * Pengembang kode bot: [[User:Taylor 49|Taylor 49]] * Bot functions: mengubah templat, memperbaiki spasi putih * Already used with bot status on: [https://id.wikipedia.org/wiki/Wikipedia:Bot/Permohonan ID pedia] *: [[Pengguna:Taylor 49|Taylor 49]] ([[Pembicaraan Pengguna:Taylor 49|bicara]]) 30 Januari 2019 11.49 (UTC) *: [[Pengguna:Taylor 49|Taylor 49]] ([[Pembicaraan Pengguna:Taylor 49|bicara]]) 1 Maret 2019 10.29 (UTC) *:: 12 Maret 2019 00.53 [[Pengguna:Meursault2004|Meursault2004]] [https://id.wiktionary.org/wiki/Istimewa:Catatan/rights mengubah keanggotaan grup] Taylorbot dari (tidak ada) ke bot ... terima kasih. [[Pengguna:Taylor 49|Taylor 49]] ([[Pembicaraan Pengguna:Taylor 49|bicara]]) 13 Maret 2019 16.33 (UTC) </div> ===[[User:HasifBot|HasifBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[User:Hasif Naufal Ramadan]] -> [[:m:Special:CentralAuth/Hasif1981]] * Bot functions: Membuat dan merapikan halaman serta mengubah bagian halaman yang tidak benar * Already used with bot status on: no wiki :: [[User:Hasif Naufal Ramadan]] 2023-05-17 06:54:22 ::: '''Ditutup''', bendera bot tidak diberikan, permohonan tidak jelas cukup, pengguna diblokir di satu wiki. [[Pengguna:Taylor 49|Taylor 49]] ([[Pembicaraan Pengguna:Taylor 49|bicara]]) 22 Juli 2025 13.56 (UTC) </div> ===[[User:SwarabaktiBot|SwarabaktiBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner / Penanggung jawab: [[Pengguna:Swarabakti|Swarabakti]] (''bot owner username on main Wikimedia projects'') * Bot functions / Kegunaan bot: memutakhirkan tampilan tata letak lama ke tata letak baru (per [[Wikikamus:Pemungutan suara/Penetapan kebijakan tata letak entri 2025-12-09|konsensus]]) serta membuat halaman kategori untuk keperluan pemeliharaan * Already used with bot status on / Sudah digunakan dengan status bot di: minwikt, bjnwikt * Additional comments / Komentar tambahan: Juga digunakan tanpa status bot khusus di bewwikt (karena edisi tersebut belum mengadopsi kebijakan standar bot). : — [[Pembicaraan pengguna:Swarabakti|<span title="ngobrol">'''<span style="color:#008080">swarabakti<sup>💬</sup></span>'''</span>]] 24 Desember 2025 02.50 (UTC) ::Halo, silakan dicoba jalankan dulu (test run) di beberapa halaman, 10-100 boleh. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 24 Desember 2025 04.35 (UTC) :::Sudah saya coba [[Special:Contributions/SwarabaktiBot|jalankan ya]]. Ada beberapa pengulangan suntingan untuk menyesuaikan dengan format yang berbeda-beda di beberapa halaman, tetapi untuk beberapa suntingan terakhir saya batasi pada penggantian dan penambahan templat saja. — [[Pembicaraan pengguna:Swarabakti|<span title="ngobrol">'''<span style="color:#008080">swarabakti<sup>💬</sup></span>'''</span>]] 24 Desember 2025 17.14 (UTC) ::::Sudah oke. Sudah diangkat menjadi bot. Selamat merapikan artikel. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 26 Desember 2025 04.56 (UTC) </div> ===[[User:DelintBot|DelintBot]]=== Responsible owner: [[m:User:Redmin|Redmin]]<br /> Bot functions: Fixing [[Special:LintErrors|lint errors]] on this wiki (some of which have made some entries partially unreadable in dark mode (see [[Lampung]] and [[⯚]], for example)<br /> Already used with bot status on: Bengali Wiktionary, Wikidata and Croatian Wiktionary Please let me know if you want me to make test edits. Thank you. [[Pengguna:Redmin|Redmin]] ([[Pembicaraan Pengguna:Redmin|bicara]]) 3 April 2026 00.17 (UTC) :Hello @[[Pengguna:Bennylin|Bennylin]], could you please take a look at this? [[Pengguna:Redmin|Redmin]] ([[Pembicaraan Pengguna:Redmin|bicara]]) 11 April 2026 15.33 (UTC) ::Hi, sorry I just saw this. Could you run some tests with your bot first (10-50 will do). Thank you. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 14 April 2026 08.21 (UTC) :::Hi, thank you for your reply, @[[Pengguna:Bennylin|Bennylin]]. The bot has made some test edits. Please note that in a number of edits when the bot tries to fix 'night-mode-unaware-background-color' errors, an edit may be made that adds missing quotes around attribute values but does not add the missing color due to a bug (the bug causes it to not see the existing background-color rule). This is something I want to [[phab:T420294|work on]] in [[m:Grants:Programs/Wikimedia Community Fund/Rapid Fund/Making DelintBot able to reliably fix more lint categories (ID: 23811013)|the future]] but this should not happen when fixing any other type of error. The bot tried to fix all 'bogus-image-options' errors and I cleaned up the rest manually. Hope this helps. [[Pengguna:Redmin|Redmin]] ([[Pembicaraan Pengguna:Redmin|bicara]]) 15 April 2026 08.20 (UTC) 0z2zrmct307jh7jf5rzgeoiapuvufo1 1349998 1349996 2026-04-15T09:06:49Z Bennylin 723 /* DelintBot */ Balas 1349998 wikitext text/x-wiki * '''id''': '''Bot''' adalah program komputer yang dijalankan di lingkungan {{SITENAME}} yang khusus dibuat untuk melakukan pekerjaan-pekerjaan otomatis seperti menambahkan interwiki, melakukan pengosongan halaman kotak pasir setiap beberapa waktu dan lain-lain. Suntingan dari pengguna-pengguna bot secara default tidak muncul di halaman [[Istimewa:PerubahanTerbaru|perubahan terbaru]]. Seperti kebanyakan program komputer pada umumnya, bot tidak lepas dari kekutu, tetapi kebanyakan bot ditulis oleh pemrogram yang sudah ahli dan sudah melewati serangkaian uji coba yang panjang. Kebanyakan bot juga beroperasi di {{SITENAME}} lainnya yang sudah mendapatkan persetujuan untuk status bot. Lihat halaman [[:w:Wikipedia:Bot|Wikipedia:Bot]] di [[:w:|Wikipedia Indonesia]] untuk penjelasan detil mengenai Bot di proyek-proyek Wikimedia dalam bahasa Indonesia. * <small>'''en:''' Requests for the [[m:bot|bot]] flag should be made on this page (see also the [[Wiktionary:Warung kopi|community discussion page]]). This wiki uses the [[m:bot policy|standard bot policy]], and allows [[m:bot policy#Global_bots|global bots]] and [[m:bot policy#Automatic_approval|automatic approval of certain types of bots]]. Other bots should apply below.</small> [[Kategori:Halaman ruang nama proyek]] == Daftar otomatis == * [[Istimewa:Daftar_pengguna/bot|Daftar bot secara otomatis]] * [https://meta.toolforge.org/stewardry/idwiktionary?bot=1 Aktivitas bot secara otomatis] * [{{fullurl:Istimewa:Catatan|type=rights}} Catatan perubahan hak akses] == Persetujuan untuk status bot == Bagian di bawah ini ditujukan sebagai tempat menaruh permintaan persetujuan status bot dari komunitas. Gunakan templat di bawah ini untuk mengajukan permohonan Anda. '''en''': ''Put your request for bot status here. Run your bot for a couple of days before request bot status. Inactive bot will be revoked. Use this template below.'' <pre>===[[User:''botname''|''botname'']]=== Responsible owner: [[xx:User:''ownername''|''ownername'']] (''bot owner username on main Wikimedia projects'') Bot functions: Already used with bot status on: ~~~~</pre> ===[[User:IvanBot|IvanBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[:w:User:IvanLanin|IvanLanin]]. * Bot functions: Various maintenance functions, but (probably) not interwiki. * Already used with bot status on: [[:w:|id.wikipedia]] --[[Pengguna:IvanLanin|IvanLanin]] 04:30, 17 Mei 2007 (UTC) :Bot status granted on 18 Mei 2007 [[User:Borgx|<font face="Copperplate Gothic Bold" color="#1F85FF">borgx</font>]] <sup>([[User_talk:Borgx|<font color="#003366">kirim pesan</font>]])</sup> 00:07, 26 Mei 2007 (UTC) {{done}} </div> ===[[User:SpaceBirdyBot|SpaceBirdyBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> Hello, I am running my Bot [[User:SpaceBirdyBot]] as interwikibot on [[:is:Special:Contributions/SpaceBirdyBot|is.wikt]] (and de,es,pt,ga,af,fo,nah,scn,nl,sv,ro) lately because not all links are catched by the current active bots there. If You are interested I can set my bot to run here also. I am using SVN pywikipedia (latest) and run it using <pre>interwiki.py -wiktionary -autonomous -force -noauto -nobacklink -noshownew -neverlink:fur,ilo,nov,sco</pre> * Botmaster: [[:is:Notandi:Spacebirdy]] * Bot's name:[[User:SpaceBirdyBot]] * List of bot flags on other Wiktionarys:af,ar,co,ca,oc,da,de,el,es,it,is,pt,ga,gd,af,fo,nah,scn,nl,sv,ro,yi,zh-min-nan,... * Purpose:interwiki * Technical details:svn pywikipediabot, latest versions Best regards, --[[Pengguna:Spacebirdy|Spacebirdy]] 09:06, 22 Juni 2008 (UTC) {{done}}<!-- but not in the current bot list?--> </div> ===[[User:SzajciBot|SzajciBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Botmaster: [[:hu:Szerkesztő:Szajci]] * List of bot flags on other Wiktionarys: hu, uk * Purpose:interwiki * Technical details:svn pywikipediabot {{not done}} </div> ===[[User:Luckas-bot|Luckas-bot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> *Responsible owner: [[:pt:User:Luckas Blade|Luckas Blade]] *Bot functions: interwiki *Already used with bot status on: pt, and waiting in others --[[Pengguna:Luckas Blade|Luckas Blade]] 17:34, 20 November 2008 (UTC) {{done}} </div> ===[[User:Interwicket|Interwicket]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[:en:User:Robert Ullmann|Robert Ullmann]] * Bot functions: interwiki * Already used with bot status on: please see [[:en:User:Interwicket/FL status]] Thanks, [[Pengguna:Robert Ullmann|Robert Ullmann]] 12:49, 17 April 2009 (UTC) :Granted. •• [[User:IvanLanin|ivanlanin]] [[User Talk:IvanLanin|&#9835;]] 18:59, 17 April 2009 (UTC) {{done}} </div> ===[[User:VolkovBot|VolkovBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> Hi! This interwiki bot owned by [[:w:ru:User:Volkov]] (sysop @ ru.wiki) has a global bot flag and is active on many wikimedia projects. Please grant a bot flag locally to avoid flooding recent changes. In case of any issue the bot owner can be reached at [[:w:ru:User talk:Volkov|Russian wikipedia]]. Thanks. --[[Pengguna:Volkov|Volkov]] 08:50, 20 April 2009 (UTC) :Granted. •• [[User:IvanLanin|ivanlanin]] [[User Talk:IvanLanin|&#9835;]] 09:48, 20 April 2009 (UTC) :: Thanks! --[[Pengguna:Volkov|Volkov]] 10:12, 20 April 2009 (UTC) {{done}} </div> ===[[User:ArthurBot|ArthurBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[:cs:User:Mercy]] * Bot functions: interwiki linking, mainly in the main namespace * Already used with bot status on: please see [[sulutil:ArthurBot]] Thanks! --[[Pengguna:Mercy|Mercy]] 19:49, 3 Desember 2010 (UTC) I've done some test edits. Feel free to review them. The bot is now stopped. --[[Pengguna:Mercy|Mercy]] 22:25, 3 Desember 2010 (UTC) : A local bot flag is no longer needed; this is a [[m:bot policy|global bot]], and this wiki recently enabled global bots. —<small>[[m:User:Pathoschild|Pathoschild]] 01:52:07, 04 November 2011 (UTC)</small> </div> ===[[User:CarsracBot|CarsracBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[:nl:User:Carsrac]] * Bot functions: interwiki linking, mainly in the main namespace * Already used with bot status on: please see [[sulutil:CarsracBot]]. The Bot has also a globalbotstatus. [[Pengguna:Carsrac|Carsrac]] 17:41, 10 Juni 2011 (UTC) : A local bot flag is no longer needed; this is a [[m:bot policy|global bot]], and this wiki recently enabled global bots. —<small>[[m:User:Pathoschild|Pathoschild]] 01:52:24, 04 November 2011 (UTC)</small> </div> ===[[User:OrophinBot|OrophinBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[Pengguna:Bennylin]] * Bot functions: terutama rekategorisasi, supaya tidak memenuhi Perubahan Terbaru * Already used with bot status on: please see [[sulutil:OrophinBot]].<small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 9 Oktober 2011 14.28 (UTC) : Please make a request at [[m:Steward requests/Bot status]]. —<small>[[m:User:Pathoschild|Pathoschild]] 01:55:57, 04 November 2011 (UTC)</small> :Done. [[Pengguna:Meursault2004|Meursault2004]] 4 November 2011 14.23 (UTC) </div> ===[[user:GedawyBot|GedawyBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Botmaster: [[w:ar:نقاش المستخدم:محمد الجداوي|محمد الجداوي]] * Bot's name: [[User:GedawyBot]] * List of bot flags on other Wiktionaries: [http://toolserver.org/~vvv/sulutil.php?user=GedawyBot list] * Purpose: interwiki * Technical details: pywikipediabot, latest versions Thanks in advance.--[[Pengguna:محمد الجداوي|محمد الجداوي]] 27 Oktober 2011 14.15 (UTC) :The 'crats haven't visited this wiki in a while. In a moment the global bot policy will be applied to this wiki. Please refrain to do more edits to this wiki until that time. The community will appreciate it. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 27 Oktober 2011 14.59 (UTC) ::Ok; I'll be waiting.--[[Pengguna:محمد الجداوي|محمد الجداوي]] 28 Oktober 2011 06.54 (UTC) ::: Already [{{fullurl:m:Special:Log|page=User:GedawyBot@idwiktionary}} done]. —<small>[[m:User:Pathoschild|Pathoschild]] 01:57:31, 04 November 2011 (UTC)</small> </div> === [[user:Botrie|Botrie]] === * Responsible owner: [[w:id:user:Riemogerz|Riemogerz]] (bot owner username on main Wikimedia projects) * Bot functions: interwiki * Already used with bot status on: id, jv, bug, map-bms, bjn (wikipedia) Saya harap dapat diterima. Salam. [[User:Riemogerz|'''<span style="text-decoration:blink;"><font face="Lucida Handwriting" color="darkgray" size="6">Riemogerz</font></span>''']] <sup>[[File:Icons-flag-ps.png]] [[User talk:riemogerz|bay de way]]</sup> 30 Mei 2012 19.37 (UTC) === [[user:Bot-Jagwar|Bot-Jagwar]] === * Responsible owner: [[w:mg:user:Jagwar|Jagwar]] * Bot functions: interwiki * Already used with bot status on: fr, mg --[[Pengguna:Jagwar|Jagwar]] ([[Pembicaraan Pengguna:Jagwar|bicara]]) 7 Juni 2012 15.18 (UTC) ===[[User:YS-Bot|YS-Bot]]=== *Responsible owner: [[:de:User:Yoursmile|Yoursmile]] *Bot functions: interwiki *Already used with bot status on: de, en, fr, es...: [http://toolserver.org/~quentinv57/sulinfo/YS-Bot List] Best regards --[[Pengguna:Yoursmile|Yoursmile]] ([[Pembicaraan Pengguna:Yoursmile|bicara]]) 6 September 2012 07.50 (UTC) :Done. Your bot has been approved. Please consider to fill the profile page. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 8 September 2012 15.18 (UTC) ===[[Pengguna:Taylorbot|Taylorbot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible operator / pengoperasi: [[User:Taylor 49|Taylor 49]] (''bot owner username on main Wikipedia'') * Pengembang kode bot: [[User:Taylor 49|Taylor 49]] * Bot functions: mengubah templat, memperbaiki spasi putih * Already used with bot status on: [https://id.wikipedia.org/wiki/Wikipedia:Bot/Permohonan ID pedia] *: [[Pengguna:Taylor 49|Taylor 49]] ([[Pembicaraan Pengguna:Taylor 49|bicara]]) 30 Januari 2019 11.49 (UTC) *: [[Pengguna:Taylor 49|Taylor 49]] ([[Pembicaraan Pengguna:Taylor 49|bicara]]) 1 Maret 2019 10.29 (UTC) *:: 12 Maret 2019 00.53 [[Pengguna:Meursault2004|Meursault2004]] [https://id.wiktionary.org/wiki/Istimewa:Catatan/rights mengubah keanggotaan grup] Taylorbot dari (tidak ada) ke bot ... terima kasih. [[Pengguna:Taylor 49|Taylor 49]] ([[Pembicaraan Pengguna:Taylor 49|bicara]]) 13 Maret 2019 16.33 (UTC) </div> ===[[User:HasifBot|HasifBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner: [[User:Hasif Naufal Ramadan]] -> [[:m:Special:CentralAuth/Hasif1981]] * Bot functions: Membuat dan merapikan halaman serta mengubah bagian halaman yang tidak benar * Already used with bot status on: no wiki :: [[User:Hasif Naufal Ramadan]] 2023-05-17 06:54:22 ::: '''Ditutup''', bendera bot tidak diberikan, permohonan tidak jelas cukup, pengguna diblokir di satu wiki. [[Pengguna:Taylor 49|Taylor 49]] ([[Pembicaraan Pengguna:Taylor 49|bicara]]) 22 Juli 2025 13.56 (UTC) </div> ===[[User:SwarabaktiBot|SwarabaktiBot]]=== <div style="background:#E3F9DF; padding:0 10px; border:1px solid #AAA;"> * Responsible owner / Penanggung jawab: [[Pengguna:Swarabakti|Swarabakti]] (''bot owner username on main Wikimedia projects'') * Bot functions / Kegunaan bot: memutakhirkan tampilan tata letak lama ke tata letak baru (per [[Wikikamus:Pemungutan suara/Penetapan kebijakan tata letak entri 2025-12-09|konsensus]]) serta membuat halaman kategori untuk keperluan pemeliharaan * Already used with bot status on / Sudah digunakan dengan status bot di: minwikt, bjnwikt * Additional comments / Komentar tambahan: Juga digunakan tanpa status bot khusus di bewwikt (karena edisi tersebut belum mengadopsi kebijakan standar bot). : — [[Pembicaraan pengguna:Swarabakti|<span title="ngobrol">'''<span style="color:#008080">swarabakti<sup>💬</sup></span>'''</span>]] 24 Desember 2025 02.50 (UTC) ::Halo, silakan dicoba jalankan dulu (test run) di beberapa halaman, 10-100 boleh. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 24 Desember 2025 04.35 (UTC) :::Sudah saya coba [[Special:Contributions/SwarabaktiBot|jalankan ya]]. Ada beberapa pengulangan suntingan untuk menyesuaikan dengan format yang berbeda-beda di beberapa halaman, tetapi untuk beberapa suntingan terakhir saya batasi pada penggantian dan penambahan templat saja. — [[Pembicaraan pengguna:Swarabakti|<span title="ngobrol">'''<span style="color:#008080">swarabakti<sup>💬</sup></span>'''</span>]] 24 Desember 2025 17.14 (UTC) ::::Sudah oke. Sudah diangkat menjadi bot. Selamat merapikan artikel. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 26 Desember 2025 04.56 (UTC) </div> ===[[User:DelintBot|DelintBot]]=== Responsible owner: [[m:User:Redmin|Redmin]]<br /> Bot functions: Fixing [[Special:LintErrors|lint errors]] on this wiki (some of which have made some entries partially unreadable in dark mode (see [[Lampung]] and [[⯚]], for example)<br /> Already used with bot status on: Bengali Wiktionary, Wikidata and Croatian Wiktionary Please let me know if you want me to make test edits. Thank you. [[Pengguna:Redmin|Redmin]] ([[Pembicaraan Pengguna:Redmin|bicara]]) 3 April 2026 00.17 (UTC) :Hello @[[Pengguna:Bennylin|Bennylin]], could you please take a look at this? [[Pengguna:Redmin|Redmin]] ([[Pembicaraan Pengguna:Redmin|bicara]]) 11 April 2026 15.33 (UTC) ::Hi, sorry I just saw this. Could you run some tests with your bot first (10-50 will do). Thank you. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 14 April 2026 08.21 (UTC) :::Hi, thank you for your reply, @[[Pengguna:Bennylin|Bennylin]]. The bot has made some test edits. Please note that in a number of edits when the bot tries to fix 'night-mode-unaware-background-color' errors, an edit may be made that adds missing quotes around attribute values but does not add the missing color due to a bug (the bug causes it to not see the existing background-color rule). This is something I want to [[phab:T420294|work on]] in [[m:Grants:Programs/Wikimedia Community Fund/Rapid Fund/Making DelintBot able to reliably fix more lint categories (ID: 23811013)|the future]] but this should not happen when fixing any other type of error. The bot tried to fix all 'bogus-image-options' errors and I cleaned up the rest manually. Hope this helps. [[Pengguna:Redmin|Redmin]] ([[Pembicaraan Pengguna:Redmin|bicara]]) 15 April 2026 08.20 (UTC) ::::LGTM. Thank you for your work. <small><br />[[Pembicaraan Pengguna:Bennylin|&#x2712;]] [[Pengguna:Bennylin|Bennylin]]</small> 15 April 2026 09.06 (UTC) pl89kgx8mbxjyyo12u5s8odd03nwwsh radikal 0 26935 1350001 1279834 2026-04-15T09:10:36Z Iripseudocorus 40083 rekam1 1350001 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ra|di|kal}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-radikal.wav}} {{-a-|id}} {{majemuk-indonesia|radius|al}} # secara mendasar (sampai kepada hal prinsip): ''perubahan yang radikal'' # {{Pol}} amat keras menuntut perubahan (undang-undang pemerintahan) # maju dalam berpikir atau bertindak #* {{RQ:20 Mei Pelopor 17 Agustus |page=17 |text=Mereka jang merasa lebih '''radikal''' dari pada kaum moderate jang masuk kedalam Parindra, mendirikan partij baru jang semata-mata mementingkan perdjoangan politik. |norm=Mereka yang merasa lebih '''radikal''' dari pada kaum moderat yang masuk kedalam Parindra, mendirikan partai baru yang semata-mata mementingkan perjuangan politik. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/16#:~:text=Mereka%20jang%20merasa%20lebih%20radikal%20dari%20pada%20kaum%20%E2%80%9Emoderate%E2%80%9D%20jang%20masuk%20kedalam%20PArindra%2C%20mendirikan%20partij%20baru%20jang%20semata%2Dmata%20mementingkan%20perdjoangan%20politik. }} {{-turunan-|id}} {{-n-|id}} # {{Kim}} gugus atom yang dapat masuk ke dalam berbagai reaksi sebagai satu satuan, yang bereaksi seakan-akan satu unsur saja, misalnya [[metil]], [[etil]], [[sulfat]] {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} gonbygbg19bi88wlc1rb6r6otg7sqdr pesat 0 27039 1349991 1279821 2026-04-15T08:58:09Z Iripseudocorus 40083 rekam1 1349991 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|pe|sat}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-pesat.wav}} {{-adj-|id}} # cepat sekali # maju (berkembang) dengan cepat #* {{RQ:20 Mei Pelopor 17 Agustus |page=16 |text=Perhimpunan-perhimpunan sosial senantiasa '''pesat''' kemadjuannja. |norm=Perhimpunan-perhimpunan sosial senantiasa '''pesat''' kemajuannya. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/15#:~:text=Perhimpunan%2Dperhimpunan%20sosial%20senantiasa%20pesat%20kemadjuannja. }} {{-etimologi-}} * Dari ''[[Jawa Kuno]]'' '''''pěsat''''' ['terbang (kabur); melesat ke udara'] {{-rujukan-}} *Zoetmulder, P.J., dan Robson, S.O. (2006). Kamus Jawa Kuna-Indonesia. (Darusuprapta dan Sumarti Suprayitna, Penerjemah). Jakarta: Gramedia Pustaka Utama. *{{R:KBBI Daring}} {{-turunan-}} * [[kepesatan]] {{-terjemahan-}} {{t-atas}} * {{en}} : {{trad-|en|very fast}} * {{fr}} : {{trad-|fr|très rapide}} {{t-bawah}} =={{bahasa|jv}}== {{kepala|jv}} {{-a-|jv}} # pêsat o0tdw5xzqjpft2pwsq729168bpqj61y menarik 0 33146 1349887 1344902 2026-04-14T15:56:18Z ~2026-23098-39 47593 1349887 wikitext text/x-wiki 1...000 =={{bahasa|id}}== {{kepala|id}} {{imbuhan me-|tarik}} # menghela (supaya dekat, maju, ke atas, ke luar, dsb): <br />''anak perempuan itu menarik tangan kawannya'' #: {{antonim|id|mendorong}} # membawa (mengambil dsb) ke luar; mengeluarkan dsb {{imbuhan me-|tarik|kelas=adj}} # menyenangkan (menggirangkan, menyukakan hati karena indahnya, cantiknya, bagusnya dsb) #* {{RQ:Mustikarasa |page=4 |text=Orang suka membeli beras giling, karena warnanja lebih '''menarik'''. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/12#:~:text=Orang%20suka%20membeli%20beras%20giling%2C%20karena%20warnanja%20lebih%20menarik. }} # membangkitkan rasa kasih (sayang, suka, ingin, dsb) # mempengaruhi atau membangkitkan hasrat untuk memperhatikan (mengindahkan dsb) {{-terjemahan-}} {{t-atas|(kata kerja) membawa dekat}} *{{en}}: {{t+|en|pull}} *{{de}}: {{t+|de|ziehen}} *{{fr}}: {{t+|fr|tirer}} *{{ja}}: {{t+|ja|引く}} *{{ru}}: {{t+|ru|тянуть}}, {{t+|ru|тащить}} *{{zh}}: {{t+|zh|拖拉}}, {{t+|zh|拉}}, {{t+|zh|引}} {{t-bawah}} {{t-atas|(kata sifat) menyenangkan}} *{{en}}: {{t+|en|interesting}}, {{t+|en|attractive}} *{{sv}}: {{t+|sv|intressant}} {{t-bawah}} {{-turunan-}} {{-sinonim-}} * [[menarik kembali]] * [[menarik kesimpulan]] * [[menarik otot]] {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 1mrlfmwr7cq7qcdecuhhbq96shaiqnl pemimpin 0 38844 1349926 1279387 2026-04-15T07:05:02Z Iripseudocorus 40083 rekam1 1349926 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|pe|mim|pin}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-pemimpin.wav}} {{imbuhan peng-|pimpin|kelas=n}} # orang yang memimpin: <br />''ia ditunjuk menjadi pemimpin organisasi itu'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=8 |text=Kongres para '''pemimpin''', jang diadakan di Jogjakarta pada bulan-liburan Puasa tahun 1908, jang waktu itu disebut ''Eerste Jong-Javanen-congres.'' |norm=Kongres para '''pemimpin''', yang diadakan di Yogyakarta pada bulan-liburan Puasa tahun 1908, yang waktu itu disebut ''Eerste Jong-Javanen-congres.'' |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/7#:~:text=Kongres%20para%20pemimpin%2C%20jang%20diadakan%20di%20Jogjakarta%20pada%20bulan%2Dliburan%20Puasa%20tahun%201908%2C%20jang%20waktu%20itu%20disebut%20%E2%80%9EEerste%20Jong%2DJavanen%2Dcongres%E2%80%9D%2C%20sangat%20menarik%20perhatian%20umum. }} # petunjuk; buku petunjuk (pedoman): <br />''buku pemimpin montir mobil'' {{-terjemahan-}} {{t-atas}} * {{fr}} : {{trad-|fr|dirigeant}}, {{trad-|fr|chef}}, {{trad-|fr|commandant}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} i7favhsi41fv2l1i5gpyuoez7brfn7d 1349930 1349926 2026-04-15T07:10:52Z Iripseudocorus 40083 . 1349930 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|pe|mim|pin}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-pemimpin.wav}} {{imbuhan peng-|pimpin|kelas=n}} # orang yang memimpin: <br />''ia ditunjuk menjadi pemimpin organisasi itu'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=8 |text= Tetapi kemudian beliau toh menerima kedudukan wakil-ketua; jang mendjadi '''pemimpin''' pertama ialah marhum bupati Karanganjar Tirtokusumo. |norm= Tetapi kemudian beliau toh menerima kedudukan wakil-ketua; yang menjadi '''pemimpin''' pertama ialah marhum bupati Karanganjar Tirtokusumo. |url=https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/7#:~:text=Tetapi%20kemudian%20beliau%20toh%20menerima%20kedudukan%20wakil%2Dketua%3B%20jang%20mendjadi%20pemimpin%20pertama%20ialah%20marhum%20bupati%20Karanganjar%20Tirtokusumo. }} # petunjuk; buku petunjuk (pedoman): <br />''buku pemimpin montir mobil'' {{-terjemahan-}} {{t-atas}} * {{fr}} : {{trad-|fr|dirigeant}}, {{trad-|fr|chef}}, {{trad-|fr|commandant}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 2yolafa0sm8d5mtzafz2afgphduf31k wanita 0 38938 1349961 1279428 2026-04-15T08:08:07Z Iripseudocorus 40083 rekam1 1349961 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|wa|ni|ta}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-wanita.wav}} {{-n-|id}} # perempuan dewasa #* {{RQ:20 Mei Pelopor 17 Agustus |page=n.d |text=Para '''wanita''' ta’ suka ketinggalan; banjak organisasi-organisasi wanita berdiri (diantaranja „Wanito-Utomo” dengan pimpinan-pimpinannja jang terkenal; Njonjah-njonjah Sukanto, Abdulkadir, Gondoatmodjo dll. di Jogjakarta). |norm=Para '''wanita''' tak suka ketinggalan; banyak organisasi-organisasi wanita berdiri (diantaranya Wanito-Utomo dengan pimpinan-pimpinannja yang terkenal; Nyonya-nyonya Sukanto, Abdulkadir, Gondoatmojo dll di Yogyakarta). |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/15#:~:text=Para%20wanita%20ta%E2%80%99%20suka%20ketinggalan%3B%20banjak%20organisasi%2Dorganisasi%20wanita%20berdiri%20(diantaranja%20%E2%80%9EWanito%2DUtomo%E2%80%9D%20dengan%20pimpinan%2Dpimpinannja%20jang%20terkenal%3B%20Njonjah%2Dnjonjah%20Sukanto%2C%20Abdulkadir%2C%20Gondoatmodjo%20dll. }} {{-turunan-|id}} * [[kewanitaan]] * [[kewanita-wanitaan]] * [[wanita penghibur]] {{-sinonim-}} *[[perempuan]] {{-antonim-|id}} *[[pria]], [[laki-laki]] *[[kaum wanita]]: kaum putri (dewasa) {{-terjemahan-}} {{t-atas}} * {{en}}: {{trad-|en|woman}} * {{de}}: {{trad-|de|Frau}} * {{fr}}: {{trad-|fr|femme}} * {{es}}: {{trad-|de|mujer}} * bahasa Turki: {{t+|tr|kadın}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} [[Kategori:id:Nomina (feminin)]] nglaopali5ikm13p7pw4kdabx7ak1gz kepulauan 0 38950 1349934 1279405 2026-04-15T07:17:59Z Iripseudocorus 40083 rekam1 1349934 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ke|pu|lau|an}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-kepulauan.wav}} {{imbuhan ke-an|pulau|kelas=n}} # gugusan beberapa buah pulau; kumpulan pulau: #* {{RQ:20 Mei Pelopor 17 Agustus |page=12 |text=Ini terbukti dengan adanja hubungan jang sangat baik dengan perhimpunan didaerah2 diseluruh kepulauan Indonesia, jang kemudian menusul. |norm=Ini terbukti dengan adanya hubungan yang sangat baik dengan perhimpunan di daerah-daerah di seluruh kepulauan Indonesia, yang kemudian menyusul. |url=https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/11#:~:text=Ini%20terbukti%20dengan%20adanja%20hubungan%20jang%20sangat%20baik%20dengan%20perhimpunan%20didaerah2%20diseluruh%20kepulauan%20Indonesia%2C%20jang%20kemudian%20menusul. }} {{-terjemahan-}} {{t-atas}} * {{de}} : {{trad-|de|Archipel}} * {{en}} : {{trad-|en|archipelago}} * {{fi}} : {{trad-|fi|saaristo}} * {{fr}} : {{trad-|fr|archipel}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} ju2lhq4yj3cvdugbux4jf346n935bi4 saya 0 39795 1349882 1348829 2026-04-14T14:17:37Z Swarabakti 18192 /* {{bahasa|id}} */ 1349882 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{AFI|id|/saja/}} {{suara|id|LL-Q9240 (ind)-Swarabakti-saya.wav}} {{-etimologi-}} : Dari {{der|id|sa|सहाय|t=hamba, budak}}. {{-pron-|id}} # orang yang berbicara atau menulis {{q|dalam ragam resmi ataupun biasa}}; [[aku]] # ya;<br /> '''''saya''', Tuan!'' {{-terjemahan-}} {{t-atas}} * {{bhs|inl}}: {{t|inl|file=Saya.webm}} * {{bhs|en}}: {{t|en|me}} * {{bhs|mad}}: {{t|mad|kaulâ}} * {{bhs|ar}}: {{t|ar|أنا}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|ban}}== {{kepala|ban}} {{-n-|ban}} # petugas {{q|biasanya di pura}}; #: ''ia tusing enu dadi '''saya''' di pura'' #:: dia tidak lagi menjadi petugas di pura # juri {{q|biasanya dalam sabung ayam}}; #: ''tajén di pura tusing nganggo '''saya''''' #:: sabung ayam di pura tidak menggunakan juri {{-ragam-}} {{ban-varian|c=ᬲᬬ|r={{l|ban|saya}} {{q|baku}}, {{l|ban|saja}} {{q|ejaan Belanda}}}} {{-etimologi-}} Dari {{inh|ban|ban-old|sahaya|t=pengabdi, petugas}}, dari {{der|ban|sa|सहाय|t=hamba, budak, abdi}} {{-rujukan-}} * {{R:KBB}} =={{bahasa|bew}}== {{kepala|bew}} : {{suara|bew|LL-Q33014 (bew)-nengpenti (Princessfenty)-saya.wav }} {{-pron-|bew}} # saya, aku #: '''''Saya''' gawé di Mèstèr.'' #: Saya kerja di Jatinegara. =={{bahasa|jv}}== {{kepala|jv|num=1}} {{-ragam-}} {{jv-varian|c={{J|sa|ya}}|r={{l|jv|saya}} {{q|baku}}, {{l|jv|saja}} {{q|ejaan Belanda}}}} {{-etimologi-}} : {{clipping|jv|sangsaya|tr={{l|jv|ꦱꦁꦱꦪ|tr=-}}|t=bertambah}}, {{der|jv|kaw|saṅsaya|t=semakin}}. {{-adv-|jv}} # kian bertambah; [[semakin]]; #: ''gandhèng gerahé Bu Sriyatun ora '''saya''' mendha, mula Bu Sindu digawa menyang rumah sakit'' #:: karena sakit Bu Sriyatun semakin parah, maka Bu Sindu dibawa ke rumah sakit {{-ptcl-|jv}} # lebih-lebih {{kepala|jv|num=2}} {{-etimologi-}} : {{clipping|jv|sahaya|tr={{l|jv|{{J|sa|ha|ya}}|tr=-}}|t=teman, hamba}}, dari {{der|jv|kaw|sahaya|t=hamba, teman}}, dari {{der|jv|sa|सहाय|t=hamba, budak, abdi}}. {{-n-|jv}} # [[teman]] # [[hamba]] {{kepala|jv|num=3}} {{-etimologi-}} : Dari {{inh|jv|kaw|saya|tr={{l|kaw|{{ruby|{{Kawi|[[File:Aksara Kawi sa.svg|14px]]}}|sa}}{{ruby|{{Kawi|[[File:Aksara Kawi ya.svg|15px]]}}|ya}}|tr=-}}|t=mengumpulkan}}. {{-n-|id}} # perahu pencari ikan {{kepala|jv|num=4}} {{-etimologi-}} : {{clipping|jv|sraya|tr={{l|jv|{{J|sra|ya}}|tr=-}}|t=bantuan; pertolongan; bersama}}, dari {{der|jv|kaw|śraya}}, dari {{der|id|sa|श्राय|=tempat berlindung, perlindungan, suaka}}. {{-p-|jv}} # sambil; serta; [[seraya]] {{-v-|jv}} # meminta bantuan =={{bahasa|osi}}== {{kepala|osi}} :{{suara|osi|LL-Q2701322 (osi)-Kenthus (Jorghirona herdiawan)-saya.wav}} {{-adv-|osi}} # [[makin]] [[Kategori:WikiTutur Kopdar Jakarta 27 April 2024]] 4ieedvx6lyf5lgkmvnq75ay3n2xe44d 1349883 1349882 2026-04-14T14:20:42Z Swarabakti 18192 /* {{bahasa|ban}} */ 1349883 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{AFI|id|/saja/}} {{suara|id|LL-Q9240 (ind)-Swarabakti-saya.wav}} {{-etimologi-}} : Dari {{der|id|sa|सहाय|t=hamba, budak}}. {{-pron-|id}} # orang yang berbicara atau menulis {{q|dalam ragam resmi ataupun biasa}}; [[aku]] # ya;<br /> '''''saya''', Tuan!'' {{-terjemahan-}} {{t-atas}} * {{bhs|inl}}: {{t|inl|file=Saya.webm}} * {{bhs|en}}: {{t|en|me}} * {{bhs|mad}}: {{t|mad|kaulâ}} * {{bhs|ar}}: {{t|ar|أنا}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|ban}}== {{kepala|ban|alt=ᬲᬬ}} {{-ragam-}} * {{ragam|ban|saja||ejaan lama}} {{-etimologi-}} : Dari {{der|ban|sa|सहाय|t=hamba, budak, abdi}} {{-n-|ban}} # petugas {{q|biasanya di pura}}; #: {{contoh|ban|Ia tusing enu dadi '''saya''' di pura.|Dia tidak lagi menjadi petugas di pura.}} # juri {{q|biasanya dalam sabung ayam}}; #: {{contoh|ban|Tajén di pura tusing nganggo '''saya'''.|Sabung ayam di pura tidak menggunakan juri.}} {{-rujukan-}} * {{R:KBB}} =={{bahasa|bew}}== {{kepala|bew}} : {{suara|bew|LL-Q33014 (bew)-nengpenti (Princessfenty)-saya.wav }} {{-pron-|bew}} # saya, aku #: '''''Saya''' gawé di Mèstèr.'' #: Saya kerja di Jatinegara. =={{bahasa|jv}}== {{kepala|jv|num=1}} {{-ragam-}} {{jv-varian|c={{J|sa|ya}}|r={{l|jv|saya}} {{q|baku}}, {{l|jv|saja}} {{q|ejaan Belanda}}}} {{-etimologi-}} : {{clipping|jv|sangsaya|tr={{l|jv|ꦱꦁꦱꦪ|tr=-}}|t=bertambah}}, {{der|jv|kaw|saṅsaya|t=semakin}}. {{-adv-|jv}} # kian bertambah; [[semakin]]; #: ''gandhèng gerahé Bu Sriyatun ora '''saya''' mendha, mula Bu Sindu digawa menyang rumah sakit'' #:: karena sakit Bu Sriyatun semakin parah, maka Bu Sindu dibawa ke rumah sakit {{-ptcl-|jv}} # lebih-lebih {{kepala|jv|num=2}} {{-etimologi-}} : {{clipping|jv|sahaya|tr={{l|jv|{{J|sa|ha|ya}}|tr=-}}|t=teman, hamba}}, dari {{der|jv|kaw|sahaya|t=hamba, teman}}, dari {{der|jv|sa|सहाय|t=hamba, budak, abdi}}. {{-n-|jv}} # [[teman]] # [[hamba]] {{kepala|jv|num=3}} {{-etimologi-}} : Dari {{inh|jv|kaw|saya|tr={{l|kaw|{{ruby|{{Kawi|[[File:Aksara Kawi sa.svg|14px]]}}|sa}}{{ruby|{{Kawi|[[File:Aksara Kawi ya.svg|15px]]}}|ya}}|tr=-}}|t=mengumpulkan}}. {{-n-|id}} # perahu pencari ikan {{kepala|jv|num=4}} {{-etimologi-}} : {{clipping|jv|sraya|tr={{l|jv|{{J|sra|ya}}|tr=-}}|t=bantuan; pertolongan; bersama}}, dari {{der|jv|kaw|śraya}}, dari {{der|id|sa|श्राय|=tempat berlindung, perlindungan, suaka}}. {{-p-|jv}} # sambil; serta; [[seraya]] {{-v-|jv}} # meminta bantuan =={{bahasa|osi}}== {{kepala|osi}} :{{suara|osi|LL-Q2701322 (osi)-Kenthus (Jorghirona herdiawan)-saya.wav}} {{-adv-|osi}} # [[makin]] [[Kategori:WikiTutur Kopdar Jakarta 27 April 2024]] 92juoee236fcy2er2hi66dif10aly8s 1349884 1349883 2026-04-14T14:21:37Z Swarabakti 18192 /* {{bahasa|ban}} */ 1349884 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{AFI|id|/saja/}} {{suara|id|LL-Q9240 (ind)-Swarabakti-saya.wav}} {{-etimologi-}} : Dari {{der|id|sa|सहाय|t=hamba, budak}}. {{-pron-|id}} # orang yang berbicara atau menulis {{q|dalam ragam resmi ataupun biasa}}; [[aku]] # ya;<br /> '''''saya''', Tuan!'' {{-terjemahan-}} {{t-atas}} * {{bhs|inl}}: {{t|inl|file=Saya.webm}} * {{bhs|en}}: {{t|en|me}} * {{bhs|mad}}: {{t|mad|kaulâ}} * {{bhs|ar}}: {{t|ar|أنا}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|ban}}== {{kepala|ban|alt=ᬲᬬ}} {{-ragam-}} * {{ragam|ban|saja||ejaan lama}} {{-etimologi-}} : Dari {{der|ban|sa|सहाय|t=hamba, budak, abdi}} {{-n-|ban}} # petugas {{glos|di pura}}; #: {{contoh|ban|Ia tusing enu dadi '''saya''' di pura.|Dia tidak lagi menjadi petugas di pura.}} # juri {{glos|dalam sabung ayam}}; #: {{contoh|ban|Tajén di pura tusing nganggo '''saya'''.|Sabung ayam di pura tidak menggunakan juri.}} {{-rujukan-}} * {{R:KBB}} =={{bahasa|bew}}== {{kepala|bew}} : {{suara|bew|LL-Q33014 (bew)-nengpenti (Princessfenty)-saya.wav }} {{-pron-|bew}} # saya, aku #: '''''Saya''' gawé di Mèstèr.'' #: Saya kerja di Jatinegara. =={{bahasa|jv}}== {{kepala|jv|num=1}} {{-ragam-}} {{jv-varian|c={{J|sa|ya}}|r={{l|jv|saya}} {{q|baku}}, {{l|jv|saja}} {{q|ejaan Belanda}}}} {{-etimologi-}} : {{clipping|jv|sangsaya|tr={{l|jv|ꦱꦁꦱꦪ|tr=-}}|t=bertambah}}, {{der|jv|kaw|saṅsaya|t=semakin}}. {{-adv-|jv}} # kian bertambah; [[semakin]]; #: ''gandhèng gerahé Bu Sriyatun ora '''saya''' mendha, mula Bu Sindu digawa menyang rumah sakit'' #:: karena sakit Bu Sriyatun semakin parah, maka Bu Sindu dibawa ke rumah sakit {{-ptcl-|jv}} # lebih-lebih {{kepala|jv|num=2}} {{-etimologi-}} : {{clipping|jv|sahaya|tr={{l|jv|{{J|sa|ha|ya}}|tr=-}}|t=teman, hamba}}, dari {{der|jv|kaw|sahaya|t=hamba, teman}}, dari {{der|jv|sa|सहाय|t=hamba, budak, abdi}}. {{-n-|jv}} # [[teman]] # [[hamba]] {{kepala|jv|num=3}} {{-etimologi-}} : Dari {{inh|jv|kaw|saya|tr={{l|kaw|{{ruby|{{Kawi|[[File:Aksara Kawi sa.svg|14px]]}}|sa}}{{ruby|{{Kawi|[[File:Aksara Kawi ya.svg|15px]]}}|ya}}|tr=-}}|t=mengumpulkan}}. {{-n-|id}} # perahu pencari ikan {{kepala|jv|num=4}} {{-etimologi-}} : {{clipping|jv|sraya|tr={{l|jv|{{J|sra|ya}}|tr=-}}|t=bantuan; pertolongan; bersama}}, dari {{der|jv|kaw|śraya}}, dari {{der|id|sa|श्राय|=tempat berlindung, perlindungan, suaka}}. {{-p-|jv}} # sambil; serta; [[seraya]] {{-v-|jv}} # meminta bantuan =={{bahasa|osi}}== {{kepala|osi}} :{{suara|osi|LL-Q2701322 (osi)-Kenthus (Jorghirona herdiawan)-saya.wav}} {{-adv-|osi}} # [[makin]] [[Kategori:WikiTutur Kopdar Jakarta 27 April 2024]] 3z2cefsgtckigu4z30sgww1byt0xigs 1349885 1349884 2026-04-14T14:21:58Z Swarabakti 18192 /* {{bahasa|ban}} */ 1349885 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{AFI|id|/saja/}} {{suara|id|LL-Q9240 (ind)-Swarabakti-saya.wav}} {{-etimologi-}} : Dari {{der|id|sa|सहाय|t=hamba, budak}}. {{-pron-|id}} # orang yang berbicara atau menulis {{q|dalam ragam resmi ataupun biasa}}; [[aku]] # ya;<br /> '''''saya''', Tuan!'' {{-terjemahan-}} {{t-atas}} * {{bhs|inl}}: {{t|inl|file=Saya.webm}} * {{bhs|en}}: {{t|en|me}} * {{bhs|mad}}: {{t|mad|kaulâ}} * {{bhs|ar}}: {{t|ar|أنا}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|ban}}== {{kepala|ban|alt=ᬲᬬ}} {{-ragam-}} * {{ragam|ban|saja||ejaan lama}} {{-etimologi-}} : Dari {{der|ban|sa|सहाय|t=hamba, budak, abdi}} {{-n-|ban}} # [[petugas]] {{glos|di pura}}; #: {{contoh|ban|Ia tusing enu dadi '''saya''' di pura.|Dia tidak lagi menjadi petugas di pura.}} # [[juri]] {{glos|dalam sabung ayam}}; #: {{contoh|ban|Tajén di pura tusing nganggo '''saya'''.|Sabung ayam di pura tidak menggunakan juri.}} {{-rujukan-}} * {{R:KBB}} =={{bahasa|bew}}== {{kepala|bew}} : {{suara|bew|LL-Q33014 (bew)-nengpenti (Princessfenty)-saya.wav }} {{-pron-|bew}} # saya, aku #: '''''Saya''' gawé di Mèstèr.'' #: Saya kerja di Jatinegara. =={{bahasa|jv}}== {{kepala|jv|num=1}} {{-ragam-}} {{jv-varian|c={{J|sa|ya}}|r={{l|jv|saya}} {{q|baku}}, {{l|jv|saja}} {{q|ejaan Belanda}}}} {{-etimologi-}} : {{clipping|jv|sangsaya|tr={{l|jv|ꦱꦁꦱꦪ|tr=-}}|t=bertambah}}, {{der|jv|kaw|saṅsaya|t=semakin}}. {{-adv-|jv}} # kian bertambah; [[semakin]]; #: ''gandhèng gerahé Bu Sriyatun ora '''saya''' mendha, mula Bu Sindu digawa menyang rumah sakit'' #:: karena sakit Bu Sriyatun semakin parah, maka Bu Sindu dibawa ke rumah sakit {{-ptcl-|jv}} # lebih-lebih {{kepala|jv|num=2}} {{-etimologi-}} : {{clipping|jv|sahaya|tr={{l|jv|{{J|sa|ha|ya}}|tr=-}}|t=teman, hamba}}, dari {{der|jv|kaw|sahaya|t=hamba, teman}}, dari {{der|jv|sa|सहाय|t=hamba, budak, abdi}}. {{-n-|jv}} # [[teman]] # [[hamba]] {{kepala|jv|num=3}} {{-etimologi-}} : Dari {{inh|jv|kaw|saya|tr={{l|kaw|{{ruby|{{Kawi|[[File:Aksara Kawi sa.svg|14px]]}}|sa}}{{ruby|{{Kawi|[[File:Aksara Kawi ya.svg|15px]]}}|ya}}|tr=-}}|t=mengumpulkan}}. {{-n-|id}} # perahu pencari ikan {{kepala|jv|num=4}} {{-etimologi-}} : {{clipping|jv|sraya|tr={{l|jv|{{J|sra|ya}}|tr=-}}|t=bantuan; pertolongan; bersama}}, dari {{der|jv|kaw|śraya}}, dari {{der|id|sa|श्राय|=tempat berlindung, perlindungan, suaka}}. {{-p-|jv}} # sambil; serta; [[seraya]] {{-v-|jv}} # meminta bantuan =={{bahasa|osi}}== {{kepala|osi}} :{{suara|osi|LL-Q2701322 (osi)-Kenthus (Jorghirona herdiawan)-saya.wav}} {{-adv-|osi}} # [[makin]] [[Kategori:WikiTutur Kopdar Jakarta 27 April 2024]] 9exe946n73dhcn5jxh23rehnyhdetmf 1349886 1349885 2026-04-14T14:22:25Z Swarabakti 18192 /* {{bahasa|ban}} */ 1349886 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{AFI|id|/saja/}} {{suara|id|LL-Q9240 (ind)-Swarabakti-saya.wav}} {{-etimologi-}} : Dari {{der|id|sa|सहाय|t=hamba, budak}}. {{-pron-|id}} # orang yang berbicara atau menulis {{q|dalam ragam resmi ataupun biasa}}; [[aku]] # ya;<br /> '''''saya''', Tuan!'' {{-terjemahan-}} {{t-atas}} * {{bhs|inl}}: {{t|inl|file=Saya.webm}} * {{bhs|en}}: {{t|en|me}} * {{bhs|mad}}: {{t|mad|kaulâ}} * {{bhs|ar}}: {{t|ar|أنا}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|ban}}== {{kepala|ban|alt=ᬲᬬ}} {{-ragam-}} * {{ragam|ban|saja||ejaan lama}} {{-etimologi-}} : Dari {{der|ban|sa|सहाय|t=hamba, budak, abdi}} {{-n-|ban}} # [[petugas]] {{glos|di pura}} #: {{contoh|ban|Ia tusing enu dadi '''saya''' di pura.|Dia tidak lagi menjadi '''petugas''' di pura.}} # [[juri]] {{glos|dalam sabung ayam}} #: {{contoh|ban|Tajén di pura tusing nganggo '''saya'''.|Sabung ayam di pura tidak menggunakan '''juri'''.}} {{-rujukan-}} * {{R:KBB}} =={{bahasa|bew}}== {{kepala|bew}} : {{suara|bew|LL-Q33014 (bew)-nengpenti (Princessfenty)-saya.wav }} {{-pron-|bew}} # saya, aku #: '''''Saya''' gawé di Mèstèr.'' #: Saya kerja di Jatinegara. =={{bahasa|jv}}== {{kepala|jv|num=1}} {{-ragam-}} {{jv-varian|c={{J|sa|ya}}|r={{l|jv|saya}} {{q|baku}}, {{l|jv|saja}} {{q|ejaan Belanda}}}} {{-etimologi-}} : {{clipping|jv|sangsaya|tr={{l|jv|ꦱꦁꦱꦪ|tr=-}}|t=bertambah}}, {{der|jv|kaw|saṅsaya|t=semakin}}. {{-adv-|jv}} # kian bertambah; [[semakin]]; #: ''gandhèng gerahé Bu Sriyatun ora '''saya''' mendha, mula Bu Sindu digawa menyang rumah sakit'' #:: karena sakit Bu Sriyatun semakin parah, maka Bu Sindu dibawa ke rumah sakit {{-ptcl-|jv}} # lebih-lebih {{kepala|jv|num=2}} {{-etimologi-}} : {{clipping|jv|sahaya|tr={{l|jv|{{J|sa|ha|ya}}|tr=-}}|t=teman, hamba}}, dari {{der|jv|kaw|sahaya|t=hamba, teman}}, dari {{der|jv|sa|सहाय|t=hamba, budak, abdi}}. {{-n-|jv}} # [[teman]] # [[hamba]] {{kepala|jv|num=3}} {{-etimologi-}} : Dari {{inh|jv|kaw|saya|tr={{l|kaw|{{ruby|{{Kawi|[[File:Aksara Kawi sa.svg|14px]]}}|sa}}{{ruby|{{Kawi|[[File:Aksara Kawi ya.svg|15px]]}}|ya}}|tr=-}}|t=mengumpulkan}}. {{-n-|id}} # perahu pencari ikan {{kepala|jv|num=4}} {{-etimologi-}} : {{clipping|jv|sraya|tr={{l|jv|{{J|sra|ya}}|tr=-}}|t=bantuan; pertolongan; bersama}}, dari {{der|jv|kaw|śraya}}, dari {{der|id|sa|श्राय|=tempat berlindung, perlindungan, suaka}}. {{-p-|jv}} # sambil; serta; [[seraya]] {{-v-|jv}} # meminta bantuan =={{bahasa|osi}}== {{kepala|osi}} :{{suara|osi|LL-Q2701322 (osi)-Kenthus (Jorghirona herdiawan)-saya.wav}} {{-adv-|osi}} # [[makin]] [[Kategori:WikiTutur Kopdar Jakarta 27 April 2024]] 2m31gr1ep0ur26zn39dvnq05dg4e2j2 Pembicaraan:takut 1 39956 1350027 142115 2026-04-15T11:27:30Z DelintBot 47600 Replacing [[mw:Help:Lint errors/obsolete-tag|obsolete tags]] 1350027 wikitext text/x-wiki {{it}} paura: Kata <s>''sifat''</s> [[Pengguna:Jcwf|Jcwf]] 02:54, 2 Juli 2008 (UTC) :it's from [[:en:afraid|en:]], you can change it <span style="border:1px solid #003333;padding:1px;">[[User talk:Azmi1995|<span style="color:white;background:#008000;">'''&nbsp;Azmi&nbsp;'''</span><span style="color:white;background:#008000;">'''&nbsp;&nbsp;Bicara&nbsp;'''</span>]]</span> 04:50, 13 Juli 2008 (UTC) sk53u3nv25723tmw301600yxvkq83tq Portal:Bahasa Indonesia 0 40283 1350030 801831 2026-04-15T11:29:28Z DelintBot 47600 Replacing [[mw:Help:Lint errors/obsolete-tag|obsolete tags]] 1350030 wikitext text/x-wiki <!-- TABLEAU PRINCIPAL --> {| cellspacing=15 cellpadding=15 style="border-top:2px solid #bbbbbc; border-left:2px solid #bbbbbc; border-bottom:1px solid #dddddf; border-right:1px solid #dddddf;" align="center" | bgcolor="#fbfbff" valign=top style="border: 1px solid #aaaaff; border-bottom:2px solid #8888ff; border-right:2px solid #9999ff;" width="50%" align=left | <!--DÉBUT DU CADRE DE GAUCHE--> == <div style="text-align: center;">[[Berkas:Nuvola_apps_bookcase.svg|35px|contribuer]]Kosa Kata</div> == * [[:Kategori:Kata Bahasa Indonesia|semua artikel bahasa Indonesia]] == <div style="text-align: center;">[[Berkas:Quill-Nuvola.svg|35px|projets]]Jenis Kata</div> == * [[:Kategori:Kata sifat Bahasa Indonesia|Kata sifat]] * [[:Kategori:Kata keterangan Bahasa Indonesia|Kata keterangan]] * [[:Kategori:Kata benda Bahasa Indonesia|Kata benda]] * [[:Kategori:Kata kerja Bahasa Indonesia|Kata kerja]] [[Kategori:Portal]] n1g4k9hgby99itjzuu6xbnz1l154q2q buah 0 40363 1349911 1349137 2026-04-15T06:44:05Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349911 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-buah.wav}} {{-n-|id}} # hasil dari [[bunga]] #* {{RQ:Mustikarasa |page=58 |text=Asam kandis jang banjak dipakai di Sumatera tengah, berasal dari '''buah''' jang sekeluarga dengan manggis |norm=Asam kandis yang banjak dipakai di Sumatera tengah, berasal dari '''buah''' yang sekeluarga dengan manggis |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/66#:~:text=Asam%20kandis%20jang%20banjak%20dipakai%20di%20Sumatera%20tengah%2C%20berasal%20dari%20buah%20jang%20sekeluarga%20dengan%20manggis }} =={{bahasa|bkr}}== {{kepala|bkr}} {{-n-|bkr}} # {{l|id|buah}} [[Kategori:WikiTutur - Bakumpai]] [[Kategori:WikiTutur Kopdar Banjarmasin 30 Juni 2024]] =={{bahasa|knl}}== {{kepala|knl}} {{-lafal-}} * {{suara|knl|LL-Q6389309 (knl)-Mario Manggit (Neyana999)-buah.wav}} {{-n-|knl}} # {{l|id|buah}} [[Kategori:WikiTutur 2.0 - Keninjal]] [[Kategori:Kolaborasi Tim WikiTutur 2.0]] =={{bahasa|mui}}== {{kepala|mui}} {{-n-|mui}} # {{l|id|buah}} #: {{ux|mui|'''buah''' rambutan|'''buah''' rambutan}} {{-lafal-|mui}} * {{suara|mui|LL-Q615660 (mui)-Dpratiwi-buah.wav }} [[Kategori:WikiTutur - Musi]] [[Kategori:WikiTutur Kopdar Palembang 19 Mei 2024]] =={{bahasa|kvb}}== {{kepala|kvb}} : {{suara|kvb|LL-Q6441341_(kvb)-Nugraha_(Djordi_Andai)-buah.wav}} {{-nomina-|kvb}} # {{l|id|asal}} # [[buah]] {{-n-|kvb}} # '''buah belaki'''= angin yang datang setelah musim hujan sebelum musim kemarau, biasanya membantu penyerbukan # '''buah belakong'''= ginjal # '''buah botiy'''= betis bagian belakang # '''buah kepalo'''= buah batu yang berdaging kuning muda kehijau-hijauan untuk dibuat manisan, berbentuk bulat lonjong, dan beralur memanjang, bijinya dibuat bumbu penyedap atau ramuan obat # '''buah sebelik sumpah'''= buah yang dapat dijadikan penangkal berbentuk kalung atau gelang [[Kategori:Edit-a-thon WikiKathā Maret 2026]] =={{bahasa|su}}== {{kepala|su}} {{-n-|su}} # [[mangga.]] # [[buah.]] {{-terjemahan-}} {{t-atas}} * {{en}} : {{trad-|en|fruit}} * {{fr}} : {{trad-|fr|fruit}} {{m}} {{t-bawah}} =={{bahasa|bjn}}== {{kepala|bjn}} {{-lafal-|bjn}} * {{suara|bjn| LL-Q33151 (bjn)-Wadaihangit-buah.wav}} {{-n-|bjn}} # {{l|id|buah}} #: {{ux|bjn|''Pabila jar musim buah kuini di banua?''|Kapan kah kira-kira musim buah Kweni di Kalimantan Selatan?}} [[Kategori:WikiTutur 3.0 - Banjar]] [[Kategori:WikiTutur 3.0 Banjarmasin 15 Februari 2026]] 7x2zof7pwcrch4q6iwafl9841l33rfy aben 0 40983 1350035 1109149 2026-04-15T11:33:33Z Swarabakti 18192 /* {{bahasa|su}} */ 1350035 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{suara|id|LL-Q9240 (ind)-Dvnfit-aben.wav}} {{-v-|id}} #''bentuk [[dasar]] dan [[imperatif]] dari [[mengaben]]'' {{lihat v}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|ban}}== {{kepala|ban}} {{-v-|ban}} # [[mengaben]] # [[pengabenan]] =={{bahasa|su}}== {{kepala|su}} {{-n-|su}} {{suword|h=[[aben]]|l=[[adu]]}} # {{label|su|lemes}} [[adu]] gc2d9h2pwu6huq0y8vqr1a72hek291v 1350036 1350035 2026-04-15T11:34:05Z Swarabakti 18192 1350036 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{suara|id|LL-Q9240 (ind)-Dvnfit-aben.wav}} {{-v-|id}} #''bentuk [[dasar]] dan [[imperatif]] dari [[mengaben]]'' {{lihat v}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|ban}}== {{kepala|ban}} {{-v-|ban}} # [[mengaben]] # [[pengabenan]] =={{bahasa|su}}== {{kepala|su}} {{-n-|su}} # {{lemes}} [[adu]] 2qxriuydbr6568qgj0c1prsu9k82bxg Templat:ja-forms 10 41242 1349909 193287 2026-04-15T06:43:18Z DelintBot 47600 Replacing [[mw:Help:Lint errors/obsolete-tag|obsolete tags]] 1349909 wikitext text/x-wiki {| class="floatright" border=1 cellpadding="5" cellspacing="0" |- valign="center" | bgcolor="#dfefff"| '''[[shinjitai]]''' |<span lang="ja" style="font-size: 18pt;">{{{1}}}</span> |- valign="center" | bgcolor="#dfefff"| '''[[Hanzi yang Disederhanakan|sederhana]]''' |<span lang="zh-cn" style="font-size: 18pt;">{{{2}}}</span> |- valign="center" | bgcolor="#dfefff"| '''[[Hanzi Tradisional|tradisional]]''' |<span lang="zh-tw" style="font-size: 18pt;">{{{3}}}</span> |}<noinclude> === Lihat pula === * [[Templat:ja-kanjitab]] [[Kategori:Templat bahasa Jepang]] [[en:Template:ja-kanjitab]] </noinclude> 20a18m82ia8u6b7jtok5li32p7jyot1 Kategori:id:Pronomina 14 43843 1350002 1012159 2026-04-15T09:51:12Z ~2026-23378-65 47602 1350002 wikitext text/x-wiki {{kat:Pronomina|id}} '''Pronomina''' atau '''kata ganti''' adalah kata yang dipakai untuk mengganti nama orang atau benda, seperti ''aku'', ''en gkau'', ''dia''. Dalam bahasa Indonesia ada tiga jenis pronomina, yaitu pronomina persona, pronomina penunjuk, dan pronomina penanya. == Pronomina persona == {| class="wikitable" |- ! rowspan=2 | Persona ! rowspan=2 | Tunggal ! colspan=3 | Jamak |- ! Netral ! Eksklusif ! Inklusif |- | Pertama | saya, aku, daku, beta, ku-, -ku | - | kami | kita |- | Kedua | kau, engkau, kamu, Anda, dikau, kau-, mu- | kalian, kamu sekalian, Anda sekalian | - | - |- | Ketiga | ia, dia, beliau, -nya | mereka | - | - |} [http://id.wikibooks.org/w/index.php?title=Bahasa_Indonesia/Pronomina&oldid=12540 sumber] [[Kategori:Kelas kata bahasa Indonesia|Pronomina]] fp8neom150evcefe5qrbgd91y1n9o6s dilarang 0 45033 1349990 1319593 2026-04-15T08:56:43Z Iripseudocorus 40083 rekam1 1349990 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|di|la|rang}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-dilarang.wav}} {{imbuhan di-|larang}} # tidak diizinkan #* {{RQ:20 Mei Pelopor 17 Agustus |page=14-15 |text=''Indische Partij'' : kemudian '''dilarang''', lalu semua ​anggauta masuk kedalam organisasi jang telah mempunjai hak „rechtspersoon”. |norm=''Indische Partij'' : kemudian '''dilarang''', lalu semua ​anggota masuk ke dalam organisasi yang telah mempunyai hak ''rechtspersoon.'' |url=https://id.wikisource.org/wiki/20_Mei_Pelopor_17_Agustus#:~:text=%E2%80%9EIndische%20Partij%E2%80%9D%C2%A0%3A%20kemudian%20dilarang%2C%20lalu%20semua%20%E2%80%8Banggauta%20masuk%20kedalam%20organisasi%20jang%20telah%20mempunjai%20hak%20%E2%80%9Erechtspersoon%E2%80%9D }} {{-terjemahan-}} {{t-atas}} *{{gor}}: {{t+|gor|entelalo}} {{t-bawah}} 34h5xkxh55cqaagd3l5k892drq0icyz mendirikan 0 45090 1350000 1279831 2026-04-15T09:08:48Z Iripseudocorus 40083 rekam1 1350000 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|men|di|ri|kan}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-mendirikan.wav}} {{imbuhan me-kan|diri}} # memasang (meletakkan) berdiri; menegakkan: <br />''mendirikan tiang listrik (telepon, bendera) # membuat atau membangun (rumah, pabrik, dan sebagainya): <br />''pemerintah mendirikan pasar darurat untuk menampung pedagang kaki lima # mengadakan (perkumpulan, yayasan, koperasi, dan sebagainya): <br />''mereka berhasil mendirikan koperasi di kampungnya #* {{RQ:20 Mei Pelopor 17 Agustus |page=17 |text=Di Surabaja marhum dr. Sutomo c.s. '''mendirikan''' ''Studieclub'' jang sebenarnja adalah suatu bibit partij politik. |norm=Di Surabaya marhum dr. Sutomo c.s. '''mendirikan''' ''Studieclub'' yang sebenarnya adalah suatu bibit partai politik. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/16#:~:text=Di%20Surabaja%20marhum%20dr.%20Sutomo%20c.s.%20mendirikan%20%E2%80%9EStudieclub%E2%80%9D%20jang%20sebenarnja%20adalah%20suatu%20bibit%20partij%20politik. }} # {{Isl}} menjalankan; melaksanakan; mengerjakan (kewajiban dan sebagainya): <br />''sesudah mendirikan salat, ia membaca ayat-ayat suci Alquran {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} [[fr:mendirikan]] [[zh:mendirikan]] io55hkyv8v19u3zwi6b76afwtht1nr4 kedudukan 0 45446 1349931 1279400 2026-04-15T07:12:26Z Iripseudocorus 40083 rekam1 1349931 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ke|du|du|kan}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-kedudukan.wav}} {{imbuhan ke-an|duduk|kelas=n}} # tempat kediaman # tempat pegawai (pengurus perkumpulan dsb) tinggal untuk melakukan pekerjaan atau jabatannya # letak atau tempat suatu benda #:''gerhana matahari terjadi pada waktu '''kedudukan''' bulan tepat di antara bumi dan matahari'' # tingkatan atau martabat #:'''''kedudukan''' duta besar sama dengan menteri'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=n.d |text=Tetapi kemudian beliau toh menerima '''kedudukan''' wakil-ketua; jang mendjadi pemimpin pertama ialah marhum bupati Karanganjar Tirtokusumo. |norm=Tetapi kemudian beliau toh menerima '''kedudukan''' wakil-ketua; yang menjadi pemimpin pertama ialah marhum bupati Karanganjar Tirtokusumo. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/7#:~:text=Tetapi%20kemudian%20beliau%20toh%20menerima%20kedudukan%20wakil%2Dketua%3B%20jang%20mendjadi%20pemimpin%20pertama%20ialah%20marhum%20bupati%20Karanganjar%20Tirtokusumo. }} # keadaan yang sebenarnya (tentang perkara dsb) #:''hingga sekarang '''kedudukan''' perkara manipulasi uang proyek itu masih gelap'' # status (keadaan atau tingkatan orang, badan atau negara, dsb) ''di sana '''kedudukan''' Saudara sebagai apa?'' {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 7mpf7fklxte7xtskx833umbvm6z7t5u kepentingan 0 45583 1349999 1349185 2026-04-15T09:07:41Z Iripseudocorus 40083 rekam1 1349999 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ke|pen|ti|ngan}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-kepentingan.wav}} {{imbuhan ke-an|penting|kelas=n}} # keperluan; kebutuhan: <br />''mendahulukan kepentingan umum'' #* {{RQ:Permainan Rakyat Daerah Kalimantan Selatan |page= 46 |text= Tetapi karena peranannya kecil sekali untuk '''kepentingan''' perkembangan permainan atau pendidikan pada umumnya, maka masyarakat tampaknya tidak merasa dirugikan kalau permainan ini tidak berkembang lagi. |url= https://id.wikisource.org/wiki/Halaman%3APermainan_rakyat_daerah_Kalimantan_Selatan.pdf/50#:~:text=Tetapi%20karena%20peranannya%20kecil%20sekali%20untuk%20kepentingan%20perkembangan%20permainan%20atau%20pendidikan%20pada%20umumnya%2C%20maka%20masyarakat%20tampaknya%20tidak%20merasa%20dirugikan%20kalau%20permainan%20ini%20tidak%20berkembang%20lagi. }} # interes {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} r2s6gmf2qrkd6hgxsybcykfrv5kwz2u sekolah 0 46101 1350012 1293485 2026-04-15T10:32:01Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350012 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-sekolah.wav}} {{-etimologi-}} : Dari {{pt}} [[escola]]. {{-n-|id}} # bangunan atau lembaga untuk belajar dan mengajar serta tempat menerima dan memberi pelajaran (menurut tingkatannya, ada) -- dasar, -- lanjutan, -- tinggi; (menurut jurusannya, ada) -- dagang, -- guru, -- teknik, -- pertanian, dan sebagainya #* {{RQ:Permainan Rakyat Daerah Kalimantan Selatan |page=476 |text=Dalam rangka proses sosialisasi, terutama dalam usaha menanamkan sikap dan ketrampilan yang tidak mungkin diperoleh di bangku '''sekolah''' maupun pendidikan formal lainnya, permainan rakyat merupakan salah satu sarana yang sangat baik. |url=https://id.wikisource.org/wiki/Halaman:Permainan_rakyat_daerah_Kalimantan_Selatan.pdf/10#:~:text=Dalam%20rangka%20proses%20sosialisasi%2C%20terutama%20dalam%20usaha%20menanamkan%20sikap%20dan%20ketrampilan%20yang%20tidak%20mungkin%20diperoleh%20di%20bangku%20sekolah%20maupun%20pendidikan%20formal%20lainnya%2C%20permainan%20rakyat%20merupakan%20salah%20satu%20sarana%20yang%20sangat%20baik. }} {{-terjemahan-}} {{t-atas}} * {{bhs|en}}: {{t|en|school}} * {{bhs|inl}}: {{t|inl|file=Sekolah - Sekolah.webm}} * {{bhs|fr}}: {{t|fr|école}} {{t-bawah}} {{rfv|id|impor dari KBBI}} dusogij23vonwuoppxr9oh5lf7lk91r Kategori:ab:Nomina 14 46716 1350050 899113 2026-04-15T11:38:45Z Swarabakti 18192 1350050 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d wedang 0 47477 1349920 1340023 2026-04-15T07:00:17Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349920 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-wedang.wav}} {{-etimologi-}} : Pinjaman dari bahasa Jawa ''wédang'' 'minuman panas; air matang (panas) untuk membuat minuman', dari bahasa Jawa Kuno ''wedaṅ'' 'air mendidih'. {{-n-|id}} # minuman dari bahan gula dan kopi (teh, jahe, dsb) yang biasanya disedu dengan air panas, biasanya dapat menghangatkan tubuh: #* {{RQ:Mustikarasa |page=1150 |text='''Wedang''' dihidangkan dalam mangkuk |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1158#:~:text=Wedang%20dihidangkan%20dalam%20mangkuk }} {{-rujukan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|mui-plm}}== {{kepala|mui-plm}} {{-etimologi-}} : {{dipinjam dari+|mui-plm|jv|wédang|t=air minum, air rebusan}}. {{-n-|mui-plm}} # {{label|mui-plm|lama}} air minum matang =={{bahasa|osi}}== {{kepala|osi|entry=wèdang}} {{-n-|osi}} # [[air]] [[panas]] {{-turunan-|osi}} # '''kewèdangen'''= rasa panas pada tangan/ kulit karena bersinggungan dengan cabai [[Kategori:Edit-a-thon WikiKathā Maret 2026]] kz6a9yqjztrqo7o83mrxah86f3jdrwc santan 0 48081 1349942 1279259 2026-04-15T07:33:08Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349942 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-santan.wav}} {{-n-|id}} # air perahan kelapa yang sudah dikukur #* {{RQ:Mustikarasa |page=1156 |text=Setelah masak, '''santan''' kental dimasukkan, diaduk sampai mendidih. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1164#:~:text=Setelah%20masak%2C%20santan%20kental%20dimasukkan%2C%20diaduk%20sampai%20mendidih. }} {{-turunan-|id}} {{-terjemahan-}} <!--Anda dapat menyalin templat {{t-atas}} -- {{t-bawah}} di bawah berulang kali untuk masing masing arti kata, masing-masing dibedakan melalui parameter pertamanya (misalkan {{t-atas|arti 1}} dan {{t-atas|arti 2}} dst). Lihat [[Wiktionary:Terjemahan]] untuk panduan membuat lebih dari satu kolom terjemahan--> {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|jax}}== {{kepala|jax}} : {{suara|jax|LL-Q3915769 (jax)-yogi (Pitchrigi)-santan.wav}} {{-n-|jax}} # santan [[Kategori:WikiMaknyus Jambi]] [[Kategori:WikiMaknyus]] =={{bahasa|min}}== {{kepala|min}} {{-n-|min}} # santan [[Kategori:WikiMaknyus Mataram]] [[Kategori:WikiMaknyus]] j7qzd0sn12dh73l0zurgx82b9fnoe74 singkong 0 49330 1350004 1279714 2026-04-15T09:57:22Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350004 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-singkong.wav}} [[Berkas:Iwata kenichi cassava.jpg|jmpl|singkong]] {{-etimologi-}} Dari {{bor|id|nan|樹葛|t=singkong}} {{-n-|id}} # tanaman yang hidup di daerah tropis, umbinya ada yang manis dan ada pula yang pahit, daunnya banyak mengandung protein biasa disayur atau direbus sebagai lalap; ubi kayu; ''[[:species:Manihot esculenta|Manihot esculenta]]'' #* {{RQ:Mustikarasa |page=1129 |text='''Singkong''' direbus, ditumbuk halus, dibentuk bulat². |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1137#:~:text=Singkong%20direbus%2C%20ditumbuk%20halus%2C%20dibentuk%20bulat%C2%B2 }} # daun singkong {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} g3wqkhyu1wfva7zsys9lkt18a0dfyix sirsak 0 49436 1349901 1294019 2026-04-15T06:39:57Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349901 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-sirsak.wav}} {{-n-|id}} # pohon yang tingginya mencapai 8 m, kulit buahnya berduri-duri pendek dan lunak, isinya berwarna putih serta berbiji banyak, berwarna hitam, rasanya masam-masam ma-nis; nangka belanda; "[[:species:Annona muricata|Annona muricata]]" # buah sirsak #* {{RQ:Mustikarasa |page=1146 |text=Susu, gula dan panili dimasak sampai mendidih, sesudah itu ditjampurkan air '''sirsak''' jang sudah ditjampur dengan tepung sedikit² kedalamnja. |norm=Susu, gula dan panili dimasak sampai mendidih, sesudah itu dicampurkan air '''sirsak''' yang sudah dicampur dengan tepung sedikit-sedikit ke dalamnya. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1154#:~:text=Susu%2C%20gula%20dan%20panili%20dimasak%20sampai%20mendidih%2C%20sesudah%20itu%20ditjampurkan%20air%20sirsak%20jang%20sudah%20ditjampur%20dengan%20tepung%20sedikit%C2%B2%20kedalamnja. }} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} [[Kategori:id:Buah]] bg929usv4s0jz8yr44zwb70z9gmc1df soda 0 49552 1349894 1294196 2026-04-15T06:24:42Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349894 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-soda.wav}} {{-n-|id}} # bahan kimia yang digunakan pembuatan sabun dsb. # pengembang makanan #* {{RQ:Mustikarasa |page=1135 |text=Tepung terigu, tepung singkong, '''soda''', susu kental manis dan panili dimasukkan. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1143#:~:text=Tepung%20terigu%2C%20tepung%20singkong%2C%20soda%2C%20susu%20kental%20manis%20dan%20panili%20dimasukkan. }} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} lpnmqygxcjob49pjjktun6ygiff8fq9 sosialisasi 0 49659 1350015 1294381 2026-04-15T10:36:01Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350015 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-sosialisasi.wav}} {{-n-|id}} # usaha untuk mengubah milik perseorangan menjadi milik umum (milik negara): <br>''tradisi tidak memperlancar proses sosialisasi perusahaan milik keluarga'' # proses belajar seorang anggota masyarakat untuk mengenal dan menghayati kebudayaan masyarakat dalam lingkungannya: <br>''tingkat-tingkat permulaan dari proses sosialisasi manusia itu terjadi dalam lingkungan keluarga'' # upaya memasyarakatkan sesuatu sehingga men-jadi dikenal, dipahami, dihayati oleh masyarakat; pemasyarakatan #* {{RQ:Permainan Rakyat Daerah Kalimantan Selatan |page=2 |text=Dalam rangka proses '''sosialisasi,''' terutama dalam usaha menanamkan sikap dan ketrampilan yang tidak mungkin diperoleh di bangku sekolah maupun pendidikan formal lainnya, permainan rakyat merupakan salah satu sarana yang sangat baik. |url=https://id.wikisource.org/wiki/Halaman:Permainan_rakyat_daerah_Kalimantan_Selatan.pdf/10#:~:text=Dalam%20rangka%20proses%20sosialisasi%2C%20terutama%20dalam%20usaha%20menanamkan%20sikap%20dan%20ketrampilan%20yang%20tidak%20mungkin%20diperoleh%20di%20bangku%20sekolah%20maupun%20pendidikan%20formal%20lainnya%2C%20permainan%20rakyat%20merupakan%20salah%20satu%20sarana%20yang%20sangat%20baik. }} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 04npmh4nvy1rkhvxy55a5j3sot2mrmy spesialis 0 49717 1349923 1294465 2026-04-15T07:01:49Z Iripseudocorus 40083 rekam1 1349923 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|spe|sia|lis}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-spesialis.wav}} {{-n-|id}} # orang yang ahli dalam suatu cabang ilmu atau keterampilan: <br>''dia adalah pemain spesialis ganda; dokter spesialis jantung'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=10 |text=Ketua Panitya adalah marhum dr. Tumbelaka, jang waktu itu tinggal dinegeri Belanda untuk menjiapkan diri sebagai ''specialist'' dalam ilmu penjakit urat-sjaraf. |norm=Ketua Panitia adalah marhum dr. Tumbelaka, yang waktu itu tinggal di negeri Belanda untuk menyiapkan diri sebagai '''spesialis''' dalam ilmu penyakit urat-syaraf. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/9#:~:text=Ketua%20Panitya%20adalah%20marhum%20dr.%20Tumbelaka%2C%20jang%20waktu%20itu%20tinggal%20dinegeri%20Belanda%20untuk%20menjiapkan%20diri%20sebagai%20%E2%80%9Especialist%E2%80%9D%20dalam%20ilmu%20penjakit%20urat%2Dsjaraf.}} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 98kcxh1ncmkt25tzfuqggjxseeyq8h4 sukun 0 50025 1350003 1333173 2026-04-15T09:54:51Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350003 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-soda.sukun}} {{-v-|id}} # tidak bergigi (tentang gusi) # tidak berbiji (untuk buah-buahan yang biasanya berbiji):<br>''jambu sukun'' #* {{RQ:Mustikarasa |page=1128 |text=Sesudah masak '''sukun''' tersebut dimasukkan. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1136#:~:text=Sesudah%20masak%20sukun%20tersebut%20dimasukkan. }} {{-n-|id}} # penanda hilangnya vokal dalam ejaan bahasa Arab yang diletakkan di atas konsonan {{-etimologi-}} * Dari ''[[Arab]]'' '''''سُكُوْنٌ sukūn''''' ['ketenangan;' dari ''[[Arab]]'' '''''سَكَنَ sakana''''' 'menenang; berdiam'] {{-rujukan-}} *Russell Jones, Loan-words in Indonesian and Malay, (Jakarta: Yayasan Obor Indonesia, 2008) *Ibn Manẓūr, Lisan al-'Arab, (Cairo: Dār al-Ma‘ārif, 1431 H) {{-n-|id}} # pohon seperti keluih yang buahnya tidak berbiji; "[[:species:Artocarpus incissus|Artocarpus incissus]]" {{-turunan-|id}} {{-terjemahan-}} <!--Anda dapat menyalin templat {{kotak awal}} -- {{t-bawah}} di bawah berulang kali untuk masing masing arti kata, masing-masing dibedakan melalui parameter pertamanya (misalkan {{kotak awal|arti 1}} dan {{kotak awal|arti 2}} dst). Lihat [[Wiktionary:Terjemahan]] untuk panduan membuat lebih dari satu kolom terjemahan--> {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|bjn}}== {{kepala|bjn}} {{-lafal-|bjn}} * {{suara|bjn|LL-Q33151 (bjn)-Wadaihangit-sukun.wav}} {{-n-|bjn}} # sukun #: {{ux|bjn|hujan kayani rasuk banar lawan sukun basanga|Saat hujan cocok banget dengan sukun goreng}} [[Kategori:WikiTutur 3.0 - Banjar]] [[Kategori:WikiTutur 3.0 Banjarmasin 15 Februari 2026]] =={{bahasa|bqr}}== {{kepala|bqr}} :{{suara|bqr|LL-Q5001028 (bqr)-Jhoni imbut (ijung) (Lilink1234)-sukun.wav}} {{-n-|bqr}} # {{l|id|sukun}} [[Kategori:Edit-a-thon WikiKathā Maret 2026]] =={{bahasa|jv}}== {{kepala|jv}} {{-etimologi-}} :{{Inh+|r=y|jv|PMP|sukun}}. {{-n-|jv}} # pohon seperti keluih yang buahnya tidak berbiji; "[[:species:Artocarpus incissus|Artocarpus incissus]]" {{-rujukan-}} * {{R:map:ACD|*sukun|id=31214|type=c}} =={{bahasa|mqg}}== {{kepala|mqg}} {{-n-|mqg}} # {{l|id|sukun}} 0avmrmmq4e8yclr190rmfkr2dpufvfh tiwul 0 66137 1350005 1296682 2026-04-15T09:58:15Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350005 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-tiwul.wav}} {{-n-|id}} # penganan yang dibuat dari tepung gaplek, diberi gula sedikit, kemudian dikukus, dapat dimakan bersama kelapa parut yang telah diberi garam sedikit #* {{RQ:Mustikarasa |page=1131 |text=Pendjualan dibungkus dengan daun pisang dan diberi kelapa parut, seperti '''tiwul'''. |norm=Penjualan dibungkus dengan daun pisang dan diberi kelapa parut, seperti '''tiwul'''. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1139#:~:text=Pendjualan%20dibungkus%20dengan%20daun%20pisang%20dan%20diberi%20kelapa%20parut%2C%20seperti%20tiwul. }} {{-turunan-|id}} {{-sinonim-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} oiuek6uqwoc74miezov1ftc0wb6fu98 Halaman Utama/Mei 2010 0 90286 1350029 1060870 2026-04-15T11:29:27Z DelintBot 47600 Replacing [[mw:Help:Lint errors/obsolete-tag|obsolete tags]] 1350029 wikitext text/x-wiki <!-- Pengantar --> <div style="text-align: center; border:1px solid #cccccc; -moz-border-radius: 10px; padding: 10px; margin: 30px 0px 10px 0px; background: #f0f0f0;"> <div style="font-size:120%;">Selamat datang di '''[[Wiktionary:Perihal|Wiktionary]] Indonesia''', kamus bebas berbahasa Indonesia</div> <div style="font-size:90%;">Saat ini ada '''35500''' artikel dengan '''{{NUMBEROFUSERS}}''' pengguna terdaftar</div> <inputbox> type=search placeholder=Cari&hellip; width=40 break=no bgcolor=#f0f0f0 buttonlabel=Cari judul searchbuttonlabel=Cari isi </inputbox><div style="font-size:90%;"><!-- remark dulu [[Wikipedia:Pengantar|Memulai]] · [[Wikipedia:Keuntungan mempunyai akun|Mendaftar]] · [[Wikipedia:Menyunting sebuah halaman|Menyunting ]] · '''[[Portal:Komunitas|Komunitas]]''' · [[Wikipedia:Warung kopi|Warung kopi]] · [[Wikipedia:Meja referensi|Meja referensi]] · [[Bantuan:Isi|Bantuan]]--> </div> <div style="font-size:90%; margin-top:-5px"><!-- remark dulu [[Wikipedia:Babel/id-0|You don't speak Indonesian?]]--></div> </div> <!-- Kotak Isian Pilihan --> {| style="background:#fff5f5" align="center" |! style="background: #ffe2e2; border:#ffe2e2 1px solid; padding-top: 0.1em; padding-bottom: 0.1em; text-align: center; font-size: larger;"|'''Halaman Pilihan''' |- |valign="top" align="right"|'''[[Istimewa:Halaman baru|Lema baru]]'''&nbsp;– '''[[Istimewa:Artikel lama|Lema lama]]'''&nbsp;– '''[[Istimewa:Halaman sembarang|Halaman sembarang]]''' |} {| style="padding:8px;" |! style="background: #e2e2ff; padding-top: 0.1em; padding-bottom: 0.1em; text-align: center; font-size: larger;"|'''Telusuri KamusWiki''' |! style="background: #faf9b2; padding-top: 0.1em; padding-bottom: 0.1em; text-align: center; font-size: larger;"|'''[[Wiktionary:Indeks Cepat|Indeks Cepat]]''' |- |style="background:#f8f8ff"| <big>''' Artikel-Artikel '''</big><br /><br /> [[:Category:Bahasa|Menurut Bahasa]] - [[Wiktionary:Jenis Kata|Jenis Kata]] - [[Wiktionary:Indeks Bahasa|Indeks Bahasa]] - [[Wiktionary:Daftar akronim dan singkatan|Daftar akronim dan singkatan]] - [[Wiktionary:Penjelasan tataletak entri|'''Penjelasan tataletak isian''']] - [[Wiktionary:Klasifikasi Tesaurus|Menurut Klasifikasi Tesaurus]] - [[:category:WikiSaurus|WikiSaurus (daftar sinonim)]] <br /><br /> <big>''' Lampiran '''</big><br /><br /> [[Lampiran Wiktionary:Bilangan|Bilangan / Angka]] - [[Lampiran Wiktionary:Daftar istilah linguistik|Daftar istilah linguistik]] - [[Lampiran Wiktionary:Ejaan Yang Disempurnakan|EYD]] - [[Lampiran Wiktionary:Imbuhan|Imbuhan]] - [[Lampiran Wiktionary:Majas|Majas]]<!-- - [[Wiktionary:Singkatan|Singkatan yang digunakan di KamusWiki]] - [[Wiktionary:Index Cangjie Tiongkok|Index Cangjie Tiongkok]] - [[Wiktionary:Index pinyin Tiongkok|Index Pinyin Tiongkok]] - [[Wiktionary:Daftar abjad|Menurut abjad]] - [[Lampiran Wiktionary:Sistem penulisan dan abjad|Sistem penulisan dan abjad]] - --> <br /><br /> <big>''' [[Wiktionary:Sasaran kami|Sasaran kami]] '''</big><br /><br /> Hal-hal yang kami targetkan untuk dikerjakan di waktu mendatang. <!-- Kotak Index Cepat --> |class="plainlinks" valign="top" align="right" style="background:#ffffec"| Kata yang berawalan: <br /> <div style="text-align: center;"><small><b> [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=A A] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=B B] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=C C] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=D D] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=E E] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=F F] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=G G] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=H H] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=I I] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=J J] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=K K] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=L L] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=M M] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=N N] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=O O] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=P P] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=Q Q] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=R R] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=S S] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=T T] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=U U] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=V V] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=W W] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=X X] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=Y Y] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=Z Z] </b><br /></small></div> Kata yang berawalan dengan huruf non-Latin: <br /> [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=א א] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=أ أ] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=अ अ] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=ო ო] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=あ あ] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=む む] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=亍 亍] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=偣 偣] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=恣 恣] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=灣 灣] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=나 나] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=♠ ♠] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=அ அ] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=Đ Đ] [http://id.wiktionary.org/w/wiki.phtml?title=Special:Allpages&from=ก ก] </div></div> |} <!-- Proyek Wikimedia lain --> <div style="background:#ffc9c9; color: #000; border:0px solid #ccc; font:bold 120% sans-serif; padding: 3px 5px; margin: 10px 0px; -moz-border-radius: 5px;">[[Berkas:Wikimedia-logo.svg|20px]] Proyek Wikimedia lain</div> {{ProyekWiki}} <!-- Wiktionary dalam bahasa lain --> <div style="background:#dedede; color: #000; border:0px solid #ccc; font:bold 120% sans-serif; padding: 3px 5px; margin: 10px 0px; -moz-border-radius: 5px;">[[Berkas:Wiktionary.png|20px]] {{ns:project}} dalam bahasa lain</div> <div style="font-size:105%;"> '''Lebih dari 1.000.000 lema:'''<br /> [[:en:|English]] </div> <div style="font-size:95%;"> '''Lebih dari 100.000 lema:'''<br /> [[:zh:|中文]] • [[:fi:|Suomi]] • [[:fr:|Français]] • [[:de:|Deutsch]] • [[:el:|Ελληνικά]] • [[:hu:|Magyar]] • [[:io:|Ido]] • [[:it:|Italiano]] • [[:lt:|Lietuvių]] • [[:no:|Norsk Bokmål]] • [[:pl:|Polski]] • [[:pt:|Português)]] • [[:ru:|Русский]] • [[:sv:|Svenska]] • [[:ta:|தமிழ்]] • [[:tr:|Türkçe]] • [[:vi:|Tiếng Việt]] </div> <div style="font-size:90%;"> '''Lebih dari 10.000 lema:'''<br /> [[:af:|Afrikaans]] • [[:ar:|العربية]] • [[:br:|Brezhoneg]] • [[:bg:|Български]] • [[:ca:|Català ]] • [[:cs:|Český]] • [[:nl:|Nederlands]] • [[:et:|Eesti]] • [[:fy:|Frysk ]] • [[:gl:|Galego]] • [[:he:|עברית]] • [[:is:|Íslenska]] • [[:ja:日本語]] • [[:kn:|ಕನ್ನಡ]] • [[:ko:|한국어]] • [[:ku:|Kurdî / كوردی]] • [[:lo:|ລາວ]] • [[:li:|Limburgs]] • [[:ml:|മലയാളം]] • [[:oc:|Occitan]] • [[:fa:|فارسى]] • [[:ro:|Română]] • [[:sr:|Српски]] • [[:scn:|Sicilianu]] • [[:simple:|Simple English]] • [[:es:|Español]] • [[:te:|తెలుగు]] • [[:th:|ไทย]] • [[:uk:|Українська]] • [[:vo:|Volapük]] </div> <div style="font-size:85%;"> Lebih dari 1.000 lema:<br /> [[:sq:|Shqip]] • [[:hy:|Հայերեն]] • [[:ast:|Asturianu]] • [[:az:|Azərbaycan]] • [[:co:|Corsu]] • [[:hr:|Hrvatski]] • [[:da:|Dansk]] • [[:eo:|Esperanto]] • [[:ka:|ქართული]] • [[:kl:|Kalaallisut]] • [[:gn:|Avañe'ẽ]] • [[:hi:|हिन्दी]] • [[:ia:|Interlingua]] • [[:ga:|Gaeilge]] • [[:csb:|Kaszëbsczi]] • [[:kk:|қазақша]] • [[:ky:|Кыргызча]] • [[:la:|Latina]] • [[:lv:|Latviešu]] • [[:ms:|Bahasa Melayu]] • [[:zh-min-nan:|Bân-lâm-gú]] • [[:ne:|नेपाली]] • [[:ang:|Englisc]] • [[:nds:|Plattdüütsch]] • [[:sk:|Slovenčina]] • [[:sl:|Slovenščina]] • [[:hsb:|Hornjoserbsce]] • [[:st:|seSotho]] • [[:sw:|Kiswahili]] • [[:tt:|Tatarça / Татарча]] • [[:tk:|تركمن ]] • [[:ur:|اردو]] • [[:cy:|Cymraeg]] </div> <div style="font-size:75%;"> Lebih dari 100 lema:<br /> [[:am:|አማርኛ]] • [[:an:|Aragonés]] • [[:roa-rup:|Armãneashce]] • [[:eu:|Euskara]] • [[:be:|Беларуская]] • [[:bn:|বাংলা]] • [[:bs:|Bosanski]] • [[:my:|မြန်မာဘာသာ]] • [[:km:|ភាសាខ្មែរ]] • [[:chr:|ᏣᎳᎩ]] • [[:kw:|Kernewek/Karnuack]] • [[:dv:|ދިވެހިބަސް]] • [[:fo:|Føroyskt]] • [[:gu:|ગુજરાતી]] • [[:ie:|Interlingue]] • [[:iu:|ᐃᓄᒃᑎᑐᑦ]] • [[:rw:|Ikinyarwanda]] • [[:mk:|Македонски]] • [[:mg:|Malagasy]] • [[:mt:|Malti]] • [[:gv:|Gaelg]] • [[:mr:|मराठी]] • [[:mn:|Монгол]] • [[:nah:|Nahuatl]] • [[:nn:|Nynorsk]] • [[:om:|Oromoo]] • [[:pa:|ਪੰਜਾਬੀ]] • [[:qu:|Runa Simi]] • [[:sg:|Sängö]] • [[:gd:|Gàidhlig]] • [[:sh:|Srpskohrvatski]] • [[:sd:|سنڌي]] • [[:si:|සිංහල]] • [[:su:|Basa Sunda]] • [[:tl:|Tagalog]] • [[:tg:|Тоҷикӣ]] • [[:ti:|ትግር]] • [[:tpi:|Tok Pisin]] • [[:ts:|Xitsonga)]] • [[:ug:|Uyghurche / ئۇيغۇرچە]] • [[:wa:|Walon)]] • [[:wo:|Wollof]] • [[:yi:|ייִדיש]] • [[:zu:|isiZulu]] </div>__NOTOC__ __NOEDITSECTION__ <!-- INTERWIKI --> [[Kategori:Utama| ]] e42jejid8kd64z2xny86bmgogai5zu7 usaha 0 90825 1350013 1280245 2026-04-15T10:33:04Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350013 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-usaha.wav}} {{-n-|id}} # kegiatan dengan mengerahkan tenaga, pikiran, atau badan untuk mencapai suatu maksud; pekerjaan (perbuatan, prakarsa, ikhtiar, daya upaya) untuk mencapai sesuatu: <br />''bermacam-macam usaha telah ditempuhnya untuk mencukupi kebutuhan hidup; usaha meningkatkan mutu pendidikan'' #* {{RQ:Permainan Rakyat Daerah Kalimantan Selatan |page=2 |text='''Usaha''' tersebut di samping penting artinya bagi pelestarian dan mengembangkan kembali sarana sosialisasi, juga sekaligus penting artinya bagi pembinaan dan pengembangan kebudayaan Nasional secara keseluruhan. |url=https://id.wikisource.org/wiki/Halaman:Permainan_rakyat_daerah_Kalimantan_Selatan.pdf/10#:~:text=Usaha%20tersebut%20di%20samping%20penting%20artinya%20bagi%20pelestarian%20dan%20mengembangkan%20kembali%20sarana%20sosialisasi%2C%20juga%20sekaligus%20penting%20artinya%20bagi%20pembinaan%20dan%20pengembangan%20kebudayaan%20Nasional%20secara%20keseluruhan. }} # kegiatan di bidang perdagangan (dengan maksud mencari untung); perdagangan; perusahaan: <br />''Usaha perkayuan mengalami kemajuan; usahanya di bidang tenun ikat berkembang pesat'' {{-etimologi-}} * dari bahasa Sanskerta "उत्साह utsāha" ['antusiasme, dorongan, kekuatan, energi, ketekunan, usaha'] {{-rujukan-}} * Russell Jones, Loan-words in Indonesian and Malay, (Jakarta: Yayasan Obor Indonesia, 2008) * Sir Monier Monier-Williams, M.A., K.C.I.E (1899) Sanskrit-English Dictionary Etymologically and Philologically Arranged with Special Reference to Cognate Indo-European Languages. Oxford: University Press * Arthur Anthony Macdonell (1929) A Practical Sanskrit Dictionary With Transliteration, Accentuation, and Etymological Analysis Throughout. London: Oxford University Press * {{R:KBBI Daring}} {{-turunan-|id}} {{-sinonim-}} {{t-atas|<!--bagian ini seharusnya diisi dengan sebagian dari definisi kata yang bersangkutan-->}} *{{gor}}: {{t+|gor|bule}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 13t012jtv8yjxpb5negug0m1f9bcg5z rempeyek 0 91363 1350006 1291258 2026-04-15T09:59:19Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350006 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-rempeyek.wav}} {{gamkan|Rempeyek kacang tanah dan ikan bilis 20230421 120821.jpg}} {{-n-|id}} # penganan (lauk) terbuat dari tepung dengan kacang (udang, dsb.), digoreng dalam bentuk pipih #* {{RQ:Mustikarasa |page=1132 |text=Adonan digoreng tipis² seperti '''rempejek''' hingga kering. |norm=Adonan digoreng tipis² seperti '''rempeyek''' hingga kering. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1140#:~:text=Adonan%20digoreng%20tipis%C2%B2%20seperti%20rempejek%20hingga%20kering. }} {{-turunan-|id}} {{-sinonim-}} {{t-atas|<!--bagian ini seharusnya diisi dengan sebagian dari definisi kata yang bersangkutan-->}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} rhywslpg8rafnd4oscf1tdvjg54kbru parut 0 92340 1349943 1343919 2026-04-15T07:41:49Z Alfiyah Rizzy Afdiquni 40651 salah kutipan 1349943 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{-n-|id}} # alat untuk mengukur kelapa, keju, wortel, dsb. dibuat dari papan, logam, dsb. berpaku kawat banyak; kukur # bekas luka pada kulit (karena tergores dsb.); barut {{-turunan-|id}} {{-sinonim-}} {{t-atas|<!--bagian ini seharusnya diisi dengan sebagian dari definisi kata yang bersangkutan-->}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|bjn}}== {{kepala|bjn}} {{-n-|bjn}} # perut #: ''parut asa kada nyaman'' #: perut terasa tidak enak {{-lafal-|bjn}} * {{suara|bjn|LL-Q33151 (bjn)-Roniyronron-parut.wav }} [[Kategori:WikiTutur - Banjar]] [[Kategori:WikiTutur Daring 24 Maret 2024]] =={{bahasa|mqg}}== {{kepala|mqg}} :{{suara|mqg|LL-Q12952778 (mqg)-Novi (Nur rahmah24)-Parut.wav}} {{-v-|mqg}} # {{label|mqg|Kutai Adat Lawas}} [[memarut]] [[Kategori:Edit-a-thon WikiKathā Maret 2026]] =={{bahasa|kvb}}== {{kepala|kvb}} :{{pemenggalan|kvb|pa|rut}} {{-v-|kvb}} # [[memarut]] [[Kategori:Edit-a-thon WikiKathā Maret 2026]] 742ozg4bup5b9w9qcgyg77h1e2y356s peristiwa 0 92946 1349983 1288628 2026-04-15T08:45:57Z Iripseudocorus 40083 rekam1 1349983 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|pe|ris|ti|wa}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-peristiwa.wav}} {{-n-|id}} # kejadian (hal, perkara, dsb.); kejadian yang luar biasa (menarik perhatian dsb.); yang benar-benar terjadi: <br />''Memperingati peristiwa penting dalam sejarah'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=14 |text=Disinilah terdjadi '''peristiwa''' jang sangat mengharukan. Anggauta-anggauta B. U. dan Sarikat Islam, menganggap korban-korban jang pertama (sedjak 1908) itu, sebagai pengorbanan mereka sendiri |norm=Disinilah terjadi '''peristiwa''' yang sangat mengharukan. Anggota-anggota B. U. dan Sarikat Islam, menganggap korban-korban yang pertama (sejak 1908) itu, sebagai pengorbanan mereka sendiri |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/13#:~:text=Disinilah%20terdjadi%20peristiwa%20jang%20sangat%20mengharukan.%20Anggauta%2Danggauta%20B.%20U.%20dan%20Sarikat%20Islam%2C%20menganggap%20korban%2Dkorban%20jang%20pertama%20(sedjak%201908)%20itu%2C%20sebagai%20pengorbanan%20mereka%20sendiri. }} # pada suatu kejadian (kerap kali dipakai untuk memulai cerita): <br />''Sekali peristiwa'' {{-turunan-|id}} {{-sinonim-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} oh8lws2nhgykbhfjk75ic0umt9z5kit politik 0 93509 1349889 1289624 2026-04-15T02:26:35Z Iripseudocorus 40083 /* Bahasa Indonesia */Perbaikan url 1349889 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{-n-|id}} # (pengetahuan) mengenai ketatanegaraan atau kenegaraan (seperti tentang sistem pemerintahan, dasar pemerintahan): <br />''Bersekolah di akademi politik'' # segala urusan dan tindakan (kebijakan, siasat, dsb.) mengenai pemerintahan negara atau terhadap negara lain: <br />''Politik dalam dan luar negeri; kedua negara itu bekerja sama dalam bidang politik, ekonomi, dan kebudayaan; partai politik; organisasi politik'' # cara bertindak (dalam menghadapi atau menangani suatu masalah); kebijaksanaan: <br />''Politik dagang; politik bahasa nasional'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=10 |text=Sesudah kita tahu, bahwa Budi-Utomo sebagai organisasi setjara modern jang pertama, sudah bertjorak '''politik''' (meskipun sifatnja ''cultureel''), lagi pula mendjadi pangkalan pertama dari pada tjalon-tjalon nasionalis-revolusioner, maka tepatlah saat berdirinja B.U. pada hari 20 Mei 1908 itu kini dianggap hari nasional. |norm=Sesudah kita tahu, bahwa Budi-Utomo sebagai organisasi secara modern yang pertama, sudah bercorak '''politik''' (meskipun sifatnya kultural), lagi pula menjadi pangkalan pertama dari pada calon-calon nasionalis-revolusioner, maka tepatlah saat berdirinya B.U. pada hari 20 Mei 1908 itu kini dianggap hari nasional. |url=https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/9#:~:text=Sesudah%20kita%20tahu,dianggap%20%E2%80%9Ehari%20nasional%E2%80%9D%2C }} #* {{RQ:Massa Actie |page= 6 |text= Tjita-tjita '''politik''' bordjoeasi jalah demokrasi dan parlementarisme |norm= Cita-cita '''politik''' borjuasi ialah demokrasi dan parlementarisme |url= https://id.wikisource.org/wiki/Halaman:Massa_actie.pdf/10#:~:text=Tjita%2Dtjita%20politik%20bordjoeasi%20jalah%20demokrasi%20dan%20parlementarisme }} {{-turunan-|id}} {{-sinonim-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 1epj507hjghnxhkn0pfq5sbd10fj2bc 1349915 1349889 2026-04-15T06:55:00Z Iripseudocorus 40083 rekam1 1349915 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|po|li|tik}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-politik.wav}} {{-n-|id}} # (pengetahuan) mengenai ketatanegaraan atau kenegaraan (seperti tentang sistem pemerintahan, dasar pemerintahan): <br />''Bersekolah di akademi politik'' # segala urusan dan tindakan (kebijakan, siasat, dsb.) mengenai pemerintahan negara atau terhadap negara lain: <br />''Politik dalam dan luar negeri; kedua negara itu bekerja sama dalam bidang politik, ekonomi, dan kebudayaan; partai politik; organisasi politik'' # cara bertindak (dalam menghadapi atau menangani suatu masalah); kebijaksanaan: <br />''Politik dagang; politik bahasa nasional'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=10 |text=Sesudah kita tahu, bahwa Budi-Utomo sebagai organisasi setjara modern jang pertama, sudah bertjorak '''politik''' (meskipun sifatnja ''cultureel''), lagi pula mendjadi pangkalan pertama dari pada tjalon-tjalon nasionalis-revolusioner, maka tepatlah saat berdirinja B.U. pada hari 20 Mei 1908 itu kini dianggap hari nasional. |norm=Sesudah kita tahu, bahwa Budi-Utomo sebagai organisasi secara modern yang pertama, sudah bercorak '''politik''' (meskipun sifatnya kultural), lagi pula menjadi pangkalan pertama dari pada calon-calon nasionalis-revolusioner, maka tepatlah saat berdirinya B.U. pada hari 20 Mei 1908 itu kini dianggap hari nasional. |url=https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/9#:~:text=Sesudah%20kita%20tahu,dianggap%20%E2%80%9Ehari%20nasional%E2%80%9D%2C }} #* {{RQ:Massa Actie |page= 6 |text= Tjita-tjita '''politik''' bordjoeasi jalah demokrasi dan parlementarisme |norm= Cita-cita '''politik''' borjuasi ialah demokrasi dan parlementarisme |url= https://id.wikisource.org/wiki/Halaman:Massa_actie.pdf/10#:~:text=Tjita%2Dtjita%20politik%20bordjoeasi%20jalah%20demokrasi%20dan%20parlementarisme }} {{-turunan-|id}} {{-sinonim-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} jdjn47c0l5fcfawqkm14b1aufe3bhao porno 0 93571 1349861 1345276 2026-04-14T13:53:34Z ~2026-22964-34 47592 1349861 wikitext text/x-wiki Takut =={{bahasa|id}}== {{kepala|id}} {{-n-|id}} {{gamkan|Erotikk-sjokk.jpg|XXX P icon.svg}} # {{cak}} {{kependekan}} [[pornografi]] {{-adj-|id}} # cabul {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 9pid3m2y2ai07t5hpthmzprh79dnnro pulang 0 94034 1349952 1348608 2026-04-15T08:00:45Z Iripseudocorus 40083 rekam1 1349952 wikitext text/x-wiki [[File:Pulang.webm|thumb|250px|start=1|end=4|Bahasa isyarat kata "Pulang" ]] =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|pu|lang}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-pulang.wav}} {{-v-|id}} # pergi ke rumah atau ke tempat asalnya; kembali (ke); balik (ke): <br />''Bila engkau pulang ke Semarang?; sudah tengah malam ia belum juga pulang'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=n.d |text=Setelah dr. Tjipto dibolehkan '''pulang''' kembali pada tahun 1914 (karena sakit), maka dibentuk organisasi baru dengan nama N.I.P. ''(Nasional Indische Partij)'', partij mana pada tahun 1922 dilarang lagi oleh pemerintah kolonial. |norm=Setelah dr. Cipto dibolehkan '''pulang''' kembali pada tahun 1914 (karena sakit), maka dibentuk organisasi baru dengan nama N.I.P. ''(Nasional Indische Partij)'', partai mana pada tahun 1922 dilarang lagi oleh pemerintah kolonial. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/14#:~:text=Setelah%20dr.%20Tjipto%20dibolehkan%20pulang%20kembali%20pada%20tahun%201914%20(karena%20sakit)%2C%20maka%20dibentuk%20organisasi%20baru%20dengan%20nama%20N.I.P.%20(Nasional%20Indische%20Partij)%2C%20partij%20mana%20pada%20tahun%201922%20dilarang%20lagi%20oleh%20pemerintah%20kolonial. }} {{-turunan-|id}} {{-sinonim-}} * [[pulang kepada istri pertama]], rujuk dengan istrinya yang pertama {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|bew}}== {{kepala|bew}} {{-v-|bew}} # pulang #: ''Abis babé nengel, emak jadi sering tilpun ampé malem ke gué punya kakak nyuruh '''pulang'''.'' #: Setelah ayah meninggal, ibu jadi sering menelepon sampai malam ke kakak saya menyuruh '''pulang'''. {{-lafal-|bew}} * {{suara|bew|LL-Q33014 (bew)-Pitchrigi-pulang.wav}} [[Kategori:WikiTutur Kopdar Jakarta 22 Juni 2024]] [[Kategori:WikiTutur - Betawi]] lk3k6s9022o8u7tvdst1t7bdghv5chp organisasi 0 94448 1349953 1279417 2026-04-15T08:03:31Z Iripseudocorus 40083 rekam1 1349953 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|or|ga|ni|sa|si}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-organisasi.wav}} {{-n-|id}} {{majemuk-indonesia|organ|isasi}} '''organisasi''' # kesatuan (susunan dsb.) yang terdiri atas bagian-bagian (orang dsb.) dalam perkumpulan dsb. untuk tujuan tertentu # kelompok kerja sama antara orang-orang yang diadakan untuk mencapai tujuan bersama #* {{RQ:20 Mei Pelopor 17 Agustus |page=n.d |text=Dalam soal usaha pendidikan jang berdasar kebudajaan bangsa jang paling terkenal ialah Taman Siswa dengan systimnja pendidikan dan '''organisasi''' jang istimewa, didirikan pada 3 Juli 1922 di Jogjakarta oleh Suwardi Suryaningrat. |norm=Dalam soal usaha pendidikan yang berdasar kebudayaan bangsa yang paling terkenal ialah Taman Siswa dengan sistemnya pendidikan dan '''organisasi''' yang istimewa, didirikan pada 3 Juli 1922 di Yogyakarta oleh Suwardi Suryaningrat. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/15#:~:text=Dalam%20soal%20usaha%20pendidikan%20jang%20berdasar%20kebudajaan%20bangsa%20jang%20paling%20terkenal%20ialah%20Taman%20Siswa%20dengan%20systimnja%20pendidikan%20dan%20organisasi%20jang%20istimewa%2C%20didirikan%20pada%203%20Juli%201922%20di%20Jogjakarta%20oleh%20Suwardi%20Suryaningrat%2C%20jang%20sedjak%208%20Mei%201928%20bernama%20Ki%20Hadjar%20Dewantoro. }} {{-turunan-|id}} {{-sinonim-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} cha68kzknhqzdfnr5ua4hfnthn3566h 1349955 1349953 2026-04-15T08:05:28Z Iripseudocorus 40083 1349955 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|or|ga|ni|sa|si}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-organisasi.wav}} {{-n-|id}} {{majemuk-indonesia|organ|isasi}} '''organisasi''' # kesatuan (susunan dsb.) yang terdiri atas bagian-bagian (orang dsb.) dalam perkumpulan dsb. untuk tujuan tertentu # kelompok kerja sama antara orang-orang yang diadakan untuk mencapai tujuan bersama #* {{RQ:20 Mei Pelopor 17 Agustus |page=16 |text=Dalam soal usaha pendidikan jang berdasar kebudajaan bangsa jang paling terkenal ialah Taman Siswa dengan systimnja pendidikan dan '''organisasi''' jang istimewa, didirikan pada 3 Juli 1922 di Jogjakarta oleh Suwardi Suryaningrat. |norm=Dalam soal usaha pendidikan yang berdasar kebudayaan bangsa yang paling terkenal ialah Taman Siswa dengan sistemnya pendidikan dan '''organisasi''' yang istimewa, didirikan pada 3 Juli 1922 di Yogyakarta oleh Suwardi Suryaningrat. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/15#:~:text=Dalam%20soal%20usaha%20pendidikan%20jang%20berdasar%20kebudajaan%20bangsa%20jang%20paling%20terkenal%20ialah%20Taman%20Siswa%20dengan%20systimnja%20pendidikan%20dan%20organisasi%20jang%20istimewa%2C%20didirikan%20pada%203%20Juli%201922%20di%20Jogjakarta%20oleh%20Suwardi%20Suryaningrat%2C%20jang%20sedjak%208%20Mei%201928%20bernama%20Ki%20Hadjar%20Dewantoro. }} {{-turunan-|id}} {{-sinonim-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 9r6by2gjnnvrdrg958m4p39gsvlqr9o nangka 0 94630 1350008 1284080 2026-04-15T10:03:49Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350008 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-nangka.wav}} {{-n-|id}} # pohon yang mencapai tinggi 10-15 m, kayunya berwarna kuning dan berkulit hitam, daunnya kaku agak bundar sebesar tapak tangan orang dewasa dan berwarna hijau tua, kulit buahnya penuh duri yang tidak tajam dan bergetah, buah yang muda untuk sayur, sedangkan yang masak dimakan sebagai buah; "[[:species:Artocarpus heterophyllus|Artocarpus heterophyllus]]" # buah nangka #* {{RQ:Mustikarasa |page=1134 |text=Adonan ini boleh djuga diberi '''nangka''' jang di-iris² ketjil². |norm=Adonan ini boleh juga diberi '''nangka''' yang diiris kecil-kecil. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1142#:~:text=Adonan%20ini%20boleh%20djuga%20diberi%20nangka%20jang%20di%2Diris%C2%B2%20ketjil%C2%B2. }} # daging buah nangka, berbiji, kalau masak berwarna kuning tua {{-turunan-|id}} {{-sinonim-}} {{t-atas}} *{{id}}: {{t+|id|nangka}} *{{gor}}: {{t+|gor|langge}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} [[Kategori:id:Buah]] =={{bahasa|xmm}}== {{kepala|xmm}} : {{suara|xmm|LL-Q9240 (ind)-Samudra Silent-nangka.wav}} {{-n-|xmm}} # nangka [[Category:WikiMaknyus Manado]] [[Category:WikiMaknyus]] qlm2xeqwhljy8ugwclmo3i9id1dh09a nasionalis 0 94672 1349947 1279413 2026-04-15T07:53:42Z Iripseudocorus 40083 rekam1 1349947 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|na|si|o|na|lis}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-nasionalis.wav}} {{-n-|id}} {{majemuk-indonesia||is|nasional}} # pencinta nusa dan bangsa sendiri # orang yang memperjuangkan kepentingan bangsanya; patriot: <br />''Ia adalah seorang pejuang nasionalis sejati'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=13 |text=Marhum Umar Said Tjokroaminoto jang berdjiwa '''nasionalis'''-islam-revolusioner, sesudah bertemu dengan Hadji Samanhudi (jang waktu itu mempunjai perserikatan dagang, jang bernama _ „Sarikat Dagang Islam”, dan mempunjai tjorak Islam dan revolusioner djuga) dapat membentuk badan baru, jaitu „sarikat Islam” |norm=Marhum Umar Said Cokroaminoto yang berjiwa '''nasionalis'''-islam-revolusioner, sesudah bertemu dengan Haji Samanhudi (yang waktu itu mempunyai perserikatan dagang, yang bernama _ „Sarikat Dagang Islam”, dan mempunjai corak Islam dan revolusioner djuga) dapat membentuk badan baru, yaitu „sarikat Islam” |url=https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/12#:~:text=Marhum%20Umar%20Said,jaitu%20%E2%80%9Esarikat%20Islam%E2%80%9D }} {{-etimologi-}} *''[[nasional]]'' + ''[[-is]]'' {{-turunan-|id}} {{-sinonim-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} sbs4s5d73q0vhxcpfeuxypxl2qct5ok mangkuk 0 95463 1349898 1331774 2026-04-15T06:35:02Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349898 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-mangkuk.wav}} {{-n-|id}} # cangkir; cawan # tempat untuk makanan yang berkuah, tidak bertelinga, cekung, bundar, bagian permukaannya lebih luas daripada bagian alasnya, terbuat dari porselen atau bahan lain; pinggan #* {{RQ:Mustikarasa |page=476 |text=Dihidangkan panas² dalam '''mangkuk''' dan dialas dengan piring tjeper ketjil, disebelah kanannja diletakkan sendok teh. |norm=Dihidangkan panas-panas dalam '''mangkuk''' dan dialas dengan piring ceper kecil, di sebelah kanannya diletakkan sendok teh. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1151#:~:text=Dihidangkan%20panas%C2%B2%20dalam%20mangkuk%20dan%20dialas%20dengan%20piring%20tjeper%20ketjil%2C%20disebelah%20kanannja%20diletakkan%20sendok%20teh. }} # {{Tek}} komponen alat gali muat untuk menggali atau wadah material hasil galian yang akan dipindahkan untuk dimuat pada alat angkut atau tempat lain {{-turunan-|id}} {{-sinonim-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|kvb}}== {{kepala|kvb}} : {{pemenggalan|kvb|mang|kuk}} {{-v-|kvb}} # [[cawan]] [[Kategori:Edit-a-thon WikiKathā Maret 2026]] bx3309q6dnmoilicf2boihok50hpl7m gelisah 0 97102 1349975 1325634 2026-04-15T08:36:46Z Iripseudocorus 40083 rekam1 1349975 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ge|li|sah}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-gelisah.wav}} {{-a-|id}} # tidak tenteram, selalu merasa khawatir (tentang suasana hati); tidak tenang (tentang tidur); tidak sabar lagi dalam menanti dsb.; cemas: ''Semua penduduk gelisah mendengar desas-desus bahwa rumah mereka akan digusur'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=13 |text=Pemerintah kolonial sangat '''gelisah'''.Disamping penjelundupan atau „infiltrasi” biasa, pemerintah kolonial mengirimkan dr. A. Rinkes-nja (pembantu adviseur voor inlandsche zaken) kedalam lingkungan S.I. (Sarikat Islam). |norm=Pemerintah kolonial sangat '''gelisah'''. Di samping penyelundupan atau „infiltrasi” biasa, pemerintah kolonial mengirimkan dr. A. Rinkes-nja (pembantu adviseur voor inlandsche zaken) ke dalam lingkungan S.I. (Sarikat Islam). |url=https://id.wikisource.org/wiki/20_Mei_Pelopor_17_Agustus#:~:text=Pemerintah%20kolonial%20sangat%20gelisah.%20Disamping%20penjelundupan%20atau%20%E2%80%9Einfiltrasi%E2%80%9D%20biasa%2C%20pemerintah%20kolonial%20mengirimkan%20dr.%20A.%20Rinkes%2Dnja%20(pembantu%20adviseur%20voor%20inlandsche%20zaken)%20kedalam%20lingkungan%20S.I.%20(Sarikat%20Islam)}} {{-turunan-|id}} {{-sinonim-}} * [[susah hati]] {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|mg}}== {{kepala|mg}} {{-n-|mg}} # [[pisau]] 40fiic1c49240c36ooetzvgvo9un90z lokasi 0 101314 1350010 1280261 2026-04-15T10:25:25Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350010 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-lokasi.wav}} {{-n-|id}} {{majemuk-indonesia||si}} # letak: <br />''Lokasi kantor itu'' # tempat: <br />''Pembangunan kampus sedapat mungkin diarahkan kepada pemusatan semua sarana di satu lokasi'' #* {{RQ:Permainan Rakyat Daerah Kalimantan Selatan |page=3 |text=Penjajagan pendahuluan ke '''lokasi''' penelitian dan inventarisasi nama - nama informan |norm=Penjagaan pendahuluan ke lokasi penelitian dan inventarisasi nama - nama informan |url=https://id.wikisource.org/wiki/Halaman:Permainan_rakyat_daerah_Kalimantan_Selatan.pdf/11#:~:text=Penjajagan%20pendahuluan%20ke%20lokasi%20penelitian%20dan%20inventarisasi%20nama%20%2D%20nama%20informan }} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} kvpsa5ala18eehmv2slnsmsiazjrqf2 kelak 0 102350 1349979 1279792 2026-04-15T08:40:06Z Iripseudocorus 40083 rekam1 1349979 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ke|lak}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-kelak.wav}} {{-n-|id}} # yang akan datang; kemudian hari: <br />''Diharapkan agar anak ini kelak menjadi orang yang berguna bagi nusa dan bangsa'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=n.d |text='''Kelak''' S.I. hanja dibolehkan berdiri setempat-setempat (lokal), jang tidak boleh saling berhubungan setjara ''organisatories''. |norm='''Kelak''' S.I. hanya dibolehkan berdiri setempat-setempat (lokal), yang tidak boleh saling berhubungan secara ''organisatories''. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/12#:~:text=Kelak%20S.I.%20hanja%20dibolehkan%20berdiri%20setempat%2Dsetempat%20(lokal)%2C%20jang%20tidak%20boleh%20saling%20berhubungan%20setjara%20%E2%80%9Eorganisatories%E2%80%9D.}} # jenis tekukur; ''[[:species:Macrophygia assimilis|Macrophygia assimilis]]'' {{-n-|id}} # {{lihat|kelah}} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} [[Kategori:id:Burung]] =={{bahasa|bke}}== {{kepala|bke}} {{-n-|bke}} # waktu yang tidak lama dari sekarang; nanti {{-adv-|bke}} # akan =={{bahasa|min}}== {{kepala|min}} {{-adj-|min}} # {{tapan}} [[nanti]] #: ''kelak aban bling sapatung?'' #:: nanti kamu beli sepatu? cg5p7ghhj70yv2ok9q8yuysueredybj kolonial 0 103621 1349987 1279810 2026-04-15T08:50:53Z Iripseudocorus 40083 rekam1 1349987 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ko|lo|ni|al}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-kolonial.wav}} {{-a-|id}} {{majemuk-indonesia|koloni|al}} # berhubungan dengan sifat jajahan: <br>''Pemerintah kolonial mendirikan benteng dan menguasai jalur pelayaran di kepulauan itu'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=n.d |text=Jang mendjadi sebab pemerintah '''kolonial''' menggunakan ''exorbitant-recht''-nja ialah karena Suwardi Suryaningrat menulis brosurnja ''Als ik Nederlander was!'' untuk memprotes akan diadakannja perajaan kemerdekaan ''Nederland'' 100 tahun. |norm=Yang menjadi sebab pemerintah '''kolonial''' menggunakan ''exorbitant-recht''-nja ialah karena Suwardi Suryaningrat menulis brosurnya ''Als ik Nederlander was!'' untuk memprotes akan diadakannya perayaan kemerdekaan ''Nederland'' 100 tahun. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/13#:~:text=Jang%20mendjadi%20sebab%20pemerintah%20kolonial%20menggunakan%20%E2%80%9Eexorbitant%2Drecht%E2%80%9D%2Dnja%20ialah%20karena%20Suwardi%20Suryaningrat%20menulis%20brosurnja%20%E2%80%9EAls%20ik%20Nederlander%20was!%E2%80%9D%20untuk%20memprotes%20akan%20diadakannja%20perajaan%20kemerdekaan%20Nederland%20100%20tahun}} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} sxog328068xa1bff3d554t82dtedokb 1349988 1349987 2026-04-15T08:51:36Z Iripseudocorus 40083 1349988 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ko|lo|ni|al}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-kolonial.wav}} {{-a-|id}} {{majemuk-indonesia|koloni|al}} # berhubungan dengan sifat jajahan: <br>''Pemerintah kolonial mendirikan benteng dan menguasai jalur pelayaran di kepulauan itu'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=14 |text=Jang mendjadi sebab pemerintah '''kolonial''' menggunakan ''exorbitant-recht''-nja ialah karena Suwardi Suryaningrat menulis brosurnja ''Als ik Nederlander was!'' untuk memprotes akan diadakannja perajaan kemerdekaan ''Nederland'' 100 tahun. |norm=Yang menjadi sebab pemerintah '''kolonial''' menggunakan ''exorbitant-recht''-nja ialah karena Suwardi Suryaningrat menulis brosurnya ''Als ik Nederlander was!'' untuk memprotes akan diadakannya perayaan kemerdekaan ''Nederland'' 100 tahun. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/13#:~:text=Jang%20mendjadi%20sebab%20pemerintah%20kolonial%20menggunakan%20%E2%80%9Eexorbitant%2Drecht%E2%80%9D%2Dnja%20ialah%20karena%20Suwardi%20Suryaningrat%20menulis%20brosurnja%20%E2%80%9EAls%20ik%20Nederlander%20was!%E2%80%9D%20untuk%20memprotes%20akan%20diadakannja%20perajaan%20kemerdekaan%20Nederland%20100%20tahun}} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} q0x5bshiceon0axowlij0e3kbc50zah kongres 0 103801 1349890 1279288 2026-04-15T02:31:37Z Iripseudocorus 40083 /* Bahasa Indonesia */Perbaikan url 1349890 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{-n-|id}} # [[pertemuan]] [[resmi]] para [[wakil]] ([[perkumpulan]], [[negara]], dan lain sebagainya) untuk [[membahas]] berbagai [[masalah]] dan mengambil [[keputusan]] #: {{syn|id|rapat besar|muktamar}} #* {{RQ:20 Mei Pelopor 17 Agustus |page=8 |text='''Kongres''' para pemimpin, jang diadakan di Jogjakarta pada bulan-liburan Puasa tahun 1908, jang waktu itu disebut ''Eerste Jong-Javanen-congres'', sangat menarik perhatian umum |norm='''Kongres''' para pemimpin, yang diadakan di Yogyakarta pada bulan-liburan Puasa tahun 1908, yang waktu itu disebut ''Eerste Jong-Javanen-congres'', sangat menarik perhatian umum. |url= https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/7#:~:text=Kongres%20para%20pemimpin%2C%20jang%20diadakan%20di%20Jogjakarta%20pada%20bulan%2Dliburan%20Puasa%20tahun%201908%2C%20jang%20waktu%20itu%20disebut%20%E2%80%9EEerste%20Jong%2DJavanen%2Dcongres%E2%80%9D%2C%20sangat%20menarik%20perhatian%20umum }} # {{label|id|politik}} [[dewan]] [[legislatif]] [[Amerika Serikat]] yang terdiri dari dua [[kamar]] [[parlemen]], yakni [[senat]] dan [[dewan perwakilan rakyat]] mnlw84duha2odj84tdd4mr8ccfzrijo 1349916 1349890 2026-04-15T06:55:46Z Iripseudocorus 40083 rekam1 1349916 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|kong|res}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-kongres.wav}} {{-n-|id}} # [[pertemuan]] [[resmi]] para [[wakil]] ([[perkumpulan]], [[negara]], dan lain sebagainya) untuk [[membahas]] berbagai [[masalah]] dan mengambil [[keputusan]] #: {{syn|id|rapat besar|muktamar}} #* {{RQ:20 Mei Pelopor 17 Agustus |page=8 |text='''Kongres''' para pemimpin, jang diadakan di Jogjakarta pada bulan-liburan Puasa tahun 1908, jang waktu itu disebut ''Eerste Jong-Javanen-congres'', sangat menarik perhatian umum |norm='''Kongres''' para pemimpin, yang diadakan di Yogyakarta pada bulan-liburan Puasa tahun 1908, yang waktu itu disebut ''Eerste Jong-Javanen-congres'', sangat menarik perhatian umum. |url= https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/7#:~:text=Kongres%20para%20pemimpin%2C%20jang%20diadakan%20di%20Jogjakarta%20pada%20bulan%2Dliburan%20Puasa%20tahun%201908%2C%20jang%20waktu%20itu%20disebut%20%E2%80%9EEerste%20Jong%2DJavanen%2Dcongres%E2%80%9D%2C%20sangat%20menarik%20perhatian%20umum }} # {{label|id|politik}} [[dewan]] [[legislatif]] [[Amerika Serikat]] yang terdiri dari dua [[kamar]] [[parlemen]], yakni [[senat]] dan [[dewan perwakilan rakyat]] ae1i8iync74guos7xqhcbabjbqtm70n kukus 0 104358 1349949 1279759 2026-04-15T07:56:38Z Alfiyah Rizzy Afdiquni 40651 salah kutipan 1349949 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{-n-|id}} # uap (asap air panas) di sekitar dan di atas titik didih air; air dalam bentuk uap {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} gcbqgt3jrh2y6q7966meu3xo5flkmo6 kungkang 0 104428 1349959 1330699 2026-04-15T08:07:57Z DelintBot 47600 Removing [[mw:Help:Lint errors/bogus-image-options|bogus image options]] 1349959 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|kung|kang}} {{AFI|id|/ˈkuŋ.kaŋ/}} [[File:Slow Loris 2006.jpg|Slow_Loris_2006|thumb|250px]] {{-n-|id}} # primata berukuran sedang, tidak berekor, berwarna abu-abu keputihan dan kuning kecokelatan, matanya bulat dan besar, aktif di malam hari; {{Species|Nycticebus}} <span style="color:green">''spp''.</span> {{-etimologi-}} * Dari [[Jawa Kuno]] '''''kukaṅ''''' 'kungkang, Tarsius']<ref>Zoetmulder, P.J. Robson, S.O. 2006 ''Kamus Jawa Kuna-Indonesia. (Darusuprapta dan Sumarti Suprayitna, Penerjemah)''. Jakarta: Gramedia Pustaka Utama</ref> {{-rujukan-}} <references/> {{-n-|id}} # katak besar {{-etimologi-}} * dari [[Jawa Kuno]] '''''kuṅkaṅ''''' 'jenis kodok besar yang khas'<ref>Zoetmulder, P.J. Robson, S.O. 2006 ''Kamus Jawa Kuna-Indonesia. (Darusuprapta dan Sumarti Suprayitna, Penerjemah)''. Jakarta: Gramedia Pustaka Utama</ref> {{-rujukan-}} <references/> {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} =={{bahasa|jv}}== {{kepala|jv}} {{-n-|jv}} # kukang (kungkang) # kungkang (katak besar) qdoo73xdvmf89qes65er09zabqxh143 jurnalistik 0 105157 1349972 1285857 2026-04-15T08:21:36Z Iripseudocorus 40083 rekam1 1349972 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|jur|na|lis|tik}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-jurnalistik.wav}} {{-n-|id}} # yang menyangkut kewartawanan dan persuratkabaran: <br />''Hal itu melanggar kode etik jurnalistik'' #* {{RQ:20 Mei Pelopor 17 Agustus |page= |text= Jaitu marhum R. M. Djokomono, kemudian bernama Tirtoadisurjo, bekas murid S.t.o.v.i.a, jang waktu itu bekerdja sebagai redacteur harian „Bintang Betawi” (jang kemudian bernama „Berita Betawi”), lalu memimpin redaksi „Medan Prijaji” dan „Suluh Pengadilan”. Beliau boleh disebut „pelopor” dalam lapangan '''journalistik'''. |norm=Yaitu marhum R. M. Djokomono, kemudian bernama Tirtoadisurjo, bekas murid S.t.o.v.i.a, yang waktu itu bekerja sebagai redaktur harian „Bintang Betawi” (yang kemudian bernama „Berita Betawi”), lalu memimpin redaksi „Medan Priyaji” dan „Suluh Pengadilan”. Beliau boleh disebut „pelopor” dalam lapangan '''jurnalistik'''. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/18#:~:text=Jaitu%20marhum%20R,dalam%20lapangan%20journalistik. }} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 7lrs18m0e664h50jqg9e9qflxktlb47 informasi 0 105511 1350016 1280242 2026-04-15T10:37:21Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350016 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-informasi.wav}} {{-n-|id}} # [[pengetahuan|Pengetahuan]] tentang sesuatu; [[data]] yang telah [[diolah]] sehingga memberikan [[makna]]: #: ''Ada dua '''informasi''' penting yang didapat dalam pertemuan ini.'' #: ''Dengan adanya '''informasi''' mengenai keadaan pasar, kami bisa menyusun strategi pemasaran yang efektif.'' #* {{RQ:Permainan Rakyat Daerah Kalimantan Selatan |page=2 |text=Usaha pewarisan yang dapat ditempuh melalui pewarisan secara langsung atau pun dengan jalan usaha penyediaan data '''informasi''' bagi generasi berikutnya. |url=https://id.wikisource.org/wiki/Halaman:Permainan_rakyat_daerah_Kalimantan_Selatan.pdf/10#:~:text=Usaha%20pewarisan%20yang%20dapat%20ditempuh%20melalui%20pewarisan%20secara%20langsung%20atau%20pun%20dengan%20jalan%20usaha%20penyediaan%20data%20informasi%20bagi%20generasi%20berikutnya. }} # [[penerangan|Penerangan]]; [[keterangan]]; [[penjelasan]] ([[petunjuk]] dsb.): #: ''Untuk '''informasi''' lebih lanjut, silakan hubungi nomor telepon [[humas]] kami.'' # [[pemberitahuan|Pemberitahuan]]; [[kabar]] atau [[berita]] tentang sesuatu: #: ''Kami belum mendapat '''informasi''' apa pun mengenai kejadian tersebut.'' # {{Ling}} Keseluruhan [[makna]] yang [[menunjang]] [[amanat]] yang terlihat dalam [[bagian-bagian]] amanat itu. {{-etimologi-}} * Dari {{en}} [[information]] {{-turunan-|id}} {{-terjemahan-}} {{t-atas|pengetahuan}} * {{nl}}: {{t+|nl|informatie|f}} * {{en}}: {{t+|en|information}} * {{ja}}: {{t+|ja|情報|tr=じょうほう, jōhō}} * {{ko}}: {{t+|ko|정보}} ({{t+|ko|情報|sc=Hani}}) * {{ms}}: {{t+|ms|maklumat}} * {{fr}}:: {{t+|fr|informations|f-p}}, {{t|fr|renseignement|m}} * {{vi}}: {{t+|vi|thông tin}}, {{t|vi|tin báo}} {{t-bawah}} {{t-atas|penerangan}} * {{nl}}: {{t+|nl|informatie|f}} * {{en}}: {{t+|en|information}} * {{ja}}: {{t+|ja|案内|tr=あんない, an'nai}} * {{ko}}: {{t+|ko|안내}} ({{t+|ko|案內|sc=Hani}}) * {{ms}}: {{t|ms|maklumat}}, {{t|ms|penerangan}} * {{fr}}: {{t+|fr|informations|f-p}} {{t-bawah}} {{t-atas|kabar}} * {{nl}}: {{t+|nl|informatie}} * {{en}}: {{t+|en|information}} * {{ms}}: {{t|ms|maklumat}} * {{fr}}: {{t+|fr|renseignement|m}}, {{t+|fr|information|f}} {{t-bawah}} {{t-atas|keseluruhan makna amanat}} * {{en}}: {{t|en|information}} * {{fr}}: {{t|fr|information|f}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} ffljp0m3jaj7d5ckn85jd4mfwrtpbn3 halaman 0 105978 1349836 1334854 2026-04-14T12:48:22Z Deepturquoise 26142 1349836 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{-n-|id}} # pekarangan rumah (sekolah dsb.); tanah di sekitar rumah (sekolah dsb.): <br />''Halaman rumahnya ditanami cemara'' #* {{RQ:Perahu Tulis |page= 174 |text= Sekian lama ku menjalani aktivitasku di bangunan yang memiliki '''halaman''' yang sejuk. |url= https://id.wikisource.org/wiki/Halaman:Antologi_Cerpen_Remaja_Sumatera_Barat_Perahu_Tulis.pdf/186#:~:text=Sekian%20lama%20ku%20menjalani%20aktivitasku%20di%20bangunan%20yang%20memiliki%20halaman%20yang%20sejuk. }} # muka dari lembaran buku (majalah, surat kabar, dsb.); [[pagina]]: <br />''Lihat gambar pada halaman 127'' # {{Komp}} [[laman]], [[halaman web]] {{-turunan-|id}} {{-terjemahan-}} {{t-atas|pekarangan}} *{{bjn}}: {{t+|bjn|tungkaran}} *{{en}}: [[yard]] {{t-bawah}} {{t-atas|lembaran}} *{{en}}: [[page]] {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} [[Kategori:id:Kata berimbuhan palsu]] lzoljcb4aw70lk1o9o0upk90982j1hw ulang tahun 0 106302 1349933 1297628 2026-04-15T07:15:58Z Iripseudocorus 40083 rekam1 1349933 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|u|lang|ta|hun}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-ulang tahun.wav}} {{-n-|id}} # hari lahir: ''ia sedang memperingati ulang tahun anaknya; pesta ulang tahun;'' # hari ketika suatu peristiwa penting terjadi: ''upacara ulang tahun Kemerdekaan Republik Indonesia dilaksanakan di seluruh pelosok tanah air''; #* {{RQ:20 Mei Pelopor 17 Agustus |page=n.d |text=Malah pada tahun 1918, '''ulang tahun''' B.U. jang ke-10, oleh ''studenten'' kita jang ada di ''Nederland'' dirajakan sebagai hari nasional djuga. |norm=Malah pada tahun 1918, '''ulang tahun''' B.U. yang ke-10, oleh ''studenten'' kita yang ada di ''Nederland'' dirayakan sebagai hari nasional juga. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/9#:~:text=Malah%20pada%20tahun%201918%2C%20ulang%2Dtahun%20B.U.%20jang%20ke%2D10%2C%20oleh%20studenten%20kita%20jang%20ada%20di%20Nederland%20dirajakan%20sebagai%20%E2%80%9Ehari%20nasional%E2%80%9D%20djuga. }} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} mr1tztgs69kry1c454e4tkxwrn9e0f5 orang tua 0 106348 1350014 1280244 2026-04-15T10:35:18Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350014 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-orang tua.wav}} {{-n-|id}} # [[ayah]] dan [[ibu]] # [[orang]] yang sudah [[tua]] # orang yang dianggap tua, orang yang [[dihormati]], [[tetua]] #* {{RQ:Permainan Rakyat Daerah Kalimantan Selatan |page=2 |text=Salah satu sumber data yang dapat diperoleh adalah dari informasi orang '''orang tua''' yang dulu pernah ikut atau banyak tahu tentang permainan tersebut. |url=https://id.wikisource.org/wiki/Halaman:Permainan_rakyat_daerah_Kalimantan_Selatan.pdf/10#:~:text=Salah%20satu%20sumber%20data%20yang%20dapat%20diperoleh%20adalah%20dari%20informasi%20orang%20orang%20tua%20yang%20dulu%20pernah%20ikut%20atau%20banyak%20tahu%20tentang%20permainan%20tersebut. }} 2ox16mzix7ievivde0bdi2tcvyk8mny getuk 0 107435 1349982 1279725 2026-04-15T08:45:46Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349982 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-getuk.wav}} {{-n-|id}} # penganan dibuat dari ubi dsb. yang direbus, kemudian dicampur gula dan kelapa (ditumbuk bersama) #* {{RQ:Mustikarasa |page=1128 |text='''Getuk''' dikepali londjong, didalamnja diisi gula pasir ± ½ sendok makan atau irisan bentuk persegi jang didalamnja diberi gula pasir. |norm='''Getuk''' dikepali lonjong, di dalamnya diisi gula pasir ± ½ sendok makan atau irisan bentuk persegi yang di dalamnja diberi gula pasir. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1136#:~:text=Getuk%20dikepali%20londjong%2C%20didalamnja%20diisi%20gula%20pasir%20%C2%B1%20%C2%BD%20sendok%20makan%20atau%20irisan%20bentuk%20persegi%20jang%20didalamnja%20diberi%20gula%20pasir. }} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} tnyp2zquzw0zsf2axpw2p633fc188dn fajar 0 107860 1349919 1279238 2026-04-15T06:59:41Z Iripseudocorus 40083 rekam1 1349919 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|fa|jar}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-fajar.wav}} {{-n-|id}} # cahaya kemerah-merahan di langit sebelah timur pada menjelang matahari terbit #* {{RQ:20 Mei Pelopor 17 Agustus |page=9 |text= Manakah akan lebih terang, bila tiada didahului oleh gelap-gulita. Hari '''fadjar''' lahir daripada hari malam. |norm= Manakah akan lebih terang, bila tiada didahului oleh gelap-gulita. Hari '''fajar''' lahir daripada hari malam. |url=https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/8#:~:text=Manakah%20akan%20lebih%20terang%2C%20bila%20tiada%20didahului%20oleh%20gelap%2Dgulita.%20Hari%20fadjar%20lahir%20daripada%20hari%20malam.}} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|lbx}}== {{kepala|lbx}} {{-lafal-}} *{{suara| lbx |LL-Q3120345 (lbx)-Mardiansyah (Hair alex)-rapaiwala’.wav | rapaiwala'}} {{-n-|lbx}} #: {{label|lbx|Balik}} [[fajar]] f536g1eqe598mrwguj6wkahvq8o4faj folio 0 108165 1349820 1243603 2026-04-14T12:34:02Z Swarabakti 18192 1349820 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{-n-|id}} # ukuran kertas lebih kurang 21,5 x 32,5 cm # ukuran selembar plano berukuran baku yang dilipat satu kali, ditulis dengan tanda 2o # ukuran kertas A-4 menurut ukuran satuan sistem A # {{label|id|perhotelan}} catatan akun tamu yang berisi tagihan selama menggunakan produk, fasilitas, dan layanan hotel {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} hgftg8caaxaog9xkamvs5t629qttug4 cendol 0 110719 1349939 1284920 2026-04-15T07:25:02Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349939 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-cendol.wav}} {{-etimologi-}} Dari {{der|id|jv|{{l|jv|cendhol}}/{{l|jv|ceṇḍol}}|tr={{l|jv|ꦕꦺꦤ꧀ꦝꦺꦴꦭ꧀|tr=-}}|t=butiran adonan untuk minuman; jenis minuman berisi butiran tepung {{q|biasanya berwarna hijau}}}}, dari {{der|id|kaw|caṇḍal|t=tetas}}. {{-n-|id}} # penganan yang dibuat dari tepung beras dsb. yang dibentuk dengan penyaring, kemudian dicampur dengan air gula dan santan (untuk minuman) #* {{RQ:Mustikarasa |page=1153 |text='''Tjendol''' ditampung dengan pantji jang berisi air dingin, santan diberi garam. |norm='''Cendol''' ditampung dengan panci yang berisi air dingin, santan diberi garam. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1161#:~:text=Tjendol%20ditampung%20dengan%20pantji%20jang%20berisi%20air%20dingin%2C%20santan%20diberi%20garam. }} {{-rujukan-}} * Van Der Tuuk, H.N. 1877. Maleisch-Nederlandsch woordenboek. Landsdrukkerij, the University of Michigan. * De Nooy. 1893. Javaansche Woordenlijst: Bevattende woorden in Midden-Java in gebruik vergeleken met het Javaansch in de residentie Soerakarta, s-Gravenhage. Martinus Nijhoff. https://www.sastra.org/leksikon * {{R:KBBI Daring}} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|kkv}}== {{kepala|kkv}} {{-etimologi-}} Dari {{der|kkv|jv|{{l|jv|cendhol}}/{{l|jv|ceṇḍol}}|tr={{l|jv|ꦕꦺꦤ꧀ꦝꦺꦴꦭ꧀|tr=-}}|t=butiran adonan untuk minuman; jenis minuman berisi butiran tepung {{q|biasanya berwarna hijau}}}}, dari {{der|kkv|kaw|caṇḍal|t=tetas}}. {{-lafal-|lang=kkv}} * {{pemenggalan|cen|dol|lang=kkv}} {{-n-|kkv|lang=kkv}} {{ejaan|lang=kkv}} # penganan dibuat dari tepung beras dan sebagainya yang dibentuk dengan penyaring, kemudian dicampur dengan air gula dan santan (untuk minuman); {{l|id|cendol}}: #::''es '''cendol'''na katon seger, yi’!'' #::es '''cendol'''nya terlihat segar, ya! osu45ig2my8fe8am5n55pw8qayae7gr corak 0 110985 1349950 1279414 2026-04-15T07:58:14Z Iripseudocorus 40083 rekam1 1349950 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{-n-|id}} # bunga atau gambar (ada yang berwarna-warna) pada kain (tenunan, anyaman, dsb.): <br />''Corak kain sarung ini kurang bagus; besar-besar corak kain batik itu'' # berjenis-jenis warna pada warna dasar (tentang kain, bendera, dsb.): <br />''Dasarnya putih, coraknya merah'' # {{kiasan}} sifat (paham, macam, bentuk) tertentu: <br />''Perkumpulan itu tidak tentu coraknya; corak politiknya tidak tegas'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=13 |text=Marhum Umar Said Tjokroaminoto jang berdjiwa nasionalis-islam-revolusioner, sesudah bertemu dengan Hadji Samanhudi (jang waktu itu mempunjai perserikatan dagang, jang bernama _ „Sarikat Dagang Islam”, dan mempunjai '''tjorak''' Islam dan revolusioner djuga) dapat membentuk badan baru, jaitu „sarikat Islam” |norm=Marhum Umar Said Cokroaminoto yang berjiwa nasionalis-islam-revolusioner, sesudah bertemu dengan Haji Samanhudi (yang waktu itu mempunyai perserikatan dagang, yang bernama _ „Sarikat Dagang Islam”, dan mempunjai '''corak''' Islam dan revolusioner djuga) dapat membentuk badan baru, yaitu „sarikat Islam” |url=https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/12#:~:text=Marhum%20Umar%20Said,jaitu%20%E2%80%9Esarikat%20Islam%E2%80%9D }} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} hwpf4n40c2mfytrqjhyfpit4lhf36d3 1349951 1349950 2026-04-15T07:58:32Z Iripseudocorus 40083 1349951 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|co|rak}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-corak.wav}} {{-n-|id}} # bunga atau gambar (ada yang berwarna-warna) pada kain (tenunan, anyaman, dsb.): <br />''Corak kain sarung ini kurang bagus; besar-besar corak kain batik itu'' # berjenis-jenis warna pada warna dasar (tentang kain, bendera, dsb.): <br />''Dasarnya putih, coraknya merah'' # {{kiasan}} sifat (paham, macam, bentuk) tertentu: <br />''Perkumpulan itu tidak tentu coraknya; corak politiknya tidak tegas'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=13 |text=Marhum Umar Said Tjokroaminoto jang berdjiwa nasionalis-islam-revolusioner, sesudah bertemu dengan Hadji Samanhudi (jang waktu itu mempunjai perserikatan dagang, jang bernama _ „Sarikat Dagang Islam”, dan mempunjai '''tjorak''' Islam dan revolusioner djuga) dapat membentuk badan baru, jaitu „sarikat Islam” |norm=Marhum Umar Said Cokroaminoto yang berjiwa nasionalis-islam-revolusioner, sesudah bertemu dengan Haji Samanhudi (yang waktu itu mempunyai perserikatan dagang, yang bernama _ „Sarikat Dagang Islam”, dan mempunjai '''corak''' Islam dan revolusioner djuga) dapat membentuk badan baru, yaitu „sarikat Islam” |url=https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/12#:~:text=Marhum%20Umar%20Said,jaitu%20%E2%80%9Esarikat%20Islam%E2%80%9D }} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} rw5pv015zqnayf3xr6a7qfnwbxz959n bangun 0 111327 1349965 1333731 2026-04-15T08:13:46Z Iripseudocorus 40083 rekam1 1349965 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ba|ngun}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-bangun.wav}} {{-v-|id}} # bangkit; berdiri (dari duduk, tidur, dsb.): <br />''Anak itu berkali-kali terjatuh, namun ia selalu dapat bangun kembali'' # jaga (dari tidur): <br />''Setiap pagi ia bangun pukul 04.00'' # belum (tidak) tidur; jaga: <br />''Sewaktu suaminya pulang larut malam, ia masih bangun'' # siuman dari pingsan; mendusin: <br />''Ia bangun setelah kepalanya diguyur air; kalau tidak mendengar ledakan itu, saya tidak bangun'' # mulai sadar (insaf) akan nasibnya: <br />''Bangsa terjajah mulai bangun menuntut kemerdekaannya; kaum buruh mulai bangun menuntut perbaikan nasib'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=12 |text=Sesudah B.U. lahir, maka rakjat nampak mulai '''bangun''' dan sedar. |norm=Sesudah B.U. lahir, maka rakyat nampak mulai '''bangun''' dan sadar. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/11#:~:text=Sesudah%20B.U.%20lahir%2C%20maka%20rakjat%20nampak%20mulai%20bangun%20dan%20sedar. }} # mulai memuai (tentang adonan): <br />''Dengan ditutup rapat-rapat adonan itu akan cepat bangun'' # mulai menjadi cair (tentang minyak kelapa yang beku): <br />''Hangatkan minyak kelapa itu supaya lekas bangun'' {{-n-|id}} # bentuk (bulat, segi empat, dsb.): <br />''Kaca meja itu bulat telur bangunnya'' # cara menyusun atau susunan yang merupakan suatu wujud; struktur: <br />''Menyelidiki bangun tanah'' {{-n-|id}} # {{klasik}} uang ganti rugi karena membunuh, melukai, dsb.; denda # denda berupa uang duka yang harus diberikan oleh seorang laki-laki kepada wanita bersuami yang telah melakukan hubungan seksual dengannya dan hubungan itu mengakibatkan kematian suami wanita itu ataupun mengakibatkan perceraian (di Palembang) {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|jax}}== {{kepala|jax}} {{-lafal-}} *{{suara|jax|LL-Q3915769 (jax)-Hihida Abdillah 1997-bangun.wav|q=''Jambi Seberang''}} {{-v-|jax}} # ("Jambi Seberang") bangun: #: ''bangun, la siang..'' #:: bangun, sudah siang.. =={{bahasa|kvb}}== {{kepala|kvb}} : {{pemenggalan|kvb|ba|ngun}} {{-v-|kvb}} # [[denda]] yang harus dibayar 500 kain panjang [[Kategori:Edit-a-thon WikiKathā Maret 2026]] 4785r31ej32lukq33oef3tp8lo0fc1c benih 0 111803 1349994 1279825 2026-04-15T09:02:12Z Iripseudocorus 40083 rekam1 1349994 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|be|nih}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-benih.wav}} {{-n-|id}} # biji atau buah yang disediakan untuk ditanam atau disemaikan: <br />''Yang akan dijadikan benih haruslah buah yang baik dan cukup tua'' # bibit atau semaian yang akan ditanam: <br />''Benih cengkih itu sebaiknya dipindahkan setelah setengah meter tingginya'' # sperma untuk bibit pengembangbiakan ternak dsb.: <br />''Benih sapi pejantan unggul dapat disimpan lama di tempat yang bersuhu dingin; benih penyakit cacar'' # sesuatu yang menjadi sebab; asal mula: <br />''Ucapan yang kasar dapat menjadi benih perkelahian'' # keturunan; turunan; asal # sesuatu yang akan tumbuh atau akan menjadi: <br />''Benih penyakit cacar'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=16-17 |text=Pada periode itu djuga mulai tersebarnja '''benih-benih''' socialisme dengan aksinja jang hebat dan berpusat di Semarang. |norm=Pada periode itu juga mulai tersebarnya '''benih-benih''' sosialisme dengan aksinya yang hebat dan berpusat di Semarang. |url=https://id.wikisource.org/wiki/20_Mei_Pelopor_17_Agustus#:~:text=Pada%20periode%20itu%20djuga%20mulai%20tersebarnja%20benih%2Dbenih%20socialisme%20dengan%20aksinja%20jang%20hebat%20dan%20berpusat%20di%20Semarang. }} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} k37q3xrhq1ahvlv753dhhvc3fo024du 1349997 1349994 2026-04-15T09:06:18Z Iripseudocorus 40083 rekam1 1349997 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|be|nih}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-benih.wav}} {{-n-|id}} # biji atau buah yang disediakan untuk ditanam atau disemaikan: <br />''Yang akan dijadikan benih haruslah buah yang baik dan cukup tua'' # bibit atau semaian yang akan ditanam: <br />''Benih cengkih itu sebaiknya dipindahkan setelah setengah meter tingginya'' # sperma untuk bibit pengembangbiakan ternak dsb.: <br />''Benih sapi pejantan unggul dapat disimpan lama di tempat yang bersuhu dingin; benih penyakit cacar'' # sesuatu yang menjadi sebab; asal mula: <br />''Ucapan yang kasar dapat menjadi benih perkelahian'' # keturunan; turunan; asal # sesuatu yang akan tumbuh atau akan menjadi: <br />''Benih penyakit cacar'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=17 |text=Pada periode itu djuga mulai tersebarnja '''benih-benih''' socialisme dengan aksinja jang hebat dan berpusat di Semarang. |norm=Pada periode itu juga mulai tersebarnya '''benih-benih''' sosialisme dengan aksinya yang hebat dan berpusat di Semarang. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/16#:~:text=Pada%20periode%20itu%20djuga%20mulai%20tersebarnja%20benih%2Dbenih%20socialisme%20dengan%20aksinja%20jang%20hebat%20dan%20berpusat%20di%20Semarang. }} {{-turunan-|id}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} s8ry0c6vuvl8cmxsnena5ypfsxv69uz gedang 0 114510 1349811 1277723 2026-04-14T12:31:25Z Anggabuana 27723 [[:wikt:id:Pengguna:Swarabakti/Gadget-EntryAdder.js|+entri]] [ban] 1349811 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} '''gedang''' # {{ragam dari|id|gadang}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} =={{bahasa|ban}}== {{kepala|ban}} {{-n-|ban}} # pepaya =={{bahasa|bew}}== {{kepala|bew}} {{-n-|bew}} # [[pepaya]] #: ''Gua ngidam pisan ama '''gedang''' dah enni wayah, lantaran gua bèrak macet kebebelan.'' #: Saya sangat menginginkan '''gedang''' saat ini karena saya terkena konstipasi. {{-lafal-}} * {{suara|bew|LL-Q33014 (bew)-Pitchrigi-gedang.wav}} =={{bahasa|jv}}== {{kepala|jv}} {{-adv-|jv}} # {{kedu}} [[gedang]]; pisang: #: ''budeku'' entuk'' gedang'' seko'' tonggone #: bibiku'' mendapat'' pisang'' dari'' tetangganya [[Kategori:WikiTutur - Jawa]] =={{bahasa|pse}}== {{kepala|pse}} {{-adj-|pse}} # {{label|pse|Semende}} [[kuat]] =={{bahasa|jax}}== {{kepala|jax}} {{-lafal-}} *{{suara|jax|LL-Q3915769 (jax)-Sultan Toktik-gedang.wav|q=''Jambi Seberang''}} {{-adj-|jax}} # [[besar]] #: ''rumah tu '''gedang''' nian'' #: rumah itu besar sekali =={{bahasa|su}}== {{kepala|su}} {{-n-|su}} # {{loma}} [[pepaya]] #: ''Kamari ngadahar gedang'' #:kemarin makan pepaya {{-lafal-|su}} * {{suara|su|LL-Q34002 (sun)-Kepadalisna-gedang.wav }} [[Kategori:WikiTutur - Sunda]] [[Kategori:WikiTutur Daring 10 Maret 2024]] ewftlh581bq4ipeqtv5gbh1kmklsoot sirup 0 115862 1349936 1279284 2026-04-15T07:19:52Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349936 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-sirop.wav}} '''sirup''' # {{ragam dari|id|sirop}} #air gula agak kental, terkadang diberi es dan berwarna #* {{RQ:Mustikarasa |page=1152 |text=Kalau telah dingin dipotong ketjil², dimasukkan kedalam gelas, dimakan dengan '''sirop''' vanili dan es parut. |norm=Kalau telah dingin dipotong kecil-kecil, dimasukkan ke dalam gelas, dimakan dengan '''sirop''' vanili dan es parut. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1160#:~:text=Kalau%20telah%20dingin%20dipotong%20ketjil%C2%B2%2C%20dimasukkan%20kedalam%20gelas%2C%20dimakan%20dengan%20sirop%20vanili%20dan%20es%20parut. }} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} ihu8vvixudjlfjaynq7ovukpk7w0w53 panili 0 116147 1349902 1279306 2026-04-15T06:41:54Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349902 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-panili.wav}} '''panili''' # {{ragam dari|id|vanili}} #* {{RQ:Mustikarasa |page=1146 |text=Susu, gula dan '''panili''' dimasak sampai mendidih |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1154#:~:text=Susu%2C%20gula%20dan%20panili%20dimasak%20sampai%20mendidih }} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} mha7sgrufc1wbtvzd2kq79qjpdiiuuv kapur sirih 0 116438 1349945 1279767 2026-04-15T07:47:03Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349945 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{-n-|id}} # kapur yg halus dan lembut untuk ramuan makan sirih #* {{RQ:Mustikarasa |page=1119 |text='''kapur sirih''' sebesar butiran djagung |norm='''kapur sirih''' sebesar butiran jagung |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1127#:~:text=kapur%20sirih%20sebesar%20butiran%20djagung }} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 50fn3olhskdssy94sdukdjv9jpvkzye warga negara 0 116509 1350019 1280238 2026-04-15T10:43:37Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350019 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-warga negara.wav}} {{-n-|id}} # penduduk sebuah negara atau bangsa berdasarkan keturunan, tempat kelahiran, dsb yang mempunyai kewajiban dan hak penuh sebagai seorang warga dari negara itu #* {{RQ:Permainan Rakyat Daerah Kalimantan Selatan |page=2 |text=Adalah menjadi tugas segenap '''warga negara''' untuk tetap menjaga kelestarian dan keutuhan kekayaan budaya Nasional. |url=https://id.wikisource.org/wiki/Halaman:Permainan_rakyat_daerah_Kalimantan_Selatan.pdf/10#:~:text=Adalah%20menjadi%20tugas%20segenap%20warga%20negara%20untuk%20tetap%20menjaga%20kelestarian%20dan%20keutuhan%20kekayaan%20budaya%20Nasional. }} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} ghqk4xgzdtrb6ls2lfsaym351nnm3wv air soda 0 118678 1349921 1349243 2026-04-15T07:01:06Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1349921 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-air soda.wav}} {{-n-|id}} # air [[berkarbonasi]] #: {{syn|id|air belanda}} #* {{RQ:Mustikarasa |page= 65 |text= Jang betul² menghilangkan rasa haus adalah '''air soda''' karena mengandung asam carbonat |norm= Yang betul-betul menghilangkan rasa haus adalah '''air soda''' karena mengandung asam karbonat |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/73#:~:text=Jang%20betul%C2%B2%20menghilangkan%20rasa%20haus%20adalah%20air%20soda%20karena%20mengandung%20asam%20carbonat.}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} is52c82c6z9orwe4p56btcwlgrizla0 tabungan 0 137196 1349973 1279610 2026-04-15T08:30:49Z Iripseudocorus 40083 rekam1 1349973 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ta|bu|ngan}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-tabungan.wav}} {{imbuhan -an|tabung}} # tempat menabungkan uang; celengan # badan atau lembaga yang mengurus penyimpanan uang #* {{RQ:20 Mei Pelopor 17 Agustus |page=n.d |text=Begitu djuga rakjat mulai memberanikan diri untuk mendirikan perseroan-perseroan dagang, tanggung-djiwa, credietbank, '''tabungan''', pertanian dll. sebagainja. |norm=Begitu juga rakyat mulai memberanikan diri untuk mendirikan perseroan-perseroan dagang, tanggung-jiwa, kredit bank, '''tabungan''', pertanian dan lain-lain sebagainya. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/11#:~:text=Begitu%20djuga%20rakjat%20mulai%20memberanikan%20diri%20untuk%20mendirikan%20perseroan%2Dperseroan%20dagang%2C%20tanggung%2Ddjiwa%2C%20credietbank%2C%20tabungan%2C%20pertanian%20dll.%20sebagainja. }} # uang tabungan; uang simpanan {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} rb9evfxksb0tso3ofwmomcxhxt3pb05 adonan 0 137222 1350009 1279704 2026-04-15T10:15:54Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350009 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-adonan.wav}} {{imbuhan -an|adon}} # adukan tepung, santan, susu, dll (sebagai bahan pembuat kue) #* {{RQ:Mustikarasa |page=1134 |text='''Adonan''' ini boleh djuga diberi nangka jang di-iris² ketjil². |norm=Adonan ini boleh juga diberi nangka yang diiris kecil-kecil. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1142#:~:text=Adonan%20ini%20boleh%20djuga%20diberi%20nangka%20jang%20di%2Diris%C2%B2%20ketjil%C2%B2. }} # adukan semen dengan pasir dsb untuk pelekat batu bata atau penghalus dinding batu {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 015vso6k5j2fyahnemf4wip9nzcxzw8 perguruan 0 137265 1349954 1279422 2026-04-15T08:05:03Z Iripseudocorus 40083 rekam1 1349954 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|per|gu|ru|an}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-perguruan.wav}} {{imbuhan per-an|guru}} # sekolah; gedung-gedung tempat belajar #:'''''perguruan''' Nasional Taman Siswa'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=16 |text=Usaha-usaha '''perguruan''' lain-lainnja ada pula, diantaranja Adhi-Darmo, ''Neutrale Schoolvereeniging'', „Islamijah” dan banjak lagi lain-lainnja. |norm=Usaha-usaha '''perguruan''' lain-lainnya ada pula, diantaranya Adhi-Darmo, ''Neutrale Schoolvereeniging'', Islamiyah dan banyak lagi lain-lainnya. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/15#:~:text=Usaha%2Dusaha%20perguruan%20lain%2Dlainnja%20ada%20pula%2C%20diantaranja%20%E2%80%9EAdhi%2DDarmo%E2%80%9D%2C%20%E2%80%9ENeutrale%20Schoolvereeniging%E2%80%9D%2C%20%E2%80%9EIslamijah%E2%80%9D%20dan%20banjak%20lagi%20lain%2Dlainnja. }} # pengajaran {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} n81jol1rgej0go3p16u1ale7nj5vmde berhaluan 0 137822 1349932 1279401 2026-04-15T07:13:44Z Iripseudocorus 40083 rekam1 1349932 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ber|ha|lu|an}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-berhaluan.wav}} {{imbuhan ber-|haluan}} # menurut haluan; mempunyai haluan (arah, pedoman, dsb): <br />''serikat buruh pelabuhan itu berhaluan kiri'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=10 |text=Kaum-tua dan setengah-tua, jang '''berhaluan''' kiri dan masih terus berdjoang dalam kalangan B.U., ada pula: misalnja K.R.M.T.H. Wurjaningrat, R.M. Sutatmo Surjokusumo, R. M. Sutopo Wonobojo, R. Sumarsono Tjokrodirdjo, dan masih banjak lain-lainnja. |norm=Kaum-tua dan setengah-tua, yang berhaluan kiri dan masih terus berjuang dalam kalangan B.U., ada pula: misalnja K.R.M.T.H. Wurjaningrat, R.M. Sutatmo Surjokusumo, R. M. Sutopo Wonobojo, R. Sumarsono Tjokrodirdjo, dan masih banyak lain-lainnya. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/9#:~:text=Kaum%2Dtua%20dan%20setengah%2Dtua%2C%20jang%20berhaluan%20%E2%80%9Ekiri%E2%80%9D%20dan%20masih%20terus%20berdjoang%20dalam%20kalangan%20B.U.%2C%20ada%20pula%3A%20misalnja%20K.R.M.T.H.%20Wurjaningrat%2C%20R.M.%20Sutatmo%20Surjokusumo%2C%20R.%20M.%20Sutopo%20Wonobojo%2C%20R.%20Sumarsono%20Tjokrodirdjo%2C%20dan%20masih%20banjak%20lain%2Dlainnja. }} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 77p0e4210j9hykjkwt3mdgaar3551oa pengorbanan 0 139679 1349984 1279800 2026-04-15T08:47:08Z Iripseudocorus 40083 rekam1 1349984 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{imbuhan peng-an|korban}} # proses, cara, perbuatan mengorbankan #* {{RQ:20 Mei Pelopor 17 Agustus |page=14 |text=Anggauta-anggauta B. U. dan Sarikat Islam, menganggap korban-korban jang pertama (sedjak 1908) itu, sebagai '''pengorbanan''' mereka sendiri. |norm=Anggota-anggota B. U. dan Sarikat Islam, menganggap korban-korban yang pertama (sejak 1908) itu, sebagai '''pengorbanan''' mereka sendiri. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/13#:~:text=Anggauta%2Danggauta%20B.%20U.%20dan%20Sarikat%20Islam%2C%20menganggap%20korban%2Dkorban%20jang%20pertama%20(sedjak%201908)%20itu%2C%20sebagai%20pengorbanan%20mereka%20sendiri. }} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 5b2yjibe7vks57bzzx09ecblr5h93ko 1349985 1349984 2026-04-15T08:48:17Z Iripseudocorus 40083 rekam1 1349985 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|pe|ngor|ba|nan}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-pengorbanan.wav}} {{imbuhan peng-an|korban}} # proses, cara, perbuatan mengorbankan #* {{RQ:20 Mei Pelopor 17 Agustus |page=14 |text=Anggauta-anggauta B. U. dan Sarikat Islam, menganggap korban-korban jang pertama (sedjak 1908) itu, sebagai '''pengorbanan''' mereka sendiri. |norm=Anggota-anggota B. U. dan Sarikat Islam, menganggap korban-korban yang pertama (sejak 1908) itu, sebagai '''pengorbanan''' mereka sendiri. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/13#:~:text=Anggauta%2Danggauta%20B.%20U.%20dan%20Sarikat%20Islam%2C%20menganggap%20korban%2Dkorban%20jang%20pertama%20(sedjak%201908)%20itu%2C%20sebagai%20pengorbanan%20mereka%20sendiri. }} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 3zn81qdoxbhybkvogb3ob476044u61z hubungan 0 140115 1349925 1279385 2026-04-15T07:03:27Z Iripseudocorus 40083 rekam1 1349925 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|hu|bu|ngan}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-hubungan.wav}} {{imbuhan -an|hubung}} # keadaan berhubungan: <br>''hubungan yang harmonis antara suami istri perlu dibina'' # kontak: <br>''untuk membeli barang itu dengan harga yang lebih murah sebaiknya kita mengadakan hubungan langsung dengan produsen'' # sangkut-paut: <br>''jabatan yang dipegangnya itu tidak ada hubungannya dengan keahliannya'' # ikatan; pertalian (keluarga, persahabatan, dsb): <br>''antara mereka masih ada hubungan keluarga; hubungan persahabatan antara bangsa-bangsa Asia Tenggara'' #* {{RQ:20 Mei Pelopor 17 Agustus |page= |text=Inilah sebabnja ada '''hubungan''' antara beliau dengan Sutomo dan Gunawan Mangunkusumo c.s. Dr. Wahidin sanggup mengoper gerakan nasional jang dimulaikan para pemuda tadi. |norm=Inilah sebabnya ada '''hubungan''' antara beliau dengan Sutomo dan Gunawan Mangunkusumo c.s. Dr. Wahidin sanggup mengoper gerakan nasional yang dimulaikan para pemuda tadi. |url=https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/5#:~:text=Inilah%20sebabnja%20ada%20hubungan%20antara%20beliau%20dengan%20Sutomo%20dan%20Gunawan%20Mangunkusumo%20c.s.%20Dr.%20Wahidin%20sanggup%20%E2%80%9Emengoper%E2%80%9D%20gerakan%20nasional%20jang%20dimulaikan%20para%20pemuda%20tadi }} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 3mmun3bqutar4wocgovmyktzkfn6iw8 perkumpulan 0 141065 1349967 1279592 2026-04-15T08:15:17Z Iripseudocorus 40083 rekam1 1349967 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|per|kum|pu|lan}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-perkumpulan.wav}} {{imbuhan per-an|kumpul}} # perhimpunan (tentang organisasi dsb): <br>''perkumpulan sepak bola'' perserikatan #* {{RQ:20 Mei Pelopor 17 Agustus |page=12 |text=Banjak '''perkumpulan-perkumpulan''' didirikan, baik jang bertjorak agama, sosial, ekonomi, kesenian, pendidikan, journalistiek, olah raga, dll. |norm=Banjak '''perkumpulan-perkumpulan''' didirikan, baik yang bercorak agama, sosial, ekonomi, kesenian, pendidikan, jurnalistik, olah raga, dll. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/11#:~:text=Banjak%20perkumpulan%2Dperkumpulan%20didirikan%2C%20baik%20jang%20bertjorak%20agama%2C%20sosial%2C%20ekonomi%2C%20kesenian%2C%20pendidikan%2C%20journalistiek%2C%20olah%20raga%2C%20dll.%20sebagainja.}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 56rb8muo20exbribkdxuew6773bstv2 bertemu 0 143135 1349974 1279612 2026-04-15T08:33:31Z Iripseudocorus 40083 rekam1 1349974 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ber|te|mu}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-bertemu.wav}} {{imbuhan ber-|temu}} # ditemukan; diperoleh; terdapat di; kedapatan di #:''batu permata seelok ini tidak akan '''bertemu''' di negara ini'' # berhadapan muka; bersemuka #* {{RQ:20 Mei Pelopor 17 Agustus |page=n.d |text=Marhum Umar Said Tjokroaminoto jang berdjiwa nasionalis-islam-revolusioner, sesudah '''bertemu''' dengan Hadji Samanhudi (jang waktu itu mempunjai perserikatan dagang, jang bernama Sarikat Dagang Islam, dan mempunjai tjorak Islam dan revolusioner djuga) dapat membentuk badan baru. |norm=Marhum Umar Said Tjokroaminoto yang berjiwa nasionalis-islam-revolusioner, sesudah '''bertemu''' dengan Haji Samanhudi (yang waktu itu mempunyai perserikatan dagang, yang bernama Sarikat Dagang Islam, dan mempunyai corak Islam dan revolusioner juga) dapat membentuk badan baru. |url=https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/12#:~:text=Marhum%20Umar%20Said,jaitu%20%E2%80%9Esarikat%20Islam%E2%80%9D }} #:''ia hendak '''bertemu''' dengan tuan rumah; selamat jalan, sampai '''bertemu''' lagi'' # mendapat atau menemukan (barang yang dicari) #:''betapa dicarinya tiada '''bertemu''' juga; kalau '''bertemu''' arloji itu, akan kuserahkan kepada polisi'' # berjumpa; bersua #:''baru-baru ini saya '''bertemu''' dengannya di depan kantor pos'' # menjadi satu (berhubungan, bersinggungan) ujung dengan ujung, jalan dengan jalan, kali dengan kali, dsb #:''dua sungai itu '''bertemu''' di dekat laut; tepi langit '''bertemu''' dengan permukaan laut'' # sesuai atau cocok (perkataan dengan perbuatan, teori dengan praktik, dsb) #:''janjinya tidak pernah '''bertemu'''; teori yang tidak '''bertemu''' dalam praktik'' # benar-benar terjadi (tentang ramalan, dugaan, dsb) # sampai atau tercapai (tentang harapan, cita-cita, dsb) #:''apa yang kuimpikan seminggu yang lalu, '''bertemu''' juga pada hari ini'' # dapat atau kena (bahaya, bencana, dsb) #:'''''bertemu''' dengan bahaya maut'' {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 2u0xfag8ltoe0zpbyvd17ve7wgf6bd1 1349976 1349974 2026-04-15T08:37:14Z Iripseudocorus 40083 1349976 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ber|te|mu}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-bertemu.wav}} {{imbuhan ber-|temu}} # ditemukan; diperoleh; terdapat di; kedapatan di #:''batu permata seelok ini tidak akan '''bertemu''' di negara ini'' # berhadapan muka; bersemuka #* {{RQ:20 Mei Pelopor 17 Agustus |page=13 |text=Marhum Umar Said Tjokroaminoto jang berdjiwa nasionalis-islam-revolusioner, sesudah '''bertemu''' dengan Hadji Samanhudi (jang waktu itu mempunjai perserikatan dagang, jang bernama Sarikat Dagang Islam, dan mempunjai tjorak Islam dan revolusioner djuga) dapat membentuk badan baru. |norm=Marhum Umar Said Tjokroaminoto yang berjiwa nasionalis-islam-revolusioner, sesudah '''bertemu''' dengan Haji Samanhudi (yang waktu itu mempunyai perserikatan dagang, yang bernama Sarikat Dagang Islam, dan mempunyai corak Islam dan revolusioner juga) dapat membentuk badan baru. |url=https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/12#:~:text=Marhum%20Umar%20Said,jaitu%20%E2%80%9Esarikat%20Islam%E2%80%9D }} #:''ia hendak '''bertemu''' dengan tuan rumah; selamat jalan, sampai '''bertemu''' lagi'' # mendapat atau menemukan (barang yang dicari) #:''betapa dicarinya tiada '''bertemu''' juga; kalau '''bertemu''' arloji itu, akan kuserahkan kepada polisi'' # berjumpa; bersua #:''baru-baru ini saya '''bertemu''' dengannya di depan kantor pos'' # menjadi satu (berhubungan, bersinggungan) ujung dengan ujung, jalan dengan jalan, kali dengan kali, dsb #:''dua sungai itu '''bertemu''' di dekat laut; tepi langit '''bertemu''' dengan permukaan laut'' # sesuai atau cocok (perkataan dengan perbuatan, teori dengan praktik, dsb) #:''janjinya tidak pernah '''bertemu'''; teori yang tidak '''bertemu''' dalam praktik'' # benar-benar terjadi (tentang ramalan, dugaan, dsb) # sampai atau tercapai (tentang harapan, cita-cita, dsb) #:''apa yang kuimpikan seminggu yang lalu, '''bertemu''' juga pada hari ini'' # dapat atau kena (bahaya, bencana, dsb) #:'''''bertemu''' dengan bahaya maut'' {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} ry5sdhvljokihc4rcrqbtmqjau7vmpu pertentangan 0 143737 1349928 1279391 2026-04-15T07:06:51Z Iripseudocorus 40083 rekam1 1349928 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|per|ten|ta|ngan}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-pertentangan.wav}} {{imbuhan per-an|tentang}} # perihal bertentangan; perlawanan: <br>''pertentangan di antara partai politik tidak lagi sehebat dulu'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=8 |text=Bersuanja kaum tua dan kaum muda menimbulkan banjak '''pertentangan''' faham, sikap dan laku. |norm=Bersuanya kaum tua dan kaum muda menimbulkan banyak '''pertentangan''' paham, sikap dan laku. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/7#:~:text=Bersuanja%20kaum%20tua%20dan%20kaum%20muda%20menimbulkan%20banjak%20pertentangan%20faham%2C%20sikap%20dan%20laku. }} # perselisihan; pertikaian: <br>''kedua negara itu memang mempunyai pertentangan politik'' {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 2urpjy1m3kzfjeyec930rfjdj6vq2uv perselisihan 0 144100 1349963 1279527 2026-04-15T08:10:44Z Iripseudocorus 40083 rekam1 1349963 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|per|se|li|si|han}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-perselisihan.wav}} {{imbuhan per-an|selisih}} # hal berselisih #* {{RQ:20 Mei Pelopor 17 Agustus |page=17 |text=Berhubung dengan timbulnja '''perselisihan-perselisihan''' dan perpetjahan-perpetjahan maka sementara kali dilakukan usaha-usaha untuk mempersatukan tenaga, jang dianggap perlu untuk mempertahankan kepentingan-kepentingan rakjat. |norm=Berhubung dengan timbulnya '''perselisihan-perselisihan''' dan perpecahan-perpecahan maka sementara kali dilakukan usaha-usaha untuk mempersatukan tenaga, yang dianggap perlu untuk mempertahankan kepentingan-kepentingan rakyat. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/16#:~:text=Berhubung%20dengan%20timbulnja%20perselisihan%2Dperselisihan%20dan%20%E2%80%9Eperpetjahan%2Dperpetjahan%E2%80%9D%20maka%20sementara%20kali%20dilakukan%20usaha%2Dusaha%20untuk%20mempersatukan%20tenaga%2C%20jang%20dianggap%20perlu%20untuk%20mempertahankan%20kepentingan%2Dkepentingan%20rakjat }} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} p8d7829hvpckvlx8q0jymf7smox7cvk lapisan 0 144218 1349995 1279827 2026-04-15T09:05:16Z Iripseudocorus 40083 rekam1 1349995 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|la|pi|san}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-lapisan.wav}} {{imbuhan -an|lapis}} # susunan; deretan; bagian #* {{RQ:20 Mei Pelopor 17 Agustus |page=17 |text=I.S.D.V. (Indische Sociaal-democratische Vereeniging) dibawah pimpinan Ir. Baars, H. Sneevliet dll, jang kemudian mendjadi P.K.I. (Partij Komunis Indonesia) dengan S.R. (Sarikat Rakjat) sebagai „ondergrond’’-nja ('''lapisan''' bawah). |norm=I.S.D.V. ''(Indische Sociaal-democratische Vereeniging)'' di bawah pimpinan Ir. Baars, H. Sneevliet dll, jang kemudian menjadi P.K.I. (Partai Komunis Indonesia) dengan S.R. ''(Sarikat Rakjat)'' sebagai ''ondergrond''-nya ('''lapisan''' bawah). |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/16#:~:text=I.S.D.V.%20(Indische%20Sociaal%2Ddemocratische%20Vereeniging)%20dibawah%20pimpinan%20Ir.%20Baars%2C%20H.%20Sneevliet%20dll%2C%20jang%20kemudian%20mendjadi%20P.K.I.%20(Partij%20Komunis%20Indonesia)%20dengan%20S.R.%20(Sarikat%20Rakjat)%20sebagai%20%E2%80%9Eondergrond%E2%80%99%E2%80%99%2Dnja%20(lapisan%20bawah). }} # hasil melapis(i) # {{kiasan}} tingkatan; golongan: <br>''anggota dewan itu merupakan wakil dari seluruh lapisan rakyat'' {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 82mjaari90xuacvx7c5uj04aex8lf01 penyelundupan 0 144412 1349977 1279789 2026-04-15T08:38:05Z Iripseudocorus 40083 rekam1 1349977 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{imbuhan peng-an|selundup}} # proses, cara, perbuatan menyelundup atau menyelundupkan # pemasukan barang secara gelap untuk menghindari bea masuk atau karena menyelundupkan barang terlarang #* {{RQ:20 Mei Pelopor 17 Agustus |page=13 |text=Disamping '''penjelundupan''' atau infiltrasi biasa, pemerintah kolonial mengirimkan dr. A. Rinkes-nja (pembantu ''adviseur voor inlandsche zaken'') kedalam lingkungan S.I. (Sarikat Islam). |norm=Di samping '''penyelundupan''' atau infiltrasi biasa, pemerintah kolonial mengirimkan dr. A. Rinkes-nya (pembantu ''adviseur voor inlandsche zaken'') kedalam lingkungan S.I. (Sarikat Islam). |url=https://id.wikisource.org/wiki/20_Mei_Pelopor_17_Agustus#:~:text=Disamping%20penjelundupan%20atau%20%E2%80%9Einfiltrasi%E2%80%9D%20biasa%2C%20pemerintah%20kolonial%20mengirimkan%20dr.%20A.%20Rinkes%2Dnja%20(pembantu%20adviseur%20voor%20inlandsche%20zaken)%20kedalam%20lingkungan%20S.I.%20(Sarikat%20Islam). }} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 59mxdzpdoee4ec9nbii3gw2jm70pq8s 1349978 1349977 2026-04-15T08:39:09Z Iripseudocorus 40083 /* {{bahasa|id}} */ 1349978 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|pe|nye|lun|du|pan}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-penyelundupan.wav}} {{imbuhan peng-an|selundup}} # proses, cara, perbuatan menyelundup atau menyelundupkan # pemasukan barang secara gelap untuk menghindari bea masuk atau karena menyelundupkan barang terlarang #* {{RQ:20 Mei Pelopor 17 Agustus |page=13 |text=Disamping '''penjelundupan''' atau infiltrasi biasa, pemerintah kolonial mengirimkan dr. A. Rinkes-nja (pembantu ''adviseur voor inlandsche zaken'') kedalam lingkungan S.I. (Sarikat Islam). |norm=Di samping '''penyelundupan''' atau infiltrasi biasa, pemerintah kolonial mengirimkan dr. A. Rinkes-nya (pembantu ''adviseur voor inlandsche zaken'') kedalam lingkungan S.I. (Sarikat Islam). |url=https://id.wikisource.org/wiki/20_Mei_Pelopor_17_Agustus#:~:text=Disamping%20penjelundupan%20atau%20%E2%80%9Einfiltrasi%E2%80%9D%20biasa%2C%20pemerintah%20kolonial%20mengirimkan%20dr.%20A.%20Rinkes%2Dnja%20(pembantu%20adviseur%20voor%20inlandsche%20zaken)%20kedalam%20lingkungan%20S.I.%20(Sarikat%20Islam). }} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} e50p6zk9l07bamr76x99bqpho61lj0c penindasan 0 146088 1349989 1279813 2026-04-15T08:53:41Z Iripseudocorus 40083 rekam1 1349989 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|pe|nin|da|san}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-penindasan.wav}} {{imbuhan peng-an|tindas}} # proses, cara, perbuatan menindas: <br>''kenyataan menunjukkan bahwa penindasan sesama manusia masih ada di bumi ini'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=14 |text=Jang mendjadi sebab pemerintah kolonial menggunakan „exorbitant-recht”-nja ialah karena Suwardi Suryaningrat menulis brosurnja „Als ik Nederlander was!” untuk memprotes akan diadakannja perajaan kemerdekaan Nederland 100 tahun (dari '''penindasan''' Perantjis dalam djaman Napoleon pada tahun 1813). |norm= Yang menjadi sebab pemerintah kolonial menggunakan „exorbitant-recht”-nya ialah karena Suwardi Suryaningrat menulis brosurnya „Als ik Nederlander was!” untuk memprotes akan diadakannya perayaan kemerdekaan Nederland 100 tahun (dari '''penindasan''' Perancis dalam jaman Napoleon pada tahun 1813). |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/13#:~:text=Jang%20mendjadi%20sebab%20pemerintah%20kolonial%20menggunakan%20%E2%80%9Eexorbitant%2Drecht%E2%80%9D%2Dnja%20ialah%20karena%20Suwardi%20Suryaningrat%20menulis%20brosurnja%20%E2%80%9EAls%20ik%20Nederlander%20was!%E2%80%9D%20untuk%20memprotes%20akan%20diadakannja%20perajaan%20kemerdekaan%20Nederland%20100%20tahun%20(dari%20penindasan%20Perantjis%20dalam%20djaman%20Napoleon%20pada%20tahun%201813)}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} oc9ycsv6srfuyuh1yrzuwytswbgbadq kelestarian 0 147358 1350018 1280239 2026-04-15T10:42:31Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350018 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-kelestarian.wav}} {{imbuhan ke-an|lestari}} # keadaan yang tetap seperti semula; keadaan yang tidak berubah-ubah: <br>''kita harus selalu menjaga kelestarian alam'' #* {{RQ:Permainan Rakyat Daerah Kalimantan Selatan |page=2 |text=Adalah menjadi tugas segenap warga negara untuk tetap menjaga '''kelestarian''' dan keutuhan kekayaan budaya Nasional. |url=https://id.wikisource.org/wiki/Halaman:Permainan_rakyat_daerah_Kalimantan_Selatan.pdf/10#:~:text=Adalah%20menjadi%20tugas%20segenap%20warga%20negara%20untuk%20tetap%20menjaga%20kelestarian%20dan%20keutuhan%20kekayaan%20budaya%20Nasional. }} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} g6m6zz89dgize2qruqnxybeg15p11vx perseroan 0 148078 1349946 1279411 2026-04-15T07:50:02Z Iripseudocorus 40083 rekam1 1349946 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{imbuhan per-an|sero}} : {{pemenggalan|id|per|se|ro|an}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-perseroan.wav}} # perserikatan dagang; kongsi; maskapai #* {{RQ:20 Mei Pelopor 17 Agustus |page=n.d |text=Begitu djuga rakjat mulai memberanikan diri untuk mendirikan '''perseroan-perseroan''' dagang, tanggung-djiwa, credietbank, tabungan, pertanian dll. sebagainja. |norm=Begitu juga rakyat mulai memberanikan diri untuk mendirikan '''perseroan-perseroan''' dagang, tanggung-jiwa, kredit bank, tabungan, pertanian dan lain sebagainya. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/11#:~:text=Begitu%20djuga%20rakjat,timbul%20gerakan%20baru }} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} l3abkcbdryqxga86n55osoizj4n3ivw 1349948 1349946 2026-04-15T07:54:23Z Iripseudocorus 40083 . 1349948 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{imbuhan per-an|sero}} : {{pemenggalan|id|per|se|ro|an}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-perseroan.wav}} # perserikatan dagang; kongsi; maskapai #* {{RQ:20 Mei Pelopor 17 Agustus |page=12 |text=Begitu djuga rakjat mulai memberanikan diri untuk mendirikan '''perseroan-perseroan''' dagang, tanggung-djiwa, credietbank, tabungan, pertanian dll. sebagainja. |norm=Begitu juga rakyat mulai memberanikan diri untuk mendirikan '''perseroan-perseroan''' dagang, tanggung-jiwa, kredit bank, tabungan, pertanian dan lain sebagainya. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/11#:~:text=Begitu%20djuga%20rakjat,timbul%20gerakan%20baru }} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} ls6s21cd90bome0z4xxvw5blrinr3cx kemerdekaan 0 152512 1349986 1279803 2026-04-15T08:49:37Z Iripseudocorus 40083 rekam1 1349986 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ke|mer|de|ka|an}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-kemerdekaan.wav}} {{imbuhan ke-an|merdeka}} # Keadaan (hal) berdiri sendiri (bebas, lepas, tidak terjajah lagi, dsb). #: '''''Kemerdekaan''' adalah hak segala bangsa.'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=14 |text=Segera mereka mengumpulkan uang untuk memungkinkan tiga-serangkai I.P. ''(driemanschap I.P.)'' itu menghindarkan ''interneeringnja'' dan pergi ke-luar-negeri, agar di ''Nederland'' dapat meneruskan aksinja kearah '''kemerdekaan''' Indonesia. |norm=Segera mereka mengumpulkan uang untuk memungkinkan tiga-serangkai I.P. ''(driemanschap I.P.)'' itu menghindarkan ''interneering''-nya dan pergi ke-luar-negeri, agar di ''Nederland'' dapat meneruskan aksinya ke arah '''kemerdekaan''' Indonesia. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/13#:~:text=Segera%20mereka%20mengumpulkan%20uang%20untuk%20memungkinkan%20%E2%80%9Etiga%2Dserangkai%E2%80%9D%20I.P.%E2%80%9D%20(driemanschap%20I.P.)%20itu%20menghindarkan%20interneeringnja%20dan%20pergi%20ke%2Dluar%2Dnegeri%2C%20agar%20di%20Nederland%20dapat%20meneruskan%20aksinja%20kearah%20kemerdekaan%20Indonesia.}} {{-sinonim-}} * [[kebebasan]] {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 4ynynb4i5s8l3ieubi0cnlpwxeiv49s pergerakan 0 152555 1349993 1279824 2026-04-15T09:00:45Z Iripseudocorus 40083 rekam1 1349993 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|per|ge|ra|kan}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-pergerakan.wav}} {{imbuhan per-an|gerak}} # perihal atau keadaan bergerak # kebangkitan (untuk perjuangan atau perbaikan): <br>''pada waktu itu pergerakan nasional muncul di mana-mana'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=16-17 |text=''Differensia'' '''pergerakan''' rakyat kita yang paling ​penting ialah tumbuhnya Sarikat-sarikat Buruh, yang pada umumnya dipimpin oleh kaum S.I. (Surjopranoto, Sosrokardono, Samaun, Alimin, Darsono dll.). |norm=''Differensia'' '''pergerakan''' rakyat kita yang paling ​penting ialah tumbuhnya Sarikat-sarikat Buruh, yang pada umumnya dipimpin oleh kaum S.I. (Suryopranoto, Sosrokardono, Samaun, Alimin, Darsono dll.). |url=https://id.wikisource.org/wiki/20_Mei_Pelopor_17_Agustus#:~:text=Differensia%20pergerakan%20rakjat%20kita%20jang%20paling%20%E2%80%8Bpenting%20ialah%20tumbuhnja%20Sarikat%2Dsarikat%20Buruh%2C%20jang%20pada%20umumnja%20dipimpin%20oleh%20kaum%20S.I.%20(Surjopranoto%2C%20Sosrokardono%2C%20Samaun%2C%20Alimin%2C%20Darsono%20dll.). }} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 8j4z7cod74miowdib67uqkw3ei2z0gc pewarisan 0 153167 1350017 1280241 2026-04-15T10:38:22Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350017 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-pewarisan.wav}} {{imbuhan peng-an|waris}} # proses, cara, perbuatan mewarisi atau mewariskan #* {{RQ:Permainan Rakyat Daerah Kalimantan Selatan |page=2 |text=Salah satu jalan yang dapat ditempuh adalah perlu adanya usaha - usaha '''pewarisan''' kebudayaan Nasional tersebut dari generasi ke generasi berikutnya |url=https://id.wikisource.org/wiki/Halaman:Permainan_rakyat_daerah_Kalimantan_Selatan.pdf/10#:~:text=Salah%20satu%20jalan%20yang%20dapat%20ditempuh%20adalah%20perlu%20adanya%20usaha%20%2D%20usaha%20pewarisan%20kebudayaan%20Nasional%20tersebut%20dari%20generasi%20ke%20generasi%20berikutnya }} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 30pykohglxysrjj64qnrqs3tjyfytgu bersumpah 0 153848 1349970 1279593 2026-04-15T08:17:20Z Iripseudocorus 40083 rekam1 1349970 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ber|sum|pah}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-bersumpah.wav}} {{imbuhan ber-|sumpah}} # menyatakan kebenaran suatu hal atau kesetiaan dengan sumpah; mengangkat sumpah: <br />''Presiden harus bersumpah setia kepada undang-undang dasar'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=12 |text=Bukti jang njata tentang sifat B. U. jang tidak ''provincialistis'' itu ialah berfusinja B. U. dengan P.B.I. mendjadi Parindra. Sesudah nama Indonesia disjahkan oleh rakjat, maka dengan dipelopori oleh pemuda-pemuda kita, jang pada tahun 1928 '''bersumpah''' satu Negara, satu Bangsa, satu Bahasa, dan melebur ''Jong-Java, Jong-Ambon, Jong-Sumatranenbond,'' dll. |norm=Bukti yang nyata tentang sifat B. U. yang tidak ''provincialistis'' itu ialah berfusinya B. U. dengan P.B.I. mendjadi Parindra. Sesudah nama Indonesia disahkan oleh rakyat, maka dengan dipelopori oleh pemuda-pemuda kita, yang pada tahun 1928 '''bersumpah''' satu Negara, satu Bangsa, satu Bahasa, dan melebur ''Jong-Java, Jong-Ambon, Jong-Sumatranenbond,'' dll. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/11#:~:text=Bukti%20jang%20njata,Jong%2DSumatranenbond%20dll. }} # berjanji dengan sungguh-sungguh; berikrar: <br />''dia bersumpah akan membalas kematian saudaranya'' # sudah disumpah: <br />''belum semua pegawai negeri di kota itu bersumpah; penerjemah bersumpah'' {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} sg70jrsxxrl7enunt58ykyqjcfgkh77 golongan 0 154222 1349929 1279397 2026-04-15T07:08:32Z Iripseudocorus 40083 rekam1 1349929 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|go|lo|ngan}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-golongan.wav}} {{imbuhan -an|golong}} # puak; tumpukan; kelompok (orang): <br>''yang datang kemari kebanyakan golongan kaya'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=n.d |text=Hasil dari pada pertentangan antara '''golongan''' revolusioner nasionalis dengan kaum ''conservatif'' ialah terbentukhja pengurus besar pertama jang bertjorak ''coalisi'' |norm=Hasil daripada pertentangan antara '''golongan''' revolusioner nasionalis dengan kaum konservatif ialah terbentuknya pengurus besar pertama yang bercorak koalisi. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/7#:~:text=Hasil%20dari%20pada%20pertentangan%20antara%20golongan%20%E2%80%9Erevolusioner%20nasionalis%E2%80%9D%20dengan%20kaum%20%E2%80%9Econservatif%E2%80%9D%20ialah%20terbentukhja%20pengurus%20besar%20pertama%20jang%20bertjorak%20%E2%80%9Ecoalisi%E2%80%9D }} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} i4j2a5chc26jwkrtwwj0rem2yeo5d8u Portal:Prancis 0 175889 1350031 968663 2026-04-15T11:29:28Z DelintBot 47600 Replacing [[mw:Help:Lint errors/obsolete-tag|obsolete tags]] 1350031 wikitext text/x-wiki <!-- TABLEAU PRINCIPAL --> {| cellspacing=15 cellpadding=15 style="border-top:2px solid #bbbbbc; border-left:2px solid #bbbbbc; border-bottom:1px solid #dddddf; border-right:1px solid #dddddf;" align="center" | bgcolor="#fbfbff" valign=top style="border: 1px solid #aaaaff; border-bottom:2px solid #8888ff; border-right:2px solid #9999ff;" width="50%" align=left | <!--DÉBUT DU CADRE DE GAUCHE--> == <div style="text-align: center;">[[Berkas:Nuvola_apps_bookcase.svg|35px|contribuer]]Kosa Kata</div> == * [[:Kategori:Kata Bahasa Perancis|semua artikel bahasa Perancis]] == <div style="text-align: center;">[[Berkas:Quill-Nuvola.svg|35px|projets]]Jenis Kata</div> == * [[:Kategori:Kata sifat Bahasa Perancis|Kata sifat]] * [[:Kategori:Kata keterangan Bahasa Perancis|Kata keterangan]] * [[:Kategori:Kata benda Bahasa Perancis|Kata benda]] * [[:Kategori:Kata kerja Bahasa Perancis|Kata kerja]] [[Kategori:Portal]] 2gdero62k21wp431rxbdt9dp7sfg3a4 anak-anak 0 186025 1350011 1280247 2026-04-15T10:29:24Z Alfiyah Rizzy Afdiquni 40651 WikiRiksa 1350011 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{suara|id|LL-Q9240 (ind)-Alfiyah Rizzy Afdiquni-anak-anak.wav}} {{-a-|id}} # masih kecil (belum dewasa) #* {{RQ:Permainan Rakyat Daerah Kalimantan Selatan |page=2 |text=Dalam perkembangannya terlihat bahwa banyak bentuk - bentuk permainan rakyat yang pernah berkembang di wilayah Kalimantan Selatan sedikit demi sedikit mulai menghilang dari kegiatan permainan '''anak-anak'''. |url=https://id.wikisource.org/wiki/Halaman:Permainan_rakyat_daerah_Kalimantan_Selatan.pdf/10#:~:text=Dalam%20perkembangannya%20terlihat%20bahwa%20banyak%20bentuk%20%2D%20bentuk%20permainan%20rakyat%20yang%20pernah%20berkembang%20di%20wilayah%20Kalimantan%20Selatan%20sedikit%20demi%20sedikit%20mulai%20menghilang%20dari%20kegiatan%20permainan%20anak%20%2D%20anak. }} {{ulang|anak|manusia=y}} # {{cak}} anak buah {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} qwi8qihjb92luvhyrrmb84kkq5faheq Templat:Pembicaraan pengguna 10 199245 1349904 1051737 2026-04-15T06:43:16Z DelintBot 47600 Replacing [[mw:Help:Lint errors/obsolete-tag|obsolete tags]] 1349904 wikitext text/x-wiki [[File:Talk face.svg|150px|left]] <div style="float:left"> <span style="font-size:150%">'''Perhatian'''</span> * Mohon tanda-tangani pesan Anda * Mohon mengetikkan judul yang sesuai dengan isi pesan Anda ---- :Terima kasih! </div><div style="float:right"> <span style="font-size:150%">'''Attention'''</span> * Please sign your message * Please use a descriptive title in your message ---- :Thank you! </div> {{clear}} <noinclude>[[Kategori:Templat umum]]<noinclude> 29hyhz8rwn80fsimqgu6w7160el20qd Templat:Hani-forms 10 199603 1349903 778466 2026-04-15T06:43:15Z DelintBot 47600 Replacing [[mw:Help:Lint errors/obsolete-tag|obsolete tags]] 1349903 wikitext text/x-wiki {| class="floatright" style="background-color:#ffffff;" border="1" cellpadding="5" cellspacing="0" |- valign="center" | style="background-color:#dfefff;" | '''[[Hanzi sederhana|sederhana]]''' |<span style="font-size: 18pt;">{{Hans|{{{1}}}}}</span> |- valign="center" | style="background-color:#dfefff;" | '''[[Hanzi tradisional|tradisional]]''' |<span style="font-size: 18pt;">{{Hant|{{{2}}}}}</span> |}<noinclude> [[Kategori:Templat {{zh}}]]</noinclude> 9gp5lvfg4k24xk5k7bdvwl19olyblg5 Modul:translations 828 200720 1350028 1349612 2026-04-15T11:28:08Z Swarabakti 18192 1350028 Scribunto text/plain local export = {} local anchors_module = "Module:anchors" local debug_track_module = "Module:debug/track" local languages_module = "Module:languages" local links_module = "Module:links" local pages_module = "Module:pages" local parameters_module = "Module:parameters" local string_utilities_module = "Module:string utilities" local templatestyles_module = "Module:TemplateStyles" local utilities_module = "Module:utilities" local wikimedia_languages_module = "Module:wikimedia languages" local concat = table.concat local html_create = mw.html.create local insert = table.insert local load_data = mw.loadData local new_title = mw.title.new local require = require --[==[ Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==] local function decode_uri(...) decode_uri = require(string_utilities_module).decode_uri return decode_uri(...) end local function format_categories(...) format_categories = require(utilities_module).format_categories return format_categories(...) end local function full_link(...) full_link = require(links_module).full_link return full_link(...) end local function get_link_page(...) get_link_page = require(links_module).get_link_page return get_link_page(...) end local function get_wikimedia_lang(...) get_wikimedia_lang = require(wikimedia_languages_module).getByCode return get_wikimedia_lang(...) end local function language_link(...) language_link = require(links_module).language_link return language_link(...) end local function normalize_anchor(...) normalize_anchor = require(anchors_module).normalize_anchor return normalize_anchor(...) end local function plain_link(...) plain_link = require(links_module).plain_link return plain_link(...) end local function process_params(...) process_params = require(parameters_module).process return process_params(...) end local function remove_links(...) remove_links = require(links_module).remove_links return remove_links(...) end local function split_on_slashes(...) split_on_slashes = require(links_module).split_on_slashes return split_on_slashes(...) end local function templatestyles(...) templatestyles = require(templatestyles_module) return templatestyles(...) end local function track(...) track = require(debug_track_module) return track(...) end --[==[ Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==] local en local function get_en() en, get_en = require(languages_module).getByCode("en"), nil return en end local headword_data local function get_headword_data() headword_data, get_headword_data = load_data("Module:headword/data"), nil return headword_data end local parameters_data local function get_parameters_data() parameters_data, get_parameters_data = load_data("Module:parameters/data"), nil return parameters_data end local translations_data local function get_translations_data() translations_data, get_translations_data = load_data("Module:translations/data"), nil return translations_data end local function is_translation_subpage(pagename) if (headword_data or get_headword_data()).page.namespace ~= "" then return false elseif not pagename then pagename = (headword_data or get_headword_data()).encoded_pagename end return pagename:match("./translations$") and true or false end local function canonical_pagename() local pagename = (headword_data or get_headword_data()).encoded_pagename return is_translation_subpage(pagename) and pagename:sub(1, -14) or pagename end local function interwiki(terminfo, term, lang, langcode) -- No interwiki link if term is empty/missing if not term or #term < 1 then terminfo.interwiki = false return end -- Percent-decode the term. term = decode_uri(terminfo.term, "PATH") -- Don't show an interwiki link if it's an invalid title. if not new_title(term) then terminfo.interwiki = false return end local interwiki_langcode = (translations_data or get_translations_data()).interwiki_langs[langcode] local wmlangs = interwiki_langcode and {get_wikimedia_lang(interwiki_langcode)} or lang:getWikimediaLanguages() -- Don't show the interwiki link if the language is not recognised by Wikimedia. if #wmlangs == 0 then terminfo.interwiki = false return end local sc = terminfo.sc local target_page = get_link_page(term, lang, sc) local split = split_on_slashes(target_page) if not split[1] then terminfo.interwiki = false return end target_page = split[1] local wmlangcode = wmlangs[1]:getCode() local interwiki_link = language_link{ lang = lang, sc = sc, term = wmlangcode .. ":" .. target_page, alt = "(" .. wmlangcode .. ")", tr = "-" } terminfo.interwiki = tostring(html_create("span") :addClass("tpos") :wikitext("&nbsp;" .. interwiki_link) ) end function export.show_terminfo(terminfo, check) local lang = terminfo.lang local langcode, langname = lang:getCode(), lang:getCanonicalNameLower() -- Translations must be for mainspace languages. if not lang:hasType("regular") then error("Terjemahan hanya dapat diberikan bagi bahasa yang tercatat dan sudah disahkan sebagai bahasa di ruang nama utama.") else local disallowed = (translations_data or get_translations_data()).disallowed local err_msg = disallowed[langcode] if err_msg then error("Terjemahan tidak diperbolehkan di " .. langname .. " (" .. langcode .. "). Terjemahan " .. langname .. " semestinya " .. err_msg) end local fullcode = lang:getFullCode() if fullcode ~= langcode then err_msg = disallowed[fullcode] if err_msg then langname = lang:getCanonicalNameLower() error("Terjemahan tidak diizinkan di " .. langname .. " (" .. fullcode .. "). " .. " terjemahan " .. langname .. " perlu " .. err_msg) end end end if langcode == "id" then if terminfo.interwiki then error("Galat") end local current_L2 = require(pages_module).get_current_L2() if current_L2 ~= "Lintas bahasa" and mw.title.getCurrentTitle().nsText ~= "Wikikamus" then if current_L2 then error("Terjemahan ke bahasa Indonesia hanya diperbolehkan pada subjudul Lintas bahasa, bukan di " .. current_L2) else error("Terjemahan ke bahasa Indonesia hanya diperbolehkan pada subjudul Lintas bahasa, bukan di luar semua subjudul") end end end local term = terminfo.term -- Check if there is a term. Don't show the interwiki link if there is nothing to link to. if not term then -- Track entries that don't provide a term. -- FIXME: This should be a category. track("translations/no term") track("translations/no term/" .. langcode) end if terminfo.interwiki then interwiki(terminfo, term, lang, langcode) end langcode = lang:getFullCode() if (translations_data or get_translations_data()).need_super[langcode] then local tr = terminfo.tr if tr ~= nil then terminfo.tr = tr:gsub("%d[%d%*%-]*%f[^%d%*]", "<sup>%0</sup>") end end -- Special behaviour for sign languages using |file= if lang:getFamily() and lang:getFamily():getCode() == "sgn" and terminfo.file then if not terminfo.term or terminfo.term == "" then terminfo.term = nil end local file = terminfo.file local filelink = "<br>[[File:" .. file .. "|frameless|upright=0.5]]" local span = html_create("span") :addClass("t-sign") :wikitext(filelink) :allDone() local categories = { "Istilah dengan terjemahan " .. lang:getCanonicalNameLower() } local cats = format_categories( categories, require("Module:languages").getByCode("id"), nil, (load_data("Module:headword/data").encoded_pagename:gsub("/translations$", "")) ) return tostring(span) .. cats end terminfo.show_qualifiers = true local link = full_link(terminfo, "translation") local canonical_name = lang:getCanonicalNameLower() local full_name = lang:getFullName() local categories = {"Istilah dengan terjemahan " .. canonical_name} if canonical_name ~= full_name then insert(categories, "Istilah dengan terjemahan " .. full_name) end if check then link = tostring(html_create("span") :addClass("ttbc") :tag("sup") :addClass("ttbc") :wikitext("(tolong [[WT:Warung Kopi|pastikan]])") :done() :wikitext(" " .. link) ) insert(categories, "Permintaan pemastian terjemahan " .. langname) end return link .. format_categories(categories, en or get_en(), nil, canonical_pagename()) end -- Implements {{t}}, {{t+}}, {{t-check}} and {{t+check}}. function export.show(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["translation"]) local check = frame.args.check return export.show_terminfo({ lang = args[1], sc = args.sc, track_sc = true, term = args[2], alt = args.alt, id = args.id, genders = args[3], tr = args.tr, ts = args.ts, lit = args.lit, file = args.file, q = args.q, qq = args.qq, l = args.l, ll = args.ll, refs = args.ref, interwiki = frame.args.interwiki, }, check and check ~= "") end local function add_id(div, id) return id and div:attr("id", normalize_anchor("Terjemahan-" .. id)) or div end -- Implements {{trans-top}} and part of {{trans-top-also}}. local function top(args, title, id, navhead) local column_width = (args["column-width"] == "wide" or args["column-width"] == "narrow") and "-" .. args["column-width"] or "" local div = html_create("div") :addClass("NavFrame") :node(navhead) :tag("div") :addClass("NavContent") :tag("table") :addClass("translations") :attr("role", "presentation") :attr("data-gloss", title or "") :tag("tr") :tag("td") :addClass("translations-cell") :addClass("multicolumn-list" .. column_width) :attr("colspan", "3") :allDone() div = add_id(div, id) local categories = {} if not title then insert(categories, "Tabel terjemahan tidak memiliki glos pada kop") end local pagename = canonical_pagename() if is_translation_subpage() then insert(categories, "Subhalaman terjemahan") end return (tostring(div):gsub("</td></tr></table></div></div>$", "")) .. (#categories > 0 and format_categories(categories, en or get_en(), nil, pagename) or "") .. -- Category to trigger [[MediaWiki:Gadget-TranslationAdder.js]]; we want this even on -- user pages and such. format_categories("Entries with translation boxes", nil, nil, nil, true) .. templatestyles("Module:translations/styles.css") end -- Entry point for {{trans-top}}. function export.top(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["trans-top"]) local title = args[1] local id = args.id or title title = title and remove_links(title) return top(args, title, id, html_create("div") :addClass("NavHead") :css("text-align", "left") :wikitext(title or "Terjemahan") ) end -- Entry point for {{checktrans-top}}. function export.check_top(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["checktrans-top"]) local text = "\n:''Terjemahan di bawah ini perlu diperiksa dan dimasukkan ke dalam tabel terjemahan yang sesuai." .. --Lihat instruksi di " .. frame:expandTemplate{ title = "section link", args = {"WT:TLE#Terjemahan"} } .. ".''\n" local header = html_create("div") :addClass("checktrans") :wikitext(text) local subtitle = args[1] local title = "Terjemahan yang perlu diperiksa" if subtitle then title = title .. "&zwnj;: \"" .. subtitle .. "\"" end -- No ID, since these should always accompany proper translation tables, and can't be trusted anyway (i.e. there's no use-case for links). return tostring(header) .. "\n" .. top(args, title, nil, html_create("div") :addClass("NavHead") :css("text-align", "left") :wikitext(title or "Terjemahan") ) end -- Implements {{trans-bottom}}. function export.bottom(frame) -- Check nothing is being passed as a parameter. process_params(frame:getParent().args, (parameters_data or get_parameters_data())["trans-bottom"]) return "</table></div></div>" end -- Implements {{trans-see}} and part of {{trans-top-also}}. local function see(args, see_text) local navhead = html_create("div") :addClass("NavHead") :css("text-align", "left") :wikitext(args[1] .. " ") :tag("span") :css("font-weight", "normal") :wikitext("— ") :tag("i") :wikitext(see_text) :allDone() local terms, id = args[2], args.id if #terms == 0 then terms[1] = args[1] end for i = 1, #terms do local term_id = id[i] or id.default local data = { term = terms[i], id = term_id and "Translations-" .. term_id or "Translations", } terms[i] = plain_link(data) end return navhead:wikitext(concat(terms, ",&lrm; ")) end -- Entry point for {{trans-see}}. function export.see(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["trans-see"]) local div = html_create("div") :addClass("pseudo") :addClass("NavFrame") :node(see(args, "see ")) return tostring(add_id(div, args.id.default or args[1])) end -- Entry point for {{trans-top-also}}. function export.top_also(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["trans-top-also"]) local navhead = see(args, "see also ") local title = args[1] local id = args.id.default or title title = remove_links(title) return top(args, title, id, navhead) end -- Implements {{translation subpage}}. function export.subpage(frame) process_params(frame:getParent().args, (parameters_data or get_parameters_data())["translation subpage"]) if not is_translation_subpage() then error("This template should only be used on translation subpages, which have titles that end with '/translations'.") end -- "Translation subpages" category is handled by {{trans-top}}. return ("''This page contains translations for ''%s''. See the main entry for more information.''"):format(full_link{ lang = en or get_en(), term = canonical_pagename(), }) end -- Implements {{t-needed}}. function export.needed(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["t-needed"]) local lang, category = args[1], "" local span = html_create("span") :addClass("trreq") :attr("data-lang", lang:getCode()) :tag("i") :wikitext("please add this translation if you can") :done() if not args.nocat then local type, sort = args[2], args.sort if type == "quote" then category = "Requests for translations of " .. lang:getCanonicalName() .. " quotations" elseif type == "usex" then category = "Requests for translations of " .. lang:getCanonicalName() .. " usage examples" else category = "Requests for translations into " .. lang:getCanonicalName() lang = en or get_en() end category = format_categories(category, lang, sort, not sort and canonical_pagename() or nil) end return tostring(span) .. category end -- Implements {{no equivalent translation}}. function export.no_equivalent(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["tidak ada padanannya"]) local text = "tidak ada padanannya di " .. args[1]:getCanonicalNameLower() if not args.noend then text = text .. ", tapi lihat" end return tostring(html_create("i"):wikitext(text)) end -- Implements {{no attested translation}}. function export.no_attested(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["no attested translation"]) local langname = args[1]:getCanonicalNameLower() local text = "no [[WT:ATTEST|attested]] term in " .. langname local category = "" if not args.noend then text = text .. ", but see" local sort = args.sort category = format_categories(langname .. " unattested translations", en or get_en(), sort, not sort and canonical_pagename() or nil) end return tostring(html_create("i"):wikitext(text)) .. category end -- Implements {{not used}}. function export.not_used(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["not used"]) return tostring(html_create("i"):wikitext((args[2] or "not used") .. " in " .. args[1]:getCanonicalName())) end return export 42fm5brnj941bbizfjbxfresb9bj2ap 1350032 1350028 2026-04-15T11:30:09Z Swarabakti 18192 1350032 Scribunto text/plain local export = {} local anchors_module = "Module:anchors" local debug_track_module = "Module:debug/track" local languages_module = "Module:languages" local links_module = "Module:links" local pages_module = "Module:pages" local parameters_module = "Module:parameters" local string_utilities_module = "Module:string utilities" local templatestyles_module = "Module:TemplateStyles" local utilities_module = "Module:utilities" local wikimedia_languages_module = "Module:wikimedia languages" local concat = table.concat local html_create = mw.html.create local insert = table.insert local load_data = mw.loadData local new_title = mw.title.new local require = require --[==[ Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==] local function decode_uri(...) decode_uri = require(string_utilities_module).decode_uri return decode_uri(...) end local function format_categories(...) format_categories = require(utilities_module).format_categories return format_categories(...) end local function full_link(...) full_link = require(links_module).full_link return full_link(...) end local function get_link_page(...) get_link_page = require(links_module).get_link_page return get_link_page(...) end local function get_wikimedia_lang(...) get_wikimedia_lang = require(wikimedia_languages_module).getByCode return get_wikimedia_lang(...) end local function language_link(...) language_link = require(links_module).language_link return language_link(...) end local function normalize_anchor(...) normalize_anchor = require(anchors_module).normalize_anchor return normalize_anchor(...) end local function plain_link(...) plain_link = require(links_module).plain_link return plain_link(...) end local function process_params(...) process_params = require(parameters_module).process return process_params(...) end local function remove_links(...) remove_links = require(links_module).remove_links return remove_links(...) end local function split_on_slashes(...) split_on_slashes = require(links_module).split_on_slashes return split_on_slashes(...) end local function templatestyles(...) templatestyles = require(templatestyles_module) return templatestyles(...) end local function track(...) track = require(debug_track_module) return track(...) end --[==[ Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==] local en local function get_en() en, get_en = require(languages_module).getByCode("en"), nil return en end local headword_data local function get_headword_data() headword_data, get_headword_data = load_data("Module:headword/data"), nil return headword_data end local parameters_data local function get_parameters_data() parameters_data, get_parameters_data = load_data("Module:parameters/data"), nil return parameters_data end local translations_data local function get_translations_data() translations_data, get_translations_data = load_data("Module:translations/data"), nil return translations_data end local function is_translation_subpage(pagename) if (headword_data or get_headword_data()).page.namespace ~= "" then return false elseif not pagename then pagename = (headword_data or get_headword_data()).encoded_pagename end return pagename:match("./translations$") and true or false end local function canonical_pagename() local pagename = (headword_data or get_headword_data()).encoded_pagename return is_translation_subpage(pagename) and pagename:sub(1, -14) or pagename end local function interwiki(terminfo, term, lang, langcode) -- No interwiki link if term is empty/missing if not term or #term < 1 then terminfo.interwiki = false return end -- Percent-decode the term. term = decode_uri(terminfo.term, "PATH") -- Don't show an interwiki link if it's an invalid title. if not new_title(term) then terminfo.interwiki = false return end local interwiki_langcode = (translations_data or get_translations_data()).interwiki_langs[langcode] local wmlangs = interwiki_langcode and {get_wikimedia_lang(interwiki_langcode)} or lang:getWikimediaLanguages() -- Don't show the interwiki link if the language is not recognised by Wikimedia. if #wmlangs == 0 then terminfo.interwiki = false return end local sc = terminfo.sc local target_page = get_link_page(term, lang, sc) local split = split_on_slashes(target_page) if not split[1] then terminfo.interwiki = false return end target_page = split[1] local wmlangcode = wmlangs[1]:getCode() local interwiki_link = language_link{ lang = lang, sc = sc, term = wmlangcode .. ":" .. target_page, alt = "(" .. wmlangcode .. ")", tr = "-" } terminfo.interwiki = tostring(html_create("span") :addClass("tpos") :wikitext("&nbsp;" .. interwiki_link) ) end function export.show_terminfo(terminfo, check) local lang = terminfo.lang local langcode, langname = lang:getCode(), lang:getCanonicalNameLower() -- Translations must be for mainspace languages. if not lang:hasType("regular") then error("Terjemahan hanya dapat diberikan bagi bahasa yang tercatat dan sudah disahkan sebagai bahasa di ruang nama utama.") else local disallowed = (translations_data or get_translations_data()).disallowed local err_msg = disallowed[langcode] if err_msg then error("Terjemahan tidak diperbolehkan di " .. langname .. " (" .. langcode .. "). Terjemahan " .. langname .. " semestinya " .. err_msg) end local fullcode = lang:getFullCode() if fullcode ~= langcode then err_msg = disallowed[fullcode] if err_msg then langname = lang:getCanonicalNameLower() error("Terjemahan tidak diizinkan di " .. langname .. " (" .. fullcode .. "). " .. " terjemahan " .. langname .. " perlu " .. err_msg) end end end if langcode == "id" then if terminfo.interwiki then error("Galat") end local current_L2 = require(pages_module).get_current_L2() if current_L2 ~= "Lintas bahasa" and mw.title.getCurrentTitle().nsText ~= "Wikikamus" then if current_L2 then error("Terjemahan ke bahasa Indonesia hanya diperbolehkan pada subjudul Lintas bahasa, bukan di " .. current_L2) else error("Terjemahan ke bahasa Indonesia hanya diperbolehkan pada subjudul Lintas bahasa, bukan di luar semua subjudul") end end end local term = terminfo.term -- Check if there is a term. Don't show the interwiki link if there is nothing to link to. if not term then -- Track entries that don't provide a term. -- FIXME: This should be a category. track("translations/no term") track("translations/no term/" .. langcode) end if terminfo.interwiki then interwiki(terminfo, term, lang, langcode) end langcode = lang:getFullCode() if (translations_data or get_translations_data()).need_super[langcode] then local tr = terminfo.tr if tr ~= nil then terminfo.tr = tr:gsub("%d[%d%*%-]*%f[^%d%*]", "<sup>%0</sup>") end end -- Special behaviour for sign languages using |file= if lang:getFamily() and lang:getFamily():getCode() == "sgn" and terminfo.file then if not terminfo.term or terminfo.term == "" then terminfo.term = nil end local file = terminfo.file local filelink = "<br>[[File:" .. file .. "|frameless|upright=0.5]]" local span = html_create("span") :addClass("t-sign") :wikitext(filelink) :allDone() local categories = { "Istilah dengan terjemahan " .. lang:getCanonicalNameLower() } local cats = format_categories( categories, require("Module:languages").getByCode("id"), nil, (load_data("Module:headword/data").encoded_pagename:gsub("/translations$", "")) ) return tostring(span) .. cats end terminfo.show_qualifiers = true local link = full_link(terminfo, "translation") local canonical_name = lang:getCanonicalNameLower() local categories = {"Istilah dengan terjemahan " .. canonical_name} if check then link = tostring(html_create("span") :addClass("ttbc") :tag("sup") :addClass("ttbc") :wikitext("(tolong [[WT:Warung Kopi|pastikan]])") :done() :wikitext(" " .. link) ) insert(categories, "Permintaan pemastian terjemahan " .. langname) end return link .. format_categories(categories, en or get_en(), nil, canonical_pagename()) end -- Implements {{t}}, {{t+}}, {{t-check}} and {{t+check}}. function export.show(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["translation"]) local check = frame.args.check return export.show_terminfo({ lang = args[1], sc = args.sc, track_sc = true, term = args[2], alt = args.alt, id = args.id, genders = args[3], tr = args.tr, ts = args.ts, lit = args.lit, file = args.file, q = args.q, qq = args.qq, l = args.l, ll = args.ll, refs = args.ref, interwiki = frame.args.interwiki, }, check and check ~= "") end local function add_id(div, id) return id and div:attr("id", normalize_anchor("Terjemahan-" .. id)) or div end -- Implements {{trans-top}} and part of {{trans-top-also}}. local function top(args, title, id, navhead) local column_width = (args["column-width"] == "wide" or args["column-width"] == "narrow") and "-" .. args["column-width"] or "" local div = html_create("div") :addClass("NavFrame") :node(navhead) :tag("div") :addClass("NavContent") :tag("table") :addClass("translations") :attr("role", "presentation") :attr("data-gloss", title or "") :tag("tr") :tag("td") :addClass("translations-cell") :addClass("multicolumn-list" .. column_width) :attr("colspan", "3") :allDone() div = add_id(div, id) local categories = {} if not title then insert(categories, "Tabel terjemahan tidak memiliki glos pada kop") end local pagename = canonical_pagename() if is_translation_subpage() then insert(categories, "Subhalaman terjemahan") end return (tostring(div):gsub("</td></tr></table></div></div>$", "")) .. (#categories > 0 and format_categories(categories, en or get_en(), nil, pagename) or "") .. -- Category to trigger [[MediaWiki:Gadget-TranslationAdder.js]]; we want this even on -- user pages and such. format_categories("Entries with translation boxes", nil, nil, nil, true) .. templatestyles("Module:translations/styles.css") end -- Entry point for {{trans-top}}. function export.top(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["trans-top"]) local title = args[1] local id = args.id or title title = title and remove_links(title) return top(args, title, id, html_create("div") :addClass("NavHead") :css("text-align", "left") :wikitext(title or "Terjemahan") ) end -- Entry point for {{checktrans-top}}. function export.check_top(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["checktrans-top"]) local text = "\n:''Terjemahan di bawah ini perlu diperiksa dan dimasukkan ke dalam tabel terjemahan yang sesuai." .. --Lihat instruksi di " .. frame:expandTemplate{ title = "section link", args = {"WT:TLE#Terjemahan"} } .. ".''\n" local header = html_create("div") :addClass("checktrans") :wikitext(text) local subtitle = args[1] local title = "Terjemahan yang perlu diperiksa" if subtitle then title = title .. "&zwnj;: \"" .. subtitle .. "\"" end -- No ID, since these should always accompany proper translation tables, and can't be trusted anyway (i.e. there's no use-case for links). return tostring(header) .. "\n" .. top(args, title, nil, html_create("div") :addClass("NavHead") :css("text-align", "left") :wikitext(title or "Terjemahan") ) end -- Implements {{trans-bottom}}. function export.bottom(frame) -- Check nothing is being passed as a parameter. process_params(frame:getParent().args, (parameters_data or get_parameters_data())["trans-bottom"]) return "</table></div></div>" end -- Implements {{trans-see}} and part of {{trans-top-also}}. local function see(args, see_text) local navhead = html_create("div") :addClass("NavHead") :css("text-align", "left") :wikitext(args[1] .. " ") :tag("span") :css("font-weight", "normal") :wikitext("— ") :tag("i") :wikitext(see_text) :allDone() local terms, id = args[2], args.id if #terms == 0 then terms[1] = args[1] end for i = 1, #terms do local term_id = id[i] or id.default local data = { term = terms[i], id = term_id and "Translations-" .. term_id or "Translations", } terms[i] = plain_link(data) end return navhead:wikitext(concat(terms, ",&lrm; ")) end -- Entry point for {{trans-see}}. function export.see(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["trans-see"]) local div = html_create("div") :addClass("pseudo") :addClass("NavFrame") :node(see(args, "see ")) return tostring(add_id(div, args.id.default or args[1])) end -- Entry point for {{trans-top-also}}. function export.top_also(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["trans-top-also"]) local navhead = see(args, "see also ") local title = args[1] local id = args.id.default or title title = remove_links(title) return top(args, title, id, navhead) end -- Implements {{translation subpage}}. function export.subpage(frame) process_params(frame:getParent().args, (parameters_data or get_parameters_data())["translation subpage"]) if not is_translation_subpage() then error("This template should only be used on translation subpages, which have titles that end with '/translations'.") end -- "Translation subpages" category is handled by {{trans-top}}. return ("''This page contains translations for ''%s''. See the main entry for more information.''"):format(full_link{ lang = en or get_en(), term = canonical_pagename(), }) end -- Implements {{t-needed}}. function export.needed(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["t-needed"]) local lang, category = args[1], "" local span = html_create("span") :addClass("trreq") :attr("data-lang", lang:getCode()) :tag("i") :wikitext("please add this translation if you can") :done() if not args.nocat then local type, sort = args[2], args.sort if type == "quote" then category = "Requests for translations of " .. lang:getCanonicalName() .. " quotations" elseif type == "usex" then category = "Requests for translations of " .. lang:getCanonicalName() .. " usage examples" else category = "Requests for translations into " .. lang:getCanonicalName() lang = en or get_en() end category = format_categories(category, lang, sort, not sort and canonical_pagename() or nil) end return tostring(span) .. category end -- Implements {{no equivalent translation}}. function export.no_equivalent(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["tidak ada padanannya"]) local text = "tidak ada padanannya di " .. args[1]:getCanonicalNameLower() if not args.noend then text = text .. ", tapi lihat" end return tostring(html_create("i"):wikitext(text)) end -- Implements {{no attested translation}}. function export.no_attested(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["no attested translation"]) local langname = args[1]:getCanonicalNameLower() local text = "no [[WT:ATTEST|attested]] term in " .. langname local category = "" if not args.noend then text = text .. ", but see" local sort = args.sort category = format_categories(langname .. " unattested translations", en or get_en(), sort, not sort and canonical_pagename() or nil) end return tostring(html_create("i"):wikitext(text)) .. category end -- Implements {{not used}}. function export.not_used(frame) local args = process_params(frame:getParent().args, (parameters_data or get_parameters_data())["not used"]) return tostring(html_create("i"):wikitext((args[2] or "not used") .. " in " .. args[1]:getCanonicalNameLower())) end return export i3cntvcslejp8qrrs2qe0nr3yf6n9sp Modul:utilities 828 200743 1349855 1099247 2026-04-14T13:38:41Z Swarabakti 18192 1349855 Scribunto text/plain local export = {} local headword_data_module = "Module:headword/data" local languages_module = "Module:languages" local links_module = "Module:links" local load_module = "Module:load" local pages_module = "Module:pages" local script_utilities_module = "Module:script utilities" local scripts_module = "Module:scripts" local string_utilities_module = "Module:string utilities" local utilities_data_module = "Module:utilities/data" local mw = mw local anchor_encode = mw.uri.anchorEncode local concat = table.concat local format_categories -- Defined below. local ipairs = ipairs local require = require local type = type local unstrip = mw.text.unstrip --[==[ Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==] local function decode_entities(...) decode_entities = require(string_utilities_module).decode_entities return decode_entities(...) end local function get_script(...) get_script = require(scripts_module).getByCode return get_script(...) end local function is_content_page(...) is_content_page = require(pages_module).is_content_page return is_content_page(...) end local function load_data(...) load_data = require(load_module).load_data return load_data(...) end local function remove_links(...) remove_links = require(links_module).remove_links return remove_links(...) end local function tag_text(...) tag_text = require(script_utilities_module).tag_text return tag_text(...) end local function trim(...) trim = require(string_utilities_module).trim return trim(...) end local function uupper(...) uupper = require(string_utilities_module).upper return uupper(...) end --[==[ Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==] local catfix_scripts local function get_catfix_scripts() catfix_scripts, get_catfix_scripts = load_data(utilities_data_module).catfix_scripts, nil return catfix_scripts end local current_title local function get_current_title() current_title, get_current_title = mw.title.getCurrentTitle(), nil return current_title end local defaultsort local function get_defaultsort() defaultsort, get_defaultsort = load_data(headword_data_module).page.pagename_defaultsort, nil return defaultsort end local pagename local function get_pagename() pagename, get_pagename = load_data(headword_data_module).page.encoded_pagename, nil return pagename end local und local function get_und() und, get_und = require(languages_module).getByCode("und"), nil return und end do local function handle_url(capture) return capture:match("https?://[^%s%]]+%s([^%]]+)") or "" end --[==[ A helper function to strip wiki markup, giving the plaintext of what is displayed on the page.]==] function export.get_plaintext(text) text = text :gsub("%[%[", "\1") :gsub("%]%]", "\2") -- Remove strip markers and HTML tags. text = unstrip(text):gsub("<[^<>\1\2]+>", "") -- Parse internal links for the display text, and remove categories. text = remove_links(text) -- Remove files. text = text:gsub("\1[Ff][Ii][Ll][Ee]:[^\1\2]+\2", "") :gsub("\1[Ii][Mm][Aa][Gg][Ee]:[^\1\2]+\2", "") -- Parse external links for the display text. text = text:gsub("%[(https?://[^%[%]]+)%]", handle_url) -- Any remaining square brackets aren't involved in links, but must be escaped to avoid creating new links. :gsub("\1", "&#91;&#91;") :gsub("\2", "&#93;&#93;") :gsub("%[", "&#91;") :gsub("]", "&#93;") -- Strip bold, italics and soft hyphens. :gsub("('*)'''(.-'*)'''", "%1%2") :gsub("('*)''(.-'*)''", "%1%2") :gsub("­", "") -- Get any HTML entities and trim. -- Note: don't decode URL percent encoding, as it shouldn't be used in display text and may cause problems if % is used. return trim(decode_entities(text)) end end do local function generate_sortkey(lang, sc, sort_key, sort_base) -- If the sort key is "-", treat the language as undetermined (the default). This is desirable when categorising (e.g.) translation requests, as the pages to be categorised are always in English/Translingual. if sort_key == "-" then lang, sort_key = und or get_und(), nil elseif not lang then lang = und or get_und() end -- Generate the automatic sort key. local auto = lang:makeSortKey(sort_base or pagename or get_pagename(), sc) -- Use the page defaultsort if necessary. Try hard to avoid empty sort key, which causes categories to be -- displayed as raw text; fall back to pagename if necessary. if not auto or auto == "" then auto = defaultsort or get_defaultsort() end if not auto or auto == "" then auto = sort_base end if not auto or auto == "" then auto = pagename or get_pagename() end -- If not sort key specified, use the automatic one. if not sort_key or sort_key == "" then return auto -- Otherwise, if the language is not "und", categorize the manual sort key as either redundant or non-redundant. -- FIXME: we should do this for "und" as well, but "Undetermined terms..." does not make sense for translations etc. elseif lang:getCode() ~= "und" then return sort_key, "[[Category:" .. lang:getFullName() .. " terms with " .. ( uupper(sort_key) == auto and "redundant" or "non-redundant non-automated" ) .. " sortkeys|" .. sort_key .. "]]" end return sort_key end --[==[ Format the categories with the appropriate sort key. * `cat` can take two forms: ** A string (the full category, minus the {"Category:"} prefix); ** A list of categories. Each category in the list can be either: *** A string in the same format as above; *** An object with the fields: **** `cat`: a string in the same format as above (required); **** `lang`: an optional language object to override the overall `lang`; **** `sc`: an optional script object to override the overall `sc`. **** `sort_key`: an optional sort key to override the overall `sort_key`; **** `sort_base`: an optional sort base to override the overall `sort_base`; * `lang` is an object encapsulating a language; if {nil}, the object for language code {"und"} (undetermined) will be used. `lang` is used when computing the sort key (either from the subpage name or sort base). * `sort_key` is placed in the category invocation, and indicates how the page will sort in the respective category. Normally '''do not use this'''. Instead, leave it {nil}, and if you need to a control the sort order, use {sort_base}, so that language-specific normalization is applied on top of the specified sort base. If neither {sort_key} nor {sort_base} is specified, the default is to apply language-specific normalization to the subpage name; see below. * `sort_base` lets you override the default sort key while still maintaining appropriate language-specific normalization. If {nil} is specified, this defaults to the subpage name, which is the portion of the full pagename after subtracting the namespace prefix (and, in certain namespaces such as {User:}, but notably not in the mainspace, after subtracting anything up through the final slash). The actual sort key is derived from the sort base approximately by lowercasing, applying language-specific normalization and then uppercasing; note that the same process is applied in deriving the sort key when no sort base is specified. For example, for French, Spanish, etc. the normalization process maps accented letters to their unaccented equivalents, so that e.g. in French, {{m|fr|ça}} sorts after {{m|fr|ca}} (instead of after the default Wikimedia sort order, which is approximately based on Unicode sort order and places ç after z) and {{m|fr|côté}} sorts after {{m|fr|coté}} (instead of between c and d). Similarly, in Russian the normalization process converts Cyrillic ё to a string consisting of Cyrillic е followed by U+10FFFF, so that effectively ё sorts after е instead of the default Wikimedia sort, which (I think) puts ё after я, the last letter of the Cyrillic alphabet. * `force_output` forces normal output in all namespaces. Normally, nothing is output if the page isn't in the main, Appendix:, Thesaurus:, Reconstruction: or Citations: namespaces. * `sc` is a script object; if nil, the default will be derived from the sort base (or its default value, the subpage name) by calling {lang:findBestScript()}. The value of `sc` is used during the sort base normalization process; for example, languages with multiple scripts will often have script-specific normalization processes.]==] function export.format_categories(cat, lang, sort_key, sort_base, force_output, sc) if not ( force_output or is_content_page(current_title or get_current_title()) or current_title.prefixedText == "Wiktionary:Sandbox" ) then return "" elseif type(cat) == "string" then local this_sort_key, extra = generate_sortkey(lang, sc, sort_key, sort_base) return "[[Category:" .. cat .. "|" .. this_sort_key .. "]]" .. (extra or "") end local ret, i, n, default = {}, 0, 0 -- Iterate over all categories in `cat`. while true do i = i + 1 local category = cat[i] if category == nil then return concat(ret) end local this_sort_key, extra -- If the category type is a table, use any custom options in it. if type(category) == "table" then category, this_sort_key, extra = category.cat, generate_sortkey( category.lang or lang, category.sc or sc, category.sort_key or sort_key, category.sort_base or sort_base ) -- If `default` has already been determined, use it. elseif default then this_sort_key = default -- Otherwise, calculate `default` and use it. else this_sort_key, extra = generate_sortkey(lang, sc, sort_key, sort_base) default = this_sort_key end n = n + 1 ret[n] = "[[Category:" .. category .. "|" .. this_sort_key .. "]]" .. (extra or "") end end format_categories = export.format_categories end --[==[ Add a "catfix", which is used on language-specific category pages to add language attributes and often script classes to all entry names. The addition of language attributes and script classes makes the entry names display better (using the language- or script-specific styles specified in [[MediaWiki:Common.css]]), which is particularly important for non-English languages that do not have consistent font support in browsers. Language attributes are added for all languages, but script classes are only added for languages with one script listed in their data file, or for languages that have a default script listed in the {catfix_script} list in [[Module:utilities/data]]. Some languages clearly have a default script, but still have other scripts listed in their data file. If those other scripts are not simply scripts like {{cd|Brai}} (Braille), their default script needs to be specified. Others do not have a default script. * Serbo-Croatian is regularly written in both the Latin and Cyrillic scripts. Because it uses two scripts, Serbo-Croatian cannot have a script class applied to entries in its category pages, as only one script class can be specified at a time. * German is usually written in the Latin script ({{cd|Latn}}), but Fraktur ({{cd|Latf}}) is also listed in its data file. So German needs an entry in the {catfix_script} list, so that the {{cd|Latn}} (Latin) script class will be applied to entries in its category pages. To find the scripts listed for a language, go to [[Module:languages]] and use the search box to find the data file for the language. To find out what a script code means, search the script code in [[Module:scripts/data]].]==] function export.catfix(lang, sc) if not lang or not lang.getCanonicalName then error('The first argument to the function "catfix" should be a language object from [[Module:languages]] or [[Module:etymology languages]].') end if sc and not sc.getCode then error('The second argument to the function "catfix" should be a script object from [[Module:scripts]].') end -- To add script classes to links on pages created by category boilerplate templates. if not sc then local code = (catfix_scripts or get_catfix_scripts())[lang:getCode()] or catfix_scripts[lang:getFullCode()] if code then sc = get_script(code) end end -- If the language only has a single valid candidate script, apply it as the default. if not sc then local scripts = lang:getScripts() if #scripts == 1 then sc = scripts[1] else -- Iterate over scripts. If there is only one when ignoring -- scripts like Brai, then pick that one. for _, script in ipairs(scripts) do if script:getCode() ~= "Brai" then if sc then -- Multiple candidates - fail. sc = nil break else sc = script end end end end end -- Hack: using a <ul> tag prevents the parser from automatically generating a <p> tag around the catfix element. return "<ul class=\"catfix\" data-anchor=\"" .. anchor_encode(lang:getFullName()) .. "\">" .. tag_text("", lang, sc) .. "</ul>" .. format_categories("Pages using catfix", nil, nil, nil, true) end --[==[ Given a type (as a string) and an arbitrary number of entities, checks whether all of those entities are language, family, script, writing system or Wikimedia language objects. Useful for error handling in functions that require one of these kinds of object. If `noErr` is set, the function returns false instead of throwing an error, which allows customised error handling to be done in the calling function.]==] function export.check_object(typ, noErr, ...) if ... == nil then if noErr then return false end error("Must provide at least one object to check.", 2) end for _, obj in ipairs{...} do if type(obj) ~= "table" or type(obj.hasType) ~= "function" then if noErr then return false end error("Function expected a " .. typ .. " object, but received a " .. type(obj) .. " instead.", 2) elseif not (typ == "object" or obj:hasType(typ)) then for _, wrong_type in ipairs{"family", "language", "script", "Wikimedia language", "writing system"} do if obj:hasType(wrong_type) then if noErr then return false end error("Function expected a " .. typ .. " object, but received a " .. wrong_type .. " object instead.", 2) end end if noErr then return false end error("Function expected a " .. typ .. " object, but received another type of object instead.", 2) end end return true end return export szkevg9xl5j9wpvvgbzhwuqjxjznt9y terkenal 0 202860 1349956 1279426 2026-04-15T08:06:45Z Iripseudocorus 40083 rekam1 1349956 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ter|ke|nal}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-terkenal.wav}} {{imbuhan ter-|kenal}} {{imbuhan ter-|kenal|kelas=a}} # dikenal atau diketahui umum; termasyhur; tersohor: <br />''kemanjuran obat ini telah terkenal di seluruh dunia'' #* {{RQ:20 Mei Pelopor 17 Agustus |page=16 |text=Di Sumatera jang sangat '''terkenal''' ialah I.N.S. ''(Indonesisch Nederlandse School)'' jang didirikan oleh Mohamad Sjafei di Kajutanam, dengan systimnja pendidikan beladjar dan bekerdja ''(Arbeitschule)''. |norm=Di Sumatra yang sangat '''terkenal''' ialah I.N.S. ''(Indonesisch Nederlandse School)'' yang didirikan oleh Mohamad Syafei di Kayutanam, dengan sistemnya pendidikan belajar dan bekerja ''(Arbeitschule)''. |url=https://id.wikisource.org/wiki/Halaman%3A20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/15#:~:text=Di%20Sumatera%20jang%20sangat%20terkenal%20ialah%20I.N.S.%20(Indonesisch%20Nederlandse%20School)%20jang%20didirikan%20oleh%20Mohamad%20Sjafei%20di%20Kajutanam%2C%20dengan%20systimnja%20pendidikan%20beladjar%20dan%20bekerdja%20(Arbeitschule). }} {{-terjemahan-}} {{t-atas}} * bahasa Belanda: {{t|nl|beroemd}} * bahasa Inggris: {{t|en|famous}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} gn5npgs8n6j5rb8lmgutxqpxj2z4zh7 Kategori:swu:Nomina 14 209102 1349832 789606 2026-04-14T12:42:45Z Swarabakti 18192 1349832 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:swu:Adjektiva 14 209103 1349833 789607 2026-04-14T12:42:57Z Swarabakti 18192 1349833 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Modul:form of 828 210264 1349846 1327780 2026-04-14T13:13:01Z Swarabakti 18192 perbarui 1349846 Scribunto text/plain local export = {} export.force_cat = false -- for testing; set to true to display categories even on non-mainspace pages local debug_track_module = "Module:debug/track" local etymology_module = "Module:etymology" local form_of_cats_module = "Module:form of/cats" local form_of_data_module = "Module:form of/data" local form_of_data1_module = "Module:form of/data/1" local form_of_data2_module = "Module:form of/data/2" local form_of_functions_module = "Module:form of/functions" local form_of_lang_data_module_prefix = "Module:form of/lang-data/" local function_module = "Module:fun" local headword_data_module = "Module:headword/data" local json_module = "Module:JSON" local labels_module = "Module:labels" local links_module = "Module:links" local load_module = "Module:load" local parse_utilities_module = "Module:parse utilities" local string_utilities_module = "Module:string utilities" local table_module = "Module:table" local table_deep_equals_module = "Module:table/deepEquals" local utilities_module = "Module:utilities" local anchor_encode = mw.uri.anchorEncode local concat = table.concat local dump = mw.dumpObject local fetch_categories_and_labels -- Defined below. local format_form_of -- Defined below. local get_tag_display_form -- Defined below. local get_tag_set_display_form -- Defined below. local insert = table.insert local ipairs = ipairs local is_link_or_html -- Defined below. local list_to_text = mw.text.listToText local lookup_shortcut -- Defined below. local lookup_tag -- Defined below. local normalize_tag_set -- Defined below. local parse_tag_set_properties -- Defined below. local require = require local sort = table.sort local split_tag_set -- Defined below. local type = type --[==[ Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==] local function append(...) append = require(table_module).append return append(...) end local function contains(...) contains = require(table_module).contains return contains(...) end local function debug_track(...) debug_track = require(debug_track_module) return debug_track(...) end local function deep_copy(...) deep_copy = require(table_module).deepCopy return deep_copy(...) end local function deep_equals(...) deep_equals = require(table_deep_equals_module) return deep_equals(...) end local function extend(...) extend = require(table_module).extend return extend(...) end local function format_categories(...) format_categories = require(utilities_module).format_categories return format_categories(...) end local function full_link(...) full_link = require(links_module).full_link return full_link(...) end local function insert_if_not(...) insert_if_not = require(table_module).insertIfNot return insert_if_not(...) end local function is_subset_list(...) is_subset_list = require(table_module).isSubsetList return is_subset_list(...) end local function iterate_from(...) iterate_from = require(function_module).iterateFrom return iterate_from(...) end local function join_multiparts(...) join_multiparts = require(form_of_functions_module).join_multiparts return join_multiparts(...) end local function load_data(...) load_data = require(load_module).load_data return load_data(...) end local function parse_inline_modifiers(...) parse_inline_modifiers = require(parse_utilities_module).parse_inline_modifiers return parse_inline_modifiers(...) end local function remove_links(...) remove_links = require(links_module).remove_links return remove_links(...) end local function safe_load_data(...) safe_load_data = require(load_module).safe_load_data return safe_load_data(...) end local function safe_require(...) safe_require = require(load_module).safe_require return safe_require(...) end local function serial_comma_join(...) serial_comma_join = require(table_module).serialCommaJoin return serial_comma_join(...) end local function shallow_copy(...) shallow_copy = require(table_module).shallowCopy return shallow_copy(...) end local function show_labels(...) show_labels = require(labels_module).show_labels return show_labels(...) end local function slice(...) slice = require(table_module).slice return slice(...) end local function split(...) split = require(string_utilities_module).split return split(...) end local function ucfirst(...) ucfirst = require(string_utilities_module).ucfirst return ucfirst(...) end --[==[ Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==] local cat_functions local function get_cat_functions() cat_functions, get_cat_functions = require(form_of_functions_module).cat_functions, nil return cat_functions end local default_pagename local function get_default_pagename() default_pagename, get_default_pagename = load_data(headword_data_module).pagename, nil return default_pagename end local display_handlers local function get_display_handlers() display_handlers, get_display_handlers = require(form_of_functions_module).display_handlers, nil return display_handlers end local m_cats_data local function get_m_cats_data() m_cats_data, get_m_cats_data = load_data(form_of_cats_module), nil return m_cats_data end local m_data local function get_m_data() -- Needs require. m_data, get_m_data = require(form_of_data_module), nil return m_data end local m_data1 local function get_m_data1() m_data1, get_m_data1 = load_data(form_of_data1_module), nil return m_data1 end local m_data2 local function get_m_data2() m_data2, get_m_data2 = load_data(form_of_data2_module), nil return m_data2 end local m_pos_data local function get_m_pos_data() m_pos_data, get_m_pos_data = load_data(headword_data_module).pos_aliases, nil return m_pos_data end --[==[ intro: This module implements the underlying processing of {{tl|form of}}, {{tl|inflection of}} and specific variants such as {{tl|past participle of}} and {{tl|alternative spelling of}}. Most of the logic in this file is to handle tags in {{tl|inflection of}}. Other related files: * [[Module:form of/templates]] contains the majority of the logic that implements the templates themselves. * [[Module:form of/data/1]] is a data-only file containing information on the more common inflection tags, listing the tags, their shortcuts, the category they belong to (tense-aspect, case, gender, voice-valence, etc.), the appropriate glossary link and the wikidata ID. * [[Module:form of/data/2]] is a data-only file containing information on the less common inflection tags, in the same format as [[Module:form of/data/1]]. * [[Module:form of/lang-data/LANGCODE]] is a data-only file containing information on the language-specific inflection tags for the language with code LANGCODE, in the same format as [[Module:form of/data/1]]. Language-specific tags override general tags. * [[Module:form of/cats]] is a data-only file listing the language-specific categories that are added when the appropriate combinations of tags are seen for a given language. * [[Module:form of/functions]] contains functions for use with [[Module:form of/data/1]] and [[Module:form of/cats]]. They are contained in this module because data-only modules can't contain code. The functions in this file are of two types: *# Display handlers allow for customization of the display of multipart tags (see below). Currently there is only one such handler, for handling multipart person tags such as `1//2//3`. *# Cat functions allow for more complex categorization logic, and are referred to by name in [[Module:form of/cats]]. Currently no such functions exist. The following terminology is used in conjunction with {{tl|inflection of}}: * A ''tag'' is a single grammatical item, as specified in a single numbered parameter of {{tl|inflection of}}. Examples are `masculine`, `nominative`, or `first-person`. Tags may be abbreviated, e.g. `m` for `masculine`, `nom` for `nominative`, or `1` for `first-person`. Such abbreviations are called ''aliases'', and some tags have multiple equivalent aliases (e.g. `p` or `pl` for `plural`). The full, non-abbreviated form of a tag is called its ''canonical form''. * The ''display form'' of a tag is the way it's displayed to the user. Usually the displayed text of the tag is the same as its canonical form, and it normally functions as a link to a glossary entry explaining the tag. Usually the link is to an entry in [[Appendix:Glossary]], but sometimes the tag is linked to an individual dictionary entry or to a Wikipedia entry. Occasionally, the display text differs from the canonical form of the tag. An example is the tag `comparative case`, which has the display text read as simply `comparative`. Normally, tags referring to cases don't have the word "case" in them, but in this case the tag `comparative` was already used as an alias for the tag `comparative degree`, so the tag was named `comparative case` to avoid clashing. A similar situation occurs with `adverbial case` vs. the grammar tag `adverbial` (as in `adverbial participle`). * A ''tag set'' is an ordered list of tags, which together express a single inflection, for example, `1|s|pres|ind`, which can be expanded to canonical-form tags as `first-person|singular|present|indicative`. * A ''conjoined tag set'' is a tag set that consists of multiple individual tag sets separated by a semicolon, e.g. `1|s|pres|ind|;|2|s|imp`, which specifies two tag sets, `1|s|pres|ind` as above and `2|s|imp` (in canonical form, `second-person|singular|imperative`). Multiple tag sets specified in a single call to {{tl|inflection of}} are specified in this fashion. Conjoined tag sets can also occur in list-tag shortcuts. * A ''multipart tag'' is a tag that embeds multiple tags within it, such as `f//n` or `nom//acc//voc`. These are used in the case of [[syncretism]], when the same form applies to multiple inflections. Examples are the Spanish present subjunctive, where the first-person and third-person singular have the same form (e.g. {{m|es|siga}} from {{m|es|seguir|t=to follow}}), or Latin third-declension adjectives, where the dative and ablative plural of all genders have the same form (e.g. {{m|la|omnibus}} from {{m|la|omnis|t=all}}). These would be expressed respectively as `1//3|s|pres|sub` and `dat//abl|m//f//n|p`, where the use of the multipart tag compactly encodes the syncretism and avoids the need to individually list out all of the inflections. Multipart tags currently display as a list separated by a slash, e.g. ''dative/ablative'' or ''masculine/feminine/neuter'' where each individual word is linked appropriately. As a special case, multipart tags involving persons display specially; for example, the multipart tag `1//2//3` displays as ''first-, second- and third-person'', with the word "person" occurring only once. * A ''two-level multipart tag'' is a special type of multipart tag that joins two or more tag sets instead of joining individual tags. The tags within the tag set are joined by a colon, e.g. `1:s//3:p`, which is displayed as ''first-person singular and third-person plural'', e.g. for use with the form {{m|grc|μέλλον}} of the verb {{m|grc|μέλλω|t=to intend}}, which uses the tag set `1:s//3:p|impf|actv|indc|unaugmented` to express the syncretism between the first singular and third plural forms of the imperfect active indicative unaugmented conjugation. Two-level multipart tags should be used sparingly; if in doubt, list out the inflections separately. [FIXME: Make two-level multipart tags obsolete.] * A ''shortcut'' is a tag that expands to any type of tag described above, or to any type of tag set described above. Aliases are a particular type of shortcut whose expansion is a single non-multipart tag. * A ''multipart shortcut'' is a shortcut that expands into a multipart tag, for example `123`, which expands to the multipart tag `1//2//3`. Only the most common such combinations exist as shortcuts. * A ''list shortcut'' is a special type of shortcut that expands to a list of tags instead of a single tag. For example, the shortcut `1s` expands to `1|s` (first-person singular). Only the most common such combinations exist as shortcuts. * A ''conjoined shortcut'' is a special type of list shortcut that consists of a conjoined tag set (multiple logical tag sets). For example, the English language-specific shortcut `ed-form` expands to `spast|;|past|part`, expressing the common syncretism between simple past and past participle in English (and in this case, `spast` is itself a list shortcut that expands to `simple|past`).]==] -- Add tracking category for PAGE when called from {{inflection of}} or -- similar TEMPLATE. The tracking category linked to is -- [[Wiktionary:Tracking/inflection of/PAGE]]. local function track(page) debug_track("inflection of/" .. -- avoid including links in pages (may cause error) page:gsub("%[", "("):gsub("%]", ")"):gsub("|", "!") ) end local function wrap_in_span(text, classes) if classes then return ("<span class='%s'>%s</span>"):format(classes, text) else return text end end local function show_linked_term(data) local termobj, face, span_classes, ok_to_destructively_modify, overall_lang, text_classes = data.termobj, data.face, data.span_classes, data.ok_to_destructively_modify, data.overall_lang, data.text_classes local need_to_copy, pretext_lang local categories = {} if overall_lang and overall_lang:getCode() ~= termobj.lang:getCode() then local lang_display lang_display, categories = require(etymology_module).insert_source_cat_get_display { lang = data.overall_lang, source = termobj.lang, } pretext_lang = wrap_in_span(lang_display .. " ", text_classes) end local need_to_show_qualifiers = termobj.q or termobj.qq or termobj.a or termobj.aa or termobj.l or termobj.ll or termobj.refs need_to_copy = not ok_to_destructively_modify and (pretext_lang or need_to_show_qualifiers) if need_to_copy then termobj = shallow_copy(termobj) end if pretext_lang then termobj.pretext = pretext_lang end if need_to_show_qualifiers then termobj.show_qualifiers = true end return wrap_in_span(full_link(termobj, face), span_classes), categories end --[==[ Lowest-level implementation of form-of templates, including the general {{tl|form of}} as well as those that deal with inflection tags, such as the general {{tl|inflection of}}, semi-specific variants such as {{tl|participle of}}, and specific variants such as {{tl|past participle of}}. `data` contains all the information controlling the display, with the following fields: * `.lang`: Overall language of the form-of template. If specified, any lemmas, enclitics or base lemmas that are of a different language will have that language displayed before the term in question. * `.text`: Text to insert before the lemmas. Wrapped in the value of `.text_classes`, or its default; see below. * `.lemmas`: List of objects describing the lemma(s) of which the term in question is a non-lemma form. These are passed directly to {full_link()} in [[Module:links]]. Each object should have at minimum a `.lang` field containing the language of the lemma and a `.term` field containing the lemma itself. Each object is formatted using {full_link()} and then if there are more than one, they are joined using {serialCommaJoin()} in [[Module:table]]. Alternatively, `.lemmas` can be a string, which is displayed directly, or omitted, to show no lemma links and omit the connecting text. * `.lemma_face`: "Face" to use when displaying the lemma objects. Usually should be set to {"term"}. * `.conj`: Conjunction or separator to use when joining multiple lemma objects. If {nil}, defaults to {"and"}. If this has the value {false}, the lemmas are preceded with the `.separator` field in each lemma. * `.enclitics`: List of enclitics to display after the lemmas, in parens. * `.enclitic_conj`: Conjunction or separator to use when joining multiple enclitics. Defaults to {"and"}. * `.base_lemmas`: List of base lemmas to display after the lemmas, in the case where the lemmas in `.lemmas` are themselves forms of another lemma (the base lemma), e.g. a comparative, superlative or participle. Each object is of the form { { paramobj = PARAM_OBJ, lemmas = {LEMMA_OBJ, LEMMA_OBJ, ...}, conj = "CONJ" }} where PARAM_OBJ describes the properties of the base lemma parameter (i.e. the relationship between the intermediate and base lemmas); LEMMA_OBJ is an object suitable to be passed to {full_link()} in [[Module:links]]; and CONJ is the conjunction to join multiple lemmas with, defaulting to {"and"}. PARAM_OBJ is of the format { { param = "PARAM", tags = {"TAG", "TAG", ...} } where PARAM is the name of the parameter to {{tl|inflection of}} etc. that holds the base lemma(s) of the specified relationship and the tags describe the relationship, such as { {"comd"}} or { {"past", "part"}}. * `.text_classes`: CSS classes used to wrap the tag text and lemma links. Default is {"form-of-definition use-with-mention"}. Use `false` for no wrapping. * `.lemma_classes`: Additional CSS classes used to wrap the lemma links. Default is {"form-of-definition-link"}. Use `false` for no wrapping. * `.posttext`: Additional text to display after the lemma links. * `.ok_to_destructively_modify`: If set, data structures (including the nested lemma structures) can be modified in-place to save memory; otherwise they will be copied before modifying. Returns two values, the formatted string and any categories to add the page to (which will arise if `.lang` is specified and a language other than `.lang` is given in one of the lemmas in `.lemmas` or enclitics in `.enclitics`). ]==] function export.format_form_of(data) if type(data) ~= "table" then error("Internal error: First argument must now be a table of arguments") end local text_classes = data.text_classes if text_classes == nil and not data.nowrap then text_classes = "form-of-definition use-with-mention" end local lemma_classes = data.lemma_classes if lemma_classes == nil then lemma_classes = "form-of-definition-link" end local parts = {} if text_classes then insert(parts, "<span class='" .. text_classes .. "'>") end insert(parts, data.text) if data.text ~= "" and data.lemmas then insert(parts, " ") end local categories = {} if data.lemmas then if type(data.lemmas) == "string" then insert(parts, wrap_in_span(data.lemmas, lemma_classes)) else local formatted_terms = {} for _, lemma in ipairs(data.lemmas) do local linked_term, this_categories = show_linked_term { termobj = lemma, face = data.lemma_face, span_classes = lemma_classes, ok_to_destructively_modify = data.ok_to_destructively_modify, overall_lang = data.lang, text_classes = text_classes } if this_categories[1] then extend(categories, this_categories) end if data.conj == false and lemma.separator then insert(formatted_terms, lemma.separator) end insert(formatted_terms, linked_term) end if data.conj == false then insert(parts, concat(formatted_terms)) else insert(parts, serial_comma_join(formatted_terms, {conj = data.conj or "and"})) end end if data.lit then insert(parts, ", literally " .. require(links_module).mark(data.lit, "gloss")) end end if data.enclitics and #data.enclitics > 0 then -- The outer parens need to be outside of the text_classes span so they show in upright instead of italic, or -- they will clash with upright parens generated by link annotations such as transliterations and pos=. if text_classes then insert(parts, "</span>") end local formatted_terms = {} for _, enclitic in ipairs(data.enclitics) do -- FIXME, should we have separate clitic face and/or classes? local linked_term, this_categories = show_linked_term { termobj = enclitic, face = data.lemma_face, span_classes = lemma_classes, ok_to_destructively_modify = data.ok_to_destructively_modify, overall_lang = data.lang, text_classes = text_classes } if this_categories[1] then extend(categories, this_categories) end insert(formatted_terms, linked_term) end insert(parts, " (") insert(parts, wrap_in_span("with enclitic" .. (#data.enclitics > 1 and "s" or "") .. " ", text_classes)) insert(parts, serial_comma_join(formatted_terms, {conj = data.enclitic_conj or "and"})) insert(parts, ")") if text_classes then insert(parts, "<span class='" .. text_classes .. "'>") end end if data.base_lemmas and #data.base_lemmas > 0 then for _, base_lemma in ipairs(data.base_lemmas) do insert(parts, ", the ") if text_classes then insert(parts, "</span>") end insert(parts, (export.tagged_inflections { lang = data.lang or base_lemma.lemmas[1].lang, tags = base_lemma.paramobj.tags, lemmas = base_lemma.lemmas, conj = base_lemma.conj or "and", lemma_face = data.lemma_face, no_format_categories = true, nocat = true, text_classes = data.text_classes, ok_to_destructively_modify = ok_to_destructively_modify, })) if text_classes then insert(parts, "<span class='" .. text_classes .. "'>") end end end -- FIXME, should posttext go before enclitics? If so we need to have separate handling for the -- final colon when there are multiple tag sets in tagged_inflections(). if data.posttext then insert(parts, data.posttext) end if text_classes then insert(parts, "</span>") end return concat(parts), categories end format_form_of = export.format_form_of --[==[ Return true if `tag` contains an internal link or HTML.]==] function export.is_link_or_html(tag) return tag:find("[[", nil, true) or tag:find("|", nil, true) or tag:find("<", nil, true) end is_link_or_html = export.is_link_or_html --[==[ Look up a tag (either a shortcut of any sort of a canonical long-form tag) and return its expansion. The expansion will be a string unless the shortcut is a list-tag shortcut such as `1s`; in that case, the expansion will be a list. The caller must handle both cases. Only one level of expansion happens; hence, `acc` expands to {"accusative"}, `1s` expands to { {"1", "s"}} (not to { {"first", "singular"}}) and `123` expands to {"1//2//3"}. The expansion will be the same as the passed-in tag in the following circumstances: # The tag is `;` (this is special-cased, and no lookup is done). # The tag is a multipart tag such as `nom//acc` (this is special-cased, and no lookup is done). # The tag contains a raw link (this is special-cased, and no lookup is done). # The tag contains HTML (this is special-cased, and no lookup is done). # The tag is already a canonical long-form tag. # The tag is unrecognized. This function first looks up in the lang-specific data module [[Module:form of/lang-data/LANGCODE]], then in [[Module:form of/data/1]] (which includes more common non-lang-specific tags) and finally (only if the tag is not recognized as a shortcut or canonical tag, and is not of types 1-4 above) in [[Module:form of/data/2]]. If the expansion is a string and is different from the tag, track it if `do_track` is true.]==] function export.lookup_shortcut(tag, lang, do_track) -- If there is HTML or a link in the tag, return it directly; don't try -- to look it up, which will fail. if tag == ";" or tag:find("//", nil, true) or is_link_or_html(tag) then return tag end local expansion while lang do local langdata = safe_load_data(form_of_lang_data_module_prefix .. lang:getCode()) -- If this is a canonical long-form tag, just return it, and don't check for shortcuts. This is an -- optimization; see below. if langdata then if langdata.tags[tag] then return tag end expansion = langdata.shortcuts[tag] if expansion then break end end -- If the language has a parent (i.e. a superordinate variety), try again with that. lang = lang:getParent() end if not expansion then -- If this is a canonical long-form tag, just return it, and don't check for shortcuts (which will cause -- [[Module:form of/data/2]] to be loaded, because there won't be a shortcut entry in [[Module:form of/data/1]] -- -- or, for that matter, in [[Module:form of/data/2]]). This is an optimization; the code will still work without -- it, but will use up more memory. if (m_data1 or get_m_data1()).tags[tag] then return tag end expansion = m_data1.shortcuts[tag] end if not expansion then expansion = (m_data2 or get_m_data2()).shortcuts[tag] end if not expansion then return tag end -- Maybe track the expansion if it's not the same as the raw tag. if do_track and expansion ~= tag and type(expansion) == "string" then track("tag/" .. tag) end return expansion end lookup_shortcut = export.lookup_shortcut --[==[ Look up a normalized/canonicalized tag and return the data object associated with it. If the tag isn't found, return nil. This first looks up in the lang-specific data module [[Module:form of/lang-data/LANGCODE]], then in [[Module:form of/data/1]] (which includes more common non-lang-specific tags) and then finally in [[Module:form of/data/2]].]==] function export.lookup_tag(tag, lang) while lang do local langdata = safe_load_data(form_of_lang_data_module_prefix .. lang:getCode()) local tag = langdata and langdata.tags[tag] if tag then return tag end -- If the language has a parent (i.e. a superordinate variety), try again with that. lang = lang:getParent() end local tagobj = (m_data1 or get_m_data1()).tags[tag] if tagobj then return tagobj end local tagobj2 = (m_data2 or get_m_data2()).tags[tag] if tagobj2 then return tagobj2 end return nil end lookup_tag = export.lookup_tag -- Normalize a single tag, which may be a shortcut but should not be a multipart tag, a multipart shortcut or a list -- shortcut. local function normalize_single_tag(tag, lang, do_track) local expansion = lookup_shortcut(tag, lang, do_track) if type(expansion) ~= "string" then error("Tag '" .. tag .. "' is a list shortcut, which is not allowed here") end tag = expansion if not lookup_tag(tag, lang) and do_track then -- If after all expansions and normalizations we don't recognize the canonical tag, track it. track("unknown") track("unknown/" .. tag) end return tag end --[=[ Normalize a component of a multipart tag. This should not have any // in it, but may join multiple individual tags with a colon, and may be a single list-tag shortcut, which is treated as if colon-separated. The return value may be a list of tags. ]=] local function normalize_multipart_component(tag, lang, do_track) -- If there is HTML or a link in the tag, don't try to split on colon. A colon may legitimately occur in either one, -- and we don't want these things parsed. Note that we don't do this check before splitting on //, which we don't -- expect to occur in links or HTML; see comment in normalize_tag(). if is_link_or_html(tag) then return tag end local components = split(tag, ":", true) if #components == 1 then -- We allow list-tag shortcuts inside of multipart tags, e.g. -- '1s//3p'. Check for this now. tag = lookup_shortcut(tag, lang, do_track) if type(tag) == "table" then -- Temporary tracking as we will disallow this. track("list-tag-inside-of-multipart") -- We found a list-tag shortcut; treat as if colon-separated. components = tag else return normalize_single_tag(tag, lang, do_track) end end local normtags = {} -- Temporary tracking as we will disallow this. track("two-level-multipart") for _, component in ipairs(components) do if do_track then -- There are multiple components; track each of the individual -- raw tags. track("tag/" .. component) end insert(normtags, normalize_single_tag(component, lang, do_track)) end return normtags end --[=[ Normalize a single tag. The return value may be a list (in the case of multipart tags), which will contain nested lists in the case of two-level multipart tags. ]=] local function normalize_tag(tag, lang, do_track) -- We don't check for links or HTML before splitting on //, which we don't expect to occur in links or HTML. Doing -- it this way allows for a tag like '{{lb|grc|Epic}}//{{lb|grc|Ionic}}' to function correctly (the template calls -- will be expanded before we process the tag, and will contain links and HTML). The only check we do is for a URL, -- which shouldn't normally occur, but might if the user tries to put an external link into the tag. URL's with // -- normally have the sequence ://, which should never normally occur when // and : are used in their normal ways. if tag:find("://", nil, true) then return tag end local split_tags = split(tag, "//", true) if #split_tags == 1 then local retval = normalize_multipart_component(tag, lang, do_track) if type(retval) == "table" then -- The user gave a tag like '1:s', i.e. with colon but without //. Allow this, but we need to return a -- nested list. return {retval} end return retval end local normtags = {} for _, single_tag in ipairs(split_tags) do if do_track then -- If the tag was a multipart tag, track each of individual raw tags. track("tag/" .. single_tag) end insert(normtags, normalize_multipart_component(single_tag, lang, do_track)) end return normtags end --[==[ Normalize a tag set (a list of tags) into its canonical-form tags. The return value is a list of normalized tag sets (a list because of there may be conjoined shortcuts among the input tags). A normalized tag set is a list of tag elements, where each element is either a string (the canonical form of a tag), a list of such strings (in the case of multipart tags) or a list of lists of such strings (in the case of two-level multipart tags). For example, the multipart tag `nom//acc//voc` will be represented in canonical form as { {"nominative", "accusative", "vocative"}}, and the two-level multipart tag `1:s//3:p` will be represented as { {{"first-person", "singular"}, {"third-person", "plural"}}}. Example 1: {normalize_tag_set({"nom//acc//voc", "n", "p"})} = { {{{"nominative", "accusative", "vocative"}, "masculine", "plural"}}} Example 2: {normalize_tag_set({"ed-form"}, ENGLISH)} = { {{"simple", "past"}, {"past", "participle"}}} Example 3: {normalize_tag_set({"archaic", "ed-form"}, ENGLISH)} = { {{"archaic", "simple", "past"}, {"archaic", "past", "participle"}}}]==] function export.normalize_tag_set(tag_set, lang, do_track) -- We track usage of shortcuts, normalized forms and (in the case of multipart tags or list tags) intermediate -- forms. For example, if the tags 1s|mn|gen|indefinite are passed in, we track the following: -- [[Wiktionary:Tracking/inflection of/tag/1s]] -- [[Wiktionary:Tracking/inflection of/tag/1]] -- [[Wiktionary:Tracking/inflection of/tag/s]] -- [[Wiktionary:Tracking/inflection of/tag/first-person]] -- [[Wiktionary:Tracking/inflection of/tag/singular]] -- [[Wiktionary:Tracking/inflection of/tag/mn]] -- [[Wiktionary:Tracking/inflection of/tag/m//n]] -- [[Wiktionary:Tracking/inflection of/tag/m]] -- [[Wiktionary:Tracking/inflection of/tag/n]] -- [[Wiktionary:Tracking/inflection of/tag/masculine]] -- [[Wiktionary:Tracking/inflection of/tag/neuter]] -- [[Wiktionary:Tracking/inflection of/tag/gen]] -- [[Wiktionary:Tracking/inflection of/tag/genitive]] -- [[Wiktionary:Tracking/inflection of/tag/indefinite]] local output_tag_set = {} local saw_semicolon = false for _, tag in ipairs(tag_set) do if do_track then -- Track the raw tag. track("tag/" .. tag) end -- Expand the tag, which may generate a new tag (either a fully canonicalized tag, a multipart tag, or a list -- of tags). tag = lookup_shortcut(tag, lang, do_track) if type(tag) == "table" then if contains(tag, ";") then -- If we saw a conjoined shortcut, we need to use a more general algorithm that can expand a single -- tag set into multiple. saw_semicolon = true break end for _, t in ipairs(tag) do if do_track then -- If the tag expands to a list of raw tags, track each of those. track("tag/" .. t) end insert(output_tag_set, normalize_tag(t, lang, do_track)) end else insert(output_tag_set, normalize_tag(tag, lang, do_track)) end end if not saw_semicolon then return {output_tag_set} end -- Use a more general algorithm that handles conjoined shortcuts. output_tag_set = {} for i, tag in ipairs(tag_set) do if do_track then -- Track the raw tag. track("tag/" .. tag) end -- Expand the tag, which may generate a new tag (either a fully canonicalized tag, a multipart tag, or a list -- of tags). tag = lookup_shortcut(tag, lang, do_track) if type(tag) == "table" then local output_tag_sets = {} local shortcut_tag_sets = split_tag_set(tag) local normalized_shortcut_tag_sets = {} for _, shortcut_tag_set in ipairs(shortcut_tag_sets) do extend(normalized_shortcut_tag_sets, normalize_tag_set(shortcut_tag_set, lang, do_track)) end local after_tags = slice(tag_set, i + 1) local normalized_after_tags_sets = normalize_tag_set(after_tags, lang, do_track) for _, normalized_shortcut_tag_set in ipairs(normalized_shortcut_tag_sets) do for _, normalized_after_tags_set in ipairs(normalized_after_tags_sets) do insert(output_tag_sets, append(output_tag_set, normalized_shortcut_tag_set, normalized_after_tags_set)) end end return output_tag_sets else insert(output_tag_set, normalize_tag(tag, lang, do_track)) end end error("Internal error: Should not get here") end normalize_tag_set = export.normalize_tag_set --[==[ Split a tag set that may consist of multiple semicolon-separated tag sets into the component tag sets.]==] function export.split_tag_set(tag_set) local split_tag_sets = {} local cur_tag_set = {} for _, tag in ipairs(tag_set) do if tag == ";" then if #cur_tag_set > 0 then insert(split_tag_sets, cur_tag_set) end cur_tag_set = {} else insert(cur_tag_set, tag) end end if #cur_tag_set > 0 then insert(split_tag_sets, cur_tag_set) end return split_tag_sets end split_tag_set = export.split_tag_set local tag_set_param_mods = { lb = { item_dest = "labels", convert = function(arg, parse_err) return split(arg, "//", true) end, } } --[==[ Parse tag set properties from a tag set (list of tags). Currently no per-tag properties are recognized, and the only per-tag-set property recognized is `<lb:...>` for specifing label(s) for the tag set. Per-tag-set properties must be attached to the last tag.]==] function export.parse_tag_set_properties(tag_set) local function generate_tag_set_obj(last_tag) tag_set[#tag_set] = last_tag return {tags = tag_set} end local last_tag = tag_set[#tag_set] -- Check for inline modifier, e.g. מרים<tr:Miryem>. But exclude HTML entry with <span ...>, <i ...>, <br/> or -- similar in it, caused by wrapping an argument in {{l|...}}, {{af|...}} or similar. Basically, all tags of -- the sort we parse here should consist of a less-than sign, plus letters, plus a colon, e.g. <lb:...>, so if -- we see a tag on the outer level that isn't in this format, we don't try to parse it. The restriction to the -- outer level is to allow generated HTML inside of e.g. qualifier tags, such as foo<q:similar to {{m|fr|bar}}>. if last_tag:find("<", nil, true) and not last_tag:find("^[^<]*<%l*[^%l:]") then return parse_inline_modifiers(last_tag, { param_mods = tag_set_param_mods, generate_obj = generate_tag_set_obj, }) else return generate_tag_set_obj(last_tag) end end parse_tag_set_properties = export.parse_tag_set_properties local function normalize_pos(pos) if not pos then return nil end return (m_pos_data or get_m_pos_data())[pos] or pos end -- Return the display form of a single canonical-form tag. The value -- passed in must be a string (i.e. it cannot be a list describing a -- multipart tag). To handle multipart tags, use get_tag_display_form(). -- A truthy `nolink` suppresses linking. local function get_single_tag_display_form(normtag, lang, nolink) local data = lookup_tag(normtag, lang) local display = normtag -- If the tag has a special display form, use it if data and data.display then display = data.display if nolink then display = remove_links(display) end end -- If there is a nonempty glossary index, then show a link to it if not nolink then local glossary = data and data[(m_data or get_m_data()).GLOSSARY] if glossary ~= nil then if glossary == m_data.WIKT then display = "[[" .. normtag .. "|" .. display .. "]]" elseif glossary == m_data.WP then display = "[[w:" .. normtag .. "|" .. display .. "]]" elseif glossary == m_data.APPENDIX then display = "[[Lampiran:Glosarium#" .. anchor_encode(normtag) .. "|" .. display .. "]]" elseif type(glossary) ~= "string" then error(("Internal error: Wrong type %s for glossary value %s for tag %s"):format( type(glossary), dump(glossary), normtag)) else local link = glossary:match("^wikt:(.*)") if link then display = "[[" .. link .. "|" .. display .. "]]" end if not link then link = glossary:match("^w:(.*)") if link then display = "[[w:" .. link .. "|" .. display .. "]]" end end if not link then display = "[[Appendix:Glossary#" .. anchor_encode(glossary) .. "|" .. display .. "]]" end end end end return display end --[==[ Turn a canonicalized tag spec (which describes a single, possibly multipart tag) into the displayed form. The tag spec may be a string (a canonical-form tag); a list of canonical-form tags (in the case of a simple multipart tag); or a list of mixed canonical-form tags and lists of such tags (in the case of a two-level multipart tag). `joiner` indicates how to join the parts of a multipart tag, and can be either {"and"} ("foo and bar", or "foo, bar and baz" for 3 or more), {"slash"} ("foo/bar"), {"en-dash"} ("foo–bar") or {nil}, which uses the global default found in {multipart_join_strategy()} in [[Module:form of/functions]]. (NOTE: The global default is {"slash"} and this seems unlikely to change.) A truthy `nolink` suppresses linking.]==] function export.get_tag_display_form(tagspec, lang, joiner, nolink) if type(tagspec) == "string" then return get_single_tag_display_form(tagspec, lang, nolink) end -- We have a multipart tag. See if there's a display handler to display them specially. for _, handler in ipairs(display_handlers or get_display_handlers()) do local displayval = handler(tagspec, joiner) if displayval then if nolink then displayval = remove_links(displayval) end return displayval end end -- No display handler. local displayed_tags = {} for _, first_level_tag in ipairs(tagspec) do if type(first_level_tag) == "string" then insert(displayed_tags, get_single_tag_display_form(first_level_tag, lang, nolink)) else -- A first-level element of a two-level multipart tag. Currently we just separate the individual components -- with spaces, but other ways are possible, e.g. using an underscore, colon, parens or braces. local components = {} for _, component in ipairs(first_level_tag) do insert(components, get_single_tag_display_form(component, lang, nolink)) end insert(displayed_tags, concat(components, " ")) end end return join_multiparts(displayed_tags, joiner) end get_tag_display_form = export.get_tag_display_form --[==[ Given a normalized tag set (i.e. as output by {normalize_tag_set()}; all tags are in canonical form, multipart tags are represented as lists, and two-level multipart tags as lists of lists), convert to displayed form (a string). See {get_tag_display_form()} for the meaning of `joiner`. A truthy `nolink` suppresses linking.]==] function export.get_tag_set_display_form(normalized_tag_set, lang, joiner, nolink) local parts = {} for _, tagspec in ipairs(normalized_tag_set) do local to_insert = get_tag_display_form(tagspec, lang, joiner, nolink) -- Maybe insert a space before inserting the display form of the tag. We insert a space if -- (a) we're not the first tag; and -- (b) the tag we're about to insert doesn't have the "no_space_on_left" property; and -- (c) the preceding tag doesn't have the "no_space_on_right" property. -- NOTE: We depend here on the fact that -- (1) all tags with either of the above properties set have the same display form as canonical form, and -- (2) all tags with either of the above properties set are single-character tags. -- The second property is an optimization to avoid looking up display forms resulting from multipart tags, -- which won't be found and which will trigger loading of [[Module:form of/data/2]]. If multichar punctuation is -- added in the future, it's ok to change the == 1 below to <= 2 or <= 3. -- -- If the first property above fails to hold in the future, we need to track the canonical form of each tag -- (including the previous one) as well as the display form. This would also avoid the need for the == 1 check. if #parts > 0 then local most_recent_tagobj = parts[#parts]:match("^.[\128-\191]*$") and lookup_tag(parts[#parts], lang) local to_insert_tagobj = to_insert:match("^.[\128-\191]*$") and lookup_tag(to_insert, lang) if ( (not most_recent_tagobj or not most_recent_tagobj.no_space_on_right) and (not to_insert_tagobj or not to_insert_tagobj.no_space_on_left) ) then insert(parts, " ") end end insert(parts, to_insert) end return concat(parts) end get_tag_set_display_form = export.get_tag_set_display_form --[==[ Split a tag set containing two-level multipart tags into one or more tag sets not containing such tags. Single-level multipart tags are left alone. (If we need to, a slight modification of the following code will also split single-level multipart tags.) This assumes that multipart tags are represented as lists and two-level multipart tags are represented as lists of lists, as is output by {normalize_tag_set()}. NOTE: We have to be careful to properly handle imbalanced two-level multipart tags such as `def:s//p` (or the reverse, `s//def:p`).]==] local function split_two_level_multipart_tag_set(tag_set) for i, tag in ipairs(tag_set) do if type(tag) == "table" then -- We saw a multipart tag. Check if any of the parts are two-level. local saw_two_level_tag = false for _, first_level_tag in ipairs(tag) do if type(first_level_tag) == "table" then saw_two_level_tag = true break end end if saw_two_level_tag then -- We found a two-level multipart tag. -- (1) Extract the preceding tags. local pre_tags = slice(tag_set, 1, i - 1) -- (2) Extract the following tags. local post_tags = slice(tag_set, i + 1) -- (3) Loop over each tag set alternant in the two-level multipart tag. -- For each alternant, form the tag set consisting of pre_tags + alternant + post_tags, -- and recursively split that tag set. local resulting_tag_sets = {} for _, first_level_tag_set in ipairs(tag) do local expanded_tag_set = {} extend(expanded_tag_set, pre_tags) -- The second level may have a string or a list. if type(first_level_tag_set) == "table" then extend(expanded_tag_set, first_level_tag_set) else insert(expanded_tag_set, first_level_tag_set) end extend(expanded_tag_set, post_tags) extend(resulting_tag_sets, split_two_level_multipart_tag_set(expanded_tag_set)) end return resulting_tag_sets end end end return {tag_set} end local function try_lang_specific_module(langcode, modules_tried, name, data) local lang_specific_module = form_of_lang_data_module_prefix .. langcode .. "/functions" local langdata = safe_require(lang_specific_module) if langdata then insert(modules_tried, lang_specific_module) if langdata.cat_functions then local fn = langdata.cat_functions[name] if fn then return fn(data), true end end end return nil, false end -- Call a named function, either from the lang-specific data in -- [[Module:form of/lang-specific/LANGCODE/functions]] or in [[Module:form of/functions]]. local function call_named_function(name, funtype, normalized_tag_set, lang, POS, pagename, lemmas) local data = { pagename = pagename or default_pagename or get_default_pagename(), lemmas = lemmas, tag_set = normalized_tag_set, lang = lang, POS = POS } local modules_tried = {} -- First try lang-specific. while lang do local retval, found_it = try_lang_specific_module(lang:getCode(), modules_tried, name, data) if found_it then return retval end -- If the language has a parent (i.e. a superordinate variety), try again with that. lang = lang:getParent() end -- Try lang-independent. insert(modules_tried, form_of_functions_module) local fn = (cat_functions or get_cat_functions())[name] if fn then return fn(data) end for i, modname in ipairs(modules_tried) do modules_tried[i] = "[[" .. modname .. "]]" end error(("No %s function named '%s' in %s"):format(funtype, name, list_to_text(modules_tried, nil, " or "))) end -- Given a tag from the current tag set (which may be a list in case of a multipart tag), -- and a tag from a categorization spec, check that the two match. -- (1) If both are strings, we just check for equality. -- (2) If the spec tag is a string and the tag set tag is a list (i.e. it originates from a -- multipart tag), we check that the spec tag is in the list. This is because we want to treat -- multipart tags in user-specified tag sets as if the user had specified multiple tag sets. -- For example, if the user said "1//3|s|pres|ind" and the categorization spec says {"has", "1"}, -- we want this to match, because "1//3|s|pres|ind" should be treated equivalently to two tag -- sets "1|s|pres|ind" and "3|s|pres|ind", and the former matches the categorization spec. -- (3) If the spec tag is a list (i.e. it originates from a multipart tag), we check that the -- tag set tag is also a list and is a superset of the spec tag. For example, if the categorization -- spec says {"has", "1//3"}, then the tag set tag must be a multipart tag that has both "1" and "3" -- in it. "1//3" works, as does "1//2//3". local function tag_set_tag_matches_spec_tag(tag_set_tag, spec_tag) if type(spec_tag) == "table" then if type(tag_set_tag) == "table" and is_subset_list(spec_tag, tag_set_tag) then return true end elseif type(tag_set_tag) == "table" then if contains(tag_set_tag, spec_tag) then return true end elseif tag_set_tag == spec_tag then return true end return false end -- Check that the current tag set matches the given spec tag. This means that any of the tags -- in the current tag set match, according to tag_set_tag_matches_spec_tag(); see above. If the -- current tag set contains only string tags (i.e. no multipart tags), and the spec tag is a -- string (i.e. not a multipart tag), this boils down to list containment, but it gets more -- complex when multipart tags are present. local function tag_set_matches_spec_tag(spec_tag, tag_set, lang) spec_tag = normalize_tag(spec_tag, lang) for _, tag_set_tag in ipairs(tag_set) do if tag_set_tag_matches_spec_tag(tag_set_tag, spec_tag) then return true end end return false end -- Check whether the given spec matches the current tag set. Two values are returned: -- (1) whether the spec matches the tag set; (2) the index of the category to add if -- the spec matches. local function check_condition(spec, tag_set, normalized_tag_set, lang, POS, pagename, lemmas) if type(spec) == "boolean" then return spec elseif type(spec) ~= "table" then error("Wrong type of condition " .. spec .. ": " .. type(spec)) end local predicate = spec[1] if predicate == "has" then return tag_set_matches_spec_tag(spec[2], tag_set, lang), 3 elseif predicate == "hasall" then for _, tag in ipairs(spec[2]) do if not tag_set_matches_spec_tag(tag, tag_set, lang) then return false, 3 end end return true, 3 elseif predicate == "hasany" then for _, tag in ipairs(spec[2]) do if tag_set_matches_spec_tag(tag, tag_set, lang) then return true, 3 end end return false, 3 elseif predicate == "tags=" then local normalized_spec_tag_sets = normalize_tag_set(spec[2], lang) if #normalized_spec_tag_sets > 1 then error("Internal error: No support for conjoined shortcuts in category/label specs in " .. "[[Module:form of/cats]] when processing spec tag set " .. concat(spec[2], "|")) end local normalized_spec_tag_set = normalized_spec_tag_sets[1] -- Check for and disallow two-level multipart tags in the specs. FIXME: Remove this when we remove -- support for two-level multipart tags. for _, tag in ipairs(normalized_spec_tag_set) do if type(tag) == "table" then for _, subtag in ipairs(tag) do if type(subtag) == "table" then error("Internal error: No support for two-level multipart tags in category/label specs" .. "[[Module:form of/cats]] when processing spec tag set " .. concat(spec[2], "|")) end end end end -- Allow tags to be in different orders, and multipart tags to be in different orders. To handle this, -- we first check that both tag set tags and spec tags have the same length. If so, we sort the -- multipart tags in the tag set tags and spec tags, and then check that all tags in the spec tags are -- in the tag set tags. if #tag_set ~= #normalized_spec_tag_set then return false, 3 end local tag_set_tags = deep_copy(tag_set) for i=1,#tag_set_tags do if type(tag_set_tags[i]) == "table" then sort(tag_set_tags[i]) end if type(normalized_spec_tag_set[i]) == "table" then sort(normalized_spec_tag_set[i]) end end for i=1,#tag_set_tags do if not contains(tag_set_tags, normalized_spec_tag_set[i]) then return false, 3 end end return true, 3 elseif predicate == "p=" then return POS == normalize_pos(spec[2]), 3 elseif predicate == "pany" then for _, specpos in ipairs(spec[2]) do if POS == normalize_pos(specpos) then return true, 3 end end return false, 3 elseif predicate == "pexists" then return POS ~= nil, 2 elseif predicate == "not" then local condval = check_condition(spec[2], tag_set, normalized_tag_set, lang, POS, pagename, lemmas) return not condval, 3 elseif predicate == "and" then local condval = check_condition(spec[2], tag_set, normalized_tag_set, lang, POS, pagename, lemmas) if condval then condval = check_condition(spec[3], tag_set, normalized_tag_set, lang, POS, pagename, lemmas) end return condval, 4 elseif predicate == "or" then local condval = check_condition(spec[2], tag_set, normalized_tag_set, lang, POS, pagename, lemmas) if not condval then condval = check_condition(spec[3], tag_set, normalized_tag_set, lang, POS, pagename, lemmas) end return condval, 4 elseif predicate == "call" then return call_named_function(spec[2], "condition", normalized_tag_set, lang, POS, pagename, lemmas), 3 else error("Unrecognized predicate: " .. predicate) end end -- Process a given spec. This checks any conditions in the spec against the -- tag set, and insert any resulting categories into `categories`. Return value -- is true if the outermost condition evaluated to true and a category was inserted -- (this is used in {"cond" ...} conditions, which stop when a subcondition evaluates -- to true). local function process_spec(spec, tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) if not spec then return false elseif type(spec) == "string" then -- A category. Substitute POS request with user-specified part of speech or default. spec = spec:gsub("<<p=(.-)>>", function(default) return POS or normalize_pos(default) end) insert(categories, lang:getFullName() .. " " .. spec) return true elseif type(spec) == "table" and spec.labels then -- A label spec. for _, label in ipairs(spec.labels) do insert_if_not(labels, label) end return true elseif type(spec) ~= "table" then error("Wrong type of specification " .. spec .. ": " .. type(spec)) end local predicate = spec[1] if predicate == "multi" then for _, sp in iterate_from(2, ipairs(spec)) do -- Iterate from 2. process_spec(sp, tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) end return true elseif predicate == "cond" then for _, sp in iterate_from(2, ipairs(spec)) do -- Iterate from 2. if process_spec(sp, tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) then return true end end return false elseif predicate == "call" then return process_spec( call_named_function(spec[2], "spec", normalized_tag_set, lang, POS, pagename, lemmas), tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels ) else local condval, ifspec = check_condition(spec, tag_set, normalized_tag_set, lang, POS, pagename, lemmas) if condval then process_spec(spec[ifspec], tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) return true else process_spec(spec[ifspec + 1], tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) -- FIXME: Are we sure this is correct? return false end end end --[==[ Given a normalized tag set (i.e. as output by {normalize_tag_set()}; all tags are in canonical form, multipart tags are represented as lists, and two-level multipart tags as lists of lists), fetch the associated categories and labels. Return two values, a list of categories and a list of labels. `lang` is the language of term represented by the tag set, and `POS` is the user-provided part of speech (which may be {nil}).]==] function export.fetch_categories_and_labels(normalized_tag_set, lang, POS, pagename, lemmas) local categories, labels = {}, {} POS = normalize_pos(POS) -- First split any two-level multipart tags into multiple sets, to make our life easier. for _, tag_set in ipairs(split_two_level_multipart_tag_set(normalized_tag_set)) do local langcode = lang:getCode() local langspecs = (m_cats_data or get_m_cats_data())[langcode] if langspecs then for _, spec in ipairs(langspecs) do process_spec(spec, tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) end end local full_code = lang:getFullCode() if full_code ~= langcode then local langspecs = (m_cats_data or get_m_cats_data())[full_code] if langspecs then for _, spec in ipairs(langspecs) do process_spec(spec, tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) end end end if full_code ~= "und" then local langspecs = (m_cats_data or get_m_cats_data())["und"] if langspecs then for _, spec in ipairs(langspecs) do process_spec(spec, tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) end end end end return categories, labels end fetch_categories_and_labels = export.fetch_categories_and_labels local function format_labels(labels, data, notext) if labels and #labels > 0 then return show_labels{ labels = labels, lang = data.lang, sort = data.sort, nocat = data.nocat } .. (notext and (data.pretext or "") == "" and "" or " ") else return "" end end --[==[ Implementation of templates that display inflection tags, such as the general {{tl|inflection of}}, semi-specific variants such as {{tl|participle of}}, and specific variants such as {{tl|past participle of}}. `data` contains all the information controlling the display, with the following fields: * `.lang`: ('''''required''''') Language to use when looking up language-specific inflection tags, categories and labels, and for displaying categories and labels. * `.tags`: ('''''required''' unless `.tag_sets` is given'') List of non-canonicalized inflection tags. Multiple tag sets can be indicated by a {";"} as one of the tags, and tag-set properties may be attached to the last tag of a tag set. The tags themselves may come directly from the user (as in {{tl|inflection of}}); come partly from the user (as in {{tl|participle of}}, which adds the tag `part` to user-specified inflection tags); or be entirely specified by the template (as in {{tl|past participle of}}). * `.tag_sets`: ('''''required''' unless `.tags` is given'') List of non-canonicalized tag sets and associated per-tag-set properties. Each element of the list is an object of the form { {tags = {"TAG", "TAG", ...}, labels = {"LABEL", "LABEL", ...}}. If `.tag_sets` is specified, `.tags` should not be given and vice-versa. Specifying `.tag_sets` in place of tags allowed per-tag set labels to be specified; otherwise, there is no advantage. [[Module:pt-gl-inflections]] uses this functionality to supply labels like {"Brazil"} and {"Portugal"} associated with specific tag sets. * `.lemmas`: ('''''recommended''''') List of objects describing the lemma(s) of which the term in question is a non-lemma form. These are passed directly to {full_link()} in [[Module:links]]. Each object should have at minimum a `.lang` field containing the language of the lemma and a `.term` field containing the lemma itself. Each object is formatted using {full_link()} and then if there are more than one, they are joined using {serialCommaJoin()} in [[Module:table]]. Alternatively, `.lemmas` can be a string, which is displayed directly. If omitted entirely, no lemma links are shown and the connecting "of" is also omitted. * `.lemma_face`: ('''''recommended''''') "Face" to use when displaying the lemma objects. Usually should be set to {"term"}. * `.POS`: ('''''recommended''''') Categorizing part-of-speech tag. Comes from the {{para|p}} or {{para|POS}} argument of {{tl|inflection of}}. * `.pagename`: Page name of "current" page or nil to use the actual page title; for testing purposes. * `.conj`: Conjunction or separator to use when joining multiple lemma objects. Defaults to {"and"}. * `.enclitics`: List of enclitics to display after the lemmas, in parens. * `.enclitic_conj`: Conjunction or separator to use when joining multiple enclitics. Defaults to {"and"}. * `.no_format_categories`: If true, don't format the categories derived from the inflection tags; just return them. * `.sort`: Sort key for formatted categories. Ignored when `.no_format_categories` = {true}. * `.nocat`: Suppress computation of categories (even if `.no_format_categories` is not given). * `.notext`: Disable display of all tag text and `inflection of` text. (FIXME: Maybe not implemented correctly.) * `.nolink`: Suppress linking of terms in inflection tags. * `.capfirst`: Capitalize the first word displayed. * `.pretext`: Additional text to display before the inflection tags, but after any top-level labels. * `.posttext`: Additional text to display after the lemma links. * `.text_classes`: CSS classes used to wrap the tag text and lemma links. Default is {"form-of-definition use-with-mention"}. * `.lemma_classes`: Additional CSS classes used to wrap the lemma links. Default is {"form-of-definition-link"}. * `.joiner`: Override the joiner (normally a slash) used to join multipart tags. You should normally not specify this. * `.nowrap`: Do not wrap the form-of definitions in a span, unless `.text_classes` is specified. * `.ok_to_destructively_modify`: If set, data structures (including the nested lemma structures) can be modified in-place to save memory; otherwise they will be copied before modifying. A typical call might look like this (for {{m+|es|amo}}): { local lang = require("Module:languages").getByCode("es") local lemma_obj = { lang = lang, term = "amar", } return m_form_of.tagged_inflections({ lang = lang, tags = {"1", "s", "pres", "ind"}, lemmas = {lemma_obj}, lemma_face = "term", POS = "verb" }) } Normally, one value is returned, the formatted text, which has appended to it the formatted categories derived from the tag-set-related categories generated by the specs in [Module:form of/cats]]. To suppress this, set `data.no_format_categories` = {true}, in which case two values are returned, the formatted text without any formatted categories appended and a list of the categories to be formatted. NOTE: There are two sets of categories that may be generated: (1) categories derived directly from the tag sets, as specified in [[Module:form of/cats]]; (2) categories derived from tag-set labels, either (a) set explicitly by the caller in `data.tag_sets`, (b) specified by the user using `<lb:...>` attached to the last tag in a tag set, or (c) specified in [[Module:form of/cats]]. The second type (label-related categories) are currently not returned in the second return value of {tagged_inflections()}, and are currently inserted into the output text even if `data.no_format_categories` is set to {true}; but they can be suppressed by setting `data.nocat` = {true} (which also suppresses the first type of categories, those derived directly from tag sets, even if `data.no_format_categories` is set to {true}).]==] function export.tagged_inflections(data) if not data.tags and not data.tag_sets then error("First argument must be a table of arguments, and `.tags` or `.tag_sets` must be specified") end if data.tags and data.tag_sets then error("Both `.tags` and `.tag_sets` cannot be specified") end local tag_sets = data.tag_sets if not tag_sets then tag_sets = split_tag_set(data.tags) for i, tag_set in ipairs(tag_sets) do tag_sets[i] = parse_tag_set_properties(tag_set) end end local inflections = {} local categories = {} for _, tag_set in ipairs(tag_sets) do local normalized_tag_sets = normalize_tag_set(tag_set.tags, data.lang, "do-track") for _, normalized_tag_set in ipairs(normalized_tag_sets) do local this_categories, this_labels = fetch_categories_and_labels(normalized_tag_set, data.lang, data.POS, data.pagename, type(data.lemmas) == "table" and data.lemmas or nil) if not data.nocat then extend(categories, this_categories) end local cur_infl = get_tag_set_display_form(normalized_tag_set, data.lang, data.joiner, data.nolink) if #cur_infl > 0 then if tag_set.labels then this_labels = append(tag_set.labels, this_labels) end insert(inflections, {infl_text = cur_infl, labels = this_labels}) end end end local overall_labels, need_per_tag_set_labels for _, inflection in ipairs(inflections) do if overall_labels == nil then overall_labels = inflection.labels elseif not deep_equals(overall_labels, inflection.labels) then need_per_tag_set_labels = true overall_labels = nil break end end if not need_per_tag_set_labels then for _, inflection in ipairs(inflections) do inflection.labels = nil end end local format_data = shallow_copy(data) local of_text = data.lemmas and " of" or "" local formatted_text, this_categories if #inflections == 1 then if need_per_tag_set_labels then error("Internal error: need_per_tag_set_labels should not be set with one inflection") end format_data.text = format_labels(overall_labels, data, data.notext) .. (data.pretext or "") .. (data.notext and "" or ((data.capfirst and ucfirst(inflections[1].infl_text) or inflections[1].infl_text) .. of_text)) formatted_text, this_categories = format_form_of(format_data) else format_data.text = format_labels(overall_labels, data, data.notext) .. (data.pretext or "") .. (data.notext and "" or ((data.capfirst and "Inflection" or "inflection") .. of_text)) format_data.posttext = (data.posttext or "") .. ":" local link link, this_categories = format_form_of(format_data) local text_classes = data.text_classes if text_classes == nil and not data.nowrap then text_classes = "form-of-definition use-with-mention" end for i, inflection in ipairs(inflections) do inflections[i] = "\n## " .. format_labels(inflection.labels, data, false) .. wrap_in_span(inflection.infl_text, text_classes) end formatted_text = link .. concat(inflections) end if this_categories[1] then extend(categories, this_categories) end if not data.no_format_categories then if categories[1] then formatted_text = formatted_text .. format_categories(categories, data.lang, data.sort, nil, export.force_cat) end return formatted_text end return formatted_text, categories end function export.dump_form_of_data(frame) local data = { require(form_of_data1_module), require(form_of_data2_module) } return require(json_module).toJSON(data) end export.form_of_cats_module = form_of_cats_module export.form_of_data1_module = form_of_data1_module export.form_of_data2_module = form_of_data2_module export.form_of_functions_module = form_of_functions_module export.form_of_lang_data_module_prefix = form_of_lang_data_module_prefix export.headword_data_module = headword_data_module -- so all form-of modules stay in sync return export spqevjroi6wtcbwmg2cuahzt02bpluw 1349864 1349846 2026-04-14T13:56:22Z Swarabakti 18192 1349864 Scribunto text/plain local export = {} export.force_cat = false -- for testing; set to true to display categories even on non-mainspace pages local debug_track_module = "Module:debug/track" local etymology_module = "Module:etymology" local form_of_cats_module = "Module:form of/cats" local form_of_data_module = "Module:form of/data" local form_of_data1_module = "Module:form of/data/1" local form_of_data2_module = "Module:form of/data/2" local form_of_functions_module = "Module:form of/functions" local form_of_lang_data_module_prefix = "Module:form of/lang-data/" local function_module = "Module:fun" local headword_data_module = "Module:headword/data" local json_module = "Module:JSON" local labels_module = "Module:labels" local links_module = "Module:links" local load_module = "Module:load" local parse_utilities_module = "Module:parse utilities" local string_utilities_module = "Module:string utilities" local table_module = "Module:table" local table_deep_equals_module = "Module:table/deepEquals" local utilities_module = "Module:utilities" local anchor_encode = mw.uri.anchorEncode local concat = table.concat local dump = mw.dumpObject local fetch_categories_and_labels -- Defined below. local format_form_of -- Defined below. local get_tag_display_form -- Defined below. local get_tag_set_display_form -- Defined below. local insert = table.insert local ipairs = ipairs local is_link_or_html -- Defined below. local list_to_text = mw.text.listToText local lookup_shortcut -- Defined below. local lookup_tag -- Defined below. local normalize_tag_set -- Defined below. local parse_tag_set_properties -- Defined below. local require = require local sort = table.sort local split_tag_set -- Defined below. local type = type --[==[ Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==] local function append(...) append = require(table_module).append return append(...) end local function contains(...) contains = require(table_module).contains return contains(...) end local function debug_track(...) debug_track = require(debug_track_module) return debug_track(...) end local function deep_copy(...) deep_copy = require(table_module).deepCopy return deep_copy(...) end local function deep_equals(...) deep_equals = require(table_deep_equals_module) return deep_equals(...) end local function extend(...) extend = require(table_module).extend return extend(...) end local function format_categories(...) format_categories = require(utilities_module).format_categories return format_categories(...) end local function full_link(...) full_link = require(links_module).full_link return full_link(...) end local function insert_if_not(...) insert_if_not = require(table_module).insertIfNot return insert_if_not(...) end local function is_subset_list(...) is_subset_list = require(table_module).isSubsetList return is_subset_list(...) end local function iterate_from(...) iterate_from = require(function_module).iterateFrom return iterate_from(...) end local function join_multiparts(...) join_multiparts = require(form_of_functions_module).join_multiparts return join_multiparts(...) end local function load_data(...) load_data = require(load_module).load_data return load_data(...) end local function parse_inline_modifiers(...) parse_inline_modifiers = require(parse_utilities_module).parse_inline_modifiers return parse_inline_modifiers(...) end local function remove_links(...) remove_links = require(links_module).remove_links return remove_links(...) end local function safe_load_data(...) safe_load_data = require(load_module).safe_load_data return safe_load_data(...) end local function safe_require(...) safe_require = require(load_module).safe_require return safe_require(...) end local function serial_comma_join(...) serial_comma_join = require(table_module).serialCommaJoin return serial_comma_join(...) end local function shallow_copy(...) shallow_copy = require(table_module).shallowCopy return shallow_copy(...) end local function show_labels(...) show_labels = require(labels_module).show_labels return show_labels(...) end local function slice(...) slice = require(table_module).slice return slice(...) end local function split(...) split = require(string_utilities_module).split return split(...) end local function ucfirst(...) ucfirst = require(string_utilities_module).ucfirst return ucfirst(...) end --[==[ Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==] local cat_functions local function get_cat_functions() cat_functions, get_cat_functions = require(form_of_functions_module).cat_functions, nil return cat_functions end local default_pagename local function get_default_pagename() default_pagename, get_default_pagename = load_data(headword_data_module).pagename, nil return default_pagename end local display_handlers local function get_display_handlers() display_handlers, get_display_handlers = require(form_of_functions_module).display_handlers, nil return display_handlers end local m_cats_data local function get_m_cats_data() m_cats_data, get_m_cats_data = load_data(form_of_cats_module), nil return m_cats_data end local m_data local function get_m_data() -- Needs require. m_data, get_m_data = require(form_of_data_module), nil return m_data end local m_data1 local function get_m_data1() m_data1, get_m_data1 = load_data(form_of_data1_module), nil return m_data1 end local m_data2 local function get_m_data2() m_data2, get_m_data2 = load_data(form_of_data2_module), nil return m_data2 end local m_pos_data local function get_m_pos_data() m_pos_data, get_m_pos_data = load_data(headword_data_module).pos_aliases, nil return m_pos_data end --[==[ intro: This module implements the underlying processing of {{tl|form of}}, {{tl|inflection of}} and specific variants such as {{tl|past participle of}} and {{tl|alternative spelling of}}. Most of the logic in this file is to handle tags in {{tl|inflection of}}. Other related files: * [[Module:form of/templates]] contains the majority of the logic that implements the templates themselves. * [[Module:form of/data/1]] is a data-only file containing information on the more common inflection tags, listing the tags, their shortcuts, the category they belong to (tense-aspect, case, gender, voice-valence, etc.), the appropriate glossary link and the wikidata ID. * [[Module:form of/data/2]] is a data-only file containing information on the less common inflection tags, in the same format as [[Module:form of/data/1]]. * [[Module:form of/lang-data/LANGCODE]] is a data-only file containing information on the language-specific inflection tags for the language with code LANGCODE, in the same format as [[Module:form of/data/1]]. Language-specific tags override general tags. * [[Module:form of/cats]] is a data-only file listing the language-specific categories that are added when the appropriate combinations of tags are seen for a given language. * [[Module:form of/functions]] contains functions for use with [[Module:form of/data/1]] and [[Module:form of/cats]]. They are contained in this module because data-only modules can't contain code. The functions in this file are of two types: *# Display handlers allow for customization of the display of multipart tags (see below). Currently there is only one such handler, for handling multipart person tags such as `1//2//3`. *# Cat functions allow for more complex categorization logic, and are referred to by name in [[Module:form of/cats]]. Currently no such functions exist. The following terminology is used in conjunction with {{tl|inflection of}}: * A ''tag'' is a single grammatical item, as specified in a single numbered parameter of {{tl|inflection of}}. Examples are `masculine`, `nominative`, or `first-person`. Tags may be abbreviated, e.g. `m` for `masculine`, `nom` for `nominative`, or `1` for `first-person`. Such abbreviations are called ''aliases'', and some tags have multiple equivalent aliases (e.g. `p` or `pl` for `plural`). The full, non-abbreviated form of a tag is called its ''canonical form''. * The ''display form'' of a tag is the way it's displayed to the user. Usually the displayed text of the tag is the same as its canonical form, and it normally functions as a link to a glossary entry explaining the tag. Usually the link is to an entry in [[Appendix:Glossary]], but sometimes the tag is linked to an individual dictionary entry or to a Wikipedia entry. Occasionally, the display text differs from the canonical form of the tag. An example is the tag `comparative case`, which has the display text read as simply `comparative`. Normally, tags referring to cases don't have the word "case" in them, but in this case the tag `comparative` was already used as an alias for the tag `comparative degree`, so the tag was named `comparative case` to avoid clashing. A similar situation occurs with `adverbial case` vs. the grammar tag `adverbial` (as in `adverbial participle`). * A ''tag set'' is an ordered list of tags, which together express a single inflection, for example, `1|s|pres|ind`, which can be expanded to canonical-form tags as `first-person|singular|present|indicative`. * A ''conjoined tag set'' is a tag set that consists of multiple individual tag sets separated by a semicolon, e.g. `1|s|pres|ind|;|2|s|imp`, which specifies two tag sets, `1|s|pres|ind` as above and `2|s|imp` (in canonical form, `second-person|singular|imperative`). Multiple tag sets specified in a single call to {{tl|inflection of}} are specified in this fashion. Conjoined tag sets can also occur in list-tag shortcuts. * A ''multipart tag'' is a tag that embeds multiple tags within it, such as `f//n` or `nom//acc//voc`. These are used in the case of [[syncretism]], when the same form applies to multiple inflections. Examples are the Spanish present subjunctive, where the first-person and third-person singular have the same form (e.g. {{m|es|siga}} from {{m|es|seguir|t=to follow}}), or Latin third-declension adjectives, where the dative and ablative plural of all genders have the same form (e.g. {{m|la|omnibus}} from {{m|la|omnis|t=all}}). These would be expressed respectively as `1//3|s|pres|sub` and `dat//abl|m//f//n|p`, where the use of the multipart tag compactly encodes the syncretism and avoids the need to individually list out all of the inflections. Multipart tags currently display as a list separated by a slash, e.g. ''dative/ablative'' or ''masculine/feminine/neuter'' where each individual word is linked appropriately. As a special case, multipart tags involving persons display specially; for example, the multipart tag `1//2//3` displays as ''first-, second- and third-person'', with the word "person" occurring only once. * A ''two-level multipart tag'' is a special type of multipart tag that joins two or more tag sets instead of joining individual tags. The tags within the tag set are joined by a colon, e.g. `1:s//3:p`, which is displayed as ''first-person singular and third-person plural'', e.g. for use with the form {{m|grc|μέλλον}} of the verb {{m|grc|μέλλω|t=to intend}}, which uses the tag set `1:s//3:p|impf|actv|indc|unaugmented` to express the syncretism between the first singular and third plural forms of the imperfect active indicative unaugmented conjugation. Two-level multipart tags should be used sparingly; if in doubt, list out the inflections separately. [FIXME: Make two-level multipart tags obsolete.] * A ''shortcut'' is a tag that expands to any type of tag described above, or to any type of tag set described above. Aliases are a particular type of shortcut whose expansion is a single non-multipart tag. * A ''multipart shortcut'' is a shortcut that expands into a multipart tag, for example `123`, which expands to the multipart tag `1//2//3`. Only the most common such combinations exist as shortcuts. * A ''list shortcut'' is a special type of shortcut that expands to a list of tags instead of a single tag. For example, the shortcut `1s` expands to `1|s` (first-person singular). Only the most common such combinations exist as shortcuts. * A ''conjoined shortcut'' is a special type of list shortcut that consists of a conjoined tag set (multiple logical tag sets). For example, the English language-specific shortcut `ed-form` expands to `spast|;|past|part`, expressing the common syncretism between simple past and past participle in English (and in this case, `spast` is itself a list shortcut that expands to `simple|past`).]==] -- Add tracking category for PAGE when called from {{inflection of}} or -- similar TEMPLATE. The tracking category linked to is -- [[Wiktionary:Tracking/inflection of/PAGE]]. local function track(page) debug_track("inflection of/" .. -- avoid including links in pages (may cause error) page:gsub("%[", "("):gsub("%]", ")"):gsub("|", "!") ) end local function wrap_in_span(text, classes) if classes then return ("<span class='%s'>%s</span>"):format(classes, text) else return text end end local function show_linked_term(data) local termobj, face, span_classes, ok_to_destructively_modify, overall_lang, text_classes = data.termobj, data.face, data.span_classes, data.ok_to_destructively_modify, data.overall_lang, data.text_classes local need_to_copy, pretext_lang local categories = {} if overall_lang and overall_lang:getCode() ~= termobj.lang:getCode() then local lang_display lang_display, categories = require(etymology_module).insert_source_cat_get_display { lang = data.overall_lang, source = termobj.lang, } pretext_lang = wrap_in_span(lang_display .. " ", text_classes) end local need_to_show_qualifiers = termobj.q or termobj.qq or termobj.a or termobj.aa or termobj.l or termobj.ll or termobj.refs need_to_copy = not ok_to_destructively_modify and (pretext_lang or need_to_show_qualifiers) if need_to_copy then termobj = shallow_copy(termobj) end if pretext_lang then termobj.pretext = pretext_lang end if need_to_show_qualifiers then termobj.show_qualifiers = true end return wrap_in_span(full_link(termobj, face), span_classes), categories end --[==[ Lowest-level implementation of form-of templates, including the general {{tl|form of}} as well as those that deal with inflection tags, such as the general {{tl|inflection of}}, semi-specific variants such as {{tl|participle of}}, and specific variants such as {{tl|past participle of}}. `data` contains all the information controlling the display, with the following fields: * `.lang`: Overall language of the form-of template. If specified, any lemmas, enclitics or base lemmas that are of a different language will have that language displayed before the term in question. * `.text`: Text to insert before the lemmas. Wrapped in the value of `.text_classes`, or its default; see below. * `.lemmas`: List of objects describing the lemma(s) of which the term in question is a non-lemma form. These are passed directly to {full_link()} in [[Module:links]]. Each object should have at minimum a `.lang` field containing the language of the lemma and a `.term` field containing the lemma itself. Each object is formatted using {full_link()} and then if there are more than one, they are joined using {serialCommaJoin()} in [[Module:table]]. Alternatively, `.lemmas` can be a string, which is displayed directly, or omitted, to show no lemma links and omit the connecting text. * `.lemma_face`: "Face" to use when displaying the lemma objects. Usually should be set to {"term"}. * `.conj`: Conjunction or separator to use when joining multiple lemma objects. If {nil}, defaults to {"and"}. If this has the value {false}, the lemmas are preceded with the `.separator` field in each lemma. * `.enclitics`: List of enclitics to display after the lemmas, in parens. * `.enclitic_conj`: Conjunction or separator to use when joining multiple enclitics. Defaults to {"and"}. * `.base_lemmas`: List of base lemmas to display after the lemmas, in the case where the lemmas in `.lemmas` are themselves forms of another lemma (the base lemma), e.g. a comparative, superlative or participle. Each object is of the form { { paramobj = PARAM_OBJ, lemmas = {LEMMA_OBJ, LEMMA_OBJ, ...}, conj = "CONJ" }} where PARAM_OBJ describes the properties of the base lemma parameter (i.e. the relationship between the intermediate and base lemmas); LEMMA_OBJ is an object suitable to be passed to {full_link()} in [[Module:links]]; and CONJ is the conjunction to join multiple lemmas with, defaulting to {"and"}. PARAM_OBJ is of the format { { param = "PARAM", tags = {"TAG", "TAG", ...} } where PARAM is the name of the parameter to {{tl|inflection of}} etc. that holds the base lemma(s) of the specified relationship and the tags describe the relationship, such as { {"comd"}} or { {"past", "part"}}. * `.text_classes`: CSS classes used to wrap the tag text and lemma links. Default is {"form-of-definition use-with-mention"}. Use `false` for no wrapping. * `.lemma_classes`: Additional CSS classes used to wrap the lemma links. Default is {"form-of-definition-link"}. Use `false` for no wrapping. * `.posttext`: Additional text to display after the lemma links. * `.ok_to_destructively_modify`: If set, data structures (including the nested lemma structures) can be modified in-place to save memory; otherwise they will be copied before modifying. Returns two values, the formatted string and any categories to add the page to (which will arise if `.lang` is specified and a language other than `.lang` is given in one of the lemmas in `.lemmas` or enclitics in `.enclitics`). ]==] function export.format_form_of(data) if type(data) ~= "table" then error("Internal error: First argument must now be a table of arguments") end local text_classes = data.text_classes if text_classes == nil and not data.nowrap then text_classes = "form-of-definition use-with-mention" end local lemma_classes = data.lemma_classes if lemma_classes == nil then lemma_classes = "form-of-definition-link" end local parts = {} if text_classes then insert(parts, "<span class='" .. text_classes .. "'>") end insert(parts, data.text) if data.text ~= "" and data.lemmas then insert(parts, " ") end local categories = {} if data.lemmas then if type(data.lemmas) == "string" then insert(parts, wrap_in_span(data.lemmas, lemma_classes)) else local formatted_terms = {} for _, lemma in ipairs(data.lemmas) do local linked_term, this_categories = show_linked_term { termobj = lemma, face = data.lemma_face, span_classes = lemma_classes, ok_to_destructively_modify = data.ok_to_destructively_modify, overall_lang = data.lang, text_classes = text_classes } if this_categories[1] then extend(categories, this_categories) end if data.conj == false and lemma.separator then insert(formatted_terms, lemma.separator) end insert(formatted_terms, linked_term) end if data.conj == false then insert(parts, concat(formatted_terms)) else insert(parts, serial_comma_join(formatted_terms, {conj = data.conj or "and"})) end end if data.lit then insert(parts, ", literally " .. require(links_module).mark(data.lit, "gloss")) end end if data.enclitics and #data.enclitics > 0 then -- The outer parens need to be outside of the text_classes span so they show in upright instead of italic, or -- they will clash with upright parens generated by link annotations such as transliterations and pos=. if text_classes then insert(parts, "</span>") end local formatted_terms = {} for _, enclitic in ipairs(data.enclitics) do -- FIXME, should we have separate clitic face and/or classes? local linked_term, this_categories = show_linked_term { termobj = enclitic, face = data.lemma_face, span_classes = lemma_classes, ok_to_destructively_modify = data.ok_to_destructively_modify, overall_lang = data.lang, text_classes = text_classes } if this_categories[1] then extend(categories, this_categories) end insert(formatted_terms, linked_term) end insert(parts, " (") insert(parts, wrap_in_span("with enclitic" .. (#data.enclitics > 1 and "s" or "") .. " ", text_classes)) insert(parts, serial_comma_join(formatted_terms, {conj = data.enclitic_conj or "and"})) insert(parts, ")") if text_classes then insert(parts, "<span class='" .. text_classes .. "'>") end end if data.base_lemmas and #data.base_lemmas > 0 then for _, base_lemma in ipairs(data.base_lemmas) do insert(parts, ", the ") if text_classes then insert(parts, "</span>") end insert(parts, (export.tagged_inflections { lang = data.lang or base_lemma.lemmas[1].lang, tags = base_lemma.paramobj.tags, lemmas = base_lemma.lemmas, conj = base_lemma.conj or "and", lemma_face = data.lemma_face, no_format_categories = true, nocat = true, text_classes = data.text_classes, ok_to_destructively_modify = ok_to_destructively_modify, })) if text_classes then insert(parts, "<span class='" .. text_classes .. "'>") end end end -- FIXME, should posttext go before enclitics? If so we need to have separate handling for the -- final colon when there are multiple tag sets in tagged_inflections(). if data.posttext then insert(parts, data.posttext) end if text_classes then insert(parts, "</span>") end return concat(parts), categories end format_form_of = export.format_form_of --[==[ Return true if `tag` contains an internal link or HTML.]==] function export.is_link_or_html(tag) return tag:find("[[", nil, true) or tag:find("|", nil, true) or tag:find("<", nil, true) end is_link_or_html = export.is_link_or_html --[==[ Look up a tag (either a shortcut of any sort of a canonical long-form tag) and return its expansion. The expansion will be a string unless the shortcut is a list-tag shortcut such as `1s`; in that case, the expansion will be a list. The caller must handle both cases. Only one level of expansion happens; hence, `acc` expands to {"accusative"}, `1s` expands to { {"1", "s"}} (not to { {"first", "singular"}}) and `123` expands to {"1//2//3"}. The expansion will be the same as the passed-in tag in the following circumstances: # The tag is `;` (this is special-cased, and no lookup is done). # The tag is a multipart tag such as `nom//acc` (this is special-cased, and no lookup is done). # The tag contains a raw link (this is special-cased, and no lookup is done). # The tag contains HTML (this is special-cased, and no lookup is done). # The tag is already a canonical long-form tag. # The tag is unrecognized. This function first looks up in the lang-specific data module [[Module:form of/lang-data/LANGCODE]], then in [[Module:form of/data/1]] (which includes more common non-lang-specific tags) and finally (only if the tag is not recognized as a shortcut or canonical tag, and is not of types 1-4 above) in [[Module:form of/data/2]]. If the expansion is a string and is different from the tag, track it if `do_track` is true.]==] function export.lookup_shortcut(tag, lang, do_track) -- If there is HTML or a link in the tag, return it directly; don't try -- to look it up, which will fail. if tag == ";" or tag:find("//", nil, true) or is_link_or_html(tag) then return tag end local expansion while lang do local langdata = safe_load_data(form_of_lang_data_module_prefix .. lang:getCode()) -- If this is a canonical long-form tag, just return it, and don't check for shortcuts. This is an -- optimization; see below. if langdata then if langdata.tags[tag] then return tag end expansion = langdata.shortcuts[tag] if expansion then break end end -- If the language has a parent (i.e. a superordinate variety), try again with that. lang = lang:getParent() end if not expansion then -- If this is a canonical long-form tag, just return it, and don't check for shortcuts (which will cause -- [[Module:form of/data/2]] to be loaded, because there won't be a shortcut entry in [[Module:form of/data/1]] -- -- or, for that matter, in [[Module:form of/data/2]]). This is an optimization; the code will still work without -- it, but will use up more memory. if (m_data1 or get_m_data1()).tags[tag] then return tag end expansion = m_data1.shortcuts[tag] end if not expansion then expansion = (m_data2 or get_m_data2()).shortcuts[tag] end if not expansion then return tag end -- Maybe track the expansion if it's not the same as the raw tag. if do_track and expansion ~= tag and type(expansion) == "string" then track("tag/" .. tag) end return expansion end lookup_shortcut = export.lookup_shortcut --[==[ Look up a normalized/canonicalized tag and return the data object associated with it. If the tag isn't found, return nil. This first looks up in the lang-specific data module [[Module:form of/lang-data/LANGCODE]], then in [[Module:form of/data/1]] (which includes more common non-lang-specific tags) and then finally in [[Module:form of/data/2]].]==] function export.lookup_tag(tag, lang) while lang do local langdata = safe_load_data(form_of_lang_data_module_prefix .. lang:getCode()) local tag = langdata and langdata.tags[tag] if tag then return tag end -- If the language has a parent (i.e. a superordinate variety), try again with that. lang = lang:getParent() end local tagobj = (m_data1 or get_m_data1()).tags[tag] if tagobj then return tagobj end local tagobj2 = (m_data2 or get_m_data2()).tags[tag] if tagobj2 then return tagobj2 end return nil end lookup_tag = export.lookup_tag -- Normalize a single tag, which may be a shortcut but should not be a multipart tag, a multipart shortcut or a list -- shortcut. local function normalize_single_tag(tag, lang, do_track) local expansion = lookup_shortcut(tag, lang, do_track) if type(expansion) ~= "string" then error("Tag '" .. tag .. "' is a list shortcut, which is not allowed here") end tag = expansion if not lookup_tag(tag, lang) and do_track then -- If after all expansions and normalizations we don't recognize the canonical tag, track it. track("unknown") track("unknown/" .. tag) end return tag end --[=[ Normalize a component of a multipart tag. This should not have any // in it, but may join multiple individual tags with a colon, and may be a single list-tag shortcut, which is treated as if colon-separated. The return value may be a list of tags. ]=] local function normalize_multipart_component(tag, lang, do_track) -- If there is HTML or a link in the tag, don't try to split on colon. A colon may legitimately occur in either one, -- and we don't want these things parsed. Note that we don't do this check before splitting on //, which we don't -- expect to occur in links or HTML; see comment in normalize_tag(). if is_link_or_html(tag) then return tag end local components = split(tag, ":", true) if #components == 1 then -- We allow list-tag shortcuts inside of multipart tags, e.g. -- '1s//3p'. Check for this now. tag = lookup_shortcut(tag, lang, do_track) if type(tag) == "table" then -- Temporary tracking as we will disallow this. track("list-tag-inside-of-multipart") -- We found a list-tag shortcut; treat as if colon-separated. components = tag else return normalize_single_tag(tag, lang, do_track) end end local normtags = {} -- Temporary tracking as we will disallow this. track("two-level-multipart") for _, component in ipairs(components) do if do_track then -- There are multiple components; track each of the individual -- raw tags. track("tag/" .. component) end insert(normtags, normalize_single_tag(component, lang, do_track)) end return normtags end --[=[ Normalize a single tag. The return value may be a list (in the case of multipart tags), which will contain nested lists in the case of two-level multipart tags. ]=] local function normalize_tag(tag, lang, do_track) -- We don't check for links or HTML before splitting on //, which we don't expect to occur in links or HTML. Doing -- it this way allows for a tag like '{{lb|grc|Epic}}//{{lb|grc|Ionic}}' to function correctly (the template calls -- will be expanded before we process the tag, and will contain links and HTML). The only check we do is for a URL, -- which shouldn't normally occur, but might if the user tries to put an external link into the tag. URL's with // -- normally have the sequence ://, which should never normally occur when // and : are used in their normal ways. if tag:find("://", nil, true) then return tag end local split_tags = split(tag, "//", true) if #split_tags == 1 then local retval = normalize_multipart_component(tag, lang, do_track) if type(retval) == "table" then -- The user gave a tag like '1:s', i.e. with colon but without //. Allow this, but we need to return a -- nested list. return {retval} end return retval end local normtags = {} for _, single_tag in ipairs(split_tags) do if do_track then -- If the tag was a multipart tag, track each of individual raw tags. track("tag/" .. single_tag) end insert(normtags, normalize_multipart_component(single_tag, lang, do_track)) end return normtags end --[==[ Normalize a tag set (a list of tags) into its canonical-form tags. The return value is a list of normalized tag sets (a list because of there may be conjoined shortcuts among the input tags). A normalized tag set is a list of tag elements, where each element is either a string (the canonical form of a tag), a list of such strings (in the case of multipart tags) or a list of lists of such strings (in the case of two-level multipart tags). For example, the multipart tag `nom//acc//voc` will be represented in canonical form as { {"nominative", "accusative", "vocative"}}, and the two-level multipart tag `1:s//3:p` will be represented as { {{"first-person", "singular"}, {"third-person", "plural"}}}. Example 1: {normalize_tag_set({"nom//acc//voc", "n", "p"})} = { {{{"nominative", "accusative", "vocative"}, "masculine", "plural"}}} Example 2: {normalize_tag_set({"ed-form"}, ENGLISH)} = { {{"simple", "past"}, {"past", "participle"}}} Example 3: {normalize_tag_set({"archaic", "ed-form"}, ENGLISH)} = { {{"archaic", "simple", "past"}, {"archaic", "past", "participle"}}}]==] function export.normalize_tag_set(tag_set, lang, do_track) -- We track usage of shortcuts, normalized forms and (in the case of multipart tags or list tags) intermediate -- forms. For example, if the tags 1s|mn|gen|indefinite are passed in, we track the following: -- [[Wiktionary:Tracking/inflection of/tag/1s]] -- [[Wiktionary:Tracking/inflection of/tag/1]] -- [[Wiktionary:Tracking/inflection of/tag/s]] -- [[Wiktionary:Tracking/inflection of/tag/first-person]] -- [[Wiktionary:Tracking/inflection of/tag/singular]] -- [[Wiktionary:Tracking/inflection of/tag/mn]] -- [[Wiktionary:Tracking/inflection of/tag/m//n]] -- [[Wiktionary:Tracking/inflection of/tag/m]] -- [[Wiktionary:Tracking/inflection of/tag/n]] -- [[Wiktionary:Tracking/inflection of/tag/masculine]] -- [[Wiktionary:Tracking/inflection of/tag/neuter]] -- [[Wiktionary:Tracking/inflection of/tag/gen]] -- [[Wiktionary:Tracking/inflection of/tag/genitive]] -- [[Wiktionary:Tracking/inflection of/tag/indefinite]] local output_tag_set = {} local saw_semicolon = false for _, tag in ipairs(tag_set) do if do_track then -- Track the raw tag. track("tag/" .. tag) end -- Expand the tag, which may generate a new tag (either a fully canonicalized tag, a multipart tag, or a list -- of tags). tag = lookup_shortcut(tag, lang, do_track) if type(tag) == "table" then if contains(tag, ";") then -- If we saw a conjoined shortcut, we need to use a more general algorithm that can expand a single -- tag set into multiple. saw_semicolon = true break end for _, t in ipairs(tag) do if do_track then -- If the tag expands to a list of raw tags, track each of those. track("tag/" .. t) end insert(output_tag_set, normalize_tag(t, lang, do_track)) end else insert(output_tag_set, normalize_tag(tag, lang, do_track)) end end if not saw_semicolon then return {output_tag_set} end -- Use a more general algorithm that handles conjoined shortcuts. output_tag_set = {} for i, tag in ipairs(tag_set) do if do_track then -- Track the raw tag. track("tag/" .. tag) end -- Expand the tag, which may generate a new tag (either a fully canonicalized tag, a multipart tag, or a list -- of tags). tag = lookup_shortcut(tag, lang, do_track) if type(tag) == "table" then local output_tag_sets = {} local shortcut_tag_sets = split_tag_set(tag) local normalized_shortcut_tag_sets = {} for _, shortcut_tag_set in ipairs(shortcut_tag_sets) do extend(normalized_shortcut_tag_sets, normalize_tag_set(shortcut_tag_set, lang, do_track)) end local after_tags = slice(tag_set, i + 1) local normalized_after_tags_sets = normalize_tag_set(after_tags, lang, do_track) for _, normalized_shortcut_tag_set in ipairs(normalized_shortcut_tag_sets) do for _, normalized_after_tags_set in ipairs(normalized_after_tags_sets) do insert(output_tag_sets, append(output_tag_set, normalized_shortcut_tag_set, normalized_after_tags_set)) end end return output_tag_sets else insert(output_tag_set, normalize_tag(tag, lang, do_track)) end end error("Internal error: Should not get here") end normalize_tag_set = export.normalize_tag_set --[==[ Split a tag set that may consist of multiple semicolon-separated tag sets into the component tag sets.]==] function export.split_tag_set(tag_set) local split_tag_sets = {} local cur_tag_set = {} for _, tag in ipairs(tag_set) do if tag == ";" then if #cur_tag_set > 0 then insert(split_tag_sets, cur_tag_set) end cur_tag_set = {} else insert(cur_tag_set, tag) end end if #cur_tag_set > 0 then insert(split_tag_sets, cur_tag_set) end return split_tag_sets end split_tag_set = export.split_tag_set local tag_set_param_mods = { lb = { item_dest = "labels", convert = function(arg, parse_err) return split(arg, "//", true) end, } } --[==[ Parse tag set properties from a tag set (list of tags). Currently no per-tag properties are recognized, and the only per-tag-set property recognized is `<lb:...>` for specifing label(s) for the tag set. Per-tag-set properties must be attached to the last tag.]==] function export.parse_tag_set_properties(tag_set) local function generate_tag_set_obj(last_tag) tag_set[#tag_set] = last_tag return {tags = tag_set} end local last_tag = tag_set[#tag_set] -- Check for inline modifier, e.g. מרים<tr:Miryem>. But exclude HTML entry with <span ...>, <i ...>, <br/> or -- similar in it, caused by wrapping an argument in {{l|...}}, {{af|...}} or similar. Basically, all tags of -- the sort we parse here should consist of a less-than sign, plus letters, plus a colon, e.g. <lb:...>, so if -- we see a tag on the outer level that isn't in this format, we don't try to parse it. The restriction to the -- outer level is to allow generated HTML inside of e.g. qualifier tags, such as foo<q:similar to {{m|fr|bar}}>. if last_tag:find("<", nil, true) and not last_tag:find("^[^<]*<%l*[^%l:]") then return parse_inline_modifiers(last_tag, { param_mods = tag_set_param_mods, generate_obj = generate_tag_set_obj, }) else return generate_tag_set_obj(last_tag) end end parse_tag_set_properties = export.parse_tag_set_properties local function normalize_pos(pos) if not pos then return nil end return (m_pos_data or get_m_pos_data())[pos] or pos end -- Return the display form of a single canonical-form tag. The value -- passed in must be a string (i.e. it cannot be a list describing a -- multipart tag). To handle multipart tags, use get_tag_display_form(). -- A truthy `nolink` suppresses linking. local function get_single_tag_display_form(normtag, lang, nolink) local data = lookup_tag(normtag, lang) local display = normtag -- If the tag has a special display form, use it if data and data.display then display = data.display if nolink then display = remove_links(display) end end -- If there is a nonempty glossary index, then show a link to it if not nolink then local glossary = data and data[(m_data or get_m_data()).GLOSSARY] if glossary ~= nil then if glossary == m_data.WIKT then display = "[[" .. normtag .. "|" .. display .. "]]" elseif glossary == m_data.WP then display = "[[w:" .. normtag .. "|" .. display .. "]]" elseif glossary == m_data.APPENDIX then display = "[[Lampiran:Glosarium#" .. anchor_encode(normtag) .. "|" .. display .. "]]" elseif type(glossary) ~= "string" then error(("Internal error: Wrong type %s for glossary value %s for tag %s"):format( type(glossary), dump(glossary), normtag)) else local link = glossary:match("^wikt:(.*)") if link then display = "[[" .. link .. "|" .. display .. "]]" end if not link then link = glossary:match("^w:(.*)") if link then display = "[[w:" .. link .. "|" .. display .. "]]" end end if not link then display = "[[Appendix:Glossary#" .. anchor_encode(glossary) .. "|" .. display .. "]]" end end end end return display end --[==[ Turn a canonicalized tag spec (which describes a single, possibly multipart tag) into the displayed form. The tag spec may be a string (a canonical-form tag); a list of canonical-form tags (in the case of a simple multipart tag); or a list of mixed canonical-form tags and lists of such tags (in the case of a two-level multipart tag). `joiner` indicates how to join the parts of a multipart tag, and can be either {"and"} ("foo and bar", or "foo, bar and baz" for 3 or more), {"slash"} ("foo/bar"), {"en-dash"} ("foo–bar") or {nil}, which uses the global default found in {multipart_join_strategy()} in [[Module:form of/functions]]. (NOTE: The global default is {"slash"} and this seems unlikely to change.) A truthy `nolink` suppresses linking.]==] function export.get_tag_display_form(tagspec, lang, joiner, nolink) if type(tagspec) == "string" then return get_single_tag_display_form(tagspec, lang, nolink) end -- We have a multipart tag. See if there's a display handler to display them specially. for _, handler in ipairs(display_handlers or get_display_handlers()) do local displayval = handler(tagspec, joiner) if displayval then if nolink then displayval = remove_links(displayval) end return displayval end end -- No display handler. local displayed_tags = {} for _, first_level_tag in ipairs(tagspec) do if type(first_level_tag) == "string" then insert(displayed_tags, get_single_tag_display_form(first_level_tag, lang, nolink)) else -- A first-level element of a two-level multipart tag. Currently we just separate the individual components -- with spaces, but other ways are possible, e.g. using an underscore, colon, parens or braces. local components = {} for _, component in ipairs(first_level_tag) do insert(components, get_single_tag_display_form(component, lang, nolink)) end insert(displayed_tags, concat(components, " ")) end end return join_multiparts(displayed_tags, joiner) end get_tag_display_form = export.get_tag_display_form --[==[ Given a normalized tag set (i.e. as output by {normalize_tag_set()}; all tags are in canonical form, multipart tags are represented as lists, and two-level multipart tags as lists of lists), convert to displayed form (a string). See {get_tag_display_form()} for the meaning of `joiner`. A truthy `nolink` suppresses linking.]==] function export.get_tag_set_display_form(normalized_tag_set, lang, joiner, nolink) local parts = {} for _, tagspec in ipairs(normalized_tag_set) do local to_insert = get_tag_display_form(tagspec, lang, joiner, nolink) -- Maybe insert a space before inserting the display form of the tag. We insert a space if -- (a) we're not the first tag; and -- (b) the tag we're about to insert doesn't have the "no_space_on_left" property; and -- (c) the preceding tag doesn't have the "no_space_on_right" property. -- NOTE: We depend here on the fact that -- (1) all tags with either of the above properties set have the same display form as canonical form, and -- (2) all tags with either of the above properties set are single-character tags. -- The second property is an optimization to avoid looking up display forms resulting from multipart tags, -- which won't be found and which will trigger loading of [[Module:form of/data/2]]. If multichar punctuation is -- added in the future, it's ok to change the == 1 below to <= 2 or <= 3. -- -- If the first property above fails to hold in the future, we need to track the canonical form of each tag -- (including the previous one) as well as the display form. This would also avoid the need for the == 1 check. if #parts > 0 then local most_recent_tagobj = parts[#parts]:match("^.[\128-\191]*$") and lookup_tag(parts[#parts], lang) local to_insert_tagobj = to_insert:match("^.[\128-\191]*$") and lookup_tag(to_insert, lang) if ( (not most_recent_tagobj or not most_recent_tagobj.no_space_on_right) and (not to_insert_tagobj or not to_insert_tagobj.no_space_on_left) ) then insert(parts, " ") end end insert(parts, to_insert) end return concat(parts) end get_tag_set_display_form = export.get_tag_set_display_form --[==[ Split a tag set containing two-level multipart tags into one or more tag sets not containing such tags. Single-level multipart tags are left alone. (If we need to, a slight modification of the following code will also split single-level multipart tags.) This assumes that multipart tags are represented as lists and two-level multipart tags are represented as lists of lists, as is output by {normalize_tag_set()}. NOTE: We have to be careful to properly handle imbalanced two-level multipart tags such as `def:s//p` (or the reverse, `s//def:p`).]==] local function split_two_level_multipart_tag_set(tag_set) for i, tag in ipairs(tag_set) do if type(tag) == "table" then -- We saw a multipart tag. Check if any of the parts are two-level. local saw_two_level_tag = false for _, first_level_tag in ipairs(tag) do if type(first_level_tag) == "table" then saw_two_level_tag = true break end end if saw_two_level_tag then -- We found a two-level multipart tag. -- (1) Extract the preceding tags. local pre_tags = slice(tag_set, 1, i - 1) -- (2) Extract the following tags. local post_tags = slice(tag_set, i + 1) -- (3) Loop over each tag set alternant in the two-level multipart tag. -- For each alternant, form the tag set consisting of pre_tags + alternant + post_tags, -- and recursively split that tag set. local resulting_tag_sets = {} for _, first_level_tag_set in ipairs(tag) do local expanded_tag_set = {} extend(expanded_tag_set, pre_tags) -- The second level may have a string or a list. if type(first_level_tag_set) == "table" then extend(expanded_tag_set, first_level_tag_set) else insert(expanded_tag_set, first_level_tag_set) end extend(expanded_tag_set, post_tags) extend(resulting_tag_sets, split_two_level_multipart_tag_set(expanded_tag_set)) end return resulting_tag_sets end end end return {tag_set} end local function try_lang_specific_module(langcode, modules_tried, name, data) local lang_specific_module = form_of_lang_data_module_prefix .. langcode .. "/functions" local langdata = safe_require(lang_specific_module) if langdata then insert(modules_tried, lang_specific_module) if langdata.cat_functions then local fn = langdata.cat_functions[name] if fn then return fn(data), true end end end return nil, false end -- Call a named function, either from the lang-specific data in -- [[Module:form of/lang-specific/LANGCODE/functions]] or in [[Module:form of/functions]]. local function call_named_function(name, funtype, normalized_tag_set, lang, POS, pagename, lemmas) local data = { pagename = pagename or default_pagename or get_default_pagename(), lemmas = lemmas, tag_set = normalized_tag_set, lang = lang, POS = POS } local modules_tried = {} -- First try lang-specific. while lang do local retval, found_it = try_lang_specific_module(lang:getCode(), modules_tried, name, data) if found_it then return retval end -- If the language has a parent (i.e. a superordinate variety), try again with that. lang = lang:getParent() end -- Try lang-independent. insert(modules_tried, form_of_functions_module) local fn = (cat_functions or get_cat_functions())[name] if fn then return fn(data) end for i, modname in ipairs(modules_tried) do modules_tried[i] = "[[" .. modname .. "]]" end error(("No %s function named '%s' in %s"):format(funtype, name, list_to_text(modules_tried, nil, " or "))) end -- Given a tag from the current tag set (which may be a list in case of a multipart tag), -- and a tag from a categorization spec, check that the two match. -- (1) If both are strings, we just check for equality. -- (2) If the spec tag is a string and the tag set tag is a list (i.e. it originates from a -- multipart tag), we check that the spec tag is in the list. This is because we want to treat -- multipart tags in user-specified tag sets as if the user had specified multiple tag sets. -- For example, if the user said "1//3|s|pres|ind" and the categorization spec says {"has", "1"}, -- we want this to match, because "1//3|s|pres|ind" should be treated equivalently to two tag -- sets "1|s|pres|ind" and "3|s|pres|ind", and the former matches the categorization spec. -- (3) If the spec tag is a list (i.e. it originates from a multipart tag), we check that the -- tag set tag is also a list and is a superset of the spec tag. For example, if the categorization -- spec says {"has", "1//3"}, then the tag set tag must be a multipart tag that has both "1" and "3" -- in it. "1//3" works, as does "1//2//3". local function tag_set_tag_matches_spec_tag(tag_set_tag, spec_tag) if type(spec_tag) == "table" then if type(tag_set_tag) == "table" and is_subset_list(spec_tag, tag_set_tag) then return true end elseif type(tag_set_tag) == "table" then if contains(tag_set_tag, spec_tag) then return true end elseif tag_set_tag == spec_tag then return true end return false end -- Check that the current tag set matches the given spec tag. This means that any of the tags -- in the current tag set match, according to tag_set_tag_matches_spec_tag(); see above. If the -- current tag set contains only string tags (i.e. no multipart tags), and the spec tag is a -- string (i.e. not a multipart tag), this boils down to list containment, but it gets more -- complex when multipart tags are present. local function tag_set_matches_spec_tag(spec_tag, tag_set, lang) spec_tag = normalize_tag(spec_tag, lang) for _, tag_set_tag in ipairs(tag_set) do if tag_set_tag_matches_spec_tag(tag_set_tag, spec_tag) then return true end end return false end -- Check whether the given spec matches the current tag set. Two values are returned: -- (1) whether the spec matches the tag set; (2) the index of the category to add if -- the spec matches. local function check_condition(spec, tag_set, normalized_tag_set, lang, POS, pagename, lemmas) if type(spec) == "boolean" then return spec elseif type(spec) ~= "table" then error("Wrong type of condition " .. spec .. ": " .. type(spec)) end local predicate = spec[1] if predicate == "has" then return tag_set_matches_spec_tag(spec[2], tag_set, lang), 3 elseif predicate == "hasall" then for _, tag in ipairs(spec[2]) do if not tag_set_matches_spec_tag(tag, tag_set, lang) then return false, 3 end end return true, 3 elseif predicate == "hasany" then for _, tag in ipairs(spec[2]) do if tag_set_matches_spec_tag(tag, tag_set, lang) then return true, 3 end end return false, 3 elseif predicate == "tags=" then local normalized_spec_tag_sets = normalize_tag_set(spec[2], lang) if #normalized_spec_tag_sets > 1 then error("Internal error: No support for conjoined shortcuts in category/label specs in " .. "[[Module:form of/cats]] when processing spec tag set " .. concat(spec[2], "|")) end local normalized_spec_tag_set = normalized_spec_tag_sets[1] -- Check for and disallow two-level multipart tags in the specs. FIXME: Remove this when we remove -- support for two-level multipart tags. for _, tag in ipairs(normalized_spec_tag_set) do if type(tag) == "table" then for _, subtag in ipairs(tag) do if type(subtag) == "table" then error("Internal error: No support for two-level multipart tags in category/label specs" .. "[[Module:form of/cats]] when processing spec tag set " .. concat(spec[2], "|")) end end end end -- Allow tags to be in different orders, and multipart tags to be in different orders. To handle this, -- we first check that both tag set tags and spec tags have the same length. If so, we sort the -- multipart tags in the tag set tags and spec tags, and then check that all tags in the spec tags are -- in the tag set tags. if #tag_set ~= #normalized_spec_tag_set then return false, 3 end local tag_set_tags = deep_copy(tag_set) for i=1,#tag_set_tags do if type(tag_set_tags[i]) == "table" then sort(tag_set_tags[i]) end if type(normalized_spec_tag_set[i]) == "table" then sort(normalized_spec_tag_set[i]) end end for i=1,#tag_set_tags do if not contains(tag_set_tags, normalized_spec_tag_set[i]) then return false, 3 end end return true, 3 elseif predicate == "p=" then return POS == normalize_pos(spec[2]), 3 elseif predicate == "pany" then for _, specpos in ipairs(spec[2]) do if POS == normalize_pos(specpos) then return true, 3 end end return false, 3 elseif predicate == "pexists" then return POS ~= nil, 2 elseif predicate == "not" then local condval = check_condition(spec[2], tag_set, normalized_tag_set, lang, POS, pagename, lemmas) return not condval, 3 elseif predicate == "and" then local condval = check_condition(spec[2], tag_set, normalized_tag_set, lang, POS, pagename, lemmas) if condval then condval = check_condition(spec[3], tag_set, normalized_tag_set, lang, POS, pagename, lemmas) end return condval, 4 elseif predicate == "or" then local condval = check_condition(spec[2], tag_set, normalized_tag_set, lang, POS, pagename, lemmas) if not condval then condval = check_condition(spec[3], tag_set, normalized_tag_set, lang, POS, pagename, lemmas) end return condval, 4 elseif predicate == "call" then return call_named_function(spec[2], "condition", normalized_tag_set, lang, POS, pagename, lemmas), 3 else error("Unrecognized predicate: " .. predicate) end end -- Process a given spec. This checks any conditions in the spec against the -- tag set, and insert any resulting categories into `categories`. Return value -- is true if the outermost condition evaluated to true and a category was inserted -- (this is used in {"cond" ...} conditions, which stop when a subcondition evaluates -- to true). local function process_spec(spec, tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) if not spec then return false elseif type(spec) == "string" then -- A category. Substitute POS request with user-specified part of speech or default. spec = spec:gsub("<<p=(.-)>>", function(default) return POS or normalize_pos(default) end) insert(categories, lang:getFullName() .. " " .. spec) return true elseif type(spec) == "table" and spec.labels then -- A label spec. for _, label in ipairs(spec.labels) do insert_if_not(labels, label) end return true elseif type(spec) ~= "table" then error("Wrong type of specification " .. spec .. ": " .. type(spec)) end local predicate = spec[1] if predicate == "multi" then for _, sp in iterate_from(2, ipairs(spec)) do -- Iterate from 2. process_spec(sp, tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) end return true elseif predicate == "cond" then for _, sp in iterate_from(2, ipairs(spec)) do -- Iterate from 2. if process_spec(sp, tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) then return true end end return false elseif predicate == "call" then return process_spec( call_named_function(spec[2], "spec", normalized_tag_set, lang, POS, pagename, lemmas), tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels ) else local condval, ifspec = check_condition(spec, tag_set, normalized_tag_set, lang, POS, pagename, lemmas) if condval then process_spec(spec[ifspec], tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) return true else process_spec(spec[ifspec + 1], tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) -- FIXME: Are we sure this is correct? return false end end end --[==[ Given a normalized tag set (i.e. as output by {normalize_tag_set()}; all tags are in canonical form, multipart tags are represented as lists, and two-level multipart tags as lists of lists), fetch the associated categories and labels. Return two values, a list of categories and a list of labels. `lang` is the language of term represented by the tag set, and `POS` is the user-provided part of speech (which may be {nil}).]==] function export.fetch_categories_and_labels(normalized_tag_set, lang, POS, pagename, lemmas) local categories, labels = {}, {} POS = normalize_pos(POS) -- First split any two-level multipart tags into multiple sets, to make our life easier. for _, tag_set in ipairs(split_two_level_multipart_tag_set(normalized_tag_set)) do local langcode = lang:getCode() local langspecs = (m_cats_data or get_m_cats_data())[langcode] if langspecs then for _, spec in ipairs(langspecs) do process_spec(spec, tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) end end local full_code = lang:getFullCode() if full_code ~= langcode then local langspecs = (m_cats_data or get_m_cats_data())[full_code] if langspecs then for _, spec in ipairs(langspecs) do process_spec(spec, tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) end end end if full_code ~= "und" then local langspecs = (m_cats_data or get_m_cats_data())["und"] if langspecs then for _, spec in ipairs(langspecs) do process_spec(spec, tag_set, normalized_tag_set, lang, POS, pagename, lemmas, categories, labels) end end end end return categories, labels end fetch_categories_and_labels = export.fetch_categories_and_labels local function format_labels(labels, data, notext) if labels and #labels > 0 then return show_labels{ labels = labels, lang = data.lang, sort = data.sort, nocat = data.nocat } .. (notext and (data.pretext or "") == "" and "" or " ") else return "" end end --[==[ Implementation of templates that display inflection tags, such as the general {{tl|inflection of}}, semi-specific variants such as {{tl|participle of}}, and specific variants such as {{tl|past participle of}}. `data` contains all the information controlling the display, with the following fields: * `.lang`: ('''''required''''') Language to use when looking up language-specific inflection tags, categories and labels, and for displaying categories and labels. * `.tags`: ('''''required''' unless `.tag_sets` is given'') List of non-canonicalized inflection tags. Multiple tag sets can be indicated by a {";"} as one of the tags, and tag-set properties may be attached to the last tag of a tag set. The tags themselves may come directly from the user (as in {{tl|inflection of}}); come partly from the user (as in {{tl|participle of}}, which adds the tag `part` to user-specified inflection tags); or be entirely specified by the template (as in {{tl|past participle of}}). * `.tag_sets`: ('''''required''' unless `.tags` is given'') List of non-canonicalized tag sets and associated per-tag-set properties. Each element of the list is an object of the form { {tags = {"TAG", "TAG", ...}, labels = {"LABEL", "LABEL", ...}}. If `.tag_sets` is specified, `.tags` should not be given and vice-versa. Specifying `.tag_sets` in place of tags allowed per-tag set labels to be specified; otherwise, there is no advantage. [[Module:pt-gl-inflections]] uses this functionality to supply labels like {"Brazil"} and {"Portugal"} associated with specific tag sets. * `.lemmas`: ('''''recommended''''') List of objects describing the lemma(s) of which the term in question is a non-lemma form. These are passed directly to {full_link()} in [[Module:links]]. Each object should have at minimum a `.lang` field containing the language of the lemma and a `.term` field containing the lemma itself. Each object is formatted using {full_link()} and then if there are more than one, they are joined using {serialCommaJoin()} in [[Module:table]]. Alternatively, `.lemmas` can be a string, which is displayed directly. If omitted entirely, no lemma links are shown and the connecting "of" is also omitted. * `.lemma_face`: ('''''recommended''''') "Face" to use when displaying the lemma objects. Usually should be set to {"term"}. * `.POS`: ('''''recommended''''') Categorizing part-of-speech tag. Comes from the {{para|p}} or {{para|POS}} argument of {{tl|inflection of}}. * `.pagename`: Page name of "current" page or nil to use the actual page title; for testing purposes. * `.conj`: Conjunction or separator to use when joining multiple lemma objects. Defaults to {"and"}. * `.enclitics`: List of enclitics to display after the lemmas, in parens. * `.enclitic_conj`: Conjunction or separator to use when joining multiple enclitics. Defaults to {"and"}. * `.no_format_categories`: If true, don't format the categories derived from the inflection tags; just return them. * `.sort`: Sort key for formatted categories. Ignored when `.no_format_categories` = {true}. * `.nocat`: Suppress computation of categories (even if `.no_format_categories` is not given). * `.notext`: Disable display of all tag text and `inflection of` text. (FIXME: Maybe not implemented correctly.) * `.nolink`: Suppress linking of terms in inflection tags. * `.capfirst`: Capitalize the first word displayed. * `.pretext`: Additional text to display before the inflection tags, but after any top-level labels. * `.posttext`: Additional text to display after the lemma links. * `.text_classes`: CSS classes used to wrap the tag text and lemma links. Default is {"form-of-definition use-with-mention"}. * `.lemma_classes`: Additional CSS classes used to wrap the lemma links. Default is {"form-of-definition-link"}. * `.joiner`: Override the joiner (normally a slash) used to join multipart tags. You should normally not specify this. * `.nowrap`: Do not wrap the form-of definitions in a span, unless `.text_classes` is specified. * `.ok_to_destructively_modify`: If set, data structures (including the nested lemma structures) can be modified in-place to save memory; otherwise they will be copied before modifying. A typical call might look like this (for {{m+|es|amo}}): { local lang = require("Module:languages").getByCode("es") local lemma_obj = { lang = lang, term = "amar", } return m_form_of.tagged_inflections({ lang = lang, tags = {"1", "s", "pres", "ind"}, lemmas = {lemma_obj}, lemma_face = "term", POS = "verb" }) } Normally, one value is returned, the formatted text, which has appended to it the formatted categories derived from the tag-set-related categories generated by the specs in [Module:form of/cats]]. To suppress this, set `data.no_format_categories` = {true}, in which case two values are returned, the formatted text without any formatted categories appended and a list of the categories to be formatted. NOTE: There are two sets of categories that may be generated: (1) categories derived directly from the tag sets, as specified in [[Module:form of/cats]]; (2) categories derived from tag-set labels, either (a) set explicitly by the caller in `data.tag_sets`, (b) specified by the user using `<lb:...>` attached to the last tag in a tag set, or (c) specified in [[Module:form of/cats]]. The second type (label-related categories) are currently not returned in the second return value of {tagged_inflections()}, and are currently inserted into the output text even if `data.no_format_categories` is set to {true}; but they can be suppressed by setting `data.nocat` = {true} (which also suppresses the first type of categories, those derived directly from tag sets, even if `data.no_format_categories` is set to {true}).]==] function export.tagged_inflections(data) if not data.tags and not data.tag_sets then error("First argument must be a table of arguments, and `.tags` or `.tag_sets` must be specified") end if data.tags and data.tag_sets then error("Both `.tags` and `.tag_sets` cannot be specified") end local tag_sets = data.tag_sets if not tag_sets then tag_sets = split_tag_set(data.tags) for i, tag_set in ipairs(tag_sets) do tag_sets[i] = parse_tag_set_properties(tag_set) end end local inflections = {} local categories = {} for _, tag_set in ipairs(tag_sets) do local normalized_tag_sets = normalize_tag_set(tag_set.tags, data.lang, "do-track") for _, normalized_tag_set in ipairs(normalized_tag_sets) do local this_categories, this_labels = fetch_categories_and_labels(normalized_tag_set, data.lang, data.POS, data.pagename, type(data.lemmas) == "table" and data.lemmas or nil) if not data.nocat then extend(categories, this_categories) end local cur_infl = get_tag_set_display_form(normalized_tag_set, data.lang, data.joiner, data.nolink) if #cur_infl > 0 then if tag_set.labels then this_labels = append(tag_set.labels, this_labels) end insert(inflections, {infl_text = cur_infl, labels = this_labels}) end end end local overall_labels, need_per_tag_set_labels for _, inflection in ipairs(inflections) do if overall_labels == nil then overall_labels = inflection.labels elseif not deep_equals(overall_labels, inflection.labels) then need_per_tag_set_labels = true overall_labels = nil break end end if not need_per_tag_set_labels then for _, inflection in ipairs(inflections) do inflection.labels = nil end end local format_data = shallow_copy(data) local of_text = data.lemmas and " dari" or "" local formatted_text, this_categories if #inflections == 1 then if need_per_tag_set_labels then error("Internal error: need_per_tag_set_labels should not be set with one inflection") end format_data.text = format_labels(overall_labels, data, data.notext) .. (data.pretext or "") .. (data.notext and "" or ((data.capfirst and ucfirst(inflections[1].infl_text) or inflections[1].infl_text) .. of_text)) formatted_text, this_categories = format_form_of(format_data) else format_data.text = format_labels(overall_labels, data, data.notext) .. (data.pretext or "") .. (data.notext and "" or ((data.capfirst and "Inflection" or "inflection") .. of_text)) format_data.posttext = (data.posttext or "") .. ":" local link link, this_categories = format_form_of(format_data) local text_classes = data.text_classes if text_classes == nil and not data.nowrap then text_classes = "form-of-definition use-with-mention" end for i, inflection in ipairs(inflections) do inflections[i] = "\n## " .. format_labels(inflection.labels, data, false) .. wrap_in_span(inflection.infl_text, text_classes) end formatted_text = link .. concat(inflections) end if this_categories[1] then extend(categories, this_categories) end if not data.no_format_categories then if categories[1] then formatted_text = formatted_text .. format_categories(categories, data.lang, data.sort, nil, export.force_cat) end return formatted_text end return formatted_text, categories end function export.dump_form_of_data(frame) local data = { require(form_of_data1_module), require(form_of_data2_module) } return require(json_module).toJSON(data) end export.form_of_cats_module = form_of_cats_module export.form_of_data1_module = form_of_data1_module export.form_of_data2_module = form_of_data2_module export.form_of_functions_module = form_of_functions_module export.form_of_lang_data_module_prefix = form_of_lang_data_module_prefix export.headword_data_module = headword_data_module -- so all form-of modules stay in sync return export 5aml5w4x75tf7g9k8enbw5fftmp6zg9 Modul:form of/templates 828 210279 1349853 1103421 2026-04-14T13:31:37Z Swarabakti 18192 1349853 Scribunto text/plain local export = {} local debug_track_module = "Module:debug/track" local form_of_module = "Module:form of" local functions_module = "Module:fun" local headword_data_module = "Module:headword/data" local languages_module = "Module:languages" local load_module = "Module:load" local parameters_module = "Module:parameters" local parameter_utilities_module = "Module:parameter utilities" local parse_interface_module = "Module:parse interface" local string_utilities_module = "Module:string utilities" local table_module = "Module:table" local utilities_module = "Module:utilities" local insert = table.insert local ipairs = ipairs local pairs = pairs local require = require local boolean_param = {type = "boolean"} -- FIXME: Finish [[Module:format utilities]]. -- local allowed_conj_set = require(format_utilities_module).allowed_conj_set_for_join_segments local allowed_conj_set = {["and"] = true, ["or"] = true, ["and/or"] = true} --[==[ Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==] local function debug_track(...) debug_track = require(debug_track_module) return debug_track(...) end local function decode_entities(...) decode_entities = require(string_utilities_module).decode_entities return decode_entities(...) end local function extend(...) extend = require(table_module).extend return extend(...) end local function format_categories(...) format_categories = require(utilities_module).format_categories return format_categories(...) end local function format_form_of(...) format_form_of = require(form_of_module).format_form_of return format_form_of(...) end local function get_lang(...) get_lang = require(languages_module).getByCode return get_lang(...) end local function gsplit(...) gsplit = require(string_utilities_module).gsplit return gsplit(...) end local function is_callable(...) is_callable = require(functions_module).is_callable return is_callable(...) end local function load_data(...) load_data = require(load_module).load_data return load_data(...) end local function parse_inline_modifiers(...) parse_inline_modifiers = require(parse_interface_module).parse_inline_modifiers return parse_inline_modifiers(...) end local function pattern_escape(...) pattern_escape = require(string_utilities_module).pattern_escape return pattern_escape(...) end local function process_params(...) process_params = require(parameters_module).process return process_params(...) end local function safe_load_data(...) safe_load_data = require(load_module).safe_load_data return safe_load_data(...) end local function split(...) split = require(string_utilities_module).split return split(...) end local function split_tag_set(...) split_tag_set = require(form_of_module).split_tag_set return split_tag_set(...) end local function tagged_inflections(...) tagged_inflections = require(form_of_module).tagged_inflections return tagged_inflections(...) end local function trim(...) trim = require(string_utilities_module).trim return trim(...) end local function ucfirst(...) ucfirst = require(string_utilities_module).ucfirst return ucfirst(...) end --[==[ Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==] local force_cat local function get_force_cat() force_cat, get_force_cat = require(form_of_module).force_cat, nil return force_cat end local m_form_of_pos local function get_m_form_of_pos() m_form_of_pos, get_m_form_of_pos = load_data(headword_data_module).pos_aliases, nil return m_form_of_pos end local module_prefix local function get_module_prefix() module_prefix, get_module_prefix = require(form_of_module).form_of_lang_data_module_prefix, nil return module_prefix end --[==[ intro: This module contains code that directly implements {{tl|form of}}, {{tl|inflection of}}, and the various other [[:Category:Form-of templates|form-of templates]]. It is meant to be called directly from templates. See also [[Module:form of]], which contains the underlying implementing code and is meant to be called from other modules. ]==] -- Add tracking category for PAGE when called from TEMPLATE. The tracking category linked to is -- [[Wiktionary:Tracking/form of/TEMPLATE/PAGE]]. If TEMPLATE is omitted, the tracking category is of the form -- [[Wiktionary:Tracking/form of/PAGE]]. local function track(page, template) debug_track("form of/" .. (template and template .. "/" or "") .. page) end local function get_common_template_params() return { -- Named params not controlling link display ["cat"] = {list = true, sublist = "comma without whitespace", flatten = true}, ["notext"] = boolean_param, ["sort"] = true, ["enclitic"] = true, -- FIXME! The following should only be available when withcap=1 in invocation args or when withencap=1 and the -- language is "en". Before doing that, need to remove all uses of nocap= in other circumstances. ["nocap"] = boolean_param, ["addl"] = true, -- additional text to display at the end, before the closing </span> ["pagename"] = true, -- for testing, etc. } end -- Split TAGSPECS (inflection tag specifications) on SPLIT_REGEX, which -- may be nil for no splitting. local function split_inflection_tags(tagspecs, split_regex) if not split_regex then return tagspecs end local inflection_tags = {} for _, tagspec in ipairs(tagspecs) do for tag in gsplit(tagspec, split_regex) do insert(inflection_tags, tag) end end return inflection_tags end local function parse_terms_with_inline_modifiers(paramname, val, param_mods, lang) local function generate_obj(term) return {lang = lang, term = decode_entities(term)} end return parse_inline_modifiers(val, { paramname = paramname, param_mods = param_mods, generate_obj = generate_obj, splitchar = ",", outer_container = {}, }) end -- Need to do what [[Module:parameters]] does to string arguments from parent_args as we're running this -- before calling [[Module:parameters]] on parent_args. local function ine(arg) if not arg then return nil end arg = trim(arg) return arg ~= "" and arg or nil end local function add_base_lemma_params(parent_args, iargs, params, compat) -- Check the language-specific data for additional base lemma params. But if there's no language-specific data, -- attempt any parent varieties as well (i.e. superordinate varieties). local lang = get_lang(ine(parent_args[compat and "lang" or 1]) or ine(iargs.lang) or "und", nil, true) while lang do local langdata = safe_load_data((module_prefix or get_module_prefix()) .. lang:getCode()) if langdata then local base_lemma_params = langdata.base_lemma_params if base_lemma_params then for _, param in ipairs(base_lemma_params) do params[param.param] = true end return base_lemma_params end end lang = lang:getParent() end end --[=[ Modify `params` in-place by adding parameters that control the link to the main entry and any base lemmas. `term_param` is the number of the param specifying the main entry itself; `term_param` + 1 will be the display text, and `term_param` + 2 will be the gloss, unless `no_numbered_gloss` is given. The base lemma parameters are determined by attempting to load language-specific data for the language of the page; this comes from |lang= if `compat` is given, else from |1=. ]=] local function add_link_and_base_lemma_params(iargs, parent_args, params, term_param, compat, no_numbered_gloss) local base_lemma_params if not iargs.nolink and not iargs.linktext then -- Numbered params controlling link display if iargs.with_multiple_parts then params[term_param] = {list = true, allow_holes = true} else params[term_param + 1] = {alias_of = "alt"} if not no_numbered_gloss then params[term_param + 2] = {alias_of = "t"} end params[term_param] = true end base_lemma_params = add_base_lemma_params(parent_args, iargs, params, compat) end return base_lemma_params end local function handle_withdot_withcap(iargs, params) local ignored_tracked_params = {} if iargs.withdot then params.dot = true params.nodot = boolean_param end if iargs.withcap and iargs.withencap then error("Internal error: Can specify only one of withcap= and withencap=") end if not iargs.withcap then params.cap = boolean_param ignored_tracked_params.nocap = iargs.withencap and "non-english" or "always" end return ignored_tracked_params end --[=[ Construct and return the full definition line for a form-of-type template invocation. `data` is an object with the following fields: * `template`: Approximate template name, for debug tracking; * `iargs`: processed invocation arguments; * `parent_args`: raw parent args from `frame:getParent().args`; * `params`: partially constructed params structure of the sort passed to `process()` in [[Module:parameters]], but without any link params; * `ignored_tracked_params`: params that are ignored but should be tracked, to be eventually removed; * `term_param`: the parent argument specifying the main entry; * `compat`: true if the language code is found in args.lang instead of args[1]; * `base_lemma_params`: if non-nil, a list of base lemma param objects of the sort stored in the language-specific data; * `do_form_of`: a function of one argument, `lemma_data`, that returns the actual definition-line text and any language-specific categories. See below. This function does several things: # If link parameters are called for (neither `iargs.nolink` nor `iargs.linktext` are given), augment the `params` structure with separate link parameters. # Modify the parent args as appropriate if invocation arguments def= or ignore= are given. # Parse the parent args, both for separate parameter properties and inline modifiers on the term parameter (which may consist of multiple comma-separated terms). # Compute categories to add to the page, including language-specific categories and any categories requested by the invocation or parent args. # Parse enclitic and extra base lemma parameters. # Construct the actual text using `do_form_of`. # Add a terminating period/dot as appropriate, along with the formatted categories. `do_form_of` takes one argument, `lemma_data`, which looks like this: { lang = LANG, args = {ARG = VALUE, ARG = VALUE, ...}, lemmas = {LEMMA_OBJ, LEMMA_OBJ, ...}, enclitics = {ENCLITIC_OBJ, ENCLITIC_OBJ, ...}, base_lemmas = {BASE_LEMMA_OBJ, BASE_LEMMA_OBJ, ...}, categories = {"CATEGORY", "CATEGORY", ...}, posttext = "POSTTEXT" or nil, } where * LANG is the language code; * ARGS is the parsed arguments, based on what the user specified; * LEMMAS is a sequence of objects specifying the main entries/lemmas, as passed to full_link in [[Module:links]]; however, if the invocation argument linktext= is given, it will be a string consisting of that text, and if the invocation argument nolink= is given, it will be nil; * ENCLITICS is nil or a sequence of objects specifying the enclitics, as passed to full_link in [[Module:links]]; * BASE_LEMMA_OBJ is a sequence of objects specifying the base lemma(s), which are used when the lemma is itself a form of another lemma (the base lemma), e.g. a comparative, superlative or participle; each object is of the form { paramobj = PARAM_OBJ, lemmas = {LEMMA_OBJ, LEMMA_OBJ, ...} } where PARAM_OBJ describes the properties of the base lemma parameter (i.e. the relationship between the intermediate and base lemmas) and LEMMA_OBJ is of the same format of ENCLITIC_OBJ, i.e. an object suitable to be passed to full_link in [[Module:links]]; PARAM_OBJ is of the format { param = "PARAM", tags = {"TAG", "TAG", ...} } where PARAM is the name of the parameter to {{inflection of}} etc. that holds the base lemma(s) of the specified relationship and the tags describe the relationship, such as {"comd"} or {"past", "part"}; * CATEGORIES is the categories to add the page to (consisting of any categories specified in the invocation or parent args and any tracking categories, but not any additional lang-specific categories that may be added by {{inflection of}} or similar templates); * POSTTEXT is text to display at the end of the form-of text, before the final </span> (or at the end of the first line, before the colon, in a multiline {{infl of}} call). `do_form_of` should return two arguments: (1) The actual definition-line text, marked up appropriately with <span>...</span> but without any terminating period/dot. (2) Any extra categories to add the page to (other than those that can be derived from parameters specified to the invocation or parent arguments, which will automatically be added to the page). ]=] local function construct_form_of_text(data) local template, iargs, parent_args, params, no_numbered_gloss, do_form_of = data.template, data.iargs, data.parent_args, data.params, data.no_numbered_gloss, data.do_form_of local term_param = iargs.term_param local compat = iargs.lang or parent_args.lang term_param = term_param or compat and 1 or 2 -- Numbered params params[compat and "lang" or 1] = { required = not iargs.lang, type = "language", default = iargs.lang or "und" } -- Error to catch most uses of old-style parameters for {{contraction of}}. (FIXME: Remove eventually.) if iargs.with_multiple_parts then if ine(parent_args[term_param + 2]) and not ine(parent_args[term_param + 1]) and not ine(parent_args.tr2) and not ine(parent_args.ts2) and not ine(parent_args.t2) and not ine(parent_args.gloss2) and not ine(parent_args.g2) and not ine(parent_args.alt2) then error(("You specified a term in %s= and not one in %s=. You probably meant to use t= to specify a gloss instead. " .. "If you intended to specify two terms, put the second term in %s=."):format(term_param + 2, term_param + 1, term_param + 1)) end if not ine(parent_args[term_param + 1]) and not ine(parent_args.alt2) and not ine(parent_args.tr2) and not ine(parent_args.ts2) and ine(parent_args.g2) then error(("You specified a gender in g2= but no term in %s=. You were probably trying to specify two genders for " .. "a single term. To do that, put both genders in g=, comma-separated."):format(term_param + 1)) end end local base_lemma_params = add_link_and_base_lemma_params(iargs, parent_args, params, term_param, compat, no_numbered_gloss) local ignored_tracked_params = handle_withdot_withcap(iargs, params) --[=[ Process parent arguments. This is similar to the following: require("Module:parameters").process(parent_args, params) but in addition it does the following: (1) Supplies default values for unspecified parent arguments as specified in DEFAULTS, which consist of specs of the form "ARG=VALUE". These are added to the parent arguments prior to processing, so boolean and number parameters will process the value appropriately. (2) Removes parent arguments specified in IGNORESPECS, which consist either of bare argument names to remove, or list-argument names to remove of the form "ARG:list". (3) Tracks the use of any parent arguments specified in TRACKED_PARAMS, which is a set where the keys are arguments as they exist after processing (hence numeric arguments should be numbers, not strings) and the values should be boolean true. ]=]-- local defaults = iargs.def local ignorespecs = iargs.ignore if defaults[1] or ignorespecs[1] then local new_parent_args = {} for _, default in ipairs(defaults) do local defparam, defval = default:match("^(.-)=(.*)$") if not defparam then error("Bad default spec " .. default) end new_parent_args[defparam] = defval end local params_to_ignore = {} local numbered_list_params_to_ignore = {} local named_list_params_to_ignore = {} for _, ignorespec in ipairs(ignorespecs) do for ignore in gsplit(ignorespec, ",") do local param = ignore:match("^(.*):list$") if param then if param:match("^%d+$") then insert(numbered_list_params_to_ignore, tonumber(param)) else insert(named_list_params_to_ignore, "^" .. pattern_escape(param) .. "%d*$") end else if ignore:match("^%d+$") then ignore = tonumber(ignore) end params_to_ignore[ignore] = true end end end for k, v in pairs(parent_args) do if not params_to_ignore[k] then local ignore_me = false if type(k) == "number" then for _, lparam in ipairs(numbered_list_params_to_ignore) do if k >= lparam then ignore_me = true break end end else for _, lparam in ipairs(named_list_params_to_ignore) do if k:match(lparam) then ignore_me = true break end end end if not ignore_me then new_parent_args[k] = v end end end parent_args = new_parent_args end local param_mods_with_conj, param_mods_without_conj local function get_param_mods(with_conj) if with_conj then if not param_mods_with_conj then param_mods_with_conj = require(parameter_utilities_module).construct_param_mods { {group = {"link", "q", "l", "ref"}}, {param = "conj", set = allowed_conj_set, overall = true}, } end return param_mods_with_conj else if not param_mods_without_conj then param_mods_without_conj = require(parameter_utilities_module).construct_param_mods { {group = {"link", "q", "l", "ref"}}, -- Override lit= to have a separate overall value {param = "lit", separate_no_index = true}, } end return param_mods_without_conj end end local terms, args if iargs.nolink or iargs.linktext then args = process_params(parent_args, params) else local m_param_utils = require(parameter_utilities_module) if iargs.with_multiple_parts then terms, args = m_param_utils.parse_list_with_inline_modifiers_and_separate_params { params = params, param_mods = get_param_mods(false), raw_args = parent_args, termarg = term_param, track_module = "form of" .. (template and "/" .. template or ""), lang = compat and "lang" or 1, sc = "sc.default", parse_lang_prefix = true, default_separator = " +&lrm; ", special_separators = {[";"] = " or "}, } else terms, args = m_param_utils.parse_term_with_inline_modifiers_and_separate_params { params = params, param_mods = get_param_mods("with conj"), raw_args = parent_args, termarg = term_param, track_module = "form of" .. (template and "/" .. template or ""), lang = compat and "lang" or 1, sc = "sc", parse_lang_prefix = true, make_separate_g_into_list = true, splitchar = ",", subitem_param_handling = "last", } end end local lang = args[compat and "lang" or 1] -- Tracking for certain user-specified params. This is generally used for -- parameters that we accept but ignore, so that we can eventually remove -- all uses of these params and stop accepting them. if ignored_tracked_params then for ignored_tracked_param, condition in pairs(ignored_tracked_params) do if parent_args[ignored_tracked_param] and (condition ~= "non-english" or lang:getCode() ~= "en") then track("arg/" .. ignored_tracked_param, template) track("arg/" .. ignored_tracked_param) end end end -- Determine categories for the page, including tracking categories local categories = {} if not args.nocat then for _, cat in ipairs(iargs.cat) do insert(categories, lang:getCode() .. ":" .. cat) end end for _, cat in ipairs(args.cat) do insert(categories, lang:getCode() .. ":" .. cat) end -- Format the link, preceding text and categories local function add_term_tracking_categories(term) -- add tracking category if term is same as page title if term and mw.loadData("Module:headword/data").pagename == lang:stripDiacritics(term) then insert(categories, "Forms linking to themselves") end -- maybe add tracking category if primary entry doesn't exist (this is an -- expensive call so we don't do it by default) if iargs.noprimaryentrycat and term and mw.title.getCurrentTitle().nsText == "" and not mw.title.new(term):getContent() then insert(categories, lang:getFullName() .. " " .. iargs.noprimaryentrycat) end end local lemmas if iargs.nolink then lemmas = nil elseif iargs.linktext then lemmas = iargs.linktext else if iargs.with_multiple_parts then lemmas = terms else lemmas = terms.terms end if not lemmas[1] then if mw.title.getCurrentTitle().nsText == "Template" then lemmas[1] = { lang = lang, term = "term" } else error("No linked-to term specified") end end for _, termobj in ipairs(lemmas) do if termobj.term then add_term_tracking_categories(termobj.term) end -- NOTE: Formerly, template arg sc= overrode inline modifier <sc:...>, which seems backwards, so I've -- changed it. Hopefully nothing depended on the old behavior. end end local enclitics, enclitic_conj if args.enclitic then local enclitics_obj = parse_terms_with_inline_modifiers("enclitic", args.enclitic, get_param_mods("with conj"), lang) enclitics = enclitics_obj.terms enclitic_conj = enclitics_obj.conj end local base_lemmas = {} if base_lemma_params then for _, base_lemma_param_obj in ipairs(base_lemma_params) do local param = base_lemma_param_obj.param if args[param] then local base_lemmas_obj = parse_terms_with_inline_modifiers(param, args[param], get_param_mods("with conj"), lang) insert(base_lemmas, { paramobj = base_lemma_param_obj, lemmas = base_lemmas_obj.terms, conj = base_lemmas_obj.conj, }) end end end local posttext = iargs.posttext local addl = args.addl if addl then posttext = posttext or "" if addl:find("^[;:]") then posttext = posttext .. addl elseif addl:find("^_") then posttext = posttext .. " " .. addl:sub(2) else posttext = posttext .. ", " .. addl end end local conj if iargs.with_multiple_parts then conj = false -- signals to use 'separator' field else conj = terms and terms.conj or iargs.conj end local lemma_data = { lang = lang, args = args, lemmas = lemmas, conj = conj, enclitics = enclitics, enclitic_conj = enclitic_conj, base_lemmas = base_lemmas, categories = categories, posttext = posttext, lit = iargs.with_multiple_parts and args.lit.default or nil, } local form_of_text, lang_cats = do_form_of(lemma_data) extend(lemma_data.categories, lang_cats) local text = form_of_text .. ( args.nodot and "" or args.dot or iargs.withdot and "." or "" ) if not lemma_data.categories[1] then return text end return text .. format_categories(lemma_data.categories, lemma_data.lang, args.sort, -- If lemma_is_sort_key is given, supply the first lemma term as the sort base if possible. If sort= is given, -- it will override the base; otherwise, the base will be converted appropriately to a sort key using the -- same algorithm applied to pagenames. iargs.lemma_is_sort_key and type(lemma_data.lemmas) == "table" and lemma_data.lemmas[1].term, -- Supply the first lemma's script for sort key computation. force_cat or get_force_cat(), type(lemma_data.lemmas) == "table" and lemma_data.lemmas[1].sc) end -- Invocation parameters shared between form_of_t(), tagged_form_of_t() and inflection_of_t(). `calling_func` is the -- invoking function ("form_of_t", "tagged_form_of_t" or "inflection_of_t"), for handling parameters shared by two but -- not all three invoking functions. local function get_common_invocation_params(calling_func) local iparams = { ["term_param"] = {type = "number"}, ["lang"] = true, -- To be used as the default code in params. ["sc"] = {type = "script"}, ["cat"] = {list = true, sublist = "comma without whitespace", flatten = true}, ["ignore"] = {list = true}, ["def"] = {list = true}, ["conj"] = {set = allowed_conj_set, default = "and"}, ["withcap"] = boolean_param, ["withencap"] = boolean_param, ["withdot"] = boolean_param, ["nolink"] = boolean_param, ["linktext"] = true, ["posttext"] = true, ["noprimaryentrycat"] = true, ["lemma_is_sort_key"] = true, } if calling_func ~= "inflection_of_t" then iparams.with_multiple_parts = boolean_param end return iparams end local function should_ucfirst_text(args, iargs, lang) local code = lang:getCode() return args.cap or (iargs.withcap or iargs.withencap and code == "en" or code == "mul") and not args.nocap end --[==[ Function that implements {{tl|form of}} and the various more specific form-of templates (but not {{tl|inflection of}} or templates that take tagged inflection parameters). Invocation params: ; {{para|1|req=1}} : Text to display before the link. ; {{para|term_param}} : Numbered param holding the term linked to. Other numbered params come after. Defaults to 1 if invocation or template param {{para|lang}} is present, otherwise 2. ; {{para|with_multiple_parts|1}} : If specified, higher numbered parameters above the numbered param in {{para|term_param}} specify additional parts out of which the term was constructed, for use by templates like {{tl|contraction of}}. (If not specified, the parameter at <code><var>term_param</var> + 1</code> is the display form, same as {{para|alt}}, and the parameter at at <code><var>term_param</var> + 2</code> is the gloss, same as {{para|t}}.) ; {{para|lang}} : Default language code for language-specific templates. If specified, no language code needs to be specified, and if specified it needs to be set using {{para|lang}}, not {{para|1}}. ; {{para|sc}} : Default script code for language-specific templates. The script code can still be overridden using template param {{para|sc}}. ; {{para|cat}}, {{para|cat2}}, ...: : Categories to place the page into. The language name will automatically be prepended. Note that there is also a template param {{para|cat}} to specify categories at the template level. Use of {{para|nocat}} disables categorization of categories specified using invocation param {{para|cat}}, but not using template param {{para|cat}}. A single param can specify multiple comma-separated categories if no space follows the comma. ; {{para|ignore}}, {{para|ignore2}}, ...: : One or more template params to silently accept and ignore. Useful e.g. when the template takes additional parameters such as {{para|from}} or {{para|POS}}. Each value is a comma-separated list of either bare parameter names or specifications of the form `PARAM:list` to specify that the parameter is a list parameter. ; {{para|def}}, {{para|def2}}, ...: : One or more default values to supply for template args. For example, specifying {{para|def|2=tr=-}} causes the default for template param {{para|tr}} to be `-`. Actual template params override these defaults. ; {{para|withcap|1}} : Capitalize the first character of the text preceding the link, unless template param {{para|nocap}} is given. ; {{para|withencap|1}} : Capitalize the first character of the text preceding the link if the language is English and template param {{para|nocap}} is not given. ; {{para|withdot|1}} : Add a final period after the link, unless template param {{para|nodot}} is given to suppress the period, or {{para|dot}} is given to specify an alternative punctuation character. ; {{para|nolink|1}} : Suppress the display of the link. If specified, none of the template params that control the link ({{para|<var>term_param</var>}}, {{para|<var>term_param</var> + 1}}, {{para|<var>term_param</var> + 2}}, {{para|t}}, {{para|gloss}}, {{para|sc}}, {{para|tr}}, {{para|ts}}, {{para|pos}}, {{para|g}}, {{para|id}}, {{para|lit}}) will be available. If the calling template uses any of these parameters, they must be ignored using {{para|ignore}}. {{para|linktext}} : Override the display of the link with the specified text. This is useful if a custom template is available to format the link (e.g. in Hebrew, Chinese and Japanese). If specified, none of the template params that control the link ({{para|<var>term_param</var>}}, {{para|<var>term_param</var> + 1}}, {{para|<var>term_param</var> + 2}}, {{para|t}}, {{para|gloss}}, {{para|sc}}, {{para|tr}}, {{para|ts}}, {{para|pos}}, {{para|g}}, {{para|id}}, {{para|lit}}) will be available. If the calling template uses any of these parameters, they must be ignored using {{para|ignore}}. ; {{para|posttext}} : Additional text to display directly after the formatted link, before any terminating period/dot and inside of `<span class='use-with-mention'>`. ; {{para|noprimaryentrycat}} : Category to add the page to if the primary entry linked to doesn't exist. The language name will automatically be prepended. ; {{para|lemma_is_sort_key|1}} : If the user didn't specify a sort key, use the lemma as the sort key (instead of the page itself). ]==] function export.form_of_t(frame) local iparams = get_common_invocation_params("form_of_t") iparams[1] = {required = true} local iargs = process_params(frame.args, iparams) local parent_args = frame:getParent().args local params = get_common_template_params() if next(iargs.cat) then params.nocat = boolean_param end return construct_form_of_text { template = "form-of-t", iargs = iargs, parent_args = parent_args, params = params, do_form_of = function(lemma_data) local args = lemma_data.args local text if args.notext then text = "" else text = iargs[1] if should_ucfirst_text(args, iargs, lemma_data.lang) then text = ucfirst(text) end end -- This returns two values, which we pass up to the caller. return format_form_of { lang = lemma_data.lang, text = text, lemmas = lemma_data.lemmas, conj = lemma_data.conj, enclitics = lemma_data.enclitics, base_lemmas = lemma_data.base_lemmas, lemma_face = "term", lit = lemma_data.lit, posttext = lemma_data.posttext } end } end --[=[ Construct and return the full definition line for a form-of-type template invocation that is based on inflection tags. This is a wrapper around construct_form_of_text() and takes the following arguments: processed invocation arguments IARGS, processed parent arguments ARGS, TERM_PARAM (the parent argument specifying the main entry), COMPAT (true if the language code is found in args.lang instead of args[1]), and TAGS, the list of (non-canonicalized) inflection tags. It returns that actual definition-line text including terminating period/full-stop, formatted categories, etc. and should be directly returned as the template function's return value. ]=] local function construct_tagged_form_of_text(data) local template, iargs, parent_args, params, no_numbered_gloss, tags = data.template, data.iargs, data.parent_args, data.params, data.no_numbered_gloss, data.tags -- Named params not controlling link display -- Always included because lang-specific categories may be added params.nocat = boolean_param params.p = true params.POS = {alias_of = "p"} return construct_form_of_text { template = template, iargs = iargs, parent_args = parent_args, params = params, no_numbered_gloss = no_numbered_gloss, do_form_of = function(lemma_data) local args = lemma_data.args if is_callable(tags) then tags = tags(args) end -- NOTE: tagged_inflections returns two values, so we do too. return tagged_inflections { lang = lemma_data.lang, tags = tags, lemmas = lemma_data.lemmas, conj = lemma_data.conj, enclitics = lemma_data.enclitics, enclitic_conj = lemma_data.enclitic_conj, base_lemmas = lemma_data.base_lemmas, lemma_face = "term", POS = args.p, pagename = args.pagename, -- Set no_format_categories because we do it ourselves in construct_form_of_text(). no_format_categories = true, nocat = args.nocat, notext = args.notext, capfirst = should_ucfirst_text(args, iargs, lemma_data.lang), posttext = lemma_data.posttext, } end } end --[==[ Function that implements form-of templates that are defined by specific tagged inflections (typically a template referring to a non-lemma inflection, such as {{tl|plural of}}). This works exactly like {form_of_t()} except that the "form of" text displayed before the link is based off of a pre-specified set of inflection tags (which will be appropriately linked to the glossary) instead of arbitrary text. From the user's perspective, there is no difference between templates implemented using {form_of_t()} and {tagged_form_of_t()}; they accept exactly the same parameters and work the same. See also {inflection_of_t()} below, which is intended for templates with user-specified inflection tags. Invocation params: ; {{para|1|req=1}}, {{para|2}}, ... : One or more inflection tags describing the inflection in question. ; {{para|split_tags}} : If specified, character to split specified inflection tags on. This allows multiple tags to be included in a single argument, simplifying template code. ; {{para|term_param}} ; {{para|with_multiple_parts|1}} ; {{para|lang}} ; {{para|sc}} ; {{para|cat}}, {{para|cat2}}, ... ; {{para|ignore}}, {{para|ignore2}}, ... ; {{para|def}}, {{para|def2}}, ... ; {{para|withcap|1}} ; {{para|withencap|1}} ; {{para|withdot|1}} ; {{para|nolink|1}} ; {{para|linktext}} ; {{para|posttext}} ; {{para|noprimaryentrycat}} ; {{para|lemma_is_sort_key|1}} : All of these are the same as in {form_of_t()}. ]==] function export.tagged_form_of_t(frame) local iparams = get_common_invocation_params("tagged_form_of_t") iparams[1] = {list = true, required = true} iparams.split_tags = true local iargs = process_params(frame.args, iparams) local parent_args = frame:getParent().args local params = get_common_template_params() return construct_tagged_form_of_text { template = "tagged-form-of-t", iargs = iargs, parent_args = parent_args, params = params, tags = split_inflection_tags(iargs[1], iargs.split_tags), } end --[==[ Function that implements {{tl|inflection of}} and certain semi-specific variants, such as {{tl|participle of}} and {{tl|past participle form of}}. This function is intended for templates that allow the user to specify a set of inflection tags. It works similarly to {form_of_t()} and {tagged_form_of_t()} except that the calling convention for the calling template is : { {{TEMPLATE|LANG|MAIN_ENTRY_LINK|MAIN_ENTRY_DISPLAY_TEXT|TAG|TAG|...}}} instead of : { {{TEMPLATE|LANG|MAIN_ENTRY_LINK|MAIN_ENTRY_DISPLAY_TEXT|GLOSS}}} Note that there isn't a numbered parameter for the gloss, but it can still be specified using {{para|t}} or {{para|gloss}}. Invocation params: ; {{para|preinfl}}, {{para|preinfl2}}, ... : Extra inflection tags to automatically prepend to the tags specified by the template. ; {{para|postinfl}}, {{para|postinfl2}}, ... : Extra inflection tags to automatically append to the tags specified by the template. Used for example by {{tl|past participle form of}} to add the tags `of the|past|p` onto the user-specified tags, which indicate which past participle form the page refers to. ; {{para|split_tags}} : If specified, character to split specified inflection tags on. This allows multiple tags to be included in a single argument, simplifying template code. Note that this applies *ONLY* to inflection tags specified in the invocation arguments using {{para|preinfl}} or {{para|postinfl}}, not to user-specified inflection tags. ; {{para|term_param}} ; {{para|lang}} ; {{para|sc}} ; {{para|cat}}, {{para|cat2}}, ... ; {{para|ignore}}, {{para|ignore2}}, ... ; {{para|def}}, {{para|def2}}, ... ; {{para|withcap|1}} ; {{para|withencap|1}} ; {{para|withdot|1}} ; {{para|nolink|1}} ; {{para|linktext}} ; {{para|posttext}} ; {{para|noprimaryentrycat}} ; {{para|lemma_is_sort_key|1}} : All of these are the same as in {form_of_t()}. ]==] function export.inflection_of_t(frame) local iparams = get_common_invocation_params("inflection_of_t") iparams.preinfl = {list = true} iparams.postinfl = {list = true} iparams.split_tags = true local iargs = process_params(frame.args, iparams) local parent_args = frame:getParent().args local params = get_common_template_params() local compat = iargs.lang or parent_args.lang local tagsind = (iargs.term_param or compat and 1 or 2) + 2 params[tagsind] = {list = true, -- at least one inflection tag is required unless preinfl or postinfl tags are given required = #iargs.preinfl == 0 and #iargs.postinfl == 0} return construct_tagged_form_of_text { template = "inflection-of-t", iargs = iargs, parent_args = parent_args, params = params, no_numbered_gloss = true, tags = function(args) local infls if not next(iargs.preinfl) and not next(iargs.postinfl) then -- If no preinfl or postinfl tags, just use the user-specified tags directly. infls = args[tagsind] else -- Otherwise, we need to prepend the preinfl tags and postpend the postinfl tags. If there's only one tag set -- (no semicolon), it's easier. Since this is common, we optimize for it. infls = {} local saw_semicolon = false for _, infl in ipairs(args[tagsind]) do if infl == ";" then saw_semicolon = true break end end local split_preinfl = split_inflection_tags(iargs.preinfl, iargs.split_tags) local split_postinfl = split_inflection_tags(iargs.postinfl, iargs.split_tags) if not saw_semicolon then extend(infls, split_preinfl) extend(infls, args[tagsind]) extend(infls, split_postinfl) else local groups = split_tag_set(args[tagsind]) for _, group in ipairs(groups) do if #infls > 0 then insert(infls, ";") end extend(infls, split_preinfl) extend(infls, group) extend(infls, split_postinfl) end end end return infls end, } end --[==[ Normalize a part-of-speech tag given a possible abbreviation (passed in as {{para|1}} of the invocation args). If the abbreviation isn't recognized, the original POS tag is returned. If no POS tag is passed in, return the value of invocation arg {{para|default}}. ]==] function export.normalize_pos(frame) local iparams = { [1] = true, ["default"] = true, } local iargs = process_params(frame.args, iparams) if not iargs[1] and not iargs.default then error("Either 1= or default= must be given in the invocation args") end if not iargs[1] then return iargs.default end return (m_form_of_pos or get_m_form_of_pos())[iargs[1]] or iargs[1] end return export cibzd8u8mvhc62l347ku5ybdefhrzzm 1349854 1349853 2026-04-14T13:33:20Z Swarabakti 18192 1349854 Scribunto text/plain local export = {} local debug_track_module = "Module:debug/track" local form_of_module = "Module:form of" local functions_module = "Module:fun" local headword_data_module = "Module:headword/data" local languages_module = "Module:languages" local load_module = "Module:load" local parameters_module = "Module:parameters" local parameter_utilities_module = "Module:parameter utilities" local parse_interface_module = "Module:parse interface" local string_utilities_module = "Module:string utilities" local table_module = "Module:table" local utilities_module = "Module:utilities" local insert = table.insert local ipairs = ipairs local pairs = pairs local require = require local boolean_param = {type = "boolean"} -- FIXME: Finish [[Module:format utilities]]. -- local allowed_conj_set = require(format_utilities_module).allowed_conj_set_for_join_segments local allowed_conj_set = {["and"] = true, ["or"] = true, ["and/or"] = true} --[==[ Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==] local function debug_track(...) debug_track = require(debug_track_module) return debug_track(...) end local function decode_entities(...) decode_entities = require(string_utilities_module).decode_entities return decode_entities(...) end local function extend(...) extend = require(table_module).extend return extend(...) end local function format_categories(...) format_categories = require(utilities_module).format_categories return format_categories(...) end local function format_form_of(...) format_form_of = require(form_of_module).format_form_of return format_form_of(...) end local function get_lang(...) get_lang = require(languages_module).getByCode return get_lang(...) end local function gsplit(...) gsplit = require(string_utilities_module).gsplit return gsplit(...) end local function is_callable(...) is_callable = require(functions_module).is_callable return is_callable(...) end local function load_data(...) load_data = require(load_module).load_data return load_data(...) end local function parse_inline_modifiers(...) parse_inline_modifiers = require(parse_interface_module).parse_inline_modifiers return parse_inline_modifiers(...) end local function pattern_escape(...) pattern_escape = require(string_utilities_module).pattern_escape return pattern_escape(...) end local function process_params(...) process_params = require(parameters_module).process return process_params(...) end local function safe_load_data(...) safe_load_data = require(load_module).safe_load_data return safe_load_data(...) end local function split(...) split = require(string_utilities_module).split return split(...) end local function split_tag_set(...) split_tag_set = require(form_of_module).split_tag_set return split_tag_set(...) end local function tagged_inflections(...) tagged_inflections = require(form_of_module).tagged_inflections return tagged_inflections(...) end local function trim(...) trim = require(string_utilities_module).trim return trim(...) end local function ucfirst(...) ucfirst = require(string_utilities_module).ucfirst return ucfirst(...) end --[==[ Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==] local force_cat local function get_force_cat() force_cat, get_force_cat = require(form_of_module).force_cat, nil return force_cat end local m_form_of_pos local function get_m_form_of_pos() m_form_of_pos, get_m_form_of_pos = load_data(headword_data_module).pos_aliases, nil return m_form_of_pos end local module_prefix local function get_module_prefix() module_prefix, get_module_prefix = require(form_of_module).form_of_lang_data_module_prefix, nil return module_prefix end --[==[ intro: This module contains code that directly implements {{tl|form of}}, {{tl|inflection of}}, and the various other [[:Category:Form-of templates|form-of templates]]. It is meant to be called directly from templates. See also [[Module:form of]], which contains the underlying implementing code and is meant to be called from other modules. ]==] -- Add tracking category for PAGE when called from TEMPLATE. The tracking category linked to is -- [[Wiktionary:Tracking/form of/TEMPLATE/PAGE]]. If TEMPLATE is omitted, the tracking category is of the form -- [[Wiktionary:Tracking/form of/PAGE]]. local function track(page, template) debug_track("form of/" .. (template and template .. "/" or "") .. page) end local function get_common_template_params() return { -- Named params not controlling link display ["cat"] = {list = true, sublist = "comma without whitespace", flatten = true}, ["notext"] = boolean_param, ["sort"] = true, ["enclitic"] = true, -- FIXME! The following should only be available when withcap=1 in invocation args or when withencap=1 and the -- language is "en". Before doing that, need to remove all uses of nocap= in other circumstances. ["nocap"] = boolean_param, ["addl"] = true, -- additional text to display at the end, before the closing </span> ["pagename"] = true, -- for testing, etc. } end -- Split TAGSPECS (inflection tag specifications) on SPLIT_REGEX, which -- may be nil for no splitting. local function split_inflection_tags(tagspecs, split_regex) if not split_regex then return tagspecs end local inflection_tags = {} for _, tagspec in ipairs(tagspecs) do for tag in gsplit(tagspec, split_regex) do insert(inflection_tags, tag) end end return inflection_tags end local function parse_terms_with_inline_modifiers(paramname, val, param_mods, lang) local function generate_obj(term) return {lang = lang, term = decode_entities(term)} end return parse_inline_modifiers(val, { paramname = paramname, param_mods = param_mods, generate_obj = generate_obj, splitchar = ",", outer_container = {}, }) end -- Need to do what [[Module:parameters]] does to string arguments from parent_args as we're running this -- before calling [[Module:parameters]] on parent_args. local function ine(arg) if not arg then return nil end arg = trim(arg) return arg ~= "" and arg or nil end local function add_base_lemma_params(parent_args, iargs, params, compat) -- Check the language-specific data for additional base lemma params. But if there's no language-specific data, -- attempt any parent varieties as well (i.e. superordinate varieties). local lang = get_lang(ine(parent_args[compat and "lang" or 1]) or ine(iargs.lang) or "und", nil, true) while lang do local langdata = safe_load_data((module_prefix or get_module_prefix()) .. lang:getCode()) if langdata then local base_lemma_params = langdata.base_lemma_params if base_lemma_params then for _, param in ipairs(base_lemma_params) do params[param.param] = true end return base_lemma_params end end lang = lang:getParent() end end --[=[ Modify `params` in-place by adding parameters that control the link to the main entry and any base lemmas. `term_param` is the number of the param specifying the main entry itself; `term_param` + 1 will be the display text, and `term_param` + 2 will be the gloss, unless `no_numbered_gloss` is given. The base lemma parameters are determined by attempting to load language-specific data for the language of the page; this comes from |lang= if `compat` is given, else from |1=. ]=] local function add_link_and_base_lemma_params(iargs, parent_args, params, term_param, compat, no_numbered_gloss) local base_lemma_params if not iargs.nolink and not iargs.linktext then -- Numbered params controlling link display if iargs.with_multiple_parts then params[term_param] = {list = true, allow_holes = true} else params[term_param + 1] = {alias_of = "alt"} if not no_numbered_gloss then params[term_param + 2] = {alias_of = "t"} end params[term_param] = true end base_lemma_params = add_base_lemma_params(parent_args, iargs, params, compat) end return base_lemma_params end local function handle_withdot_withcap(iargs, params) local ignored_tracked_params = {} if iargs.withdot then params.dot = true params.nodot = boolean_param end if iargs.withcap and iargs.withencap then error("Internal error: Can specify only one of withcap= and withencap=") end if not iargs.withcap then params.cap = boolean_param ignored_tracked_params.nocap = iargs.withencap and "non-english" or "always" end return ignored_tracked_params end --[=[ Construct and return the full definition line for a form-of-type template invocation. `data` is an object with the following fields: * `template`: Approximate template name, for debug tracking; * `iargs`: processed invocation arguments; * `parent_args`: raw parent args from `frame:getParent().args`; * `params`: partially constructed params structure of the sort passed to `process()` in [[Module:parameters]], but without any link params; * `ignored_tracked_params`: params that are ignored but should be tracked, to be eventually removed; * `term_param`: the parent argument specifying the main entry; * `compat`: true if the language code is found in args.lang instead of args[1]; * `base_lemma_params`: if non-nil, a list of base lemma param objects of the sort stored in the language-specific data; * `do_form_of`: a function of one argument, `lemma_data`, that returns the actual definition-line text and any language-specific categories. See below. This function does several things: # If link parameters are called for (neither `iargs.nolink` nor `iargs.linktext` are given), augment the `params` structure with separate link parameters. # Modify the parent args as appropriate if invocation arguments def= or ignore= are given. # Parse the parent args, both for separate parameter properties and inline modifiers on the term parameter (which may consist of multiple comma-separated terms). # Compute categories to add to the page, including language-specific categories and any categories requested by the invocation or parent args. # Parse enclitic and extra base lemma parameters. # Construct the actual text using `do_form_of`. # Add a terminating period/dot as appropriate, along with the formatted categories. `do_form_of` takes one argument, `lemma_data`, which looks like this: { lang = LANG, args = {ARG = VALUE, ARG = VALUE, ...}, lemmas = {LEMMA_OBJ, LEMMA_OBJ, ...}, enclitics = {ENCLITIC_OBJ, ENCLITIC_OBJ, ...}, base_lemmas = {BASE_LEMMA_OBJ, BASE_LEMMA_OBJ, ...}, categories = {"CATEGORY", "CATEGORY", ...}, posttext = "POSTTEXT" or nil, } where * LANG is the language code; * ARGS is the parsed arguments, based on what the user specified; * LEMMAS is a sequence of objects specifying the main entries/lemmas, as passed to full_link in [[Module:links]]; however, if the invocation argument linktext= is given, it will be a string consisting of that text, and if the invocation argument nolink= is given, it will be nil; * ENCLITICS is nil or a sequence of objects specifying the enclitics, as passed to full_link in [[Module:links]]; * BASE_LEMMA_OBJ is a sequence of objects specifying the base lemma(s), which are used when the lemma is itself a form of another lemma (the base lemma), e.g. a comparative, superlative or participle; each object is of the form { paramobj = PARAM_OBJ, lemmas = {LEMMA_OBJ, LEMMA_OBJ, ...} } where PARAM_OBJ describes the properties of the base lemma parameter (i.e. the relationship between the intermediate and base lemmas) and LEMMA_OBJ is of the same format of ENCLITIC_OBJ, i.e. an object suitable to be passed to full_link in [[Module:links]]; PARAM_OBJ is of the format { param = "PARAM", tags = {"TAG", "TAG", ...} } where PARAM is the name of the parameter to {{inflection of}} etc. that holds the base lemma(s) of the specified relationship and the tags describe the relationship, such as {"comd"} or {"past", "part"}; * CATEGORIES is the categories to add the page to (consisting of any categories specified in the invocation or parent args and any tracking categories, but not any additional lang-specific categories that may be added by {{inflection of}} or similar templates); * POSTTEXT is text to display at the end of the form-of text, before the final </span> (or at the end of the first line, before the colon, in a multiline {{infl of}} call). `do_form_of` should return two arguments: (1) The actual definition-line text, marked up appropriately with <span>...</span> but without any terminating period/dot. (2) Any extra categories to add the page to (other than those that can be derived from parameters specified to the invocation or parent arguments, which will automatically be added to the page). ]=] local function construct_form_of_text(data) local template, iargs, parent_args, params, no_numbered_gloss, do_form_of = data.template, data.iargs, data.parent_args, data.params, data.no_numbered_gloss, data.do_form_of local term_param = iargs.term_param local compat = iargs.lang or parent_args.lang term_param = term_param or compat and 1 or 2 -- Numbered params params[compat and "lang" or 1] = { required = not iargs.lang, type = "language", default = iargs.lang or "und" } -- Error to catch most uses of old-style parameters for {{contraction of}}. (FIXME: Remove eventually.) if iargs.with_multiple_parts then if ine(parent_args[term_param + 2]) and not ine(parent_args[term_param + 1]) and not ine(parent_args.tr2) and not ine(parent_args.ts2) and not ine(parent_args.t2) and not ine(parent_args.gloss2) and not ine(parent_args.g2) and not ine(parent_args.alt2) then error(("You specified a term in %s= and not one in %s=. You probably meant to use t= to specify a gloss instead. " .. "If you intended to specify two terms, put the second term in %s=."):format(term_param + 2, term_param + 1, term_param + 1)) end if not ine(parent_args[term_param + 1]) and not ine(parent_args.alt2) and not ine(parent_args.tr2) and not ine(parent_args.ts2) and ine(parent_args.g2) then error(("You specified a gender in g2= but no term in %s=. You were probably trying to specify two genders for " .. "a single term. To do that, put both genders in g=, comma-separated."):format(term_param + 1)) end end local base_lemma_params = add_link_and_base_lemma_params(iargs, parent_args, params, term_param, compat, no_numbered_gloss) local ignored_tracked_params = handle_withdot_withcap(iargs, params) --[=[ Process parent arguments. This is similar to the following: require("Module:parameters").process(parent_args, params) but in addition it does the following: (1) Supplies default values for unspecified parent arguments as specified in DEFAULTS, which consist of specs of the form "ARG=VALUE". These are added to the parent arguments prior to processing, so boolean and number parameters will process the value appropriately. (2) Removes parent arguments specified in IGNORESPECS, which consist either of bare argument names to remove, or list-argument names to remove of the form "ARG:list". (3) Tracks the use of any parent arguments specified in TRACKED_PARAMS, which is a set where the keys are arguments as they exist after processing (hence numeric arguments should be numbers, not strings) and the values should be boolean true. ]=]-- local defaults = iargs.def local ignorespecs = iargs.ignore if defaults[1] or ignorespecs[1] then local new_parent_args = {} for _, default in ipairs(defaults) do local defparam, defval = default:match("^(.-)=(.*)$") if not defparam then error("Bad default spec " .. default) end new_parent_args[defparam] = defval end local params_to_ignore = {} local numbered_list_params_to_ignore = {} local named_list_params_to_ignore = {} for _, ignorespec in ipairs(ignorespecs) do for ignore in gsplit(ignorespec, ",") do local param = ignore:match("^(.*):list$") if param then if param:match("^%d+$") then insert(numbered_list_params_to_ignore, tonumber(param)) else insert(named_list_params_to_ignore, "^" .. pattern_escape(param) .. "%d*$") end else if ignore:match("^%d+$") then ignore = tonumber(ignore) end params_to_ignore[ignore] = true end end end for k, v in pairs(parent_args) do if not params_to_ignore[k] then local ignore_me = false if type(k) == "number" then for _, lparam in ipairs(numbered_list_params_to_ignore) do if k >= lparam then ignore_me = true break end end else for _, lparam in ipairs(named_list_params_to_ignore) do if k:match(lparam) then ignore_me = true break end end end if not ignore_me then new_parent_args[k] = v end end end parent_args = new_parent_args end local param_mods_with_conj, param_mods_without_conj local function get_param_mods(with_conj) if with_conj then if not param_mods_with_conj then param_mods_with_conj = require(parameter_utilities_module).construct_param_mods { {group = {"link", "q", "l", "ref"}}, {param = "conj", set = allowed_conj_set, overall = true}, } end return param_mods_with_conj else if not param_mods_without_conj then param_mods_without_conj = require(parameter_utilities_module).construct_param_mods { {group = {"link", "q", "l", "ref"}}, -- Override lit= to have a separate overall value {param = "lit", separate_no_index = true}, } end return param_mods_without_conj end end local terms, args if iargs.nolink or iargs.linktext then args = process_params(parent_args, params) else local m_param_utils = require(parameter_utilities_module) if iargs.with_multiple_parts then terms, args = m_param_utils.parse_list_with_inline_modifiers_and_separate_params { params = params, param_mods = get_param_mods(false), raw_args = parent_args, termarg = term_param, track_module = "form of" .. (template and "/" .. template or ""), lang = compat and "lang" or 1, sc = "sc.default", parse_lang_prefix = true, default_separator = " +&lrm; ", special_separators = {[";"] = " or "}, } else terms, args = m_param_utils.parse_term_with_inline_modifiers_and_separate_params { params = params, param_mods = get_param_mods("with conj"), raw_args = parent_args, termarg = term_param, track_module = "form of" .. (template and "/" .. template or ""), lang = compat and "lang" or 1, sc = "sc", parse_lang_prefix = true, make_separate_g_into_list = true, splitchar = ",", subitem_param_handling = "last", } end end local lang = args[compat and "lang" or 1] -- Tracking for certain user-specified params. This is generally used for -- parameters that we accept but ignore, so that we can eventually remove -- all uses of these params and stop accepting them. if ignored_tracked_params then for ignored_tracked_param, condition in pairs(ignored_tracked_params) do if parent_args[ignored_tracked_param] and (condition ~= "non-english" or lang:getCode() ~= "en") then track("arg/" .. ignored_tracked_param, template) track("arg/" .. ignored_tracked_param) end end end -- Determine categories for the page, including tracking categories local categories = {} if not args.nocat then for _, cat in ipairs(iargs.cat) do insert(categories, lang:getCode() .. ":" .. cat) end end for _, cat in ipairs(args.cat) do insert(categories, lang:getCode() .. ":" .. cat) end -- Format the link, preceding text and categories local function add_term_tracking_categories(term) -- add tracking category if term is same as page title if term and mw.loadData("Module:headword/data").pagename == lang:stripDiacritics(term) then insert(categories, "Forms linking to themselves") end -- maybe add tracking category if primary entry doesn't exist (this is an -- expensive call so we don't do it by default) if iargs.noprimaryentrycat and term and mw.title.getCurrentTitle().nsText == "" and not mw.title.new(term):getContent() then insert(categories, lang:getFullName() .. " " .. iargs.noprimaryentrycat) end end local lemmas if iargs.nolink then lemmas = nil elseif iargs.linktext then lemmas = iargs.linktext else if iargs.with_multiple_parts then lemmas = terms else lemmas = terms.terms end if not lemmas[1] then if mw.title.getCurrentTitle().nsText == "Templat" then lemmas[1] = { lang = lang, term = "term" } else error("No linked-to term specified") end end for _, termobj in ipairs(lemmas) do if termobj.term then add_term_tracking_categories(termobj.term) end -- NOTE: Formerly, template arg sc= overrode inline modifier <sc:...>, which seems backwards, so I've -- changed it. Hopefully nothing depended on the old behavior. end end local enclitics, enclitic_conj if args.enclitic then local enclitics_obj = parse_terms_with_inline_modifiers("enclitic", args.enclitic, get_param_mods("with conj"), lang) enclitics = enclitics_obj.terms enclitic_conj = enclitics_obj.conj end local base_lemmas = {} if base_lemma_params then for _, base_lemma_param_obj in ipairs(base_lemma_params) do local param = base_lemma_param_obj.param if args[param] then local base_lemmas_obj = parse_terms_with_inline_modifiers(param, args[param], get_param_mods("with conj"), lang) insert(base_lemmas, { paramobj = base_lemma_param_obj, lemmas = base_lemmas_obj.terms, conj = base_lemmas_obj.conj, }) end end end local posttext = iargs.posttext local addl = args.addl if addl then posttext = posttext or "" if addl:find("^[;:]") then posttext = posttext .. addl elseif addl:find("^_") then posttext = posttext .. " " .. addl:sub(2) else posttext = posttext .. ", " .. addl end end local conj if iargs.with_multiple_parts then conj = false -- signals to use 'separator' field else conj = terms and terms.conj or iargs.conj end local lemma_data = { lang = lang, args = args, lemmas = lemmas, conj = conj, enclitics = enclitics, enclitic_conj = enclitic_conj, base_lemmas = base_lemmas, categories = categories, posttext = posttext, lit = iargs.with_multiple_parts and args.lit.default or nil, } local form_of_text, lang_cats = do_form_of(lemma_data) extend(lemma_data.categories, lang_cats) local text = form_of_text .. ( args.nodot and "" or args.dot or iargs.withdot and "." or "" ) if not lemma_data.categories[1] then return text end return text .. format_categories(lemma_data.categories, lemma_data.lang, args.sort, -- If lemma_is_sort_key is given, supply the first lemma term as the sort base if possible. If sort= is given, -- it will override the base; otherwise, the base will be converted appropriately to a sort key using the -- same algorithm applied to pagenames. iargs.lemma_is_sort_key and type(lemma_data.lemmas) == "table" and lemma_data.lemmas[1].term, -- Supply the first lemma's script for sort key computation. force_cat or get_force_cat(), type(lemma_data.lemmas) == "table" and lemma_data.lemmas[1].sc) end -- Invocation parameters shared between form_of_t(), tagged_form_of_t() and inflection_of_t(). `calling_func` is the -- invoking function ("form_of_t", "tagged_form_of_t" or "inflection_of_t"), for handling parameters shared by two but -- not all three invoking functions. local function get_common_invocation_params(calling_func) local iparams = { ["term_param"] = {type = "number"}, ["lang"] = true, -- To be used as the default code in params. ["sc"] = {type = "script"}, ["cat"] = {list = true, sublist = "comma without whitespace", flatten = true}, ["ignore"] = {list = true}, ["def"] = {list = true}, ["conj"] = {set = allowed_conj_set, default = "and"}, ["withcap"] = boolean_param, ["withencap"] = boolean_param, ["withdot"] = boolean_param, ["nolink"] = boolean_param, ["linktext"] = true, ["posttext"] = true, ["noprimaryentrycat"] = true, ["lemma_is_sort_key"] = true, } if calling_func ~= "inflection_of_t" then iparams.with_multiple_parts = boolean_param end return iparams end local function should_ucfirst_text(args, iargs, lang) local code = lang:getCode() return args.cap or (iargs.withcap or iargs.withencap and code == "en" or code == "mul") and not args.nocap end --[==[ Function that implements {{tl|form of}} and the various more specific form-of templates (but not {{tl|inflection of}} or templates that take tagged inflection parameters). Invocation params: ; {{para|1|req=1}} : Text to display before the link. ; {{para|term_param}} : Numbered param holding the term linked to. Other numbered params come after. Defaults to 1 if invocation or template param {{para|lang}} is present, otherwise 2. ; {{para|with_multiple_parts|1}} : If specified, higher numbered parameters above the numbered param in {{para|term_param}} specify additional parts out of which the term was constructed, for use by templates like {{tl|contraction of}}. (If not specified, the parameter at <code><var>term_param</var> + 1</code> is the display form, same as {{para|alt}}, and the parameter at at <code><var>term_param</var> + 2</code> is the gloss, same as {{para|t}}.) ; {{para|lang}} : Default language code for language-specific templates. If specified, no language code needs to be specified, and if specified it needs to be set using {{para|lang}}, not {{para|1}}. ; {{para|sc}} : Default script code for language-specific templates. The script code can still be overridden using template param {{para|sc}}. ; {{para|cat}}, {{para|cat2}}, ...: : Categories to place the page into. The language name will automatically be prepended. Note that there is also a template param {{para|cat}} to specify categories at the template level. Use of {{para|nocat}} disables categorization of categories specified using invocation param {{para|cat}}, but not using template param {{para|cat}}. A single param can specify multiple comma-separated categories if no space follows the comma. ; {{para|ignore}}, {{para|ignore2}}, ...: : One or more template params to silently accept and ignore. Useful e.g. when the template takes additional parameters such as {{para|from}} or {{para|POS}}. Each value is a comma-separated list of either bare parameter names or specifications of the form `PARAM:list` to specify that the parameter is a list parameter. ; {{para|def}}, {{para|def2}}, ...: : One or more default values to supply for template args. For example, specifying {{para|def|2=tr=-}} causes the default for template param {{para|tr}} to be `-`. Actual template params override these defaults. ; {{para|withcap|1}} : Capitalize the first character of the text preceding the link, unless template param {{para|nocap}} is given. ; {{para|withencap|1}} : Capitalize the first character of the text preceding the link if the language is English and template param {{para|nocap}} is not given. ; {{para|withdot|1}} : Add a final period after the link, unless template param {{para|nodot}} is given to suppress the period, or {{para|dot}} is given to specify an alternative punctuation character. ; {{para|nolink|1}} : Suppress the display of the link. If specified, none of the template params that control the link ({{para|<var>term_param</var>}}, {{para|<var>term_param</var> + 1}}, {{para|<var>term_param</var> + 2}}, {{para|t}}, {{para|gloss}}, {{para|sc}}, {{para|tr}}, {{para|ts}}, {{para|pos}}, {{para|g}}, {{para|id}}, {{para|lit}}) will be available. If the calling template uses any of these parameters, they must be ignored using {{para|ignore}}. {{para|linktext}} : Override the display of the link with the specified text. This is useful if a custom template is available to format the link (e.g. in Hebrew, Chinese and Japanese). If specified, none of the template params that control the link ({{para|<var>term_param</var>}}, {{para|<var>term_param</var> + 1}}, {{para|<var>term_param</var> + 2}}, {{para|t}}, {{para|gloss}}, {{para|sc}}, {{para|tr}}, {{para|ts}}, {{para|pos}}, {{para|g}}, {{para|id}}, {{para|lit}}) will be available. If the calling template uses any of these parameters, they must be ignored using {{para|ignore}}. ; {{para|posttext}} : Additional text to display directly after the formatted link, before any terminating period/dot and inside of `<span class='use-with-mention'>`. ; {{para|noprimaryentrycat}} : Category to add the page to if the primary entry linked to doesn't exist. The language name will automatically be prepended. ; {{para|lemma_is_sort_key|1}} : If the user didn't specify a sort key, use the lemma as the sort key (instead of the page itself). ]==] function export.form_of_t(frame) local iparams = get_common_invocation_params("form_of_t") iparams[1] = {required = true} local iargs = process_params(frame.args, iparams) local parent_args = frame:getParent().args local params = get_common_template_params() if next(iargs.cat) then params.nocat = boolean_param end return construct_form_of_text { template = "form-of-t", iargs = iargs, parent_args = parent_args, params = params, do_form_of = function(lemma_data) local args = lemma_data.args local text if args.notext then text = "" else text = iargs[1] if should_ucfirst_text(args, iargs, lemma_data.lang) then text = ucfirst(text) end end -- This returns two values, which we pass up to the caller. return format_form_of { lang = lemma_data.lang, text = text, lemmas = lemma_data.lemmas, conj = lemma_data.conj, enclitics = lemma_data.enclitics, base_lemmas = lemma_data.base_lemmas, lemma_face = "term", lit = lemma_data.lit, posttext = lemma_data.posttext } end } end --[=[ Construct and return the full definition line for a form-of-type template invocation that is based on inflection tags. This is a wrapper around construct_form_of_text() and takes the following arguments: processed invocation arguments IARGS, processed parent arguments ARGS, TERM_PARAM (the parent argument specifying the main entry), COMPAT (true if the language code is found in args.lang instead of args[1]), and TAGS, the list of (non-canonicalized) inflection tags. It returns that actual definition-line text including terminating period/full-stop, formatted categories, etc. and should be directly returned as the template function's return value. ]=] local function construct_tagged_form_of_text(data) local template, iargs, parent_args, params, no_numbered_gloss, tags = data.template, data.iargs, data.parent_args, data.params, data.no_numbered_gloss, data.tags -- Named params not controlling link display -- Always included because lang-specific categories may be added params.nocat = boolean_param params.p = true params.POS = {alias_of = "p"} return construct_form_of_text { template = template, iargs = iargs, parent_args = parent_args, params = params, no_numbered_gloss = no_numbered_gloss, do_form_of = function(lemma_data) local args = lemma_data.args if is_callable(tags) then tags = tags(args) end -- NOTE: tagged_inflections returns two values, so we do too. return tagged_inflections { lang = lemma_data.lang, tags = tags, lemmas = lemma_data.lemmas, conj = lemma_data.conj, enclitics = lemma_data.enclitics, enclitic_conj = lemma_data.enclitic_conj, base_lemmas = lemma_data.base_lemmas, lemma_face = "term", POS = args.p, pagename = args.pagename, -- Set no_format_categories because we do it ourselves in construct_form_of_text(). no_format_categories = true, nocat = args.nocat, notext = args.notext, capfirst = should_ucfirst_text(args, iargs, lemma_data.lang), posttext = lemma_data.posttext, } end } end --[==[ Function that implements form-of templates that are defined by specific tagged inflections (typically a template referring to a non-lemma inflection, such as {{tl|plural of}}). This works exactly like {form_of_t()} except that the "form of" text displayed before the link is based off of a pre-specified set of inflection tags (which will be appropriately linked to the glossary) instead of arbitrary text. From the user's perspective, there is no difference between templates implemented using {form_of_t()} and {tagged_form_of_t()}; they accept exactly the same parameters and work the same. See also {inflection_of_t()} below, which is intended for templates with user-specified inflection tags. Invocation params: ; {{para|1|req=1}}, {{para|2}}, ... : One or more inflection tags describing the inflection in question. ; {{para|split_tags}} : If specified, character to split specified inflection tags on. This allows multiple tags to be included in a single argument, simplifying template code. ; {{para|term_param}} ; {{para|with_multiple_parts|1}} ; {{para|lang}} ; {{para|sc}} ; {{para|cat}}, {{para|cat2}}, ... ; {{para|ignore}}, {{para|ignore2}}, ... ; {{para|def}}, {{para|def2}}, ... ; {{para|withcap|1}} ; {{para|withencap|1}} ; {{para|withdot|1}} ; {{para|nolink|1}} ; {{para|linktext}} ; {{para|posttext}} ; {{para|noprimaryentrycat}} ; {{para|lemma_is_sort_key|1}} : All of these are the same as in {form_of_t()}. ]==] function export.tagged_form_of_t(frame) local iparams = get_common_invocation_params("tagged_form_of_t") iparams[1] = {list = true, required = true} iparams.split_tags = true local iargs = process_params(frame.args, iparams) local parent_args = frame:getParent().args local params = get_common_template_params() return construct_tagged_form_of_text { template = "tagged-form-of-t", iargs = iargs, parent_args = parent_args, params = params, tags = split_inflection_tags(iargs[1], iargs.split_tags), } end --[==[ Function that implements {{tl|inflection of}} and certain semi-specific variants, such as {{tl|participle of}} and {{tl|past participle form of}}. This function is intended for templates that allow the user to specify a set of inflection tags. It works similarly to {form_of_t()} and {tagged_form_of_t()} except that the calling convention for the calling template is : { {{TEMPLATE|LANG|MAIN_ENTRY_LINK|MAIN_ENTRY_DISPLAY_TEXT|TAG|TAG|...}}} instead of : { {{TEMPLATE|LANG|MAIN_ENTRY_LINK|MAIN_ENTRY_DISPLAY_TEXT|GLOSS}}} Note that there isn't a numbered parameter for the gloss, but it can still be specified using {{para|t}} or {{para|gloss}}. Invocation params: ; {{para|preinfl}}, {{para|preinfl2}}, ... : Extra inflection tags to automatically prepend to the tags specified by the template. ; {{para|postinfl}}, {{para|postinfl2}}, ... : Extra inflection tags to automatically append to the tags specified by the template. Used for example by {{tl|past participle form of}} to add the tags `of the|past|p` onto the user-specified tags, which indicate which past participle form the page refers to. ; {{para|split_tags}} : If specified, character to split specified inflection tags on. This allows multiple tags to be included in a single argument, simplifying template code. Note that this applies *ONLY* to inflection tags specified in the invocation arguments using {{para|preinfl}} or {{para|postinfl}}, not to user-specified inflection tags. ; {{para|term_param}} ; {{para|lang}} ; {{para|sc}} ; {{para|cat}}, {{para|cat2}}, ... ; {{para|ignore}}, {{para|ignore2}}, ... ; {{para|def}}, {{para|def2}}, ... ; {{para|withcap|1}} ; {{para|withencap|1}} ; {{para|withdot|1}} ; {{para|nolink|1}} ; {{para|linktext}} ; {{para|posttext}} ; {{para|noprimaryentrycat}} ; {{para|lemma_is_sort_key|1}} : All of these are the same as in {form_of_t()}. ]==] function export.inflection_of_t(frame) local iparams = get_common_invocation_params("inflection_of_t") iparams.preinfl = {list = true} iparams.postinfl = {list = true} iparams.split_tags = true local iargs = process_params(frame.args, iparams) local parent_args = frame:getParent().args local params = get_common_template_params() local compat = iargs.lang or parent_args.lang local tagsind = (iargs.term_param or compat and 1 or 2) + 2 params[tagsind] = {list = true, -- at least one inflection tag is required unless preinfl or postinfl tags are given required = #iargs.preinfl == 0 and #iargs.postinfl == 0} return construct_tagged_form_of_text { template = "inflection-of-t", iargs = iargs, parent_args = parent_args, params = params, no_numbered_gloss = true, tags = function(args) local infls if not next(iargs.preinfl) and not next(iargs.postinfl) then -- If no preinfl or postinfl tags, just use the user-specified tags directly. infls = args[tagsind] else -- Otherwise, we need to prepend the preinfl tags and postpend the postinfl tags. If there's only one tag set -- (no semicolon), it's easier. Since this is common, we optimize for it. infls = {} local saw_semicolon = false for _, infl in ipairs(args[tagsind]) do if infl == ";" then saw_semicolon = true break end end local split_preinfl = split_inflection_tags(iargs.preinfl, iargs.split_tags) local split_postinfl = split_inflection_tags(iargs.postinfl, iargs.split_tags) if not saw_semicolon then extend(infls, split_preinfl) extend(infls, args[tagsind]) extend(infls, split_postinfl) else local groups = split_tag_set(args[tagsind]) for _, group in ipairs(groups) do if #infls > 0 then insert(infls, ";") end extend(infls, split_preinfl) extend(infls, group) extend(infls, split_postinfl) end end end return infls end, } end --[==[ Normalize a part-of-speech tag given a possible abbreviation (passed in as {{para|1}} of the invocation args). If the abbreviation isn't recognized, the original POS tag is returned. If no POS tag is passed in, return the value of invocation arg {{para|default}}. ]==] function export.normalize_pos(frame) local iparams = { [1] = true, ["default"] = true, } local iargs = process_params(frame.args, iparams) if not iargs[1] and not iargs.default then error("Either 1= or default= must be given in the invocation args") end if not iargs[1] then return iargs.default end return (m_form_of_pos or get_m_form_of_pos())[iargs[1]] or iargs[1] end return export tmojen71xun5s50j431jk5v1xbaj1ue 1349856 1349854 2026-04-14T13:40:19Z Swarabakti 18192 1349856 Scribunto text/plain local export = {} local debug_track_module = "Module:debug/track" local form_of_module = "Module:form of" local functions_module = "Module:fun" local headword_data_module = "Module:headword/data" local languages_module = "Module:languages" local load_module = "Module:load" local parameters_module = "Module:parameters" local parameter_utilities_module = "Module:parameter utilities" local parse_interface_module = "Module:parse interface" local string_utilities_module = "Module:string utilities" local table_module = "Module:table" local utilities_module = "Module:utilities" local insert = table.insert local ipairs = ipairs local pairs = pairs local require = require local boolean_param = {type = "boolean"} -- FIXME: Finish [[Module:format utilities]]. -- local allowed_conj_set = require(format_utilities_module).allowed_conj_set_for_join_segments local allowed_conj_set = {["and"] = true, ["or"] = true, ["and/or"] = true} --[==[ Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==] local function debug_track(...) debug_track = require(debug_track_module) return debug_track(...) end local function decode_entities(...) decode_entities = require(string_utilities_module).decode_entities return decode_entities(...) end local extend = require(table_module).extend local function format_categories(...) format_categories = require(utilities_module).format_categories return format_categories(...) end local function format_form_of(...) format_form_of = require(form_of_module).format_form_of return format_form_of(...) end local function get_lang(...) get_lang = require(languages_module).getByCode return get_lang(...) end local function gsplit(...) gsplit = require(string_utilities_module).gsplit return gsplit(...) end local function is_callable(...) is_callable = require(functions_module).is_callable return is_callable(...) end local function load_data(...) load_data = require(load_module).load_data return load_data(...) end local function parse_inline_modifiers(...) parse_inline_modifiers = require(parse_interface_module).parse_inline_modifiers return parse_inline_modifiers(...) end local function pattern_escape(...) pattern_escape = require(string_utilities_module).pattern_escape return pattern_escape(...) end local function process_params(...) process_params = require(parameters_module).process return process_params(...) end local function safe_load_data(...) safe_load_data = require(load_module).safe_load_data return safe_load_data(...) end local function split(...) split = require(string_utilities_module).split return split(...) end local function split_tag_set(...) split_tag_set = require(form_of_module).split_tag_set return split_tag_set(...) end local function tagged_inflections(...) tagged_inflections = require(form_of_module).tagged_inflections return tagged_inflections(...) end local function trim(...) trim = require(string_utilities_module).trim return trim(...) end local function ucfirst(...) ucfirst = require(string_utilities_module).ucfirst return ucfirst(...) end --[==[ Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==] local force_cat local function get_force_cat() force_cat, get_force_cat = require(form_of_module).force_cat, nil return force_cat end local m_form_of_pos local function get_m_form_of_pos() m_form_of_pos, get_m_form_of_pos = load_data(headword_data_module).pos_aliases, nil return m_form_of_pos end local module_prefix local function get_module_prefix() module_prefix, get_module_prefix = require(form_of_module).form_of_lang_data_module_prefix, nil return module_prefix end --[==[ intro: This module contains code that directly implements {{tl|form of}}, {{tl|inflection of}}, and the various other [[:Category:Form-of templates|form-of templates]]. It is meant to be called directly from templates. See also [[Module:form of]], which contains the underlying implementing code and is meant to be called from other modules. ]==] -- Add tracking category for PAGE when called from TEMPLATE. The tracking category linked to is -- [[Wiktionary:Tracking/form of/TEMPLATE/PAGE]]. If TEMPLATE is omitted, the tracking category is of the form -- [[Wiktionary:Tracking/form of/PAGE]]. local function track(page, template) debug_track("form of/" .. (template and template .. "/" or "") .. page) end local function get_common_template_params() return { -- Named params not controlling link display ["cat"] = {list = true, sublist = "comma without whitespace", flatten = true}, ["notext"] = boolean_param, ["sort"] = true, ["enclitic"] = true, -- FIXME! The following should only be available when withcap=1 in invocation args or when withencap=1 and the -- language is "en". Before doing that, need to remove all uses of nocap= in other circumstances. ["nocap"] = boolean_param, ["addl"] = true, -- additional text to display at the end, before the closing </span> ["pagename"] = true, -- for testing, etc. } end -- Split TAGSPECS (inflection tag specifications) on SPLIT_REGEX, which -- may be nil for no splitting. local function split_inflection_tags(tagspecs, split_regex) if not split_regex then return tagspecs end local inflection_tags = {} for _, tagspec in ipairs(tagspecs) do for tag in gsplit(tagspec, split_regex) do insert(inflection_tags, tag) end end return inflection_tags end local function parse_terms_with_inline_modifiers(paramname, val, param_mods, lang) local function generate_obj(term) return {lang = lang, term = decode_entities(term)} end return parse_inline_modifiers(val, { paramname = paramname, param_mods = param_mods, generate_obj = generate_obj, splitchar = ",", outer_container = {}, }) end -- Need to do what [[Module:parameters]] does to string arguments from parent_args as we're running this -- before calling [[Module:parameters]] on parent_args. local function ine(arg) if not arg then return nil end arg = trim(arg) return arg ~= "" and arg or nil end local function add_base_lemma_params(parent_args, iargs, params, compat) -- Check the language-specific data for additional base lemma params. But if there's no language-specific data, -- attempt any parent varieties as well (i.e. superordinate varieties). local lang = get_lang(ine(parent_args[compat and "lang" or 1]) or ine(iargs.lang) or "und", nil, true) while lang do local langdata = safe_load_data((module_prefix or get_module_prefix()) .. lang:getCode()) if langdata then local base_lemma_params = langdata.base_lemma_params if base_lemma_params then for _, param in ipairs(base_lemma_params) do params[param.param] = true end return base_lemma_params end end lang = lang:getParent() end end --[=[ Modify `params` in-place by adding parameters that control the link to the main entry and any base lemmas. `term_param` is the number of the param specifying the main entry itself; `term_param` + 1 will be the display text, and `term_param` + 2 will be the gloss, unless `no_numbered_gloss` is given. The base lemma parameters are determined by attempting to load language-specific data for the language of the page; this comes from |lang= if `compat` is given, else from |1=. ]=] local function add_link_and_base_lemma_params(iargs, parent_args, params, term_param, compat, no_numbered_gloss) local base_lemma_params if not iargs.nolink and not iargs.linktext then -- Numbered params controlling link display if iargs.with_multiple_parts then params[term_param] = {list = true, allow_holes = true} else params[term_param + 1] = {alias_of = "alt"} if not no_numbered_gloss then params[term_param + 2] = {alias_of = "t"} end params[term_param] = true end base_lemma_params = add_base_lemma_params(parent_args, iargs, params, compat) end return base_lemma_params end local function handle_withdot_withcap(iargs, params) local ignored_tracked_params = {} if iargs.withdot then params.dot = true params.nodot = boolean_param end if iargs.withcap and iargs.withencap then error("Internal error: Can specify only one of withcap= and withencap=") end if not iargs.withcap then params.cap = boolean_param ignored_tracked_params.nocap = iargs.withencap and "non-english" or "always" end return ignored_tracked_params end --[=[ Construct and return the full definition line for a form-of-type template invocation. `data` is an object with the following fields: * `template`: Approximate template name, for debug tracking; * `iargs`: processed invocation arguments; * `parent_args`: raw parent args from `frame:getParent().args`; * `params`: partially constructed params structure of the sort passed to `process()` in [[Module:parameters]], but without any link params; * `ignored_tracked_params`: params that are ignored but should be tracked, to be eventually removed; * `term_param`: the parent argument specifying the main entry; * `compat`: true if the language code is found in args.lang instead of args[1]; * `base_lemma_params`: if non-nil, a list of base lemma param objects of the sort stored in the language-specific data; * `do_form_of`: a function of one argument, `lemma_data`, that returns the actual definition-line text and any language-specific categories. See below. This function does several things: # If link parameters are called for (neither `iargs.nolink` nor `iargs.linktext` are given), augment the `params` structure with separate link parameters. # Modify the parent args as appropriate if invocation arguments def= or ignore= are given. # Parse the parent args, both for separate parameter properties and inline modifiers on the term parameter (which may consist of multiple comma-separated terms). # Compute categories to add to the page, including language-specific categories and any categories requested by the invocation or parent args. # Parse enclitic and extra base lemma parameters. # Construct the actual text using `do_form_of`. # Add a terminating period/dot as appropriate, along with the formatted categories. `do_form_of` takes one argument, `lemma_data`, which looks like this: { lang = LANG, args = {ARG = VALUE, ARG = VALUE, ...}, lemmas = {LEMMA_OBJ, LEMMA_OBJ, ...}, enclitics = {ENCLITIC_OBJ, ENCLITIC_OBJ, ...}, base_lemmas = {BASE_LEMMA_OBJ, BASE_LEMMA_OBJ, ...}, categories = {"CATEGORY", "CATEGORY", ...}, posttext = "POSTTEXT" or nil, } where * LANG is the language code; * ARGS is the parsed arguments, based on what the user specified; * LEMMAS is a sequence of objects specifying the main entries/lemmas, as passed to full_link in [[Module:links]]; however, if the invocation argument linktext= is given, it will be a string consisting of that text, and if the invocation argument nolink= is given, it will be nil; * ENCLITICS is nil or a sequence of objects specifying the enclitics, as passed to full_link in [[Module:links]]; * BASE_LEMMA_OBJ is a sequence of objects specifying the base lemma(s), which are used when the lemma is itself a form of another lemma (the base lemma), e.g. a comparative, superlative or participle; each object is of the form { paramobj = PARAM_OBJ, lemmas = {LEMMA_OBJ, LEMMA_OBJ, ...} } where PARAM_OBJ describes the properties of the base lemma parameter (i.e. the relationship between the intermediate and base lemmas) and LEMMA_OBJ is of the same format of ENCLITIC_OBJ, i.e. an object suitable to be passed to full_link in [[Module:links]]; PARAM_OBJ is of the format { param = "PARAM", tags = {"TAG", "TAG", ...} } where PARAM is the name of the parameter to {{inflection of}} etc. that holds the base lemma(s) of the specified relationship and the tags describe the relationship, such as {"comd"} or {"past", "part"}; * CATEGORIES is the categories to add the page to (consisting of any categories specified in the invocation or parent args and any tracking categories, but not any additional lang-specific categories that may be added by {{inflection of}} or similar templates); * POSTTEXT is text to display at the end of the form-of text, before the final </span> (or at the end of the first line, before the colon, in a multiline {{infl of}} call). `do_form_of` should return two arguments: (1) The actual definition-line text, marked up appropriately with <span>...</span> but without any terminating period/dot. (2) Any extra categories to add the page to (other than those that can be derived from parameters specified to the invocation or parent arguments, which will automatically be added to the page). ]=] local function construct_form_of_text(data) local template, iargs, parent_args, params, no_numbered_gloss, do_form_of = data.template, data.iargs, data.parent_args, data.params, data.no_numbered_gloss, data.do_form_of local term_param = iargs.term_param local compat = iargs.lang or parent_args.lang term_param = term_param or compat and 1 or 2 -- Numbered params params[compat and "lang" or 1] = { required = not iargs.lang, type = "language", default = iargs.lang or "und" } -- Error to catch most uses of old-style parameters for {{contraction of}}. (FIXME: Remove eventually.) if iargs.with_multiple_parts then if ine(parent_args[term_param + 2]) and not ine(parent_args[term_param + 1]) and not ine(parent_args.tr2) and not ine(parent_args.ts2) and not ine(parent_args.t2) and not ine(parent_args.gloss2) and not ine(parent_args.g2) and not ine(parent_args.alt2) then error(("You specified a term in %s= and not one in %s=. You probably meant to use t= to specify a gloss instead. " .. "If you intended to specify two terms, put the second term in %s=."):format(term_param + 2, term_param + 1, term_param + 1)) end if not ine(parent_args[term_param + 1]) and not ine(parent_args.alt2) and not ine(parent_args.tr2) and not ine(parent_args.ts2) and ine(parent_args.g2) then error(("You specified a gender in g2= but no term in %s=. You were probably trying to specify two genders for " .. "a single term. To do that, put both genders in g=, comma-separated."):format(term_param + 1)) end end local base_lemma_params = add_link_and_base_lemma_params(iargs, parent_args, params, term_param, compat, no_numbered_gloss) local ignored_tracked_params = handle_withdot_withcap(iargs, params) --[=[ Process parent arguments. This is similar to the following: require("Module:parameters").process(parent_args, params) but in addition it does the following: (1) Supplies default values for unspecified parent arguments as specified in DEFAULTS, which consist of specs of the form "ARG=VALUE". These are added to the parent arguments prior to processing, so boolean and number parameters will process the value appropriately. (2) Removes parent arguments specified in IGNORESPECS, which consist either of bare argument names to remove, or list-argument names to remove of the form "ARG:list". (3) Tracks the use of any parent arguments specified in TRACKED_PARAMS, which is a set where the keys are arguments as they exist after processing (hence numeric arguments should be numbers, not strings) and the values should be boolean true. ]=]-- local defaults = iargs.def local ignorespecs = iargs.ignore if defaults[1] or ignorespecs[1] then local new_parent_args = {} for _, default in ipairs(defaults) do local defparam, defval = default:match("^(.-)=(.*)$") if not defparam then error("Bad default spec " .. default) end new_parent_args[defparam] = defval end local params_to_ignore = {} local numbered_list_params_to_ignore = {} local named_list_params_to_ignore = {} for _, ignorespec in ipairs(ignorespecs) do for ignore in gsplit(ignorespec, ",") do local param = ignore:match("^(.*):list$") if param then if param:match("^%d+$") then insert(numbered_list_params_to_ignore, tonumber(param)) else insert(named_list_params_to_ignore, "^" .. pattern_escape(param) .. "%d*$") end else if ignore:match("^%d+$") then ignore = tonumber(ignore) end params_to_ignore[ignore] = true end end end for k, v in pairs(parent_args) do if not params_to_ignore[k] then local ignore_me = false if type(k) == "number" then for _, lparam in ipairs(numbered_list_params_to_ignore) do if k >= lparam then ignore_me = true break end end else for _, lparam in ipairs(named_list_params_to_ignore) do if k:match(lparam) then ignore_me = true break end end end if not ignore_me then new_parent_args[k] = v end end end parent_args = new_parent_args end local param_mods_with_conj, param_mods_without_conj local function get_param_mods(with_conj) if with_conj then if not param_mods_with_conj then param_mods_with_conj = require(parameter_utilities_module).construct_param_mods { {group = {"link", "q", "l", "ref"}}, {param = "conj", set = allowed_conj_set, overall = true}, } end return param_mods_with_conj else if not param_mods_without_conj then param_mods_without_conj = require(parameter_utilities_module).construct_param_mods { {group = {"link", "q", "l", "ref"}}, -- Override lit= to have a separate overall value {param = "lit", separate_no_index = true}, } end return param_mods_without_conj end end local terms, args if iargs.nolink or iargs.linktext then args = process_params(parent_args, params) else local m_param_utils = require(parameter_utilities_module) if iargs.with_multiple_parts then terms, args = m_param_utils.parse_list_with_inline_modifiers_and_separate_params { params = params, param_mods = get_param_mods(false), raw_args = parent_args, termarg = term_param, track_module = "form of" .. (template and "/" .. template or ""), lang = compat and "lang" or 1, sc = "sc.default", parse_lang_prefix = true, default_separator = " +&lrm; ", special_separators = {[";"] = " or "}, } else terms, args = m_param_utils.parse_term_with_inline_modifiers_and_separate_params { params = params, param_mods = get_param_mods("with conj"), raw_args = parent_args, termarg = term_param, track_module = "form of" .. (template and "/" .. template or ""), lang = compat and "lang" or 1, sc = "sc", parse_lang_prefix = true, make_separate_g_into_list = true, splitchar = ",", subitem_param_handling = "last", } end end local lang = args[compat and "lang" or 1] -- Tracking for certain user-specified params. This is generally used for -- parameters that we accept but ignore, so that we can eventually remove -- all uses of these params and stop accepting them. if ignored_tracked_params then for ignored_tracked_param, condition in pairs(ignored_tracked_params) do if parent_args[ignored_tracked_param] and (condition ~= "non-english" or lang:getCode() ~= "en") then track("arg/" .. ignored_tracked_param, template) track("arg/" .. ignored_tracked_param) end end end -- Determine categories for the page, including tracking categories local categories = {} if not args.nocat then for _, cat in ipairs(iargs.cat) do insert(categories, lang:getCode() .. ":" .. cat) end end for _, cat in ipairs(args.cat) do insert(categories, lang:getCode() .. ":" .. cat) end -- Format the link, preceding text and categories local function add_term_tracking_categories(term) -- add tracking category if term is same as page title if term and mw.loadData("Module:headword/data").pagename == lang:stripDiacritics(term) then insert(categories, "Forms linking to themselves") end -- maybe add tracking category if primary entry doesn't exist (this is an -- expensive call so we don't do it by default) if iargs.noprimaryentrycat and term and mw.title.getCurrentTitle().nsText == "" and not mw.title.new(term):getContent() then insert(categories, lang:getFullName() .. " " .. iargs.noprimaryentrycat) end end local lemmas if iargs.nolink then lemmas = nil elseif iargs.linktext then lemmas = iargs.linktext else if iargs.with_multiple_parts then lemmas = terms else lemmas = terms.terms end if not lemmas[1] then if mw.title.getCurrentTitle().nsText == "Templat" then lemmas[1] = { lang = lang, term = "term" } else error("No linked-to term specified") end end for _, termobj in ipairs(lemmas) do if termobj.term then add_term_tracking_categories(termobj.term) end -- NOTE: Formerly, template arg sc= overrode inline modifier <sc:...>, which seems backwards, so I've -- changed it. Hopefully nothing depended on the old behavior. end end local enclitics, enclitic_conj if args.enclitic then local enclitics_obj = parse_terms_with_inline_modifiers("enclitic", args.enclitic, get_param_mods("with conj"), lang) enclitics = enclitics_obj.terms enclitic_conj = enclitics_obj.conj end local base_lemmas = {} if base_lemma_params then for _, base_lemma_param_obj in ipairs(base_lemma_params) do local param = base_lemma_param_obj.param if args[param] then local base_lemmas_obj = parse_terms_with_inline_modifiers(param, args[param], get_param_mods("with conj"), lang) insert(base_lemmas, { paramobj = base_lemma_param_obj, lemmas = base_lemmas_obj.terms, conj = base_lemmas_obj.conj, }) end end end local posttext = iargs.posttext local addl = args.addl if addl then posttext = posttext or "" if addl:find("^[;:]") then posttext = posttext .. addl elseif addl:find("^_") then posttext = posttext .. " " .. addl:sub(2) else posttext = posttext .. ", " .. addl end end local conj if iargs.with_multiple_parts then conj = false -- signals to use 'separator' field else conj = terms and terms.conj or iargs.conj end local lemma_data = { lang = lang, args = args, lemmas = lemmas, conj = conj, enclitics = enclitics, enclitic_conj = enclitic_conj, base_lemmas = base_lemmas, categories = categories, posttext = posttext, lit = iargs.with_multiple_parts and args.lit.default or nil, } local form_of_text, lang_cats = do_form_of(lemma_data) extend(lemma_data.categories, lang_cats) local text = form_of_text .. ( args.nodot and "" or args.dot or iargs.withdot and "." or "" ) if not lemma_data.categories[1] then return text end return text .. format_categories(lemma_data.categories, lemma_data.lang, args.sort, -- If lemma_is_sort_key is given, supply the first lemma term as the sort base if possible. If sort= is given, -- it will override the base; otherwise, the base will be converted appropriately to a sort key using the -- same algorithm applied to pagenames. iargs.lemma_is_sort_key and type(lemma_data.lemmas) == "table" and lemma_data.lemmas[1].term, -- Supply the first lemma's script for sort key computation. force_cat or get_force_cat(), type(lemma_data.lemmas) == "table" and lemma_data.lemmas[1].sc) end -- Invocation parameters shared between form_of_t(), tagged_form_of_t() and inflection_of_t(). `calling_func` is the -- invoking function ("form_of_t", "tagged_form_of_t" or "inflection_of_t"), for handling parameters shared by two but -- not all three invoking functions. local function get_common_invocation_params(calling_func) local iparams = { ["term_param"] = {type = "number"}, ["lang"] = true, -- To be used as the default code in params. ["sc"] = {type = "script"}, ["cat"] = {list = true, sublist = "comma without whitespace", flatten = true}, ["ignore"] = {list = true}, ["def"] = {list = true}, ["conj"] = {set = allowed_conj_set, default = "and"}, ["withcap"] = boolean_param, ["withencap"] = boolean_param, ["withdot"] = boolean_param, ["nolink"] = boolean_param, ["linktext"] = true, ["posttext"] = true, ["noprimaryentrycat"] = true, ["lemma_is_sort_key"] = true, } if calling_func ~= "inflection_of_t" then iparams.with_multiple_parts = boolean_param end return iparams end local function should_ucfirst_text(args, iargs, lang) local code = lang:getCode() return args.cap or (iargs.withcap or iargs.withencap and code == "en" or code == "mul") and not args.nocap end --[==[ Function that implements {{tl|form of}} and the various more specific form-of templates (but not {{tl|inflection of}} or templates that take tagged inflection parameters). Invocation params: ; {{para|1|req=1}} : Text to display before the link. ; {{para|term_param}} : Numbered param holding the term linked to. Other numbered params come after. Defaults to 1 if invocation or template param {{para|lang}} is present, otherwise 2. ; {{para|with_multiple_parts|1}} : If specified, higher numbered parameters above the numbered param in {{para|term_param}} specify additional parts out of which the term was constructed, for use by templates like {{tl|contraction of}}. (If not specified, the parameter at <code><var>term_param</var> + 1</code> is the display form, same as {{para|alt}}, and the parameter at at <code><var>term_param</var> + 2</code> is the gloss, same as {{para|t}}.) ; {{para|lang}} : Default language code for language-specific templates. If specified, no language code needs to be specified, and if specified it needs to be set using {{para|lang}}, not {{para|1}}. ; {{para|sc}} : Default script code for language-specific templates. The script code can still be overridden using template param {{para|sc}}. ; {{para|cat}}, {{para|cat2}}, ...: : Categories to place the page into. The language name will automatically be prepended. Note that there is also a template param {{para|cat}} to specify categories at the template level. Use of {{para|nocat}} disables categorization of categories specified using invocation param {{para|cat}}, but not using template param {{para|cat}}. A single param can specify multiple comma-separated categories if no space follows the comma. ; {{para|ignore}}, {{para|ignore2}}, ...: : One or more template params to silently accept and ignore. Useful e.g. when the template takes additional parameters such as {{para|from}} or {{para|POS}}. Each value is a comma-separated list of either bare parameter names or specifications of the form `PARAM:list` to specify that the parameter is a list parameter. ; {{para|def}}, {{para|def2}}, ...: : One or more default values to supply for template args. For example, specifying {{para|def|2=tr=-}} causes the default for template param {{para|tr}} to be `-`. Actual template params override these defaults. ; {{para|withcap|1}} : Capitalize the first character of the text preceding the link, unless template param {{para|nocap}} is given. ; {{para|withencap|1}} : Capitalize the first character of the text preceding the link if the language is English and template param {{para|nocap}} is not given. ; {{para|withdot|1}} : Add a final period after the link, unless template param {{para|nodot}} is given to suppress the period, or {{para|dot}} is given to specify an alternative punctuation character. ; {{para|nolink|1}} : Suppress the display of the link. If specified, none of the template params that control the link ({{para|<var>term_param</var>}}, {{para|<var>term_param</var> + 1}}, {{para|<var>term_param</var> + 2}}, {{para|t}}, {{para|gloss}}, {{para|sc}}, {{para|tr}}, {{para|ts}}, {{para|pos}}, {{para|g}}, {{para|id}}, {{para|lit}}) will be available. If the calling template uses any of these parameters, they must be ignored using {{para|ignore}}. {{para|linktext}} : Override the display of the link with the specified text. This is useful if a custom template is available to format the link (e.g. in Hebrew, Chinese and Japanese). If specified, none of the template params that control the link ({{para|<var>term_param</var>}}, {{para|<var>term_param</var> + 1}}, {{para|<var>term_param</var> + 2}}, {{para|t}}, {{para|gloss}}, {{para|sc}}, {{para|tr}}, {{para|ts}}, {{para|pos}}, {{para|g}}, {{para|id}}, {{para|lit}}) will be available. If the calling template uses any of these parameters, they must be ignored using {{para|ignore}}. ; {{para|posttext}} : Additional text to display directly after the formatted link, before any terminating period/dot and inside of `<span class='use-with-mention'>`. ; {{para|noprimaryentrycat}} : Category to add the page to if the primary entry linked to doesn't exist. The language name will automatically be prepended. ; {{para|lemma_is_sort_key|1}} : If the user didn't specify a sort key, use the lemma as the sort key (instead of the page itself). ]==] function export.form_of_t(frame) local iparams = get_common_invocation_params("form_of_t") iparams[1] = {required = true} local iargs = process_params(frame.args, iparams) local parent_args = frame:getParent().args local params = get_common_template_params() if next(iargs.cat) then params.nocat = boolean_param end return construct_form_of_text { template = "form-of-t", iargs = iargs, parent_args = parent_args, params = params, do_form_of = function(lemma_data) local args = lemma_data.args local text if args.notext then text = "" else text = iargs[1] if should_ucfirst_text(args, iargs, lemma_data.lang) then text = ucfirst(text) end end -- This returns two values, which we pass up to the caller. return format_form_of { lang = lemma_data.lang, text = text, lemmas = lemma_data.lemmas, conj = lemma_data.conj, enclitics = lemma_data.enclitics, base_lemmas = lemma_data.base_lemmas, lemma_face = "term", lit = lemma_data.lit, posttext = lemma_data.posttext } end } end --[=[ Construct and return the full definition line for a form-of-type template invocation that is based on inflection tags. This is a wrapper around construct_form_of_text() and takes the following arguments: processed invocation arguments IARGS, processed parent arguments ARGS, TERM_PARAM (the parent argument specifying the main entry), COMPAT (true if the language code is found in args.lang instead of args[1]), and TAGS, the list of (non-canonicalized) inflection tags. It returns that actual definition-line text including terminating period/full-stop, formatted categories, etc. and should be directly returned as the template function's return value. ]=] local function construct_tagged_form_of_text(data) local template, iargs, parent_args, params, no_numbered_gloss, tags = data.template, data.iargs, data.parent_args, data.params, data.no_numbered_gloss, data.tags -- Named params not controlling link display -- Always included because lang-specific categories may be added params.nocat = boolean_param params.p = true params.POS = {alias_of = "p"} return construct_form_of_text { template = template, iargs = iargs, parent_args = parent_args, params = params, no_numbered_gloss = no_numbered_gloss, do_form_of = function(lemma_data) local args = lemma_data.args if is_callable(tags) then tags = tags(args) end -- NOTE: tagged_inflections returns two values, so we do too. return tagged_inflections { lang = lemma_data.lang, tags = tags, lemmas = lemma_data.lemmas, conj = lemma_data.conj, enclitics = lemma_data.enclitics, enclitic_conj = lemma_data.enclitic_conj, base_lemmas = lemma_data.base_lemmas, lemma_face = "term", POS = args.p, pagename = args.pagename, -- Set no_format_categories because we do it ourselves in construct_form_of_text(). no_format_categories = true, nocat = args.nocat, notext = args.notext, capfirst = should_ucfirst_text(args, iargs, lemma_data.lang), posttext = lemma_data.posttext, } end } end --[==[ Function that implements form-of templates that are defined by specific tagged inflections (typically a template referring to a non-lemma inflection, such as {{tl|plural of}}). This works exactly like {form_of_t()} except that the "form of" text displayed before the link is based off of a pre-specified set of inflection tags (which will be appropriately linked to the glossary) instead of arbitrary text. From the user's perspective, there is no difference between templates implemented using {form_of_t()} and {tagged_form_of_t()}; they accept exactly the same parameters and work the same. See also {inflection_of_t()} below, which is intended for templates with user-specified inflection tags. Invocation params: ; {{para|1|req=1}}, {{para|2}}, ... : One or more inflection tags describing the inflection in question. ; {{para|split_tags}} : If specified, character to split specified inflection tags on. This allows multiple tags to be included in a single argument, simplifying template code. ; {{para|term_param}} ; {{para|with_multiple_parts|1}} ; {{para|lang}} ; {{para|sc}} ; {{para|cat}}, {{para|cat2}}, ... ; {{para|ignore}}, {{para|ignore2}}, ... ; {{para|def}}, {{para|def2}}, ... ; {{para|withcap|1}} ; {{para|withencap|1}} ; {{para|withdot|1}} ; {{para|nolink|1}} ; {{para|linktext}} ; {{para|posttext}} ; {{para|noprimaryentrycat}} ; {{para|lemma_is_sort_key|1}} : All of these are the same as in {form_of_t()}. ]==] function export.tagged_form_of_t(frame) local iparams = get_common_invocation_params("tagged_form_of_t") iparams[1] = {list = true, required = true} iparams.split_tags = true local iargs = process_params(frame.args, iparams) local parent_args = frame:getParent().args local params = get_common_template_params() return construct_tagged_form_of_text { template = "tagged-form-of-t", iargs = iargs, parent_args = parent_args, params = params, tags = split_inflection_tags(iargs[1], iargs.split_tags), } end --[==[ Function that implements {{tl|inflection of}} and certain semi-specific variants, such as {{tl|participle of}} and {{tl|past participle form of}}. This function is intended for templates that allow the user to specify a set of inflection tags. It works similarly to {form_of_t()} and {tagged_form_of_t()} except that the calling convention for the calling template is : { {{TEMPLATE|LANG|MAIN_ENTRY_LINK|MAIN_ENTRY_DISPLAY_TEXT|TAG|TAG|...}}} instead of : { {{TEMPLATE|LANG|MAIN_ENTRY_LINK|MAIN_ENTRY_DISPLAY_TEXT|GLOSS}}} Note that there isn't a numbered parameter for the gloss, but it can still be specified using {{para|t}} or {{para|gloss}}. Invocation params: ; {{para|preinfl}}, {{para|preinfl2}}, ... : Extra inflection tags to automatically prepend to the tags specified by the template. ; {{para|postinfl}}, {{para|postinfl2}}, ... : Extra inflection tags to automatically append to the tags specified by the template. Used for example by {{tl|past participle form of}} to add the tags `of the|past|p` onto the user-specified tags, which indicate which past participle form the page refers to. ; {{para|split_tags}} : If specified, character to split specified inflection tags on. This allows multiple tags to be included in a single argument, simplifying template code. Note that this applies *ONLY* to inflection tags specified in the invocation arguments using {{para|preinfl}} or {{para|postinfl}}, not to user-specified inflection tags. ; {{para|term_param}} ; {{para|lang}} ; {{para|sc}} ; {{para|cat}}, {{para|cat2}}, ... ; {{para|ignore}}, {{para|ignore2}}, ... ; {{para|def}}, {{para|def2}}, ... ; {{para|withcap|1}} ; {{para|withencap|1}} ; {{para|withdot|1}} ; {{para|nolink|1}} ; {{para|linktext}} ; {{para|posttext}} ; {{para|noprimaryentrycat}} ; {{para|lemma_is_sort_key|1}} : All of these are the same as in {form_of_t()}. ]==] function export.inflection_of_t(frame) local iparams = get_common_invocation_params("inflection_of_t") iparams.preinfl = {list = true} iparams.postinfl = {list = true} iparams.split_tags = true local iargs = process_params(frame.args, iparams) local parent_args = frame:getParent().args local params = get_common_template_params() local compat = iargs.lang or parent_args.lang local tagsind = (iargs.term_param or compat and 1 or 2) + 2 params[tagsind] = {list = true, -- at least one inflection tag is required unless preinfl or postinfl tags are given required = #iargs.preinfl == 0 and #iargs.postinfl == 0} return construct_tagged_form_of_text { template = "inflection-of-t", iargs = iargs, parent_args = parent_args, params = params, no_numbered_gloss = true, tags = function(args) local infls if not next(iargs.preinfl) and not next(iargs.postinfl) then -- If no preinfl or postinfl tags, just use the user-specified tags directly. infls = args[tagsind] else -- Otherwise, we need to prepend the preinfl tags and postpend the postinfl tags. If there's only one tag set -- (no semicolon), it's easier. Since this is common, we optimize for it. infls = {} local saw_semicolon = false for _, infl in ipairs(args[tagsind]) do if infl == ";" then saw_semicolon = true break end end local split_preinfl = split_inflection_tags(iargs.preinfl, iargs.split_tags) local split_postinfl = split_inflection_tags(iargs.postinfl, iargs.split_tags) if not saw_semicolon then extend(infls, split_preinfl) extend(infls, args[tagsind]) extend(infls, split_postinfl) else local groups = split_tag_set(args[tagsind]) for _, group in ipairs(groups) do if #infls > 0 then insert(infls, ";") end extend(infls, split_preinfl) extend(infls, group) extend(infls, split_postinfl) end end end return infls end, } end --[==[ Normalize a part-of-speech tag given a possible abbreviation (passed in as {{para|1}} of the invocation args). If the abbreviation isn't recognized, the original POS tag is returned. If no POS tag is passed in, return the value of invocation arg {{para|default}}. ]==] function export.normalize_pos(frame) local iparams = { [1] = true, ["default"] = true, } local iargs = process_params(frame.args, iparams) if not iargs[1] and not iargs.default then error("Either 1= or default= must be given in the invocation args") end if not iargs[1] then return iargs.default end return (m_form_of_pos or get_m_form_of_pos())[iargs[1]] or iargs[1] end return export 7chh34hndnevpvj3vxf1nmph4fwuj8a 1349857 1349856 2026-04-14T13:44:06Z Swarabakti 18192 Batalkan revisi [[Special:Diff/1349856|1349856]] oleh [[Special:Contributions/Swarabakti|Swarabakti]] ([[User talk:Swarabakti|bicara]]) 1349857 Scribunto text/plain local export = {} local debug_track_module = "Module:debug/track" local form_of_module = "Module:form of" local functions_module = "Module:fun" local headword_data_module = "Module:headword/data" local languages_module = "Module:languages" local load_module = "Module:load" local parameters_module = "Module:parameters" local parameter_utilities_module = "Module:parameter utilities" local parse_interface_module = "Module:parse interface" local string_utilities_module = "Module:string utilities" local table_module = "Module:table" local utilities_module = "Module:utilities" local insert = table.insert local ipairs = ipairs local pairs = pairs local require = require local boolean_param = {type = "boolean"} -- FIXME: Finish [[Module:format utilities]]. -- local allowed_conj_set = require(format_utilities_module).allowed_conj_set_for_join_segments local allowed_conj_set = {["and"] = true, ["or"] = true, ["and/or"] = true} --[==[ Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==] local function debug_track(...) debug_track = require(debug_track_module) return debug_track(...) end local function decode_entities(...) decode_entities = require(string_utilities_module).decode_entities return decode_entities(...) end local function extend(...) extend = require(table_module).extend return extend(...) end local function format_categories(...) format_categories = require(utilities_module).format_categories return format_categories(...) end local function format_form_of(...) format_form_of = require(form_of_module).format_form_of return format_form_of(...) end local function get_lang(...) get_lang = require(languages_module).getByCode return get_lang(...) end local function gsplit(...) gsplit = require(string_utilities_module).gsplit return gsplit(...) end local function is_callable(...) is_callable = require(functions_module).is_callable return is_callable(...) end local function load_data(...) load_data = require(load_module).load_data return load_data(...) end local function parse_inline_modifiers(...) parse_inline_modifiers = require(parse_interface_module).parse_inline_modifiers return parse_inline_modifiers(...) end local function pattern_escape(...) pattern_escape = require(string_utilities_module).pattern_escape return pattern_escape(...) end local function process_params(...) process_params = require(parameters_module).process return process_params(...) end local function safe_load_data(...) safe_load_data = require(load_module).safe_load_data return safe_load_data(...) end local function split(...) split = require(string_utilities_module).split return split(...) end local function split_tag_set(...) split_tag_set = require(form_of_module).split_tag_set return split_tag_set(...) end local function tagged_inflections(...) tagged_inflections = require(form_of_module).tagged_inflections return tagged_inflections(...) end local function trim(...) trim = require(string_utilities_module).trim return trim(...) end local function ucfirst(...) ucfirst = require(string_utilities_module).ucfirst return ucfirst(...) end --[==[ Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as "foo or get_foo()", where the function get_foo sets the object to "foo" and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once "foo" has been set, "get_foo" will not be called again.]==] local force_cat local function get_force_cat() force_cat, get_force_cat = require(form_of_module).force_cat, nil return force_cat end local m_form_of_pos local function get_m_form_of_pos() m_form_of_pos, get_m_form_of_pos = load_data(headword_data_module).pos_aliases, nil return m_form_of_pos end local module_prefix local function get_module_prefix() module_prefix, get_module_prefix = require(form_of_module).form_of_lang_data_module_prefix, nil return module_prefix end --[==[ intro: This module contains code that directly implements {{tl|form of}}, {{tl|inflection of}}, and the various other [[:Category:Form-of templates|form-of templates]]. It is meant to be called directly from templates. See also [[Module:form of]], which contains the underlying implementing code and is meant to be called from other modules. ]==] -- Add tracking category for PAGE when called from TEMPLATE. The tracking category linked to is -- [[Wiktionary:Tracking/form of/TEMPLATE/PAGE]]. If TEMPLATE is omitted, the tracking category is of the form -- [[Wiktionary:Tracking/form of/PAGE]]. local function track(page, template) debug_track("form of/" .. (template and template .. "/" or "") .. page) end local function get_common_template_params() return { -- Named params not controlling link display ["cat"] = {list = true, sublist = "comma without whitespace", flatten = true}, ["notext"] = boolean_param, ["sort"] = true, ["enclitic"] = true, -- FIXME! The following should only be available when withcap=1 in invocation args or when withencap=1 and the -- language is "en". Before doing that, need to remove all uses of nocap= in other circumstances. ["nocap"] = boolean_param, ["addl"] = true, -- additional text to display at the end, before the closing </span> ["pagename"] = true, -- for testing, etc. } end -- Split TAGSPECS (inflection tag specifications) on SPLIT_REGEX, which -- may be nil for no splitting. local function split_inflection_tags(tagspecs, split_regex) if not split_regex then return tagspecs end local inflection_tags = {} for _, tagspec in ipairs(tagspecs) do for tag in gsplit(tagspec, split_regex) do insert(inflection_tags, tag) end end return inflection_tags end local function parse_terms_with_inline_modifiers(paramname, val, param_mods, lang) local function generate_obj(term) return {lang = lang, term = decode_entities(term)} end return parse_inline_modifiers(val, { paramname = paramname, param_mods = param_mods, generate_obj = generate_obj, splitchar = ",", outer_container = {}, }) end -- Need to do what [[Module:parameters]] does to string arguments from parent_args as we're running this -- before calling [[Module:parameters]] on parent_args. local function ine(arg) if not arg then return nil end arg = trim(arg) return arg ~= "" and arg or nil end local function add_base_lemma_params(parent_args, iargs, params, compat) -- Check the language-specific data for additional base lemma params. But if there's no language-specific data, -- attempt any parent varieties as well (i.e. superordinate varieties). local lang = get_lang(ine(parent_args[compat and "lang" or 1]) or ine(iargs.lang) or "und", nil, true) while lang do local langdata = safe_load_data((module_prefix or get_module_prefix()) .. lang:getCode()) if langdata then local base_lemma_params = langdata.base_lemma_params if base_lemma_params then for _, param in ipairs(base_lemma_params) do params[param.param] = true end return base_lemma_params end end lang = lang:getParent() end end --[=[ Modify `params` in-place by adding parameters that control the link to the main entry and any base lemmas. `term_param` is the number of the param specifying the main entry itself; `term_param` + 1 will be the display text, and `term_param` + 2 will be the gloss, unless `no_numbered_gloss` is given. The base lemma parameters are determined by attempting to load language-specific data for the language of the page; this comes from |lang= if `compat` is given, else from |1=. ]=] local function add_link_and_base_lemma_params(iargs, parent_args, params, term_param, compat, no_numbered_gloss) local base_lemma_params if not iargs.nolink and not iargs.linktext then -- Numbered params controlling link display if iargs.with_multiple_parts then params[term_param] = {list = true, allow_holes = true} else params[term_param + 1] = {alias_of = "alt"} if not no_numbered_gloss then params[term_param + 2] = {alias_of = "t"} end params[term_param] = true end base_lemma_params = add_base_lemma_params(parent_args, iargs, params, compat) end return base_lemma_params end local function handle_withdot_withcap(iargs, params) local ignored_tracked_params = {} if iargs.withdot then params.dot = true params.nodot = boolean_param end if iargs.withcap and iargs.withencap then error("Internal error: Can specify only one of withcap= and withencap=") end if not iargs.withcap then params.cap = boolean_param ignored_tracked_params.nocap = iargs.withencap and "non-english" or "always" end return ignored_tracked_params end --[=[ Construct and return the full definition line for a form-of-type template invocation. `data` is an object with the following fields: * `template`: Approximate template name, for debug tracking; * `iargs`: processed invocation arguments; * `parent_args`: raw parent args from `frame:getParent().args`; * `params`: partially constructed params structure of the sort passed to `process()` in [[Module:parameters]], but without any link params; * `ignored_tracked_params`: params that are ignored but should be tracked, to be eventually removed; * `term_param`: the parent argument specifying the main entry; * `compat`: true if the language code is found in args.lang instead of args[1]; * `base_lemma_params`: if non-nil, a list of base lemma param objects of the sort stored in the language-specific data; * `do_form_of`: a function of one argument, `lemma_data`, that returns the actual definition-line text and any language-specific categories. See below. This function does several things: # If link parameters are called for (neither `iargs.nolink` nor `iargs.linktext` are given), augment the `params` structure with separate link parameters. # Modify the parent args as appropriate if invocation arguments def= or ignore= are given. # Parse the parent args, both for separate parameter properties and inline modifiers on the term parameter (which may consist of multiple comma-separated terms). # Compute categories to add to the page, including language-specific categories and any categories requested by the invocation or parent args. # Parse enclitic and extra base lemma parameters. # Construct the actual text using `do_form_of`. # Add a terminating period/dot as appropriate, along with the formatted categories. `do_form_of` takes one argument, `lemma_data`, which looks like this: { lang = LANG, args = {ARG = VALUE, ARG = VALUE, ...}, lemmas = {LEMMA_OBJ, LEMMA_OBJ, ...}, enclitics = {ENCLITIC_OBJ, ENCLITIC_OBJ, ...}, base_lemmas = {BASE_LEMMA_OBJ, BASE_LEMMA_OBJ, ...}, categories = {"CATEGORY", "CATEGORY", ...}, posttext = "POSTTEXT" or nil, } where * LANG is the language code; * ARGS is the parsed arguments, based on what the user specified; * LEMMAS is a sequence of objects specifying the main entries/lemmas, as passed to full_link in [[Module:links]]; however, if the invocation argument linktext= is given, it will be a string consisting of that text, and if the invocation argument nolink= is given, it will be nil; * ENCLITICS is nil or a sequence of objects specifying the enclitics, as passed to full_link in [[Module:links]]; * BASE_LEMMA_OBJ is a sequence of objects specifying the base lemma(s), which are used when the lemma is itself a form of another lemma (the base lemma), e.g. a comparative, superlative or participle; each object is of the form { paramobj = PARAM_OBJ, lemmas = {LEMMA_OBJ, LEMMA_OBJ, ...} } where PARAM_OBJ describes the properties of the base lemma parameter (i.e. the relationship between the intermediate and base lemmas) and LEMMA_OBJ is of the same format of ENCLITIC_OBJ, i.e. an object suitable to be passed to full_link in [[Module:links]]; PARAM_OBJ is of the format { param = "PARAM", tags = {"TAG", "TAG", ...} } where PARAM is the name of the parameter to {{inflection of}} etc. that holds the base lemma(s) of the specified relationship and the tags describe the relationship, such as {"comd"} or {"past", "part"}; * CATEGORIES is the categories to add the page to (consisting of any categories specified in the invocation or parent args and any tracking categories, but not any additional lang-specific categories that may be added by {{inflection of}} or similar templates); * POSTTEXT is text to display at the end of the form-of text, before the final </span> (or at the end of the first line, before the colon, in a multiline {{infl of}} call). `do_form_of` should return two arguments: (1) The actual definition-line text, marked up appropriately with <span>...</span> but without any terminating period/dot. (2) Any extra categories to add the page to (other than those that can be derived from parameters specified to the invocation or parent arguments, which will automatically be added to the page). ]=] local function construct_form_of_text(data) local template, iargs, parent_args, params, no_numbered_gloss, do_form_of = data.template, data.iargs, data.parent_args, data.params, data.no_numbered_gloss, data.do_form_of local term_param = iargs.term_param local compat = iargs.lang or parent_args.lang term_param = term_param or compat and 1 or 2 -- Numbered params params[compat and "lang" or 1] = { required = not iargs.lang, type = "language", default = iargs.lang or "und" } -- Error to catch most uses of old-style parameters for {{contraction of}}. (FIXME: Remove eventually.) if iargs.with_multiple_parts then if ine(parent_args[term_param + 2]) and not ine(parent_args[term_param + 1]) and not ine(parent_args.tr2) and not ine(parent_args.ts2) and not ine(parent_args.t2) and not ine(parent_args.gloss2) and not ine(parent_args.g2) and not ine(parent_args.alt2) then error(("You specified a term in %s= and not one in %s=. You probably meant to use t= to specify a gloss instead. " .. "If you intended to specify two terms, put the second term in %s=."):format(term_param + 2, term_param + 1, term_param + 1)) end if not ine(parent_args[term_param + 1]) and not ine(parent_args.alt2) and not ine(parent_args.tr2) and not ine(parent_args.ts2) and ine(parent_args.g2) then error(("You specified a gender in g2= but no term in %s=. You were probably trying to specify two genders for " .. "a single term. To do that, put both genders in g=, comma-separated."):format(term_param + 1)) end end local base_lemma_params = add_link_and_base_lemma_params(iargs, parent_args, params, term_param, compat, no_numbered_gloss) local ignored_tracked_params = handle_withdot_withcap(iargs, params) --[=[ Process parent arguments. This is similar to the following: require("Module:parameters").process(parent_args, params) but in addition it does the following: (1) Supplies default values for unspecified parent arguments as specified in DEFAULTS, which consist of specs of the form "ARG=VALUE". These are added to the parent arguments prior to processing, so boolean and number parameters will process the value appropriately. (2) Removes parent arguments specified in IGNORESPECS, which consist either of bare argument names to remove, or list-argument names to remove of the form "ARG:list". (3) Tracks the use of any parent arguments specified in TRACKED_PARAMS, which is a set where the keys are arguments as they exist after processing (hence numeric arguments should be numbers, not strings) and the values should be boolean true. ]=]-- local defaults = iargs.def local ignorespecs = iargs.ignore if defaults[1] or ignorespecs[1] then local new_parent_args = {} for _, default in ipairs(defaults) do local defparam, defval = default:match("^(.-)=(.*)$") if not defparam then error("Bad default spec " .. default) end new_parent_args[defparam] = defval end local params_to_ignore = {} local numbered_list_params_to_ignore = {} local named_list_params_to_ignore = {} for _, ignorespec in ipairs(ignorespecs) do for ignore in gsplit(ignorespec, ",") do local param = ignore:match("^(.*):list$") if param then if param:match("^%d+$") then insert(numbered_list_params_to_ignore, tonumber(param)) else insert(named_list_params_to_ignore, "^" .. pattern_escape(param) .. "%d*$") end else if ignore:match("^%d+$") then ignore = tonumber(ignore) end params_to_ignore[ignore] = true end end end for k, v in pairs(parent_args) do if not params_to_ignore[k] then local ignore_me = false if type(k) == "number" then for _, lparam in ipairs(numbered_list_params_to_ignore) do if k >= lparam then ignore_me = true break end end else for _, lparam in ipairs(named_list_params_to_ignore) do if k:match(lparam) then ignore_me = true break end end end if not ignore_me then new_parent_args[k] = v end end end parent_args = new_parent_args end local param_mods_with_conj, param_mods_without_conj local function get_param_mods(with_conj) if with_conj then if not param_mods_with_conj then param_mods_with_conj = require(parameter_utilities_module).construct_param_mods { {group = {"link", "q", "l", "ref"}}, {param = "conj", set = allowed_conj_set, overall = true}, } end return param_mods_with_conj else if not param_mods_without_conj then param_mods_without_conj = require(parameter_utilities_module).construct_param_mods { {group = {"link", "q", "l", "ref"}}, -- Override lit= to have a separate overall value {param = "lit", separate_no_index = true}, } end return param_mods_without_conj end end local terms, args if iargs.nolink or iargs.linktext then args = process_params(parent_args, params) else local m_param_utils = require(parameter_utilities_module) if iargs.with_multiple_parts then terms, args = m_param_utils.parse_list_with_inline_modifiers_and_separate_params { params = params, param_mods = get_param_mods(false), raw_args = parent_args, termarg = term_param, track_module = "form of" .. (template and "/" .. template or ""), lang = compat and "lang" or 1, sc = "sc.default", parse_lang_prefix = true, default_separator = " +&lrm; ", special_separators = {[";"] = " or "}, } else terms, args = m_param_utils.parse_term_with_inline_modifiers_and_separate_params { params = params, param_mods = get_param_mods("with conj"), raw_args = parent_args, termarg = term_param, track_module = "form of" .. (template and "/" .. template or ""), lang = compat and "lang" or 1, sc = "sc", parse_lang_prefix = true, make_separate_g_into_list = true, splitchar = ",", subitem_param_handling = "last", } end end local lang = args[compat and "lang" or 1] -- Tracking for certain user-specified params. This is generally used for -- parameters that we accept but ignore, so that we can eventually remove -- all uses of these params and stop accepting them. if ignored_tracked_params then for ignored_tracked_param, condition in pairs(ignored_tracked_params) do if parent_args[ignored_tracked_param] and (condition ~= "non-english" or lang:getCode() ~= "en") then track("arg/" .. ignored_tracked_param, template) track("arg/" .. ignored_tracked_param) end end end -- Determine categories for the page, including tracking categories local categories = {} if not args.nocat then for _, cat in ipairs(iargs.cat) do insert(categories, lang:getCode() .. ":" .. cat) end end for _, cat in ipairs(args.cat) do insert(categories, lang:getCode() .. ":" .. cat) end -- Format the link, preceding text and categories local function add_term_tracking_categories(term) -- add tracking category if term is same as page title if term and mw.loadData("Module:headword/data").pagename == lang:stripDiacritics(term) then insert(categories, "Forms linking to themselves") end -- maybe add tracking category if primary entry doesn't exist (this is an -- expensive call so we don't do it by default) if iargs.noprimaryentrycat and term and mw.title.getCurrentTitle().nsText == "" and not mw.title.new(term):getContent() then insert(categories, lang:getFullName() .. " " .. iargs.noprimaryentrycat) end end local lemmas if iargs.nolink then lemmas = nil elseif iargs.linktext then lemmas = iargs.linktext else if iargs.with_multiple_parts then lemmas = terms else lemmas = terms.terms end if not lemmas[1] then if mw.title.getCurrentTitle().nsText == "Templat" then lemmas[1] = { lang = lang, term = "term" } else error("No linked-to term specified") end end for _, termobj in ipairs(lemmas) do if termobj.term then add_term_tracking_categories(termobj.term) end -- NOTE: Formerly, template arg sc= overrode inline modifier <sc:...>, which seems backwards, so I've -- changed it. Hopefully nothing depended on the old behavior. end end local enclitics, enclitic_conj if args.enclitic then local enclitics_obj = parse_terms_with_inline_modifiers("enclitic", args.enclitic, get_param_mods("with conj"), lang) enclitics = enclitics_obj.terms enclitic_conj = enclitics_obj.conj end local base_lemmas = {} if base_lemma_params then for _, base_lemma_param_obj in ipairs(base_lemma_params) do local param = base_lemma_param_obj.param if args[param] then local base_lemmas_obj = parse_terms_with_inline_modifiers(param, args[param], get_param_mods("with conj"), lang) insert(base_lemmas, { paramobj = base_lemma_param_obj, lemmas = base_lemmas_obj.terms, conj = base_lemmas_obj.conj, }) end end end local posttext = iargs.posttext local addl = args.addl if addl then posttext = posttext or "" if addl:find("^[;:]") then posttext = posttext .. addl elseif addl:find("^_") then posttext = posttext .. " " .. addl:sub(2) else posttext = posttext .. ", " .. addl end end local conj if iargs.with_multiple_parts then conj = false -- signals to use 'separator' field else conj = terms and terms.conj or iargs.conj end local lemma_data = { lang = lang, args = args, lemmas = lemmas, conj = conj, enclitics = enclitics, enclitic_conj = enclitic_conj, base_lemmas = base_lemmas, categories = categories, posttext = posttext, lit = iargs.with_multiple_parts and args.lit.default or nil, } local form_of_text, lang_cats = do_form_of(lemma_data) extend(lemma_data.categories, lang_cats) local text = form_of_text .. ( args.nodot and "" or args.dot or iargs.withdot and "." or "" ) if not lemma_data.categories[1] then return text end return text .. format_categories(lemma_data.categories, lemma_data.lang, args.sort, -- If lemma_is_sort_key is given, supply the first lemma term as the sort base if possible. If sort= is given, -- it will override the base; otherwise, the base will be converted appropriately to a sort key using the -- same algorithm applied to pagenames. iargs.lemma_is_sort_key and type(lemma_data.lemmas) == "table" and lemma_data.lemmas[1].term, -- Supply the first lemma's script for sort key computation. force_cat or get_force_cat(), type(lemma_data.lemmas) == "table" and lemma_data.lemmas[1].sc) end -- Invocation parameters shared between form_of_t(), tagged_form_of_t() and inflection_of_t(). `calling_func` is the -- invoking function ("form_of_t", "tagged_form_of_t" or "inflection_of_t"), for handling parameters shared by two but -- not all three invoking functions. local function get_common_invocation_params(calling_func) local iparams = { ["term_param"] = {type = "number"}, ["lang"] = true, -- To be used as the default code in params. ["sc"] = {type = "script"}, ["cat"] = {list = true, sublist = "comma without whitespace", flatten = true}, ["ignore"] = {list = true}, ["def"] = {list = true}, ["conj"] = {set = allowed_conj_set, default = "and"}, ["withcap"] = boolean_param, ["withencap"] = boolean_param, ["withdot"] = boolean_param, ["nolink"] = boolean_param, ["linktext"] = true, ["posttext"] = true, ["noprimaryentrycat"] = true, ["lemma_is_sort_key"] = true, } if calling_func ~= "inflection_of_t" then iparams.with_multiple_parts = boolean_param end return iparams end local function should_ucfirst_text(args, iargs, lang) local code = lang:getCode() return args.cap or (iargs.withcap or iargs.withencap and code == "en" or code == "mul") and not args.nocap end --[==[ Function that implements {{tl|form of}} and the various more specific form-of templates (but not {{tl|inflection of}} or templates that take tagged inflection parameters). Invocation params: ; {{para|1|req=1}} : Text to display before the link. ; {{para|term_param}} : Numbered param holding the term linked to. Other numbered params come after. Defaults to 1 if invocation or template param {{para|lang}} is present, otherwise 2. ; {{para|with_multiple_parts|1}} : If specified, higher numbered parameters above the numbered param in {{para|term_param}} specify additional parts out of which the term was constructed, for use by templates like {{tl|contraction of}}. (If not specified, the parameter at <code><var>term_param</var> + 1</code> is the display form, same as {{para|alt}}, and the parameter at at <code><var>term_param</var> + 2</code> is the gloss, same as {{para|t}}.) ; {{para|lang}} : Default language code for language-specific templates. If specified, no language code needs to be specified, and if specified it needs to be set using {{para|lang}}, not {{para|1}}. ; {{para|sc}} : Default script code for language-specific templates. The script code can still be overridden using template param {{para|sc}}. ; {{para|cat}}, {{para|cat2}}, ...: : Categories to place the page into. The language name will automatically be prepended. Note that there is also a template param {{para|cat}} to specify categories at the template level. Use of {{para|nocat}} disables categorization of categories specified using invocation param {{para|cat}}, but not using template param {{para|cat}}. A single param can specify multiple comma-separated categories if no space follows the comma. ; {{para|ignore}}, {{para|ignore2}}, ...: : One or more template params to silently accept and ignore. Useful e.g. when the template takes additional parameters such as {{para|from}} or {{para|POS}}. Each value is a comma-separated list of either bare parameter names or specifications of the form `PARAM:list` to specify that the parameter is a list parameter. ; {{para|def}}, {{para|def2}}, ...: : One or more default values to supply for template args. For example, specifying {{para|def|2=tr=-}} causes the default for template param {{para|tr}} to be `-`. Actual template params override these defaults. ; {{para|withcap|1}} : Capitalize the first character of the text preceding the link, unless template param {{para|nocap}} is given. ; {{para|withencap|1}} : Capitalize the first character of the text preceding the link if the language is English and template param {{para|nocap}} is not given. ; {{para|withdot|1}} : Add a final period after the link, unless template param {{para|nodot}} is given to suppress the period, or {{para|dot}} is given to specify an alternative punctuation character. ; {{para|nolink|1}} : Suppress the display of the link. If specified, none of the template params that control the link ({{para|<var>term_param</var>}}, {{para|<var>term_param</var> + 1}}, {{para|<var>term_param</var> + 2}}, {{para|t}}, {{para|gloss}}, {{para|sc}}, {{para|tr}}, {{para|ts}}, {{para|pos}}, {{para|g}}, {{para|id}}, {{para|lit}}) will be available. If the calling template uses any of these parameters, they must be ignored using {{para|ignore}}. {{para|linktext}} : Override the display of the link with the specified text. This is useful if a custom template is available to format the link (e.g. in Hebrew, Chinese and Japanese). If specified, none of the template params that control the link ({{para|<var>term_param</var>}}, {{para|<var>term_param</var> + 1}}, {{para|<var>term_param</var> + 2}}, {{para|t}}, {{para|gloss}}, {{para|sc}}, {{para|tr}}, {{para|ts}}, {{para|pos}}, {{para|g}}, {{para|id}}, {{para|lit}}) will be available. If the calling template uses any of these parameters, they must be ignored using {{para|ignore}}. ; {{para|posttext}} : Additional text to display directly after the formatted link, before any terminating period/dot and inside of `<span class='use-with-mention'>`. ; {{para|noprimaryentrycat}} : Category to add the page to if the primary entry linked to doesn't exist. The language name will automatically be prepended. ; {{para|lemma_is_sort_key|1}} : If the user didn't specify a sort key, use the lemma as the sort key (instead of the page itself). ]==] function export.form_of_t(frame) local iparams = get_common_invocation_params("form_of_t") iparams[1] = {required = true} local iargs = process_params(frame.args, iparams) local parent_args = frame:getParent().args local params = get_common_template_params() if next(iargs.cat) then params.nocat = boolean_param end return construct_form_of_text { template = "form-of-t", iargs = iargs, parent_args = parent_args, params = params, do_form_of = function(lemma_data) local args = lemma_data.args local text if args.notext then text = "" else text = iargs[1] if should_ucfirst_text(args, iargs, lemma_data.lang) then text = ucfirst(text) end end -- This returns two values, which we pass up to the caller. return format_form_of { lang = lemma_data.lang, text = text, lemmas = lemma_data.lemmas, conj = lemma_data.conj, enclitics = lemma_data.enclitics, base_lemmas = lemma_data.base_lemmas, lemma_face = "term", lit = lemma_data.lit, posttext = lemma_data.posttext } end } end --[=[ Construct and return the full definition line for a form-of-type template invocation that is based on inflection tags. This is a wrapper around construct_form_of_text() and takes the following arguments: processed invocation arguments IARGS, processed parent arguments ARGS, TERM_PARAM (the parent argument specifying the main entry), COMPAT (true if the language code is found in args.lang instead of args[1]), and TAGS, the list of (non-canonicalized) inflection tags. It returns that actual definition-line text including terminating period/full-stop, formatted categories, etc. and should be directly returned as the template function's return value. ]=] local function construct_tagged_form_of_text(data) local template, iargs, parent_args, params, no_numbered_gloss, tags = data.template, data.iargs, data.parent_args, data.params, data.no_numbered_gloss, data.tags -- Named params not controlling link display -- Always included because lang-specific categories may be added params.nocat = boolean_param params.p = true params.POS = {alias_of = "p"} return construct_form_of_text { template = template, iargs = iargs, parent_args = parent_args, params = params, no_numbered_gloss = no_numbered_gloss, do_form_of = function(lemma_data) local args = lemma_data.args if is_callable(tags) then tags = tags(args) end -- NOTE: tagged_inflections returns two values, so we do too. return tagged_inflections { lang = lemma_data.lang, tags = tags, lemmas = lemma_data.lemmas, conj = lemma_data.conj, enclitics = lemma_data.enclitics, enclitic_conj = lemma_data.enclitic_conj, base_lemmas = lemma_data.base_lemmas, lemma_face = "term", POS = args.p, pagename = args.pagename, -- Set no_format_categories because we do it ourselves in construct_form_of_text(). no_format_categories = true, nocat = args.nocat, notext = args.notext, capfirst = should_ucfirst_text(args, iargs, lemma_data.lang), posttext = lemma_data.posttext, } end } end --[==[ Function that implements form-of templates that are defined by specific tagged inflections (typically a template referring to a non-lemma inflection, such as {{tl|plural of}}). This works exactly like {form_of_t()} except that the "form of" text displayed before the link is based off of a pre-specified set of inflection tags (which will be appropriately linked to the glossary) instead of arbitrary text. From the user's perspective, there is no difference between templates implemented using {form_of_t()} and {tagged_form_of_t()}; they accept exactly the same parameters and work the same. See also {inflection_of_t()} below, which is intended for templates with user-specified inflection tags. Invocation params: ; {{para|1|req=1}}, {{para|2}}, ... : One or more inflection tags describing the inflection in question. ; {{para|split_tags}} : If specified, character to split specified inflection tags on. This allows multiple tags to be included in a single argument, simplifying template code. ; {{para|term_param}} ; {{para|with_multiple_parts|1}} ; {{para|lang}} ; {{para|sc}} ; {{para|cat}}, {{para|cat2}}, ... ; {{para|ignore}}, {{para|ignore2}}, ... ; {{para|def}}, {{para|def2}}, ... ; {{para|withcap|1}} ; {{para|withencap|1}} ; {{para|withdot|1}} ; {{para|nolink|1}} ; {{para|linktext}} ; {{para|posttext}} ; {{para|noprimaryentrycat}} ; {{para|lemma_is_sort_key|1}} : All of these are the same as in {form_of_t()}. ]==] function export.tagged_form_of_t(frame) local iparams = get_common_invocation_params("tagged_form_of_t") iparams[1] = {list = true, required = true} iparams.split_tags = true local iargs = process_params(frame.args, iparams) local parent_args = frame:getParent().args local params = get_common_template_params() return construct_tagged_form_of_text { template = "tagged-form-of-t", iargs = iargs, parent_args = parent_args, params = params, tags = split_inflection_tags(iargs[1], iargs.split_tags), } end --[==[ Function that implements {{tl|inflection of}} and certain semi-specific variants, such as {{tl|participle of}} and {{tl|past participle form of}}. This function is intended for templates that allow the user to specify a set of inflection tags. It works similarly to {form_of_t()} and {tagged_form_of_t()} except that the calling convention for the calling template is : { {{TEMPLATE|LANG|MAIN_ENTRY_LINK|MAIN_ENTRY_DISPLAY_TEXT|TAG|TAG|...}}} instead of : { {{TEMPLATE|LANG|MAIN_ENTRY_LINK|MAIN_ENTRY_DISPLAY_TEXT|GLOSS}}} Note that there isn't a numbered parameter for the gloss, but it can still be specified using {{para|t}} or {{para|gloss}}. Invocation params: ; {{para|preinfl}}, {{para|preinfl2}}, ... : Extra inflection tags to automatically prepend to the tags specified by the template. ; {{para|postinfl}}, {{para|postinfl2}}, ... : Extra inflection tags to automatically append to the tags specified by the template. Used for example by {{tl|past participle form of}} to add the tags `of the|past|p` onto the user-specified tags, which indicate which past participle form the page refers to. ; {{para|split_tags}} : If specified, character to split specified inflection tags on. This allows multiple tags to be included in a single argument, simplifying template code. Note that this applies *ONLY* to inflection tags specified in the invocation arguments using {{para|preinfl}} or {{para|postinfl}}, not to user-specified inflection tags. ; {{para|term_param}} ; {{para|lang}} ; {{para|sc}} ; {{para|cat}}, {{para|cat2}}, ... ; {{para|ignore}}, {{para|ignore2}}, ... ; {{para|def}}, {{para|def2}}, ... ; {{para|withcap|1}} ; {{para|withencap|1}} ; {{para|withdot|1}} ; {{para|nolink|1}} ; {{para|linktext}} ; {{para|posttext}} ; {{para|noprimaryentrycat}} ; {{para|lemma_is_sort_key|1}} : All of these are the same as in {form_of_t()}. ]==] function export.inflection_of_t(frame) local iparams = get_common_invocation_params("inflection_of_t") iparams.preinfl = {list = true} iparams.postinfl = {list = true} iparams.split_tags = true local iargs = process_params(frame.args, iparams) local parent_args = frame:getParent().args local params = get_common_template_params() local compat = iargs.lang or parent_args.lang local tagsind = (iargs.term_param or compat and 1 or 2) + 2 params[tagsind] = {list = true, -- at least one inflection tag is required unless preinfl or postinfl tags are given required = #iargs.preinfl == 0 and #iargs.postinfl == 0} return construct_tagged_form_of_text { template = "inflection-of-t", iargs = iargs, parent_args = parent_args, params = params, no_numbered_gloss = true, tags = function(args) local infls if not next(iargs.preinfl) and not next(iargs.postinfl) then -- If no preinfl or postinfl tags, just use the user-specified tags directly. infls = args[tagsind] else -- Otherwise, we need to prepend the preinfl tags and postpend the postinfl tags. If there's only one tag set -- (no semicolon), it's easier. Since this is common, we optimize for it. infls = {} local saw_semicolon = false for _, infl in ipairs(args[tagsind]) do if infl == ";" then saw_semicolon = true break end end local split_preinfl = split_inflection_tags(iargs.preinfl, iargs.split_tags) local split_postinfl = split_inflection_tags(iargs.postinfl, iargs.split_tags) if not saw_semicolon then extend(infls, split_preinfl) extend(infls, args[tagsind]) extend(infls, split_postinfl) else local groups = split_tag_set(args[tagsind]) for _, group in ipairs(groups) do if #infls > 0 then insert(infls, ";") end extend(infls, split_preinfl) extend(infls, group) extend(infls, split_postinfl) end end end return infls end, } end --[==[ Normalize a part-of-speech tag given a possible abbreviation (passed in as {{para|1}} of the invocation args). If the abbreviation isn't recognized, the original POS tag is returned. If no POS tag is passed in, return the value of invocation arg {{para|default}}. ]==] function export.normalize_pos(frame) local iparams = { [1] = true, ["default"] = true, } local iargs = process_params(frame.args, iparams) if not iargs[1] and not iargs.default then error("Either 1= or default= must be given in the invocation args") end if not iargs[1] then return iargs.default end return (m_form_of_pos or get_m_form_of_pos())[iargs[1]] or iargs[1] end return export tmojen71xun5s50j431jk5v1xbaj1ue Modul:labels 828 216451 1349865 1102867 2026-04-14T14:02:41Z Swarabakti 18192 1349865 Scribunto text/plain local export = {} export.lang_specific_data_list_module = "Modul:labels/data/lang" export.lang_specific_data_modules_prefix = "Modul:labels/data/lang/" local load_module = "Modul:load" local parse_utilities_module = "Modul:parse utilities" local string_utilities_module = "Modul:string utilities" local utilities_module = "Modul:utilities" local insert = table.insert local require_when_needed = require("Modul:require when needed") local unpack = unpack or table.unpack -- Lua 5.2 compatibility local dump = mw.dumpObject local m_lang = require("Modul:bahasa") local m_lang_specific_data = mw.loadData(export.lang_specific_data_list_module) local m_table = require_when_needed("Modul:table") --[==[ intro: Labels go through several stages of processing to get from the original (raw) label specified in the Wikicode to the final (formatted) label displayed to the user. The following terminology will help keep things straight: * The "raw label" is the label specified in the Wikicode. * The "non-canonical label" is the label extracted from the raw label, used for looking up in the label modules in order to fetch the associated label data structure and determine the canonical form of the label. Normally this is the same as the raw label, but it will be different if the raw label is of the form `!<var>label</var>` (e.g. `!Australian`) `<var>label</var>!<var>display</var>` (e.g. `Southern US!Southern`). The former syntax indicates that the label should display as-is instead of in its canonical form (which in the example given is `Australia`), and the latter syntax indicates that the label should display in the form specified after the exclamation point. * The "canonical label" is the result of applying alias resolution to the non-canonical label. Normally, the canonical label rather than the non-canonical label is what is shown to the user. * The "display form of the label" is what is shown to the user, not considering links and HTML that may wrap the display form to get the formatted form of the label. The display form comes from the `.display` field of the module label data for the label; if no such field exists in the label data, it is normally the canonical label. However, if the display override exists (see below), it takes precedence over the `.display` field or canonical label when determining the display form of the label. * The "display override", if specified, overrides all other means of determining the display form of the label. It is specified in two circumstances, i.e. in the `!<var>label</var>` and `<var>label</var>!<var>display</var>` raw label formats (i.e. in the same cirumstances where the raw label and non-canonical label are different). * The "formatted form of the label" is the final form of the label shown directly to the user. It generally appears to the user as the display form of the label, but in the Wikicode, the formatted form may wrap the display form with a link to Wikipedia, the Wiktionary glossary or another Wiktionary entry, and that link in turn may be wrapped in an HTML span with a "deprecated" CSS class attached, causing the label to display differently (to indicate that it is deprecated). ]==] -- for testing local force_cat = false local SUBPAGENAME = mw.title.getCurrentTitle().subpageText -- Disable tracking on heavy pages to save time. local pages_where_tracking_is_disabled = { -- pages that consistently hit timeouts ["a"] = true, -- pages that sometimes hit timeouts ["de"] = true, ["e"] = true, ["i"] = true, ["o"] = true, ["u"] = true, ["и"] = true, ["山"] = true, ["子"] = true, ["月"] = true, ["一"] = true, ["人"] = true, } -- Add tracking category for PAGE. The tracking category linked to is [[Wiktionary:Tracking/labels/PAGE]]. -- We also add to [[Wiktionary:Tracking/labels/PAGE/LANGCODE]] and [[Wiktionary:Tracking/labels/PAGE/MODE]] if -- LANGCODE and/or MODE given. local function track(page, langcode, mode) if pages_where_tracking_is_disabled[SUBPAGENAME] then return true end -- avoid including links in pages (may cause error) page = page:gsub("%[", "("):gsub("%]", ")"):gsub("|", "!") require("Modul:debug/track")("labels/" .. page) if langcode then require("Modul:debug/track")("labels/" .. page .. "/" .. langcode) end if mode then require("Modul:debug/track")("labels/" .. page .. "/" .. mode) end -- We don't currently add a tracking label for both langcode and mode to reduce the total number of labels, to -- save some memory. return true end local function ucfirst(txt) return mw.getContentLanguage():ucfirst(txt) end local mode_to_outer_class = { ["label"] = "usage-label-sense", ["term-label"] = "usage-label-term", ["accent"] = "usage-label-accent", ["form-of"] = "usage-label-form-of", } local mode_to_property_prefix = { ["label"] = false, ["term-label"] = false, -- handled specially ["accent"] = "accent_", ["form-of"] = "dari_", } local function validate_mode(mode) mode = mode or "label" if not mode_to_outer_class[mode] then local allowed_values = {} for key, _ in pairs(mode_to_outer_class) do insert(allowed_values, "'" .. key .. "'") end table.sort(allowed_values) error(("Invalid value '%s' for `mode`; should be one of %s"):format(mode, table.concat(allowed_values, ", "))) end return mode end local function getprop(labdata, mode, prop) local mode_prefix = mode_to_property_prefix[mode] return mode_prefix and labdata[mode_prefix .. prop] or labdata[prop] end local function check_type(label, lang, prop, value, expected_types) if value == nil or expected_types == nil then return value end if type(expected_types) ~= "table" then expected_types = {expected_types} end local valtype = type(value) local matches = false for _, expected_type in ipairs(expected_types) do if type(expected_type) == "string" then if valtype == expected_type then matches = true break end elseif value == expected_type then matches = true break end end if not matches then local function join_untagged_or(elements) return m_table.serialCommaJoin(elements, {conj = "or", dontTag = true}) end local quoted_types = {} local quoted_values = {} for _, expected_type in ipairs(expected_types) do if type(expected_type) == "string" then insert(quoted_types, "'" .. expected_type .. "'") else insert(quoted_values, "'" .. dump(expected_type) .. "'") end end local possible_matches = {} if quoted_types[1] then insert(possible_matches, ("be of type%s %s"):format( quoted_types[2] and "s" or "", join_untagged_or(quoted_types))) end if quoted_values[1] then insert(possible_matches, ("have the value%s %s"):format( quoted_values[2] and "s" or "", join_untagged_or(quoted_values))) end error(("Internal error: For label '%s', langcode '%s', property '%s' should %s but is of type '%s' with value %s"):format( label, lang and lang:getCode() or "UNKNOWN", prop, join_untagged_or(possible_matches), valtype, dump(value))) end end -- HACK! For languages in any of the given families, check the specified-language Wikipedia for appropriate -- Wikipedia articles for the language in question (esp. useful for obscure etymology-only languages that may not -- have English articles for them, like many Chinese lects). local families_to_wikipedia_languages = { {"zhx", "zh"}, {"sem-arb", "ar"}, } --[==[ Given language `lang` (a full language, etymology-language or family), fetch a list of Wikimedia languages to check when converting a Wikidata item to a Wikipedia article. English is always first, followed by the Wikimedia language code(s) of `lang` if `lang` is a language (which may or may not be the same as `lang`'s Wiktionary code), followed by the macrolanguage of `lang` for certain languages and families (currently, only languages and families in the Chinese and Arabic families). If `lang` is nil, only return English. Note that the same code may occur more than once in the list. This is exported because it's also used by [[Modul:category tree/poscatboiler/data/language varieties]]. ]==] function export.get_langs_to_extract_wikipedia_articles_from_wikidata(lang) local wikipedia_langs = {} insert(wikipedia_langs, "en") if lang then local article_lang = lang while article_lang do if article_lang:hasType("language") then local wmcodes = article_lang:getWikimediaLanguageCodes() for _, wmcode in ipairs(wmcodes) do insert(wikipedia_langs, wmcode) end end article_lang = article_lang:getParent() end for _, family_to_wp_lang in ipairs(families_to_wikipedia_languages) do local family, wp_lang = unpack(family_to_wp_lang) if lang:inFamily(family) then insert(wikipedia_langs, wp_lang) end end end return wikipedia_langs end --[==[ Fetch the categories to add to a page, given that the label whose canonical form is `canon_label` with language `lang` has been seen. `labdata` is the label data structure for `label`, fetched from the appropriate submodule. `mode` specifies how the label was invoked (see {get_label_info()} for more information). The return value is a list of the actual categories, unless `for_doc` is specified, in which case the categories returned are marked up for display on a documentation page. If `for_doc` is given, `lang` may be nil to format the categories in a language-independent fashion; otherwise, it must be specified. If `category_types` is specified, it should be a set object (i.e. with category types as keys and {true} as values), and only categories of the specified types will be returned. ]==] function export.fetch_categories(canon_label, labdata, lang, mode, for_doc, category_types) local categories = {} mode = validate_mode(mode) local langcode, canonical_name if lang then langcode = m_lang.getLangCodeByCode(lang:getCode()) canonical_name = m_lang.getLangNameByCode(lang:getCode()) elseif for_doc then langcode = "<var>[langcode]</var>" canonical_name = "<var>[language name]</var>" else error("Internal error: Must specify `lang` unless `for_doc` is given") end local function labprop(prop, expected_types) local retval = getprop(labdata, mode, prop) check_type(canon_label, lang, prop, retval, expected_types) return retval end local empty_list = {} local function get_cats(cat_type) if category_types and not category_types[cat_type] then return empty_list end local cats = labprop(cat_type) if not cats then return empty_list end if type(cats) ~= "table" then return {cats} end return cats end local topical_categories = get_cats("topical_categories") local sense_categories = get_cats("sense_categories") local pos_categories = get_cats("pos_categories") local regional_categories = get_cats("regional_categories") local plain_categories = get_cats("plain_categories") local function insert_cat(cat, sense_cat) if for_doc then cat = "<code>" .. cat .. "</code>" if sense_cat then if mode == "term-label" then cat = cat .. " (using {{tl|tlb}})" else cat = cat .. " (using {{tl|lb}} or form-of template)" end cat = mw.getCurrentFrame():preprocess(cat) end end insert(categories, cat) end for _, cat in ipairs(topical_categories) do insert_cat(langcode .. ":Istilah bidang " .. (cat == true and canon_label or cat)) end for _, cat in ipairs(sense_categories) do if cat == true then cat = canon_label end cat = mode == "term-label" and "Istilah " .. cat or "Istilah " .. cat insert_cat(langcode .. ":" .. cat, true) end for _, cat in ipairs(pos_categories) do insert_cat(langcode .. ":" .. (cat == true and canon_label or cat)) end for _, cat in ipairs(regional_categories) do insert_cat(canonical_name .. " " .. (cat == true and ucfirst(canon_label) or cat)) end for _, cat in ipairs(plain_categories) do insert_cat(cat == true and ucfirst(canon_label) or cat) end return categories end --[==[ Return the list of all labels data modules for a label whose language is `lang`. The return value is a list of module names, with overriding modules earlier in the list (that is, if a label occurs in two modules in the list, the earlier-listed module takes precedence). If `lang` is nil, only return non-language-specific submodules. ]==] function export.get_submodules(lang) local submodules = { "Modul:labels/data", "Modul:labels/data/qualifiers", "Modul:labels/data/regional", "Modul:labels/data/topical", } if not lang then return submodules end -- get language-specific labels from data module local langcode = lang:getFullCode() if m_lang_specific_data.langs_with_lang_specific_modules[langcode] then -- prefer per-language label in order to pick subvariety labels over regional ones insert(submodules, 1, export.lang_specific_data_modules_prefix .. langcode) end return submodules end --[==[ Return the formatted form of a label `label` (which should be the canonical form of the label; see comment at top), given (a) the label data structure `labdata` from one of the data modules; (b) the language object `lang` of the language being processed, or nil for no language; (c) `deprecated` (true if the label is deprecated, otherwise the deprecation information is taken from `labdata`); (d) `override_display` (if specified, override the display form of the label with the specified string, instead of any value in `labdata.display` or `labdata.special_display` or the canonical label in `label` itself); (e) `mode` (same as `data.mode` passed to {get_label_info()}). Returns two values: the formatted label form and a boolean indicating whether the label is deprecated. '''NOTE: Under normal circumstances, do not use this.''' Instead, use {get_label_info()}, which searches all the data modules for a given label and handles other complications. ]==] function export.format_label(label, labdata, lang, deprecated, override_display, mode) local formatted_label mode = validate_mode(mode) local function labprop(prop, expected_types) local retval = getprop(labdata, mode, prop) check_type(label, lang, prop, retval, expected_types) return retval end deprecated = deprecated or labprop("deprecated") if not override_display and labprop("special_display") then local function add_language_name(str) if str == "canonical_name" then if lang then return lang:getFullName() else return "<code><var>[language name]</var></code>" end else return "" end end formatted_label = labprop("special_display", "string"):gsub("<(.-)>", add_language_name) else --[=[ We proceed as follows: 1. The display form comes from either (a) the `override_display` variable if set (this happens when the user uses a label like '!British'); (b) the `display` property, if set; or (c) the label iself. 2. If the display form contains a link, use it directly and ignore the other display-related settings. (NOTE: Settings `Wikipedia` and `Wikidata` may still be used on the category page itself, by the category tree code.) 3. Otherwise, use one of the other display-related settings, in the following order: `glossary` > `Wiktionary` > `Wikipedia` > `Wikidata`. Specifically: a. If any of the values is equal to `true`, that is equivalent to specifying a string consisting of the canonical label. b. If `glossary` is set, it specifies the anchor in [[Appendix:Glossary]]. c. If `Wiktionary` is set, it specifies an arbitrary Wiktionary page or page + anchor (e.g. a separate Appendix entry). d. If `Wikipedia` is set, it specifies an arbitrary Wikipedia article, or a list of such items (in this case, we select the first one, but the category tree uses all of them). e. If `Wikidata` is set, it specifies an arbitrary Wikidata item to retrieve a Wikipedia article from, or a list of such items (in this case, we select the first one, but the category tree uses all of them). If the item is of the form `wmcode:id`, the Wikipedia article corresponding to `id` in the `wmcode`-language Wikipedia is fetched if available. Otherwise, the English-language Wikipedia article corresponding to `id` is retrieved if available, falling back to the Wikimedia language(s) corresponding to `lang` and then (in certain cases) to the macrolanguage that `lang` is part of. Note that if `mode` is specified, prefixed properties (e.g. `accent_display` for `mode` == "accent", `form_display` for `mode` == "form") are checked before the bare equivalent (e.g. `display`). ]=] local display = override_display or labprop("display", "string") or label -- There are several 'Foo spelling' labels specially designed for use in the |from= param in -- {{alternative form of}}, {{standard spelling of}} and the like. Often the display includes the word -- "spelling" at the end (e.g. if it's defaulted), which is useful when the label is used with {{tl|lb}} or -- {{tl|tlb}}; but it causes redundancy when used with the form-of templates, which add the word "form", -- "spelling", "standard spelling", etc. after the label. if mode == "form-of" then display = display:gsub(" spelling$", "") end if display:find("%[%[") then formatted_label = display else local glossary = labprop("glossary", {"string", true}) local Wiktionary = labprop("Wiktionary", {"string", true}) local Wikipedia = labprop("Wikipedia", {"string", true, "table"}) local Wikidata = labprop("Wikidata", {"string", true, "table"}) if glossary then local glossary_entry = glossary == true and label or glossary formatted_label = "[[Lampiran:Glosarium#" .. glossary_entry .. "|" .. display .. "]]" elseif Wiktionary then local Wiktionary_entry = Wiktionary == true and label or Wiktionary if Wiktionary == display then formatted_label = "[[" .. display .. "]]" else formatted_label = "[[" .. Wiktionary_entry .. "|" .. display .. "]]" end elseif Wikipedia then if type(Wikipedia) == "table" then Wikipedia = Wikipedia[1] end local Wikipedia_entry = Wikipedia == true and label or Wikipedia formatted_label = "[[w:" .. Wikipedia_entry .. "|" .. display .. "]]" elseif Wikidata then if not mw.wikibase then error(("Unable to retrieve data from Wikidata ID for label '%s'; `mw.wikibase` not defined" ):format(label)) end local function make_formatted_label(wmcode, id) local article = mw.wikibase.sitelink(id, wmcode .. "wiki") if article then local link = wmcode == "en" and "w:" .. article or "w:" .. wmcode .. ":" .. article return ("[[%s|%s]]"):format(link, display) else return nil end end if type(Wikidata) == "table" then Wikidata = Wikidata[1] end local wmcode, id = Wikidata:match("^(.*):(.*)$") if wmcode then formatted_label = make_formatted_label(wmcode, id) else local langs_to_check = export.get_langs_to_extract_wikipedia_articles_from_wikidata(lang) for _, wmcode in ipairs(langs_to_check) do formatted_label = make_formatted_label(wmcode, Wikidata) if formatted_label then break end end end formatted_label = formatted_label or display else formatted_label = display end end end if deprecated then formatted_label = '<span class="deprecated-label">' .. formatted_label .. '</span>' end return formatted_label, deprecated end --[==[ Return information on a label. On input `data` is an object with the following fields: * `label`: The raw label to return information on. * `lang`: The language of the label. Must be specified unless `for_doc` is given. * `mode`: How the label was invoked. One of the following: ** {nil} or {"label"}: invoked through {{tl|lb}} or another template whose labels in the same fashion, e.g. {{tl|alt}}, {{tl|quote}} or {{tl|syn}}; ** {"term-label"}: invoked through {{tl|tlb}}; ** {"accent"}: invoked through {{tl|a}} or the {{para|a}} or {{para|aa}} parameters of other pronunciation templates, such as {{tl|IPA}}, {{tl|rhymes}} or {{tl|homophones}}; ** {"form-of"}: invoked through {{tl|alt form}}, {{tl|standard spelling of}} or other form-of template. This changes the display and/or categorization of a minority of labels. (The majority work the same for all modes.) * `for_doc`: Data is being fetched for documentation purposes. This causes the raw categories returned in `categories` to be formatted for documentation display. * `nocat`: If true, don't add the label to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for this label. * `sort`: Sort key for categorization. * `already_seen`: An object used to track labels already seen, so they aren't displayed twice. Tracking is according to the display form of the label, so if two labels have the same display form, the second one won't be displayed (but its categories will still be added). If `already_seen` is {nil}, this tracking doesn't happen. The return value is an object with the following fields: * `raw_text`: If specified, the object does not describe a label but simply raw text surrounding labels. This occurs when double angle bracket (<<...>>) notation is used. {get_label_info()} does not currently return objects with this field set, but {process_raw_labels()} does. The value is {"begin"} (this is the first raw text portion derived from a double angle bracket spec, provided there are at least two raw text portions); {"end"} (this is the last raw text portion derived from a double angle bracket spec, provided there are at least two portions); {"middle"} (this is neither the first nor the last raw text portion); or {"only"} (this is a raw text portion standing by itself). The particular value determines the handling of commas and spaces on one or both sides of the raw text. If this field is specified, only the `label` field (containing the actual raw text) and the `category` field (containing an empty list) are set; all other fields are {nil}. * `raw_label`: The raw label that was passed in. * `non_canonical`: The label prior to canonicalization (i.e. alias resolution). Usually this is the same as `raw_label`, but if the raw label was preceded by an exclamation point (meaning "display the raw label as-is"), this field will contain the label stripped of the exclamation point, and if the raw label is of the form `<var>label</var>!<var>display</var>` (meaning "display the label in the specified form"), this field will contain the label before the exclamation point. * `canonical`: If the label in `non_canonical` is an alias, this contains the canonical name of the label; otherwise it will be {nil}. * `override_display`: If specified, this contains a string that overrides the normal display form of the label. The display form of a label is the `.display` field of the label data if present, and otherwise is normally the canonical form of the label (i.e. after alias resolution). (This is not the same as the formatted form of the label, found in `label`, which is the final form shown to the user and includes links to Wikipedia, the glossary, etc. as well as an HTML wrapper if the label is deprecated.) If `override_display` is specified, however, this is used in place of the normal display form of the label. This currently happens in two circumstances: (1) the label was preceded by ! to indicate that the raw label should be displayed rather than the canonical form; (2) the label was given in the form `<var>label</var>!<var>display</var>` (meaning "display the label in the specified `<var>display</var>` form"). * `label`: The formatted form of the label. This is what is actually shown to the user. If the label is recognized (found in some module), this will typically be in the form of a link. * `categories`: A list of the categories to add the label to; an empty list if `nocat` was specified. * `formatted_categories`: A string containing the formatted categories; {nil} if `nocat` or `for_doc` was specified, or if `categories` is empty. Currently will be an empty string if there are categories to format but the namespace is one that normally excludes categories (e.g. userspace and discussion pages), and `force_cat` isn't specified. * `deprecated`: True if the label is deprecated. * `recognized`: If true, the label was found in some module. * `data`: The data structure for the label, as fetched from the label modules. For unrecognized labels, this will be an empty object. ]==] function export.get_label_info(data) if not data.label then error("`data` must now be an object containing the params") end local mode = validate_mode(data.mode) local ret = {categories = {}} local label = data.label local raw_label = label ret.raw_label = raw_label local override_display if label:find("^!") then label = label:gsub("^!", "") override_display = label elseif label:find("![^%s]") then label, override_display = label:match("^(.-)!([^%s].*)$") if not label then error(("Internal error: This Lua pattern should never fail to match for label '%s'"):format(raw_label)) end end local non_canonical = label ret.non_canonical = non_canonical local deprecated = false local labdata local submodule local data_langcode = data.lang and data.lang:getCode() or nil local submodules_to_check = export.get_submodules(data.lang) for _, submodule_to_check in ipairs(submodules_to_check) do submodule = mw.loadData(submodule_to_check) local this_labdata = submodule[label] local resolved_label if type(this_labdata) == "string" then resolved_label = this_labdata this_labdata = submodule[this_labdata] if not this_labdata then error(("Internal error: Label alias '%s' points to '%s', which is undefined in module [[%s]]"):format( label, resolved_label, submodule_to_check)) end if type(this_labdata) == "string" then error(("Internal error: Label alias '%s' points to '%s', which is also an alias (of '%s') in module [[%s]]"):format( label, resolved_label, this_labdata, submodule_to_check)) end end if this_labdata then -- Make sure either there's no lang restriction, or we're processing lang-independent, or our language -- is among the listed languages. Otherwise, continue processing (which could conceivably pick up a -- lang-appropriate version of the label in another label data module). local lablangs = getprop(this_labdata, mode, "langs") if not lablangs or not data_langcode then labdata = this_labdata label = resolved_label or label break end local lang_in_list = false for _, langcode in ipairs(lablangs) do if langcode == data_langcode then lang_in_list = true break end end if lang_in_list then labdata = this_labdata label = resolved_label or label break elseif not data.notrack then -- Track use of a label that fails the lang restriction. -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label/LANGCODE]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label/LABEL]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label/LABEL/LANGCODE]] track("wrong-lang-label", data_langcode) track("wrong-lang-label/" .. label, data_langcode) if resolved_label then track("wrong-lang-label/" .. resolved_label, data_langcode) end end end end if labdata then ret.recognized = true else labdata = {} ret.recognized = false end local function labprop(prop) return getprop(labdata, mode, prop) end if labprop("deprecated") then deprecated = true end if label ~= non_canonical then -- Note that this is an alias and store the canonical version. ret.canonical = label end if not data.notrack then -- labprop("track") then -- track all labels now -- Track label (after converting aliases to canonical form; but also track raw label (alias) if different -- from canonical label). -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/label/LABEL]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/label/LABEL/LANGCODE]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/label/LABEL/MODE]] track("label/" .. label, data_langcode, mode) if label ~= non_canonical then track("label/" .. non_canonical, data_langcode, mode) end end local formatted_label formatted_label, deprecated = export.format_label(label, labdata, data.lang, deprecated, override_display, mode) ret.deprecated = deprecated if deprecated then if not data.nocat then local depcat = "Entries with deprecated labels" if data.for_doc then depcat = "<code>" .. depcat .. "</code>" end insert(ret.categories, depcat) end end local label_for_already_seen = (labprop("topical_categories") or labprop("regional_categories") or labprop("plain_categories") or labprop("pos_categories") or labprop("sense_categories")) and formatted_label or nil -- Track label text. If label text was previously used, don't show it, but include the categories. -- For an example, see [[hypocretin]]. if data.already_seen and data.already_seen[label_for_already_seen] then ret.label = "" else if formatted_label:find("{") then formatted_label = mw.getCurrentFrame():preprocess(formatted_label) end ret.label = formatted_label end if data.nocat then -- do nothing else local cats = export.fetch_categories(label, labdata, data.lang, mode, data.for_doc) for _, cat in ipairs(cats) do insert(ret.categories, cat) end if not ret.categories[1] or data.for_doc then -- Don't try to format categories if we're doing this for documentation ({{label/doc}}), because there -- will be HTML in the categories. -- do nothing else ret.formatted_categories = require(utilities_module).format_categories(ret.categories, data.lang, data.sort, nil, force_cat or data.force_cat) end end ret.data = labdata if label_for_already_seen and data.already_seen then data.already_seen[label_for_already_seen] = true end return ret end --[==[ Split a string containing comma-separated raw labels into the individual labels. This will not split on a comma followed by whitespace, and it will not split inside of matched <...> or [...]. The code is written to be efficient, so that it does not load modules (e.g. [[Modul:parse utilities]]) unnecessarily. ]==] function export.split_labels_on_comma(term) if term:find("[%[<]") then -- Do it the "hard way". We don't want to split anything inside of <...> or <<...>> even if there are commas -- inside of the angle brackets. For good measure we do the same for [...] and [[...]]. We first parse balanced -- segment runs involving either [...] or <...>. Then we split alternating runs on comma (but not on -- comma+whitespace). Then we rejoin the split runs. For example, given the following: -- "regional,older <<non-rhotic,and,non-hoarse-horse>> speakers", the first call to -- parse_multi_delimiter_balanced_segment_run() produces -- -- {"regional,older ", "<<non-rhotic,and,non-hoarse-horse>>", " speakers"} -- -- After calling split_alternating_runs_on_comma(), we get the following: -- -- {{"regional"}, {"older ", "<<non-rhotic,and,non-hoarse-horse>>", " speakers"}} -- -- After rejoining each group, we get: -- -- {"regional", "older <<non-rhotic,and,non-hoarse-horse>> speakers"} -- -- which is the desired output. When processing the second "label" string, the code in process_raw_labels() -- will do a similar process to this to pull out the labels inside of the <<...>> notation. local put = require(parse_utilities_module) local segments = put.parse_multi_delimiter_balanced_segment_run(term, {{"<", ">"}, {"[", "]"}}) -- This won't split on comma+whitespace. local comma_separated_groups = put.split_alternating_runs_on_comma(segments) for i, group in ipairs(comma_separated_groups) do comma_separated_groups[i] = table.concat(group) end return comma_separated_groups elseif term:find(",%s") then -- This won't split on comma+whitespace. return require(parse_utilities_module).split_on_comma(term) elseif term:find(",") then return require(string_utilities_module).split(term, ",") else return {term} end end --[==[ Return a list of objects corresponding to a set of raw labels. Each object returned is of the format returned by {get_label_info()}. This is similar to looping over the labels and calling {get_label_info()} on each one, but it also correctly handles embedded double angle bracket specs <<...>> found in the labels. (In such a case, there will be more objects returned than raw labels passed in.) On input, `data` is an object with the following fields: * `labels`: The list of labels to process. * `lang`: The language of the labels. Must be specified. * `mode`: How the label was invoked; see {get_label_info()} for more information. * `nocat`: If true, don't add the label to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for this label. * `sort`: Sort key for categorization. * `already_seen`: An object used to track labels already seen, so they aren't displayed twice. Tracking is according to the display form of the label, so if two labels have the same display form, the second one won't be displayed (but its categories will still be added). If `already_seen` is {nil}, this tracking doesn't happen. * `ok_to_destructively_modify`: If set, the `data` structure will be destructively modified in the process of this function running. ]==] function export.process_raw_labels(data) local label_infos = {} if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.ok_to_destructively_modify = true end local function get_info_and_insert(label) -- Reuse this structure to save memory. data.label = label insert(label_infos, export.get_label_info(data)) end for _, label in ipairs(data.labels) do if label:find("<<") then local segments = require(string_utilities_module).split(label, "<<(.-)>>") for i, segment in ipairs(segments) do if i % 2 == 1 then local raw_text_type = i == 1 and "begin" or i == #segments and "end" or "middle" insert(label_infos, {raw_text = raw_text_type, label = segment, categories = {}}) else local segment_labels = export.split_labels_on_comma(segment) for _, segment_label in ipairs(segment_labels) do get_info_and_insert(segment_label) end end end else get_info_and_insert(label) end end return label_infos end --[==[ Split a comma-separated string of raw labels and process each label to get a list of objects suitable for passing to {format_processed_labels()}. Each object returned is of the format returned by {get_label_info()}. This is equivalent to calling {split_labels_on_comma()} followed by {process_raw_labels()}. On input, `data` is an object with the following fields: * `labels`: The string containing the raw comma-separated labels. * `lang`: The language of the labels. Must be specified. * `mode`: How the label was invoked; see {get_label_info()} for more information. * `nocat`: If true, don't add the label to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for this label. * `sort`: Sort key for categorization. * `already_seen`: An object used to track labels already seen, so they aren't displayed twice. Tracking is according to the display form of the label, so if two labels have the same display form, the second one won't be displayed (but its categories will still be added). If `already_seen` is {nil}, this tracking doesn't happen. * `ok_to_destructively_modify`: If set, the `data` structure will be destructively modified in the process of this function running. ]==] function export.split_and_process_raw_labels(data) if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.ok_to_destructively_modify = true end data.labels = export.split_labels_on_comma(data.labels) return export.process_raw_labels(data) end --[==[ Format one or more already-processed labels for display and categorization. "Already-processed" means that {get_label_info()} or {process_raw_labels()} has been called on the raw labels to convert them into objects containing information on how to display and categorize the labels. This is a lower-level alternative to {show_labels()} and is meant for modules such as [[Modul:alternative forms]], [[Modul:quote]] and [[Modul:etymology/templates/descendant]] that support displaying labels along with some other information. On input `data` is an object with the following fields: * `labels`: List of the label objects to format, in the format returned by {get_label_info()}. * `lang`: The language of the labels. * `open`: Open bracket or parenthesis to display before the concatenated labels. If specified, it is wrapped in the {"ib-brac"} and {"label-brac"} CSS classes. If {nil} or {false}, no open bracket is displayed. * `close`: Close bracket or parenthesis to display after the concatenated labels. If specified, it is wrapped in the {"ib-brac"} and {"label-brac"} CSS classes. If {nil} or {false}, no close bracket is displayed. * `no_ib_content`: By default, the concatenated formatted labels inside of the open/close brackets are wrapped in the {"ib-content"} and {"label-content"} CSS classes. Specify this to suppress this wrapping. * `raw`: Suppress all CSS wrapping of content, including open/close parentheses, content and comma delimiters (which are normally wrapped in {"ib-comma"} and {"label-comma"} CSS classes). * `ok_to_destructively_modify`: If set, the `data` structure, and the `data.labels` table inside of it, will be destructively modified in the process of this function running. * `split_output`: If not given, the return value is a concatenation of the formatted concatenated labels and formatted categories. Otherwise, two values are returned: the formatted pronunciation and the categories. If `split_output` is the value {"raw"}, the categories are returned in list form, where the list elements are strings f the form suitable for passing to {format_categories()} in [[Modul:utilities]]. If `split_output` is any other value besides {nil}, the categories are returned as a pre-formatted concatenated string. The return value (or the first return value, if `split_output` is given) is a string containing the contenated labels, optionally surrounded by open/close brackets or parentheses. Normally, labels are separated by comma-space sequences, but this may be suppressed for certain labels. If `nocat` wasn't given to {get_label_info()} or {process_raw_labels()}, and `split_output` wasn't given, the label objects will contain formatted categories in them, which will be inserted into the returned text. (Use `split_output` if you need the categories returned separately.) The concatenated text inside of the open/close brackets is normally wrapped in the {"ib-content"} CSS class, but this can be suppressed, as mentioned above. ]==] function export.format_processed_labels(data) if not data.labels then error("`data` must now be an object containing the params") end if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.labels = m_table.deepCopy(data.labels) data.ok_to_destructively_modify = true end local labels = data.labels if not labels[1] then error("You must specify at least one label.") end -- Show the labels local omit_preComma = false local omit_postComma = true local omit_preSpace = false local omit_postSpace = true for _, label in ipairs(labels) do omit_preComma = omit_postComma omit_preSpace = omit_postSpace local raw_text_omit_before = label.raw_text == "middle" or label.raw_text == "end" local raw_text_omit_after = label.raw_text == "middle" or label.raw_text == "begin" label.omit_comma = omit_preComma or (label.data and label.data.omit_preComma) or raw_text_omit_before omit_postComma = (label.data and label.data.omit_postComma) or raw_text_omit_after label.omit_space = omit_preSpace or (label.data and label.data.omit_preSpace) or raw_text_omit_before omit_postSpace = (label.data and label.data.omit_postSpace) or raw_text_omit_after end if data.lang then local lang_functions_module = export.lang_specific_data_modules_prefix .. data.lang:getCode() .. "/functions" local m_lang_functions = require(load_module).safe_require(lang_functions_module) if m_lang_functions and m_lang_functions.postprocess_handlers then for _, handler in ipairs(m_lang_functions.postprocess_handlers) do handler(data) end end end local function wrap_css(txt, suffix) if data.raw then return txt end return ("<span class=\"ib-%s label-%s\">%s</span>"):format(suffix, suffix, txt) end local categories = nil local formatted_categories = split_output and split_output ~= "raw" and {} or nil for i, labelinfo in ipairs(labels) do local label -- Need to check for 'not raw_text' here because blank labels may legitimately occur as raw text if a double -- angle bracket spec occurs at the beginning of a label. In this case we've already taken into account the -- context and don't want to leave out a preceding comma and space e.g. in a case like -- {{lb|en|rare|<<dialect>> or <<eye dialect>>}}. FIXME: We should reconsider whether we need this special case -- at all. if labelinfo.label == "" and not labelinfo.raw_text then label = "" else label = (labelinfo.omit_comma and "" or wrap_css(",", "comma")) .. (labelinfo.omit_space and "" or "&#32;") .. labelinfo.label end if split_output then labels[i] = label if split_output == "raw" then if labelinfo.categories and labelinfo.categories[1] then if categories then m_table.extend(categories, labelinfo.categories) else categories = labelinfo.categories end end elseif labelinfo.formatted_categories then insert(formatted_categories, labelinfo.formatted_categories) end else labels[i] = label .. (labelinfo.formatted_categories or "") end end local function wrap_open_close(val) if val then return wrap_css(val, "brac") else return "" end end local concatenated_labels = table.concat(labels, "") if not data.no_ib_content then concatenated_labels = wrap_css(concatenated_labels, "content") end local ret_labels = wrap_open_close(data.open) .. concatenated_labels .. wrap_open_close(data.close) if split_output == "raw" then return ret_labels, categories elseif split_output then return ret_labels, concat(formatted_categories) else return ret_labels end end --[==[ Format one or more labels for display and categorization. This provides the implementation of the {{tl|label}}/{{tl|lb}}, {{tl|term label}}/{{tl|tlb}} and {{tl|accent}}/{{tl|a}} templates, and can also be called from a module. The return value is a string to be inserted into the generated page, including the display and categories. On input `data` is an object with the following fields: * `labels`: List of the labels to format. * `lang`: The language of the labels. * `mode`: How the label was invoked; see {get_label_info()} for more information. * `nocat`: If true, don't add the labels to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for these labels. * `sort`: Sort key for categorization. * `no_track_already_seen`: Don't track already-seen labels. If not specified, already-seen labels are not displayed again, but still categorize. See the documentation of {get_label_info()}. * `open`: Open bracket or parenthesis to display before the concatenated labels. If {nil}, defaults to an open parenthesis. Set to {false} to disable. * `close`: Close bracket or parenthesis to display after the concatenated labels. If {nil}, defaults to a close parenthesis. Set to {false} to disable. * `no_ib_content`: As in `format_processed_labels()`. * `raw`: As in `format_processed_labels()`. Also suppress wrapping the entire formatted result in a usage label CSS class (see below). * `ok_to_destructively_modify`: If set, the `data` structure will be destructively modified in the process of this function running. Compared with {format_processed_labels()}, this function has the following differences: # The labels specified in `labels` are raw labels (i.e. strings) rather than formatted objects. # The open and close brackets default to parentheses ("round brackets") rather than not being displayed by default. # Tracking of already-seen labels is enabled unless explicitly turned off using `no_track_already_seen`. # The entire formatted result is wrapped in a {"usage-label-<var>type</var>"} CSS class (depending on the value of `mode`), unless `raw` is given. ]==] function export.show_labels(data) if not data.labels then error("`data` must now be an object containing the params") end if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.ok_to_destructively_modify = true end local labels = data.labels if not labels[1] then error("You must specify at least one label.") end local mode = validate_mode(data.mode) if not data.no_track_already_seen then data.already_seen = {} end data.labels = export.process_raw_labels(data) if data.open == nil then data.open = "(" end if data.close == nil then data.close = ")" end local formatted = export.format_processed_labels(data) if data.raw then return formatted else return "<span class=\"" .. mode_to_outer_class[mode] .. "\">" .. formatted .. "</span>" end end --[==[Helper function for the data modules.]==] function export.alias(labels, key, aliases) m_table.alias(labels, key, aliases) end --[==[ Split the display form of a label. Returns two values: `link` and `display`. If the display form consists of a two-part link, `link` is the first part and `display` is the second part. If the display form consists of a single-part link, `link` and `display` are the same. Otherwise (the display form is not a link or contains an embedded link), `link` is the same as the passed-in `label` and `display` is nil. ]==] function export.split_display_form(label) if not label:find("%[%[") then return label, nil end local link, display = label:match("^%[%[([^%[%]|]+)|([^%[%]|]+)%]%]$") if link then return link, display end link = label:match("^%[%[([^%[%]|])+%]%]$") if link then return link, link end return label, nil end --[==[ Combine the `link` and `display` parts of the display form of a label as returned by {split_display_form()}. If `display` is nil, `link` is returned directly. Otherwise, a one-part or two-part link is constructed depending on whether `link` and `display` are the same. (As a special case, if both consist of a blank string, the return value is a blank string rather than a malformed link.) ]==] function export.combine_display_form_parts(link, display) if not display then return link end if link == display then if link == "" then return "" else return ("[[%s]]"):format(link) end end return ("[[%s|%s]]"):format(link, display) end --[==[Used to finalize the data into the form that is actually returned.]==] function export.finalize_data(labels) local shallow_copy = m_table.shallowCopy local aliases = {} for label, data in pairs(labels) do if type(data) == "table" then if data.aliases then for _, alias in ipairs(data.aliases) do aliases[alias] = label end data.aliases = nil end if data.deprecated_aliases then local data2 = shallow_copy(data) data2.deprecated = true data2.canonical = label for _, alias in ipairs(data2.deprecated_aliases) do aliases[alias] = data2 end data.deprecated_aliases = nil data2.deprecated_aliases = nil end end end for label, data in pairs(aliases) do labels[label] = data end return labels end return export s3thxonef718idbkwwemy6tndhdprjt 1349866 1349865 2026-04-14T14:03:11Z Swarabakti 18192 Batalkan revisi [[Special:Diff/1349865|1349865]] oleh [[Special:Contributions/Swarabakti|Swarabakti]] ([[User talk:Swarabakti|bicara]]) 1349866 Scribunto text/plain local export = {} export.lang_specific_data_list_module = "Modul:labels/data/lang" export.lang_specific_data_modules_prefix = "Modul:labels/data/lang/" local load_module = "Modul:load" local parse_utilities_module = "Modul:parse utilities" local string_utilities_module = "Modul:string utilities" local utilities_module = "Modul:utilities" local insert = table.insert local require_when_needed = require("Modul:require when needed") local unpack = unpack or table.unpack -- Lua 5.2 compatibility local dump = mw.dumpObject local m_lang = require("Modul:bahasa") local m_lang_specific_data = mw.loadData(export.lang_specific_data_list_module) local m_table = require_when_needed("Modul:table") --[==[ intro: Labels go through several stages of processing to get from the original (raw) label specified in the Wikicode to the final (formatted) label displayed to the user. The following terminology will help keep things straight: * The "raw label" is the label specified in the Wikicode. * The "non-canonical label" is the label extracted from the raw label, used for looking up in the label modules in order to fetch the associated label data structure and determine the canonical form of the label. Normally this is the same as the raw label, but it will be different if the raw label is of the form `!<var>label</var>` (e.g. `!Australian`) `<var>label</var>!<var>display</var>` (e.g. `Southern US!Southern`). The former syntax indicates that the label should display as-is instead of in its canonical form (which in the example given is `Australia`), and the latter syntax indicates that the label should display in the form specified after the exclamation point. * The "canonical label" is the result of applying alias resolution to the non-canonical label. Normally, the canonical label rather than the non-canonical label is what is shown to the user. * The "display form of the label" is what is shown to the user, not considering links and HTML that may wrap the display form to get the formatted form of the label. The display form comes from the `.display` field of the module label data for the label; if no such field exists in the label data, it is normally the canonical label. However, if the display override exists (see below), it takes precedence over the `.display` field or canonical label when determining the display form of the label. * The "display override", if specified, overrides all other means of determining the display form of the label. It is specified in two circumstances, i.e. in the `!<var>label</var>` and `<var>label</var>!<var>display</var>` raw label formats (i.e. in the same cirumstances where the raw label and non-canonical label are different). * The "formatted form of the label" is the final form of the label shown directly to the user. It generally appears to the user as the display form of the label, but in the Wikicode, the formatted form may wrap the display form with a link to Wikipedia, the Wiktionary glossary or another Wiktionary entry, and that link in turn may be wrapped in an HTML span with a "deprecated" CSS class attached, causing the label to display differently (to indicate that it is deprecated). ]==] -- for testing local force_cat = false local SUBPAGENAME = mw.title.getCurrentTitle().subpageText -- Disable tracking on heavy pages to save time. local pages_where_tracking_is_disabled = { -- pages that consistently hit timeouts ["a"] = true, -- pages that sometimes hit timeouts ["de"] = true, ["e"] = true, ["i"] = true, ["o"] = true, ["u"] = true, ["и"] = true, ["山"] = true, ["子"] = true, ["月"] = true, ["一"] = true, ["人"] = true, } -- Add tracking category for PAGE. The tracking category linked to is [[Wiktionary:Tracking/labels/PAGE]]. -- We also add to [[Wiktionary:Tracking/labels/PAGE/LANGCODE]] and [[Wiktionary:Tracking/labels/PAGE/MODE]] if -- LANGCODE and/or MODE given. local function track(page, langcode, mode) if pages_where_tracking_is_disabled[SUBPAGENAME] then return true end -- avoid including links in pages (may cause error) page = page:gsub("%[", "("):gsub("%]", ")"):gsub("|", "!") require("Modul:debug/track")("labels/" .. page) if langcode then require("Modul:debug/track")("labels/" .. page .. "/" .. langcode) end if mode then require("Modul:debug/track")("labels/" .. page .. "/" .. mode) end -- We don't currently add a tracking label for both langcode and mode to reduce the total number of labels, to -- save some memory. return true end local function ucfirst(txt) return mw.getContentLanguage():ucfirst(txt) end local mode_to_outer_class = { ["label"] = "usage-label-sense", ["term-label"] = "usage-label-term", ["accent"] = "usage-label-accent", ["form-of"] = "usage-label-form-of", } local mode_to_property_prefix = { ["label"] = false, ["term-label"] = false, -- handled specially ["accent"] = "accent_", ["form-of"] = "form_of_", } local function validate_mode(mode) mode = mode or "label" if not mode_to_outer_class[mode] then local allowed_values = {} for key, _ in pairs(mode_to_outer_class) do insert(allowed_values, "'" .. key .. "'") end table.sort(allowed_values) error(("Invalid value '%s' for `mode`; should be one of %s"):format(mode, table.concat(allowed_values, ", "))) end return mode end local function getprop(labdata, mode, prop) local mode_prefix = mode_to_property_prefix[mode] return mode_prefix and labdata[mode_prefix .. prop] or labdata[prop] end local function check_type(label, lang, prop, value, expected_types) if value == nil or expected_types == nil then return value end if type(expected_types) ~= "table" then expected_types = {expected_types} end local valtype = type(value) local matches = false for _, expected_type in ipairs(expected_types) do if type(expected_type) == "string" then if valtype == expected_type then matches = true break end elseif value == expected_type then matches = true break end end if not matches then local function join_untagged_or(elements) return m_table.serialCommaJoin(elements, {conj = "or", dontTag = true}) end local quoted_types = {} local quoted_values = {} for _, expected_type in ipairs(expected_types) do if type(expected_type) == "string" then insert(quoted_types, "'" .. expected_type .. "'") else insert(quoted_values, "'" .. dump(expected_type) .. "'") end end local possible_matches = {} if quoted_types[1] then insert(possible_matches, ("be of type%s %s"):format( quoted_types[2] and "s" or "", join_untagged_or(quoted_types))) end if quoted_values[1] then insert(possible_matches, ("have the value%s %s"):format( quoted_values[2] and "s" or "", join_untagged_or(quoted_values))) end error(("Internal error: For label '%s', langcode '%s', property '%s' should %s but is of type '%s' with value %s"):format( label, lang and lang:getCode() or "UNKNOWN", prop, join_untagged_or(possible_matches), valtype, dump(value))) end end -- HACK! For languages in any of the given families, check the specified-language Wikipedia for appropriate -- Wikipedia articles for the language in question (esp. useful for obscure etymology-only languages that may not -- have English articles for them, like many Chinese lects). local families_to_wikipedia_languages = { {"zhx", "zh"}, {"sem-arb", "ar"}, } --[==[ Given language `lang` (a full language, etymology-language or family), fetch a list of Wikimedia languages to check when converting a Wikidata item to a Wikipedia article. English is always first, followed by the Wikimedia language code(s) of `lang` if `lang` is a language (which may or may not be the same as `lang`'s Wiktionary code), followed by the macrolanguage of `lang` for certain languages and families (currently, only languages and families in the Chinese and Arabic families). If `lang` is nil, only return English. Note that the same code may occur more than once in the list. This is exported because it's also used by [[Modul:category tree/poscatboiler/data/language varieties]]. ]==] function export.get_langs_to_extract_wikipedia_articles_from_wikidata(lang) local wikipedia_langs = {} insert(wikipedia_langs, "en") if lang then local article_lang = lang while article_lang do if article_lang:hasType("language") then local wmcodes = article_lang:getWikimediaLanguageCodes() for _, wmcode in ipairs(wmcodes) do insert(wikipedia_langs, wmcode) end end article_lang = article_lang:getParent() end for _, family_to_wp_lang in ipairs(families_to_wikipedia_languages) do local family, wp_lang = unpack(family_to_wp_lang) if lang:inFamily(family) then insert(wikipedia_langs, wp_lang) end end end return wikipedia_langs end --[==[ Fetch the categories to add to a page, given that the label whose canonical form is `canon_label` with language `lang` has been seen. `labdata` is the label data structure for `label`, fetched from the appropriate submodule. `mode` specifies how the label was invoked (see {get_label_info()} for more information). The return value is a list of the actual categories, unless `for_doc` is specified, in which case the categories returned are marked up for display on a documentation page. If `for_doc` is given, `lang` may be nil to format the categories in a language-independent fashion; otherwise, it must be specified. If `category_types` is specified, it should be a set object (i.e. with category types as keys and {true} as values), and only categories of the specified types will be returned. ]==] function export.fetch_categories(canon_label, labdata, lang, mode, for_doc, category_types) local categories = {} mode = validate_mode(mode) local langcode, canonical_name if lang then langcode = m_lang.getLangCodeByCode(lang:getCode()) canonical_name = m_lang.getLangNameByCode(lang:getCode()) elseif for_doc then langcode = "<var>[langcode]</var>" canonical_name = "<var>[language name]</var>" else error("Internal error: Must specify `lang` unless `for_doc` is given") end local function labprop(prop, expected_types) local retval = getprop(labdata, mode, prop) check_type(canon_label, lang, prop, retval, expected_types) return retval end local empty_list = {} local function get_cats(cat_type) if category_types and not category_types[cat_type] then return empty_list end local cats = labprop(cat_type) if not cats then return empty_list end if type(cats) ~= "table" then return {cats} end return cats end local topical_categories = get_cats("topical_categories") local sense_categories = get_cats("sense_categories") local pos_categories = get_cats("pos_categories") local regional_categories = get_cats("regional_categories") local plain_categories = get_cats("plain_categories") local function insert_cat(cat, sense_cat) if for_doc then cat = "<code>" .. cat .. "</code>" if sense_cat then if mode == "term-label" then cat = cat .. " (using {{tl|tlb}})" else cat = cat .. " (using {{tl|lb}} or form-of template)" end cat = mw.getCurrentFrame():preprocess(cat) end end insert(categories, cat) end for _, cat in ipairs(topical_categories) do insert_cat(langcode .. ":Istilah bidang " .. (cat == true and canon_label or cat)) end for _, cat in ipairs(sense_categories) do if cat == true then cat = canon_label end cat = mode == "term-label" and "Istilah " .. cat or "Istilah " .. cat insert_cat(langcode .. ":" .. cat, true) end for _, cat in ipairs(pos_categories) do insert_cat(langcode .. ":" .. (cat == true and canon_label or cat)) end for _, cat in ipairs(regional_categories) do insert_cat(canonical_name .. " " .. (cat == true and ucfirst(canon_label) or cat)) end for _, cat in ipairs(plain_categories) do insert_cat(cat == true and ucfirst(canon_label) or cat) end return categories end --[==[ Return the list of all labels data modules for a label whose language is `lang`. The return value is a list of module names, with overriding modules earlier in the list (that is, if a label occurs in two modules in the list, the earlier-listed module takes precedence). If `lang` is nil, only return non-language-specific submodules. ]==] function export.get_submodules(lang) local submodules = { "Modul:labels/data", "Modul:labels/data/qualifiers", "Modul:labels/data/regional", "Modul:labels/data/topical", } if not lang then return submodules end -- get language-specific labels from data module local langcode = lang:getFullCode() if m_lang_specific_data.langs_with_lang_specific_modules[langcode] then -- prefer per-language label in order to pick subvariety labels over regional ones insert(submodules, 1, export.lang_specific_data_modules_prefix .. langcode) end return submodules end --[==[ Return the formatted form of a label `label` (which should be the canonical form of the label; see comment at top), given (a) the label data structure `labdata` from one of the data modules; (b) the language object `lang` of the language being processed, or nil for no language; (c) `deprecated` (true if the label is deprecated, otherwise the deprecation information is taken from `labdata`); (d) `override_display` (if specified, override the display form of the label with the specified string, instead of any value in `labdata.display` or `labdata.special_display` or the canonical label in `label` itself); (e) `mode` (same as `data.mode` passed to {get_label_info()}). Returns two values: the formatted label form and a boolean indicating whether the label is deprecated. '''NOTE: Under normal circumstances, do not use this.''' Instead, use {get_label_info()}, which searches all the data modules for a given label and handles other complications. ]==] function export.format_label(label, labdata, lang, deprecated, override_display, mode) local formatted_label mode = validate_mode(mode) local function labprop(prop, expected_types) local retval = getprop(labdata, mode, prop) check_type(label, lang, prop, retval, expected_types) return retval end deprecated = deprecated or labprop("deprecated") if not override_display and labprop("special_display") then local function add_language_name(str) if str == "canonical_name" then if lang then return lang:getFullName() else return "<code><var>[language name]</var></code>" end else return "" end end formatted_label = labprop("special_display", "string"):gsub("<(.-)>", add_language_name) else --[=[ We proceed as follows: 1. The display form comes from either (a) the `override_display` variable if set (this happens when the user uses a label like '!British'); (b) the `display` property, if set; or (c) the label iself. 2. If the display form contains a link, use it directly and ignore the other display-related settings. (NOTE: Settings `Wikipedia` and `Wikidata` may still be used on the category page itself, by the category tree code.) 3. Otherwise, use one of the other display-related settings, in the following order: `glossary` > `Wiktionary` > `Wikipedia` > `Wikidata`. Specifically: a. If any of the values is equal to `true`, that is equivalent to specifying a string consisting of the canonical label. b. If `glossary` is set, it specifies the anchor in [[Appendix:Glossary]]. c. If `Wiktionary` is set, it specifies an arbitrary Wiktionary page or page + anchor (e.g. a separate Appendix entry). d. If `Wikipedia` is set, it specifies an arbitrary Wikipedia article, or a list of such items (in this case, we select the first one, but the category tree uses all of them). e. If `Wikidata` is set, it specifies an arbitrary Wikidata item to retrieve a Wikipedia article from, or a list of such items (in this case, we select the first one, but the category tree uses all of them). If the item is of the form `wmcode:id`, the Wikipedia article corresponding to `id` in the `wmcode`-language Wikipedia is fetched if available. Otherwise, the English-language Wikipedia article corresponding to `id` is retrieved if available, falling back to the Wikimedia language(s) corresponding to `lang` and then (in certain cases) to the macrolanguage that `lang` is part of. Note that if `mode` is specified, prefixed properties (e.g. `accent_display` for `mode` == "accent", `form_display` for `mode` == "form") are checked before the bare equivalent (e.g. `display`). ]=] local display = override_display or labprop("display", "string") or label -- There are several 'Foo spelling' labels specially designed for use in the |from= param in -- {{alternative form of}}, {{standard spelling of}} and the like. Often the display includes the word -- "spelling" at the end (e.g. if it's defaulted), which is useful when the label is used with {{tl|lb}} or -- {{tl|tlb}}; but it causes redundancy when used with the form-of templates, which add the word "form", -- "spelling", "standard spelling", etc. after the label. if mode == "form-of" then display = display:gsub(" spelling$", "") end if display:find("%[%[") then formatted_label = display else local glossary = labprop("glossary", {"string", true}) local Wiktionary = labprop("Wiktionary", {"string", true}) local Wikipedia = labprop("Wikipedia", {"string", true, "table"}) local Wikidata = labprop("Wikidata", {"string", true, "table"}) if glossary then local glossary_entry = glossary == true and label or glossary formatted_label = "[[Lampiran:Glosarium#" .. glossary_entry .. "|" .. display .. "]]" elseif Wiktionary then local Wiktionary_entry = Wiktionary == true and label or Wiktionary if Wiktionary == display then formatted_label = "[[" .. display .. "]]" else formatted_label = "[[" .. Wiktionary_entry .. "|" .. display .. "]]" end elseif Wikipedia then if type(Wikipedia) == "table" then Wikipedia = Wikipedia[1] end local Wikipedia_entry = Wikipedia == true and label or Wikipedia formatted_label = "[[w:" .. Wikipedia_entry .. "|" .. display .. "]]" elseif Wikidata then if not mw.wikibase then error(("Unable to retrieve data from Wikidata ID for label '%s'; `mw.wikibase` not defined" ):format(label)) end local function make_formatted_label(wmcode, id) local article = mw.wikibase.sitelink(id, wmcode .. "wiki") if article then local link = wmcode == "en" and "w:" .. article or "w:" .. wmcode .. ":" .. article return ("[[%s|%s]]"):format(link, display) else return nil end end if type(Wikidata) == "table" then Wikidata = Wikidata[1] end local wmcode, id = Wikidata:match("^(.*):(.*)$") if wmcode then formatted_label = make_formatted_label(wmcode, id) else local langs_to_check = export.get_langs_to_extract_wikipedia_articles_from_wikidata(lang) for _, wmcode in ipairs(langs_to_check) do formatted_label = make_formatted_label(wmcode, Wikidata) if formatted_label then break end end end formatted_label = formatted_label or display else formatted_label = display end end end if deprecated then formatted_label = '<span class="deprecated-label">' .. formatted_label .. '</span>' end return formatted_label, deprecated end --[==[ Return information on a label. On input `data` is an object with the following fields: * `label`: The raw label to return information on. * `lang`: The language of the label. Must be specified unless `for_doc` is given. * `mode`: How the label was invoked. One of the following: ** {nil} or {"label"}: invoked through {{tl|lb}} or another template whose labels in the same fashion, e.g. {{tl|alt}}, {{tl|quote}} or {{tl|syn}}; ** {"term-label"}: invoked through {{tl|tlb}}; ** {"accent"}: invoked through {{tl|a}} or the {{para|a}} or {{para|aa}} parameters of other pronunciation templates, such as {{tl|IPA}}, {{tl|rhymes}} or {{tl|homophones}}; ** {"form-of"}: invoked through {{tl|alt form}}, {{tl|standard spelling of}} or other form-of template. This changes the display and/or categorization of a minority of labels. (The majority work the same for all modes.) * `for_doc`: Data is being fetched for documentation purposes. This causes the raw categories returned in `categories` to be formatted for documentation display. * `nocat`: If true, don't add the label to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for this label. * `sort`: Sort key for categorization. * `already_seen`: An object used to track labels already seen, so they aren't displayed twice. Tracking is according to the display form of the label, so if two labels have the same display form, the second one won't be displayed (but its categories will still be added). If `already_seen` is {nil}, this tracking doesn't happen. The return value is an object with the following fields: * `raw_text`: If specified, the object does not describe a label but simply raw text surrounding labels. This occurs when double angle bracket (<<...>>) notation is used. {get_label_info()} does not currently return objects with this field set, but {process_raw_labels()} does. The value is {"begin"} (this is the first raw text portion derived from a double angle bracket spec, provided there are at least two raw text portions); {"end"} (this is the last raw text portion derived from a double angle bracket spec, provided there are at least two portions); {"middle"} (this is neither the first nor the last raw text portion); or {"only"} (this is a raw text portion standing by itself). The particular value determines the handling of commas and spaces on one or both sides of the raw text. If this field is specified, only the `label` field (containing the actual raw text) and the `category` field (containing an empty list) are set; all other fields are {nil}. * `raw_label`: The raw label that was passed in. * `non_canonical`: The label prior to canonicalization (i.e. alias resolution). Usually this is the same as `raw_label`, but if the raw label was preceded by an exclamation point (meaning "display the raw label as-is"), this field will contain the label stripped of the exclamation point, and if the raw label is of the form `<var>label</var>!<var>display</var>` (meaning "display the label in the specified form"), this field will contain the label before the exclamation point. * `canonical`: If the label in `non_canonical` is an alias, this contains the canonical name of the label; otherwise it will be {nil}. * `override_display`: If specified, this contains a string that overrides the normal display form of the label. The display form of a label is the `.display` field of the label data if present, and otherwise is normally the canonical form of the label (i.e. after alias resolution). (This is not the same as the formatted form of the label, found in `label`, which is the final form shown to the user and includes links to Wikipedia, the glossary, etc. as well as an HTML wrapper if the label is deprecated.) If `override_display` is specified, however, this is used in place of the normal display form of the label. This currently happens in two circumstances: (1) the label was preceded by ! to indicate that the raw label should be displayed rather than the canonical form; (2) the label was given in the form `<var>label</var>!<var>display</var>` (meaning "display the label in the specified `<var>display</var>` form"). * `label`: The formatted form of the label. This is what is actually shown to the user. If the label is recognized (found in some module), this will typically be in the form of a link. * `categories`: A list of the categories to add the label to; an empty list if `nocat` was specified. * `formatted_categories`: A string containing the formatted categories; {nil} if `nocat` or `for_doc` was specified, or if `categories` is empty. Currently will be an empty string if there are categories to format but the namespace is one that normally excludes categories (e.g. userspace and discussion pages), and `force_cat` isn't specified. * `deprecated`: True if the label is deprecated. * `recognized`: If true, the label was found in some module. * `data`: The data structure for the label, as fetched from the label modules. For unrecognized labels, this will be an empty object. ]==] function export.get_label_info(data) if not data.label then error("`data` must now be an object containing the params") end local mode = validate_mode(data.mode) local ret = {categories = {}} local label = data.label local raw_label = label ret.raw_label = raw_label local override_display if label:find("^!") then label = label:gsub("^!", "") override_display = label elseif label:find("![^%s]") then label, override_display = label:match("^(.-)!([^%s].*)$") if not label then error(("Internal error: This Lua pattern should never fail to match for label '%s'"):format(raw_label)) end end local non_canonical = label ret.non_canonical = non_canonical local deprecated = false local labdata local submodule local data_langcode = data.lang and data.lang:getCode() or nil local submodules_to_check = export.get_submodules(data.lang) for _, submodule_to_check in ipairs(submodules_to_check) do submodule = mw.loadData(submodule_to_check) local this_labdata = submodule[label] local resolved_label if type(this_labdata) == "string" then resolved_label = this_labdata this_labdata = submodule[this_labdata] if not this_labdata then error(("Internal error: Label alias '%s' points to '%s', which is undefined in module [[%s]]"):format( label, resolved_label, submodule_to_check)) end if type(this_labdata) == "string" then error(("Internal error: Label alias '%s' points to '%s', which is also an alias (of '%s') in module [[%s]]"):format( label, resolved_label, this_labdata, submodule_to_check)) end end if this_labdata then -- Make sure either there's no lang restriction, or we're processing lang-independent, or our language -- is among the listed languages. Otherwise, continue processing (which could conceivably pick up a -- lang-appropriate version of the label in another label data module). local lablangs = getprop(this_labdata, mode, "langs") if not lablangs or not data_langcode then labdata = this_labdata label = resolved_label or label break end local lang_in_list = false for _, langcode in ipairs(lablangs) do if langcode == data_langcode then lang_in_list = true break end end if lang_in_list then labdata = this_labdata label = resolved_label or label break elseif not data.notrack then -- Track use of a label that fails the lang restriction. -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label/LANGCODE]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label/LABEL]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/wrong-lang-label/LABEL/LANGCODE]] track("wrong-lang-label", data_langcode) track("wrong-lang-label/" .. label, data_langcode) if resolved_label then track("wrong-lang-label/" .. resolved_label, data_langcode) end end end end if labdata then ret.recognized = true else labdata = {} ret.recognized = false end local function labprop(prop) return getprop(labdata, mode, prop) end if labprop("deprecated") then deprecated = true end if label ~= non_canonical then -- Note that this is an alias and store the canonical version. ret.canonical = label end if not data.notrack then -- labprop("track") then -- track all labels now -- Track label (after converting aliases to canonical form; but also track raw label (alias) if different -- from canonical label). -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/label/LABEL]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/label/LABEL/LANGCODE]] -- [[Special:WhatLinksHere/Wiktionary:Tracking/labels/label/LABEL/MODE]] track("label/" .. label, data_langcode, mode) if label ~= non_canonical then track("label/" .. non_canonical, data_langcode, mode) end end local formatted_label formatted_label, deprecated = export.format_label(label, labdata, data.lang, deprecated, override_display, mode) ret.deprecated = deprecated if deprecated then if not data.nocat then local depcat = "Entries with deprecated labels" if data.for_doc then depcat = "<code>" .. depcat .. "</code>" end insert(ret.categories, depcat) end end local label_for_already_seen = (labprop("topical_categories") or labprop("regional_categories") or labprop("plain_categories") or labprop("pos_categories") or labprop("sense_categories")) and formatted_label or nil -- Track label text. If label text was previously used, don't show it, but include the categories. -- For an example, see [[hypocretin]]. if data.already_seen and data.already_seen[label_for_already_seen] then ret.label = "" else if formatted_label:find("{") then formatted_label = mw.getCurrentFrame():preprocess(formatted_label) end ret.label = formatted_label end if data.nocat then -- do nothing else local cats = export.fetch_categories(label, labdata, data.lang, mode, data.for_doc) for _, cat in ipairs(cats) do insert(ret.categories, cat) end if not ret.categories[1] or data.for_doc then -- Don't try to format categories if we're doing this for documentation ({{label/doc}}), because there -- will be HTML in the categories. -- do nothing else ret.formatted_categories = require(utilities_module).format_categories(ret.categories, data.lang, data.sort, nil, force_cat or data.force_cat) end end ret.data = labdata if label_for_already_seen and data.already_seen then data.already_seen[label_for_already_seen] = true end return ret end --[==[ Split a string containing comma-separated raw labels into the individual labels. This will not split on a comma followed by whitespace, and it will not split inside of matched <...> or [...]. The code is written to be efficient, so that it does not load modules (e.g. [[Modul:parse utilities]]) unnecessarily. ]==] function export.split_labels_on_comma(term) if term:find("[%[<]") then -- Do it the "hard way". We don't want to split anything inside of <...> or <<...>> even if there are commas -- inside of the angle brackets. For good measure we do the same for [...] and [[...]]. We first parse balanced -- segment runs involving either [...] or <...>. Then we split alternating runs on comma (but not on -- comma+whitespace). Then we rejoin the split runs. For example, given the following: -- "regional,older <<non-rhotic,and,non-hoarse-horse>> speakers", the first call to -- parse_multi_delimiter_balanced_segment_run() produces -- -- {"regional,older ", "<<non-rhotic,and,non-hoarse-horse>>", " speakers"} -- -- After calling split_alternating_runs_on_comma(), we get the following: -- -- {{"regional"}, {"older ", "<<non-rhotic,and,non-hoarse-horse>>", " speakers"}} -- -- After rejoining each group, we get: -- -- {"regional", "older <<non-rhotic,and,non-hoarse-horse>> speakers"} -- -- which is the desired output. When processing the second "label" string, the code in process_raw_labels() -- will do a similar process to this to pull out the labels inside of the <<...>> notation. local put = require(parse_utilities_module) local segments = put.parse_multi_delimiter_balanced_segment_run(term, {{"<", ">"}, {"[", "]"}}) -- This won't split on comma+whitespace. local comma_separated_groups = put.split_alternating_runs_on_comma(segments) for i, group in ipairs(comma_separated_groups) do comma_separated_groups[i] = table.concat(group) end return comma_separated_groups elseif term:find(",%s") then -- This won't split on comma+whitespace. return require(parse_utilities_module).split_on_comma(term) elseif term:find(",") then return require(string_utilities_module).split(term, ",") else return {term} end end --[==[ Return a list of objects corresponding to a set of raw labels. Each object returned is of the format returned by {get_label_info()}. This is similar to looping over the labels and calling {get_label_info()} on each one, but it also correctly handles embedded double angle bracket specs <<...>> found in the labels. (In such a case, there will be more objects returned than raw labels passed in.) On input, `data` is an object with the following fields: * `labels`: The list of labels to process. * `lang`: The language of the labels. Must be specified. * `mode`: How the label was invoked; see {get_label_info()} for more information. * `nocat`: If true, don't add the label to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for this label. * `sort`: Sort key for categorization. * `already_seen`: An object used to track labels already seen, so they aren't displayed twice. Tracking is according to the display form of the label, so if two labels have the same display form, the second one won't be displayed (but its categories will still be added). If `already_seen` is {nil}, this tracking doesn't happen. * `ok_to_destructively_modify`: If set, the `data` structure will be destructively modified in the process of this function running. ]==] function export.process_raw_labels(data) local label_infos = {} if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.ok_to_destructively_modify = true end local function get_info_and_insert(label) -- Reuse this structure to save memory. data.label = label insert(label_infos, export.get_label_info(data)) end for _, label in ipairs(data.labels) do if label:find("<<") then local segments = require(string_utilities_module).split(label, "<<(.-)>>") for i, segment in ipairs(segments) do if i % 2 == 1 then local raw_text_type = i == 1 and "begin" or i == #segments and "end" or "middle" insert(label_infos, {raw_text = raw_text_type, label = segment, categories = {}}) else local segment_labels = export.split_labels_on_comma(segment) for _, segment_label in ipairs(segment_labels) do get_info_and_insert(segment_label) end end end else get_info_and_insert(label) end end return label_infos end --[==[ Split a comma-separated string of raw labels and process each label to get a list of objects suitable for passing to {format_processed_labels()}. Each object returned is of the format returned by {get_label_info()}. This is equivalent to calling {split_labels_on_comma()} followed by {process_raw_labels()}. On input, `data` is an object with the following fields: * `labels`: The string containing the raw comma-separated labels. * `lang`: The language of the labels. Must be specified. * `mode`: How the label was invoked; see {get_label_info()} for more information. * `nocat`: If true, don't add the label to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for this label. * `sort`: Sort key for categorization. * `already_seen`: An object used to track labels already seen, so they aren't displayed twice. Tracking is according to the display form of the label, so if two labels have the same display form, the second one won't be displayed (but its categories will still be added). If `already_seen` is {nil}, this tracking doesn't happen. * `ok_to_destructively_modify`: If set, the `data` structure will be destructively modified in the process of this function running. ]==] function export.split_and_process_raw_labels(data) if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.ok_to_destructively_modify = true end data.labels = export.split_labels_on_comma(data.labels) return export.process_raw_labels(data) end --[==[ Format one or more already-processed labels for display and categorization. "Already-processed" means that {get_label_info()} or {process_raw_labels()} has been called on the raw labels to convert them into objects containing information on how to display and categorize the labels. This is a lower-level alternative to {show_labels()} and is meant for modules such as [[Modul:alternative forms]], [[Modul:quote]] and [[Modul:etymology/templates/descendant]] that support displaying labels along with some other information. On input `data` is an object with the following fields: * `labels`: List of the label objects to format, in the format returned by {get_label_info()}. * `lang`: The language of the labels. * `open`: Open bracket or parenthesis to display before the concatenated labels. If specified, it is wrapped in the {"ib-brac"} and {"label-brac"} CSS classes. If {nil} or {false}, no open bracket is displayed. * `close`: Close bracket or parenthesis to display after the concatenated labels. If specified, it is wrapped in the {"ib-brac"} and {"label-brac"} CSS classes. If {nil} or {false}, no close bracket is displayed. * `no_ib_content`: By default, the concatenated formatted labels inside of the open/close brackets are wrapped in the {"ib-content"} and {"label-content"} CSS classes. Specify this to suppress this wrapping. * `raw`: Suppress all CSS wrapping of content, including open/close parentheses, content and comma delimiters (which are normally wrapped in {"ib-comma"} and {"label-comma"} CSS classes). * `ok_to_destructively_modify`: If set, the `data` structure, and the `data.labels` table inside of it, will be destructively modified in the process of this function running. * `split_output`: If not given, the return value is a concatenation of the formatted concatenated labels and formatted categories. Otherwise, two values are returned: the formatted pronunciation and the categories. If `split_output` is the value {"raw"}, the categories are returned in list form, where the list elements are strings f the form suitable for passing to {format_categories()} in [[Modul:utilities]]. If `split_output` is any other value besides {nil}, the categories are returned as a pre-formatted concatenated string. The return value (or the first return value, if `split_output` is given) is a string containing the contenated labels, optionally surrounded by open/close brackets or parentheses. Normally, labels are separated by comma-space sequences, but this may be suppressed for certain labels. If `nocat` wasn't given to {get_label_info()} or {process_raw_labels()}, and `split_output` wasn't given, the label objects will contain formatted categories in them, which will be inserted into the returned text. (Use `split_output` if you need the categories returned separately.) The concatenated text inside of the open/close brackets is normally wrapped in the {"ib-content"} CSS class, but this can be suppressed, as mentioned above. ]==] function export.format_processed_labels(data) if not data.labels then error("`data` must now be an object containing the params") end if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.labels = m_table.deepCopy(data.labels) data.ok_to_destructively_modify = true end local labels = data.labels if not labels[1] then error("You must specify at least one label.") end -- Show the labels local omit_preComma = false local omit_postComma = true local omit_preSpace = false local omit_postSpace = true for _, label in ipairs(labels) do omit_preComma = omit_postComma omit_preSpace = omit_postSpace local raw_text_omit_before = label.raw_text == "middle" or label.raw_text == "end" local raw_text_omit_after = label.raw_text == "middle" or label.raw_text == "begin" label.omit_comma = omit_preComma or (label.data and label.data.omit_preComma) or raw_text_omit_before omit_postComma = (label.data and label.data.omit_postComma) or raw_text_omit_after label.omit_space = omit_preSpace or (label.data and label.data.omit_preSpace) or raw_text_omit_before omit_postSpace = (label.data and label.data.omit_postSpace) or raw_text_omit_after end if data.lang then local lang_functions_module = export.lang_specific_data_modules_prefix .. data.lang:getCode() .. "/functions" local m_lang_functions = require(load_module).safe_require(lang_functions_module) if m_lang_functions and m_lang_functions.postprocess_handlers then for _, handler in ipairs(m_lang_functions.postprocess_handlers) do handler(data) end end end local function wrap_css(txt, suffix) if data.raw then return txt end return ("<span class=\"ib-%s label-%s\">%s</span>"):format(suffix, suffix, txt) end local categories = nil local formatted_categories = split_output and split_output ~= "raw" and {} or nil for i, labelinfo in ipairs(labels) do local label -- Need to check for 'not raw_text' here because blank labels may legitimately occur as raw text if a double -- angle bracket spec occurs at the beginning of a label. In this case we've already taken into account the -- context and don't want to leave out a preceding comma and space e.g. in a case like -- {{lb|en|rare|<<dialect>> or <<eye dialect>>}}. FIXME: We should reconsider whether we need this special case -- at all. if labelinfo.label == "" and not labelinfo.raw_text then label = "" else label = (labelinfo.omit_comma and "" or wrap_css(",", "comma")) .. (labelinfo.omit_space and "" or "&#32;") .. labelinfo.label end if split_output then labels[i] = label if split_output == "raw" then if labelinfo.categories and labelinfo.categories[1] then if categories then m_table.extend(categories, labelinfo.categories) else categories = labelinfo.categories end end elseif labelinfo.formatted_categories then insert(formatted_categories, labelinfo.formatted_categories) end else labels[i] = label .. (labelinfo.formatted_categories or "") end end local function wrap_open_close(val) if val then return wrap_css(val, "brac") else return "" end end local concatenated_labels = table.concat(labels, "") if not data.no_ib_content then concatenated_labels = wrap_css(concatenated_labels, "content") end local ret_labels = wrap_open_close(data.open) .. concatenated_labels .. wrap_open_close(data.close) if split_output == "raw" then return ret_labels, categories elseif split_output then return ret_labels, concat(formatted_categories) else return ret_labels end end --[==[ Format one or more labels for display and categorization. This provides the implementation of the {{tl|label}}/{{tl|lb}}, {{tl|term label}}/{{tl|tlb}} and {{tl|accent}}/{{tl|a}} templates, and can also be called from a module. The return value is a string to be inserted into the generated page, including the display and categories. On input `data` is an object with the following fields: * `labels`: List of the labels to format. * `lang`: The language of the labels. * `mode`: How the label was invoked; see {get_label_info()} for more information. * `nocat`: If true, don't add the labels to any categories. * `force_cat`: Force adding categories even in namespaces that normally exclude them (e.g. userspace and discussion pages). * `notrack`: Disable all tracking for these labels. * `sort`: Sort key for categorization. * `no_track_already_seen`: Don't track already-seen labels. If not specified, already-seen labels are not displayed again, but still categorize. See the documentation of {get_label_info()}. * `open`: Open bracket or parenthesis to display before the concatenated labels. If {nil}, defaults to an open parenthesis. Set to {false} to disable. * `close`: Close bracket or parenthesis to display after the concatenated labels. If {nil}, defaults to a close parenthesis. Set to {false} to disable. * `no_ib_content`: As in `format_processed_labels()`. * `raw`: As in `format_processed_labels()`. Also suppress wrapping the entire formatted result in a usage label CSS class (see below). * `ok_to_destructively_modify`: If set, the `data` structure will be destructively modified in the process of this function running. Compared with {format_processed_labels()}, this function has the following differences: # The labels specified in `labels` are raw labels (i.e. strings) rather than formatted objects. # The open and close brackets default to parentheses ("round brackets") rather than not being displayed by default. # Tracking of already-seen labels is enabled unless explicitly turned off using `no_track_already_seen`. # The entire formatted result is wrapped in a {"usage-label-<var>type</var>"} CSS class (depending on the value of `mode`), unless `raw` is given. ]==] function export.show_labels(data) if not data.labels then error("`data` must now be an object containing the params") end if not data.ok_to_destructively_modify then data = m_table.shallowCopy(data) data.ok_to_destructively_modify = true end local labels = data.labels if not labels[1] then error("You must specify at least one label.") end local mode = validate_mode(data.mode) if not data.no_track_already_seen then data.already_seen = {} end data.labels = export.process_raw_labels(data) if data.open == nil then data.open = "(" end if data.close == nil then data.close = ")" end local formatted = export.format_processed_labels(data) if data.raw then return formatted else return "<span class=\"" .. mode_to_outer_class[mode] .. "\">" .. formatted .. "</span>" end end --[==[Helper function for the data modules.]==] function export.alias(labels, key, aliases) m_table.alias(labels, key, aliases) end --[==[ Split the display form of a label. Returns two values: `link` and `display`. If the display form consists of a two-part link, `link` is the first part and `display` is the second part. If the display form consists of a single-part link, `link` and `display` are the same. Otherwise (the display form is not a link or contains an embedded link), `link` is the same as the passed-in `label` and `display` is nil. ]==] function export.split_display_form(label) if not label:find("%[%[") then return label, nil end local link, display = label:match("^%[%[([^%[%]|]+)|([^%[%]|]+)%]%]$") if link then return link, display end link = label:match("^%[%[([^%[%]|])+%]%]$") if link then return link, link end return label, nil end --[==[ Combine the `link` and `display` parts of the display form of a label as returned by {split_display_form()}. If `display` is nil, `link` is returned directly. Otherwise, a one-part or two-part link is constructed depending on whether `link` and `display` are the same. (As a special case, if both consist of a blank string, the return value is a blank string rather than a malformed link.) ]==] function export.combine_display_form_parts(link, display) if not display then return link end if link == display then if link == "" then return "" else return ("[[%s]]"):format(link) end end return ("[[%s|%s]]"):format(link, display) end --[==[Used to finalize the data into the form that is actually returned.]==] function export.finalize_data(labels) local shallow_copy = m_table.shallowCopy local aliases = {} for label, data in pairs(labels) do if type(data) == "table" then if data.aliases then for _, alias in ipairs(data.aliases) do aliases[alias] = label end data.aliases = nil end if data.deprecated_aliases then local data2 = shallow_copy(data) data2.deprecated = true data2.canonical = label for _, alias in ipairs(data2.deprecated_aliases) do aliases[alias] = data2 end data.deprecated_aliases = nil data2.deprecated_aliases = nil end end end for label, data in pairs(aliases) do labels[label] = data end return labels end return export 6jutvpno8pvi5l9ogfblrn5kldpqaqr alpukat 0 219750 1349899 1279315 2026-04-15T06:36:04Z Alfiyah Rizzy Afdiquni 40651 1349899 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{-n-|id}} # buah alpukat #* {{RQ:Mustikarasa |page=1144 |text=Kalau adonan ini sudah dingin baru dimasukkan '''adpokat''' lalu diputar didalam putaran es sampai keras. |norm=Kalau adonan ini sudah dingin baru dimasukkan '''alpukat''' lalu diputar didalam putaran es sampai keras. |url=https://id.wikisource.org/wiki/Halaman:Mustikarasa.pdf/1152#:~:text=Kalau%20adonan%20ini%20sudah%20dingin%20baru%20dimasukkan%20adpokat%20lalu%20diputar%20didalam%20putaran%20es%20sampai%20keras. }} {{suara|id|LL-Q9240 (ind)-Dvnfit-alpukat.wav}} '''alpokat''' # {{ragam dari|id|avokad}} ojg3ep27kh1o1lthuot09zwdcduvw7q tempat wisata 0 232919 1349888 1271465 2026-04-14T15:59:14Z InternetArchiveBot 28800 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 1349888 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{-n-|id}} #Pengertian tempat wisata adalah sebuah tempat yang digunakan untuk melakukan kegiatan wisata. Tempat wisata dapat berupa tempat wisata dapat berupa tempat wisata alam dan bangunan. Tempat wisata alam dapat berupa pantai, gunung, dan lain-lain, sedangkan tempat wisata bangunan dapat berupa peninggalan sejarah, museum, dan lain-lain. Sedangkan menurut pemerintah, tempat wisata adalah tempat-tempat yang mempunyai nilai budaya. {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} [https://web.archive.org/web/20220819133409/https://tempatwisata.id/ tempatwisata.id] c8w4uoqvn38ut7vxwqg1qojs6xbuzeu Wikikamus:Warung Kopi/Pesan global/2019 4 243300 1349808 1006576 2026-04-14T12:00:58Z CommonsDelinker 398 Replacing Logo_for_the_beta_feature_FileExporter.svg with [[File:Logo_for_FileExporter.svg]] (by [[:c:User:CommonsDelinker|CommonsDelinker]] because: [[:c:COM:FR|File renamed]]: [[:c:COM:FR#FR3|Criterion 3]] (obvious error) · Has been a default feature si 1349808 wikitext text/x-wiki == FileExporter beta feature == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> [[File:Logo for FileExporter.svg|thumb|Coming soon: the beta feature [[m:WMDE_Technical_Wishes/Move_files_to_Commons|FileExporter]]]] A new beta feature will soon be released on all wikis: The [[m:WMDE_Technical_Wishes/Move_files_to_Commons|FileExporter]]. It allows exports of files from a local wiki to Wikimedia Commons, including their file history and page history. Which files can be exported is defined by each wiki's community: '''Please check your wiki's [[m:WMDE_Technical_Wishes/Move_files_to_Commons/Configuration file documentation|configuration file]]''' if you want to use this feature. The FileExporter has already been a beta feature on [https://www.mediawiki.org mediawiki.org], [https://meta.wikimedia.org meta.wikimedia], deWP, faWP, arWP, koWP and on [https://wikisource.org wikisource.org]. After some functionality was added, it's now becoming a beta feature on all wikis. Deployment is planned for January 16. More information can be found [[m:WMDE_Technical_Wishes/Move_files_to_Commons|on the project page]]. As always, feedback is highly appreciated. If you want to test the FileExporter, please activate it in your [[Special:Preferences#mw-prefsection-betafeatures|user preferences]]. The best place for feedback is the [[mw:Help_talk:Extension:FileImporter|central talk page]]. Thank you from Wikimedia Deutschland's [[m:WMDE Technical Wishes|Technical Wishes project]]. </div> [[User:Johanna Strodt (WMDE)|Johanna Strodt (WMDE)]] 14 Januari 2019 09.41 (UTC) <!-- Pesan dikirim oleh Pengguna:Johanna Strodt (WMDE)@metawiki dengan menggunakan daftar di https://meta.wikimedia.org/w/index.php?title=WMDE_Technical_Wishes/Technical_Wishes_News_list_all_village_pumps&oldid=18782700 --> == No editing for 30 minutes on 17 January == <div lang="en" dir="ltr" class="mw-content-ltr">You will '''not be able to edit''' the wikis for up to 30 minutes on '''[https://www.timeanddate.com/worldclock/fixedtime.html?iso=20190117T07 17 January 07:00 UTC]'''. This is because of a database problem that has to be fixed immediately. You can still read the wikis. Some wikis are not affected. They don't get this message. You can see which wikis are '''not''' affected [[:m:User:Johan (WMF)/201901ReadOnlyPage|on this page]]. Most wikis are affected. The time you can not edit might be shorter than 30 minutes. /[[User:Johan (WMF)|Johan (WMF)]]</div> [[Pengguna:MediaWiki message delivery|MediaWiki message delivery]] ([[Pembicaraan Pengguna:MediaWiki message delivery|bicara]]) 16 Januari 2019 18.44 (UTC) <!-- Pesan dikirim oleh Pengguna:Johan (WMF)@metawiki dengan menggunakan daftar di https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/201901ReadOnly/Targets3&oldid=18789231 --> == Talk to us about talking == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> [[File:OOjs_UI_icon_speechBubbles-rtl.svg|alt="icon depicting two speech Bubbles"|frameless|right|120px]] The Wikimedia Foundation is planning a [[mw:Talk pages consultation 2019|global consultation about communication]]. The goal is to bring Wikimedians and wiki-minded people together to improve tools for communication. We want all contributors to be able to talk to each other on the wikis, whatever their experience, their skills or their devices. We are looking for input from as many different parts of the Wikimedia community as possible. It will come from multiple projects, in multiple languages, and with multiple perspectives. We are currently planning the consultation. We need your help. '''We need volunteers to help talk to their communities or user groups.''' You can help by hosting a discussion at your wiki. Here's what to do: # First, [[mw:Talk pages consultation 2019/Participant group sign-up|sign up your group here.]] # Next, create a page (or a section on a Village pump, or an e-mail thread – whatever is natural for your group) to collect information from other people in your group. This is not a vote or decision-making discussion: we are just collecting feedback. # Then ask people what they think about communication processes. We want to hear stories and other information about how people communicate with each other on and off wiki. Please consider asking these five questions: ## When you want to discuss a topic with your community, what tools work for you, and what problems block you? ## What about talk pages works for newcomers, and what blocks them? ## What do others struggle with in your community about talk pages? ## What do you wish you could do on talk pages, but can't due to the technical limitations? ## What are the important aspects of a "wiki discussion"? # Finally, please go to [[mw:Talk:Talk pages consultation 2019|Talk pages consultation 2019 on Mediawiki.org]] and report what you learned from your group. Please include links if the discussion is available to the public. '''You can also help build the list of the many different ways people talk to each other.''' Not all groups active on wikis or around wikis use the same way to discuss things: it can happen on wiki, on social networks, through external tools... Tell us [[mw:Talk pages consultation 2019/Tools in use|how your group communicates]]. You can read more about [[mw:Talk pages consultation 2019|the overall process]] on mediawiki.org. If you have questions or ideas, you can [[mw:Talk:Talk pages consultation 2019|leave feedback about the consultation process]] in the language you prefer. Thank you! We're looking forward to talking with you. </div> [[user:Trizek (WMF)|Trizek (WMF)]] 21 Februari 2019 15.01 (UTC) <!-- Pesan dikirim oleh Pengguna:Trizek (WMF)@metawiki dengan menggunakan daftar di https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18639017 --> == Read-only mode for up to 30 minutes on 11 April == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> <div lang="en" dir="ltr" class="mw-content-ltr">You will '''not be able to edit''' most Wikimedia wikis for up to 30 minutes on '''[https://www.timeanddate.com/worldclock/fixedtime.html?iso=20190411T05 11 April 05:00 UTC]'''. This is because of a hardware problem. You can still read the wikis. You [[phab:T220080|can see which wikis are affected]]. The time you can not edit might be shorter than 30 minutes. /[[User:Johan (WMF)|Johan (WMF)]]</div></div></div> 8 April 2019 10.56 (UTC) <!-- Pesan dikirim oleh Pengguna:Johan (WMF)@metawiki dengan menggunakan daftar di https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18979889 --> == Wikimedia Foundation Medium-Term Plan feedback request == {{int:please-translate}} <div lang="en" dir="ltr" class="mw-content-ltr">The Wikimedia Foundation has published a [[m:Special:MyLanguage/Wikimedia_Foundation_Medium-term_plan_2019|Medium-Term Plan proposal]] covering the next 3–5 years. We want your feedback! Please leave all comments and questions, in any language, on [[m:Talk:Wikimedia_Foundation_Medium-term_plan_2019|the talk page]], by April 20. {{Int:Feedback-thanks-title}} [[m:User:Quiddity (WMF)|Quiddity (WMF)]] ([[m:User talk:Quiddity (WMF)|talk]]) 12 April 2019 17.35 (UTC)</div> <!-- Pesan dikirim oleh Pengguna:Quiddity (WMF)@metawiki dengan menggunakan daftar di https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=18998727 --> == Update on the consultation about office actions == Hello all, Last month, the Wikimedia Foundation's Trust & Safety team [[:en:Wikipedia:Village_pump_(policy)/Archive_152#Announcement_of_forthcoming_temporary_and_partial_ban_tool_consultation|announced]] a future consultation about partial and/or temporary [[m:Special:MyLanguage/office actions|office actions]]. We want to let you know that the '''draft version''' of this consultation has now been [[:m:Office_actions/Community_consultation_on_partial_and_temporary_office_actions/draft|posted on Meta]]. This is a '''draft'''. It is not intended to be the consultation itself, which will be posted on Meta likely in early September. Please do not treat this draft as a consultation. Instead, we ask your assistance in forming the final language for the consultation. For that end, we would like your input over the next couple of weeks about what questions the consultation should ask about partial and temporary Foundation office action bans and how it should be formatted. '''[[:m:Talk:Office_actions/Community_consultation_on_partial_and_temporary_office_actions/draft|Please post it on the draft talk page]]'''. Our goal is to provide space for the community to discuss all the aspects of these office actions that need to be discussed, and we want to ensure with your feedback that the consultation is presented in the best way to encourage frank and constructive conversation. Please visit [[:m:Office_actions/Community_consultation_on_partial_and_temporary_office_actions/draft|the consultation draft on Meta-wiki]] and leave your comments on the draft’s talk page about what the consultation should look like and what questions it should ask. Thank you for your input! -- The [[m:Special:MyLanguage/Trust and Safety|Trust & Safety team]] 16 Agustus 2019 08.03 (UTC) <!-- Pesan dikirim oleh Pengguna:Trizek (WMF)@metawiki dengan menggunakan daftar di https://meta.wikimedia.org/w/index.php?title=Distribution_list/Non-Technical_Village_Pumps_distribution_list&oldid=19175143 --> == New tools and IP masking == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"><div class="plainlinks"> <div lang="en" dir="ltr" class="mw-content-ltr"> Hey everyone, The Wikimedia Foundation wants to work on two things that affect how we patrol changes and handle vandalism and harassment. We want to make the tools that are used to handle bad edits better. We also want to get better privacy for unregistered users so their IP addresses are no longer shown to everyone in the world. We would not hide IP addresses until we have better tools for patrolling. We have an idea of what tools ''could'' be working better and how a more limited access to IP addresses would change things, but we need to hear from more wikis. You can read more about the project [[m:IP Editing: Privacy Enhancement and Abuse Mitigation|on Meta]] and [[m:Talk:IP Editing: Privacy Enhancement and Abuse Mitigation|post comments and feedback]]. Now is when we need to hear from you to be able to give you better tools to handle vandalism, spam and harassment. You can post in your language if you can't write in English. [[User:Johan (WMF)|Johan (WMF)]]</div></div></div> 21 Agustus 2019 14.19 (UTC) <!-- Pesan dikirim oleh Pengguna:Johan (WMF)@metawiki dengan menggunakan daftar di https://meta.wikimedia.org/w/index.php?title=User:Johan_(WMF)/Tools_and_IP_message/Distribution&oldid=19315232 --> == The consultation on partial and temporary Foundation bans just started == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> <div class="plainlinks"> Hello, In a [[:en:Wikipedia:Community_response_to_the_Wikimedia_Foundation%27s_ban_of_Fram/Official_statements#Board_statement|recent statement]], the Wikimedia Foundation Board of Trustees [[:en:Wikipedia:Community_response_to_the_Wikimedia_Foundation%27s_ban_of_Fram/Official_statements#Board_statement|requested that staff hold a consultation]] to "re-evaluat[e] or add community input to the two new office action policy tools (temporary and partial Foundation bans)". Accordingly, the Foundation's Trust & Safety team invites all Wikimedians [[:m:Office actions/Community consultation on partial and temporary office actions/09 2019|to join this consultation and give their feedback]] from 30 September to 30 October. How can you help? * Suggest how partial and temporary Foundation bans should be used, if they should (eg: On all projects, or only on a subset); * Give ideas about how partial and temporary Foundation bans should ideally implemented, if they should be; and/or * Propose changes to the existing Office Actions policy on partial and temporary bans. We offer our thanks in advance for your contributions, and we hope to get as much input as possible from community members during this consultation! </div> </div>-- [[user:Kbrown (WMF)|Kbrown (WMF)]] 30 September 2019 17.14 (UTC) <!-- Pesan dikirim oleh Pengguna:Trizek (WMF)@metawiki dengan menggunakan daftar di https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=19302497 --> == Feedback wanted on Desktop Improvements project == <div class="plainlinks mw-content-ltr" lang="en" dir="ltr"> {{Int:Please-translate}} {{int:Hello}}. The Readers Web team at the WMF will work on some [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements|improvements to the desktop interface]] over the next couple of years. The goal is to increase usability without removing any functionality. We have been inspired by changes made by volunteers, but that currently only exist as local gadgets and user scripts, prototypes, and volunteer-led skins. We would like to begin the process of bringing some of these changes into the default experience on all Wikimedia projects. We are currently in the research stage of this project and are looking for ideas for improvements, as well as feedback on our current ideas and mockups. So far, we have performed interviews with community members at Wikimania. We have gathered lists of previous volunteer and WMF work in this area. We are examining possible technical approaches for such changes. We would like individual feedback on the following: * Identifying focus areas for the project we have not yet discovered * Expanding the list of existing gadgets and user scripts that are related to providing a better desktop experience. If you can think of some of these from your wiki, please let us know * Feedback on the ideas and mockups we have collected so far We would also like to gather a list of wikis that would be interested in being test wikis for this project - these wikis would be the first to receive the updates once we’re ready to start building. When giving feedback, please consider the following goals of the project: * Make it easier for readers to focus on the content * Provide easier access to everyday actions (e.g. search, language switching, editing) * Put things in logical and useful places * Increase consistency in the interface with other platforms - mobile web and the apps * Eliminate clutter * Plan for future growth As well as the following constraints: * Not touching the content - no work will be done in terms of styling templates or to the structure of page contents themselves * Not removing any functionality - things might move around, but all navigational items and other functionality currently available by default will remain * No drastic changes to the layout - we're taking an evolutionary approach to the changes and want the site to continue feeling familiar to readers and editors Please give all feedback (in any language) at [[mw:Talk:Reading/Web/Desktop Improvements|mw:Talk:Reading/Web/Desktop Improvements]] After this round of feedback, we plan on building a prototype of suggested changes based on the feedback we receive. You’ll hear from us again asking for feedback on this prototype. {{Int:Feedback-thanks-title}} [[mw:User:Quiddity (WMF)|Quiddity (WMF)]] ([[mw:User talk:Quiddity (WMF)|talk]]) </div> 16 Oktober 2019 07.15 (UTC) <!-- Pesan dikirim oleh Pengguna:Quiddity (WMF)@metawiki dengan menggunakan daftar di https://meta.wikimedia.org/w/index.php?title=User:Quiddity_(WMF)/Global_message_delivery_split_2&oldid=19462801 --> == Community Wishlist 2020 == [[File:Magic Wand Icon 229981 Color Flipped.svg|right|48px]] <div class="plainlinks mw-content-ltr" lang="id" dir="ltr"> '''[[m:Special:MyLanguage/Community Wishlist Survey 2020|Survei Harapan Komunitas 2020]]''' telah dibuka! Survei ini adalah proses dimana komunitas akan memutuskan apa yang tim [[m:Community Tech|Teknis Komunitas]] harus kerjakan pada tahun depan. Kami mendorong semua orang untuk mengirimkan proposal hingga batas waktu berakhir pada '''{{#time:j xg|2019-11-11|{{PAGELANGUAGE}}}}''', atau mengomentari proposal lain untuk membantu membuatnya menjadi lebih baik. '''Tahun ini, kami secara eksklusif berfokus pada proyek-proyek kecil (seperti Wikibooks, Wiktionary, Wikiquote, Wikisource, Wikiversity, Wikispecies, Wikivoyage, dan Wikinews).''' Kami ingin membantu proyek-proyek ini dan memberikan perbaikan yang signifikan bagi berbagai komunitas. Jika Anda adalah anggota dari salah satu proyek ini, silakan ikuti survei ini! Untuk mengirim proposal, lihat pedoman di [[m:Special:MyLanguage/Community Wishlist Survey 2020#Guidelines|halaman survei]]. Anda dapat menulis proposal dalam bahasa apa pun, dan kami akan menerjemahkannya untuk Anda. Kami tak sabar ingnin melihat proposal Anda! Terima kasih. </div> [[:m:user:IFried (WMF)|IFried (WMF)]] 4 November 2019 19.30 (UTC) <!-- Pesan dikirim oleh Pengguna:Trizek (WMF)@metawiki dengan menggunakan daftar di https://meta.wikimedia.org/w/index.php?title=User:Trizek_(WMF)/sandbox/temp_MassMessage_list&oldid=19523495 --> n30qjm0fvnf3ugs85o5w4cslkzqqut2 Templat:sinonim dari 10 243877 1349875 1278002 2026-04-14T14:10:32Z Swarabakti 18192 1349875 wikitext text/x-wiki {{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|<!-- -->{{#invoke:form of/templates|form_of_t|sinonim dari|withencap=1|conj=or}}<!-- -->}}<!-- --><noinclude>{{dokumentasi}}</noinclude> nd3y027wotuxmytktj00pfoppm8kn69 Modul:form of/cats 828 244793 1349851 1012061 2026-04-14T13:26:45Z Swarabakti 18192 perbarui 1349851 Scribunto text/plain local cats = {} --[=[ -- FIXME: Data structure is highly inefficient, as it involves lots of nested tables. This contains categorization specs for specific languages and for all languages. The particular categories listed are listed without the preceding canonical language name, which will automatically be prepended, and the text "<<p>>" in a category will be replaced with the user-specified part of speech. The value of an entry in the cats[] table is a list of specifications to apply to inflections in a specific language (except that the entry for "und" applies to all languages). Each specification indicates the conditions under which a given category is applied. Each specification is processed independently; if multiple specifications apply, all the resulting categories will be added to the page. (This is equivalent to wrapping the specifications in a {"multi", ...} clause; see below.) A specification is one of: (1) A string: Always apply that category. (2) A list {"has", TAG, SPEC} or {"has", TAG, SPEC, ELSESPEC}: TAG is an inflection tag, and can either be the full form or any abbreviation; if that tag is present among the user-supplied tags, SPEC is applied, otherwise ELSESPEC is applied if present. SPEC and ELSESPEC are specifications just as at the top level; i.e. they can be strings, nested conditions, etc. (2) A list {"hasall", TAGS, SPEC} or {"hasall", TAGS, SPEC, ELSESPEC}: Similar to {"has", ...} but only activates if all of the tags in TAGS (a list) are present among the user-supplied tags (in any order, and other tags may be present, including between the tags in TAGS). (3) A list {"hasany", TAGS, SPEC} or {"hasany", TAGS, SPEC, ELSESPEC}: Similar to {"has", ...} but activates if any of the tags in TAGS (a list) are present among the user-supplied tags. (4) A list {"tags=", TAGS, SPEC} or {"tags=", TAGS, SPEC, ELSESPEC}: Similar to {"hasall", ...} but activates only if the user-supplied tags exactly match the tags in TAGS, including the order. (But, as above, any tag abbreviation can be given in TAGS, and will match any equivalent abbreviation or full form.) (5) A list {"p=", VALUE, SPEC} or {"p=", VALUE, SPEC, ELSESPEC}: Similar to {"has", ...} but activates if the value supplied for the p= or POS= parameters is the specified value (which can be either the full form or any abbreviation). (6) A list {"pany", VALUES, SPEC} or {"pany", VALUES, SPEC, ELSESPEC}: Similar to {"p=", ...} but activates if the value supplied for the p= or POS= parameters is any of the specified values (which can be either the full forms or any abbreviation). (7) A list {"pexists", SPEC} or {"pexists", SPEC, ELSESPEC}: Activates if any value was specified for the p= or POS= parameters. (8) A list {"cond", SPEC1, SPEC2, ...}: If SPEC1 applies, it will be applied; otherwise, if SPEC2 applies, it will be applied; etc. This stops processing specifications as soon as it finds one that applies. (9) A list {"multi", SPEC1, SPEC2, ...}: If SPEC1 applies, it will be applied; in addition, if SPEC2 applies, it will also be applied; etc. Unlike {"cond", ...}, this continues processing specifications even if a previous one has applied. (10) A list {"not", CONDITION, SPEC} or {"not", CONDITION, SPEC, ELSESPEC}: If CONDITION does *NOT* apply, SPEC will be applied, otherwise ELSESPEC will be applied if present. CONDITION is one of: -- {"has", TAG} -- {"hasall", TAGS} -- {"hasany", TAGS} -- {"tags=", TAGS}, -- {"p=", VALUE} -- {"pany", VALUES} -- {"pexists"} -- {"not", CONDITION} -- {"and", CONDITION1, CONDITION2} -- {"or", CONDITION1, CONDITION2} -- {"call", FUNCTION} where FUNCTION is a string naming a function listed in cat_functions in [[Module:form of/functions]], which is passed a single argument (see (10) below) and should return true or false. That is, conditions are similar to if-else SPECS but without any specifications given. (11) A list {"and", CONDITION1, CONDITION2, SPEC} or {"and", CONDITION1, CONDITION2, SPEC, ELSESPEC}: If CONDITION1 and CONDITION2 both apply, SPEC will be applied, otherwise ELSESPEC will be applied if present. CONDITION is as above for "not". (12) A list {"or", CONDITION1, CONDITION2, SPEC} or {"or", CONDITION1, CONDITION2, SPEC, ELSESPEC}: If either CONDITION1 or CONDITION2 apply, SPEC will be applied, otherwise ELSESPEC will be applied if present. CONDITION is as above for "not". (13) A list {"call", FUNCTION}: FUNCTION is the name of a function listed in cat_functions in [[Module:form of/functions]], which is passed a single argument, a table containing the parameters given to the template call, and which should return a specification (a string naming a category, a list of any of the formats described above). In the table, the following keys are present: "lang": the structure describing the language (usually the first parameter); "tags": the list of tags (canonicalized to their full forms); "term": the term to link to (will be missing if no term is given); "alt": the display form of the term (will be missing if no display form is given); "t": the gloss of the term (will be missing if no gloss is given); In addition, any other parameters specified will be located under a key corresponding to the parameter name. As a simple example, consider this: cats["et"] = { {"has", "part", "participles"}, } This says that, for language code "et" (Estonian), if the "part" tag is present (or if "participle" is present, which is the equivalent full form), the page will be categorized into [[:Category:Estonian participles]]. Another example: cats["lt"] = { {"p=", "part", {"has", "pron", "pronominal dalyvis participle forms", "dalyvis participle forms", } } } This says that, for language code "lt" (Lithuanian), if the "p=" parameter was given with the value "part" (or "participle", the equivalent full form), then if the "pron" tag is present (or the equivalent full form "pronominal"), categorize into [[:Category:Lithuanian pronominal dalyvis participle forms]], else categorize into [["Category:Lithuanian dalyvis participle forms]]. Note that, if p= isn't specified, or has a value other than "part" or "participle", no categories will be added to the page, because there is no "else" specification associated with the "p=" specification. --]=] -- First, the language-independent categories; be careful here not to -- overcategorize. In practice we achieve this using tags=; we should -- probably be smarter. But we don't e.g. want to categorize a page -- into "present participles" if it has the tags f|s|pres|part, which -- is a participle form rather than a participle itself. -- -- We include the categorization here rather than in e.g. {{augmentative of}} -- because we want the categorization to also apply when e.g. an augmentative -- is specified using {{inflection of|LANG|...|aug}} rather than -- {{augmentative of|LANG}}. --[==[Disable all of these for now as they are somewhat controversial. cats["und"] = { {"tags=", {"aug"}, "augmentative <<p=n>>s"}, {"tags=", {"dim"}, "diminutive <<p=n>>s"}, {"or", {"tags=", {"end"}}, {"or", {"tags=", {"end", "form"}}, {"tags=", {"end", "dim"}}}, "endearing <<p=n>>s"}, {"tags=", {"pej"}, "derogatory terms"}, {"tags=", {"comd"}, "comparative <<p=a>>s"}, {"tags=", {"supd"}, "superlative <<p=a>>s"}, {"tags=", {"equd"}, "<<p=a>> equative forms"}, {"tags=", {"caus"}, "causative <<p=v>>s"}, {"tags=", {"freq"}, "frequentative <<p=v>>s"}, {"tags=", {"iter"}, "iterative <<p=v>>s"}, {"tags=", {"refl"}, "reflexive <<p=v>>s"}, {"or", {"tags=", {"impfv"}}, {"tags=", {"impfv", "form"}}, "imperfective <<p=v>>s"}, {"or", {"tags=", {"pfv"}}, {"tags=", {"pfv", "form"}}, "perfective <<p=v>>s"}, {"tags=", {"nomzn"}, "nominalized adjectives"}, {"tags=", {"ger"}, "gerunds"}, {"tags=", {"vnoun"}, "verbal nouns"}, {"tags=", {"pass"}, "<<p=v>> passive forms"}, -- [[User:Rua]] objects to these categories {"tags=", {"past", "act", "part"}, "past active participles"}, {"tags=", {"past", "pass", "part"}, "past passive participles"}, {"tags=", {"past", "part"}, "past participles"}, {"tags=", {"pres", "act", "part"}, "present active participles"}, {"tags=", {"pres", "pass", "part"}, "present passive participles"}, {"tags=", {"pres", "part"}, "present participles"}, {"tags=", {"perf", "part"}, "perfect participles"}, }]==] cats["az"] = { {"hasall", {"subject", "past", "participle"}, "subject past participles"}, {"hasall", {"broken", "plural"}, "broken noun plural forms"}, } cats["bg"] = { {"cond", {"hasall", {"adv", "part"}, "adverbial participles"}, {"has", "part", -- If this is a lemma participle form, categorize appropriately -- for the type of participle, otherwise put into -- "participle forms". We determine a lemma if all of the -- following apply: -- (1) either is masculine, or no gender listed; and -- (2) either is indefinite, or no definiteness listed; and -- (3) not listed as either subjective or objective form. {"and", {"or", {"has", "m"}, {"not", {"hasany", {"f", "n", "p"}}}}, {"and", {"or", {"has", "indef"}, {"not", {"has", "def"}}}, {"not", {"hasany", {"sbjv", "objv"}}}, }, {"cond", {"hasall", {"pres", "act"}, "present active participles"}, {"hasall", {"past", "pass"}, "past passive participles"}, {"hasall", {"past", "act", "aor"}, "past active aorist participles"}, {"hasall", {"past", "act", "impf"}, "past active imperfect participles"}, }, -- FIXME: "participle forms" probably not necessary, -- should be handled by headword "participle forms" } } }, } cats["br"] = { {"p=", "n", {"has", "p", "noun plural forms"} }, } cats["ca"] = { {"has", "part", {"cond", -- FIXME, not clear if we need all of these conditions; -- may partly be handled by headword {"hasany", {"f", "p"}, "participle forms"}, {"has", "pres", "present participles"}, {"has", "past", "past participles"}, } }, } cats["de"] = { {"hasall", {"pres", "part"}, "present participles"}, {"hasall", {"past", "part"}, "past participles"}, } cats["el"] = { {"has", "dat", "dative forms"}, {"cond", {"hasall", {"1", "s", "past"}, "verb past tense forms"}, {"has", "nonfinite", "verb nonfinite forms"}, }, } cats["en"] = { {"cond", -- The display of these labels and their categorization is controlled by [[Module:labels/data/lang/en]]. -- This label will categorize into [[:Category:English archaic third-person singular forms]]. {"has", "3-th", {labels = {"archaic third singular"}}}, -- This label will categorize into [[:Category:English second-person singular forms]]. {"hasall", {"2-st", "pres"}, {labels = {"archaic second singular present"}}}, -- This label will categorize into [[:Category:English second-person singular past tense forms]]. {"hasall", {"2-st", "past"}, {labels = {"archaic second singular past"}}}, }, -- Add irregular plural categories. The corresponding code is in [[Module:form of/lang-data/en/functions]]. {"tags=", {"p"}, {"call", "en-irregular-plural-categories"}}, } cats["enm"] = { {"not", {"hasany", {"sub", "imp"}}, {"multi", {"hasall", {"1", "s", "pres"}, "first-person singular forms"}, {"hasall", {"2", "s", "pres"}, "second-person singular forms"}, {"hasall", {"3", "s", "pres"}, "third-person singular forms"}, {"hasall", {"1//3", "s", "past"}, "first/third-person singular past forms"}, {"hasall", {"2", "s", "past"}, "second-person singular past forms"}, {"hasall", {"p", "pres"}, "plural forms"}, }, }, {"hasall", {"p", "pres", "ind"}, "plural forms"}, {"hasall", {"p", "pres", "sub"}, "plural subjunctive forms"}, {"hasall", {"p", "past"}, "plural past forms"}, {"hasall", {"s", "pres", "sub"}, "singular subjunctive forms"}, {"hasall", {"s", "past", "sub"}, "singular past subjunctive forms"}, {"hasall", {"s", "imp"}, "singular imperative forms"}, {"hasall", {"p", "imp"}, "plural imperative forms"}, {"hasall", {"pres", "part"}, "present participles"}, {"hasall", {"past", "part"}, "past participles"}, } cats["et"] = { {"has", "part", "participles"}, } cats["fi"] = { {"has", "inf", {"cond", {"hasall", {"long", "first"}, "long first infinitives"}, {"hasall", {"second", "act"}, "active second infinitives"}, {"hasall", {"second", "pass"}, "passive second infinitives"}, {"hasall", {"third", "act"}, "active third infinitives"}, {"hasall", {"third", "pass"}, "passive third infinitives"}, {"has", "fifth", "fifth infinitives"}, } }, } cats["got"] = { {"hasall", {"pres", "part"}, "present participles"}, {"hasall", {"past", "part"}, "past participles"}, } cats["hu"] = { {"hasall", {"past", "part"}, "past participles"}, {"hasall", {"pres", "part"}, "present participles"}, {"hasall", {"fut", "part"}, "future participles"}, {"hasall", {"adv", "part"}, "adverbial participles"}, {"hasall", {"verbal", "part"}, "verbal participles"}, } cats["ja"] = { {"p=", "v", {"multi", {"has", "past", "past tense verb forms"}, {"has", "conj", "conjunctive verb forms"}, } }, } cats["kmr"] = { {"hasall", {"pres", "part"}, "present participles"}, {"hasall", {"past", "part"}, "past participles"}, } cats["liv"] = { {"has", "part", {"cond", {"hasall", {"pres", "act"}, "present active participles"}, {"hasall", {"pres", "pass"}, "present passive participles"}, {"hasall", {"past", "act"}, "past active participles"}, {"hasall", {"past", "pass"}, "past passive participles"}, }, }, {"cond", {"has", "ger", "gerunds"}, {"hasall", {"sup", "abe"}, "supine abessives"}, {"has", "sup", "supines"}, {"has", "deb", "debitives"}, }, } cats["lt"] = { {"has", "part", {"cond", -- Three types of adverbial participles. {"has", "budinys", "būdinys participles"}, {"has", "padalyvis", "padalyvis participles"}, {"has", "pusdalyvis", "pusdalyvis participles"}, -- If it's a non-adverbial participle, it's a dalyvis = regular -- adjectival participle. It's a participle per se if it has -- no case, number or gender listed. {"not", {"hasany", { "nom", "gen", "dat", "acc", "ins", "loc", "voc", "m", "f", "s", "p" }}, "dalyvis participles"}, } }, {"p=", "a", {"has", "pron", {"cond", {"has", "comd", "comparative pronominal adjective forms"}, {"has", "supd", "superlative pronominal adjective forms"}, }, {"cond", {"has", "comd", "comparative adjective forms"}, {"has", "supd", "superlative adjective forms"}, }, } }, } cats["lv"] = { {"has", "neg", "negative verb forms"}, {"has", "comd", "comparative adjectives"}, {"has", "supd", "superlative adjectives"}, {"has", "part", {"cond", {"hasall", {"pres", "act"}, "present active participles"}, {"hasall", {"pres", "pass"}, "present passive participles"}, {"hasall", {"past", "act"}, "past active participles"}, {"hasall", {"past", "pass"}, "past passive participles"}, }, }, } cats["mk"] = { {"has", "vnoun", {"multi", "verbal nouns", "verb forms"}, }, {"has", "part", {"multi", "participles", "verb forms", {"cond", {"hasall", {"adj", "part"}, "adjectival participles"}, {"hasall", {"adv", "part"}, "adverbial participles"}, {"hasall", {"perf", "part"}, "perfect participles"}, {"hasall", {"aor", "act", "part"}, "aorist l-participles"}, {"hasall", {"impf", "act", "part"}, "imperfect l-participles"}, }, } }, {"has", "lptcp", {"multi", {"has", "aor", "aorist l-participles"}, {"has", "impf", "imperfect l-participles"}, {"hasall", {"m", "s"}, "participles", "participle forms"}, }, }, {"hasall", {"col", "pl"}, "collective plurals"}, } cats["nl"] = { {"tags=", {"pl", "imp"}, {labels = {"plural imperative"}}}, {"has", "sub", {labels = {"subjunctive"}}}, -- Depending on the part of speech, a specific case-form category is added, or if no -- recognized part of speech is present, the generic case-form category is used. The -- label "archaic" will also be added, for which see [[Module:labels/data/lang/nl]]. {"hasany", {"acc", "dat", "gen"}, {"multi", {labels = {"archaic case form"}}, {"cond", {"p=", "n", "noun case forms"}, {"p=", "a", "adjective case forms"}, -- Only goes to "case forms" umbrella cat if no (/no recognized) POS given "case forms" } } } } cats["pl"] = { {"has", "short", "short adjective forms"}, } cats["sa"] = { {"has", "desid", {"multi", "desiderative verbs", "verbs derived from primitive verbs" }, }, {"has", "freq", {"multi", "frequentative verbs", "verbs derived from primitive verbs" }, }, {"has", "root", "root forms"}, } cats["sv"] = { {"cond", -- The display of these labels is controlled by [[Module:labels/data/lang/sv]]. {"hasall", {"past", "sub"}, {labels = {"past subjunctive"}}}, {"hasall", {"pres", "sub"}, {labels = {"present subjunctive"}}}, -- If it just has 'sub' (subjunctive), not labeled as present or past, treat it like the past subjunctive, whose label -- is "weaker" than the present subjunctive (dated vs. archaic). {"has", "sub", {labels = {"past subjunctive"}}}, {"hasall", {"1", "p", "pres"}, {labels = {"1st plural present indicative"}}}, {"hasall", {"2", "p", "pres"}, {labels = {"2nd plural present indicative"}}}, {"hasall", {"p", "pres"}, {labels = {"plural present indicative"}}}, {"hasall", {"1", "p", "past"}, {labels = {"1st plural past indicative"}}}, {"hasall", {"2", "p", "past"}, {labels = {"2nd plural past indicative"}}}, {"hasall", {"p", "past"}, {labels = {"plural past indicative"}}}, {"hasall", {"1", "p", "imp"}, {labels = {"1st plural imperative"}}}, {"hasall", {"p", "imp"}, {labels = {"2nd plural imperative"}}}, }, } cats["uk"] = { {"has", "part", {"multi", "participles", "verb forms", {"cond", {"hasall", {"pres", "act"}, "present active participles"}, {"hasall", {"pres", "pass"}, "present passive participles"}, {"hasall", {"pres", "adv"}, "present adverbial participles"}, {"hasall", {"past", "act"}, "past active participles"}, {"hasall", {"past", "pass"}, "past passive participles"}, {"hasall", {"past", "adv"}, "past adverbial participles"}, }, } }, } return cats cnhxumcr3cajnqtfpficwhzfl7ttnla Templat:CJKV radicals 10 247915 1349914 1100987 2026-04-15T06:50:05Z DelintBot 47600 Adding [[mw:Help:Lint errors/night-mode-unaware-background-color|missing CSS color declarations]] 1349914 wikitext text/x-wiki <div style="text-align:center"> [[Lampiran:Cangjie Tionghoa|Cangjie]] - [[Lampiran:Empat sudut Tionghoa|Empat sudut]] - [[Lampiran:Pinyin Tionghoa|Pinyin]] - [[Lampiran:Radikal Tionghoa|Radikal]] - [[Lampiran:Total goresan Tionghoa|Total Goresan]] - [[Lampiran:Wubi Hua Tionghoa|Wubi Hua]] - [[Lampiran:Wubi Xing Tionghoa|Wubi Xing]] - [[Lampiran:Zhuyin Tionghoa|Zhuyin]] </div> <div style="text-align:center"> [[Lampiran:Zhuyin Tionghoa/ㄅ|ㄅ]] - [[Lampiran:Zhuyin Tionghoa/ㄆ|ㄆ]] - [[Lampiran:Zhuyin Tionghoa/ㄇ|ㄇ]] - [[Lampiran:Zhuyin Tionghoa/ㄈ|ㄈ]] - [[Lampiran:Zhuyin Tionghoa/ㄉ|ㄉ]] - [[Lampiran:Zhuyin Tionghoa/ㄊ|ㄊ]] - [[Lampiran:Zhuyin Tionghoa/ㄋ|ㄋ]] - [[Lampiran:Zhuyin Tionghoa/ㄌ|ㄌ]] - [[Lampiran:Zhuyin Tionghoa/ㄍ|ㄍ]] - [[Lampiran:Zhuyin Tionghoa/ㄎ|ㄎ]] - [[Lampiran:Zhuyin Tionghoa/ㄏ|ㄏ]] - [[Lampiran:Zhuyin Tionghoa/ㄐ|ㄐ]] - [[Lampiran:Zhuyin Tionghoa/ㄑ|ㄑ]] - [[Lampiran:Zhuyin Tionghoa/ㄒ|ㄒ]] - [[Lampiran:Zhuyin Tionghoa/ㄓ|ㄓ]] - [[Lampiran:Zhuyin Tionghoa/ㄔ|ㄔ]] - [[Lampiran:Zhuyin Tionghoa/ㄕ|ㄕ]] - [[Lampiran:Zhuyin Tionghoa/ㄖ|ㄖ]] - [[Lampiran:Zhuyin Tionghoa/ㄗ|ㄗ]] - [[Lampiran:Zhuyin Tionghoa/ㄘ|ㄘ]] - [[Lampiran:Zhuyin Tionghoa/ㄙ|ㄙ]] - [[Lampiran:Zhuyin Tionghoa/ㄚ|ㄚ]] - [[Lampiran:Zhuyin Tionghoa/ㄛ|ㄛ]] - [[Lampiran:Zhuyin Tionghoa/ㄜ|ㄜ]] - [[Lampiran:Zhuyin Tionghoa/ㄝ|ㄝ]] - [[Lampiran:Zhuyin Tionghoa/ㄞ|ㄞ]] - [[Lampiran:Zhuyin Tionghoa/ㄟ|ㄟ]] - [[Lampiran:Zhuyin Tionghoa/ㄠ|ㄠ]] - [[Lampiran:Zhuyin Tionghoa/ㄡ|ㄡ]] - [[Lampiran:Zhuyin Tionghoa/ㄢ|ㄢ]] - [[Lampiran:Zhuyin Tionghoa/ㄣ|ㄣ]] - [[Lampiran:Zhuyin Tionghoa/ㄤ|ㄤ]] - [[Lampiran:Zhuyin Tionghoa/ㄥ|ㄥ]] - [[Lampiran:Zhuyin Tionghoa/ㄧ|ㄧ]] - [[Lampiran:Zhuyin Tionghoa/ㄨ|ㄨ]] - [[Lampiran:Zhuyin Tionghoa/ㄩ|ㄩ]] - [[Lampiran:Zhuyin Tionghoa/ㄦ|ㄦ]] </div> <div class="NavFrame"> <div class="NavHead">[[Lampiran:Chinese_radical|CJKV akar kata]]</div> <div class="NavContent" align="left"> {| style="border: 0; width: 100%;" |- | style="background: #FFFFE0; vertical-align: top; width: 75%;" | <span style="background:pink">01</span> [[Lampiran:Radikal Tionghoa/一|一]] [[Lampiran:Radikal Tionghoa/丨|丨]] [[Lampiran:Radikal Tionghoa/丶|丶]] [[Lampiran:Radikal Tionghoa/丿|丿]] [[Lampiran:Radikal Tionghoa/乙|乙]] [[Lampiran:Radikal Tionghoa/亅|亅]] <br><span style="background:yellow">02</span> [[Lampiran:Radikal Tionghoa/二|二]] [[Lampiran:Radikal Tionghoa/亠|亠]] [[Lampiran:Radikal Tionghoa/人|人]] [[Lampiran:Radikal Tionghoa/儿|儿]] [[Lampiran:Radikal Tionghoa/入|入]] [[Lampiran:Radikal Tionghoa/八|八]] [[Lampiran:Radikal Tionghoa/冂|冂]] [[Lampiran:Radikal Tionghoa/冖|冖]] [[Lampiran:Radikal Tionghoa/冫|冫]] [[Lampiran:Radikal Tionghoa/几|几]] [[Lampiran:Radikal Tionghoa/凵|凵]] [[Lampiran:Radikal Tionghoa/刀|刀]] [[Lampiran:Radikal Tionghoa/力|力]] [[Lampiran:Radikal Tionghoa/勹|勹]] [[Lampiran:Radikal Tionghoa/匕|匕]] [[Lampiran:Radikal Tionghoa/匚|匚]] [[Lampiran:Radikal Tionghoa/匸|匸]] [[Lampiran:Radikal Tionghoa/十|十]] [[Lampiran:Radikal Tionghoa/卜|卜]] [[Lampiran:Radikal Tionghoa/卩|卩]] [[Lampiran:Radikal Tionghoa/厂|厂]] [[Lampiran:Radikal Tionghoa/厶|厶]] [[Lampiran:Radikal Tionghoa/又|又]] <br><span style="background:lightblue">03</span> [[Lampiran:Radikal Tionghoa/口|口]] [[Lampiran:Radikal Tionghoa/囗|囗]] [[Lampiran:Radikal Tionghoa/土|土]] [[Lampiran:Radikal Tionghoa/士|士]] [[Lampiran:Radikal Tionghoa/夂|夂]] [[Lampiran:Radikal Tionghoa/夊|夊]] [[Lampiran:Radikal Tionghoa/夕|夕]] [[Lampiran:Radikal Tionghoa/大|大]] [[Lampiran:Radikal Tionghoa/女|女]] [[Lampiran:Radikal Tionghoa/子|子]] [[Lampiran:Radikal Tionghoa/宀|宀]] [[Lampiran:Radikal Tionghoa/寸|寸]] [[Lampiran:Radikal Tionghoa/小|小]] [[Lampiran:Radikal Tionghoa/尢|尢]] [[Lampiran:Radikal Tionghoa/尸|尸]] [[Lampiran:Radikal Tionghoa/屮|屮]] [[Lampiran:Radikal Tionghoa/山|山]] [[Lampiran:Radikal Tionghoa/巛|巛]] [[Lampiran:Radikal Tionghoa/工|工]] [[Lampiran:Radikal Tionghoa/己|己]] [[Lampiran:Radikal Tionghoa/巾|巾]] [[Lampiran:Radikal Tionghoa/干|干]] [[Lampiran:Radikal Tionghoa/幺|幺]] [[Lampiran:Radikal Tionghoa/广|广]] [[Lampiran:Radikal Tionghoa/廴|廴]] [[Lampiran:Radikal Tionghoa/廿|廿]] [[Lampiran:Radikal Tionghoa/弋|弋]] [[Lampiran:Radikal Tionghoa/弓|弓]] [[Lampiran:Radikal Tionghoa/彐|彐]] [[Lampiran:Radikal Tionghoa/彡|彡]] [[Lampiran:Radikal Tionghoa/彳|彳]] <br><span style="background:yellow">04</span> [[Lampiran:Radikal Tionghoa/心|心]] [[Lampiran:Radikal Tionghoa/戈|戈]] [[Lampiran:Radikal Tionghoa/戶|戶]] [[Lampiran:Radikal Tionghoa/手|手]] [[Lampiran:Radikal Tionghoa/支|支]] [[Lampiran:Radikal Tionghoa/攴|攴]] [[Lampiran:Radikal Tionghoa/文|文]] [[Lampiran:Radikal Tionghoa/斗|斗]] [[Lampiran:Radikal Tionghoa/斤|斤]] [[Lampiran:Radikal Tionghoa/方|方]] [[Lampiran:Radikal Tionghoa/无|无]] [[Lampiran:Radikal Tionghoa/日|日]] [[Lampiran:Radikal Tionghoa/曰|曰]] [[Lampiran:Radikal Tionghoa/月|月]] [[Lampiran:Radikal Tionghoa/木|木]] [[Lampiran:Radikal Tionghoa/欠|欠]] [[Lampiran:Radikal Tionghoa/止|止]] [[Lampiran:Radikal Tionghoa/歹|歹]] [[Lampiran:Radikal Tionghoa/殳|殳]] [[Lampiran:Radikal Tionghoa/毋|毋]] [[Lampiran:Radikal Tionghoa/比|比]] [[Lampiran:Radikal Tionghoa/毛|毛]] [[Lampiran:Radikal Tionghoa/氏|氏]] [[Lampiran:Radikal Tionghoa/气|气]] [[Lampiran:Radikal Tionghoa/水|水]] [[Lampiran:Radikal Tionghoa/火|火]] [[Lampiran:Radikal Tionghoa/爪|爪]] [[Lampiran:Radikal Tionghoa/父|父]] [[Lampiran:Radikal Tionghoa/爻|爻]] [[Lampiran:Radikal Tionghoa/爿|爿]] [[Lampiran:Radikal Tionghoa/片|片]] [[Lampiran:Radikal Tionghoa/牙|牙]] [[Lampiran:Radikal Tionghoa/牛|牛]] [[Lampiran:Radikal Tionghoa/犬|犬]] <br><span style="background:pink">05</span> [[Lampiran:Radikal Tionghoa/玄|玄]] [[Lampiran:Radikal Tionghoa/玉|玉]] [[Lampiran:Radikal Tionghoa/瓜|瓜]] [[Lampiran:Radikal Tionghoa/瓦|瓦]] [[Lampiran:Radikal Tionghoa/甘|甘]] [[Lampiran:Radikal Tionghoa/生|生]] [[Lampiran:Radikal Tionghoa/用|用]] [[Lampiran:Radikal Tionghoa/田|田]] [[Lampiran:Radikal Tionghoa/疋|疋]] [[Lampiran:Radikal Tionghoa/疒|疒]] [[Lampiran:Radikal Tionghoa/癶|癶]] [[Lampiran:Radikal Tionghoa/白|白]] [[Lampiran:Radikal Tionghoa/皮|皮]] [[Lampiran:Radikal Tionghoa/皿|皿]] [[Lampiran:Radikal Tionghoa/目|目]] [[Lampiran:Radikal Tionghoa/矛|矛]] [[Lampiran:Radikal Tionghoa/矢|矢]] [[Lampiran:Radikal Tionghoa/石|石]] [[Lampiran:Radikal Tionghoa/示|示]] [[Lampiran:Radikal Tionghoa/禸|禸]] [[Lampiran:Radikal Tionghoa/禾|禾]] [[Lampiran:Radikal Tionghoa/穴|穴]] [[Lampiran:Radikal Tionghoa/立|立]] <br><span style="background:yellow">06</span> [[Lampiran:Radikal Tionghoa/竹|竹]] [[Lampiran:Radikal Tionghoa/米|米]] [[Lampiran:Radikal Tionghoa/糸|糸]] [[Lampiran:Radikal Tionghoa/缶|缶]] [[Lampiran:Radikal Tionghoa/网|网]] [[Lampiran:Radikal Tionghoa/羊|羊]] [[Lampiran:Radikal Tionghoa/羽|羽]] [[Lampiran:Radikal Tionghoa/老|老]] [[Lampiran:Radikal Tionghoa/而|而]] [[Lampiran:Radikal Tionghoa/耒|耒]] [[Lampiran:Radikal Tionghoa/耳|耳]] [[Lampiran:Radikal Tionghoa/聿|聿]] [[Lampiran:Radikal Tionghoa/肉|肉]] [[Lampiran:Radikal Tionghoa/臣|臣]] [[Lampiran:Radikal Tionghoa/自|自]] [[Lampiran:Radikal Tionghoa/至|至]] [[Lampiran:Radikal Tionghoa/臼|臼]] [[Lampiran:Radikal Tionghoa/舌|舌]] [[Lampiran:Radikal Tionghoa/舛|舛]] [[Lampiran:Radikal Tionghoa/舟|舟]] [[Lampiran:Radikal Tionghoa/艮|艮]] [[Lampiran:Radikal Tionghoa/色|色]] [[Lampiran:Radikal Tionghoa/艸|艸]] [[Lampiran:Radikal Tionghoa/虍|虍]] [[Lampiran:Radikal Tionghoa/虫|虫]] [[Lampiran:Radikal Tionghoa/血|血]] [[Lampiran:Radikal Tionghoa/行|行]] [[Lampiran:Radikal Tionghoa/衣|衣]] [[Lampiran:Radikal Tionghoa/西|西]] <br><span style="background:lightblue">07</span> [[Lampiran:Radikal Tionghoa/見|見]] [[Lampiran:Radikal Tionghoa/角|角]] [[Lampiran:Radikal Tionghoa/言|言]] [[Lampiran:Radikal Tionghoa/谷|谷]] [[Lampiran:Radikal Tionghoa/豆|豆]] [[Lampiran:Radikal Tionghoa/豕|豕]] [[Lampiran:Radikal Tionghoa/豸|豸]] [[Lampiran:Radikal Tionghoa/貝|貝]] [[Lampiran:Radikal Tionghoa/赤|赤]] [[Lampiran:Radikal Tionghoa/走|走]] [[Lampiran:Radikal Tionghoa/足|足]] [[Lampiran:Radikal Tionghoa/身|身]] [[Lampiran:Radikal Tionghoa/車|車]] [[Lampiran:Radikal Tionghoa/辛|辛]] [[Lampiran:Radikal Tionghoa/辰|辰]] [[Lampiran:Radikal Tionghoa/辵|辵]] [[Lampiran:Radikal Tionghoa/邑|邑]] [[Lampiran:Radikal Tionghoa/酉|酉]] [[Lampiran:Radikal Tionghoa/釆|釆]] [[Lampiran:Radikal Tionghoa/里|里]] <br><span style="background:yellow">08</span> [[Lampiran:Radikal Tionghoa/金|金]] [[Lampiran:Radikal Tionghoa/長|長]] [[Lampiran:Radikal Tionghoa/門|門]] [[Lampiran:Radikal Tionghoa/阜|阜]] [[Lampiran:Radikal Tionghoa/隶|隶]] [[Lampiran:Radikal Tionghoa/隹|隹]] [[Lampiran:Radikal Tionghoa/雨|雨]] [[Lampiran:Radikal Tionghoa/靑|靑]] [[Lampiran:Radikal Tionghoa/非|非]] | style="width: 0%;" | | style="background: #FFFFE0; vertical-align: top; width: 25%;"| <span style="background:pink">09</span> [[Lampiran:Radikal Tionghoa/面|面]] [[Lampiran:Radikal Tionghoa/革|革]] [[Lampiran:Radikal Tionghoa/韋|韋]] [[Lampiran:Radikal Tionghoa/韭|韭]] [[Lampiran:Radikal Tionghoa/音|音]] [[Lampiran:Radikal Tionghoa/頁|頁]] [[Lampiran:Radikal Tionghoa/風|風]] [[Lampiran:Radikal Tionghoa/飛|飛]] [[Lampiran:Radikal Tionghoa/食|食]] [[Lampiran:Radikal Tionghoa/首|首]] [[Lampiran:Radikal Tionghoa/香|香]] <br><span style="background:yellow">10</span> [[Lampiran:Radikal Tionghoa/馬|馬]] [[Lampiran:Radikal Tionghoa/骨|骨]] [[Lampiran:Radikal Tionghoa/高|高]] [[Lampiran:Radikal Tionghoa/髟|髟]] [[Lampiran:Radikal Tionghoa/鬥|鬥]] [[Lampiran:Radikal Tionghoa/鬯|鬯]] [[Lampiran:Radikal Tionghoa/鬲|鬲]] [[Lampiran:Radikal Tionghoa/鬼|鬼]] <br><span style="background:lightblue">11</span> [[Lampiran:Radikal Tionghoa/魚|魚]] [[Lampiran:Radikal Tionghoa/鳥|鳥]] [[Lampiran:Radikal Tionghoa/鹵|鹵]] [[Lampiran:Radikal Tionghoa/鹿|鹿]] [[Lampiran:Radikal Tionghoa/麥|麥]] [[Lampiran:Radikal Tionghoa/麻|麻]] <br><span style="background:yellow">12</span> [[Lampiran:Radikal Tionghoa/黃|黃]] [[Lampiran:Radikal Tionghoa/黍|黍]] [[Lampiran:Radikal Tionghoa/黑|黑]] [[Lampiran:Radikal Tionghoa/黹|黹]] <br><span style="background:pink">13</span> [[Lampiran:Radikal Tionghoa/黽|黽]] [[Lampiran:Radikal Tionghoa/鼎|鼎]] [[Lampiran:Radikal Tionghoa/鼓|鼓]] [[Lampiran:Radikal Tionghoa/鼠|鼠]] <br><span style="background:yellow">14</span> [[Lampiran:Radikal Tionghoa/鼻|鼻]] [[Lampiran:Radikal Tionghoa/齊|齊]] <br><span style="background:lightblue">15</span> [[Lampiran:Radikal Tionghoa/齒|齒]] <br><span style="background:yellow">16</span> [[Lampiran:Radikal Tionghoa/龍|龍]] [[Lampiran:Radikal Tionghoa/龜|龜]] <br><span style="background:pink">17</span> [[Lampiran:Radikal Tionghoa/龠|龠]] |} </div></div><noinclude> [[Kategori:Templat umum]] </noinclude> 0nprj5575kly2gmx8e0p50mhpwvdwez Templat:sv-noun-unc-irreg-c 10 248077 1350026 1024046 2026-04-15T11:24:44Z DelintBot 47600 Replacing [[mw:Help:Lint errors/obsolete-tag|obsolete tags]] 1350026 wikitext text/x-wiki <noinclude>[[Category:Swedish noun inflection-table templates|noun-unc-irreg-c]] [[vi:Tiêu bản:swe-noun-unc-irreg-c]] ==Usage== * <code><nowiki>{{sv-noun-unc-irreg-c}}</nowiki></code> * <code><nowiki>{{sv-noun-unc-irreg-c|tro}}</nowiki></code> * <code><nowiki>{{sv-noun-unc-irreg-c|2=tron}}</nowiki></code> * <code><nowiki>{{sv-noun-unc-irreg-c|tro|tron}}</nowiki></code> * <code><nowiki>{{sv-noun-unc-irreg-c|2=majsen|3=majs}}</nowiki></code> * <code><nowiki>{{sv-noun-unc-irreg-c|majs|majsen|majs|majsens}}</nowiki></code> * For [[diplomati]]: <code><nowiki>{{sv-noun-unc-irreg-c|ien=1}}</nowiki></code> ==Categories== * [[:Category:sv:Nomina|kata benda bahasa Swedia]] ==Output== </noinclude>{{sv-decl-noun<!-- -->|uncountable=yes<!-- -->|base={{{base|{{PAGENAME}}}}}<!-- -->|definitions={{{definitions|}}}<!-- -->|gender={{{gender|Common}}}<!-- -->| [[{{{1<includeonly>|{{PAGENAME}}</includeonly>}}}]]<!-- -->| [[{{{2<includeonly>|{{PAGENAME}}n</includeonly>}}}]]{{#if:{{{ien|}}}|<br />{{qualifier|dated}}&nbsp;[[{{PAGENAME}}en]]}}<!-- -->| -<!-- -->| -<!-- -->| [[{{{3<includeonly>|{{{1|{{PAGENAME}}}}}s</includeonly>}}}]]<!-- -->| [[{{{4<includeonly>|{{{2|{{PAGENAME}}n}}}s</includeonly>}}}]]{{#if:{{{ien|}}}|<br />{{qualifier|dated}}&nbsp;[[{{PAGENAME}}ens]]}}<!-- -->| -<!-- -->| -<!-- -->}}<!-- -->{{#ifeq:{{NAMESPACE}}||[[Category:Swedish nouns]]}} 78rvgvudq2davhgwqfw3twajyaji3ei lambuik 0 250761 1349838 1348932 2026-04-14T13:00:46Z Swarabakti 18192 1349838 wikitext text/x-wiki =={{bahasa|min}}== {{kepala|min|num=1}} : {{suara|min|LL-Q13324_(min)-Dhynyhafuza-lambuik.wav}} {{-ragam-}} *{{l|min|lombuik}} (dialek) {{-adj-|min}} # [[lembut]] #:{{syn|min|lunak|aluih}} #:'''''lambuik''' bana kue tu mah'' #:: '''lembut''' sekali kue itu {{-turunan-}} {{kotak|min|title=Gabungan kata |lamah lambuik }} {{kotak|min|title=Peribahasa |lambuik gigi pado lidah}} {{kepala|min|num=2}} {{-v-|min}} # [[lecut]] #:{{syn|min|ampeh|bae|lacuik}} #:'''''lambuik''' se lah inyo lai'' #:: '''lecut''' saja dia lagi {{-turunan-}} {{kotak|min|title=Kata turunan |dilambuiknyo |malambuik |palambuik }} {{kotak|min|title=Gabungan kata |tong palambuik |buayo malambuik lapiak }} [[Kategori:WikiTutur Padang 11 Februari 2024]] [[Kategori:WikiTutur - Minangkabau]] ik6l8ewg3vz6wyal74f8cpb0tkrppcs 1349839 1349838 2026-04-14T13:02:00Z Swarabakti 18192 1349839 wikitext text/x-wiki =={{bahasa|min}}== {{kepala|min|num=1}} : {{suara|min|LL-Q13324_(min)-Dhynyhafuza-lambuik.wav}} {{-ragam-}} * {{ragam|min|lombuik||dialek}} {{-adj-|min}} # [[lembut]] #:{{syn|min|lunak|aluih}} #: {{contoh|min|'''Lambuik''' bana kue tu mah.|'''Lembut''' sekali kue itu.}} {{-turunan-}} {{kotak|min|title=Gabungan kata |lamah lambuik }} {{kotak|min|title=Peribahasa |lambuik gigi pado lidah}} {{kepala|min|num=2}} {{-v-|min}} # [[lecut]] #: {{syn|min|ampeh|bae|lacuik}} #: {{contoh|min|'''Lambuik''' se lah inyo lai.|'''Lecut''' saja dia lagi.}} {{-turunan-}} {{kotak|min|title=Kata turunan |dilambuiknyo |malambuik |palambuik }} {{kotak|min|title=Gabungan kata |tong palambuik |buayo malambuik lapiak }} [[Kategori:WikiTutur Padang 11 Februari 2024]] [[Kategori:WikiTutur - Minangkabau]] 3ljg3wdue1padk19o9jrdkidn9jmnjd mitau' 0 262101 1349840 1288070 2026-04-14T13:04:05Z Swarabakti 18192 1349840 wikitext text/x-wiki =={{bahasa|bug}}== {{kepala|bug}} : {{suara|bug|LL-Q33190 (bug)-Annisa Tiara Ramadhani-Mitau'.wav }} {{-adj-|bug}} # [[takut]] [[Kategori:WikiTutur - Bugis]] 1rr8goz5lns34l268pph810t0kdym9e 1349841 1349840 2026-04-14T13:04:16Z Swarabakti 18192 1349841 wikitext text/x-wiki =={{bahasa|bug}}== {{kepala|bug}} : {{suara|bug|LL-Q33190 (bug)-Annisa Tiara Ramadhani-Mitau'.wa }} {{-adj-|bug}} # [[takut]] [[Kategori:WikiTutur - Bugis]] cqodogys25z4n9rn6s0lo3eacboppb2 1349842 1349841 2026-04-14T13:04:22Z Swarabakti 18192 1349842 wikitext text/x-wiki =={{bahasa|bug}}== {{kepala|bug}} : {{suara|bug|LL-Q33190 (bug)-Annisa Tiara Ramadhani-Mitau'.wav}} {{-adj-|bug}} # [[takut]] [[Kategori:WikiTutur - Bugis]] 2h70f4ol3493ok5h5vv5sscezc85usu Templat:ragam ejaan dari 10 262493 1349869 1277983 2026-04-14T14:06:55Z Swarabakti 18192 1349869 wikitext text/x-wiki {{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|<!-- -->{{#invoke:form of/templates|form_of_t|ragam {{#invoke:labels/templates/show_from|show_from|default=ejaan}} dari|withencap=1|ignore=from:list}}<!-- -->}}<!-- (end of {{check deprecated lang param usage}}) --><noinclude>{{dokumentasi}}</noinclude> sstl5rj1481xvdttsr2rge4f2htx2zd 1349873 1349869 2026-04-14T14:09:01Z Swarabakti 18192 1349873 wikitext text/x-wiki {{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|<!-- -->{{#invoke:form of/templates|form_of_t|ragam ejaan {{#invoke:labels/templates/show_from|show_from|default=}} dari|withencap=1|ignore=from:list}}<!-- -->}}<!-- (end of {{check deprecated lang param usage}}) --><noinclude>{{dokumentasi}}</noinclude> p00sk8b7vj7qfha2i2ibizepkoakqzb tikki 0 265148 1349900 1091899 2026-04-15T06:37:54Z Meylani Prisilia 44880 1349900 wikitext text/x-wiki =={{bahasa|bbc}}== {{kepala|bbc}} {{-n-|bbc}} # pada waktu itu 4x7l56k39rg0efnntiz2klgh4sizvci air mata 0 265452 1349891 1280053 2026-04-15T02:36:01Z Iripseudocorus 40083 /* Bahasa Indonesia */Perbaikan url 1349891 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{-n-|id}} # air yang keluar dari mata saat menangis #* {{RQ:20 Mei Pelopor 17 Agustus |page=9 |text='''Air mata''' kami jang titik sekarang ini perlunya semata-mata supaja bertunas bibit itu, supaja dari padanja berkembanglah nafsu hidup jang baru dan murni kemudian hari. |norm='''Air mata''' kami yang titik sekarang ini perlunya semata-mata supaya bertunas bibit itu, supaya dari padanya berkembanglah nafsu hidup yang baru dan murni kemudian hari. |url=https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/8#:~:text=Air%20mata%2C%20darah%20akan%20mengalir%20banjak2%2C%20tetapi%20tiadalah%20mengapa%3B%20semuanja%20itu%20akan%20membawa%20kearah%20kemenangan}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 3wr8ujtxx3x4qzw1jpi2fcjb13cugak 1349892 1349891 2026-04-15T02:37:25Z Iripseudocorus 40083 /* Bahasa Indonesia */ 1349892 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{-n-|id}} # air yang keluar dari mata saat menangis #* {{RQ:20 Mei Pelopor 17 Agustus |page=9 |text='''Air mata'''darah akan mengalir banjak2, tetapi tiadalah mengapa; semuanja itu akan membawa kearah kemenangan |norm='''Air mata''' darah akan mengalir banyak-banyak tetapi tiadalah mengapa, semuanya itu akan membawa ke arah kemenangan. |url=https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/8#:~:text=Air%20mata%2C%20darah%20akan%20mengalir%20banjak2%2C%20tetapi%20tiadalah%20mengapa%3B%20semuanja%20itu%20akan%20membawa%20kearah%20kemenangan}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} 03as3om4mmr4auripseqdnp5cawbtgk 1349917 1349892 2026-04-15T06:57:14Z Iripseudocorus 40083 rekam1 1349917 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|air|ma|ta}} {{suara|id|LL-Q9240 (ind)-Iripseudocorus-air mata.wav}} {{-n-|id}} # air yang keluar dari mata saat menangis #* {{RQ:20 Mei Pelopor 17 Agustus |page=9 |text='''Air mata'''darah akan mengalir banjak2, tetapi tiadalah mengapa; semuanja itu akan membawa kearah kemenangan |norm='''Air mata''' darah akan mengalir banyak-banyak tetapi tiadalah mengapa, semuanya itu akan membawa ke arah kemenangan. |url=https://id.wikisource.org/wiki/Halaman:20_Mei_Pelopor_17_Agustus_-_Museum_Dewantara_Kirti_Griya.pdf/8#:~:text=Air%20mata%2C%20darah%20akan%20mengalir%20banjak2%2C%20tetapi%20tiadalah%20mengapa%3B%20semuanja%20itu%20akan%20membawa%20kearah%20kemenangan}} {{-terjemahan-}} {{t-atas}} {{t-bawah}} {{-bacaan-}} * {{R:KBBI Daring}} {{rfv|id|impor dari KBBI}} sz1ppejaznitpngqva5u98rnl3mew76 misologi 0 265941 1349828 1288026 2026-04-14T12:40:01Z Swarabakti 18192 1349828 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} {{-n-|id}} # [[ketakutan]] terhadap [[penalaran]] atau [[argumen]] {{rfv|id|tidak ada bukti ketercatatan}} 6nx1vgro6xfjmk8hlbg2357u3z9myq0 Modul:bahasa 828 266193 1350052 1349739 2026-04-15T11:42:33Z Swarabakti 18192 1350052 Scribunto text/plain local Families = require("Module:families") local p = {} local langNames = { ["mul"] = "Lintas bahasa", -- Kode bahasa ["aa"] = "Afar", ["aaa"] = "Ghotuo", ["aab"] = "Alumu-Tesu", ["aac"] = "Ari", ["aad"] = "Amal", ["aaf"] = "Aranadan", ["aag"] = "Ambrak", ["aah"] = "Arapesh Abu'", ["aai"] = "Arifama-Miniafia", ["aak"] = "Ankave", ["aal"] = "Afade", ["aan"] = "Anambé", ["aap"] = "Arára Pará", ["aaq"] = "Penobscot", ["aas"] = "Aasax", ["aau"] = "Abau", ["aav-khs-pro"] = "Proto-Khasi", ["aav-nic-pro"] = "Proto-Nikobar", ["aav-pkl-pro"] = "Proto-Pnar-Khasi-Lyngngam", ["aav-pro"] = "Proto-Austroasiatik", ["aaw"] = "Solong", ["aax"] = "Mandobo Atas", ["aaz"] = "Amarasi", ["ab"] = "Abkhaz", ["aba"] = "Abé", ["abb"] = "Bankon", ["abc"] = "Ayta Ambala", ["abd"] = "Agta Camarines Norte", ["abe"] = "Abenaki", ["abf"] = "Abai Sungai", ["abg"] = "Abaga", ["abh"] = "Arab Tajik", ["abi"] = "Abidji", ["abj"] = "Aka-Bea", ["abl"] = "Lampung Nyo", ["abm"] = "Abanyom", ["abn"] = "Abua", ["abo"] = "Abon", ["abp"] = "Ayta Abenlen", ["abq"] = "Abaza", ["abr"] = "Abron", ["abs"] = "Melayu Ambon", ["abt"] = "Ambulas", ["abu"] = "Abure", ["abv"] = "Arab Baharna", ["abw"] = "Pal", ["abx"] = "Inabaknon", ["aby"] = "Aneme Wake", ["abz"] = "Abui", ["aca"] = "Achagua", ["acb"] = "Áncá", ["acd"] = "Gikyode", ["ace"] = "Aceh", ["ach"] = "Acholi", ["aci"] = "Aka-Cari", ["ack"] = "Aka-Kora", ["acl"] = "Akar-Bale", ["acm"] = "Arab Irak", ["acn"] = "Achang", ["acp"] = "Acipa Timur", ["acr"] = "Achi", ["acs"] = "Acroá", ["acu"] = "Achuar", ["acv"] = "Achumawi", ["acw"] = "Arab Hijaz", ["acx"] = "Arab Oman", ["acy"] = "Arab Siprus", ["acz"] = "Acheron", ["ada"] = "Adangme", ["adb"] = "Adabe", ["add"] = "Dzodinka", ["ade"] = "Adele", ["adf"] = "Arab Dhofar", ["adg"] = "Andegerebinha", ["adh"] = "Adhola", ["adi"] = "Adi", ["adj"] = "Adioukrou", ["adl"] = "Galo", ["adn"] = "Adang", ["ado"] = "Abu", ["adp"] = "Adap", ["adq"] = "Adangbe", ["adr"] = "Adonara", ["ads"] = "Isyarat Adamorobe", ["adt"] = "Adnyamathanha", ["adu"] = "Aduge", ["adw"] = "Amondawa", ["ady"] = "Adyghe", ["adz"] = "Adzera", ["ae"] = "Avestan", ["aea"] = "Areba", ["aeb"] = "Arab Tunisia", ["aed"] = "Isyarat Argentina", ["aee"] = "Pashayi Timur Laut", ["aek"] = "Haeke", ["ael"] = "Ambele", ["aem"] = "Arem", ["aen"] = "Isyarat Armenia", ["aeq"] = "Aer", ["aer"] = "Arrernte Timur", ["aes"] = "Alsea", ["aeu"] = "Akeu", ["aew"] = "Ambakich", ["aey"] = "Amele", ["aez"] = "Aeka", ["af"] = "Afrikaans", ["afa-pro"] = "Proto-Afroasiatik", ["afb"] = "Arab Teluk", ["afd"] = "Andai", ["afe"] = "Putukwam", ["afg"] = "Isyarat Afghan", ["afh"] = "Afrihili", ["afi"] = "Akrukay", ["afk"] = "Nanubae", ["afn"] = "Defaka", ["afo"] = "Eloyi", ["afp"] = "Tapei", ["afs"] = "Kreol Afro-Seminole", ["aft"] = "Afitti", ["afu"] = "Awutu", ["afz"] = "Obokuitai", ["aga"] = "Aguano", ["agb"] = "Legbo", ["agc"] = "Agatu", ["agd"] = "Agarabi", ["age"] = "Angal", ["agf"] = "Arguni", ["agg"] = "Angor", ["agh"] = "Ngelima", ["agi"] = "Agariya", ["agj"] = "Argobba", ["agk"] = "Agta Isarog", ["agl"] = "Fembe", ["agm"] = "Angaataha", ["agn"] = "Agutaynen", ["ago"] = "Tainae", ["agq"] = "Aghem", ["agr"] = "Aguaruna", ["ags"] = "Esimbi", ["agt"] = "Agta Cagayan Tengah", ["agu"] = "Aguacateca", ["agv"] = "Agta Remontado", ["agw"] = "Kahua", ["agx"] = "Aghul", ["agy"] = "Alta Selatan", ["agz"] = "Agta Mount Iriga", ["aha"] = "Ahanta", ["ahb"] = "Axamb", ["ahg"] = "Qimant", ["ahh"] = "Aghu", ["ahi"] = "Aizi Tiagbamrin", ["ahk"] = "Akha", ["ahl"] = "Igo", ["ahm"] = "Aizi Mobumrin", ["ahn"] = "Àhàn", ["aho"] = "Ahom", ["ahp"] = "Aizi Aproumu", ["ahr"] = "Ahirani", ["ahs"] = "Ashe", ["aht"] = "Ahtna", ["aia"] = "Arosi", ["aib"] = "Aynu", ["aic"] = "Ainbai", ["aid"] = "Alngith", ["aie"] = "Amara", ["aif"] = "Agi", ["aig"] = "Kreol Inggris Antigua dan Barbuda", ["aih"] = "Ai-Cham", ["aii"] = "Neo-Aramaik Asyur", ["aij"] = "Lishanid Noshan", ["aik"] = "Ake", ["ail"] = "Aimele", ["aim"] = "Aimol", ["ain"] = "Ainu", ["aio"] = "Aiton", ["aip"] = "Burumakok", ["air"] = "Airoran", ["ait"] = "Arikem", ["aiw"] = "Aari", ["aix"] = "Aighon", ["aiy"] = "Ali", ["aja"] = "Aja", ["ajg"] = "Adja", ["aji"] = "Ajië", ["ajn"] = "Andajin", ["ajp"] = "Arab Syam Selatan", ["ajw"] = "Ajawa", ["ajz"] = "Karbi Amri", ["ak"] = "Akan", ["akb"] = "Angkola", ["akc"] = "Mpur", ["akd"] = "Ukpet-Ehom", ["ake"] = "Akawaio", ["akf"] = "Akpa", ["akg"] = "Anakalangu", ["akh"] = "Angal Heneng", ["aki"] = "Aiome", ["akj"] = "Jeru", ["akk"] = "Akkad", ["akl"] = "Aklanon", ["akm"] = "Aka-Bo", ["ako"] = "Akurio", ["akp"] = "Siwu", ["akq"] = "Ak", ["akr"] = "Araki", ["aks"] = "Akaselem", ["akt"] = "Akolet", ["aku"] = "Akum", ["akv"] = "Akhvakh", ["akw"] = "Akwa", ["akx"] = "Aka-Kede", ["aky"] = "Aka-Kol", ["akz"] = "Alabama", ["ala"] = "Alago", ["alc"] = "Kawésqar", ["ald"] = "Allad", ["ale"] = "Aleut", ["alf"] = "Alege", ["alg-aga"] = "Agawam", ["alg-pro"] = "Proto-Algonquia", ["alh"] = "Alawa", ["ali"] = "Amaimon", ["alj"] = "Alangan", ["alk"] = "Alak", ["all"] = "Allar", ["alm"] = "Amblong", ["alo"] = "Larike-Wakasihu", ["alp"] = "Alune", ["alq"] = "Algonquin", ["alr"] = "Alutor", ["alt"] = "Altai Selatan", ["alu"] = "'Are'are", ["alv-ama"] = "Amasi", ["alv-bgu"] = "Baïnounk Gubëeher", ["alv-bua-pro"] = "Proto-Bua", ["alv-cng-pro"] = "Proto-Cangin", ["alv-edk-pro"] = "Proto-Edekiri", ["alv-edo-pro"] = "Proto-Edoid", ["alv-fli-pro"] = "Proto-Fali", ["alv-gbe-pro"] = "Proto-Gbe", ["alv-gng-pro"] = "Proto-Guang", ["alv-gtm-pro"] = "Proto-Togo Tengah", ["alv-gwa"] = "Gwara", ["alv-hei-pro"] = "Proto-Heiban", ["alv-ido-pro"] = "Proto-Idomoid", ["alv-igb-pro"] = "Proto-Igboid", ["alv-kwa-pro"] = "Proto-Kwa", ["alv-mum-pro"] = "Proto-Mumuye", ["alv-nup-pro"] = "Proto-Nupoid", ["alv-pro"] = "Proto-Atlantik-Kongo", ["alv-von-pro"] = "Proto-Volta-Niger", ["alv-yor-pro"] = "Proto-Yoruba", ["alv-yrd-pro"] = "Proto-Yoruboid", ["alw"] = "Alaba", ["alx"] = "Amol", ["aly"] = "Alyawarr", ["alz"] = "Alur", ["am"] = "Amharik", ["ama"] = "Amanayé", ["amb"] = "Ambo", ["amc"] = "Amahuaca", ["ame"] = "Yanesha'", ["amf"] = "Hamer-Banna", ["amg"] = "Amurdag", ["ami"] = "Amis", ["amj"] = "Amdang", ["amk"] = "Ambai", ["aml"] = "War-Jaintia", ["amm"] = "Ama", ["amn"] = "Amanab", ["amo"] = "Amo", ["amp"] = "Alamblak", ["amq"] = "Amahai", ["amr"] = "Amarakaeri", ["ams"] = "Amami-Oshima Selatan", ["amt"] = "Amto", ["amu"] = "Amuzgo Guerrero", ["amv"] = "Ambelau", ["amw"] = "Neo-Aramaik Barat", ["amx"] = "Anmatyerre", ["amy"] = "Ami", ["amz"] = "Atampaya", ["an"] = "Aragon", ["ana"] = "Andaqui", ["anb"] = "Andoa", ["anc"] = "Ngas", ["and"] = "Ansus", ["ane"] = "Xârâcùù", ["anf"] = "Animere", ["ang"] = "Inggris Kuno", ["anh"] = "Nend", ["ani"] = "Andi", ["anj"] = "Anor", ["ank"] = "Goemai", ["anl"] = "Anu", ["anm"] = "Anal", ["ann"] = "Obolo", ["ano"] = "Andoque", ["anp"] = "Angika", ["anq"] = "Jarawa", ["anr"] = "Andh", ["ans"] = "Anserma", ["ant"] = "Antakarinya", ["anu"] = "Anuak", ["anv"] = "Denya", ["anw"] = "Anaang", ["anx"] = "Andra-Hus", ["any"] = "Anyi", ["anz"] = "Anem", ["aoa"] = "Angolar", ["aob"] = "Abom", ["aoc"] = "Pemon", ["aod"] = "Andarum", ["aoe"] = "Angal Enen", ["aof"] = "Bragat", ["aog"] = "Angoram", ["aoi"] = "Anindilyakwa", ["aoj"] = "Mufian", ["aok"] = "Arhö", ["aol"] = "Alor", ["aom"] = "Ömie", ["aon"] = "Arapesh Bumbita", ["aor"] = "Aore", ["aos"] = "Taikat", ["aot"] = "Atong (India)", ["aou"] = "A'ou", ["aox"] = "Atorada", ["aoz"] = "Uab Meto", ["apa-pro"] = "Proto-Apache", ["apb"] = "Sa'a", ["apc"] = "Arab Syam Utara", ["apd"] = "Arab Sudan", ["ape"] = "Bukiyip", ["apf"] = "Agta Pahanan", ["apg"] = "Ampanang", ["aph"] = "Athpare", ["api"] = "Apiaká", ["apj"] = "Jicarilla", ["apk"] = "Apache Plains", ["apl"] = "Lipan", ["apm"] = "Chiricahua", ["apn"] = "Apinayé", ["apo"] = "Ambul", ["app"] = "Apma", ["apq"] = "A-Pucikwar", ["apr"] = "Arop-Lokep", ["aps"] = "Arop-Sissano", ["apt"] = "Apatani", ["apu"] = "Apurinã", ["apv"] = "Alapmunte", ["apw"] = "Apache Barat", ["apx"] = "Aputai", ["apy"] = "Apalaí", ["apz"] = "Safeyoka", ["aqc"] = "Archi", ["aqd"] = "Dogon Ampari", ["aqg"] = "Arigidi", ["aql-pro"] = "Proto-Algic", ["aqm"] = "Atohwaim", ["aqn"] = "Alta Utara", ["aqp"] = "Atakapa", ["aqr"] = "Arhâ", ["aqt"] = "Angaité", ["aqz"] = "Akuntsu", ["ar"] = "Arab", ["arc"] = "Aramaik", ["ard"] = "Arabana", ["are"] = "Arrernte Barat", ["arh"] = "Arhuaco", ["ari"] = "Arikara", ["arj"] = "Arapaso", ["ark"] = "Arikapú", ["arl"] = "Arabela", ["arn"] = "Mapudungun", ["aro"] = "Araona", ["arp"] = "Arapaho", ["arq"] = "Arab Aljazair", ["arr"] = "Arara-Karo", ["ars"] = "Arab Najdi", ["art-blk"] = "Bolak", ["art-bsp"] = "Black Speech", ["art-com"] = "Communicationssprache", ["art-dtk"] = "Dothraki", ["art-elo"] = "Eloi", ["art-gld"] = "Goa'uld", ["art-lap"] = "Lapine", ["art-man"] = "Mandalorian", ["art-mun"] = "Mundolinco", ["art-nav"] = "Na'vi", ["art-nox"] = "Noxilo", ["art-una"] = "Unas", ["art-vlh"] = "High Valyrian", ["aru"] = "Arua", ["arv"] = "Arbore", ["arw"] = "Arawak", ["arx"] = "Aruá", ["ary"] = "Arab Moroko", ["arz"] = "Arab Mesir", ["as"] = "Assam", ["asa"] = "Pare", ["asb"] = "Assiniboine", ["asc"] = "Asmat Pesisir Casuarina", ["ase"] = "Isyarat Amerika Serikat", ["asf"] = "Auslan", ["asg"] = "Cishingini", ["ash"] = "Abishira", ["asi"] = "Buruwai", ["asj"] = "Nsari", ["ask"] = "Ashkun", ["asl"] = "Asilulu", ["asn"] = "Xingú Asuriní", ["aso"] = "Dano", ["asp"] = "Isyarat Aljazair", ["asq"] = "Isyarat Austria", ["asr"] = "Asuri", ["ass"] = "Ipulo", ["ast"] = "Asturia", ["asu"] = "Tocantins Asurini", ["asv"] = "Asoa", ["asw"] = "Isyarat Aborigin Australia", ["asx"] = "Muratayak", ["asy"] = "Asmat Yaosakor", ["asz"] = "As", ["ata"] = "Pele-Ata", ["atb"] = "Zaiwa", ["atc"] = "Atsahuaca", ["atd"] = "Manobo Ata", ["ate"] = "Atemble", ["atg"] = "Okpela", ["ath-nic"] = "Nicola", ["ath-pro"] = "Proto-Athabaskan", ["ati"] = "Attié", ["atj"] = "Atikamekw", ["atk"] = "Ati", ["atl"] = "Agta Mount Iraya", ["atm"] = "Ata", ["ato"] = "Atong (Kamerun)", ["atp"] = "Atta Pudtol", ["atq"] = "Aralle-Tabulahan", ["atr"] = "Waimiri-Atroari", ["ats"] = "Gros Ventre", ["att"] = "Atta Pamplona", ["atu"] = "Reel", ["atv"] = "Altai Utara", ["atw"] = "Atsugewi", ["atx"] = "Arutani", ["aty"] = "Aneityum", ["atz"] = "Arta", ["aua"] = "Asumboa", ["aub"] = "Alugu", ["auc"] = "Huaorani", ["aud"] = "Anuta", ["auf-pro"] = "Proto-Arawa", ["aug"] = "Aguna", ["auh"] = "Aushi", ["aui"] = "Anuki", ["auj"] = "Awjila", ["auk"] = "Heyo", ["aul"] = "Aulua", ["aum"] = "Asu", ["aun"] = "One Molmo", ["auo"] = "Auyokawa", ["aup"] = "Makayam", ["auq"] = "Anus", ["aur"] = "Aruek", ["aus-alu"] = "Alungul", ["aus-and"] = "Andjingith", ["aus-ang"] = "Angkula", ["aus-arn-pro"] = "Proto-Arnhem", ["aus-bra"] = "Barranbinya", ["aus-brm"] = "Barunggam", ["aus-cww-pro"] = "Proto-New South Wales Tengah", ["aus-dal-pro"] = "Proto-Daly", ["aus-guw"] = "Guwar", ["aus-lsw"] = "Little Swanport", ["aus-mbi"] = "Mbiywom", ["aus-ngk"] = "Ngkoth", ["aus-nyu-pro"] = "Proto-Nyulnyulan", ["aus-pam-pro"] = "Proto-Pama-Nyungan", ["aus-tul"] = "Tulua", ["aus-uwi"] = "Uwinymil", ["aus-wdj-pro"] = "Proto-Iwaidjan", ["aus-won"] = "Wong-gie", ["aus-wul"] = "Wulguru", ["aus-ynk"] = "Yangkaal", ["aut"] = "Austral", ["auu"] = "Auye", ["auw"] = "Awyi", ["aux"] = "Aurá", ["auy"] = "Auyana", ["auz"] = "Arab Uzbek", ["av"] = "Avar", ["avb"] = "Avau", ["avd"] = "Alviri-Vidari", ["avi"] = "Avikam", ["avk"] = "Kotava", ["avm"] = "Angkamuthi", ["avn"] = "Avatime", ["avo"] = "Agavotaguerra", ["avs"] = "Aushiri", ["avt"] = "Au", ["avu"] = "Avokaya", ["avv"] = "Avá-Canoeiro", ["awa"] = "Awadhi", ["awb"] = "Awa (Papua)", ["awc"] = "Cicipu", ["awd-ama"] = "Amarizana", ["awd-amc-pro"] = "Proto-Amuesha-Chamicuro", ["awd-ana"] = "Anauyá", ["awd-apo"] = "Apolista", ["awd-cav"] = "Cavere", ["awd-gnu"] = "Guinau", ["awd-kar"] = "Cariay", ["awd-kaw"] = "Kawishana", ["awd-kmp-pro"] = "Proto-Kampa", ["awd-kus"] = "Kustenau", ["awd-man"] = "Manao", ["awd-mar"] = "Marawan", ["awd-mpr"] = "Maypure", ["awd-mrt"] = "Mariaté", ["awd-nwk-pro"] = "Proto-Nawiki", ["awd-pai"] = "Paikoneka", ["awd-pas"] = "Passé", ["awd-pro"] = "Proto-Arawak", ["awd-prw-pro"] = "Proto-Paresi-Waura", ["awd-she"] = "Shebayo", ["awd-taa-pro"] = "Proto-Ta-Arawak", ["awd-wai"] = "Wainumá", ["awd-yum"] = "Yumana", ["awe"] = "Awetí", ["awg"] = "Anguthimri", ["awh"] = "Awbono", ["awi"] = "Aekyom", ["awk"] = "Awabakal", ["awm"] = "Arawum", ["awn"] = "Awngi", ["awo"] = "Awak", ["awr"] = "Awera", ["aws"] = "Awyu Selatan", ["awt"] = "Araweté", ["awu"] = "Awyu Tengah", ["awv"] = "Awyu Jair", ["aww"] = "Awun", ["awx"] = "Awara", ["awy"] = "Awyu Edera", ["axb"] = "Abipon", ["axe"] = "Ayerrerenge", ["axg"] = "Arára Mato Grosso", ["axk"] = "Aka (Afrika Tengah)", ["axl"] = "Aranda Selatan Bawah", ["axm"] = "Armenia Tengahan", ["axx"] = "Xaragure", ["ay"] = "Aymara", ["aya"] = "Awar", ["ayb"] = "Ayizo", ["ayd"] = "Ayabadhu", ["aye"] = "Ayere", ["ayg"] = "Nyanga (Togo)", ["ayi"] = "Leyigha", ["ayk"] = "Akuku", ["ayl"] = "Arab Libya", ["ayn"] = "Arab Yemen", ["ayo"] = "Ayoreo", ["ayp"] = "Arab Mesopotamia Utara", ["ayq"] = "Ayi", ["ays"] = "Sorsogon Ayta", ["ayt"] = "Ayta Bataan", ["ayu"] = "Ayu", ["ayy"] = "Ayta Tayabas", ["ayz"] = "Maybrat", ["az"] = "Azerbaijan", ["aza"] = "Azha", ["azc-caz"] = "Cazcan", ["azc-cup-pro"] = "Proto-Cupan", ["azc-ktn"] = "Kitanemuk", ["azc-nah-pro"] = "Proto-Nahuan", ["azc-num-pro"] = "Proto-Numic", ["azc-pro"] = "Proto-Uto-Aztecan", ["azc-tak-pro"] = "Proto-Takic", ["azc-tat"] = "Tataviam", ["azd"] = "Nahuatl Durango Timur", ["azg"] = "Amuzgo San Pedro Amuzgos", ["azm"] = "Amuzgo Ipalapa", ["azn"] = "Nahuatl Durango Barat", ["azo"] = "Awing", ["azt"] = "Atta Faire", ["azz"] = "Nahuatl Pegunungan Puebla", ["ba"] = "Bashkir", ["baa"] = "Babatana", ["bab"] = "Bainouk-Gunyuño", ["bac"] = "Baduy", ["bae"] = "Baré", ["baf"] = "Nubaca", ["bag"] = "Tuki", ["bah"] = "Kreol Bahama", ["baj"] = "Barakai", ["bal"] = "Baluchi", ["ban"] = "Bali", ["bao"] = "Waimaha", ["bap"] = "Bantawa", ["bar"] = "Bavaria", ["bas"] = "Basaa", ["bau"] = "Badanchi", ["bav"] = "Babungo", ["baw"] = "Bambili-Bambui", ["bax"] = "Bamum", ["bay"] = "Batuley", ["bba"] = "Baatonum", ["bbb"] = "Barai", ["bbc"] = "Batak Toba", ["bbd"] = "Bau", ["bbe"] = "Bangba", ["bbf"] = "Baibai", ["bbg"] = "Barama", ["bbh"] = "Bugan", ["bbi"] = "Barombi", ["bbj"] = "Ghomala'", ["bbk"] = "Babanki", ["bbl"] = "Bats", ["bbm"] = "Babango", ["bbn"] = "Uneapa", ["bbo"] = "Konabéré", ["bbp"] = "Banda Tengah Barat", ["bbq"] = "Bamali", ["bbr"] = "Girawa", ["bbs"] = "Bakpinka", ["bbt"] = "Mburku", ["bbu"] = "Bakulung", ["bbv"] = "Karnai", ["bbw"] = "Baba", ["bbx"] = "Bubia", ["bby"] = "Befang", ["bca"] = "Bai Tengah", ["bcb"] = "Bainouk-Samik", ["bcd"] = "Babar Utara", ["bce"] = "Bamenyam", ["bcf"] = "Bamu", ["bcg"] = "Baga Pokur", ["bch"] = "Bariai", ["bci"] = "Baoule", ["bcj"] = "Bardi", ["bck"] = "Bunaba", ["bcl"] = "Bikol Tengah", ["bcm"] = "Banoni", ["bcn"] = "Bibaali", ["bco"] = "Kaluli", ["bcp"] = "Bali (Kongo)", ["bcq"] = "Bench", ["bcr"] = "Babine-Witsuwit'en", ["bcs"] = "Kohumono", ["bct"] = "Bendi", ["bcu"] = "Biliau", ["bcv"] = "Shoo-Minda-Nye", ["bcw"] = "Bana", ["bcy"] = "Bacama", ["bcz"] = "Bainouk-Gunyaamolo", ["bda"] = "Bayot", ["bdb"] = "Basap", ["bdc"] = "Emberá-Baudó", ["bdd"] = "Bunama", ["bde"] = "Bade", ["bdf"] = "Biage", ["bdg"] = "Bonggi", ["bdh"] = "Tara Baka", ["bdi"] = "Burun", ["bdj"] = "Bai", ["bdk"] = "Budukh", ["bdl"] = "Bajau (Indonesia)", ["bdm"] = "Buduma", ["bdn"] = "Baldemu", ["bdo"] = "Morom", ["bdp"] = "Bende", ["bdq"] = "Bahnar", ["bdr"] = "Bajau Pesisir Barat", ["bds"] = "Burunge", ["bdt"] = "Bokoto", ["bdu"] = "Oroko", ["bdv"] = "Bodo Parja", ["bdw"] = "Baham", ["bdx"] = "Budong-Budong", ["bdy"] = "Bandjalang", ["bdz"] = "Badeshi", ["be"] = "Belarus", ["bea"] = "Beaver", ["beb"] = "Bebele", ["bec"] = "Iceve-Maci", ["bed"] = "Bedoanas", ["bee"] = "Byangsi", ["bef"] = "Benabena", ["beg"] = "Belait", ["beh"] = "Biali", ["bei"] = "Bekati'", ["bej"] = "Beja", ["bek"] = "Bebeli", ["bem"] = "Bemba", ["beo"] = "Beami", ["bep"] = "Besoa", ["beq"] = "Beembe", ["ber-fog"] = "Fogaha", ["ber-pro"] = "Proto-Berber", ["ber-zuw"] = "Zuwara", ["bes"] = "Besme", ["bet"] = "Bété Guiberoua", ["beu"] = "Blagar", ["bev"] = "Bété Daloa", ["bew"] = "Betawi", ["bex"] = "Jur Modo", ["bey"] = "Akuwagel", ["bez"] = "Kibena", ["bfa"] = "Bari", ["bfb"] = "Bareli Pauri", ["bfc"] = "Bai Utara", ["bfd"] = "Bafut", ["bfe"] = "Betaf", ["bff"] = "Bofi", ["bfg"] = "Kayan Busang", ["bfh"] = "Blafe", ["bfi"] = "Isyarat Britania", ["bfj"] = "Bafanji", ["bfk"] = "Isyarat Ban Khor", ["bfl"] = "Banda-Ndélé", ["bfm"] = "Mmen", ["bfn"] = "Bunak", ["bfo"] = "Birifor Malba", ["bfp"] = "Beba", ["bfq"] = "Badaga", ["bfr"] = "Bazigar", ["bfs"] = "Bai Selatan", ["bft"] = "Balti", ["bfu"] = "Gahri", ["bfw"] = "Bondo", ["bfx"] = "Bantayanon", ["bfy"] = "Bagheli", ["bfz"] = "Pahari Mahasu", ["bg"] = "Bulgaria", ["bga"] = "Gwamhi-Wuri", ["bgb"] = "Bobongko", ["bgc"] = "Haryanvi", ["bgd"] = "Bareli Rathwi", ["bge"] = "Bauria", ["bgf"] = "Bangandu", ["bgg"] = "Bugun", ["bgi"] = "Giangan", ["bgj"] = "Bangolan", ["bgk"] = "Bit", ["bgl"] = "Bo", ["bgo"] = "Baga Koga", ["bgq"] = "Bagri", ["bgr"] = "Chin Bawm", ["bgs"] = "Tagabawa", ["bgt"] = "Bughotu", ["bgu"] = "Mbongno", ["bgv"] = "Warkay-Bipim", ["bgw"] = "Bhatri", ["bgx"] = "Turki Balkan Gagauz", ["bgy"] = "Benggoi", ["bgz"] = "Banggai", ["bh"] = "Bihar", ["bha"] = "Bharia", ["bhb"] = "Bhili", ["bhc"] = "Biga", ["bhd"] = "Bhadrawahi", ["bhe"] = "Bhaya", ["bhf"] = "Odiai", ["bhg"] = "Binandere", ["bhh"] = "Bukhari", ["bhi"] = "Bhilali", ["bhj"] = "Bahing", ["bhl"] = "Bimin", ["bhm"] = "Bathari", ["bhn"] = "Neo-Aramaik Bohtan", ["bho"] = "Bhojpuri", ["bhp"] = "Bima", ["bhq"] = "Tukang Besi Selatan", ["bhs"] = "Buwal", ["bht"] = "Bhattiyali", ["bhu"] = "Bhunjia", ["bhv"] = "Bahau", ["bhw"] = "Biak", ["bhx"] = "Bhalay", ["bhy"] = "Bhele", ["bhz"] = "Bada", ["bi"] = "Bislama", ["bia"] = "Badimaya", ["bib"] = "Bissa", ["bic"] = "Bikaru", ["bid"] = "Bidiyo", ["bie"] = "Bepour", ["bif"] = "Biafada", ["big"] = "Biangai", ["bij"] = "Kwanka", ["bil"] = "Bile", ["bim"] = "Bimoba", ["bin"] = "Edo", ["bio"] = "Nai", ["bip"] = "Bila", ["biq"] = "Bipi", ["bir"] = "Bisorio", ["bit"] = "Berinomo", ["biu"] = "Biete", ["biv"] = "Birifor Selatan", ["biw"] = "Kol (Kamerun)", ["bix"] = "Bijori", ["biy"] = "Birhor", ["biz"] = "Baloi", ["bja"] = "Budza", ["bjb"] = "Barngarla", ["bjc"] = "Bariji", ["bje"] = "Mien Biao-Jiao", ["bjf"] = "Neo-Aramaik Barzani Jewish", ["bjg"] = "Bidyogo", ["bjh"] = "Bahinemo", ["bji"] = "Burji", ["bjj"] = "Kannauji", ["bjk"] = "Barok", ["bjl"] = "Bulu (Papua)", ["bjm"] = "Bajelani", ["bjn"] = "Banjar", ["bjo"] = "Banda Selatan-Tengah", ["bjp"] = "Fanamaket", ["bjr"] = "Binumarien", ["bjs"] = "Bajan", ["bjt"] = "Balanta-Ganja", ["bju"] = "Busuu", ["bjv"] = "Bedjond", ["bjw"] = "Bakwé", ["bjx"] = "Itneg Banao", ["bjy"] = "Bayali", ["bjz"] = "Baruga", ["bka"] = "Kyak", ["bkc"] = "Baka", ["bkd"] = "Binukid", ["bkf"] = "Beeke", ["bkg"] = "Buraka", ["bkh"] = "Bakoko", ["bki"] = "Baki", ["bkj"] = "Pande", ["bkk"] = "Brokskat", ["bkl"] = "Berik", ["bkm"] = "Kom (Kamerun)", ["bkn"] = "Bukitan", ["bko"] = "Kwa'", ["bkp"] = "Iboko", ["bkq"] = "Bakairí", ["bkr"] = "Bakumpai", ["bks"] = "Sorsogon Masbate", ["bkt"] = "Boloki", ["bku"] = "Buhid", ["bkv"] = "Bekwarra", ["bkw"] = "Bekwel", ["bkx"] = "Baikeno", ["bky"] = "Bokyi", ["bkz"] = "Bungku", ["bla"] = "Blackfoot", ["blb"] = "Bilua", ["blc"] = "Bella Coola", ["bld"] = "Bolango", ["ble"] = "Balanta-Kentohe", ["blf"] = "Buol", ["blg"] = "Balau", ["blh"] = "Kuwaa", ["bli"] = "Bolia", ["blj"] = "Bolongan", ["blk"] = "Karen Pa'o", ["bll"] = "Biloxi", ["blm"] = "Beli", ["bln"] = "Bicolano Catanduanes Selatan", ["blo"] = "Anii", ["blp"] = "Blablanga", ["blq"] = "Baluan-Pam", ["blr"] = "Blang", ["bls"] = "Balaesang", ["blt"] = "Tai Dam", ["blv"] = "Kibala", ["blw"] = "Balangao", ["blx"] = "Ayta Mag-Indi", ["bly"] = "Notre", ["blz"] = "Balantak", ["bm"] = "Bambara", ["bma"] = "Lame", ["bmb"] = "Bembe", ["bmc"] = "Biem", ["bmd"] = "Baga Manduri", ["bme"] = "Limassa", ["bmf"] = "Bom", ["bmg"] = "Bamwe", ["bmh"] = "Kein", ["bmi"] = "Bagirmi", ["bmj"] = "Bote-Majhi", ["bmk"] = "Ghayavi", ["bml"] = "Bomboli", ["bmn"] = "Bina", ["bmo"] = "Bambalang", ["bmp"] = "Bulgebi", ["bmq"] = "Bomu", ["bmr"] = "Muinane", ["bmt"] = "Mon Biao", ["bmu"] = "Somba-Siawari", ["bmv"] = "Bum", ["bmw"] = "Bomwali", ["bmx"] = "Baimak", ["bmz"] = "Baramu", ["bn"] = "Bengali", ["bna"] = "Bonerate", ["bnb"] = "Bookan", ["bnd"] = "Banda", ["bne"] = "Bintauna", ["bnf"] = "Masiwang", ["bng"] = "Benga", ["bni"] = "Bangi", ["bnj"] = "Tawbuid Timur", ["bnk"] = "Bierebo", ["bnl"] = "Boon", ["bnm"] = "Batanga", ["bnn"] = "Bunun", ["bno"] = "Asi", ["bnp"] = "Bola", ["bnq"] = "Bantik", ["bnr"] = "Butmas-Tur", ["bns"] = "Bundeli", ["bnt-bal"] = "Balong", ["bnt-bon"] = "Boma Nkuu", ["bnt-boy"] = "Boma Yumu", ["bnt-bwa"] = "Bwala", ["bnt-cmw"] = "Chimwiini", ["bnt-ind"] = "Indanga", ["bnt-lal"] = "Lala (Afrika Selatan)", ["bnt-lwl"] = "Lwel", ["bnt-mpi"] = "Mpiin", ["bnt-mpu"] = "Mpuono", ["bnt-ngu-pro"] = "Proto-Nguni", ["bnt-phu"] = "Phuthi", ["bnt-pro"] = "Proto-Bantu", ["bnt-sbo"] = "Boma Selatan", ["bnt-sts-pro"] = "Proto-Sotho-Tswana", ["bnu"] = "Bentong", ["bnv"] = "Beneraf", ["bnw"] = "Bisis", ["bnx"] = "Bangubangu", ["bny"] = "Bintulu", ["bnz"] = "Beezen", ["bo"] = "Tibet", ["boa"] = "Bora", ["bob"] = "Aweer", ["boe"] = "Mundabli", ["bof"] = "Bolon", ["bog"] = "Isyarat Bamako", ["boh"] = "Boma Utara", ["boi"] = "Barbareño", ["boj"] = "Anjam", ["bok"] = "Bonjo", ["bol"] = "Bole", ["bom"] = "Berom", ["bon"] = "Bine", ["boo"] = "Bozo Tiemacèwè", ["bop"] = "Bonkiman", ["boq"] = "Bogaya", ["bor"] = "Borôro", ["bot"] = "Bongo", ["bou"] = "Bondei", ["bov"] = "Tuwuli", ["bow"] = "Rema", ["box"] = "Buamu", ["boy"] = "Bodo (Afrika Tengah)", ["boz"] = "Bozo Tiéyaxo", ["bpa"] = "Dakaka", ["bpd"] = "Banda-Banda", ["bpg"] = "Bonggo", ["bph"] = "Botlikh", ["bpi"] = "Bagupi", ["bpj"] = "Binji", ["bpk"] = "Orowe", ["bpl"] = "Pijin Broome Pearling Lugger", ["bpm"] = "Biyom", ["bpn"] = "Dzao Min", ["bpo"] = "Anasi", ["bpp"] = "Kaure", ["bpq"] = "Melayu Banda", ["bpr"] = "Blaan Koronadal", ["bps"] = "Blaan Sarangani", ["bpt"] = "Barrow Point", ["bpu"] = "Bongu", ["bpv"] = "Marind Bian", ["bpx"] = "Bareli Palya", ["bpy"] = "Manipuri Bishnupriya", ["bpz"] = "Bilba", ["bqa"] = "Tchumbuli", ["bqb"] = "Bagusa", ["bqc"] = "Boko", ["bqd"] = "Bung", ["bqf"] = "Baga Kaloum", ["bqg"] = "Bago-Kusuntu", ["bqh"] = "Baima", ["bqi"] = "Bakhtiari", ["bqj"] = "Bandial", ["bqk"] = "Banda-Mbrès", ["bql"] = "Bilakura", ["bqm"] = "Wumboko", ["bqn"] = "Isyarat Bulgaria", ["bqo"] = "Balo", ["bqp"] = "Busa", ["bqq"] = "Biritai", ["bqr"] = "Burusu", ["bqs"] = "Bosngun", ["bqt"] = "Bamukumbit", ["bqu"] = "Boguru", ["bqv"] = "Begbere-Ejar", ["bqw"] = "Buru (Nigeria)", ["bqx"] = "Baangi", ["bqy"] = "Isyarat Bengkala", ["bqz"] = "Bakaka", ["br"] = "Breton", ["bra"] = "Braj", ["brb"] = "Lave", ["brc"] = "Kreol Belanda Berbice", ["brd"] = "Baraamu", ["brf"] = "Bera", ["brg"] = "Baure", ["brh"] = "Brahui", ["bri"] = "Mokpwe", ["brj"] = "Bieria", ["brk"] = "Birgid", ["brl"] = "Birwa", ["brm"] = "Barambu", ["brn"] = "Boruca", ["bro"] = "Brokkat", ["brp"] = "Barapasi", ["brq"] = "Breri", ["brr"] = "Birao", ["brs"] = "Baras", ["brt"] = "Bitare", ["bru"] = "Bru Timur", ["brv"] = "Bru Barat", ["brw"] = "Bellari", ["brx"] = "Bodo (India)", ["bry"] = "Burui", ["brz"] = "Bilbil", ["bsa"] = "Abinomn", ["bsb"] = "Bisaya Brunei", ["bsc"] = "Bassari", ["bse"] = "Wushi", ["bsf"] = "Bauchi", ["bsg"] = "Bashkardi", ["bsh"] = "Kamkata-viri", ["bsi"] = "Bassossi", ["bsj"] = "Bangwinji", ["bsk"] = "Burushaski", ["bsl"] = "Basa-Gumna", ["bsm"] = "Busami", ["bsn"] = "Barasana", ["bso"] = "Buso", ["bsp"] = "Baga Sitemu", ["bsq"] = "Bassa", ["bsr"] = "Bassa-Kontagora", ["bss"] = "Akoose", ["bst"] = "Basketo", ["bsu"] = "Bahonsuai", ["bsv"] = "Baga Sobané", ["bsw"] = "Baiso", ["bsx"] = "Yangkam", ["bsy"] = "Bisaya Sabah", ["bta"] = "Bata", ["btc"] = "Bati (Kamerun)", ["btd"] = "Pakpak", ["bte"] = "Gamo-Ningi", ["btf"] = "Birgit", ["btg"] = "Bété Gagnoa", ["bth"] = "Bidayuh Biatah", ["bti"] = "Burate", ["btj"] = "Melayu Bacan", ["btk-pro"] = "Proto-Batak", ["btm"] = "Mandailing", ["btn"] = "Ratagnon", ["bto"] = "Bicolano Iriga", ["btp"] = "Budibud", ["btq"] = "Batek", ["btr"] = "Baetora", ["bts"] = "Simalungun", ["btt"] = "Bete-Bendi", ["btu"] = "Batu", ["btv"] = "Bateri", ["btw"] = "Butuanon", ["btx"] = "Karo", ["bty"] = "Bobot", ["btz"] = "Alas-Kluet", ["bua"] = "Buryat", ["bub"] = "Bua", ["bud"] = "Ntcham", ["bue"] = "Beothuk", ["buf"] = "Bushoong", ["bug"] = "Bugis", ["buh"] = "Bunu Younuo", ["bui"] = "Bongili", ["buj"] = "Basa-Gurmana", ["buk"] = "Bukawa", ["bum"] = "Bulu (Kamerun)", ["bun"] = "Sherbro", ["buo"] = "Terei", ["bup"] = "Busoa", ["buq"] = "Brem", ["bus"] = "Bokobaru", ["but"] = "Bungain", ["buu"] = "Budu", ["buv"] = "Bun", ["buw"] = "Bubi", ["bux"] = "Boghom", ["buy"] = "Mmani", ["bva"] = "Barein", ["bvb"] = "Bube", ["bvc"] = "Baelelea", ["bvd"] = "Baeggu", ["bve"] = "Melayu Berau", ["bvf"] = "Boor", ["bvg"] = "Bonkeng", ["bvh"] = "Bure", ["bvi"] = "Belanda Viri", ["bvj"] = "Baan", ["bvk"] = "Bukat", ["bvl"] = "Isyarat Bolivia", ["bvm"] = "Bamunka", ["bvn"] = "Buna", ["bvo"] = "Bolgo", ["bvp"] = "Bumang", ["bvq"] = "Birri", ["bvr"] = "Burarra", ["bvt"] = "Bati (Indonesia)", ["bvu"] = "Meratus", ["bvv"] = "Baniva", ["bvw"] = "Boga", ["bvx"] = "Babole", ["bvy"] = "Baybayanon", ["bvz"] = "Bauzi", ["bwa"] = "Bwatoo", ["bwb"] = "Namosi-Naitasiri-Serua", ["bwc"] = "Bwile", ["bwd"] = "Bwaidoka", ["bwe"] = "Karen Bwe", ["bwf"] = "Boselewa", ["bwg"] = "Barwe", ["bwh"] = "Bishuo", ["bwi"] = "Baniwa", ["bwj"] = "Bwamu Láá Láá", ["bwk"] = "Bauwaki", ["bwl"] = "Bwela", ["bwm"] = "Biwat", ["bwn"] = "Bunu Wunai", ["bwo"] = "Shinasha", ["bwp"] = "Mandobo Bawah", ["bwq"] = "Bobo Selatan", ["bwr"] = "Bura", ["bws"] = "Bomboma", ["bwt"] = "Bafaw", ["bwu"] = "Buli (Ghana)", ["bww"] = "Bwa", ["bwx"] = "Bunu Bu-Nao", ["bwy"] = "Bwamu Cwi", ["bwz"] = "Bwisi", ["bxa"] = "Bauro", ["bxb"] = "Belanda Bor", ["bxc"] = "Molengue", ["bxd"] = "Pela", ["bxe"] = "Ongota", ["bxf"] = "Bilur", ["bxg"] = "Bangala", ["bxh"] = "Buhutu", ["bxi"] = "Pirlatapa", ["bxj"] = "Bayungu", ["bxk"] = "Bukusu", ["bxl"] = "Jalkunan", ["bxn"] = "Burduna", ["bxo"] = "Barikanchi", ["bxp"] = "Bebil", ["bxq"] = "Beele", ["bxs"] = "Busam", ["bxv"] = "Berakou", ["bxw"] = "Banka", ["bxz"] = "Binahari", ["bya"] = "Batak Palawan", ["byb"] = "Bikya", ["byc"] = "Ubaghara", ["byd"] = "Benyadu'", ["bye"] = "Pouye", ["byf"] = "Bete", ["byg"] = "Baygo", ["byh"] = "Bujhyal", ["byi"] = "Buyu", ["byj"] = "Binawa", ["byk"] = "Biao", ["byl"] = "Bayono", ["bym"] = "Bidyara", ["byn"] = "Blin", ["byo"] = "Biyo", ["byp"] = "Bumaji", ["byq"] = "Basay", ["byr"] = "Baruya", ["bys"] = "Burak", ["byt"] = "Berti", ["byv"] = "Medumba", ["byw"] = "Belhariya", ["byx"] = "Qaqet", ["byz"] = "Banaro", ["bza"] = "Bandi", ["bzb"] = "Andio", ["bzd"] = "Bribri", ["bze"] = "Bozo Jenaama", ["bzf"] = "Boikin", ["bzg"] = "Babuza", ["bzh"] = "Buang Mapos", ["bzi"] = "Bisu", ["bzj"] = "Kreol Belize", ["bzk"] = "Kreol Nikaragua", ["bzl"] = "Boano (Sulawesi)", ["bzm"] = "Bolondo", ["bzn"] = "Boano (Maluku)", ["bzo"] = "Bozaba", ["bzp"] = "Kemberano", ["bzq"] = "Buli (Indonesia)", ["bzr"] = "Biri", ["bzs"] = "Isyarat Brasil", ["bzu"] = "Burmeso", ["bzv"] = "Bebe", ["bzw"] = "Basa", ["bzx"] = "Bozo Hainyaxo", ["bzy"] = "Obanliku", ["bzz"] = "Evant", ["ca"] = "Katala", ["caa"] = "Ch'orti'", ["cab"] = "Garifuna", ["cac"] = "Chuj", ["cad"] = "Caddo", ["cae"] = "Laalaa", ["caf"] = "Carrier Selatan", ["cag"] = "Nivaclé", ["cah"] = "Cahuarano", ["caj"] = "Chané", ["cak"] = "Kaqchikel", ["cal"] = "Carolinia", ["cam"] = "Cemuhî", ["can"] = "Chambri", ["cao"] = "Chácobo", ["cap"] = "Chipaya", ["caq"] = "Nikobar Car", ["car"] = "Carib Galibi", ["cas"] = "Tsimané", ["cau-abz-pro"] = "Proto-Abkhaz-Abaza", ["cau-ava-pro"] = "Proto-Avaro-Andia", ["cau-cir-pro"] = "Proto-Circassia", ["cau-drg-pro"] = "Proto-Dargwa", ["cau-lzg-pro"] = "Proto-Lezghia", ["cau-nec-pro"] = "Proto-Kaukasia Timur Laut", ["cau-nkh-pro"] = "Proto-Nakh", ["cau-nwc-pro"] = "Proto-Kaukasia Barat Laut", ["cau-tsz-pro"] = "Proto-Tsezia", ["cav"] = "Cavineña", ["caw"] = "Callawalla", ["cax"] = "Chiquitano", ["cay"] = "Cayuga", ["caz"] = "Canichana", ["cba-ata"] = "Atanques", ["cba-cat"] = "Chibcha Catío", ["cba-dor"] = "Dorasque", ["cba-dui"] = "Duit", ["cba-hue"] = "Huetar", ["cba-nut"] = "Nutabe", ["cba-pro"] = "Proto-Chibcha", ["cbb"] = "Cabiyarí", ["cbc"] = "Carapana", ["cbd"] = "Carijona", ["cbg"] = "Chimila", ["cbi"] = "Chachi", ["cbj"] = "Ede Cabe", ["cbk"] = "Chavacano", ["cbl"] = "Chin Bualkhaw", ["cbn"] = "Kur Nyah", ["cbo"] = "Izora", ["cbq"] = "Shuba", ["cbr"] = "Cashibo-Cacataibo", ["cbs"] = "Cashinahua", ["cbt"] = "Chayahuita", ["cbu"] = "Candoshi-Shapra", ["cbv"] = "Cacua", ["cbw"] = "Kinabalian", ["cby"] = "Carabayo", ["cca"] = "Cauca", ["ccc"] = "Chamicuro", ["ccd"] = "Cafundó", ["cce"] = "Chopi", ["ccg"] = "Chamba Daka", ["cch"] = "Atsam", ["ccj"] = "Kasanga", ["ccl"] = "Cutchi-Swahili", ["ccm"] = "Kreol Melayu Malaka", ["ccn-pro"] = "Proto-Kaukasia Utara", ["cco"] = "Chinantec Comaltepec", ["ccp"] = "Chakma", ["ccr"] = "Cacaopera", ["ccs-gzn-pro"] = "Proto-Georgia-Zan", ["ccs-pro"] = "Proto-Kartvelia", ["cda"] = "Choni", ["cdc-cbm-pro"] = "Proto-Chad Tengah", ["cdc-mas-pro"] = "Proto-Masa", ["cdc-pro"] = "Proto-Chadic", ["cdd-pro"] = "Proto-Caddo", ["cde"] = "Chenchu", ["cdf"] = "Chiru", ["cdh"] = "Chambeali", ["cdi"] = "Chodri", ["cdj"] = "Churahi", ["cdm"] = "Chepang", ["cdn"] = "Chaudangsi", ["cdo"] = "Min Dong", ["cdr"] = "Cinda-Regi-Tiyal", ["cds"] = "Isyarat Chad", ["cdy"] = "Chadong", ["cdz"] = "Koda", ["ce"] = "Chechen", ["cea"] = "Chehalis Hilir", ["ceb"] = "Cebuano", ["ceg"] = "Chamacoco", ["cel-bry-pro"] = "Proto-Brythonic", ["cel-gal"] = "Gallaecia", ["cel-gau"] = "Gaulish", ["cel-pro"] = "Proto-Keltik", ["cen"] = "Cen", ["cet"] = "Centúúm", ["cfa"] = "Dijim-Bwilim", ["cfd"] = "Cara", ["cfg"] = "Como Karim", ["cfm"] = "Chin Falam", ["cga"] = "Changriwa", ["cgc"] = "Kagayanen", ["cgg"] = "Rukiga", ["cgk"] = "Chocangaca", ["ch"] = "Chamorro", ["chb"] = "Chibcha", ["chc"] = "Catawba", ["chd"] = "Chontal Oaxaca Pegunungan", ["chf"] = "Chontal Tabasco", ["chg"] = "Chagatai", ["chh"] = "Chinook", ["chi-pro"] = "Proto-Chimakuan", ["chj"] = "Chinantec Ojitlán", ["chk"] = "Chuuk", ["chl"] = "Cahuilla", ["chm-pro"] = "Proto-Mari", ["chn"] = "Chinook Jargon", ["cho"] = "Choctaw", ["chp"] = "Chipewyan", ["chq"] = "Chinantec Quiotepec", ["chr"] = "Cherokee", ["cht"] = "Cholón", ["chw"] = "Chuabo", ["chx"] = "Chantyal", ["chy"] = "Cheyenne", ["chz"] = "Chinantec Ozumacín", ["cia"] = "Cia-Cia", ["cib"] = "Gbe Ci", ["cic"] = "Chickasaw", ["cid"] = "Chimariko", ["cie"] = "Cineni", ["cih"] = "Chinali", ["cik"] = "Kinnauri Chitkuli", ["cim"] = "Cimbria", ["cin"] = "Cinta Larga", ["cip"] = "Chiapanec", ["cir"] = "Tiri", ["ciy"] = "Chaima", ["cja"] = "Cham Barat", ["cje"] = "Chru", ["cjh"] = "Chehalis Hulu", ["cji"] = "Chamalal", ["cjk"] = "Chokwe", ["cjm"] = "Cham Timur", ["cjn"] = "Chenapia", ["cjo"] = "Ashéninka Pajonal", ["cjp"] = "Cabécar", ["cjs"] = "Shor", ["cjv"] = "Chuave", ["cjy"] = "Jin", ["ckb"] = "Kurdi Tengah", ["ckh"] = "Chak", ["ckl"] = "Cibak", ["ckn"] = "Chin Kaang", ["cko"] = "Anufo", ["ckq"] = "Kajakse", ["ckr"] = "Kairak", ["cks"] = "Tayo", ["ckt"] = "Chukchi", ["cku"] = "Koasati", ["ckv"] = "Kavalan", ["ckx"] = "Caka", ["cky"] = "Cakfem-Mushere", ["ckz"] = "campuran Cakchiquel-Quiché", ["cla"] = "Ron", ["clc"] = "Chilcotin", ["cld"] = "Neo-Aramaik Khaldea", ["cle"] = "Chinantec Lealao", ["clh"] = "Chilisso", ["cli"] = "Chakali", ["clj"] = "Chin Laitu", ["clk"] = "Idu", ["cll"] = "Chala", ["clm"] = "Klallam", ["clo"] = "Chontal Oaxaca Dataran", ["clt"] = "Chin Lautu", ["clu"] = "Caluyanun", ["clw"] = "Chulym", ["cly"] = "Chatino Pegunungan Timur", ["cma"] = "Maa", ["cmc-pro"] = "Proto-Chamic", ["cme"] = "Cerma", ["cmg"] = "Mongolia Klasik", ["cmi"] = "Emberá-Chamí", ["cml"] = "Campalagian", ["cmm"] = "Michigamea", ["cmn"] = "Tionghoa Mandarin", ["cmo"] = "Mnong Tengah", ["cmr"] = "Chin Mro", ["cms"] = "Messapic", ["cmt"] = "Camtho", ["cna"] = "Changthang", ["cnb"] = "Chin Chinbon", ["cnc"] = "Côông", ["cng"] = "Qiang Utara", ["cnh"] = "Lai", ["cni"] = "Asháninka", ["cnk"] = "Chin Khumi", ["cnl"] = "Chinantec Lalana", ["cno"] = "Con", ["cns"] = "Asmat Tengah", ["cnt"] = "Chinantec Tepetotutla", ["cnu"] = "Chenoua", ["cnw"] = "Chin Ngawn", ["cnx"] = "Cornish Tengahan", ["co"] = "Korsika", ["coa"] = "Melayu Kepulauan Cocos", ["cob"] = "Chicomuceltec", ["coc"] = "Cocopa", ["cod"] = "Cocama", ["coe"] = "Koreguaje", ["cof"] = "Tsafiki", ["cog"] = "Chong", ["coh"] = "Chichonyi-Chidzihana-Chikauma", ["coj"] = "Cochimi", ["cok"] = "Santa Teresa Cora", ["col"] = "Columbia-Wenatchi", ["com"] = "Comanche", ["con"] = "Cofán", ["coo"] = "Comox", ["cop"] = "Coptic", ["coq"] = "Coquille", ["cot"] = "Caquinte", ["cou"] = "Wamey", ["cov"] = "Miao Cao", ["cow"] = "Cowlitz", ["cox"] = "Nanti", ["coy"] = "Coyaima", ["coz"] = "Chochotec", ["cpa"] = "Chinantec Palantla", ["cpb"] = "Ucayali-Yurúa Ashéninka", ["cpc"] = "Ajyíninka Apurucayali", ["cpe-mar"] = "Spirit Maroon", ["cpe-spp"] = "Pijin Perkebunan Samoa", ["cpg"] = "Yunani Kapadokia", ["cpi"] = "Pijin Inggris Tiongkok", ["cpn"] = "Cherepon", ["cpo"] = "Kpee", ["cps"] = "Capiznon", ["cpu"] = "Pichis Ashéninka", ["cpx"] = "Puxian", ["cpy"] = "Ucayali Ashéninka Selatan", ["cqd"] = "Miao Kluster Chuanqiandian", ["cr"] = "Cree", ["cra"] = "Chara", ["crb"] = "Carib Island", ["crc"] = "Lonwolwol", ["crd"] = "Coeur d'Alene", ["crf"] = "Caramanta", ["crg"] = "Michif", ["crh"] = "Tatar Krimea", ["cri"] = "Sãotomense", ["crj"] = "Cree Tenggara", ["crk"] = "Cree Plains", ["crl"] = "Cree Timur Laut", ["crm"] = "Cree Moose", ["crn"] = "Cora", ["cro"] = "Crow", ["crp-gep"] = "Pijin Grinlandia Barat", ["crp-mpp"] = "Pijin Portugis Makau", ["crp-rsn"] = "Russenorsk", ["crp-tnw"] = "Tangwang", ["crp-tpr"] = "Pijin Rusia Taimyr", ["crq"] = "Chorote Iyo'wujwa", ["crr"] = "Algonquian Carolina", ["crs"] = "Kreol Seychelle", ["crt"] = "Chorote Iyojwa'ja", ["crv"] = "Chaura", ["crw"] = "Chrau", ["crx"] = "Carrier", ["cry"] = "Cori", ["crz"] = "Cruzeño", ["cs"] = "Ceko", ["csa"] = "Chinantec Chiltepec", ["csb"] = "Kashubia", ["csc"] = "Isyarat Katala", ["csd"] = "Isyarat Chiangmai", ["cse"] = "Isyarat Ceko", ["csf"] = "Isyarat Kuba", ["csg"] = "Isyarat Cile", ["csh"] = "Chin Asho", ["csi"] = "Miwok Coast", ["csj"] = "Chin Songlai", ["csk"] = "Jola-Kasa", ["csl"] = "Isyarat Tionghoa", ["csm"] = "Miwok Sierra Tengah", ["csn"] = "Isyarat Kolombia", ["cso"] = "Chinantec Sochiapam", ["csq"] = "Isyarat Kroasia", ["csr"] = "Isyarat Kosta Rika", ["css"] = "Ohlone Selatan", ["cst"] = "Ohlone Utara", ["csu-bba-pro"] = "Proto-Bongo-Bagirmi", ["csu-maa-pro"] = "Proto-Mangbetu", ["csu-pro"] = "Proto-Sudan Tengah", ["csu-sar-pro"] = "Proto-Sara", ["csv"] = "Chin Sumtu", ["csw"] = "Cree Swampy", ["csy"] = "Chin Siyin", ["csz"] = "Coos", ["cta"] = "Chatino Tataltepec", ["ctc"] = "Chetco-Tolowa", ["ctd"] = "Chin Tedim", ["cte"] = "Chinantec Tepinapa", ["ctg"] = "Chittagong", ["cth"] = "Chin Thaiphum", ["ctl"] = "Chinantec Tlacoatzintepec", ["ctm"] = "Chitimacha", ["ctn"] = "Chhintange", ["cto"] = "Emberá-Catío", ["ctp"] = "Chatino Pegunungan Barat", ["ctp-san"] = "Chatino San Juan Quiahije", ["cts"] = "Bicolano Catanduanes Utara", ["ctt"] = "Wayanad Chetti", ["ctu"] = "Chol", ["ctz"] = "Chatino Zacatepec", ["cu"] = "Slavonia Gerejawi Kuno", ["cua"] = "Cua", ["cub"] = "Cubeo", ["cuc"] = "Chinantec Usila", ["cug"] = "Cung", ["cuh"] = "Chuka", ["cui"] = "Cuiba", ["cuj"] = "Piro Mashco", ["cuk"] = "Kuna", ["cul"] = "Culina", ["cuo"] = "Cumanagoto", ["cup"] = "Cupeño", ["cuq"] = "Cun", ["cur"] = "Chhulung", ["cus-ash"] = "Ashraaf", ["cus-hec-pro"] = "Proto-Cushitic Pegunungan Timur", ["cus-pro"] = "Proto-Cushitic", ["cus-som-pro"] = "Proto-Somaloid", ["cus-sou-pro"] = "Proto-Cushitic Selatan", ["cut"] = "Cuicatec Teutila", ["cuu"] = "Tai Ya", ["cuv"] = "Cuvok", ["cuw"] = "Chukwa", ["cux"] = "Cuicatec Tepeuxila", ["cuy"] = "Cuitlatec", ["cv"] = "Chuvash", ["cvg"] = "Chug", ["cvn"] = "Chinantec Valle Nacional", ["cwa"] = "Kabwa", ["cwb"] = "Maindo", ["cwd"] = "Cree Woods", ["cwe"] = "Kwere", ["cwg"] = "Chewong", ["cwt"] = "Kuwaataay", ["cy"] = "Welsh", ["cya"] = "Chatino Nopala", ["cyb"] = "Cayubaba", ["cyo"] = "Cuyunon", ["czh"] = "Huizhou", ["czk"] = "Knaanic", ["czn"] = "Chatino Zenzontepec", ["czo"] = "Min Zhong", ["czt"] = "Chin Zotung", ["da"] = "Denmark", ["daa"] = "Dangaléat", ["dac"] = "Dambi", ["dad"] = "Marik", ["dae"] = "Duupa", ["dag"] = "Dagbani", ["dah"] = "Gwahatike", ["dai"] = "Day", ["daj"] = "Daju Dar Fur", ["dak"] = "Dakota", ["dal"] = "Dahalo", ["dam"] = "Damakawa", ["dao"] = "Chin Daai", ["daq"] = "Maria Dandami", ["dar"] = "Dargwa", ["das"] = "Daho-Doo", ["dau"] = "Daju Dar Sila", ["dav"] = "Taita", ["daw"] = "Davawenyo", ["dax"] = "Dayi", ["daz"] = "Dao", ["dba"] = "Bangime", ["dbb"] = "Deno", ["dbd"] = "Dadiya", ["dbe"] = "Dabe", ["dbf"] = "Edopi", ["dbg"] = "Dom Dogul", ["dbi"] = "Doka", ["dbj"] = "Ida'an", ["dbl"] = "Dyirbal", ["dbm"] = "Duguri", ["dbn"] = "Duriankere", ["dbo"] = "Dulbu", ["dbp"] = "Duwai", ["dbq"] = "Daba", ["dbr"] = "Dabarre", ["dbt"] = "Ben Tey", ["dbu"] = "Dogon Bondum Dom", ["dbv"] = "Dungu", ["dbw"] = "Dogon Bankan Tey", ["dby"] = "Dibiyaso", ["dcc"] = "Deccani", ["dcr"] = "Negerhollands", ["dda"] = "Dadi Dadi", ["ddd"] = "Dongotono", ["dde"] = "Doondo", ["ddg"] = "Fataluku", ["ddi"] = "Diodio", ["ddj"] = "Jaru", ["ddn"] = "Dendi", ["ddo"] = "Tsez", ["ddr"] = "Dhudhuroa", ["dds"] = "Dogon Donno So", ["ddw"] = "Dawera-Daweloor", ["de"] = "Jerman", ["dec"] = "Dagik", ["ded"] = "Dedua", ["dee"] = "Dewoin", ["def"] = "Dezfuli", ["deg"] = "Degema", ["deh"] = "Dehwari", ["dei"] = "Demisa", ["dek"] = "Dek", ["dem"] = "Dem", ["den"] = "Slavey", ["dep"] = "Pijin Delaware", ["der"] = "Deori", ["des"] = "Desano", ["dev"] = "Domung", ["dez"] = "Dengese", ["dga"] = "Dagaare Selatan", ["dgb"] = "Bunoge", ["dgc"] = "Agta Casiguran Dumagat", ["dgd"] = "Dagaari Dioula", ["dge"] = "Degenan", ["dgg"] = "Doga", ["dgh"] = "Dghwede", ["dgi"] = "Dagara Utara", ["dgk"] = "Dagba", ["dgn"] = "Dagoman", ["dgo"] = "Dogri Hindi", ["dgr"] = "Dogrib", ["dgs"] = "Dogoso", ["dgt"] = "Ntra'ngith", ["dgw"] = "Daungwurrung", ["dgx"] = "Doghoro", ["dgz"] = "Daga", ["dhg"] = "Dhangu", ["dhi"] = "Dhimal", ["dhl"] = "Dhalandji", ["dhm"] = "Zemba", ["dhn"] = "Dhanki", ["dho"] = "Dhodia", ["dhr"] = "Tharrgari", ["dhs"] = "Dhaiso", ["dhu"] = "Dhurga", ["dhv"] = "Drehu", ["dhw"] = "Danuwar", ["dhx"] = "Dhungaloo", ["dia"] = "Dia", ["dib"] = "Dinka Tengah Selatan", ["dic"] = "Lakota Dida", ["did"] = "Didinga", ["dif"] = "Dieri", ["dig"] = "Digo", ["dii"] = "Dimbong", ["dij"] = "Dai", ["dik"] = "Dinka Barat Daya", ["dil"] = "Dilling", ["dim"] = "Dime", ["din"] = "Dinka", ["dio"] = "Dibo", ["dip"] = "Dinka Timur Laut", ["diq"] = "Zaza Selatan", ["dir"] = "Dirim", ["dis"] = "Dimasa", ["diu"] = "Gciriku", ["diw"] = "Dinka Barat Laut", ["dix"] = "Dixon Reef", ["diy"] = "Diuwe", ["diz"] = "Ding", ["dja"] = "Djadjawurrung", ["djb"] = "Djinba", ["djc"] = "Daju Dar Daju", ["djd"] = "Jaminjung", ["dje"] = "Zarma", ["djf"] = "Djangun", ["dji"] = "Djinang", ["djj"] = "Ndjébbana", ["djk"] = "Aukan", ["djl"] = "Djiwarli", ["djm"] = "Jamsay", ["djn"] = "Djauan", ["djo"] = "Jangkang", ["djr"] = "Djambarrpuyngu", ["dju"] = "Kapriman", ["djw"] = "Djawi", ["dka"] = "Dakpa", ["dkk"] = "Dakka", ["dkr"] = "Kuijau", ["dks"] = "Dinka Tenggara", ["dkx"] = "Mazagway", ["dlg"] = "Dolgan", ["dlk"] = "Dahalik", ["dlm"] = "Dalmatia", ["dln"] = "Darlong", ["dma"] = "Duma", ["dmb"] = "Dogon Mombo", ["dmc"] = "Gavak", ["dmd"] = "Madhi Madhi", ["dme"] = "Dugwor", ["dmf"] = "Medefaidrin", ["dmg"] = "Kinabatangan Hulu", ["dmk"] = "Domaaki", ["dml"] = "Dameli", ["dmm"] = "Dama (Nigeria)", ["dmn-dam"] = "Dama (Sierra Leone)", ["dmn-mdw-pro"] = "Proto-Mande Barat", ["dmn-pro"] = "Proto-Mande", ["dmo"] = "Kemezung", ["dmr"] = "Damar Timur", ["dms"] = "Dampelas", ["dmu"] = "Dubu", ["dmv"] = "Dumpas", ["dmw"] = "Mudburra", ["dmx"] = "Dema", ["dmy"] = "Demta", ["dna"] = "Dani Upper Grand Valley", ["dnd"] = "Daonda", ["dne"] = "Ndendeule", ["dng"] = "Dungan", ["dni"] = "Dani Lower Grand Valley", ["dnj"] = "Dan", ["dnk"] = "Dengka", ["dnn"] = "Dzuun", ["dno"] = "Ndrulo", ["dnr"] = "Danaru", ["dnt"] = "Dani Mid Grand Valley", ["dnu"] = "Danau", ["dnv"] = "Danu", ["dnw"] = "Dani Barat", ["dny"] = "Dení", ["doa"] = "Dom", ["dob"] = "Dobu", ["doc"] = "Kam Utara", ["doe"] = "Doe", ["dof"] = "Domu", ["doh"] = "Dong", ["doi"] = "Dogri", ["dok"] = "Dondo", ["dol"] = "Doso", ["don"] = "Doura", ["doo"] = "Dongo", ["dop"] = "Lukpa", ["doq"] = "Isyarat Dominika", ["dor"] = "Dori'o", ["dos"] = "Dogosé", ["dot"] = "Dass", ["dov"] = "Toka-Leya", ["dow"] = "Doyayo", ["dox"] = "Bussa", ["doy"] = "Dompo", ["doz"] = "Dorze", ["dpp"] = "Papar", ["dra-mkn"] = "Kannada Tengahan", ["dra-okn"] = "Kannada Kuno", ["dra-ote"] = "Telugu Kuno", ["dra-pro"] = "Proto-Dravidia", ["drb"] = "Dair", ["drc"] = "Minderico", ["drd"] = "Darmiya", ["drg"] = "Rungus", ["dri"] = "Lela", ["drl"] = "Baagandji", ["drn"] = "Damar Barat", ["dro"] = "Melanau Daro-Matu", ["drq"] = "Dura", ["drs"] = "Gedeo", ["dru"] = "Rukai", ["dru-pro"] = "Proto-Rukai", ["dry"] = "Darai", ["dsb"] = "Sorbian Hilir", ["dse"] = "Isyarat Belanda", ["dsh"] = "Daasanach", ["dsi"] = "Disa", ["dsl"] = "Isyarat Denmark", ["dsn"] = "Dusner", ["dso"] = "Desiya", ["dsq"] = "Tadaksahak", ["dta"] = "Daur", ["dtb"] = "Kadazan Labuk-Kinabatangan", ["dtd"] = "Ditidaht", ["dth"] = "Adithinngithigh", ["dti"] = "Dogon Ana Tinga", ["dtk"] = "Dogon Tene Kan", ["dtm"] = "Dogon Tomo Kan", ["dto"] = "Tommo So", ["dtp"] = "Dusun Tengah", ["dtr"] = "Lotud", ["dts"] = "Dogon Toro So", ["dtt"] = "Dogon Toro Tegu", ["dtu"] = "Dogon Tebul Ure", ["dty"] = "Doteli", ["dua"] = "Duala", ["dub"] = "Dubli", ["duc"] = "Duna", ["due"] = "Agta Umiray Dumaget", ["duf"] = "Dumbea", ["dug"] = "Chiduruma", ["duh"] = "Dungra Bhil", ["dui"] = "Dumun", ["duk"] = "Uyajitaya", ["dul"] = "Agta Alabat Island", ["dum"] = "Belanda Tengahan", ["dun"] = "Dusun Deyah", ["duo"] = "Agta Dupaningan", ["dup"] = "Duano", ["duq"] = "Dusun Malang", ["dur"] = "Dii", ["dus"] = "Dumi", ["duu"] = "Drung", ["duv"] = "Duvle", ["duw"] = "Dusun Witu", ["dux"] = "Duun", ["duy"] = "Agta Dicamay", ["duz"] = "Duli", ["dv"] = "Dhivehi", ["dva"] = "Duau", ["dwa"] = "Diri", ["dwr"] = "Dawro", ["dwu"] = "Dhuwal", ["dww"] = "Dawawa", ["dwy"] = "Dhuwaya", ["dwz"] = "Dewas Rai", ["dya"] = "Dyan", ["dyb"] = "Dyaberdyaber", ["dyd"] = "Dyugun", ["dyg"] = "Agta Villa Viciosa", ["dyi"] = "Djimini", ["dym"] = "Dogon Yanda", ["dyn"] = "Dyangadi", ["dyo"] = "Jola-Fonyi", ["dyu"] = "Dyula", ["dyy"] = "Dyaabugay", ["dz"] = "Dzongkha", ["dza"] = "Tunzu", ["dzg"] = "Dazaga", ["dzl"] = "Dzala", ["dzn"] = "Dzando", ["ebg"] = "Ebughu", ["ebk"] = "Bontoc Timur", ["ebr"] = "Ebrié", ["ebu"] = "Embu", ["ecr"] = "Eteocretan", ["ecs"] = "Isyarat Ekuador", ["ecy"] = "Eteocypriot", ["ee"] = "Ewe", ["eee"] = "E", ["efa"] = "Efai", ["efe"] = "Efe", ["efi"] = "Efik", ["ega"] = "Ega", ["egl"] = "Emilia", ["ego"] = "Eggon", ["egx-dem"] = "Demotic", ["egy"] = "Mesir", ["ehu"] = "Ehueun", ["eip"] = "Eipomek", ["eit"] = "Eitiep", ["eiv"] = "Askopan", ["eja"] = "Ejamat", ["eka"] = "Ekajuk", ["eke"] = "Ekit", ["ekg"] = "Ekari", ["eki"] = "Eki", ["ekl"] = "Kolhe", ["ekm"] = "Elip", ["eko"] = "Koti", ["ekp"] = "Ekpeye", ["ekr"] = "Yace", ["eky"] = "Kayah Timur", ["el"] = "Yunani", ["ele"] = "Elepi", ["elh"] = "El Hugeirat", ["eli"] = "Nding", ["elk"] = "Elkei", ["elm"] = "Eleme", ["elo"] = "El Molo", ["elu"] = "Elu", ["elu-prk"] = "Helu", ["elx"] = "Elamite", ["ema"] = "Emai", ["emb"] = "Embaloh", ["eme"] = "Emerillon", ["emg"] = "Meohang Timur", ["emi"] = "Mussau-Emira", ["emk"] = "Maninkakan Timur", ["emm"] = "Mamulique", ["emn"] = "Eman", ["emp"] = "Emberá Utara", ["ems"] = "Alutiiq", ["emu"] = "Muria Timur", ["emw"] = "Emplawas", ["emx"] = "Erromintxela", ["emy"] = "Maya Epigrafik", ["en"] = "Inggris", ["ena"] = "Apali", ["enb"] = "Markweeta", ["enc"] = "En", ["end"] = "Ende", ["enf"] = "Enets Hutan", ["enh"] = "Enets Tundra", ["enl"] = "Enlhet", ["enm"] = "Inggris Tengahan", ["enn"] = "Engenni", ["eno"] = "Enggano", ["enq"] = "Enga", ["enr"] = "Emem", ["enu"] = "Enu", ["env"] = "Enwan", ["enw"] = "Enwang", ["enx"] = "Enxet", ["eo"] = "Esperanto", ["eot"] = "Eotile", ["epi"] = "Epie", ["era"] = "Eravallan", ["erg"] = "Sie", ["erh"] = "Eruwa", ["eri"] = "Ogea", ["erk"] = "Efate Selatan", ["ero"] = "Horpa", ["err"] = "Erre", ["ers"] = "Ersu", ["ert"] = "Eritai", ["erw"] = "Erokwanas", ["es"] = "Spanyol", ["ese"] = "Ese Ejja", ["esh"] = "Eshtehardi", ["esi"] = "Inupiaq Alaska Utara", ["esk"] = "Inupiaq Alaska Barat Laut", ["esl"] = "Isyarat Mesir", ["esm"] = "Esuma", ["esn"] = "Isyarat El Salvador", ["eso"] = "Isyarat Estonia", ["esq"] = "Esselen", ["ess"] = "Siberia Yupik Tengah", ["esu"] = "Yup'ik", ["esx-esk-pro"] = "Proto-Eskimo", ["esx-ink"] = "Inuktun", ["esx-inq"] = "Inuinnaqtun", ["esx-inu-pro"] = "Proto-Inuit", ["esx-pro"] = "Proto-Eskimo-Aleut", ["esx-tut"] = "Tunumiisut", ["esy"] = "Eskayan", ["et"] = "Estonia", ["etb"] = "Etebi", ["etc"] = "Etchemin", ["eth"] = "Isyarat Etiopia", ["etn"] = "Eton (Vanuatu)", ["eto"] = "Eton (Kamerun)", ["etr"] = "Edolo", ["ets"] = "Yekhee", ["ett"] = "Etruscan", ["etu"] = "Ejagham", ["etx"] = "Eten", ["etz"] = "Semimi", ["eu"] = "Basque", ["euq-pro"] = "Proto-Basque", ["eve"] = "Even", ["evh"] = "Uvbie", ["evn"] = "Evenki", ["ewo"] = "Ewondo", ["ext"] = "Extremadura", ["eya"] = "Eyak", ["eyo"] = "Keiyo", ["eza"] = "Ezaa", ["eze"] = "Uzekwe", ["fa"] = "Persia", ["faa"] = "Fasu", ["fab"] = "Annobonese", ["fad"] = "Wagi", ["faf"] = "Fagani", ["fag"] = "Finongan", ["fah"] = "Fali Baissa", ["fai"] = "Faiwol", ["faj"] = "Faita", ["fak"] = "Fang (Beboid)", ["fal"] = "Fali Selatan", ["fam"] = "Fam", ["fan"] = "Fang (Bantu)", ["fap"] = "Palor", ["far"] = "Fataleka", ["fau"] = "Fayu", ["fax"] = "Fala", ["fay"] = "Fars Barat Daya", ["faz"] = "Fars Barat Laut", ["fbl"] = "Bikol Albay Barat", ["fcs"] = "Isyarat Quebec", ["fer"] = "Feroge", ["ff"] = "Fula", ["ffi"] = "Foia Foia", ["fgr"] = "Fongoro", ["fi"] = "Finlandia", ["fia"] = "Nobiin", ["fie"] = "Fyer", ["fip"] = "Fipa", ["fir"] = "Firan", ["fit"] = "Meänkieli", ["fiw"] = "Fiwaga", ["fj"] = "Fiji", ["fkk"] = "Kirya-Konzel", ["fkv"] = "Kven", ["fla"] = "Salish Montana", ["flh"] = "Foau", ["fli"] = "Fali", ["fll"] = "Fali Utara", ["fln"] = "Flinders Island", ["flr"] = "Fuliiru", ["fly"] = "Tsotsitaal", ["fmp"] = "Fe'fe'", ["fmu"] = "Muria Barat Jauh", ["fng"] = "Fanagalo", ["fni"] = "Fania", ["fo"] = "Faroe", ["fod"] = "Foodo", ["foi"] = "Foi", ["fom"] = "Foma", ["fon"] = "Fon", ["for"] = "Fore", ["fos"] = "Siraya", ["fpe"] = "Pichinglis", ["fqs"] = "Fas", ["fr"] = "Prancis", ["frd"] = "Fordata", ["frm"] = "Prancis Tengahan", ["fro"] = "Prancis Kuno", ["frp"] = "Franco-Provençal", ["frq"] = "Forak", ["frr"] = "Frisia Utara", ["frt"] = "Fortsenal", ["fse"] = "Isyarat Finlandia", ["fsl"] = "Isyarat Prancis", ["fss"] = "Isyarat Finlandia-Swedia", ["fud"] = "Futuna Timur", ["fuj"] = "Ko", ["fum"] = "Fum", ["fun"] = "Fulniô", ["fur"] = "Friuli", ["fut"] = "Futuna-Aniwa", ["fuu"] = "Furu", ["fuy"] = "Fuyug", ["fvr"] = "Fur", ["fwa"] = "Fwâi", ["fwe"] = "Fwe", ["fy"] = "Frisia Barat", ["ga"] = "Irlandia", ["gaa"] = "Ga", ["gab"] = "Gabri", ["gac"] = "campuran Great Andaman", ["gad"] = "Gaddang", ["gae"] = "Warekena", ["gaf"] = "Gende", ["gag"] = "Gagauz", ["gah"] = "Alekano", ["gai"] = "Borei", ["gaj"] = "Gadsup", ["gak"] = "Gamkonora", ["gal"] = "Galoli", ["gam"] = "Kandawo", ["gan"] = "Gan", ["gao"] = "Gants", ["gap"] = "Gal", ["gaq"] = "Gata'", ["gar"] = "Galeya", ["gas"] = "Adiwasi Garasia", ["gat"] = "Kenati", ["gau"] = "Kondekor", ["gaw"] = "Nobonob", ["gay"] = "Gayo", ["gba"] = "Gbaya", ["gbb"] = "Kaytetye", ["gbd"] = "Karadjeri", ["gbe"] = "Niksek", ["gbf"] = "Gaikundi", ["gbg"] = "Gbanziri", ["gbh"] = "Gbe Defi", ["gbi"] = "Galela", ["gbj"] = "Bodo Gadaba", ["gbk"] = "Gaddi", ["gbl"] = "Gamit", ["gbm"] = "Garhwali", ["gbn"] = "Mo'da", ["gbo"] = "Grebo Utara", ["gbp"] = "Gbaya-Bossangoa", ["gbq"] = "Gbaya-Bozoum", ["gbr"] = "Gbagyi", ["gbs"] = "Gbe Gbesi", ["gbu"] = "Gagadu", ["gbv"] = "Gbanu", ["gbw"] = "Gabi", ["gbx"] = "Gbe Xwla Timur", ["gby"] = "Gbari", ["gcc"] = "Mali", ["gcd"] = "Ganggalida", ["gce"] = "Galice", ["gcf"] = "Kreol Antilla", ["gcl"] = "Kreol Inggris Grenada", ["gcn"] = "Gaina", ["gcr"] = "Kreol Guiana", ["gct"] = "Jerman Colonia Tovar", ["gd"] = "Gaelik Skotlandia", ["gdb"] = "Ollari", ["gdc"] = "Gugu Badhun", ["gdd"] = "Gedaged", ["gde"] = "Gude", ["gdf"] = "Guduf-Gava", ["gdg"] = "Ga'dang", ["gdh"] = "Gadjerawang", ["gdi"] = "Gundi", ["gdj"] = "Kurtjar", ["gdk"] = "Gadang", ["gdl"] = "Dirasha", ["gdm"] = "Laal", ["gdn"] = "Umanakaina", ["gdo"] = "Godoberi", ["gdq"] = "Mehri", ["gdr"] = "Wipi", ["gds"] = "Isyarat Ghandruk", ["gdt"] = "Kungardutyi", ["gdu"] = "Gudu", ["gdx"] = "Godwari", ["gea"] = "Geruma", ["geb"] = "Kire", ["gec"] = "Grebo Gboloo", ["ged"] = "Gade", ["geg"] = "Gengle", ["geh"] = "Hutterisch", ["gei"] = "Gebe", ["gej"] = "Gen", ["gek"] = "Gerka", ["gel"] = "Fakkanci", ["gem-bur"] = "Burgundi", ["gem-pro"] = "Proto-Jermanik", ["geq"] = "Geme", ["ges"] = "Geser-Gorom", ["gev"] = "Viya", ["gew"] = "Gera", ["gex"] = "Garre", ["gey"] = "Enya", ["gez"] = "Ge'ez", ["gfk"] = "Patpatar", ["gft"] = "Gafat", ["gga"] = "Gao", ["ggb"] = "Gbii", ["ggd"] = "Gugadj", ["gge"] = "Guragone", ["ggg"] = "Gurgula", ["ggk"] = "Kungarakany", ["ggl"] = "Ganglau", ["ggn"] = "Gurung Timur", ["ggt"] = "Gitua", ["ggu"] = "Gban", ["ggw"] = "Gogodala", ["gha"] = "Ghadames", ["ghe"] = "Ghale Selatan", ["ghh"] = "Ghale Utara", ["ghk"] = "Karen Geko", ["ghl"] = "Ghulfan", ["ghn"] = "Ghanongga", ["gho"] = "Ghomara", ["ghr"] = "Ghera", ["ghs"] = "Guhu-Samane", ["ght"] = "Ghale Kutang", ["gia"] = "Kitja", ["gib"] = "Gibanawa", ["gid"] = "Gidar", ["gie"] = "Guébie", ["gig"] = "Goaria", ["gih"] = "Githabul", ["gii"] = "Girirra", ["gil"] = "Gilbert", ["gim"] = "Gimi (Goroka)", ["gin"] = "Hinukh", ["gio"] = "Gelao", ["gip"] = "Gimi (Austronesia)", ["giq"] = "Gelao Hijau", ["gir"] = "Gelao Merah", ["gis"] = "Giziga Utara", ["git"] = "Gitxsan", ["giu"] = "Mulao", ["giw"] = "Gelao Putih", ["gix"] = "Gilima", ["giy"] = "Giyug", ["giz"] = "Giziga Selatan", ["gji"] = "Geji", ["gjk"] = "Koli Kachi", ["gjm"] = "Gunditjmara", ["gjn"] = "Gonja", ["gju"] = "Gojri", ["gka"] = "Guya", ["gkd"] = "Magɨ", ["gke"] = "Ndai", ["gkn"] = "Gokana", ["gko"] = "Kok-Nar", ["gkp"] = "Kpelle Guinea", ["gl"] = "Galisia", ["glc"] = "Gula Bon", ["gld"] = "Nanai", ["glh"] = "Pashayi Barat Laut", ["glj"] = "Kulaal", ["glk"] = "Gilaki", ["glo"] = "Galambu", ["glr"] = "Glaro-Twabo", ["glu"] = "Gula", ["glw"] = "Glavda", ["gly"] = "Gule", ["gma"] = "Gambera", ["gmb"] = "Gula'alaa", ["gmd"] = "Mághdì", ["gme-cgo"] = "Gothik Krimea", ["gmg"] = "Magiyi", ["gmh"] = "Jerman Tinggi Tengahan", ["gml"] = "Jerman Rendah Tengahan", ["gmm"] = "Gbaya-Mbodomo", ["gmn"] = "Gimnime", ["gmq-gut"] = "Gutnish", ["gmq-jmk"] = "Jamtish", ["gmq-mno"] = "Norwegia Tengahan", ["gmq-oda"] = "Denmark Kuno", ["gmq-osw"] = "Swedia Kuno", ["gmq-pro"] = "Proto-Norse", ["gmq-scy"] = "Skania", ["gmu"] = "Gumalu", ["gmv"] = "Gamo", ["gmw-bgh"] = "Bergish", ["gmw-cfr"] = "Franconia Tengah", ["gmw-ecg"] = "Jerman Tengah Timur", ["gmw-gts"] = "Gottscheerish", ["gmw-jdt"] = "Belanda Jersey", ["gmw-pro"] = "Proto-Jerman Barat", ["gmw-rfr"] = "Franconia Rhine", ["gmw-stm"] = "Swabia Sathmar", ["gmw-tsx"] = "Saxon Transylvania", ["gmw-vog"] = "Jerman Volga", ["gmw-zps"] = "Jerman Zipser", ["gmx"] = "Magoma", ["gmy"] = "Yunani Mycenaean", ["gmz"] = "Mgbo", ["gn"] = "Guaraní", ["gn-cls"] = "Guaraní Klasik", ["gna"] = "Kaansa", ["gnb"] = "Gangte", ["gnc"] = "Guanche", ["gnd"] = "Zulgo-Gemzek", ["gne"] = "Ganang", ["gng"] = "Ngangam", ["gnh"] = "Lere", ["gni"] = "Gooniyandi", ["gnj"] = "Ngen", ["gnk"] = "ǁGana", ["gnl"] = "Gangulu", ["gnm"] = "Ginuman", ["gnn"] = "Gumatj", ["gnq"] = "Gana", ["gnr"] = "Gureng Gureng", ["gnt"] = "Guntai", ["gnu"] = "Gnau", ["gnw"] = "Guaraní Bolivia Barat", ["gnz"] = "Ganzi", ["goa"] = "Guro", ["gob"] = "Playero", ["goc"] = "Gorakor", ["god"] = "Godié", ["goe"] = "Gongduk", ["gof"] = "Gofa", ["gog"] = "Gogo", ["goh"] = "Jerman Tinggi Kuno", ["goi"] = "Gobasi", ["goj"] = "Gowlan", ["gol"] = "Gola", ["gon"] = "Gondi", ["goo"] = "Gone Dau", ["gop"] = "Yeretuar", ["goq"] = "Gorap", ["gor"] = "Gorontalo", ["got"] = "Gothik", ["gou"] = "Gavar", ["gov"] = "Goo", ["gow"] = "Gorowa", ["gox"] = "Gobu", ["goy"] = "Goundo", ["goz"] = "Gozarkhani", ["gpa"] = "Gupa-Abawa", ["gpn"] = "Taiap", ["gqa"] = "Ga'anda", ["gqi"] = "Guiqiong", ["gqn"] = "Kinikinao", ["gqr"] = "Gor", ["gqu"] = "Qau", ["gra"] = "Rajput Garasia", ["grb"] = "Grebo", ["grc"] = "Yunani Kuno", ["grd"] = "Guruntum", ["grg"] = "Madi", ["grh"] = "Gbiri-Niragu", ["gri"] = "Ghari", ["grj"] = "Grebo Selatan", ["grk-cal"] = "Yunani Calabria", ["grk-ita"] = "Yunani Italiot", ["grk-mar"] = "Yunani Mariupol", ["grk-pro"] = "Proto-Hellenik", ["grm"] = "Kota Marudu Talantang", ["gro"] = "Groma", ["grq"] = "Gorovu", ["grs"] = "Gresi", ["grt"] = "Garo", ["gru"] = "Kistane", ["grv"] = "Grebo Tengah", ["grw"] = "Gweda", ["grx"] = "Guriaso", ["gry"] = "Grebo Barclayville", ["grz"] = "Guramalum", ["gse"] = "Isyarat Ghana", ["gsg"] = "Isyarat Jerman", ["gsl"] = "Gusilay", ["gsm"] = "Isyarat Guatemala", ["gsn"] = "Gusan", ["gso"] = "Gbaya Barat Daya", ["gsp"] = "Wasembo", ["gss"] = "Isyarat Yunani", ["gsw"] = "Jerman Alemannik", ["gta"] = "Guató", ["gtu"] = "Aghu Tharrnggala", ["gu"] = "Gujarat", ["gua"] = "Shiki", ["gub"] = "Guajajára", ["guc"] = "Wayuu", ["gud"] = "Yocoboué Dida", ["gue"] = "Gurindji", ["guf"] = "Gupapuyngu", ["gug"] = "Guaraní Paraguay", ["guh"] = "Guahibo", ["gui"] = "Guaraní Bolivia Timur", ["guk"] = "Gumuz", ["gul"] = "Gullah", ["gum"] = "Guambiano", ["gun"] = "Guaraní Mbyá", ["guo"] = "Guayabero", ["gup"] = "Gunwinggu", ["guq"] = "Aché", ["gur"] = "Farefare", ["gus"] = "Isyarat Guinea", ["gut"] = "Maléku Jaíka", ["guu"] = "Yanomamö", ["guv"] = "Gey", ["guw"] = "Gun", ["gux"] = "Gourmanchéma", ["guz"] = "Gusii", ["gv"] = "Manx", ["gva"] = "Kaskihá", ["gvc"] = "Guanano", ["gve"] = "Duwet", ["gvf"] = "Golin", ["gvj"] = "Guajá", ["gvl"] = "Gulay", ["gvm"] = "Gurmana", ["gvn"] = "Kuku-Yalanji", ["gvo"] = "Gavião do Jiparaná", ["gvp"] = "Gavião Pará", ["gvr"] = "Gurung Barat", ["gvs"] = "Gumawana", ["gvy"] = "Guyani", ["gwa"] = "Mbato", ["gwb"] = "Gwa", ["gwc"] = "Kalami", ["gwd"] = "Gawwada", ["gwe"] = "Gweno", ["gwf"] = "Gowro", ["gwg"] = "Moo", ["gwi"] = "Gwich'in", ["gwj"] = "Gcwi", ["gwm"] = "Awngthim", ["gwn"] = "Gwandara", ["gwr"] = "Gwere", ["gwt"] = "Gawar-Bati", ["gwu"] = "Guwamu", ["gww"] = "Kwini", ["gwx"] = "Gua", ["gxx"] = "Wè Selatan", ["gya"] = "Gbaya Barat Laut", ["gyb"] = "Garus", ["gyd"] = "Kayardild", ["gye"] = "Gyem", ["gyf"] = "Gungabula", ["gyg"] = "Gbayi", ["gyi"] = "Gyele", ["gyl"] = "Gayil", ["gym"] = "Ngäbere", ["gyn"] = "Kreol Inggris Guyana", ["gyo"] = "Gyalsumdo", ["gyr"] = "Guarayu", ["gyy"] = "Gunya", ["gza"] = "Ganza", ["gzn"] = "Gane", ["ha"] = "Hausa", ["haa"] = "Hän", ["hab"] = "Isyarat Hanoi", ["hac"] = "Gurani", ["had"] = "Hatam", ["haf"] = "Isyarat Haiphong", ["hag"] = "Hanga", ["hah"] = "Hahon", ["hai"] = "Haida", ["haj"] = "Hajong", ["hak"] = "Hakka", ["hal"] = "Halang", ["ham"] = "Hewa", ["hao"] = "Hakö", ["hap"] = "Hupla", ["har"] = "Harari", ["has"] = "Haisla", ["hav"] = "Havu", ["haw"] = "Hawaii", ["hax"] = "Haida Selatan", ["hay"] = "Haya", ["haz"] = "Hazaragi", ["hba"] = "Hamba", ["hbb"] = "Huba", ["hbn"] = "Heiban", ["hbu"] = "Habu", ["hca"] = "Kreol Hindi Andaman", ["hch"] = "Huichol", ["hdn"] = "Haida Utara", ["hds"] = "Isyarat Honduras", ["hdy"] = "Hadiyya", ["he"] = "Ibrani", ["hea"] = "Miao Qiandong Utara", ["hed"] = "Herdé", ["heg"] = "Helong", ["heh"] = "Hehe", ["hei"] = "Heiltsuk", ["hem"] = "Hemba", ["hgm"] = "Haiǁom", ["hgw"] = "Haigwai", ["hhi"] = "Hoia Hoia", ["hhr"] = "Kerak", ["hhy"] = "Hoyahoya", ["hi"] = "Hindi", ["hia"] = "Lamang", ["hib"] = "Hibito", ["hid"] = "Hidatsa", ["hif"] = "Hindi Fiji", ["hig"] = "Kamwe", ["hih"] = "Pamosu", ["hii"] = "Hinduri", ["hij"] = "Hijuk", ["hik"] = "Seit-Kaitetu", ["hil"] = "Hiligaynon", ["hio"] = "Tshwa", ["hir"] = "Himarimã", ["hit"] = "Hitit", ["hiw"] = "Hiw", ["hix"] = "Hixkaryana", ["hji"] = "Haji", ["hka"] = "Kahe", ["hke"] = "Hunde", ["hkk"] = "Ke Hunjara-Kaina", ["hkn"] = "Mel-Khaonh", ["hks"] = "Isyarat Hong Kong", ["hla"] = "Halia", ["hlb"] = "Halbi", ["hld"] = "Halang Doan", ["hle"] = "Hlersu", ["hlt"] = "Nga La", ["hma"] = "Hmong Mashan Selatan", ["hmb"] = "Senni Humburi", ["hmc"] = "Hmong Huishui Tengah", ["hmd"] = "A-Hmao", ["hme"] = "Hmong Huishui Timur", ["hmf"] = "Hmong Don", ["hmg"] = "Hmong Guiyang Barat Daya", ["hmh"] = "Hmong Huishui Barat Daya", ["hmi"] = "Hmong Huishui Utara", ["hmj"] = "Ge", ["hmk"] = "Maek", ["hml"] = "Hmong Luopohe", ["hmm"] = "Hmong Mashan Tengah", ["hmn-pro"] = "Proto-Hmong", ["hmp"] = "Hmong Mashan Utara", ["hmq"] = "Miao Qiandong Timur", ["hmr"] = "Hmar", ["hms"] = "Miao Qiandong Selatan", ["hmt"] = "Hamtai", ["hmu"] = "Hamap", ["hmv"] = "Hmong Dô", ["hmw"] = "Hmong Mashan Barat", ["hmx-mie-pro"] = "Proto-Mien", ["hmx-pro"] = "Proto-Hmong-Mien", ["hmy"] = "Hmong Guiyang Selatan", ["hmz"] = "Hmong Shua", ["hna"] = "Mina", ["hnd"] = "Hindko Selatan", ["hne"] = "Chhattisgarhi", ["hnh"] = "ǁAni", ["hni"] = "Hani", ["hnj"] = "Hmong Green", ["hnn"] = "Hanunoo", ["hno"] = "Hindko Utara", ["hns"] = "Hindustani Karibia", ["hnu"] = "Hung", ["ho"] = "Motu Hiri", ["hoa"] = "Hoava", ["hob"] = "Mari Austronesia", ["hoc"] = "Ho", ["hod"] = "Holma", ["hoe"] = "Horom", ["hoh"] = "Hobyót", ["hoi"] = "Holikachuk", ["hoj"] = "Hadothi", ["hol"] = "Holu", ["hom"] = "Homa", ["hoo"] = "Holoholo", ["hop"] = "Hopi", ["hor"] = "Horo", ["hos"] = "Isyarat Kota Ho Chi Minh", ["hot"] = "Hote", ["hov"] = "Hovongan", ["how"] = "Honi", ["hoy"] = "Holiya", ["hoz"] = "Hozo", ["hpo"] = "Hpon", ["hps"] = "Isyarat Pijin Hawai'i", ["hra"] = "Hrangkhol", ["hrc"] = "Niwer Mil", ["hre"] = "Hre", ["hrk"] = "Haruku", ["hrm"] = "Miao Horned", ["hro"] = "Haroi", ["hrp"] = "Nhirrpi", ["hrt"] = "Hértevin", ["hru"] = "Hruso", ["hrw"] = "Warwar Feni", ["hrx"] = "Hunsrik", ["hrz"] = "Harzani", ["hsb"] = "Sorbian Hulu", ["hsh"] = "Isyarat Hungaria", ["hsl"] = "Isyarat Hausa", ["hsn"] = "Xiang", ["hss"] = "Harsusi", ["ht"] = "Kreol Haiti", ["hti"] = "Hoti", ["hto"] = "Huitoto Minica", ["hts"] = "Hadza", ["htu"] = "Hitu", ["hu"] = "Hungaria", ["hub"] = "Huambisa", ["huc"] = "ǂHoan", ["hud"] = "Huaulu", ["huf"] = "Humene", ["hug"] = "Huachipaeri", ["huh"] = "Huilliche", ["hui"] = "Huli", ["huj"] = "Hmong Guiyang Utara", ["huk"] = "Hulung", ["hul"] = "Hula", ["hum"] = "Hungana", ["huo"] = "Hu", ["hup"] = "Hupa", ["huq"] = "Tsat", ["hur"] = "Halkomelem", ["hus"] = "Wastek", ["huu"] = "Huitoto Murui", ["huv"] = "Huave", ["huw"] = "Hukumina", ["hux"] = "Huitoto Nüpode", ["huy"] = "Hulaulá", ["huz"] = "Hunzib", ["hvc"] = "budaya Vodoun Haiti", ["hvk"] = "Haveke", ["hvn"] = "Hawu", ["hwa"] = "Wané", ["hwc"] = "Kreol Hawaii", ["hwo"] = "Hwana", ["hy"] = "Armenia", ["hya"] = "Hya", ["hyx-pro"] = "Proto-Armenia", ["hz"] = "Herero", ["ia"] = "Interlingua", ["iai"] = "Iaai", ["ian"] = "Iatmul", ["iar"] = "Purari", ["iba"] = "Iban", ["ibb"] = "Ibibio", ["ibd"] = "Iwaidja", ["ibe"] = "Akpes", ["ibg"] = "Ibanag", ["ibh"] = "Bih", ["ibl"] = "Ibaloi", ["ibm"] = "Agoi", ["ibn"] = "Ibino", ["ibr"] = "Ibuoro", ["ibu"] = "Ibu", ["iby"] = "Ibani", ["ica"] = "Ede Ica", ["ich"] = "Etkywan", ["icl"] = "Isyarat Islandia", ["icr"] = "Kreol Inggris Islander", ["id"] = "Indonesia", ["ida"] = "Idakho-Isukha-Tiriki", ["idb"] = "Indo-Portugis", ["idc"] = "Idon", ["idd"] = "Ede Idaca", ["ide"] = "Idere", ["idi"] = "Idi", ["idr"] = "Indri", ["ids"] = "Idesa", ["idt"] = "Idaté", ["idu"] = "Idoma", ["ie"] = "Interlingue", ["ifa"] = "Ifugao Amganad", ["ifb"] = "Ifugao Batad", ["ife"] = "Ifè", ["iff"] = "Ifo", ["ifk"] = "Ifugao Tuwali", ["ifm"] = "Teke-Fuumu", ["ifu"] = "Ifugao Mayoyao", ["ify"] = "Kallahan Keley-I", ["ig"] = "Igbo", ["igb"] = "Ebira", ["ige"] = "Igede", ["igg"] = "Igana", ["igl"] = "Igala", ["igm"] = "Kanggape", ["ign"] = "Ignaciano", ["igo"] = "Isebe", ["igs"] = "Glosa", ["igw"] = "Igwe", ["ihb"] = "Pijin Iha", ["ihi"] = "Ihievbe", ["ihp"] = "Iha", ["ii"] = "Yi Sichuan", ["iir-nur-pro"] = "Proto-Nuristani", ["iir-pro"] = "Proto-Indo-Iran", ["ijc"] = "Izon", ["ije"] = "Biseni", ["ijj"] = "Ede Ije", ["ijn"] = "Kalabari", ["ijo-pro"] = "Proto-Ijoid", ["ijs"] = "Ijo Tenggara", ["ik"] = "Inupiaq", ["ike"] = "Inuktitut Kanada Timur", ["iki"] = "Iko", ["ikk"] = "Ika", ["ikl"] = "Ikulu", ["iko"] = "Olulumo-Ikom", ["ikp"] = "Ikpeshi", ["ikr"] = "Ikaranggal", ["iks"] = "Isyarat Inuit", ["ikt"] = "Inuvialuktun", ["ikv"] = "Iku-Gora-Ankwa", ["ikw"] = "Ikwere", ["ikx"] = "Ik", ["ikz"] = "Ikizu", ["ila"] = "Ile Ape", ["ilb"] = "Ila", ["ilg"] = "Ilgar", ["ili"] = "Turki Ili", ["ilk"] = "Ilongot", ["ill"] = "Iranun", ["ilo"] = "Ilocano", ["ils"] = "Isyarat Internasional", ["ilu"] = "Ili'uun", ["ilv"] = "Ilue", ["ima"] = "Mala Malasar", ["imi"] = "Anamgura", ["iml"] = "Miluk", ["imn"] = "Imonda", ["imo"] = "Imbongu", ["imr"] = "Imroing", ["ims"] = "Marsian", ["imy"] = "Milyan", ["inb"] = "Inga", ["inc-ash"] = "Prakrit Ashokan", ["inc-cen-pro"] = "Proto-Indo-Aryan Tengah", ["inc-gup"] = "Apabhramsa Gurjar", ["inc-kam"] = "Prakrit Kamarupi", ["inc-kha"] = "Prakrit Khasa", ["inc-kho"] = "Kholosi", ["inc-mas"] = "Assam Tengahan", ["inc-mbn"] = "Bengal Tengahan", ["inc-mgd"] = "Prakrit Magadhi", ["inc-mgu"] = "Gujarat Tengahan", ["inc-mor"] = "Oriya Tengahan", ["inc-oas"] = "Assam Awal", ["inc-obn"] = "Bengal Kuno", ["inc-ogu"] = "Gujarat Kuno", ["inc-ohi"] = "Hindi Kuno", ["inc-oor"] = "Oriya Kuno", ["inc-opa"] = "Punjab Kuno", ["inc-ork"] = "Kamta Kuno", ["inc-pra"] = "Prakrit", ["inc-pro"] = "Proto-Indo-Aryan", ["inc-psc"] = "Prakrit Paisaci", ["inc-sap"] = "Apabhramsa Sauraseni", ["inc-tak"] = "Apabhramsa Takka", ["inc-vra"] = "Apabhramsa Vracada", ["ine-ana-pro"] = "Proto-Anatolia", ["ine-bsl-pro"] = "Proto-Balto-Slavik", ["ine-pae"] = "Paeonia", ["ine-pro"] = "Proto-Indo-Eropa", ["ine-toc-pro"] = "Proto-Tocharia", ["ing"] = "Deg Xinag", ["inh"] = "Ingush", ["inj"] = "Inga Hutan", ["inl"] = "Isyarat Indonesia", ["inm"] = "Minaean", ["inn"] = "Isinai", ["ino"] = "Inoke-Yate", ["inp"] = "Iñapari", ["ins"] = "Isyarat India", ["int"] = "Intha", ["inz"] = "Ineseño", ["io"] = "Ido", ["ior"] = "Inor", ["iou"] = "Tuma-Irumu", ["iow"] = "Chiwere", ["ipi"] = "Ipili", ["ipo"] = "Ipiko", ["iqu"] = "Iquito", ["iqw"] = "Ikwo", ["ira-kms-pro"] = "Proto-Komisenia", ["ira-mny-pro"] = "Proto-Munji-Yidgha", ["ira-mpr-pro"] = "Proto-Medo-Parthia", ["ira-pat-pro"] = "Proto-Pathan", ["ira-pro"] = "Proto-Iran", ["ira-sgc-pro"] = "Proto-Sogdic", ["ira-sgi-pro"] = "Proto-Sanglechi-Ishkashimi", ["ira-shr-pro"] = "Proto-Shughni-Roshani", ["ira-shy-pro"] = "Proto-Shughni-Yazghulami", ["ira-sym-pro"] = "Proto-Shughni-Yazghulami-Munji", ["ira-wnj"] = "Vanji", ["ira-zgr-pro"] = "Proto-Zaza-Gorani", ["ire"] = "Iresim", ["irh"] = "Irarutu", ["iri"] = "Rigwe", ["irk"] = "Iraqw", ["irn"] = "Irantxe", ["iro-ere"] = "Erie", ["iro-min"] = "Mingo", ["iro-nor-pro"] = "Proto-Iroquois Utara", ["iro-pro"] = "Proto-Iroquois", ["irr"] = "Ir", ["iru"] = "Irula", ["irx"] = "Kamberau", ["iry"] = "Iraya", ["is"] = "Islandia", ["isa"] = "Isabi", ["isc"] = "Isconahua", ["isd"] = "Isnag", ["ise"] = "Isyarat Italia", ["isg"] = "Isyarat Irlandia", ["ish"] = "Esan", ["isi"] = "Nkem-Nkum", ["isk"] = "Ishkashimi", ["ism"] = "Masimasi", ["isn"] = "Isanzu", ["iso"] = "Isoko", ["isr"] = "Isyarat Israel", ["ist"] = "Istriot", ["isu"] = "Isu", ["it"] = "Italia", ["itb"] = "Itneg Binongan", ["itc-pro"] = "Proto-Italik", ["itd"] = "Tidung Nunukan", ["ite"] = "Itene", ["iti"] = "Itneg Inlaod", ["itk"] = "Judeo-Italia", ["itl"] = "Itelmen", ["itm"] = "Itu Mbon Uzo", ["ito"] = "Itonama", ["itr"] = "Iteri", ["its"] = "Itsekiri", ["itt"] = "Itneg Maeng", ["itv"] = "Itawit", ["itw"] = "Ito", ["itx"] = "Itik", ["ity"] = "Itneg Moyadan", ["itz"] = "Itzá", ["iu"] = "Inuktitut", ["ium"] = "Mien Iu", ["ivb"] = "Ibatan", ["ivv"] = "Ivatan", ["iwk"] = "I-Wak", ["iwm"] = "Iwam", ["iwo"] = "Iwur", ["iws"] = "Iwam Sepik", ["ixc"] = "Ixcatec", ["ixl"] = "Ixil", ["iya"] = "Iyayu", ["iyo"] = "Mesaka", ["iyx"] = "Yaa", ["izh"] = "Ingria", ["izi"] = "Izi-Ezaa-Ikwo-Mgbo", ["izr"] = "Izere", ["izz"] = "Izi", ["ja"] = "Jepang", ["jaa"] = "Jamamadí", ["jab"] = "Hyam", ["jac"] = "Jakaltek", ["jad"] = "Jahanka", ["jae"] = "Jabem", ["jaf"] = "Jara", ["jah"] = "Jah Hut", ["jaj"] = "Zazao", ["jal"] = "Yalahatan", ["jam"] = "Kreol Jamaika", ["jan"] = "Janday", ["jao"] = "Yanyuwa", ["jaq"] = "Yaqay", ["jas"] = "Jawa Kaledonia Baru", ["jat"] = "Jakati", ["jau"] = "Yaur", ["jax"] = "Melayu Jambi", ["jay"] = "Yan-nhangu", ["jaz"] = "Jawe", ["jbj"] = "Arandai", ["jbk"] = "Barikewa", ["jbn"] = "Nefusa", ["jbo"] = "Lojban", ["jbr"] = "Jofotek-Bromnya", ["jbt"] = "Jabutí", ["jbu"] = "Jukun Takum", ["jbw"] = "Yawijibaya", ["jcs"] = "Isyarat Jamaika (negara)", ["jct"] = "Krymchak", ["jda"] = "Jad", ["jdg"] = "Jadgali", ["jdt"] = "Judeo-Tat", ["jeb"] = "Jebero", ["jee"] = "Jerung", ["jeg"] = "Jeng", ["jeh"] = "Jeh", ["jei"] = "Yei", ["jek"] = "Kuo Jeri", ["jel"] = "Yelmek", ["jen"] = "Dza", ["jer"] = "Jere", ["jet"] = "Manem", ["jeu"] = "Jonkor Bourmataguil", ["jgb"] = "Ngbee", ["jgk"] = "Gwak", ["jgo"] = "Ngomba", ["jhi"] = "Jehai", ["jhs"] = "Isyarat Jhankot", ["jia"] = "Jina", ["jib"] = "Jibu", ["jic"] = "Tol", ["jid"] = "Bu", ["jie"] = "Jilbe", ["jig"] = "Jingulu", ["jih"] = "Shangzhai", ["jii"] = "Jiiddu", ["jil"] = "Jilim", ["jim"] = "Jimjimen", ["jio"] = "Jiamao", ["jiq"] = "Khroskyabs", ["jit"] = "Jita", ["jiu"] = "Jinuo Youle", ["jiv"] = "Shuar", ["jiy"] = "Jinuo Buyuan", ["jje"] = "Jeju", ["jjr"] = "Zhár", ["jka"] = "Kaera", ["jko"] = "Kubo", ["jkr"] = "Koro (India)", ["jku"] = "Labir", ["jle"] = "Ngile", ["jls"] = "Isyarat Jamaika", ["jma"] = "Dima", ["jmb"] = "Zumbun", ["jmc"] = "Machame", ["jmd"] = "Yamdena", ["jmi"] = "Jimi", ["jml"] = "Jumli", ["jmn"] = "Naga Makuri", ["jmr"] = "Kamara", ["jmw"] = "Mouwase", ["jmx"] = "Mixtec Juxtlahuaca Barat", ["jna"] = "Jangshung", ["jnd"] = "Jandavra", ["jng"] = "Yangman", ["jni"] = "Janji", ["jnj"] = "Yemsa", ["jnl"] = "Rawat", ["jns"] = "Jaunsari", ["job"] = "Joba", ["jod"] = "Wojenaka", ["jor"] = "Jorá", ["jos"] = "Isyarat Yordania", ["jow"] = "Jowulu", ["jpr"] = "Judeo-Persia", ["jpx-pro"] = "Proto-Jepang", ["jpx-ryu-pro"] = "Proto-Ryukyu", ["jqr"] = "Jaqaru", ["jra"] = "Jarai", ["jrr"] = "Jiru", ["jru"] = "Japrería", ["jsl"] = "Isyarat Jepang", ["jua"] = "Júma", ["jub"] = "Wannu", ["juc"] = "Jurchen", ["jud"] = "Worodougou", ["juh"] = "Hone", ["jui"] = "Ngadjuri", ["juk"] = "Wapan", ["jul"] = "Jirel", ["jum"] = "Jumjum", ["jun"] = "Juang", ["juo"] = "Jiba", ["jup"] = "Hupdë", ["jur"] = "Jurúna", ["jus"] = "Isyarat Jumla", ["jut"] = "Jutish", ["juu"] = "Ju", ["juw"] = "Wãpha", ["juy"] = "Juray", ["jv"] = "Jawa", ["jvd"] = "Javindo", ["jvn"] = "Jawa Karibia", ["jwi"] = "Jwira-Pepesa", ["jyy"] = "Jaya", ["ka"] = "Georgia", ["kaa"] = "Karakalpak", ["kab"] = "Kabyle", ["kac"] = "Jingpho", ["kad"] = "Kadara", ["kae"] = "Ketangalan", ["kaf"] = "Katso", ["kag"] = "Kajaman", ["kah"] = "Fer", ["kai"] = "Karekare", ["kaj"] = "Jju", ["kak"] = "Kallahan Kayapa", ["kam"] = "Kamba", ["kao"] = "Kassonke", ["kap"] = "Bezhta", ["kaq"] = "Capanahua", ["kar-pro"] = "Proto-Karen", ["kaw"] = "Jawa Kuno", ["kax"] = "Kao", ["kay"] = "Kamayurá", ["kba"] = "Kalarko", ["kbb"] = "Kaxuyana", ["kbc"] = "Kadiwéu", ["kbd"] = "Kabardia", ["kbe"] = "Kanju", ["kbh"] = "Camsá", ["kbi"] = "Kaptiau", ["kbj"] = "Kari", ["kbk"] = "Koiari Rumput", ["kbm"] = "Iwal", ["kbn"] = "Kare (Africa)", ["kbo"] = "Keliko", ["kbp"] = "Kabiyé", ["kbq"] = "Kamano", ["kbr"] = "Kafa", ["kbs"] = "Kande", ["kbt"] = "Gabadi", ["kbu"] = "Kabutra", ["kbv"] = "Kamberataro", ["kbw"] = "Kaiep", ["kbx"] = "Ap Ma", ["kbz"] = "Duhwa", ["kca"] = "Khanty", ["kcb"] = "Kawacha", ["kcc"] = "Lubila", ["kcd"] = "Kanum Ngkâlmpw", ["kce"] = "Kaivi", ["kcf"] = "Ukaan", ["kcg"] = "Tyap", ["kch"] = "Vono", ["kci"] = "Kamantan", ["kcj"] = "Kobiana", ["kck"] = "Kalanga", ["kcl"] = "Kala", ["kcm"] = "Gula Tar", ["kcn"] = "Nubi", ["kco"] = "Kinalakna", ["kcp"] = "Kanga", ["kcq"] = "Kamo", ["kcr"] = "Katla", ["kcs"] = "Koenoem", ["kct"] = "Kaian", ["kcu"] = "Kikami", ["kcv"] = "Kete", ["kcw"] = "Kabwari", ["kcx"] = "Kachama-Ganjule", ["kcy"] = "Korandje", ["kcz"] = "Konongo", ["kda"] = "Worimi", ["kdc"] = "Kutu", ["kdd"] = "Yankunytjatjara", ["kde"] = "Makonde", ["kdf"] = "Mamusi", ["kdg"] = "Seba", ["kdh"] = "Tem", ["kdi"] = "Kumam", ["kdj"] = "Karamojong", ["kdk"] = "Numee", ["kdl"] = "Tsikimba", ["kdm"] = "Kagoma", ["kdn"] = "Kunda", ["kdp"] = "Kaningdon-Nindem", ["kdq"] = "Koch", ["kdr"] = "Karaim", ["kdt"] = "Kuy", ["kdu"] = "Kadaru", ["kdv"] = "Kado", ["kdw"] = "Koneraw", ["kdx"] = "Kam", ["kdy"] = "Keder", ["kdz"] = "Kwaja", ["kea"] = "Kabuverdianu", ["keb"] = "Kélé", ["kec"] = "Keiga", ["ked"] = "Kerewe", ["kee"] = "Keres Timur", ["kef"] = "Kpessi", ["keg"] = "Tese", ["keh"] = "Keak", ["kei"] = "Kei", ["kej"] = "Kadar", ["kek"] = "Q'eqchi", ["kel"] = "Kela-Yela", ["kem"] = "Kemak", ["ken"] = "Kenyang", ["keo"] = "Kakwa", ["kep"] = "Kaikadi", ["keq"] = "Kamar", ["ker"] = "Kera", ["kes"] = "Kugbo", ["ket"] = "Ket", ["keu"] = "Akebu", ["kev"] = "Kanikkaran", ["kew"] = "Kewa", ["kex"] = "Kukna", ["key"] = "Kupia", ["kez"] = "Kukele", ["kfa"] = "Kodava", ["kfb"] = "Kolami", ["kfc"] = "Konda-Dora", ["kfd"] = "Koraga Korra", ["kfe"] = "Kota (India)", ["kff"] = "Koya", ["kfg"] = "Kudiya", ["kfh"] = "Kurichiya", ["kfi"] = "Kurumba Kannada", ["kfj"] = "Kemiehua", ["kfk"] = "Kinnauri", ["kfl"] = "Kung", ["kfn"] = "Kuk", ["kfo"] = "Koro (Afrika Barat)", ["kfp"] = "Korwa", ["kfq"] = "Korku", ["kfr"] = "Kachchi", ["kfs"] = "Bilaspuri", ["kft"] = "Kanjari", ["kfu"] = "Katkari", ["kfv"] = "Kurmukar", ["kfw"] = "Naga Kharam", ["kfx"] = "Pahari Kullu", ["kfy"] = "Kumaoni", ["kfz"] = "Koromfé", ["kg"] = "Kongo", ["kga"] = "Koyaga", ["kgb"] = "Kawe", ["kgd"] = "Kataang", ["kge"] = "Komering", ["kgf"] = "Kube", ["kgg"] = "Kusunda", ["kgi"] = "Isyarat Selangor", ["kgj"] = "Kham Gamale", ["kgk"] = "Kaiwá", ["kgl"] = "Kunggari", ["kgm"] = "Karipúna", ["kgn"] = "Karingani", ["kgo"] = "Krongo", ["kgp"] = "Kaingang", ["kgq"] = "Kamoro", ["kgr"] = "Abun", ["kgs"] = "Kumbainggar", ["kgt"] = "Somyev", ["kgu"] = "Kobol", ["kgv"] = "Karas", ["kgw"] = "Karon Dori", ["kgx"] = "Kamaru", ["kgy"] = "Kyerung", ["kha"] = "Khasi", ["khb"] = "Lü", ["khc"] = "Tukang Besi Utara", ["khd"] = "Kanum Bädi", ["khe"] = "Korowai", ["khf"] = "Khuen", ["khh"] = "Kehu", ["khi-kho-pro"] = "Proto-Khoe", ["khi-kun"] = "ǃKung", ["khj"] = "Kuturmi", ["khl"] = "Lusi", ["khn"] = "Khandeshi", ["kho"] = "Khotan", ["khp"] = "Kapauri", ["khq"] = "Koyra Chiini", ["khr"] = "Kharia", ["khs"] = "Kasua", ["kht"] = "Khamti", ["khu"] = "Nkhumbi", ["khv"] = "Khvarshi", ["khw"] = "Khowar", ["khx"] = "Kanu", ["khy"] = "Ekele", ["khz"] = "Keapara", ["ki"] = "Kikuyu", ["kia"] = "Kim", ["kib"] = "Koalib", ["kic"] = "Kickapoo", ["kid"] = "Koshin", ["kie"] = "Kibet", ["kif"] = "Kham Parbate Timur", ["kig"] = "Kimaama", ["kih"] = "Kilmeri", ["kii"] = "Kitsai", ["kij"] = "Kilivila", ["kil"] = "Kariya", ["kim"] = "Tofa", ["kio"] = "Kiowa", ["kip"] = "Kham Sheshi", ["kiq"] = "Kosadle", ["kis"] = "Kis", ["kit"] = "Agob", ["kiv"] = "Kimbu", ["kiw"] = "Kiwai Timur Laut", ["kix"] = "Naga Khiamniungan", ["kiy"] = "Kirikiri", ["kiz"] = "Kisi", ["kj"] = "Kwanyama", ["kja"] = "Mlap", ["kjb"] = "Q'anjob'al", ["kjc"] = "Konjo Pesisir", ["kjd"] = "Kiwai Selatan", ["kje"] = "Kisar", ["kjg"] = "Khmu", ["kjh"] = "Khakas", ["kji"] = "Zabana", ["kjj"] = "Khinalug", ["kjk"] = "Konjo Pegunungan", ["kjl"] = "Kham", ["kjm"] = "Kháng", ["kjn"] = "Kunjen", ["kjo"] = "Kinnauri Harijan", ["kjp"] = "Pwo Timur", ["kjq"] = "Keres Barat", ["kjr"] = "Kurudu", ["kjs"] = "Kewa Timur", ["kjt"] = "Pwo Phrae", ["kju"] = "Kashaya", ["kjx"] = "Ramopa", ["kjy"] = "Erave", ["kjz"] = "Bumthangkha", ["kk"] = "Kazakh", ["kka"] = "Kakanda", ["kkb"] = "Kwerisa", ["kkc"] = "Odoodee", ["kkd"] = "Kinuku", ["kke"] = "Kakabe", ["kkf"] = "Monpa Kalaktang", ["kkg"] = "Kalinga Mabaka Valley", ["kkh"] = "Khün", ["kki"] = "Kagulu", ["kkj"] = "Kako", ["kkk"] = "Kokota", ["kkl"] = "Yale Kosarek", ["kkm"] = "Kiong", ["kkn"] = "Kon Keu", ["kko"] = "Karko", ["kkp"] = "Koko-Bera", ["kkq"] = "Kaiku", ["kkr"] = "Kir-Balar", ["kks"] = "Kirfi", ["kkt"] = "Koi", ["kku"] = "Tumi", ["kkv"] = "Kangean", ["kkw"] = "Teke-Kukuya", ["kkx"] = "Kohin", ["kky"] = "Guugu Yimidhirr", ["kkz"] = "Kaska", ["kl"] = "Grinlandia", ["kla"] = "Klamath-Modoc", ["klb"] = "Kiliwa", ["klc"] = "Kolbila", ["kld"] = "Gamilaraay", ["kle"] = "Kulung", ["klf"] = "Kendeje", ["klg"] = "Kalagan Tagakaulu", ["klh"] = "Weliki", ["kli"] = "Kalumpang", ["klj"] = "Khalaj", ["klk"] = "Kono (Nigeria)", ["kll"] = "Kalagan Kagan", ["klm"] = "Kolom", ["kln"] = "Kalenjin", ["klo"] = "Kapya", ["klp"] = "Kamasa", ["klq"] = "Rumu", ["klr"] = "Khaling", ["kls"] = "Kalasha", ["klt"] = "Nukna", ["klu"] = "Klao", ["klv"] = "Maskelynes", ["klw"] = "Lindu", ["klx"] = "Koluwawa", ["kly"] = "Kalao", ["klz"] = "Kabola", ["km"] = "Khmer", ["kma"] = "Konni", ["kmb"] = "Kimbundu", ["kmc"] = "Kam Selatan", ["kmd"] = "Kalinga Madukayang", ["kme"] = "Bakole", ["kmf"] = "Kare (Papua)", ["kmg"] = "Kâte", ["kmh"] = "Kalam", ["kmi"] = "Kami", ["kmj"] = "Paharia Kumarbhag", ["kmk"] = "Kalinga Limos", ["kml"] = "Kalinga Tanudan", ["kmm"] = "Kom (India)", ["kmn"] = "Awtuw", ["kmo"] = "Kwoma", ["kmp"] = "Gimme", ["kmq"] = "Kwama", ["kmr"] = "Kurdi Utara", ["kms"] = "Kamasau", ["kmt"] = "Kemtuik", ["kmu"] = "Kanite", ["kmv"] = "Kreol Prancis Karipúna", ["kmw"] = "Kumu", ["kmx"] = "Waboda", ["kmy"] = "Koma", ["kmz"] = "Turki Khorasani", ["kn"] = "Kannada", ["kna"] = "Kanakuru", ["knb"] = "Kalinga Lubuagan", ["knd"] = "Konda", ["kne"] = "Kankanaey", ["knf"] = "Mankanya", ["kni"] = "Kanufi", ["knj"] = "Akatek", ["knk"] = "Kuranko", ["knl"] = "Keninjal", ["knm"] = "Kanamari", ["kno"] = "Kono (Sierra Leone)", ["knp"] = "Kwanja", ["knq"] = "Kintaq", ["knr"] = "Kaningra", ["kns"] = "Kensiu", ["knt"] = "Katukina", ["knu"] = "Kono (Guinea)", ["knv"] = "Tabo", ["knx"] = "Kendayan", ["kny"] = "Kanyok", ["knz"] = "Kalamsé", ["ko"] = "Korea", ["ko-ear"] = "Korea Modern Awal", ["koa"] = "Konomala", ["koc"] = "Kpati", ["kod"] = "Kodi", ["koe"] = "Kacipo-Balesi", ["kof"] = "Kubi", ["kog"] = "Cogui", ["koh"] = "Koyo", ["koi"] = "Komi-Permyak", ["kok"] = "Konkani", ["kol"] = "Kol (Papua)", ["koo"] = "Konzo", ["kop"] = "Waube", ["koq"] = "Kota (Gabon)", ["kos"] = "Kosraean", ["kot"] = "Lagwan", ["kou"] = "Koke", ["kov"] = "Kudu-Camo", ["kow"] = "Kugama", ["koy"] = "Koyukon", ["koz"] = "Korak", ["kpa"] = "Kutto", ["kpb"] = "Kurumba Mullu", ["kpc"] = "Curripaco", ["kpd"] = "Koba", ["kpe"] = "Kpelle", ["kpf"] = "Komba", ["kpg"] = "Kapingamarangi", ["kph"] = "Kplang", ["kpi"] = "Kofei", ["kpj"] = "Karajá", ["kpk"] = "Kpan", ["kpl"] = "Kpala", ["kpm"] = "Koho", ["kpn"] = "Kepkiriwát", ["kpo"] = "Ikposo", ["kpp"] = "Karen Paku", ["kpq"] = "Korupun-Sela", ["kpr"] = "Korafe-Yegha", ["kps"] = "Tehit", ["kpt"] = "Karata", ["kpu"] = "Kafoa", ["kpv"] = "Komi-Zyrian", ["kpw"] = "Kobon", ["kpx"] = "Koiari Gunung", ["kpy"] = "Koryak", ["kpz"] = "Kupsabiny", ["kqa"] = "Mum", ["kqb"] = "Kovai", ["kqc"] = "Doromu-Koki", ["kqd"] = "Koy Sanjaq Surat", ["kqe"] = "Kalagan", ["kqf"] = "Kakabai", ["kqg"] = "Khe", ["kqh"] = "Kisankasa", ["kqi"] = "Koitabu", ["kqj"] = "Koromira", ["kqk"] = "Gbe Kotafon", ["kql"] = "Kyenele", ["kqm"] = "Khisa", ["kqn"] = "Kaonde", ["kqo"] = "Krahn Timur", ["kqp"] = "Kimré", ["kqq"] = "Krenak", ["kqr"] = "Kimaragang", ["kqs"] = "Kissi Utara", ["kqt"] = "Kadazan Sungai Klias", ["kqu"] = "Seroa", ["kqv"] = "Okolod", ["kqw"] = "Kandas", ["kqx"] = "Mser", ["kqy"] = "Koorete", ["kqz"] = "Korana", ["kr"] = "Kanuri", ["kra"] = "Kumhali", ["krb"] = "Karkin", ["krc"] = "Karachay-Balkar", ["krd"] = "Kairui-Midiki", ["kre"] = "Panará", ["krf"] = "Koro (Vanuatu)", ["krh"] = "Kurama", ["kri"] = "Krio", ["krj"] = "Kinaray-a", ["krk"] = "Kerek", ["krl"] = "Karelia", ["krm"] = "Krim", ["krn"] = "Sapo", ["kro-pro"] = "Proto-Kru", ["krp"] = "Korop", ["krr"] = "Kru'ng", ["krs"] = "Kresh", ["kru"] = "Kurukh", ["krv"] = "Kavet", ["krw"] = "Krahn Barat", ["krx"] = "Karon", ["kry"] = "Kryts", ["krz"] = "Kanum Sota", ["ks"] = "Kashmir", ["ksa"] = "Shuwa-Zamani", ["ksb"] = "Shambala", ["ksc"] = "Kalinga Selatan", ["ksd"] = "Tolai", ["kse"] = "Kuni", ["ksf"] = "Bafia", ["ksg"] = "Kusaghe", ["ksi"] = "Krisa", ["ksj"] = "Uare", ["ksk"] = "Kansa", ["ksl"] = "Kumalu", ["ksm"] = "Kumba", ["ksn"] = "Kasiguranin", ["kso"] = "Kofa", ["ksp"] = "Kaba", ["ksq"] = "Kwaami", ["ksr"] = "Borong", ["kss"] = "Kissi Selatan", ["kst"] = "Winyé", ["ksu"] = "Khamyang", ["ksv"] = "Kusu", ["ksw"] = "Karen S'gaw", ["ksx"] = "Kedang", ["ksy"] = "Kharia Thar", ["ksz"] = "Kodaku", ["kta"] = "Katua", ["ktb"] = "Kambaata", ["ktc"] = "Kholok", ["ktd"] = "Kokata", ["ktf"] = "Kwami", ["ktg"] = "Kalkatungu", ["kth"] = "Karanga", ["kti"] = "Muyu Utara", ["ktj"] = "Plapo Krumen", ["ktk"] = "Kaniet", ["ktl"] = "Koroshi", ["ktm"] = "Kurti", ["ktn"] = "Karitiâna", ["kto"] = "Kuot", ["ktp"] = "Kaduo", ["ktq"] = "Katabaga", ["ktr"] = "Kota Marudu Tinagas", ["kts"] = "Muyu Selatan", ["ktt"] = "Ketum", ["ktu"] = "Kituba", ["ktv"] = "Katu Timur", ["ktw"] = "Kato", ["ktx"] = "Kaxararí", ["kty"] = "Kango", ["ktz"] = "Juǀ'hoan", ["ku-pro"] = "Proto-Kurdi", ["kub"] = "Kutep", ["kuc"] = "Kwinsu", ["kud"] = "Auhelawa", ["kue"] = "Kuman", ["kuf"] = "Katu Barat", ["kug"] = "Kupa", ["kuh"] = "Kushi", ["kui"] = "Kuikúro", ["kuj"] = "Kuria", ["kuk"] = "Kepo'", ["kul"] = "Kulere", ["kum"] = "Kumyk", ["kun"] = "Kunama", ["kuo"] = "Kumukio", ["kup"] = "Kunimaipa", ["kuq"] = "Karipuna", ["kus"] = "Kusaal", ["kut"] = "Kutenai", ["kuu"] = "Kuskokwim Hulu", ["kuv"] = "Kur", ["kuw"] = "Kpagua", ["kux"] = "Kukatja", ["kuy"] = "Kuuku-Ya'u", ["kuz"] = "Kunza", ["kva"] = "Bagvalal", ["kvb"] = "Orang Rimba", ["kvc"] = "Kove", ["kvd"] = "Kui (Indonesia)", ["kve"] = "Kalabakan", ["kvf"] = "Kabalai", ["kvg"] = "Kuni-Boazi", ["kvh"] = "Komodo", ["kvi"] = "Kwang", ["kvj"] = "Psikye", ["kvk"] = "Isyarat Korea", ["kvl"] = "Karen Brek", ["kvm"] = "Kendem", ["kvn"] = "Border Kuna", ["kvo"] = "Dobel", ["kvp"] = "Kompane", ["kvq"] = "Karen Geba", ["kvr"] = "Kerinci", ["kvt"] = "Karen Lahta", ["kvu"] = "Karen Yinbaw", ["kvv"] = "Kola", ["kvw"] = "Wersing", ["kvx"] = "Koli Parkari", ["kvy"] = "Karen Yintale", ["kvz"] = "Tsakwambo", ["kw"] = "Cornish", ["kwa"] = "Dâw", ["kwb"] = "Baa", ["kwc"] = "Likwala", ["kwd"] = "Kwaio", ["kwe"] = "Kwerba", ["kwf"] = "Kwara'ae", ["kwg"] = "Sara Kaba Deme", ["kwh"] = "Kowiai", ["kwi"] = "Awa-Cuaiquer", ["kwj"] = "Kwanga", ["kwk"] = "Kwak'wala", ["kwl"] = "Kofyar", ["kwm"] = "Kwambi", ["kwn"] = "Kwangali", ["kwo"] = "Kwomtari", ["kwp"] = "Kodia", ["kwq"] = "Kwak", ["kwr"] = "Kwer", ["kws"] = "Kwese", ["kwt"] = "Kwesten", ["kwu"] = "Kwakum", ["kwv"] = "Sara Kaba Náà", ["kww"] = "Kwinti", ["kwx"] = "Khirwar", ["kwz"] = "Kwadi", ["kxa"] = "Kairiru", ["kxb"] = "Krobu", ["kxc"] = "Khonso", ["kxd"] = "Melayu Brunei", ["kxe"] = "Kakihum", ["kxf"] = "Karen Manumanaw", ["kxh"] = "Karo", ["kxi"] = "Murut Keningau", ["kxj"] = "Kulfa", ["kxk"] = "Karen Zayein", ["kxl"] = "Nepai Kurux", ["kxm"] = "Khmer Utara", ["kxn"] = "Kanowit", ["kxo"] = "Kanoé", ["kxp"] = "Koli Wadiyara", ["kxq"] = "Kanum Smärky", ["kxr"] = "Koro (Papua)", ["kxs"] = "Kangjia", ["kxt"] = "Koiwat", ["kxu"] = "Kui (India)", ["kxv"] = "Kuvi", ["kxw"] = "Konai", ["kxx"] = "Likuba", ["kxy"] = "Kayong", ["kxz"] = "Kerewo", ["ky"] = "Kirgiz", ["kya"] = "Kwaya", ["kyb"] = "Kalinga Butbut", ["kyc"] = "Kyaka", ["kyd"] = "Karey", ["kye"] = "Krache", ["kyf"] = "Kouya", ["kyg"] = "Keyagana", ["kyh"] = "Karok", ["kyi"] = "Kiput", ["kyj"] = "Karao", ["kyk"] = "Kamayo", ["kyl"] = "Kalapuya", ["kym"] = "Kpatili", ["kyn"] = "Karolanos", ["kyo"] = "Kelon", ["kyp"] = "Kang", ["kyq"] = "Kenga", ["kyr"] = "Kuruáya", ["kys"] = "Kayan Baram", ["kyt"] = "Kayagar", ["kyu"] = "Kayah Barat", ["kyv"] = "Kayort", ["kyw"] = "Kudmali", ["kyx"] = "Rapoisi", ["kyy"] = "Kambaira", ["kyz"] = "Kayabí", ["kza"] = "Karaboro Barat", ["kzb"] = "Kaibobo", ["kzc"] = "Kulango Bondoukou", ["kzd"] = "Kadai", ["kze"] = "Kosena", ["kzf"] = "Kaili Da'a", ["kzg"] = "Kikai", ["kzh"] = "Dongolawi", ["kzi"] = "Kelabit", ["kzj"] = "Kadazan Pesisir", ["kzk"] = "Kazukuru", ["kzl"] = "Kayeli", ["kzm"] = "Kais", ["kzn"] = "Kokola", ["kzo"] = "Kaningi", ["kzp"] = "Kaidipang", ["kzq"] = "Kaike", ["kzr"] = "Karang", ["kzs"] = "Dusun Sugut", ["kzt"] = "Dusun Tambunan", ["kzu"] = "Kayupulau", ["kzv"] = "Komyandaret", ["kzw"] = "Kariri", ["kzx"] = "Kamarian", ["kzy"] = "Kango-Sua", ["kzz"] = "Kalabra", ["la"] = "Latin", ["laa"] = "Lapuyan Subanun", ["lab"] = "Linear A", ["lac"] = "Lacandon", ["lad"] = "Ladino", ["lae"] = "Pattani", ["laf"] = "Lafofa", ["lag"] = "Langi", ["lah"] = "Lahnda", ["lai"] = "Lambya", ["laj"] = "Lango (Uganda)", ["lak"] = "Laka", ["lam"] = "Lamba", ["lan"] = "Laru", ["lap"] = "Kabba-Laka", ["laq"] = "Qabiao", ["lar"] = "Larteh", ["las"] = "Gur Lama", ["lau"] = "Laba", ["law"] = "Lauje", ["lax"] = "Tiwa", ["lay"] = "Bai Lama", ["laz"] = "Aribwatsa", ["lb"] = "Luksemburg", ["lbb"] = "Label", ["lbc"] = "Lakkia", ["lbe"] = "Lak", ["lbf"] = "Tinani", ["lbg"] = "Laopang", ["lbi"] = "La'bi", ["lbj"] = "Ladakhi", ["lbk"] = "Bontoc Tengah", ["lbl"] = "Bikol Libon", ["lbm"] = "Lodhi", ["lbn"] = "Lamet", ["lbo"] = "Laven", ["lbq"] = "Wampar", ["lbr"] = "Lorung Utara", ["lbs"] = "Isyarat Libya", ["lbt"] = "Lachi", ["lbu"] = "Labu", ["lbv"] = "Lavatbura-Lamusong", ["lbw"] = "Tolaki", ["lbx"] = "Lawangan-Pasir", ["lby"] = "Lamu-Lamu", ["lbz"] = "Lardil", ["lcc"] = "Legenyem", ["lcd"] = "Lola", ["lce"] = "Loncong", ["lcf"] = "Lubu", ["lch"] = "Luchazi", ["lcl"] = "Lisela", ["lcm"] = "Tungag", ["lcp"] = "Lawa Barat", ["lcq"] = "Luhu", ["lcs"] = "Lisabata-Nuniali", ["lda"] = "Kla", ["ldb"] = "Idun", ["ldd"] = "Luri (Nigeria)", ["ldg"] = "Lenyima", ["ldh"] = "Lamja-Dengsa-Tola", ["ldj"] = "Lemoro", ["ldk"] = "Leelau", ["ldl"] = "Kaan", ["ldm"] = "Landoma", ["ldn"] = "Láadan", ["ldo"] = "Loo", ["ldp"] = "Tso", ["ldq"] = "Lufu", ["lea"] = "Lega-Shabunda", ["leb"] = "Lala-Bisa", ["lec"] = "Leco", ["led"] = "Lendu", ["lee"] = "Lyélé", ["lef"] = "Lelemi", ["leh"] = "Lenje", ["lei"] = "Lemio", ["lej"] = "Lengola", ["lek"] = "Leipon", ["lel"] = "Lele (Kongo)", ["lem"] = "Nomaande", ["len"] = "Lenca Honduras", ["leo"] = "Leti (Kamerun)", ["lep"] = "Lepcha", ["leq"] = "Lembena", ["ler"] = "Lenkau", ["les"] = "Lese", ["let"] = "Lesing-Gelimi", ["leu"] = "Kara (Papua)", ["lev"] = "Lamma", ["lew"] = "Kaili Ledo", ["lex"] = "Luang", ["ley"] = "Lemolang", ["lez"] = "Lezgi", ["lfa"] = "Lefa", ["lfn"] = "Lingua Franca Nova", ["lg"] = "Luganda", ["lga"] = "Lungga", ["lgb"] = "Laghu", ["lgg"] = "Lugbara", ["lgh"] = "Laghuu", ["lgi"] = "Lengilu", ["lgk"] = "Neverver", ["lgl"] = "Wala", ["lgm"] = "Lega-Mwenga", ["lgn"] = "Opuuo", ["lgq"] = "Logba", ["lgr"] = "Lengo", ["lgs"] = "Isyarat Guinea-Bissau", ["lgt"] = "Pahi", ["lgu"] = "Longgu", ["lgz"] = "Ligenza", ["lha"] = "Laha (Vietnam)", ["lhh"] = "Laha (Indonesia)", ["lhi"] = "Lahu Shi", ["lhl"] = "Lahul Lohar", ["lhn"] = "Lahanan", ["lhp"] = "Lhokpu", ["lhs"] = "Mlahsö", ["lht"] = "Lo-Toga", ["lhu"] = "Lahu", ["li"] = "Limburg", ["lia"] = "Limba Tengah Barat", ["lib"] = "Likum", ["lic"] = "Hlai", ["lid"] = "Nyindrou", ["lie"] = "Likila", ["lif"] = "Limbu", ["lig"] = "Ligbi", ["lih"] = "Lihir", ["lii"] = "Lingkhim", ["lij"] = "Liguria", ["lik"] = "Lika", ["lil"] = "Lillooet", ["lio"] = "Liki", ["lip"] = "Sekpele", ["liq"] = "Libido", ["lir"] = "Inggris Liberia", ["lis"] = "Lisu", ["liu"] = "Logorik", ["liv"] = "Livonia", ["liw"] = "Col", ["lix"] = "Liabuku", ["liy"] = "Banda-Bambari", ["liz"] = "Libinza", ["lja"] = "Golpa", ["lje"] = "Rampi", ["lji"] = "Laiyolo", ["ljl"] = "Lio", ["ljp"] = "Lampung Api", ["ljw"] = "Yirandali", ["ljx"] = "Yuru", ["lka"] = "Lakalei", ["lkb"] = "Kabras", ["lkc"] = "Kucong", ["lkd"] = "Lakondê", ["lke"] = "Kenyi", ["lkh"] = "Lakha", ["lki"] = "Laki", ["lkj"] = "Remun", ["lkl"] = "Laeko-Libuat", ["lkm"] = "Kalaamaya", ["lkn"] = "Lakon", ["lko"] = "Khayo", ["lkr"] = "Päri", ["lks"] = "Kisa", ["lkt"] = "Lakota", ["lku"] = "Kungkari", ["lky"] = "Lokoya", ["lla"] = "Lala-Roba", ["llb"] = "Lolo", ["llc"] = "Lele (Guinea)", ["lld"] = "Ladin", ["lle"] = "Lele (Papua)", ["llf"] = "Hermit", ["llg"] = "Lole", ["llh"] = "Lamu", ["lli"] = "Teke-Laali", ["llj"] = "Ladji-Ladji", ["llk"] = "Lelak", ["lll"] = "Lilau", ["llm"] = "Lasalimu", ["lln"] = "Lele (Chad)", ["llo"] = "Khlor", ["llp"] = "Efate Utara", ["llq"] = "Lolak", ["lls"] = "Isyarat Lituania", ["llu"] = "Lau", ["llx"] = "Lauan", ["lma"] = "Limba Timur", ["lmb"] = "Merei", ["lmc"] = "Limilngan", ["lmd"] = "Lumun", ["lme"] = "Pévé", ["lmf"] = "Lembata Selatan", ["lmg"] = "Lamogai", ["lmh"] = "Lambichhong", ["lmi"] = "Lombi", ["lmj"] = "Lembata Barat", ["lmk"] = "Lamkang", ["lml"] = "Raga", ["lmn"] = "Lambadi", ["lmo"] = "Lombard", ["lmp"] = "Limbum", ["lmq"] = "Lamatuka", ["lmr"] = "Lamalera", ["lmu"] = "Lamenu", ["lmv"] = "Lomaiviti", ["lmw"] = "Miwok Lake", ["lmx"] = "Laimbue", ["lmy"] = "Laboya", ["lmz"] = "Lumbee", ["ln"] = "Lingala", ["lna"] = "Langbashe", ["lnb"] = "Mbalanhu", ["lnd"] = "Lun Bawang", ["lnh"] = "Lanoh", ["lni"] = "Daantanai'", ["lnj"] = "Linngithigh", ["lnl"] = "Banda Tengah Selatan", ["lnm"] = "Langam", ["lnn"] = "Lorediakarkar", ["lno"] = "Lango (Sudan)", ["lns"] = "Lamnso'", ["lnu"] = "Longuda", ["lnw"] = "Lanima", ["lo"] = "Lao", ["loa"] = "Loloda", ["lob"] = "Lobi", ["loc"] = "Inonhan", ["lod"] = "Berawan", ["loe"] = "Saluan", ["lof"] = "Logol", ["log"] = "Logo", ["loh"] = "Narim", ["loi"] = "Lomakka", ["loj"] = "Lou", ["lok"] = "Loko", ["lol"] = "Mongo", ["lom"] = "Looma", ["lon"] = "Malawi Lomwe", ["loo"] = "Lombo", ["lop"] = "Lopa", ["loq"] = "Lobala", ["lor"] = "Téén", ["los"] = "Loniu", ["lot"] = "Lotuko", ["lou"] = "Kreol Louisiana", ["lov"] = "Lopi", ["low"] = "Lobu Tampias", ["lox"] = "Loun", ["loz"] = "Lozi", ["lpa"] = "Lelepa", ["lpe"] = "Lepki", ["lpn"] = "Naga Long Phuri", ["lpo"] = "Lipo", ["lpx"] = "Lopit", ["lra"] = "Rara Bakati'", ["lrc"] = "Luri Utara", ["lre"] = "Laurentian", ["lrg"] = "Laragia", ["lri"] = "Marachi", ["lrk"] = "Loarki", ["lrl"] = "Larestani", ["lrm"] = "Marama", ["lrn"] = "Lorang", ["lro"] = "Laro", ["lrr"] = "Lorung Selatan", ["lrt"] = "Melayu Larantuka", ["lrv"] = "Larevat", ["lrz"] = "Lemerig", ["lsa"] = "Lasgerdi", ["lsd"] = "Lishana Deni", ["lse"] = "Lusengo", ["lsh"] = "Lish", ["lsi"] = "Lashi", ["lsl"] = "Isyarat Latvia", ["lsm"] = "Saamia", ["lso"] = "Isyarat Laos", ["lsp"] = "Isyarat Panama", ["lsr"] = "Aruop", ["lss"] = "Lasi", ["lst"] = "Isyarat Trinidad dan Tobago", ["lsy"] = "Isyarat Mauritius", ["lt"] = "Lithuania", ["ltc"] = "Tionghoa Tengahan", ["ltg"] = "Latgalian", ["lti"] = "Leti (Indonesia)", ["ltn"] = "Latundê", ["lto"] = "Olutsotso", ["lts"] = "Lutachoni", ["ltu"] = "Latu", ["lu"] = "Luba-Katanga", ["lua"] = "Luba-Kasai", ["luc"] = "Aringa", ["lud"] = "Ludian", ["lue"] = "Luvale", ["luf"] = "Laua", ["lui"] = "Luiseño", ["luj"] = "Luna", ["luk"] = "Lunanakha", ["lul"] = "Olu'bo", ["lum"] = "Luimbi", ["lun"] = "Lunda", ["luo"] = "Luo", ["lup"] = "Lumbu", ["luq"] = "Lucumí", ["lur"] = "Laura", ["lus"] = "Mizo", ["lut"] = "Lushootseed", ["luu"] = "Lumba-Yakkha", ["luv"] = "Luwati", ["luy"] = "Luhya", ["luz"] = "Luri Selatan", ["lv"] = "Latvia", ["lva"] = "Maku'a", ["lvi"] = "Lawi", ["lvk"] = "Lavukaleve", ["lvu"] = "Levuka", ["lwa"] = "Lwalu", ["lwe"] = "Lewo Eleng", ["lwg"] = "Wanga", ["lwh"] = "Lachi Putih", ["lwl"] = "Lawa Timur", ["lwm"] = "Laomian", ["lwo"] = "Luwo", ["lws"] = "Isyarat Malawi", ["lwt"] = "Lewotobi", ["lwu"] = "Lawu", ["lww"] = "Lewo", ["lya"] = "Layakha", ["lyg"] = "Lyngngam", ["lyn"] = "Luyana", ["lzh"] = "Tionghoa Literatur", ["lzl"] = "Litzlitz", ["lzn"] = "Naga Leinong", ["lzz"] = "Laz", ["maa"] = "Mazatec San Jerónimo Tecóatl", ["mab"] = "Mixtec Yutanduchi", ["mad"] = "Madura", ["mae"] = "Bo-Rukul", ["maf"] = "Mafa", ["mag"] = "Magahi", ["mai"] = "Maithili", ["maj"] = "Mazatec Jalapa de Díaz", ["mak"] = "Makassar", ["mam"] = "Mam", ["man"] = "Mandingo", ["map-ata-pro"] = "Proto-Atayalic", ["map-bms"] = "Jawa Banyumasan", ["map-pro"] = "Proto-Austronesia", ["maq"] = "Mazatec Chiquihuitlán", ["mas"] = "Maasai", ["mat"] = "Matlatzinca", ["mau"] = "Mazatec Huautla", ["mav"] = "Sateré-Mawé", ["maw"] = "Mampruli", ["max"] = "Melayu Maluku Utara", ["maz"] = "Mazahua Tengah", ["mba"] = "Higaonon", ["mbb"] = "Manobo Bukidnon Barat", ["mbc"] = "Macushi", ["mbd"] = "Manobo Dibabawon", ["mbe"] = "Molale", ["mbf"] = "Melayu Baba", ["mbh"] = "Mangseng", ["mbi"] = "Manobo Ilianen", ["mbj"] = "Nadëb", ["mbk"] = "Malol", ["mbl"] = "Maxakalí", ["mbm"] = "Ombamba", ["mbn"] = "Macaguán", ["mbo"] = "Mbo (Kamerun)", ["mbp"] = "Wiwa", ["mbq"] = "Maisin", ["mbr"] = "Nukak Makú", ["mbs"] = "Manobo Sarangani", ["mbt"] = "Manobo Matigsalug", ["mbu"] = "Mbula-Bwazza", ["mbv"] = "Mbulungish", ["mbw"] = "Maring", ["mbx"] = "Mari Sepik", ["mby"] = "Memoni", ["mbz"] = "Mixtec Amoltepec", ["mca"] = "Maca", ["mcb"] = "Machiguenga", ["mcc"] = "Bitur", ["mcd"] = "Sharanahua", ["mce"] = "Mixtec Itundujia", ["mcf"] = "Matsés", ["mcg"] = "Mapoyo", ["mch"] = "Maquiritari", ["mci"] = "Mese", ["mcj"] = "Mvanip", ["mck"] = "Mbunda", ["mcl"] = "Macaguaje", ["mcm"] = "Kristang", ["mcn"] = "Masana", ["mco"] = "Mixe Coatlán", ["mcp"] = "Makaa", ["mcq"] = "Ese", ["mcr"] = "Menya", ["mcs"] = "Mambai", ["mcu"] = "Mambila Kamerun", ["mcv"] = "Minanibai", ["mcw"] = "Mawa", ["mcx"] = "Mpiemo", ["mcy"] = "Watut Selatan", ["mcz"] = "Mawan", ["mda"] = "Mada (Nigeria)", ["mdb"] = "Morigi", ["mdc"] = "Male", ["mdd"] = "Mbum", ["mde"] = "Bura Mabang", ["mdf"] = "Moksha", ["mdg"] = "Massalat", ["mdh"] = "Maguindanao", ["mdi"] = "Mamvu", ["mdj"] = "Mangbetu", ["mdk"] = "Mangbutu", ["mdl"] = "Isyarat Malta", ["mdm"] = "Mayogo", ["mdn"] = "Mbati", ["mdp"] = "Mbala", ["mdq"] = "Mbole", ["mdr"] = "Mandar", ["mds"] = "Maria", ["mdt"] = "Mbere", ["mdu"] = "Mboko", ["mdv"] = "Mixtec Santa Lucía Monteverde", ["mdw"] = "Mbosi", ["mdx"] = "Dizin", ["mdy"] = "Maale", ["mdz"] = "Suruí Do Pará", ["mea"] = "Menka", ["meb"] = "Ikobi-Mena", ["mec"] = "Mara", ["med"] = "Melpa", ["mee"] = "Mengen", ["mef"] = "Megam", ["meg"] = "Mea", ["meh"] = "Mixtec Tlaxiaco Barat Daya", ["mei"] = "Midob", ["mej"] = "Meyah", ["mek"] = "Mekeo", ["mel"] = "Melanau Tengah", ["mem"] = "Mangala", ["men"] = "Mende", ["meo"] = "Melayu Kedah", ["mep"] = "Miriwung", ["meq"] = "Merey", ["mer"] = "Meru", ["mes"] = "Masmaje", ["met"] = "Mato", ["meu"] = "Motu", ["mev"] = "Mano", ["mew"] = "Maaka", ["mey"] = "Hassaniya", ["mez"] = "Menominee", ["mfa"] = "Melayu Kelantan-Patani", ["mfb"] = "Bangka", ["mfc"] = "Mba", ["mfd"] = "Mendankwe-Nkwen", ["mfe"] = "Kreol Mauritia", ["mff"] = "Naki", ["mfg"] = "Mixifore", ["mfh"] = "Matal", ["mfi"] = "Wandala", ["mfj"] = "Mefele", ["mfk"] = "Mofu Utara", ["mfl"] = "Putai", ["mfm"] = "Marghi Selatan", ["mfn"] = "Mbembe Sungai Cross", ["mfo"] = "Mbe", ["mfp"] = "Melayu Makassar", ["mfq"] = "Moba", ["mfr"] = "Marrithiyel", ["mfs"] = "Isyarat Meksiko", ["mft"] = "Mokerang", ["mfu"] = "Mbwela", ["mfv"] = "Mandjak", ["mfw"] = "Mulaha", ["mfx"] = "Melo", ["mfy"] = "Mayo", ["mfz"] = "Mabaan", ["mg"] = "Malagasi", ["mga"] = "Irlandia Tengahan", ["mgb"] = "Mararit", ["mgc"] = "Morokodo", ["mgd"] = "Moru", ["mge"] = "Mango", ["mgf"] = "Maklew", ["mgg"] = "Mpongmpong", ["mgh"] = "Makhuwa-Meetto", ["mgi"] = "Jili", ["mgj"] = "Abureni", ["mgk"] = "Mawes", ["mgl"] = "Maleu-Kilenge", ["mgm"] = "Mambae", ["mgn"] = "Mbangi", ["mgo"] = "Meta'", ["mgp"] = "Magar Timur", ["mgq"] = "Malila", ["mgr"] = "Mambwe-Lungu", ["mgs"] = "Manda (Tanzania)", ["mgt"] = "Mongol", ["mgu"] = "Mailu", ["mgv"] = "Matengo", ["mgw"] = "Matumbi", ["mgy"] = "Mbunga", ["mgz"] = "Mbugwe", ["mh"] = "Marshall", ["mha"] = "Manda (India)", ["mhb"] = "Mahongwe", ["mhc"] = "Mocho", ["mhd"] = "Mbugu", ["mhe"] = "Besisi", ["mhf"] = "Mamaa", ["mhg"] = "Margu", ["mhi"] = "Ma'di", ["mhj"] = "Mogholi", ["mhk"] = "Mungaka", ["mhl"] = "Mauwake", ["mhm"] = "Makhuwa-Moniga", ["mhn"] = "Mòcheno", ["mho"] = "Mashi", ["mhp"] = "Melayu Bali", ["mhq"] = "Mandan", ["mhr"] = "Mari Timur", ["mhs"] = "Buru (Indonesia)", ["mht"] = "Mandahuaca", ["mhu"] = "Taraon", ["mhw"] = "Mbukushu", ["mhx"] = "Lhao Vo", ["mhy"] = "Ma'anyan", ["mhz"] = "Mor (Austronesia)", ["mi"] = "Maori", ["mia"] = "Miami", ["mib"] = "Mixtec Atatláhuca", ["mic"] = "Mi'kmaq", ["mid"] = "Mandaic", ["mie"] = "Mixtec Ocotepec", ["mif"] = "Mofu-Gudur", ["mig"] = "Mixtec San Miguel el Grande", ["mih"] = "Mixtec Chayuco", ["mii"] = "Mixtec Chigmecatitlán", ["mij"] = "Mungbam", ["mik"] = "Mikasuki", ["mil"] = "Mixtec Peñoles", ["mim"] = "Mixtec Alacatlatzala", ["min"] = "Minangkabau", ["mio"] = "Mixtec Pinotepa Nacional", ["mip"] = "Mixtec Apasco-Apoala", ["miq"] = "Miskito", ["mir"] = "Mixe Isthmus", ["mit"] = "Mixtec Puebla Selatan", ["miu"] = "Mixtec Cacaloxtepec", ["miw"] = "Akoye", ["mix"] = "Mixtec Mixtepec", ["miy"] = "Mixtec Ayutla", ["miz"] = "Mixtec Coatzospan", ["mjb"] = "Makalero", ["mjc"] = "Mixtec San Juan Colorado", ["mjd"] = "Maidu Barat Laut", ["mje"] = "Muskum", ["mji"] = "Kim Mun", ["mjj"] = "Mawak", ["mjk"] = "Matukar", ["mjl"] = "Mandeali", ["mjm"] = "Medebur", ["mjn"] = "Mebu", ["mjo"] = "Malankuravan", ["mjp"] = "Malapandaram", ["mjq"] = "Malaryan", ["mjr"] = "Malavedan", ["mjs"] = "Miship", ["mjt"] = "Paharia Sawriya", ["mju"] = "Manna-Dora", ["mjv"] = "Mannan", ["mjw"] = "Karbi", ["mjx"] = "Mahali", ["mjy"] = "Mahican", ["mjz"] = "Majhi", ["mk"] = "Makedonia", ["mka"] = "Mbre", ["mkb"] = "Paharia Mal", ["mkc"] = "Siliput", ["mke"] = "Mawchi", ["mkf"] = "Miya", ["mkg"] = "Mak (Tiongkok)", ["mkh-asl-pro"] = "Proto-Aslian", ["mkh-ban-pro"] = "Proto-Bahnaric", ["mkh-kat-pro"] = "Proto-Katuic", ["mkh-khm-pro"] = "Proto-Khmuic", ["mkh-kmr-pro"] = "Proto-Khmeric", ["mkh-mmn"] = "Mon Tengahan", ["mkh-mnc-pro"] = "Proto-Monic", ["mkh-mvi"] = "Vietnam Tengahan", ["mkh-pal-pro"] = "Proto-Palaungic", ["mkh-pea-pro"] = "Proto-Pearic", ["mkh-pkn-pro"] = "Proto-Pakanic", ["mkh-pro"] = "Proto-Mon-Khmer", ["mkh-vie-pro"] = "Proto-Vietic", ["mki"] = "Dhatki", ["mkj"] = "Mokilese", ["mkk"] = "Byep", ["mkl"] = "Mokole", ["mkm"] = "Moklen", ["mkn"] = "Melayu Kupang", ["mko"] = "Mingang Doso", ["mkp"] = "Moikodi", ["mkq"] = "Miwok Bay", ["mkr"] = "Malas", ["mks"] = "Mixtec Silacayoapan", ["mkt"] = "Vamale", ["mku"] = "Maninka Konyanka", ["mkv"] = "Mafea", ["mkx"] = "Manobo Cinamiguin", ["mky"] = "Makian Timur", ["mkz"] = "Makasae", ["ml"] = "Malayalam", ["mla"] = "Tamambo", ["mlb"] = "Mbule", ["mlc"] = "Caolan", ["mle"] = "Manambu", ["mlf"] = "Mal", ["mlh"] = "Mape", ["mli"] = "Malimpung", ["mlj"] = "Miltu", ["mlk"] = "Ilwana", ["mll"] = "Malua Bay", ["mlm"] = "Mulam", ["mln"] = "Malango", ["mlo"] = "Mlomp", ["mlp"] = "Bargam", ["mlq"] = "Maninkakan Barat", ["mlr"] = "Vame", ["mls"] = "Masalit", ["mlu"] = "To'abaita", ["mlv"] = "Mwotlap", ["mlw"] = "Moloko", ["mlx"] = "Malfaxal", ["mlz"] = "Malaynon", ["mma"] = "Mama", ["mmb"] = "Momina", ["mmc"] = "Mazahua Michoacán", ["mmd"] = "Maonan", ["mme"] = "Mae", ["mmf"] = "Mundat", ["mmg"] = "Ambrym Utara", ["mmh"] = "Mehináku", ["mmi"] = "Musar", ["mmj"] = "Majhwar", ["mmk"] = "Mukha-Dora", ["mml"] = "Man Met", ["mmm"] = "Maii", ["mmn"] = "Mamanwa", ["mmo"] = "Buang Mangga", ["mmp"] = "Musan", ["mmq"] = "Aisi", ["mmr"] = "Miao Xiangxi Barat", ["mmt"] = "Malalamai", ["mmu"] = "Mmaala", ["mmv"] = "Miriti", ["mmw"] = "Emae", ["mmx"] = "Madak", ["mmy"] = "Migaama", ["mmz"] = "Mabaale", ["mn"] = "Mongolia", ["mna"] = "Mbula", ["mnb"] = "Muna", ["mnc"] = "Manchu", ["mnd"] = "Mondé", ["mne"] = "Naba", ["mnf"] = "Mundani", ["mng"] = "Mnong Timur", ["mnh"] = "Mono (Kongo)", ["mni"] = "Manipuri", ["mnj"] = "Munji", ["mnk"] = "Mandinka", ["mnl"] = "Tiale", ["mnm"] = "Mapena", ["mnn"] = "Mnong Selatan", ["mnp"] = "Min Bei", ["mnq"] = "Minriq", ["mnr"] = "Mono (California)", ["mns"] = "Mansi", ["mnt"] = "Maykulan", ["mnu"] = "Mer", ["mnv"] = "Rennellese", ["mnw"] = "Mon", ["mnw-tha"] = "Mon Thai", ["mnx"] = "Manikion", ["mny"] = "Manyawa", ["mnz"] = "Migani", ["moa"] = "Mwan", ["moc"] = "Mocoví", ["mod"] = "Mobilian", ["moe"] = "Montagnais", ["mog"] = "Mongondow", ["moh"] = "Mohawk", ["moi"] = "Mboi", ["moj"] = "Monzombo", ["mok"] = "Morori", ["mom"] = "Monimbo", ["moo"] = "Monom", ["mop"] = "Maya Mopan", ["moq"] = "Mor (Papua)", ["mor"] = "Moro", ["mos"] = "Moore", ["mot"] = "Barí", ["mou"] = "Mogum", ["mov"] = "Mojave", ["mow"] = "Moi (Kongo)", ["mox"] = "Molima", ["moy"] = "Shekkacho", ["moz"] = "Mukulu", ["mpa"] = "Mpoto", ["mpb"] = "Mullukmulluk", ["mpc"] = "Mangarayi", ["mpd"] = "Machinere", ["mpe"] = "Majang", ["mpg"] = "Marba", ["mph"] = "Maung", ["mpi"] = "Mpade", ["mpj"] = "Martu Wangka", ["mpk"] = "Mbara (Chad)", ["mpl"] = "Watut Tengahan", ["mpm"] = "Mixtec Yosondúa", ["mpn"] = "Mindiri", ["mpo"] = "Miu", ["mpp"] = "Migabac", ["mpq"] = "Matís", ["mpr"] = "Vangunu", ["mps"] = "Dadibi", ["mpt"] = "Mian", ["mpu"] = "Makuráp", ["mpv"] = "Mungkip", ["mpw"] = "Mapidian", ["mpx"] = "Misima-Paneati", ["mpy"] = "Mapia", ["mpz"] = "Mpi", ["mqa"] = "Maba", ["mqb"] = "Mbuko", ["mqc"] = "Mangole", ["mqe"] = "Matepi", ["mqf"] = "Momuna", ["mqg"] = "Kutai Hulu", ["mqh"] = "Mixtec Tlazoyaltepec", ["mqi"] = "Mariri", ["mqj"] = "Mamasa", ["mqk"] = "Manobo Rajah Kabunsuwan", ["mql"] = "Mbelime", ["mqm"] = "Marquesan Selatan", ["mqn"] = "Moronene", ["mqo"] = "Modole", ["mqp"] = "Manipa", ["mqq"] = "Minokok", ["mqr"] = "Mander", ["mqs"] = "Makian Barat", ["mqt"] = "Mok", ["mqu"] = "Mandari", ["mqv"] = "Mosimo", ["mqw"] = "Murupi", ["mqx"] = "Mamuju", ["mqy"] = "Manggarai", ["mqz"] = "Malasanga", ["mr"] = "Marathi", ["mra"] = "Mlabri", ["mrb"] = "Marino", ["mrc"] = "Maricopa", ["mrd"] = "Magar Barat", ["mre"] = "Isyarat Martha's Vineyard", ["mrf"] = "Elseng", ["mrg"] = "Mising", ["mrh"] = "Chin Mara", ["mrj"] = "Mari Barat", ["mrk"] = "Hmwaveke", ["mrl"] = "Mortlockese", ["mrm"] = "Merlav", ["mrn"] = "Cheke Holo", ["mro"] = "Mru", ["mrp"] = "Morouas", ["mrq"] = "Marquesan Utara", ["mrr"] = "Maria Hill", ["mrs"] = "Maragus", ["mrt"] = "Margi", ["mru"] = "Mono (Kamerun)", ["mrv"] = "Mangarevan", ["mrw"] = "Maranao", ["mrx"] = "Dineor", ["mry"] = "Karaga Mandaya", ["mrz"] = "Marind", ["ms"] = "Melayu", ["msb"] = "Masbatenyo", ["msc"] = "Maninka Sankaran", ["msd"] = "Isyarat Maya Yucatec", ["mse"] = "Musey", ["msf"] = "Mekwei", ["msg"] = "Moraid", ["msi"] = "Melayu Sabah", ["msj"] = "Ma", ["msk"] = "Mansaka", ["msl"] = "Molof", ["msm"] = "Manobo Agusan", ["msn"] = "Vurës", ["mso"] = "Mombum", ["msp"] = "Maritsauá", ["msq"] = "Caac", ["msr"] = "Isyarat Mongolia", ["mss"] = "Masela Barat", ["msu"] = "Musom", ["msv"] = "Maslam", ["msw"] = "Mansoanka", ["msx"] = "Moresada", ["msy"] = "Aruamu", ["msz"] = "Momare", ["mt"] = "Malta", ["mta"] = "Manobo Cotabato", ["mtb"] = "Anyin Morofo", ["mtc"] = "Munit", ["mtd"] = "Mualang", ["mte"] = "Alu", ["mtf"] = "Murik (Papua)", ["mtg"] = "Una", ["mth"] = "Munggui", ["mti"] = "Maiwa (Papua)", ["mtj"] = "Moskona", ["mtk"] = "Mbe'", ["mtl"] = "Montol", ["mtm"] = "Mator", ["mtn"] = "Matagalpa", ["mto"] = "Mixe Totontepec", ["mtp"] = "Wichí Lhamtés Nocten", ["mtq"] = "Muong", ["mtr"] = "Mewari", ["mts"] = "Yora", ["mtt"] = "Mota", ["mtu"] = "Mixtec Tututepec", ["mtv"] = "Asaro'o", ["mtw"] = "Magahat", ["mtx"] = "Mixtec Tidaá", ["mty"] = "Nabi", ["mua"] = "Mundang", ["mub"] = "Mubi", ["muc"] = "Mbu'", ["mud"] = "Aleut Mednyj", ["mue"] = "Media Lengua", ["mug"] = "Musgu", ["muh"] = "Mündü", ["mui"] = "Musi", ["mui-plm"] = "Palembang", -- hanya dipakai di Wikikamus ["muj"] = "Mabire", ["mum"] = "Maiwala", ["mun-pro"] = "Proto-Munda", ["muo"] = "Nyong", ["mup"] = "Malvi", ["muq"] = "Miao Xiangxi Timur", ["mur"] = "Murle", ["mus"] = "Creek", ["mut"] = "Muria Barat", ["muu"] = "Yaaku", ["muv"] = "Muthuvan", ["mux"] = "Bo-Ung", ["muy"] = "Muyang", ["muz"] = "Mursi", ["mva"] = "Manam", ["mvb"] = "Mattole", ["mvd"] = "Mamboru", ["mvg"] = "Mixtec Yucuañe", ["mvh"] = "Mire", ["mvi"] = "Miyako", ["mvk"] = "Mekmek", ["mvl"] = "Mbara (Australia)", ["mvm"] = "Muya", ["mvn"] = "Minaveha", ["mvo"] = "Marovo", ["mvp"] = "Duri", ["mvq"] = "Moere", ["mvr"] = "Marau", ["mvs"] = "Massep", ["mvt"] = "Mpotovoro", ["mvu"] = "Marfa", ["mvv"] = "Murut Tagal", ["mvw"] = "Machinga", ["mvx"] = "Meoswar", ["mvy"] = "Indus Kohistani", ["mvz"] = "Mesqan", ["mwa"] = "Mwatebu", ["mwb"] = "Juwal", ["mwc"] = "Are", ["mwe"] = "Mwera", ["mwf"] = "Murrinh-Patha", ["mwg"] = "Aiklep", ["mwh"] = "Mouk-Aria", ["mwi"] = "Labo", ["mwk"] = "Maninkakan Kita", ["mwl"] = "Mirandese", ["mwm"] = "Sar", ["mwn"] = "Nyamwanga", ["mwo"] = "Maewo Tengah", ["mwp"] = "Kala Lagaw Ya", ["mwq"] = "Chin Mün", ["mwr"] = "Marwari", ["mws"] = "Mwimbi-Muthambi", ["mwt"] = "Moken", ["mwu"] = "Mittu", ["mwv"] = "Mentawai", ["mww"] = "Hmong Putih", ["mwz"] = "Moingi", ["mxa"] = "Mixtec Oaxaca Barat Laut", ["mxb"] = "Mixtec Tezoatlán", ["mxd"] = "Modang", ["mxe"] = "Mele-Fila", ["mxf"] = "Malgbe", ["mxg"] = "Mbangala", ["mxh"] = "Mvuba", ["mxi"] = "Mozarabic", ["mxj"] = "Miju", ["mxk"] = "Monumbo", ["mxl"] = "Gbe Maxi", ["mxm"] = "Meramera", ["mxn"] = "Moi (Indonesia)", ["mxo"] = "Mbowe", ["mxp"] = "Mixe Tlahuitoltepec", ["mxq"] = "Mixe Juquila", ["mxr"] = "Murik (Malaysia)", ["mxs"] = "Mixtec Huitepec", ["mxt"] = "Mixtec Jamiltepec", ["mxu"] = "Mada (Kamerun)", ["mxv"] = "Mixtec Metlatónoc", ["mxw"] = "Namo", ["mxx"] = "Mahou", ["mxy"] = "Mixtec Nochixtlán Tenggara", ["mxz"] = "Masela Tengah", ["my"] = "Burma", ["myb"] = "Mbay", ["myc"] = "Mayeka", ["mye"] = "Myene", ["myf"] = "Bambassi", ["myg"] = "Manta", ["myh"] = "Makah", ["myj"] = "Mangayat", ["myk"] = "Senoufo Mamara", ["myl"] = "Moma", ["mym"] = "Me'en", ["myn-chl"] = "Ch'olti'", ["myn-pro"] = "Proto-Maya", ["myo"] = "Anfillo", ["myp"] = "Pirahã", ["myr"] = "Muniche", ["mys"] = "Mesmes", ["myu"] = "Mundurukú", ["myv"] = "Erzya", ["myw"] = "Muyuw", ["myx"] = "Masaba", ["myy"] = "Macuna", ["myz"] = "Mandaic Klasik", ["mza"] = "Mixtec Santa María Zacatepec", ["mzb"] = "Berber Sahara Utara", ["mzc"] = "Isyarat Madagaskar", ["mzd"] = "Malimba", ["mze"] = "Morawa", ["mzg"] = "Isyarat Monastic", ["mzh"] = "Wichí Lhamtés Güisnay", ["mzi"] = "Mazatec Ixcatlán", ["mzj"] = "Manya", ["mzk"] = "Mambila Nigeria", ["mzl"] = "Mixe Mazatlán", ["mzm"] = "Mumuye", ["mzn"] = "Mazanderani", ["mzo"] = "Matipuhy", ["mzp"] = "Movima", ["mzq"] = "Mori Atas", ["mzr"] = "Marúbo", ["mzs"] = "Makau", ["mzt"] = "Mintil", ["mzu"] = "Inapang", ["mzv"] = "Manza", ["mzw"] = "Deg", ["mzx"] = "Mawayana", ["mzy"] = "Isyarat Mozambik", ["mzz"] = "Maiadomu", ["na"] = "Nauru", ["naa"] = "Namla", ["nab"] = "Nambikwara", ["nac"] = "Narak", ["nae"] = "Naka'ela", ["naf"] = "Nabak", ["nag"] = "Naga Pijin", ["nah"] = "Nahuatl", ["nai-ala"] = "Alazapa", ["nai-bay"] = "Bayogoula", ["nai-bvy"] = "Yokuts Buena Vista", ["nai-cal"] = "Calusa", ["nai-chi"] = "Chiquimulilla", ["nai-chu-pro"] = "Proto-Chumash", ["nai-cig"] = "Ciguayo", ["nai-ckn-pro"] = "Proto-Chinookan", ["nai-dly"] = "Yokuts Delta", ["nai-gsy"] = "Gashowu", ["nai-guz"] = "Guazacapán", ["nai-hit"] = "Hitchiti", ["nai-ipa"] = "Ipai", ["nai-jtp"] = "Jutiapa", ["nai-jum"] = "Jumaytepeque", ["nai-kat"] = "Kathlamet", ["nai-klp-pro"] = "Proto-Kalapuyan", ["nai-knm"] = "Konomihu", ["nai-kry"] = "Yokuts Sungai Kings", ["nai-kum"] = "Kumeyaay", ["nai-mac"] = "Macoris", ["nai-mdu-pro"] = "Proto-Maidun", ["nai-miz-pro"] = "Proto-Mixe-Zoque", ["nai-mus-pro"] = "Proto-Muskogean", ["nai-nao"] = "Naolan", ["nai-nrs"] = "Shasta New River", ["nai-nvy"] = "Yokuts Lembah Utara", ["nai-okw"] = "Okwanuchu", ["nai-per"] = "Pericú", ["nai-pic"] = "Picuris", ["nai-plp-pro"] = "Proto-Plateau Penutian", ["nai-ply"] = "Palewyami", ["nai-pom-pro"] = "Proto-Pomo", ["nai-qng"] = "Quinigua", ["nai-sca-pro"] = "Proto-Siouan-Catawban", ["nai-sin"] = "Sinacantán", ["nai-sln"] = "Lenca El Salvador", ["nai-spt"] = "Sahaptin", ["nai-svy"] = "Yokuts Lembah Selatan", ["nai-tap"] = "Tapachultec", ["nai-taw"] = "Tawasa", ["nai-teq"] = "Tequistlatec", ["nai-tip"] = "Tipai", ["nai-tky"] = "Yokuts Tule-Kaweah", ["nai-tot-pro"] = "Proto-Totozoquean", ["nai-tsi-pro"] = "Proto-Tsimshianic", ["nai-utn-pro"] = "Proto-Utian", ["nai-wai"] = "Waikuri", ["nai-yup"] = "Yupiltepeque", ["naj"] = "Nalu", ["nak"] = "Nakanai", ["nal"] = "Nalik", ["nam"] = "Ngan'gityemerri", ["nan"] = "Min Nan", ["nan-hbl"] = "Hokkien", -- hanya dipakai di Wikikamus ["nan-tws"] = "Tiociu", -- hanya dipakai di Wikikamus ["nao"] = "Naaba", ["nap"] = "Neapolitan", ["naq"] = "Khoekhoe", ["nar"] = "Iguta", ["nas"] = "Nasioi", ["nat"] = "Hungworo", ["naw"] = "Nawuri", ["nax"] = "Nakwi", ["nay"] = "Ngarrindjeri", ["naz"] = "Nahuatl Coatepec", ["nb"] = "Norwegia Bokmål", ["nba"] = "Nyemba", ["nbb"] = "Ndoe", ["nbc"] = "Chang", ["nbd"] = "Ngbinda", ["nbe"] = "Naga Konyak", ["nbg"] = "Nagarchal", ["nbh"] = "Ngamo", ["nbi"] = "Naga Mao", ["nbj"] = "Ngarinman", ["nbk"] = "Nake", ["nbm"] = "Ngbaka Ma'bo", ["nbn"] = "Kuri", ["nbo"] = "Nkukoli", ["nbp"] = "Nnam", ["nbq"] = "Nggem", ["nbr"] = "Numana", ["nbs"] = "Isyarat Namibia", ["nbt"] = "Na", ["nbu"] = "Naga Rongmei", ["nbv"] = "Ngamambo", ["nbw"] = "Ngbandi Selatan", ["nby"] = "Ningera", ["nca"] = "Iyo", ["ncb"] = "Nikobar Tengah", ["ncc"] = "Ponam", ["ncd"] = "Nachering", ["nce"] = "Yale", ["ncf"] = "Notsi", ["ncg"] = "Nisga'a", ["nch"] = "Nahuatl Huasteca Tengah", ["nci"] = "Nahuatl Klasik", ["ncj"] = "Nahuatl Puebla Utara", ["nck"] = "Nakara", ["ncl"] = "Nahuatl Michoacán", ["ncm"] = "Nambo", ["ncn"] = "Nauna", ["nco"] = "Sibe", ["ncr"] = "Ncane", ["ncs"] = "Isyarat Nikaragua", ["nct"] = "Naga Chothe", ["ncu"] = "Chumburung", ["ncx"] = "Nahuatl Puebla Tengah", ["ncz"] = "Natchez", ["nd"] = "Ndebele Utara", ["nda"] = "Ndasa", ["ndb"] = "Kenswei Nsei", ["ndc"] = "Ndau", ["ndd"] = "Nde-Nsele-Nta", ["ndf"] = "Nadruvian", ["ndg"] = "Ndengereko", ["ndh"] = "Ndali", ["ndi"] = "Chamba Leko", ["ndj"] = "Ndamba", ["ndk"] = "Ndaka", ["ndl"] = "Ndolo", ["ndm"] = "Ndam", ["ndn"] = "Ngundi", ["ndp"] = "Ndo", ["ndq"] = "Ndombe", ["ndr"] = "Ndoola", ["nds"] = "Jerman Hilir", ["nds-de"] = "Jerman Hilir Jerman", ["nds-nl"] = "Saxon Hilir Belanda", ["ndt"] = "Ndunga", ["ndu"] = "Dugun", ["ndv"] = "Ndut", ["ndw"] = "Ndobo", ["ndx"] = "Nduga", ["ndy"] = "Lutos", ["ndz"] = "Ndogo", ["ne"] = "Nepal", ["nea"] = "Ngad'a Timur", ["neb"] = "Toura", ["nec"] = "Nedebang", ["ned"] = "Nde-Gbite", ["nee"] = "Kumak", ["nef"] = "Nefamese", ["neg"] = "Negidal", ["neh"] = "Nyenkha", ["nej"] = "Neko", ["nek"] = "Neku", ["nem"] = "Nemi", ["nen"] = "Nengone", ["neo"] = "Ná-Meo", ["neq"] = "Mixe Tengah Utara", ["ner"] = "Yahadian", ["nes"] = "Kinnauri Bhoti", ["net"] = "Nete", ["neu"] = "Neo", ["nev"] = "Nyaheun", ["new"] = "Newar", ["nex"] = "Neme", ["ney"] = "Neyo", ["nez"] = "Nez Perce", ["nfa"] = "Dhao", ["nfd"] = "Ahwai", ["nfl"] = "Aiwoo", ["nfr"] = "Nafaanra", ["nfu"] = "Mfumte", ["ng"] = "Ndonga", ["nga"] = "Ngbaka", ["ngb"] = "Ngbandi Utara", ["ngc"] = "Ngombe (Kongo)", ["ngd"] = "Ngando (Republik Afrika Tengah)", ["nge"] = "Ngemba", ["ngf-pro"] = "Proto-Trans-Papua", ["ngg"] = "Ngbaka Manza", ["ngh"] = "Nǀuu", ["ngi"] = "Ngizim", ["ngj"] = "Ngie", ["ngk"] = "Ngalkbun", ["ngl"] = "Lomwe", ["ngm"] = "Kreol Ngatik Men's", ["ngn"] = "Ngwo", ["ngo"] = "Ngoni", ["ngp"] = "Ngulu", ["ngq"] = "Ngoreme", ["ngr"] = "Nagu", ["ngs"] = "Gvoko", ["ngt"] = "Ngeq", ["ngu"] = "Nahuatl Guerrero", ["ngv"] = "Nagumi", ["ngw"] = "Ngwaba", ["ngx"] = "Nggwahyi", ["ngy"] = "Tibea", ["ngz"] = "Ngungwel", ["nha"] = "Nhanda", ["nhb"] = "Beng", ["nhc"] = "Nahuatl Tabasco", ["nhd"] = "Chiripá", ["nhe"] = "Nahuatl Huasteca Timur", ["nhf"] = "Nhuwala", ["nhg"] = "Nahuatl Tetelcingo", ["nhh"] = "Nahari", ["nhi"] = "Nahuatl Zacatlán-Ahuacatlán-Tepetzintla", ["nhk"] = "Nahuatl Cosoleacaque", ["nhm"] = "Nahuatl Morelos", ["nhn"] = "Nahuatl Tengah", ["nho"] = "Takuu", ["nhp"] = "Nahuatl Pajapan", ["nhq"] = "Nahuatl Huaxcaleca", ["nhr"] = "Naro", ["nht"] = "Nahuatl Ometepec", ["nhu"] = "Noone", ["nhv"] = "Nahuatl Temascaltepec", ["nhw"] = "Nahuatl Huasteca Barat", ["nhx"] = "Nahuatl Mecayapan", ["nhy"] = "Nahuatl Oaxaca Utara", ["nhz"] = "Nahuatl Santa María La Alta", ["nia"] = "Nias", ["nib"] = "Nakame", ["nic-bco-pro"] = "Proto-Benue-Kongo", ["nic-bod-pro"] = "Proto-Bantoid", ["nic-eov-pro"] = "Proto-Oti-Volta Timur", ["nic-gns-pro"] = "Proto-Gurunsi", ["nic-grf-pro"] = "Proto-Grassfields", ["nic-gur-pro"] = "Proto-Gur", ["nic-jkn-pro"] = "Proto-Jukunoid", ["nic-lcr-pro"] = "Proto-Hilir Sungai Cross", ["nic-ogo-pro"] = "Proto-Ogoni", ["nic-ovo-pro"] = "Proto-Oti-Volta", ["nic-plt-pro"] = "Proto-Plateau", ["nic-pro"] = "Proto-Niger-Kongo", ["nic-ubg-pro"] = "Proto-Ubangian", ["nic-ucr-pro"] = "Proto-Hulu Sungai Cross", ["nic-vco-pro"] = "Proto-Volta-Kongo", ["nid"] = "Ngandi", ["nie"] = "Niellim", ["nif"] = "Nek", ["nig"] = "Ngalakan", ["nih"] = "Nyiha", ["nii"] = "Nii", ["nij"] = "Ngaju", ["nik"] = "Nikobar Selatan", ["nil"] = "Nila", ["nim"] = "Nilamba", ["nin"] = "Ninzo", ["nio"] = "Nganasan", ["niq"] = "Nandi", ["nir"] = "Nimboran", ["nis"] = "Nimi", ["nit"] = "Kolami Tenggara", ["niu"] = "Niuean", ["niv"] = "Nivkh", ["niw"] = "Nimo", ["nix"] = "Hema", ["niy"] = "Ngiti", ["niz"] = "Ningil", ["nja"] = "Nzanyi", ["njb"] = "Naga Nocte", ["njh"] = "Naga Lotha", ["nji"] = "Gudanji", ["njj"] = "Njen", ["njl"] = "Njalgulgule", ["njm"] = "Angami", ["njn"] = "Naga Liangmai", ["njo"] = "Ao", ["njr"] = "Njerep", ["njs"] = "Nisa", ["njt"] = "Pijin Ndyuka-Trio", ["nju"] = "Ngadjunmaya", ["njx"] = "Kunyi", ["njy"] = "Njyem", ["njz"] = "Nyishi", ["nka"] = "Nkoya", ["nkb"] = "Naga Khoibu", ["nkc"] = "Nkongho", ["nkd"] = "Koireng", ["nke"] = "Duke", ["nkf"] = "Naga Inpui", ["nkg"] = "Nekgini", ["nkh"] = "Naga Khezha", ["nki"] = "Naga Thangal", ["nkj"] = "Nakai", ["nkk"] = "Nokuku", ["nkm"] = "Namat", ["nkn"] = "Nkangala", ["nko"] = "Nkonya", ["nkp"] = "Niuatoputapu", ["nkq"] = "Nkami", ["nkr"] = "Nukuoro", ["nks"] = "Asmat Utara", ["nkt"] = "Nyika", ["nku"] = "Kulango Bouna", ["nkw"] = "Nkutu", ["nkx"] = "Nkoroo", ["nkz"] = "Nkari", ["nl"] = "Belanda", ["nla"] = "Ngombale", ["nlc"] = "Nalca", ["nle"] = "Nyala Timur", ["nlg"] = "Gela", ["nli"] = "Grangali", ["nlj"] = "Nyali", ["nlk"] = "Yali Ninia", ["nll"] = "Nihali", ["nlm"] = "Mankiyali", ["nlo"] = "Ngul", ["nlq"] = "Naga Lao", ["nlu"] = "Nchumbulu", ["nlv"] = "Nahuatl Orizaba", ["nlw"] = "Walangama", ["nlx"] = "Nahali", ["nly"] = "Nyamal", ["nlz"] = "Nalögo", ["nma"] = "Naga Maram", ["nmb"] = "Big Nambas", ["nmc"] = "Ngam", ["nmd"] = "Ndumu", ["nme"] = "Naga Mzieme", ["nmf"] = "Naga Tangkhul", ["nmg"] = "Kwasio", ["nmh"] = "Naga Monsang", ["nmi"] = "Nyam", ["nmj"] = "Ngombe (Republik Afrika Tengah)", ["nmk"] = "Namakura", ["nml"] = "Ndemli", ["nmm"] = "Manangba", ["nmn"] = "ǃXóõ", ["nmo"] = "Naga Moyon", ["nmp"] = "Nimanbur", ["nmq"] = "Nambya", ["nmr"] = "Nimbari", ["nms"] = "Letemboi", ["nmt"] = "Namonuito", ["nmu"] = "Maidu Timur Laut", ["nmv"] = "Ngamini", ["nmw"] = "Nimoa", ["nmy"] = "Namuyi", ["nmz"] = "Nawdm", ["nn"] = "Norwegia Nynorsk", ["nna"] = "Nyangumarta", ["nnb"] = "Nande", ["nnc"] = "Nancere", ["nnd"] = "Ambae Barat", ["nne"] = "Ngandyera", ["nnf"] = "Ngaing", ["nng"] = "Naga Maring", ["nnh"] = "Ngiemboon", ["nni"] = "Nuaulu Utara", ["nnj"] = "Nyangatom", ["nnk"] = "Nankina", ["nnl"] = "Naga Rengma Utara", ["nnm"] = "Namia", ["nnn"] = "Ngete", ["nnp"] = "Wancho", ["nnq"] = "Ngindo", ["nnr"] = "Narungga", ["nnt"] = "Nanticoke", ["nnu"] = "Dwang", ["nnv"] = "Nukunu", ["nnw"] = "Nuni Selatan", ["nnx"] = "Ngong", ["nny"] = "Nyangga", ["nnz"] = "Nda'nda'", ["no"] = "Norwegia", ["noa"] = "Woun Meu", ["noc"] = "Nuk", ["nod"] = "Thai Utara", ["noe"] = "Nimadi", ["nof"] = "Nomane", ["nog"] = "Nogai", ["noh"] = "Nomu", ["noi"] = "Noiri", ["noj"] = "Nonuya", ["nok"] = "Nooksack", ["nol"] = "Nomlaki", ["nom"] = "Nocamán", ["non"] = "Norse Kuno", ["nop"] = "Numanggang", ["noq"] = "Ngongo", ["nos"] = "Nisu Timur", ["not"] = "Nomatsiguenga", ["nou"] = "Ewage-Notu", ["nov"] = "Novial", ["now"] = "Nyambo", ["noy"] = "Noy", ["noz"] = "Nayi", ["npa"] = "Phu Nar", ["npb"] = "Nupbikha", ["npg"] = "Ponyo", ["nph"] = "Phom", ["npl"] = "Nahuatl Puebla Tenggara", ["npn"] = "Mondropolon", ["npo"] = "Naga Pochuri", ["nps"] = "Nipsan", ["npu"] = "Naga Puimei", ["npy"] = "Napu", ["nqg"] = "Ede Nago", ["nqk"] = "Kura Ede Nago", ["nql"] = "Ngendelengo", ["nqm"] = "Ndom", ["nqn"] = "Nen", ["nqo"] = "N'Ko", ["nqq"] = "Naga Kyan-Karyaw", ["nqy"] = "Akyaung Ari", ["nr"] = "Ndebele Selatan", ["nra"] = "Ngom", ["nrb"] = "Nara", ["nrc"] = "Noric", ["nre"] = "Naga Rengma Selatan", ["nrf"] = "Norman", ["nrg"] = "Narango", ["nri"] = "Naga Chokri", ["nrk"] = "Ngarla", ["nrl"] = "Ngarluma", ["nrm"] = "Narom", ["nrn"] = "Norn", ["nrp"] = "Picene Utara", ["nrr"] = "Norra", ["nrt"] = "Kalapuya Utara", ["nru"] = "Narua", ["nrx"] = "Ngurmbur", ["nrz"] = "Lala (Papua)", ["nsa"] = "Naga Sangtam", ["nsb"] = "Nossob Hilir", ["nsc"] = "Nshi", ["nsd"] = "Nisu Selatan", ["nse"] = "Nsenga", ["nsg"] = "Ngasa", ["nsh"] = "Ngoshie", ["nsi"] = "Isyarat Nigeria", ["nsk"] = "Naskapi", ["nsl"] = "Isyarat Norwegia", ["nsm"] = "Sema", ["nsn"] = "Nehan", ["nso"] = "Sotho Utara", ["nsp"] = "Isyarat Nepal", ["nsq"] = "Miwok Sierra Utara", ["nsr"] = "Isyarat Maritim", ["nss"] = "Nali", ["nst"] = "Tangsa", ["nsu"] = "Nahuatl Sierra Negra", ["nsv"] = "Nisu Barat Daya", ["nsw"] = "Navut", ["nsx"] = "Nsongo", ["nsy"] = "Nasal", ["nsz"] = "Nisenan", ["ntd"] = "Tidung Sesayap", ["nte"] = "Nathembo", ["ntg"] = "Ngantangarra", ["nti"] = "Natioro", ["ntj"] = "Ngaanyatjarra", ["ntk"] = "Ikoma", ["ntm"] = "Nateni", ["nto"] = "Ntomba", ["ntp"] = "Tepehuan Utara", ["ntr"] = "Delo", ["nts"] = "Natagaimas", ["ntu"] = "Natügu", ["ntw"] = "Nottoway", ["ntx"] = "Somra", ["nty"] = "Mantsi", ["nua"] = "Yuaga", ["nub-har"] = "Haraza", ["nub-pro"] = "Proto-Nubia", ["nuc"] = "Nukuini", ["nud"] = "Ngala", ["nue"] = "Ngundu", ["nuf"] = "Nusu", ["nug"] = "Nungali", ["nuh"] = "Ndunda", ["nui"] = "Ngumbi", ["nuj"] = "Nyole (Uganda)", ["nuk"] = "Nootka", ["nul"] = "Nusa Laut", ["num"] = "Niuafo'ou", ["nun"] = "Anong", ["nuo"] = "Nguôn", ["nup"] = "Nupe", ["nuq"] = "Nukumanu", ["nur"] = "Nuguria", ["nus"] = "Nuer", ["nut"] = "Nung", ["nuu"] = "Ngbundu", ["nuv"] = "Nuni Utara", ["nuw"] = "Nguluwan", ["nux"] = "Mehek", ["nuy"] = "Nunggubuyu", ["nuz"] = "Nahuatl Tlamacazapa", ["nv"] = "Navajo", ["nvh"] = "Nasarian", ["nvm"] = "Namiae", ["nvo"] = "Nyokon", ["nwa"] = "Nawathinehena", ["nwb"] = "Nyabwa", ["nwc"] = "Newar Klasik", ["nwe"] = "Ngwe", ["nwi"] = "Tanna Barat Daya", ["nwm"] = "Nyamusa-Molo", ["nwo"] = "Nauo", ["nwr"] = "Nawaru", ["nwx"] = "Newar Tengahan", ["nwy"] = "Nottoway-Meherrin", ["nxa"] = "Nauete", ["nxd"] = "Ngando (Kongo)", ["nxe"] = "Nage", ["nxg"] = "Ngadha", ["nxi"] = "Nindi", ["nxl"] = "Nuaulu Selatan", ["nxm"] = "Numidia", ["nxn"] = "Ngawun", ["nxo"] = "Ndambomo", ["nxq"] = "Naxi", ["nxr"] = "Ninggerum", ["nxu"] = "Narau", ["nxx"] = "Nafri", ["ny"] = "Chichewa", ["nyb"] = "Nyangbo", ["nyc"] = "Nyanga-li", ["nyd"] = "Nyole (Kenya)", ["nye"] = "Nyengo", ["nyf"] = "Giryama", ["nyg"] = "Nyindu", ["nyh"] = "Nyigina", ["nyi"] = "Nyimang", ["nyj"] = "Nyanga (Kongo)", ["nyk"] = "Nyaneka", ["nyl"] = "Nyeu", ["nym"] = "Nyamwezi", ["nyn"] = "Nyankole", ["nyo"] = "Nyoro", ["nyp"] = "Nyang'i", ["nys"] = "Nyunga", ["nyt"] = "Nyawaygi", ["nyu"] = "Nyungwe", ["nyv"] = "Nyulnyul", ["nyw"] = "Nyaw", ["nyx"] = "Nganyaywana", ["nyy"] = "Nyakyusa", ["nza"] = "Mbembe Tigon", ["nzb"] = "Njebi", ["nzd"] = "Nzadi", ["nzi"] = "Nzima", ["nzk"] = "Nzakara", ["nzm"] = "Naga Zeme", ["nzs"] = "Isyarat Selandia Baru", ["nzu"] = "Teke Tengah", ["nzy"] = "Nzakambay", ["nzz"] = "Dogon Nanga Dama", ["oaa"] = "Orok", ["oac"] = "Oroch", ["oav"] = "Avar Kuno", ["obi"] = "Obispeño", ["obk"] = "Bontoc Selatan", ["obl"] = "Oblo", ["obm"] = "Moabite", ["obo"] = "Manobo Obo", ["obr"] = "Burma Kuno", ["obt"] = "Breton Kuno", ["obu"] = "Obulom", ["oc"] = "Occitan", ["oca"] = "Ocaina", ["och"] = "Tionghoa Kuno", ["oco"] = "Cornish Kuno", ["ocu"] = "Tlahuica", ["oda"] = "Odut", ["odk"] = "Od", ["odt"] = "Belanda Kuno", ["odu"] = "Odual", ["ofo"] = "Ofo", ["ofs"] = "Frisia Kuno", ["ofu"] = "Efutop", ["ogb"] = "Ogbia", ["ogc"] = "Ogbah", ["oge"] = "Georgia Kuno", ["ogg"] = "Ogbogolo", ["ogo"] = "Khana", ["ogu"] = "Ogbronuagum", ["ohu"] = "Hungaria Kuno", ["oia"] = "Oirata", ["oin"] = "One Inebu", ["oj"] = "Ojibwe", ["ojb"] = "Ojibwa Barat Laut", ["ojc"] = "Ojibwa Tengah", ["ojg"] = "Ojibwa Timur", ["ojp"] = "Jepang Kuno", ["ojs"] = "Ojibwa Severn", ["ojv"] = "Jawa Ontong", ["ojw"] = "Ojibwa Barat", ["oka"] = "Okanagan", ["okb"] = "Okobo", ["okd"] = "Okodia", ["oke"] = "Okpe (Edo Barat Daya)", ["okg"] = "Kok-Paponk", ["okh"] = "Koresh-e Rostam", ["oki"] = "Okiek", ["okj"] = "Oko-Juwoi", ["okk"] = "One Kwamtim", ["okl"] = "Isyarat Kent Kuno", ["okm"] = "Korea Tengahan", ["okn"] = "Oki-No-Erabu", ["oko"] = "Korea Kuno", ["okr"] = "Kirike", ["oks"] = "Oko-Eni-Osayen", ["oku"] = "Oku", ["okv"] = "Orokaiva", ["okx"] = "Okpe (Edo Barat Laut)", ["okz"] = "Khmer Kuno", ["old"] = "Mochi", ["ole"] = "Olekha", ["olm"] = "Oloma", ["olo"] = "Livvi", ["olr"] = "Olrat", ["olt"] = "Lithuania Kuno", ["olu"] = "Kuvale", ["om"] = "Oromo", ["oma"] = "Omaha-Ponca", ["omb"] = "Omba", ["omc"] = "Mochica", ["omg"] = "Omagua", ["omi"] = "Omi", ["omk"] = "Omok", ["oml"] = "Ombo", ["omn"] = "Minoan", ["omo"] = "Utarmbung", ["omp"] = "Manipuri Kuno", ["omq-cha-pro"] = "Proto-Chatino", ["omq-maz-pro"] = "Proto-Mazatec", ["omq-mix-pro"] = "Proto-Mixtecan", ["omq-mxt-pro"] = "Proto-Mixtec", ["omq-otp-pro"] = "Proto-Oto-Pamean", ["omq-pro"] = "Proto-Oto-Manguean", ["omq-tel"] = "Mixtec Teposcolula", ["omq-teo"] = "Chatino Teojomulco", ["omq-tri-pro"] = "Proto-Trique", ["omq-zap-pro"] = "Proto-Zapotecan", ["omq-zpc-pro"] = "Proto-Zapotec", ["omr"] = "Marathi Kuno", ["omt"] = "Omotik", ["omu"] = "Omurano", ["omv-aro-pro"] = "Proto-Aroid", ["omv-diz-pro"] = "Proto-Dizoid", ["omv-pro"] = "Proto-Omotic", ["omw"] = "Tairora Selatan", ["omx"] = "Mon Kuno", ["ona"] = "Selk'nam", ["onb"] = "Lingao", ["one"] = "Oneida", ["ong"] = "Olo", ["oni"] = "Onin", ["onj"] = "Onjob", ["onk"] = "One Kabore", ["onn"] = "Onobasulu", ["ono"] = "Onondaga", ["onp"] = "Sartang", ["onr"] = "One Utara", ["ons"] = "Ono", ["ont"] = "Ontenu", ["onu"] = "Unua", ["onw"] = "Nubia Kuno", ["onx"] = "Pijin Onin", ["ood"] = "O'odham", ["oog"] = "Ong", ["oon"] = "Önge", ["oor"] = "Oorlams", ["oos"] = "Ossetik Kuno", ["opa"] = "Okpamheri", ["opk"] = "Kopkaka", ["opm"] = "Oksapmin", ["opo"] = "Opao", ["opt"] = "Opata", ["opy"] = "Ofayé", ["or"] = "Oriya", ["ora"] = "Oroha", ["ore"] = "Orejón", ["org"] = "Oring", ["orh"] = "Oroqen", ["oro"] = "Orokolo", ["orr"] = "Oruma", ["ort"] = "Adiwasi Oriya", ["oru"] = "Ormuri", ["orv"] = "Slavik Timur Kuno", ["orw"] = "Oro Win", ["orx"] = "Oro", ["orz"] = "Ormu", ["os"] = "Ossetia", ["os-pro"] = "Proto-Ossetic", ["osa"] = "Osage", ["osc"] = "Oscan", ["osi"] = "Using", ["osn"] = "Sunda Kuno", ["oso"] = "Ososo", ["osp"] = "Spanyol Kuno", ["ost"] = "Osatu", ["osu"] = "One Selatan", ["osx"] = "Saxon Kuno", ["ota"] = "Turki Ottoman", ["otb"] = "Tibet Kuno", ["otd"] = "Ot Danum", ["ote"] = "Otomi Mezquital", ["oti"] = "Oti", ["otk"] = "Turkik Kuno", ["otl"] = "Otomi Tilapa", ["otm"] = "Otomi Pegunungan Timur", ["otn"] = "Otomi Tenango", ["oto-otm-pro"] = "Proto-Otomi", ["oto-pro"] = "Proto-Otomian", ["otq"] = "Otomi Querétaro", ["otr"] = "Otoro", ["ots"] = "Otomi Estado de México", ["ott"] = "Otomi Temoaya", ["otu"] = "Otuke", ["otw"] = "Ottawa", ["otx"] = "Otomi Texcatepec", ["oty"] = "Tamil Kuno", ["otz"] = "Otomi Ixtenco", ["oub"] = "Glio-Oubi", ["oue"] = "Oune", ["oui"] = "Uighur Kuno", ["oum"] = "Ouma", ["ovd"] = "Elfdalia", ["owi"] = "Owiniga", ["owl"] = "Welsh Kuno", ["oyb"] = "Oy", ["oyd"] = "Oyda", ["oym"] = "Wayampi", ["oyy"] = "Oya'oya", ["ozm"] = "Koonzime", ["pa"] = "Punjab", ["paa-kom"] = "Kómnzo", ["paa-kwn"] = "Kuwani", ["paa-nha-pro"] = "Proto-Halmahera Utara", ["paa-nun"] = "Nungon", ["pab"] = "Pareci", ["pac"] = "Pacoh", ["pad"] = "Paumarí", ["pae"] = "Pagibete", ["paf"] = "Paranawát", ["pag"] = "Pangasinan", ["pah"] = "Tenharim", ["pai"] = "Pe", ["pak"] = "Parakanã", ["pal"] = "Persia Tengahan", ["pam"] = "Kapampangan", ["PAN"] = "Proto-Austronesia", ["pao"] = "Paiute Utara", ["pap"] = "Papiamentu", ["paq"] = "Parya", ["par"] = "Panamint", ["pas"] = "Papasena", ["pat"] = "Papitalai", ["pau"] = "Palauan", ["pav"] = "Wari'", ["paw"] = "Pawnee", ["pax"] = "Pankararé", ["pay"] = "Pech", ["paz"] = "Pankararú", ["pbb"] = "Páez", ["pbc"] = "Patamona", ["pbe"] = "Popoloca Mezontla", ["pbf"] = "Popoloca Coyotepec", ["pbg"] = "Paraujano", ["pbh"] = "Panare", ["pbi"] = "Podoko", ["pbl"] = "Mak (Nigeria)", ["pbm"] = "Mazatec Puebla", ["pbn"] = "Kpasam", ["pbo"] = "Papel", ["pbp"] = "Badyara", ["pbr"] = "Pangwa", ["pbs"] = "Pame Tengah", ["pbv"] = "Pnar", ["pby"] = "Pyu", ["pca"] = "Popoloca Santa Inés Ahuatempan", ["pcb"] = "Pear", ["pcc"] = "Bouyei", ["pcd"] = "Picard", ["pce"] = "Palaung Ruching", ["pcf"] = "Paliyan", ["pcg"] = "Paniya", ["pch"] = "Pardhan", ["pci"] = "Duruwa", ["pcj"] = "Parenga", ["pck"] = "Paite", ["pcl"] = "Pardhi", ["pcm"] = "Pijin Nigeria", ["pcn"] = "Piti", ["pcp"] = "Pacahuara", ["pcw"] = "Pyapun", ["pda"] = "Anam", ["pdc"] = "Jerman Pennsylvania", ["pdi"] = "Pa Di", ["pdn"] = "Fedan", ["pdo"] = "Padoe", ["pdt"] = "Plautdietsch", ["pdu"] = "Kayan", ["pea"] = "Indonesia Peranakan", ["peb"] = "Pomo Timur", ["ped"] = "Mala (Papua)", ["pee"] = "Taje", ["pef"] = "Pomo Timur Laut", ["peg"] = "Pengo", ["peh"] = "Bonan", ["pei"] = "Chichimeca-Jonaz", ["pej"] = "Pomo Utara", ["pek"] = "Penchal", ["pel"] = "Pekal", ["pem"] = "Phende", ["peo"] = "Persia Kuno", ["pep"] = "Kunja", ["peq"] = "Pomo Selatan", ["pev"] = "Pémono", ["pex"] = "Petats", ["pey"] = "Peco", ["pez"] = "Penan Timur", ["pfa"] = "Pááfang", ["pfe"] = "Peere", ["pga"] = "Arab Juba", ["pgd"] = "Gandhari", ["pgg"] = "Pangwali", ["pgi"] = "Pagi", ["pgk"] = "Rerep", ["pgl"] = "Irlandia Primitif", ["pgn"] = "Paelignian", ["pgs"] = "Pangseng", ["pgu"] = "Isam", ["pgz"] = "Isyarat Papua Nugini", ["pha"] = "Pa-Hng", ["phd"] = "Phudagi", ["phg"] = "Phuong", ["phh"] = "Phukha", ["phi-din"] = "Agta Dinapigue", ["phi-kal-pro"] = "Proto-Kalamian", ["phi-nag"] = "Agta Nagtipunan", ["phi-pro"] = "Proto-Filipina", ["phk"] = "Phake", ["phl"] = "Phalura", ["phm"] = "Phimbi", ["phn"] = "Fenisia", ["pho"] = "Phunoi", ["phq"] = "Phana'", ["phr"] = "Pahari-Potwari", ["pht"] = "Phu Thai", ["phu"] = "Phuan", ["phv"] = "Pahlavani", ["phw"] = "Phangduwali", ["pi"] = "Pali", ["pia"] = "Pima Bajo", ["pib"] = "Yine", ["pic"] = "Pinji", ["pid"] = "Piaroa", ["pie"] = "Piro", ["pif"] = "Pingelapese", ["pig"] = "Pisabo", ["pih"] = "Pitcairn-Norfolk", ["pii"] = "Pini", ["pij"] = "Pijao", ["pil"] = "Yom", ["pim"] = "Powhatan", ["pin"] = "Piame", ["pio"] = "Piapoco", ["pip"] = "Pero", ["pir"] = "Piratapuyo", ["pis"] = "Pijin", ["pit"] = "Pitta-Pitta", ["piu"] = "Pintupi-Luritja", ["piv"] = "Pileni", ["piw"] = "Pimbwe", ["pix"] = "Piu", ["piy"] = "Piya-Kwonci", ["piz"] = "Pije", ["pjt"] = "Pitjantjatjara", ["pka"] = "Prakrit Ardhamagadhi", ["pkb"] = "Kipfokomo", ["pkc"] = "Baekje", ["pkg"] = "Pak-Tong", ["pkh"] = "Pankhu", ["pkn"] = "Pakanha", ["pko"] = "Pökoot", ["pkp"] = "Pukapukan", ["pkr"] = "Kurumba Attapady", ["pks"] = "Isyarat Pakistan", ["pkt"] = "Maleng", ["pku"] = "Paku", ["pl"] = "Polandia", ["pla"] = "Miani", ["plb"] = "Polonombauk", ["plc"] = "Palawano Tengah", ["ple"] = "Palu'e", ["plg"] = "Pilagá", ["plh"] = "Paulohi", ["plj"] = "Polci", ["plk"] = "Shina Kohistani", ["pll"] = "Palaung Shwe", ["pln"] = "Palenquero", ["plo"] = "Popoluca Oluta", ["plq"] = "Palaic", ["plr"] = "Senoufo Palaka", ["pls"] = "Popoloca San Marcos Tlalcoyalco", ["plu"] = "Palikur", ["plv"] = "Palawano Barat Daya", ["plw"] = "Palawano Brooke's Point", ["ply"] = "Bolyu", ["plz"] = "Paluan", ["pma"] = "Paama", ["pmb"] = "Pambia", ["pmd"] = "Pallanganmiddang", ["pme"] = "Pwaamei", ["pmf"] = "Pamona", ["pmh"] = "Prakrit Maharastri", ["pmi"] = "Pumi Utara", ["pmj"] = "Pumi Selatan", ["pmk"] = "Pamlico", ["pml"] = "Sabir", ["pmm"] = "Pol", ["pmn"] = "Pam", ["pmo"] = "Pom", ["PMP"] = "Proto-Melayu-Polinesia", ["pmq"] = "Pame Utara", ["pmr"] = "Paynamar", ["pms"] = "Piedmont", ["pmt"] = "Tuamotuan", ["pmu"] = "Panjabi Mirpur", ["pmw"] = "Miwok Plains", ["pmx"] = "Naga Poumei", ["pmy"] = "Melayu Papua", ["pmz"] = "Pame Selatan", ["pna"] = "Punan Bah-Biau", ["pnb"] = "Panjabi Barat", ["pnc"] = "Pannei", ["pnd"] = "Mpinda", ["pne"] = "Penan Barat", ["png"] = "Pongu", ["pnh"] = "Penrhyn", ["pni"] = "Aoheng", ["pnj"] = "Pinjarup", ["pnk"] = "Paunaca", ["pnl"] = "Paleni", ["pnm"] = "Punan Batu", ["pnn"] = "Pinai-Hagahai", ["pno"] = "Panobo", ["pnp"] = "Pancana", ["pnq"] = "Pana (Afrika Barat)", ["pnr"] = "Panim", ["pns"] = "Ponosakan", ["pnt"] = "Yunani Pontic", ["pnu"] = "Bunu Jiongnai", ["pnv"] = "Pinigura", ["pnw"] = "Panyjima", ["pnx"] = "Phong-Kniang", ["pny"] = "Pinyin", ["pnz"] = "Pana (Afrika Tengah)", ["poc"] = "Poqomam", ["poe"] = "Popoloca San Juan Atzingo", ["pof"] = "Poke", ["pog"] = "Potiguára", ["poh"] = "Poqomchi'", ["poi"] = "Popoluca Pegunungan", ["pok"] = "Pokangá", ["pom"] = "Pomo Tenggara", ["pon"] = "Pohnpei", ["poo"] = "Pomo Tengah", ["pop"] = "Pwapwa", ["poq"] = "Popoluca Texistepec", ["pos"] = "Popoluca Sayula", ["pot"] = "Potawatomi", ["pov"] = "Kreol Guinea-Bissau", ["pow"] = "Popoloca San Felipe Otlaltepec", ["pox"] = "Polabia", ["poy"] = "Pogolo", ["poz-abi"] = "Abai", ["poz-bal"] = "Baliledo", ["poz-btk-pro"] = "Proto-Bungku-Tolaki", ["poz-cet-pro"] = "Proto-Melayu-Polinesia Tengah Timur", ["poz-hce-pro"] = "Proto-Halmahera-Cenderawasih", ["poz-lgx-pro"] = "Proto-Lampung", ["poz-mcm-pro"] = "Proto-Melayu-Chamik", ["poz-mly-pro"] = "Proto-Melayik", ["poz-msa-pro"] = "Proto-Melayu-Sumbawa", ["poz-oce-pro"] = "Proto-Oseanik", ["poz-pep-pro"] = "Proto-Polinesia Timur", ["poz-pnp-pro"] = "Proto-Nuclear Polinesia", ["poz-pol-pro"] = "Proto-Polinesia", ["poz-pro"] = "Proto-Melayu-Polinesia", ["poz-sml"] = "Melayu Sarawak", ["poz-ssw-pro"] = "Proto-Sulawesi Selatan", ["poz-sus-pro"] = "Proto-Sunda-Sulawesi", ["poz-swa-pro"] = "Proto-Sarawak Utara", ["poz-ter"] = "Melayu Terengganu", ["ppa"] = "Pao", ["ppe"] = "Papi", ["ppi"] = "Paipai", ["ppk"] = "Uma", ["ppl"] = "Pipil", ["ppm"] = "Papuma", ["ppn"] = "Papapana", ["ppo"] = "Folopa", ["ppq"] = "Pei", ["pps"] = "Popoloca San Luís Temalacayuca", ["ppt"] = "Pa", ["ppu"] = "Papora", ["pqa"] = "Pa'a", ["pqe-pro"] = "Proto-Melayu-Polinesia Timur", ["pqm"] = "Malecite-Passamaquoddy", ["pra-niy"] = "Prakrit Niya", ["prc"] = "Parachi", ["pre"] = "Principense", ["prf"] = "Paranan", ["prg"] = "Prusia Kuno", ["prh"] = "Porohanon", ["pri"] = "Paicî", ["prk"] = "Parauk", ["prl"] = "Isyarat Peru", ["prm"] = "Kibiri", ["prn"] = "Prasuni", ["pro"] = "Occitan Kuno", ["prq"] = "Ashéninka Perené", ["prr"] = "Puri", ["prt"] = "Phai", ["pru"] = "Puragi", ["prw"] = "Parawen", ["prx"] = "Purik", ["prz"] = "Isyarat Providencia", ["ps"] = "Pashto", ["psa"] = "Awyu Asue", ["psc"] = "Isyarat Persia", ["psd"] = "Isyarat Plains Indian", ["pse"] = "Melayu Barisan Selatan", ["psg"] = "Isyarat Penang", ["psh"] = "Pashayi Barat Daya", ["psi"] = "Pashayi Tenggara", ["psl"] = "Isyarat Puerto Riko", ["psm"] = "Pauserna", ["psn"] = "Panasuan", ["pso"] = "Isyarat Polandia", ["psp"] = "Isyarat Filipina", ["psq"] = "Pasi", ["psr"] = "Isyarat Portugis", ["pss"] = "Kaulong", ["psu"] = "Prakrit Sauraseni", ["psw"] = "Port Sandwich", ["psy"] = "Piscataway", ["pt"] = "Portugis", ["pta"] = "Pai Tavytera", ["pth"] = "Pataxó Hã-Ha-Hãe", ["pti"] = "Pintiini", ["ptn"] = "Patani", ["pto"] = "Zo'é", ["ptp"] = "Patep", ["ptq"] = "Pattapu", ["ptr"] = "Piamatsina", ["ptt"] = "Enrekang", ["ptu"] = "Bambam", ["ptv"] = "Port Vato", ["ptw"] = "Pentlatch", ["pty"] = "Pathiya", ["pua"] = "Purepecha", ["pub"] = "Purum", ["puc"] = "Punan Merap", ["pud"] = "Punan Aput", ["pue"] = "Puelche", ["puf"] = "Punan Merah", ["pug"] = "Phuie", ["pui"] = "Puinave", ["puj"] = "Punan Tubu", ["pum"] = "Puma", ["puo"] = "Puoc", ["pup"] = "Pulabu", ["puq"] = "Puquina", ["pur"] = "Puruborá", ["put"] = "Putoh", ["puu"] = "Punu", ["puw"] = "Puluwat", ["pux"] = "Puare", ["puy"] = "Purisimeño", ["pwa"] = "Pawaia", ["pwb"] = "Panawa", ["pwg"] = "Gapapaiwa", ["pwi"] = "Patwin", ["pwm"] = "Molbog", ["pwn"] = "Paiwan", ["pwo"] = "Pwo Barat", ["pwr"] = "Powari", ["pww"] = "Pwo Utara", ["pxm"] = "Mixe Quetzaltepec", ["pye"] = "Pye Krumen", ["pym"] = "Fyam", ["pyn"] = "Poyanáwa", ["pys"] = "Isyarat Paraguay", ["pyu"] = "Puyuma", ["pyx"] = "Tircul", ["pyy"] = "Pyen", ["pzh"] = "Pazeh", ["pzn"] = "Naga Para", ["qfa-adm-pro"] = "Proto-Great Andaman", ["qfa-bet-pro"] = "Proto-Be-Tai", ["qfa-cka-pro"] = "Proto-Chukotko-Kamchatka", ["qfa-hur-pro"] = "Proto-Hurro-Urartia", ["qfa-kad-pro"] = "Proto-Kadu", ["qfa-kms-pro"] = "Proto-Kam-Sui", ["qfa-kor-pro"] = "Proto-Korea", ["qfa-kra-pro"] = "Proto-Kra", ["qfa-lic-pro"] = "Proto-Hlai", ["qfa-onb-pro"] = "Proto-Be", ["qfa-ong-pro"] = "Proto-Ongan", ["qfa-tak-pro"] = "Proto-Kra-Dai", ["qfa-xgx-tuh"] = "Tuyuhun", ["qfa-xgx-tuo"] = "Tuoba", ["qfa-xgx-wuh"] = "Wuhuan", ["qfa-xgx-xbi"] = "Xianbei", ["qfa-yen-pro"] = "Proto-Yenisei", ["qfa-yuk-pro"] = "Proto-Yukaghir", ["qu"] = "Quechua", ["qua"] = "Quapaw", ["quc"] = "K'iche'", ["qui"] = "Quileute", ["qum"] = "Sipakapense", ["qun"] = "Quinault", ["quq"] = "Quinqui", ["quv"] = "Sacapulteco", ["qvy"] = "Queyu", ["qwc"] = "Quechua Klasik", ["qwe-kch"] = "Kichwa", ["qwm"] = "Kipchak", ["qwt"] = "Kwalhioqua-Tlatskanai", ["qxs"] = "Qiang Selatan", ["qya"] = "Quenya", ["qyp"] = "Quiripi", ["raa"] = "Dungmali", ["rab"] = "Chamling", ["rac"] = "Rasawa", ["rad"] = "Rade", ["raf"] = "Meohang Barat", ["rag"] = "Logooli", ["rah"] = "Rabha", ["rai"] = "Ramoaaina", ["raj"] = "Rajasthani", ["rak"] = "Tulu-Bohuai", ["ral"] = "Ralte", ["ram"] = "Canela", ["ran"] = "Riantana", ["rao"] = "Rao", ["rap"] = "Rapa Nui", ["raq"] = "Saam", ["rar"] = "Rarotongan", ["ras"] = "Tegali", ["rat"] = "Razajerdi", ["rau"] = "Raute", ["rav"] = "Sampang", ["raw"] = "Rawang", ["rax"] = "Rang", ["ray"] = "Rapa", ["raz"] = "Rahambuu", ["rbb"] = "Palaung Rumai", ["rbk"] = "Bontoc Utara", ["rbl"] = "Bikol Miraya", ["rcf"] = "Kreol Prancis Réunion", ["rdb"] = "Rudbari", ["rea"] = "Rerau", ["reb"] = "Rembong", ["ree"] = "Kayan Rejang", ["reg"] = "Kara (Tanzania)", ["rei"] = "Reli", ["rej"] = "Rejang", ["rel"] = "Rendille", ["rem"] = "Remo", ["ren"] = "Rengao", ["rer"] = "Rer Bare", ["res"] = "Reshe", ["ret"] = "Retta", ["rey"] = "Reyesano", ["rga"] = "Roria", ["rge"] = "Yunani Romani", ["rgk"] = "Rangkas", ["rgn"] = "Romagnol", ["rgr"] = "Resígaro", ["rgs"] = "Roglai Selatan", ["rgu"] = "Ringgou", ["rhg"] = "Rohingya", ["rhp"] = "Yahang", ["ria"] = "Reang", ["rif"] = "Tarifit", ["ril"] = "Riang", ["rim"] = "Nyaturu", ["rin"] = "Nungu", ["rir"] = "Ribun", ["rit"] = "Ritarungo", ["riu"] = "Riung", ["rjg"] = "Rajong", ["rji"] = "Raji", ["rjs"] = "Rajbanshi", ["rka"] = "Kraol", ["rkb"] = "Rikbaktsa", ["rkh"] = "Rakahanga-Manihiki", ["rki"] = "Rakhine", ["rkm"] = "Marka", ["rkt"] = "Kamta", ["rkw"] = "Arakwal", ["rm"] = "Romansch", ["rma"] = "Rama", ["rmb"] = "Rembarunga", ["rmc"] = "Romani Karpathia", ["rmd"] = "Denmark Traveller", ["rme"] = "Angloromani", ["rmf"] = "Romani Kalo Finlandia", ["rmg"] = "Norwegia Traveller", ["rmh"] = "Murkim", ["rmi"] = "Lomavren", ["rmk"] = "Romkun", ["rml"] = "Romani Baltik", ["rmm"] = "Roma", ["rmn"] = "Romani Balkan", ["rmo"] = "Romani Sinte", ["rmp"] = "Rempi", ["rmq"] = "Caló", ["rms"] = "Isyarat Romania", ["rmt"] = "Domari", ["rmu"] = "Romani Tavringer", ["rmv"] = "Romanova", ["rmw"] = "Romani Welsh", ["rmx"] = "Romam", ["rmy"] = "Romani Vlax", ["rmz"] = "Marma", ["rnd"] = "Ruwund", ["rng"] = "Ronga", ["rnl"] = "Ranglong", ["rnn"] = "Roon", ["rnp"] = "Rongpo", ["rnw"] = "Rungwa", ["ro"] = "Romania", ["roa-ang"] = "Angevin", ["roa-bbn"] = "Bourbonnais-Berrichon", ["roa-brg"] = "Bourguignon", ["roa-cha"] = "Champenois", ["roa-fcm"] = "Franc-Comtois", ["roa-gal"] = "Gallo", ["roa-leo"] = "Leon", ["roa-lor"] = "Lorrain", ["roa-oan"] = "Navarro-Aragon", ["roa-oca"] = "Katala Kuno", ["roa-ole"] = "Leon Kuno", ["roa-opt"] = "Galisia-Portugis Kuno", ["roa-orl"] = "Orléan", ["roa-poi"] = "Poitevin-Saintongeais", ["roa-tar"] = "Tarantino", ["roa-tou"] = "Tourangeau", ["rob"] = "Tae'", ["roc"] = "Roglai Cacgia", ["rod"] = "Rogo", ["roe"] = "Ronji", ["rof"] = "Rombo", ["rog"] = "Roglai Utara", ["rol"] = "Romblomanon", ["rom"] = "Romani", ["roo"] = "Rotokas", ["rop"] = "Kriol", ["ror"] = "Rongga", ["rou"] = "Runga", ["row"] = "Dela-Oenale", ["rpn"] = "Repanbitip", ["rpt"] = "Rapting", ["rri"] = "Ririo", ["rro"] = "Roro", ["rrt"] = "Arritinngithigh", ["rsb"] = "Romano-Serbia", ["rsl"] = "Isyarat Rusia", ["rsm"] = "Isyarat Miriwoong", ["rtc"] = "Rungtu", ["rth"] = "Ratahan", ["rtm"] = "Rotuman", ["rtw"] = "Rathawi", ["ru"] = "Rusia", ["rub"] = "Gungu", ["ruc"] = "Ruuli", ["rue"] = "Rusyn", ["ruf"] = "Luguru", ["rug"] = "Roviana", ["ruh"] = "Ruga", ["rui"] = "Rufiji", ["ruk"] = "Che", ["ruo"] = "Istro-Romania", ["rup"] = "Aromania", ["ruq"] = "Megleno-Romania", ["rut"] = "Rutul", ["ruu"] = "Lobu Lanas", ["ruy"] = "Mala (Nigeria)", ["ruz"] = "Ruma", ["rw"] = "Rwanda-Rundi", ["rwa"] = "Rawo", ["rwk"] = "Rwa", ["rwm"] = "Amba", ["rwo"] = "Rawa", ["rxd"] = "Ngardi", ["rxw"] = "Karuwali", ["ryn"] = "Amami-Oshima Utara", ["rys"] = "Yaeyama", ["ryu"] = "Okinawa", ["rzh"] = "Razihi", ["sa"] = "Sanskerta", ["saa"] = "Saba", ["sab"] = "Buglere", ["sac"] = "Fox", ["sad"] = "Sandawe", ["sae"] = "Sabanê", ["saf"] = "Safaliba", ["sah"] = "Yakut", ["sai-ajg"] = "Ajagua", ["sai-all"] = "Allentiac", ["sai-and"] = "Andoquero", ["sai-ayo"] = "Ayomán", ["sai-bae"] = "Baenan", ["sai-bag"] = "Bagua", ["sai-bet"] = "Betoi", ["sai-bor-pro"] = "Proto-Boran", ["sai-cac"] = "Cacán", ["sai-caq"] = "Caranqui", ["sai-car-pro"] = "Proto-Cariban", ["sai-cat"] = "Catacao", ["sai-cer-pro"] = "Proto-Cerrado", ["sai-chi"] = "Chirino", ["sai-chn"] = "Chaná", ["sai-chp"] = "Chapacura", ["sai-chr"] = "Charrua", ["sai-chu"] = "Churuya", ["sai-cje-pro"] = "Proto-Jê Tengah", ["sai-cmg"] = "Comechingon", ["sai-cno"] = "Chono", ["sai-cnr"] = "Cañari", ["sai-coe"] = "Coeruna", ["sai-col"] = "Colán", ["sai-cop"] = "Copallén", ["sai-crd"] = "Puri Coroado", ["sai-ctq"] = "Catuquinaru", ["sai-cul"] = "Culli", ["sai-cva"] = "Cueva", ["sai-esm"] = "Esmeralda", ["sai-ewa"] = "Ewarhuyana", ["sai-gam"] = "Gamela", ["sai-gay"] = "Gayón", ["sai-gmo"] = "Guamo", ["sai-gue"] = "Güenoa", ["sai-hau"] = "Haush", ["sai-hoc-pro"] = "Proto-Huitoto-Ocaina", ["sai-jee-pro"] = "Proto-Jê", ["sai-jko"] = "Jeikó", ["sai-jrj"] = "Jirajara", ["sai-kat"] = "Katembri", ["sai-mal"] = "Malalí", ["sai-mar"] = "Maratino", ["sai-mat"] = "Matanawi", ["sai-mcn"] = "Mocana", ["sai-men"] = "Menien", ["sai-mil"] = "Millcayac", ["sai-mlb"] = "Malibu", ["sai-msk"] = "Masakará", ["sai-muc"] = "Mucuchí", ["sai-mue"] = "Muellama", ["sai-muz"] = "Muzo", ["sai-mys"] = "Maynas", ["sai-nat"] = "Natú", ["sai-nje-pro"] = "Proto-Jê Utara", ["sai-opo"] = "Opón", ["sai-oto"] = "Otomaco", ["sai-pal"] = "Palta", ["sai-pam"] = "Pamigua", ["sai-par"] = "Paratió", ["sai-pnz"] = "Panzaleo", ["sai-prh"] = "Puruhá", ["sai-ptg"] = "Patagón", ["sai-pur"] = "Purukotó", ["sai-pyg"] = "Payaguá", ["sai-pyk"] = "Pykobjê", ["sai-qmb"] = "Quimbaya", ["sai-qtm"] = "Quitemo", ["sai-rab"] = "Rabona", ["sai-ram"] = "Ramanos", ["sai-sac"] = "Sácata", ["sai-san"] = "Sanaviron", ["sai-sap"] = "Sapará", ["sai-sec"] = "Sechura", ["sai-sin"] = "Sinúfana", ["sai-sje-pro"] = "Proto-Jê Selatan", ["sai-tab"] = "Tabancale", ["sai-tal"] = "Tallán", ["sai-tap"] = "Tapayuna", ["sai-tar-pro"] = "Proto-Taranoan", ["sai-teu"] = "Teushen", ["sai-tim"] = "Timote", ["sai-tpr"] = "Taparita", ["sai-trr"] = "Tarairiú", ["sai-wai"] = "Waitaká", ["sai-way"] = "Wayumará", ["sai-wit-pro"] = "Proto-Witotoan", ["sai-wnm"] = "Wanham", ["sai-xoc"] = "Xocó", ["sai-yao"] = "Yao (Amerika Selatan)", ["sai-yar"] = "Yarumá", ["sai-yri"] = "Yuri", ["sai-yup"] = "Yupua", ["sai-yur"] = "Yurumanguí", ["saj"] = "Sahu", ["sak"] = "Sake", ["sal-pro"] = "Proto-Salish", ["sam"] = "Aramaik Samaria", ["sao"] = "Sause", ["saq"] = "Samburu", ["sar"] = "Saraveca", ["sas"] = "Sasak", ["sat"] = "Santali", ["sau"] = "Saleman", ["sav"] = "Saafi-Saafi", ["saw"] = "Sawi", ["sax"] = "Sa", ["say"] = "Saya", ["saz"] = "Saurashtra", ["sba"] = "Ngambay", ["sbb"] = "Simbo", ["sbc"] = "Gele'", ["sbd"] = "Samo Selatan", ["sbe"] = "Saliba (Papua)", ["sbf"] = "Shabo", ["sbg"] = "Seget", ["sbh"] = "Sori-Harengan", ["sbi"] = "Seti", ["sbj"] = "Surbakhal", ["sbk"] = "Safwa", ["sbl"] = "Botolan Sambal", ["sbm"] = "Sagala", ["sbn"] = "Sindhi Bhil", ["sbo"] = "Sabüm", ["sbp"] = "Sangu (Tanzania)", ["sbq"] = "Sileibi", ["sbr"] = "Murut Sembakung", ["sbs"] = "Subiya", ["sbt"] = "Kimki", ["sbu"] = "Bhoti Stod", ["sbv"] = "Sabine", ["sbw"] = "Simba", ["sbx"] = "Seberuang", ["sby"] = "Soli", ["sbz"] = "Sara Kaba", ["sc"] = "Sardinia", ["scb"] = "Chut", ["sce"] = "Dongxiang", ["scf"] = "Kreol Prancis San Miguel", ["scg"] = "Sanggau", ["sch"] = "Sakachep", ["sci"] = "Kreol Melayu Sri Lanka", ["sck"] = "Sadri", ["scl"] = "Shina", ["scn"] = "Sisilia", ["sco"] = "Scots", ["scp"] = "Yolmo", ["scq"] = "Sa'och", ["scs"] = "Slavey Utara", ["scu"] = "Shumcho", ["scv"] = "Sheni", ["scw"] = "Sha", ["scx"] = "Sicel", ["sd"] = "Sindhi", ["sda"] = "Toraja-Sa'dan", ["sdb"] = "Shabak", ["sdc"] = "Sassarese", ["sde"] = "Surubu", ["sdf"] = "Sarli", ["sdg"] = "Savi", ["sdh"] = "Kurdi Selatan", ["sdj"] = "Suundi", ["sdk"] = "Sos Kundi", ["sdl"] = "Isyarat Arab Saudi", ["sdm"] = "Semandang", ["sdn"] = "Gallurese", ["sdo"] = "Bidayuh Bukar-Sadung", ["sdp"] = "Sherdukpen", ["sdr"] = "Sadri Oraon", ["sds"] = "Berber Tunisia", ["sdu"] = "Sarudu", ["sdv-daj-pro"] = "Proto-Daju", ["sdv-eje-pro"] = "Proto-Jebel Timur", ["sdv-nil-pro"] = "Proto-Nilotic", ["sdv-nyi-pro"] = "Proto-Nyima", ["sdv-tmn-pro"] = "Proto-Taman", ["sdx"] = "Melanau Sibu", ["se"] = "Sami Utara", ["sea"] = "Semai", ["sec"] = "Sechelt", ["sed"] = "Sedang", ["see"] = "Seneca", ["sef"] = "Senoufo Cebaara", ["seg"] = "Segeju", ["seh"] = "Sena", ["sei"] = "Seri", ["sej"] = "Sene", ["sek"] = "Sekani", ["sel-nor"] = "Selkup Utara", ["sel-pro"] = "Proto-Selkup", ["sel-sou"] = "Selkup Selatan", ["sem-amm"] = "Ammonite", ["sem-amo"] = "Amorite", ["sem-cha"] = "Chaha", ["sem-dad"] = "Dadanitic", ["sem-dum"] = "Dumaitic", ["sem-has"] = "Hasaitic", ["sem-him"] = "Himyaritic", ["sem-his"] = "Hismaic", ["sem-mhr"] = "Muher", ["sem-pro"] = "Proto-Semitik", ["sem-saf"] = "Safaitic", ["sem-srb"] = "Arab Selatan Kuno", ["sem-tay"] = "Taymanitic", ["sem-tha"] = "Thamudic", ["sem-wes-pro"] = "Proto-Semit Barat", ["sen"] = "Sénoufo Nanerigé", ["seo"] = "Suarmin", ["sep"] = "Sénoufo Sìcìté", ["seq"] = "Sénoufo Senara", ["ser"] = "Serrano", ["ses"] = "Senni Koyraboro", ["set"] = "Sentani", ["seu"] = "Serui-Laut", ["sev"] = "Senoufo Nyarafolo", ["sew"] = "Sewa Bay", ["sey"] = "Secoya", ["sez"] = "Chin Senthang", ["sfb"] = "Isyarat Belgia Prancis", ["sfm"] = "Miao Small Flowery", ["sfs"] = "Isyarat Afrika Selatan", ["sfw"] = "Sehwi", ["sg"] = "Sango", ["sga"] = "Irlandia Kuno", ["sgb"] = "Ayta Mag-Anchi", ["sgc"] = "Kipsigis", ["sgd"] = "Surigaonon", ["sge"] = "Segai", ["sgg"] = "Isyarat Swiss-Jerman", ["sgh"] = "Shughni", ["sgi"] = "Suga", ["sgk"] = "Sangkong", ["sgm"] = "Singa", ["sgp"] = "Singpho", ["sgr"] = "Sangisari", ["sgs"] = "Samogitia", ["sgt"] = "Brokpake", ["sgu"] = "Salas", ["sgw"] = "Sebat Bet Gurage", ["sgx"] = "Isyarat Sierra Leone", ["sgy"] = "Sanglechi", ["sgz"] = "Sursurunga", ["sh"] = "Serbo-Kroasia", ["sha"] = "Shall-Zwall", ["shb"] = "Ninam", ["shc"] = "Sonde", ["shd"] = "Kundal Shahi", ["she"] = "Sheko", ["shg"] = "Shua", ["shh"] = "Shoshone", ["shi"] = "Tashelhit", ["shj"] = "Shatt", ["shk"] = "Shilluk", ["shl"] = "Shendu", ["shm"] = "Shahrudi", ["shn"] = "Shan", ["sho"] = "Shanga", ["shp"] = "Shipibo-Conibo", ["shq"] = "Sala", ["shr"] = "Shi", ["shs"] = "Shuswap", ["sht"] = "Shasta", ["shu"] = "Arab Chad", ["shv"] = "Shehri", ["shw"] = "Shwai", ["shx"] = "She", ["shy"] = "Tachawit", ["shz"] = "Senoufo Syenara", ["si"] = "Sinhala", ["sia"] = "Sami Akkala", ["sib"] = "Sebop", ["sid"] = "Sidamo", ["sie"] = "Simaa", ["sif"] = "Siamou", ["sig"] = "Paasaal", ["sih"] = "Zire", ["sii"] = "Shom Peng", ["sij"] = "Numbami", ["sik"] = "Sikiana", ["sil"] = "Tumulung Sisaala", ["sim"] = "Seim", ["sio-pro"] = "Proto-Siouan", ["sip"] = "Sikkim", ["siq"] = "Sonia", ["sir"] = "Siri", ["sis"] = "Siuslaw", ["sit-bok"] = "Bokar", ["sit-cha"] = "Chairel", ["sit-gkh"] = "Gokhy", ["sit-hrs-pro"] = "Proto-Hrusish", ["sit-jap"] = "Japhug", ["sit-kha-pro"] = "Proto-Kham", ["sit-liz"] = "Lizu", ["sit-luu-pro"] = "Proto-Luish", ["sit-mor"] = "Moran", ["sit-prn"] = "Puiron", ["sit-pro"] = "Proto-Sino-Tibet", ["sit-sit"] = "Situ", ["sit-tan-pro"] = "Proto-Tani", ["sit-tgm"] = "Tangam", ["sit-tos"] = "Tosu", ["sit-tsh"] = "Tshobdun", ["sit-zbu"] = "Zbu", ["siu"] = "Sinagen", ["siv"] = "Sumariup", ["siw"] = "Siwai", ["six"] = "Sumau", ["siy"] = "Sivandi", ["siz"] = "Siwi", ["sja"] = "Epena", ["sjb"] = "Basap Sajau", ["sjd"] = "Sami Kildin", ["sje"] = "Sami Pite", ["sjg"] = "Assangori", ["sjk"] = "Sami Kemi", ["sjl"] = "Miji", ["sjm"] = "Mapun", ["sjn"] = "Sindarin", ["sjo"] = "Xibe", ["sjp"] = "Surjapuri", ["sjr"] = "Siar-Lak", ["sjs"] = "Senhaja De Srair", ["sjt"] = "Sami Ter", ["sju"] = "Sami Ume", ["sjw"] = "Shawnee", ["sk"] = "Slowakia", ["ska"] = "Skagit", ["skb"] = "Saek", ["skc"] = "Ma Manda", ["skd"] = "Miwok Sierra Selatan", ["ske"] = "Ske", ["skf"] = "Mekéns", ["skh"] = "Sikule", ["ski"] = "Sika", ["skj"] = "Seke", ["skk"] = "Sok", ["skm"] = "Sakam", ["skn"] = "Subanon Kolibugan", ["sko"] = "Seko Tengah", ["skp"] = "Sekapan", ["skq"] = "Sininkere", ["skr"] = "Saraiki", ["sks"] = "Maia", ["skt"] = "Sakata", ["sku"] = "Sakao", ["skv"] = "Skou", ["skw"] = "Kreol Belanda Skepi", ["skx"] = "Seko Padang", ["sky"] = "Sikaiana", ["skz"] = "Sekar", ["sl"] = "Slovenia", ["sla-pro"] = "Proto-Slavik", ["slc"] = "Saliba (Colombia)", ["sld"] = "Sissala", ["sle"] = "Sholaga", ["slf"] = "Isyarat Swiss-Italia", ["slg"] = "Murut Selungai", ["slh"] = "Salish Puget Sound Selatan", ["slj"] = "Salumá", ["sll"] = "Salt-Yui", ["slm"] = "Sama Pangutaran", ["sln"] = "Salinan", ["slp"] = "Lamaholot", ["slq"] = "Salchuq", ["slr"] = "Salar", ["sls"] = "Isyarat Singapura", ["slt"] = "Sila", ["slu"] = "Selaru", ["slw"] = "Sialum", ["slx"] = "Salampasu", ["sly"] = "Selayar", ["slz"] = "Ma'ya", ["sm"] = "Samoa", ["sma"] = "Sami Selatan", ["smb"] = "Simbari", ["smc"] = "Som", ["smd"] = "Sama", ["smf"] = "Auwe", ["smg"] = "Simbali", ["smh"] = "Samei", ["smi-pro"] = "Proto-Sami", ["smj"] = "Sami Lule", ["smk"] = "Bolinao", ["sml"] = "Sama Tengah", ["smm"] = "Musasa", ["smn"] = "Sami Inari", ["smp"] = "Ibrani Samaria", ["smq"] = "Samo", ["smr"] = "Simeulue", ["sms"] = "Sami Skolt", ["smt"] = "Simte", ["smu"] = "Somray", ["smv"] = "Samvedi", ["smw"] = "Sumbawa", ["smx"] = "Samba", ["smy"] = "Semnani", ["smz"] = "Simeku", ["sn"] = "Shona", ["snb"] = "Sebuyau", ["snc"] = "Sinaugoro", ["sne"] = "Bidayuh Bau", ["snf"] = "Noon", ["sng"] = "Sanga (Kongo)", ["sni"] = "Sensi", ["snj"] = "Sango Riverain", ["snk"] = "Soninke", ["snl"] = "Sangil", ["snm"] = "Ma'di Selatan", ["snn"] = "Siona", ["sno"] = "Snohomish", ["snp"] = "Siane", ["snq"] = "Sangu (Gabon)", ["snr"] = "Sihan", ["sns"] = "Nahavaq", ["snu"] = "Senggi", ["snv"] = "Sa'ban", ["snw"] = "Selee", ["snx"] = "Sam", ["sny"] = "Saniyo-Hiyewe", ["snz"] = "Kou", ["so"] = "Somali", ["soa"] = "Thai Song", ["sob"] = "Sobei", ["soc"] = "Soko", ["sod"] = "Songoora", ["soe"] = "Songomeno", ["sog"] = "Sogdian", ["soh"] = "Aka (Sudan)", ["soi"] = "Sonha", ["sok"] = "Sokoro", ["sol"] = "Solos", ["son-pro"] = "Proto-Songhay", ["soo"] = "Nsong", ["sop"] = "Songe", ["soq"] = "Kanasi", ["sor"] = "Somrai", ["sos"] = "Seenku", ["sou"] = "Thai Selatan", ["sov"] = "Sonsorolese", ["sow"] = "Sowanda", ["sox"] = "Swo", ["soy"] = "Miyobe", ["soz"] = "Temi", ["spb"] = "Sepa (Indonesia)", ["spc"] = "Sapé", ["spd"] = "Saep", ["spe"] = "Sepa (Papua)", ["spg"] = "Sian", ["spi"] = "Saponi", ["spk"] = "Sengo", ["spl"] = "Selepet", ["spm"] = "Sepen", ["spn"] = "Sanapaná", ["spo"] = "Spokane", ["spp"] = "Supyire", ["spr"] = "Saparua", ["sps"] = "Saposa", ["spt"] = "Bhoti Spiti", ["spu"] = "Sapuan", ["spv"] = "Sambalpuri", ["spx"] = "Picene Selatan", ["spy"] = "Sabaot", ["sq"] = "Albania", ["sqa"] = "Shama-Sambuga", ["sqh"] = "Shau", ["sqj-pro"] = "Proto-Albania", ["sqk"] = "Isyarat Albania", ["sqm"] = "Suma", ["sqn"] = "Susquehannock", ["sqo"] = "Sorkhei", ["sqq"] = "Sou", ["sqr"] = "Siculo-Arab", ["sqs"] = "Isyarat Sri Lanka", ["sqt"] = "Soqotri", ["squ"] = "Squamish", ["sra"] = "Saruga", ["srb"] = "Sora", ["sre"] = "Sara", ["srf"] = "Nafi", ["srg"] = "Sulod", ["srh"] = "Sarikoli", ["sri"] = "Siriano", ["srk"] = "Murut Serudung", ["srl"] = "Isirawa", ["srm"] = "Saramaccan", ["srn"] = "Sranan Tongo", ["srq"] = "Sirionó", ["srr"] = "Serer", ["srs"] = "Tsuut'ina", ["srt"] = "Sauri", ["sru"] = "Suruí", ["srv"] = "Sorsogon Waray", ["srw"] = "Serua", ["srx"] = "Sirmauri", ["sry"] = "Sera", ["srz"] = "Shahmirzadi", ["ss"] = "Swazi", ["ssa-klk-pro"] = "Proto-Kuliak", ["ssa-kom-pro"] = "Proto-Koman", ["ssa-pro"] = "Proto-Nilo-Saharan", ["ssb"] = "Sama Selatan", ["ssc"] = "Suba-Simbiti", ["ssd"] = "Siroi", ["sse"] = "Balangingi", ["ssf"] = "Thao", ["ssg"] = "Seimat", ["ssh"] = "Arab Shihhi", ["ssi"] = "Sansi", ["ssj"] = "Sausi", ["ssk"] = "Sunam", ["ssl"] = "Sisaala Barat", ["ssm"] = "Semnam", ["sso"] = "Sissano", ["ssp"] = "Isyarat Spanyol", ["ssq"] = "So'a", ["ssr"] = "Isyarat Swiss-Prancis", ["sss"] = "Sô", ["sst"] = "Sinasina", ["ssu"] = "Susuami", ["ssv"] = "Shark Bay", ["ssx"] = "Samberigi", ["ssy"] = "Saho", ["ssz"] = "Sengseng", ["st"] = "Sotho", ["stb"] = "Subanen Utara", ["std"] = "Sentinel", ["ste"] = "Liana-Seti", ["stf"] = "Seta", ["stg"] = "Trieng", ["sth"] = "Shelta", ["sti"] = "Stieng Bulo", ["stj"] = "Samo Matya", ["stk"] = "Arammba", ["stm"] = "Setaman", ["stn"] = "Owa", ["sto"] = "Stoney", ["stp"] = "Tepehuan Tenggara", ["stq"] = "Frisia Saterland", ["str"] = "Saanich", ["sts"] = "Shumashti", ["stt"] = "Stieng Budeh", ["stu"] = "Samtao", ["stv"] = "Silt'e", ["stw"] = "Satawalese", ["sty"] = "Siberia Tatar", ["su"] = "Sunda", ["sua"] = "Sulka", ["sub"] = "Suku", ["suc"] = "Subanon Barat", ["sue"] = "Suena", ["sug"] = "Suganga", ["sui"] = "Suki", ["suk"] = "Sukuma", ["suq"] = "Suri", ["sur"] = "Mwaghavul", ["sus"] = "Susu", ["sut"] = "Subtiaba", ["suv"] = "Sulung", ["suw"] = "Sumbwa", ["sux"] = "Sumeria", ["suy"] = "Suyá", ["suz"] = "Sunwar", ["sv"] = "Swedia", ["sva"] = "Svan", ["svb"] = "Ulau-Suain", ["svc"] = "Kreol Inggris Vincent", ["sve"] = "Serili", ["svk"] = "Isyarat Slowakia", ["svm"] = "Slavomolisano", ["svs"] = "Savosavo", ["svx"] = "Skalvian", ["sw"] = "Swahili", ["swb"] = "Comorian Maore", ["swf"] = "Sere", ["swg"] = "Swabia", ["swi"] = "Sui", ["swj"] = "Sira", ["swl"] = "Isyarat Swedia", ["swm"] = "Samosa", ["swn"] = "Sokna", ["swo"] = "Shanenawa", ["swp"] = "Suau", ["swq"] = "Sharwa", ["swr"] = "Saweru", ["sws"] = "Seluwasan", ["swt"] = "Sawila", ["swu"] = "Suwawa", ["sww"] = "Sowa", ["swx"] = "Suruahá", ["swy"] = "Sarua", ["sxb"] = "Suba", ["sxc"] = "Sicanian", ["sxe"] = "Sighu", ["sxg"] = "Shixing", ["sxk"] = "Kalapuya Selatan", ["sxl"] = "Selonian", ["sxm"] = "Samre", ["sxn"] = "Sangir", ["sxo"] = "Sorothaptic", ["sxr"] = "Saaroa", ["sxs"] = "Sasaru", ["sxw"] = "Gbe Saxwe", ["sya"] = "Siang", ["syb"] = "Subanen Tengah", ["syc"] = "Suriah Klasik", ["syd-fne"] = "Nenets Hutan", ["syd-pro"] = "Proto-Samoyedic", ["syi"] = "Seki", ["syk"] = "Sukur", ["syl"] = "Sylheti", ["sym"] = "Samo Maya", ["syn"] = "Senaya", ["syo"] = "Suoy", ["sys"] = "Sinyar", ["syw"] = "Kagate", ["syx"] = "Osamayi", ["syy"] = "Isyarat Al-Sayyid Bedouin", ["sza"] = "Semelai", ["szb"] = "Ngalum", ["szc"] = "Semaq Beri", ["szd"] = "Seru", ["sze"] = "Seze", ["szg"] = "Sengele", ["szl"] = "Silesia", ["szn"] = "Sula", ["szp"] = "Suabo", ["szv"] = "Isubu", ["szw"] = "Sawai", ["szy"] = "Sakizaya", ["ta"] = "Tamil", ["taa"] = "Tanana Hilir", ["tab"] = "Tabasaran", ["tac"] = "Tarahumara Dataran", ["tad"] = "Tause", ["tae"] = "Tariana", ["taf"] = "Tapirapé", ["tag"] = "Tagoi", ["tai-pro"] = "Proto-Tai", ["tai-swe-pro"] = "Proto-Tai Barat Daya", ["taj"] = "Tamang Timur", ["tak"] = "Tala", ["tal"] = "Tal", ["tan"] = "Tangale", ["tao"] = "Yami", ["tap"] = "Taabwa", ["tar"] = "Tarahumara Tengah", ["tas"] = "Tây Bồi", ["tau"] = "Tanana Hulu", ["tav"] = "Tatuyo", ["taw"] = "Tai", ["tax"] = "Tamki", ["tay"] = "Atayal", ["taz"] = "Tocho", ["tba"] = "Aikanã", ["tbb"] = "Tapeba", ["tbc"] = "Takia", ["tbd"] = "Kaki Ae", ["tbe"] = "Tanimbili", ["tbf"] = "Mandara", ["tbg"] = "Tairora Utara", ["tbh"] = "Thurawal", ["tbi"] = "Gaam", ["tbj"] = "Tiang", ["tbk"] = "Tagbanwa Calamian", ["tbl"] = "Tboli", ["tbm"] = "Tagbu", ["tbn"] = "Tunebo Barro Negro", ["tbo"] = "Tawala", ["tbp"] = "Taworta", ["tbq-bdg-pro"] = "Proto-Bodo-Garo", ["tbq-kuk-pro"] = "Proto-Kuki-Chin", ["tbq-lal-pro"] = "Proto-Lalo", ["tbq-laz"] = "Laze", ["tbq-lob-pro"] = "Proto-Lolo-Burma", ["tbq-lol-pro"] = "Proto-Loloish", ["tbq-ngo"] = "Ngochang", ["tbq-plg"] = "Pai-lang", ["tbr"] = "Tumtum", ["tbs"] = "Tanguat", ["tbt"] = "Kitembo", ["tbu"] = "Tubar", ["tbv"] = "Tobo", ["tbw"] = "Tagbanwa", ["tbx"] = "Kapin", ["tby"] = "Tabaru", ["tbz"] = "Ditammari", ["tca"] = "Ticuna", ["tcb"] = "Tanacross", ["tcc"] = "Datooga", ["tcd"] = "Tafi", ["tce"] = "Tutchone Selatan", ["tcf"] = "Malinaltepec Tlapanec", ["tcg"] = "Tamagario", ["tch"] = "Kreol Inggris Turks dan Caicos", ["tci"] = "Wára", ["tck"] = "Tchitchege", ["tcl"] = "Taman (Myanmar)", ["tcm"] = "Tanahmerah", ["tco"] = "Taungyo", ["tcp"] = "Chin Tawr", ["tcq"] = "Kaiy", ["tcs"] = "Kreol Torres Strait", ["tct"] = "T'en", ["tcu"] = "Tarahumara Tenggara", ["tcw"] = "Totonac Tecpatlán", ["tcx"] = "Toda", ["tcy"] = "Tulu", ["tcz"] = "Chin Thado", ["tda"] = "Tagdal", ["tdb"] = "Panchpargania", ["tdc"] = "Emberá-Tadó", ["tdd"] = "Tai Nüa", ["tde"] = "Dogon Tiranige Diga", ["tdf"] = "Talieng", ["tdg"] = "Tamang Barat", ["tdh"] = "Thulung", ["tdi"] = "Tomadino", ["tdj"] = "Tajio", ["tdk"] = "Tambas", ["tdl"] = "Sur", ["tdm"] = "Taruma", ["tdn"] = "Tondano", ["tdo"] = "Teme", ["tdq"] = "Tita", ["tdr"] = "Todrah", ["tds"] = "Doutai", ["tdt"] = "Tetun Dili", ["tdu"] = "Dusun Tempasuk", ["tdv"] = "Toro", ["tdy"] = "Tadyawan", ["te"] = "Telugu", ["tea"] = "Temiar", ["teb"] = "Tetete", ["tec"] = "Terik", ["ted"] = "Tepo Krumen", ["tee"] = "Tepehua Huehuetla", ["tef"] = "Teressa", ["teg"] = "Teke-Tege", ["teh"] = "Tehuelche", ["tei"] = "Torricelli", ["tek"] = "Teke Ibali", ["tem"] = "Temne", ["ten"] = "Tama (Colombia)", ["teo"] = "Ateso", ["tep"] = "Tepecano", ["teq"] = "Temein", ["ter"] = "Tereno", ["tes"] = "Tengger", ["tet"] = "Tetum", ["teu"] = "Soo", ["tev"] = "Teor", ["tew"] = "Tewa", ["tex"] = "Tennet", ["tey"] = "Tulishi", ["tez"] = "Tetserret", ["tfi"] = "Gbe Tofin", ["tfn"] = "Dena'ina", ["tfo"] = "Tefaro", ["tfr"] = "Teribe", ["tft"] = "Ternate", ["tg"] = "Tajik", ["tga"] = "Sagalla", ["tgb"] = "Tobilung", ["tgc"] = "Tigak", ["tgd"] = "Ciwogai", ["tge"] = "Tamang Gorkha Timur", ["tgf"] = "Chali", ["tgh"] = "Kreol Inggris Tobago", ["tgi"] = "Lawunuia", ["tgn"] = "Tandaganon", ["tgo"] = "Sudest", ["tgp"] = "Tangoa", ["tgq"] = "Tring", ["tgr"] = "Tareng", ["tgs"] = "Nume", ["tgt"] = "Tagbanwa Tengah", ["tgu"] = "Tanggu", ["tgv"] = "Tingui-Boto", ["tgw"] = "Senoufo Tagwana", ["tgx"] = "Tagish", ["tgy"] = "Togoyo", ["th"] = "Thai", ["thc"] = "Tai Hang Tong", ["thd"] = "Kuuk Thaayorre", ["the"] = "Tharu Chitwania", ["thf"] = "Thangmi", ["thh"] = "Tarahumara Utara", ["thi"] = "Tai Long", ["thk"] = "Tharaka", ["thl"] = "Tharu Dangaura", ["thm"] = "Thavung", ["thn"] = "Thachanadan", ["thp"] = "Thompson", ["thq"] = "Tharu Kochila", ["thr"] = "Tharu Rana", ["ths"] = "Thakali", ["tht"] = "Tahltan", ["thu"] = "Thuri", ["thy"] = "Tha", ["ti"] = "Tigrinya", ["tic"] = "Tira", ["tif"] = "Tifal", ["tig"] = "Tigre", ["tih"] = "Murut Timugon", ["tii"] = "Tiene", ["tij"] = "Tilung", ["tik"] = "Tikar", ["til"] = "Tillamook", ["tim"] = "Timbe", ["tin"] = "Tindi", ["tio"] = "Teop", ["tip"] = "Trimuris", ["tiq"] = "Tiéfo", ["tis"] = "Itneg Masadiit", ["tit"] = "Tinigua", ["tiu"] = "Adasen", ["tiv"] = "Tiv", ["tiw"] = "Tiwi", ["tix"] = "Tiwa Selatan", ["tiy"] = "Tiruray", ["tiz"] = "Tai Hongjin", ["tja"] = "Tajuasohn", ["tjg"] = "Tunjung", ["tji"] = "Tujia Utara", ["tjl"] = "Tai Laing", ["tjm"] = "Timucua", ["tjn"] = "Tonjon", ["tjs"] = "Tujia Selatan", ["tju"] = "Tjurruru", ["tjw"] = "Chaap Wuurong", ["tk"] = "Turkmen", ["tka"] = "Truká", ["tkb"] = "Buksa", ["tkd"] = "Tukudede", ["tke"] = "Takwane", ["tkf"] = "Tukumanféd", ["tkl"] = "Tokelauan", ["tkm"] = "Takelma", ["tkn"] = "Toku-No-Shima", ["tkp"] = "Tikopia", ["tkq"] = "Tee", ["tkr"] = "Tsakhur", ["tks"] = "Ramandi", ["tkt"] = "Tharu Kathoriya", ["tku"] = "Totonac Necaxa Hulu", ["tkv"] = "Mur Pano", ["tkw"] = "Teanu", ["tkx"] = "Tangko", ["tkz"] = "Takua", ["tl"] = "Tagalog", ["tla"] = "Tepehuan Barat Daya", ["tlb"] = "Tobelo", ["tlc"] = "Totonac Misantla", ["tld"] = "Talaud", ["tlf"] = "Telefol", ["tlg"] = "Tofanma", ["tlh"] = "Klingon", ["tli"] = "Tlingit", ["tlj"] = "Talinga-Bwisi", ["tlk"] = "Taloki", ["tll"] = "Tetela", ["tlm"] = "Tolomako", ["tln"] = "Talondo'", ["tlo"] = "Talodi", ["tlp"] = "Totonac Filomena Mata-Coahuitlán", ["tlq"] = "Tai Loi", ["tlr"] = "Talise", ["tls"] = "Tambotalo", ["tlt"] = "Teluti", ["tlu"] = "Tulehu", ["tlv"] = "Taliabu", ["tlx"] = "Khehek", ["tly"] = "Talysh", ["tma"] = "Tama (Chad)", ["tmb"] = "Avava", ["tmc"] = "Tumak", ["tmd"] = "Haruai", ["tme"] = "Tremembé", ["tmf"] = "Toba-Maskoy", ["tmg"] = "Ternateño", ["tmh"] = "Tuareg", ["tmi"] = "Tutuba", ["tmj"] = "Samarokena", ["tmk"] = "Tamang Barat Laut", ["tml"] = "Tamnim Citak", ["tmm"] = "Tai Thanh", ["tmn"] = "Taman (Indonesia)", ["tmo"] = "Temoq", ["tmq"] = "Tumleo", ["tms"] = "Tima", ["tmt"] = "Tasmate", ["tmu"] = "Iau", ["tmv"] = "Motembo", ["tmy"] = "Tami", ["tmz"] = "Tamanaku", ["tn"] = "Tswana", ["tna"] = "Tacana", ["tnb"] = "Tunebo Barat", ["tnc"] = "Tanimuca-Retuarã", ["tnd"] = "Tunebo Angosturas", ["tne"] = "Kallahan Tinoc", ["tng"] = "Tobanga", ["tnh"] = "Maiani", ["tni"] = "Tandia", ["tnk"] = "Kwamera", ["tnl"] = "Lenakel", ["tnm"] = "Tabla", ["tnn"] = "Tanna Utara", ["tno"] = "Toromono", ["tnp"] = "Whitesands", ["tnq"] = "Taíno", ["tnr"] = "Bedik", ["tns"] = "Tenis", ["tnt"] = "Tontemboan", ["tnu"] = "Tay Khang", ["tnv"] = "Tangchangya", ["tnw"] = "Tonsawang", ["tnx"] = "Tanema", ["tny"] = "Tongwe", ["tnz"] = "Ten'edn", ["to"] = "Tonga", ["tob"] = "Toba", ["toc"] = "Totonac Coyutla", ["tod"] = "Toma", ["tof"] = "Gizrra", ["tog"] = "Tonga (Malawi)", ["toh"] = "Tonga (Mozambique)", ["toi"] = "Tonga (Zambia)", ["toj"] = "Tojolabal", ["tok"] = "Toki Pona", ["tol"] = "Tolowa", ["tom"] = "Tombulu", ["too"] = "Totonac Xicotepec de Juárez", ["top"] = "Totonac Papantla", ["toq"] = "Toposa", ["tor"] = "Togbo-Vara Banda", ["tos"] = "Totonac Pegunungan", ["tou"] = "Tho", ["tov"] = "Taromi Hulu", ["tow"] = "Jemez", ["tox"] = "Tobian", ["toy"] = "Topoiyo", ["toz"] = "To", ["tpa"] = "Taupota", ["tpc"] = "Me'phaa Azoyú", ["tpe"] = "Tippera", ["tpf"] = "Tarpia", ["tpg"] = "Kula", ["tpi"] = "Tok Pisin", ["tpj"] = "Tapieté", ["tpk"] = "Tupinikin", ["tpl"] = "Me'phaa Tlacoapa", ["tpm"] = "Tampulma", ["tpn"] = "Tupinambá", ["tpo"] = "Tai Pao", ["tpp"] = "Tepehua Pisaflores", ["tpq"] = "Tukpa", ["tpr"] = "Tuparí", ["tpt"] = "Tepehua Tlachichilco", ["tpu"] = "Tampuan", ["tpv"] = "Tanapag", ["tpw"] = "Tupi Kuno", ["tpx"] = "Me'phaa Acatepec", ["tpy"] = "Trumai", ["tpz"] = "Tinputz", ["tqb"] = "Tembé", ["tql"] = "Lehali", ["tqm"] = "Turumsa", ["tqn"] = "Tenino", ["tqo"] = "Toaripi", ["tqp"] = "Tomoip", ["tqq"] = "Tunni", ["tqr"] = "Torona", ["tqt"] = "Totonac Barat", ["tqu"] = "Touo", ["tqw"] = "Tonkawa", ["tr"] = "Turki", ["tra"] = "Tirahi", ["trb"] = "Terebu", ["trc"] = "Triqui Copala", ["trd"] = "Turi", ["tre"] = "Tarangan Timur", ["trf"] = "Kreol Inggris Trinidad", ["trg"] = "Lishán Didán", ["trh"] = "Turaka", ["tri"] = "Trió", ["trj"] = "Toram", ["trk-dkh"] = "Dukhan", ["trk-oat"] = "Turki Anatolia Kuno", ["trk-pro"] = "Proto-Turkik", ["trl"] = "Skotlandia Traveller", ["trm"] = "Tregami", ["trn"] = "Trinitario", ["tro"] = "Tarao", ["trp"] = "Kokborok", ["trq"] = "Triqui San Martín Itunyoso", ["trr"] = "Taushiro", ["trs"] = "Triqui Chicahuaxtla", ["trt"] = "Tunggare", ["tru"] = "Turoyo", ["trv"] = "Taroko", ["trw"] = "Torwali", ["trx"] = "Tringgus", ["try"] = "Turung", ["trz"] = "Torá", ["ts"] = "Tsonga", ["tsa"] = "Tsaangi", ["tsb"] = "Tsamai", ["tsc"] = "Tswa", ["tsd"] = "Tsakonia", ["tse"] = "Isyarat Tunisia", ["tsf"] = "Tamang Barat Daya", ["tsg"] = "Tausug", ["tsh"] = "Tsuvan", ["tsi"] = "Tsimshian", ["tsj"] = "Tshangla", ["tsl"] = "Ts'ün-Lao", ["tsm"] = "Isyarat Turki", ["tsp"] = "Toussian Utara", ["tsq"] = "Isyarat Thai", ["tsr"] = "Akei", ["tss"] = "Isyarat Taiwan", ["tsu"] = "Tsou", ["tsv"] = "Tsogo", ["tsw"] = "Tsishingini", ["tsx"] = "Mubami", ["tsy"] = "Isyarat Tebul", ["tt"] = "Tatar", ["tta"] = "Tutelo", ["ttb"] = "Gaa", ["ttc"] = "Tektiteko", ["ttd"] = "Tauade", ["tte"] = "Bwanabwana", ["ttf"] = "Tuotomb", ["ttg"] = "Tutong", ["tth"] = "Ta'oih Hulu", ["tti"] = "Tobati", ["ttj"] = "Tooro", ["ttk"] = "Totoro", ["ttl"] = "Totela", ["ttm"] = "Tutchone Utara", ["ttn"] = "Towei", ["tto"] = "Ta'oih Hilir", ["ttp"] = "Tombelala", ["ttr"] = "Tera", ["tts"] = "Isan", ["ttt"] = "Tat", ["ttu"] = "Torau", ["ttv"] = "Titan", ["ttw"] = "Long Wat", ["tty"] = "Sikaritai", ["ttz"] = "Tsum", ["tua"] = "Wiarumus", ["tub"] = "Tübatulabal", ["tuc"] = "Mutu", ["tud"] = "Tuxá", ["tue"] = "Tuyuca", ["tuf"] = "Tunebo Tengah", ["tug"] = "Tunia", ["tuh"] = "Taulil", ["tui"] = "Tupuri", ["tuj"] = "O'Hongana Manyawa", ["tul"] = "Tula", ["tum"] = "Tumbuka", ["tun"] = "Tunica", ["tuo"] = "Tucano", ["tup-gua-pro"] = "Proto-Tupi-Guarani", ["tup-kab"] = "Kabishiana", ["tup-pro"] = "Proto-Tupian", ["tuq"] = "Tedaga", ["tus"] = "Tuscarora", ["tuu"] = "Tututni", ["tuv"] = "Turkana", ["tuw-kkl"] = "Kyakala", ["tuw-pro"] = "Proto-Tungusic", ["tuw-sol"] = "Solon", ["tux"] = "Tuxináwa", ["tuy"] = "Tugen", ["tuz"] = "Turka", ["tva"] = "Vaghua", ["tvd"] = "Tsuvadi", ["tve"] = "Te'un", ["tvk"] = "Ambrym Tenggara", ["tvl"] = "Tuvaluan", ["tvm"] = "Tela-Masbuar", ["tvn"] = "Tavoyan", ["tvo"] = "Tidore", ["tvs"] = "Taveta", ["tvt"] = "Naga Tutsa", ["tvu"] = "Tunen", ["tvw"] = "Sedoa", ["tvx"] = "Taivoan", ["tvy"] = "Pijin Timor", ["twa"] = "Twana", ["twb"] = "Tawbuid Barat", ["twc"] = "Teshenawa", ["twe"] = "Teiwa", ["twf"] = "Taos", ["twg"] = "Tereweng", ["twh"] = "Tai Dón", ["twm"] = "Monpa Tawang", ["twn"] = "Twendi", ["two"] = "Tswapong", ["twp"] = "Ere", ["twq"] = "Tasawaq", ["twr"] = "Tarahumara Barat Daya", ["twt"] = "Turiwára", ["twu"] = "Termanu", ["tww"] = "Tuwari", ["twy"] = "Tawoyan", ["txa"] = "Tombonuo", ["txb"] = "Tocharian B", ["txc"] = "Tsetsaut", ["txe"] = "Totoli", ["txg"] = "Tangut", ["txh"] = "Thracian", ["txi"] = "Ikpeng", ["txj"] = "Tarjumo", ["txm"] = "Tomini", ["txn"] = "Tarangan Barat", ["txo"] = "Toto", ["txq"] = "Tii", ["txr"] = "Tartessian", ["txs"] = "Tonsea", ["txt"] = "Citak", ["txu"] = "Kayapó", ["txx"] = "Tatana", ["ty"] = "Tahiti", ["tya"] = "Tauya", ["tye"] = "Kyenga", ["tyh"] = "O'du", ["tyi"] = "Teke-Tsaayi", ["tyj"] = "Tai Do", ["tyl"] = "Thu Lao", ["tyn"] = "Kombai", ["typ"] = "Kuku-Thaypan", ["tyr"] = "Tai Daeng", ["tys"] = "Sapa", ["tyt"] = "Tày Tac", ["tyu"] = "Kua", ["tyv"] = "Tuvan", ["tyx"] = "Teke-Tyee", ["tyz"] = "Tày", ["tza"] = "Isyarat Tanzania", ["tzh"] = "Tzeltal", ["tzj"] = "Tz'utujil", ["tzl"] = "Talossan", ["tzm"] = "Atlas Tamazight Tengah", ["tzn"] = "Tugun", ["tzo"] = "Tzotzil", ["tzx"] = "Tabriak", ["uam"] = "Uamué", ["uan"] = "Kuan", ["uar"] = "Tairuma", ["uba"] = "Ubang", ["ubi"] = "Ubi", ["ubl"] = "Bikol Buhi'non", ["ubr"] = "Ubir", ["ubu"] = "Umbu-Ungu", ["uby"] = "Ubykh", ["uda"] = "Uda", ["ude"] = "Udihe", ["udg"] = "Muduga", ["udi"] = "Udi", ["udj"] = "Ujir", ["udl"] = "Uldeme", ["udm"] = "Udmurt", ["udu"] = "Uduk", ["ues"] = "Kioko", ["ufi"] = "Ufim", ["ug"] = "Uighur", ["uga"] = "Ugaritic", ["ugb"] = "Kuku-Ugbanh", ["uge"] = "Ughele", ["ugn"] = "Isyarat Uganda", ["ugo"] = "Gong", ["ugy"] = "Isyarat Uruguay", ["uha"] = "Uhami", ["uhn"] = "Damal", ["uis"] = "Uisai", ["uiv"] = "Iyive", ["uji"] = "Tanjijili", ["uk"] = "Ukraina", ["uka"] = "Kaburi", ["ukg"] = "Ukuriguma", ["ukh"] = "Ukhwejo", ["ukk"] = "Muak Sa-aak", ["ukl"] = "Isyarat Ukraina", ["ukp"] = "Ukpe-Bayobiri", ["ukq"] = "Ukwa", ["uks"] = "Isyarat Kaapor", ["uku"] = "Ukue", ["ukw"] = "Ukwuani-Aboh-Ndoni", ["uky"] = "Kuuk Yak", ["ula"] = "Fungwa", ["ulb"] = "Olukumi", ["ulc"] = "Ulch", ["ule"] = "Lule", ["ulf"] = "Afra", ["uli"] = "Ulithian", ["ulk"] = "Meriam", ["ull"] = "Ullatan", ["ulm"] = "Ulumanda'", ["uln"] = "Unserdeutsch", ["ulu"] = "Uma' Lung", ["ulw"] = "Ulwa", ["uma"] = "Umatilla", ["umb"] = "Umbundu", ["umc"] = "Marrucinian", ["umd"] = "Umbindhamu", ["umg"] = "Umbuygamu", ["umi"] = "Ukit", ["umm"] = "Umon", ["umn"] = "Naga Makyan", ["umo"] = "Umotína", ["ump"] = "Umpila", ["umr"] = "Umbugarla", ["ums"] = "Pendau", ["umu"] = "Munsee", ["una"] = "Watut Utara", ["und"] = "Tidak diketahui", ["und-isa"] = "Isaurian", ["und-kas"] = "Kassite", ["und-mil"] = "Milang", ["und-mmd"] = "Mimi Decorse", ["und-mmn"] = "Mimi Nachtigal", ["und-phi"] = "Filistin", ["und-wji"] = "Jicaque Barat", ["une"] = "Uneme", ["ung"] = "Ngarinyin", ["unk"] = "Enawené-Nawé", ["unm"] = "Unami", ["unn"] = "Kurnai", ["unr"] = "Mundari", ["unu"] = "Unubahe", ["unx"] = "Munda", ["unz"] = "Kaili Unde", ["uok"] = "Uokha", ["uon"] = "Kulon", ["upi"] = "Umeda", ["upv"] = "Uripiv-Wala-Rano-Atchin", ["ur"] = "Urdu", ["ura"] = "Urarina", ["urb"] = "Urubú-Kaapor", ["urc"] = "Urningangg", ["ure"] = "Uru", ["urf"] = "Uradhi", ["urg"] = "Urigina", ["urh"] = "Urhobo", ["uri"] = "Urim", ["urj-fin-pro"] = "Proto-Finnic", ["urj-koo"] = "Komi Kuno", ["urj-kuk"] = "Kukkuzi", ["urj-kya"] = "Komi-Yazva", ["urj-mdv-pro"] = "Proto-Mordvinic", ["urj-prm-pro"] = "Proto-Permic", ["urj-pro"] = "Proto-Uralic", ["urj-ugr-pro"] = "Proto-Ugric", ["urk"] = "Urak Lawoi'", ["url"] = "Urali", ["urm"] = "Urapmin", ["urn"] = "Uruangnirin", ["uro"] = "Ura (Papua)", ["urp"] = "Uru-Pa-In", ["urr"] = "Lehalurup", ["urt"] = "Urat", ["uru"] = "Urumi", ["urv"] = "Uruava", ["urw"] = "Sop", ["urx"] = "Urimo", ["ury"] = "Orya", ["urz"] = "Uru-Eu-Wau-Wau", ["usa"] = "Usarufa", ["ush"] = "Ushojo", ["usi"] = "Usui", ["usk"] = "Usaghade", ["usp"] = "Uspanteco", ["uss"] = "Saare", ["usu"] = "Uya", ["uta"] = "Otank", ["ute"] = "Ute", ["uth"] = "Hun", ["utp"] = "Aba", ["utr"] = "Etulo", ["utu"] = "Utu", ["uum"] = "Urum", ["uun"] = "Kulon-Pazeh", ["uur"] = "Ura (Vanuatu)", ["uuu"] = "U", ["uve"] = "Uvean Barat", ["uvh"] = "Uri", ["uvl"] = "Lote", ["uwa"] = "Kuku-Uwanh", ["uya"] = "Doko-Uyanga", ["uz"] = "Uzbek", ["vaa"] = "Vaagri Booli", ["vae"] = "Vale", ["vag"] = "Vagla", ["vah"] = "Varhadi", ["vai"] = "Vai", ["vaj"] = "Sekele", ["val"] = "Vehes", ["vam"] = "Vanimo", ["van"] = "Valman", ["vao"] = "Vao", ["vap"] = "Vaiphei", ["var"] = "Huarijio", ["vas"] = "Vasavi", ["vau"] = "Vanuma", ["vav"] = "Varli", ["vay"] = "Vayu", ["vbb"] = "Babar Tenggara", ["vbk"] = "Bontoc Barat Daya", ["ve"] = "Venda", ["vec"] = "Venesia", ["ved"] = "Veddah", ["vem"] = "Vemgo-Mabas", ["veo"] = "Ventureño", ["vep"] = "Veps", ["ver"] = "Mom Jango", ["vgr"] = "Vaghri", ["vgt"] = "Isyarat Flemish", ["vi"] = "Vietnam", ["vic"] = "Kreol Virgin Islands", ["vid"] = "Vidunda", ["vif"] = "Vili", ["vig"] = "Viemo", ["vil"] = "Vilela", ["vis"] = "Vishavan", ["vit"] = "Viti", ["viv"] = "Iduna", ["vka"] = "Kariyarra", ["vki"] = "Ija-Zuba", ["vkj"] = "Kujarge", ["vkk"] = "Kaur", ["vkl"] = "Kulisusu", ["vkm"] = "Kamakan", ["vko"] = "Kodeoha", ["vkp"] = "Kreol Portugis Korlai", ["vkt"] = "Kutai Hilir", ["vku"] = "Kurrama", ["vlp"] = "Valpei", ["vls"] = "Flemish Barat", ["vma"] = "Martuthunira", ["vmb"] = "Mbabaram", ["vmc"] = "Mixtec Juxtlahuaca", ["vmd"] = "Koraga Mudu", ["vme"] = "Masela Timur", ["vmf"] = "Franconia Timur", ["vmg"] = "Minigir", ["vmh"] = "Maraghei", ["vmi"] = "Miwa", ["vmj"] = "Mixtec Ixtayutla", ["vmk"] = "Makhuwa-Shirima", ["vml"] = "Malgana", ["vmm"] = "Mixtec Mitlatongo", ["vmp"] = "Mazatec Soyaltepec", ["vmq"] = "Mixtec Soyaltepec", ["vmr"] = "Marenje", ["vmu"] = "Muluridyi", ["vmv"] = "Valley Maidu", ["vmw"] = "Makhuwa", ["vmx"] = "Mixtec Tamazola", ["vmy"] = "Mazatec Ayautla", ["vmz"] = "Mazatec Mazatlán", ["vnk"] = "Lovono", ["vnm"] = "Neve'ei", ["vnp"] = "Vunapu", ["vo"] = "Volapük", ["vor"] = "Voro", ["vot"] = "Votic", ["vra"] = "Vera'a", ["vro"] = "Võro", ["vrs"] = "Varisi", ["vrt"] = "Banam Bay", ["vsi"] = "Isyarat Moldova", ["vsl"] = "Isyarat Venezuela", ["vsv"] = "Isyarat Valencia", ["vto"] = "Vitou", ["vum"] = "Vumbu", ["vun"] = "Vunjo", ["vut"] = "Vute", ["vwa"] = "Awa (Tiongkok)", ["wa"] = "Walloon", ["waa"] = "Walla Walla", ["wab"] = "Wab", ["wac"] = "Wasco-Wishram", ["wad"] = "Wandamen", ["waf"] = "Wakoná", ["wag"] = "Wa'ema", ["wah"] = "Watubela", ["waj"] = "Waffa", ["wal"] = "Wolaytta", ["wam"] = "Massachusett", ["wan"] = "Wan", ["wao"] = "Wappo", ["wap"] = "Wapishana", ["waq"] = "Wageman", ["war"] = "Waray-Waray", ["was"] = "Washo", ["wat"] = "Kaninuwa", ["wau"] = "Wauja", ["wav"] = "Waka", ["waw"] = "Waiwai", ["wax"] = "Watam", ["way"] = "Wayana", ["waz"] = "Wampur", ["wba"] = "Warao", ["wbb"] = "Wabo", ["wbe"] = "Waritai", ["wbf"] = "Wara", ["wbh"] = "Wanda", ["wbi"] = "Wanji", ["wbj"] = "Alagwa", ["wbk"] = "Waigali", ["wbl"] = "Wakhi", ["wbm"] = "Wa", ["wbp"] = "Warlpiri", ["wbq"] = "Waddar", ["wbr"] = "Wagdi", ["wbt"] = "Wanman", ["wbv"] = "Wajarri", ["wbw"] = "Woi", ["wca"] = "Yanomámi", ["wci"] = "Gbe Waci", ["wdd"] = "Wandji", ["wdg"] = "Wadaginam", ["wdj"] = "Wadjiginy", ["wdt"] = "Wendat", ["wdu"] = "Wadjigu", ["wdy"] = "Wadjabangayi", ["wea"] = "Wewaw", ["wec"] = "Wè Barat", ["wed"] = "Wedau", ["weh"] = "Weh", ["wei"] = "Kiunum", ["wem"] = "Gbe Weme", ["weo"] = "Wemale", ["wer"] = "Weri", ["wes"] = "Pijin Kamerun", ["wet"] = "Perai", ["weu"] = "Welaung", ["wew"] = "Weyewa", ["wfg"] = "Yafi", ["wga"] = "Wagaya", ["wgb"] = "Wagawaga", ["wgg"] = "Wangganguru", ["wgi"] = "Wahgi", ["wgo"] = "Waigeo", ["wgu"] = "Wirangu", ["wgy"] = "Warrgamay", ["wha"] = "Manusela", ["whg"] = "Wahgi Utara", ["whk"] = "Kenyah Wahau", ["whu"] = "Kayan Wahau", ["wib"] = "Toussian Selatan", ["wic"] = "Wichita", ["wie"] = "Wik-Epa", ["wif"] = "Wik-Keyangan", ["wig"] = "Wik-Ngathana", ["wih"] = "Wik-Me'anha", ["wii"] = "Minidien", ["wij"] = "Wik-Iiyanh", ["wik"] = "Wikalkan", ["wil"] = "Wilawila", ["wim"] = "Wik-Mungkan", ["win"] = "Winnebago", ["wir"] = "Wiraféd", ["wiu"] = "Wiru", ["wiv"] = "Muduapa", ["wiy"] = "Wiyot", ["wja"] = "Waja", ["wji"] = "Warji", ["wka"] = "Kw'adza", ["wkb"] = "Kumbaran", ["wkd"] = "Mo", ["wkl"] = "Kalanadi", ["wku"] = "Kunduvadi", ["wkw"] = "Wakawaka", ["wky"] = "Wangkayutyuru", ["wla"] = "Walio", ["wlc"] = "Comorian Mwali", ["wle"] = "Wolane", ["wlg"] = "Kunbarlang", ["wli"] = "Waioli", ["wlk"] = "Wailaki", ["wll"] = "Wali (Sudan)", ["wlm"] = "Welsh Tengahan", ["wlo"] = "Wolio", ["wlr"] = "Wailapa", ["wls"] = "Wallisian", ["wlu"] = "Wuliwuli", ["wlv"] = "Wichí Lhamtés Vejoz", ["wlw"] = "Walak", ["wlx"] = "Wali (Ghana)", ["wly"] = "Waling", ["wmb"] = "Wambaya", ["wmc"] = "Wamas", ["wmd"] = "Mamaindé", ["wme"] = "Wambule", ["wmh"] = "Waima'a", ["wmi"] = "Wamin", ["wmm"] = "Maiwa (Indonesia)", ["wmn"] = "Waamwang", ["wmo"] = "Wam", ["wms"] = "Wambon", ["wmt"] = "Walmajarri", ["wmw"] = "Mwani", ["wmx"] = "Womo", ["wnb"] = "Wanambre", ["wnc"] = "Wantoat", ["wnd"] = "Wandarang", ["wne"] = "Waneci", ["wng"] = "Wanggom", ["wni"] = "Comorian Ndzwani", ["wnk"] = "Wanukaka", ["wnm"] = "Wanggamala", ["wno"] = "Wano", ["wnp"] = "Wanap", ["wnu"] = "Usan", ["wnw"] = "Wintu", ["wny"] = "Wanyi", ["wo"] = "Wolof", ["woa"] = "Tyaraity", ["wob"] = "Wè Utara", ["woc"] = "Wogeo", ["wod"] = "Wolani", ["woe"] = "Woleaian", ["wog"] = "Wogamusin", ["woi"] = "Kamang", ["wok"] = "Longto", ["wom"] = "Perema", ["won"] = "Wongo", ["woo"] = "Manombai", ["wor"] = "Woria", ["wos"] = "Hanga Hundi", ["wow"] = "Wawonii", ["wpc"] = "Wirö", ["wra"] = "Warapu", ["wrb"] = "Warluwara", ["wrg"] = "Warungu", ["wrh"] = "Wiradhuri", ["wri"] = "Wariyangga", ["wrk"] = "Garawa", ["wrl"] = "Warlmanpa", ["wrm"] = "Warumungu", ["wrn"] = "Warnang", ["wro"] = "Worora", ["wrp"] = "Waropen", ["wrr"] = "Wardaman", ["wrs"] = "Waris", ["wru"] = "Waru", ["wrv"] = "Waruna", ["wrw"] = "Gugu Warra", ["wrx"] = "Wae Rana", ["wrz"] = "Warray", ["wsa"] = "Warembori", ["wsi"] = "Wusi", ["wsk"] = "Waskia", ["wsr"] = "Owenia", ["wss"] = "Wasa", ["wsu"] = "Wasu", ["wsv"] = "Wotapuri-Katarqalai", ["wtf"] = "Watiwa", ["wth"] = "Wathaurong", ["wti"] = "Berta", ["wtk"] = "Watakataui", ["wtm"] = "Mewati", ["wtw"] = "Wotu", ["wua"] = "Wikngenchera", ["wub"] = "Wunambal", ["wud"] = "Wudu", ["wuh"] = "Wutunhua", ["wul"] = "Silimo", ["wum"] = "Wumbvu", ["wun"] = "Bungu", ["wur"] = "Wurrugu", ["wut"] = "Wutung", ["wuu"] = "Wu", ["wuv"] = "Wuvulu-Aua", ["wux"] = "Wulna", ["wuy"] = "Wauyai", ["wwa"] = "Waama", ["wwo"] = "Dorig", ["wwr"] = "Warrwa", ["www"] = "Wawa", ["wxa"] = "Waxianghua", ["wxw"] = "Wardandi", ["wya"] = "Wyandot", ["wyb"] = "Ngiyambaa", ["wyi"] = "Woiwurrung", ["wym"] = "Vilamovian", ["wyr"] = "Wayoró", ["wyy"] = "Fiji Barat", ["xaa"] = "Arab Andalusia", ["xab"] = "Sambe", ["xac"] = "Kachari", ["xad"] = "Adai", ["xae"] = "Aequian", ["xag"] = "Aghwan", ["xai"] = "Kaimbé", ["xaj"] = "Ararandewára", ["xak"] = "Maku", ["xal"] = "Kalmyk", ["xam"] = "ǀXam", ["xan"] = "Xamtanga", ["xao"] = "Khao", ["xap"] = "Apalachee", ["xaq"] = "Aquitania", ["xar"] = "Karami", ["xas"] = "Kamassian", ["xat"] = "Katawixi", ["xau"] = "Kauwera", ["xav"] = "Xavante", ["xaw"] = "Kawaiisu", ["xay"] = "Kayan Mahakam", ["xbb"] = "Burdekin Hilir", ["xbc"] = "Baktria", ["xbd"] = "Bindal", ["xbe"] = "Bigambal", ["xbg"] = "Bunganditj", ["xbi"] = "Kombio", ["xbj"] = "Birrpayi", ["xbm"] = "Breton Tengahan", ["xbn"] = "Kenaboi", ["xbo"] = "Bulgar", ["xbp"] = "Bibbulman", ["xbr"] = "Kambera", ["xbw"] = "Kambiwá", ["xby"] = "Butchulla", ["xcb"] = "Cumbric", ["xcc"] = "Camunic", ["xce"] = "Keltiberia", ["xch"] = "Chemakum", ["xcl"] = "Armenia Kuno", ["xcm"] = "Comecrudo", ["xcn"] = "Cotoname", ["xco"] = "Khwarezmian", ["xcr"] = "Carian", ["xct"] = "Tibet Klasik", ["xcu"] = "Curonian", ["xcv"] = "Chuvan", ["xcw"] = "Coahuilteco", ["xcy"] = "Cayuse", ["xda"] = "Darkinjung", ["xdc"] = "Dacian", ["xdk"] = "Dharug", ["xdm"] = "Edomite", ["xdy"] = "Dayak Melayu", ["xeb"] = "Eblaite", ["xed"] = "Hdi", ["xeg"] = "ǁXegwi", ["xel"] = "Kelo", ["xem"] = "Kembayan", ["xep"] = "Epi-Olmec", ["xer"] = "Xerénte", ["xes"] = "Kesawai", ["xet"] = "Xetá", ["xeu"] = "Keoru-Ahia", ["xfa"] = "Faliscan", ["xga"] = "Galatia", ["xgb"] = "Gbin", ["xgd"] = "Gudang", ["xgf"] = "Gabrielino-Fernandeño", ["xgg"] = "Goreng", ["xgi"] = "Garingbal", ["xgl"] = "Galindan", ["xgm"] = "Darumbal", ["xgn-mgl"] = "Mongghul", ["xgn-mgr"] = "Mangghuer", ["xgn-pro"] = "Proto-Mongolia", ["xgn-rou"] = "Rouran", ["xgr"] = "Garza", ["xgu"] = "Unggumi", ["xgw"] = "Guwa", ["xh"] = "Xhosa", ["xha"] = "Harami", ["xhc"] = "Hunnic", ["xhd"] = "Hadrami", ["xhe"] = "Khetrani", ["xhm"] = "Khmer Tengahan", ["xhr"] = "Hernican", ["xht"] = "Hattic", ["xhu"] = "Hurria", ["xhv"] = "Khua", ["xib"] = "Iberia", ["xii"] = "Xiri", ["xil"] = "Illyria", ["xin"] = "Xinca", ["xir"] = "Xiriâna", ["xis"] = "Kisan", ["xiv"] = "Lembah Indus", ["xiy"] = "Xipaya", ["xjb"] = "Minjungbal", ["xka"] = "Kalkoti", ["xkb"] = "Manigri-Kambolé Ede Nago", ["xkc"] = "Khoini", ["xkd"] = "Kayan Mendalam", ["xke"] = "Kereho", ["xkf"] = "Khengkha", ["xkg"] = "Kagoro", ["xki"] = "Isyarat Kenya", ["xkj"] = "Kajali", ["xkk"] = "Kaco'", ["xkl"] = "Bakung", ["xkn"] = "Kayan Sungai Kayan", ["xko"] = "Kiorr", ["xkp"] = "Kabatei", ["xkq"] = "Koroni", ["xkr"] = "Xakriabá", ["xks"] = "Kumbewaha", ["xkt"] = "Kantosi", ["xku"] = "Kaamba", ["xkv"] = "Kgalagadi", ["xkw"] = "Kembra", ["xkx"] = "Karore", ["xky"] = "Uma' Lasan", ["xkz"] = "Kurtöp", ["xla"] = "Kamula", ["xlb"] = "Loup B", ["xlc"] = "Lycia", ["xld"] = "Lydia", ["xle"] = "Lemnia", ["xlg"] = "Liguria Kuno", ["xli"] = "Liburnian", ["xlo"] = "Loup A", ["xlp"] = "Lepontic", ["xls"] = "Lusitania", ["xlu"] = "Luwia", ["xly"] = "Elymian", ["xmb"] = "Mbonga", ["xmc"] = "Makhuwa-Marrevone", ["xmd"] = "Mbudum", ["xme-ker"] = "Kermanic", ["xme-kls"] = "Kalasuri", ["xme-klt"] = "Kilit", ["xme-mid"] = "Media Tengahan", ["xme-old"] = "Media Kuno", ["xme-ott"] = "Tati Kuno", ["xme-taf"] = "Tafreshi", ["xme-ttc-pro"] = "Proto-Tatic", ["xmf"] = "Mingrelian", ["xmg"] = "Mengaka", ["xmh"] = "Kugu-Muminh", ["xmj"] = "Majera", ["xmk"] = "Makedonia Kuno", ["xml"] = "Isyarat Malaysia", ["xmm"] = "Melayu Manado", ["xmo"] = "Morerebi", ["xmp"] = "Kuku-Mu'inh", ["xmq"] = "Kuku-Mangk", ["xmr"] = "Meroitic", ["xms"] = "Isyarat Maroko", ["xmt"] = "Matbat", ["xmu"] = "Kamu", ["xmx"] = "Maden", ["xmy"] = "Mayaguduna", ["xmz"] = "Mori Bawah", ["xna"] = "Arab Utara Kuno", ["xnb"] = "Kanakanabu", ["xnd-pro"] = "Proto-Na-Dene", ["xng"] = "Mongol Tengahan", ["xnh"] = "Kuanhua", ["xni"] = "Ngarigu", ["xnk"] = "Nganakarti", ["xnn"] = "Kankanay Utara", ["xnr"] = "Kangri", ["xns"] = "Kanashi", ["xnt"] = "Narragansett", ["xnu"] = "Nukunul", ["xny"] = "Nyiyaparli", ["xoc"] = "O'chi'chi'", ["xod"] = "Kokoda", ["xog"] = "Soga", ["xoi"] = "Kominimung", ["xok"] = "Xokleng", ["xom"] = "Komo", ["xon"] = "Konkomba", ["xoo"] = "Xukurú", ["xop"] = "Kopar", ["xor"] = "Korubo", ["xow"] = "Kowaki", ["xpa"] = "Pirriya", ["xpb"] = "Pyemmairre", ["xpc"] = "Pecheneg", ["xpd"] = "Paredarerme", ["xpe"] = "Kpelle Liberia", ["xpf"] = "Tasmania Tenggara", ["xpg"] = "Phrygia", ["xph"] = "Tyerrernotepanner", ["xpi"] = "Pictish", ["xpj"] = "Mpalitjanh", ["xpk"] = "Kulina", ["xpl"] = "Port Sorell", ["xpm"] = "Pumpokol", ["xpn"] = "Kapinawá", ["xpo"] = "Pochutec", ["xpp"] = "Puyo-Paekche", ["xpq"] = "Mohegan-Pequot", ["xpr"] = "Parthia", ["xps"] = "Pisidian", ["xpu"] = "Punic", ["xpv"] = "Tommeginne", ["xpw"] = "Peerapper", ["xpx"] = "Toogee", ["xpy"] = "Buyeo", ["xpz"] = "Bruny Island", ["xqa"] = "Karakhanid", ["xqt"] = "Qatabanian", ["xra"] = "Krahô", ["xrb"] = "Karaboro Timur", ["xrd"] = "Gundungurra", ["xre"] = "Kreye", ["xrg"] = "Minang", ["xri"] = "Krikati-Timbira", ["xrm"] = "Armazic", ["xrn"] = "Arin", ["xrq"] = "Karranga", ["xrr"] = "Raetic", ["xrt"] = "Aranama-Tamique", ["xru"] = "Marriammu", ["xrw"] = "Karawa", ["xsa"] = "Sabaean", ["xsb"] = "Sambali", ["xsc-pro"] = "Proto-Scythia", ["xsc-sak-pro"] = "Proto-Saka", ["xsc-skw-pro"] = "Proto-Saka-Wakhi", ["xsd"] = "Sidetic", ["xse"] = "Sempan", ["xsh"] = "Shamang", ["xsi"] = "Sio", ["xsj"] = "Subi", ["xsl"] = "Slavey Selatan", ["xsm"] = "Kasem", ["xsn"] = "Sanga (Nigeria)", ["xso"] = "Solano", ["xsp"] = "Silopi", ["xsq"] = "Makhuwa-Saka", ["xsr"] = "Sherpa", ["xss"] = "Assan", ["xsu"] = "Sanumá", ["xsv"] = "Sudovian", ["xsy"] = "Saisiyat", ["xta"] = "Mixtec Alcozauca", ["xtb"] = "Mixtec Chazumba", ["xtc"] = "Kadugli", ["xtd"] = "Mixtec Diuxi-Tilantongo", ["xte"] = "Ketengban", ["xth"] = "Yitha Yitha", ["xti"] = "Mixtec Sinicahua", ["xtj"] = "Mixtec San Juan Teita", ["xtl"] = "Mixtec Tijaltepec", ["xtm"] = "Mixtec Magdalena Peñasco", ["xtn"] = "Mixtec Tlaxiaco Utara", ["xto"] = "Tocharian A", ["xtp"] = "Mixtec San Miguel Piedras", ["xtq"] = "Tumshuqese", ["xtr"] = "Tripuri Awal", ["xts"] = "Mixtec Sindihui", ["xtt"] = "Mixtec Tacahua", ["xtu"] = "Mixtec Cuyamecalco", ["xtv"] = "Thawa", ["xtw"] = "Tawandê", ["xty"] = "Mixtec Yoloxochitl", ["xtz"] = "Tasmania", ["xua"] = "Kurumba Alu", ["xub"] = "Kurumba Betta", ["xud"] = "Umiida", ["xug"] = "Kunigami", ["xuj"] = "Kurumba Jennu", ["xul"] = "Ngunawal", ["xum"] = "Umbrian", ["xun"] = "Unggaranggu", ["xuo"] = "Kuo", ["xup"] = "Umpqua Hulu", ["xur"] = "Urartian", ["xut"] = "Kuthant", ["xuu"] = "Khwe", ["xve"] = "Venetic", ["xvn"] = "Vandalic", ["xvo"] = "Volscian", ["xvs"] = "Vestinian", ["xwa"] = "Kwaza", ["xwc"] = "Woccon", ["xwd"] = "Wadi Wadi", ["xwe"] = "Gbe Xwela", ["xwg"] = "Kwegu", ["xwj"] = "Wajuk", ["xwk"] = "Wangkumara", ["xwl"] = "Gbe Xwla Barat", ["xwo"] = "Written Oirat", ["xwr"] = "Kwerba Mamberamo", ["xww"] = "Wemba-Wemba", ["xxb"] = "Boro", ["xxk"] = "Ke'o", ["xxm"] = "Minkin", ["xxr"] = "Koropó", ["xxt"] = "Tambora", ["xya"] = "Yaygir", ["xyb"] = "Yandjibara", ["xyl"] = "Yalakalore", ["xyt"] = "Mayi-Thakurti", ["xyy"] = "Yorta Yorta", ["xzh"] = "Zhang-Zhung", ["xzm"] = "Zemgalian", ["xzp"] = "Zapotec Kuno", ["yaa"] = "Yaminahua", ["yab"] = "Yuhup", ["yac"] = "Yali Lembah Pass", ["yad"] = "Yagua", ["yae"] = "Pumé", ["yaf"] = "Yaka", ["yag"] = "Yámana", ["yah"] = "Yazghulami", ["yai"] = "Yagnobi", ["yaj"] = "Banda-Yangere", ["yak"] = "Yakima", ["yal"] = "Yalunka", ["yam"] = "Yamba", ["yan"] = "Mayangna", ["yao"] = "Yao", ["yap"] = "Yapese", ["yaq"] = "Yaqui", ["yar"] = "Yabarana", ["yas"] = "Gunu", ["yat"] = "Yambeta", ["yau"] = "Yuwana", ["yav"] = "Yangben", ["yaw"] = "Yawalapití", ["yay"] = "Agwagwune", ["yaz"] = "Lokaa", ["yba"] = "Yala", ["ybb"] = "Yemba", ["ybe"] = "Yugur Barat", ["ybh"] = "Yakkha", ["ybi"] = "Yamphu", ["ybj"] = "Hasha", ["ybk"] = "Bokha", ["ybl"] = "Yukuben", ["ybm"] = "Yaben", ["ybn"] = "Yabaâna", ["ybo"] = "Yabong", ["ybx"] = "Yawiyo", ["yby"] = "Yaweyuha", ["ych"] = "Chesu", ["ycl"] = "Lolopo", ["ycn"] = "Yucuna", ["ycp"] = "Chepya", ["ycr"] = "Kreol Yilan", ["yda"] = "Yanda", ["yde"] = "Yangum Dey", ["ydg"] = "Yidgha", ["ydk"] = "Yoidik", ["yea"] = "Ravula", ["yec"] = "Yeniche", ["yee"] = "Yimas", ["yei"] = "Yeni", ["yej"] = "Yevanic", ["yen"] = "Yendang", ["yer"] = "Tarok", ["yes"] = "Yeskwa", ["yet"] = "Yetfa", ["yeu"] = "Yerukula", ["yev"] = "Yapunda", ["yey"] = "Yeyi", ["ygi"] = "Yiningayi", ["ygl"] = "Yangum Gel", ["ygm"] = "Yagomi", ["ygp"] = "Gepo", ["ygr"] = "Yagaria", ["ygs"] = "Isyarat Yolngu", ["ygu"] = "Yugul", ["ygw"] = "Yagwoia", ["yha"] = "Baha", ["yhl"] = "Phowa Hlepho", ["yi"] = "Yiddish", ["yia"] = "Yinggarda", ["yif"] = "Ache", ["yig"] = "Nasu Wusa", ["yii"] = "Yidiny", ["yij"] = "Yindjibarndi", ["yik"] = "Lalo Dongshanba", ["yil"] = "Yindjilandji", ["yim"] = "Naga Yimchungru", ["yin"] = "Yinchia", ["yip"] = "Pholo", ["yiq"] = "Miqie", ["yir"] = "Awyu Utara", ["yis"] = "Yis", ["yit"] = "Lalu Timur", ["yiu"] = "Awu", ["yiv"] = "Nisu Utara", ["yix"] = "Yi Axi", ["yiy"] = "Yir-Yoront", ["yiz"] = "Azhe", ["yka"] = "Yakan", ["ykg"] = "Yukaghir Utara", ["ykh"] = "Mongol Khamnigan", ["yki"] = "Yoke", ["ykk"] = "Yakaikeke", ["ykl"] = "Khlula", ["ykm"] = "Kap", ["ykn"] = "Kua-nsi", ["yko"] = "Yasa", ["ykr"] = "Yekora", ["ykt"] = "Kathu", ["yku"] = "Kuamasi", ["yky"] = "Yakoma", ["yla"] = "Yaul", ["ylb"] = "Yaleba", ["yle"] = "Yele", ["ylg"] = "Yelogu", ["yli"] = "Yali Angguruk", ["yll"] = "Yil", ["ylm"] = "Limi", ["yln"] = "Langnian Buyang", ["ylo"] = "Yi Naluo", ["ylr"] = "Yalarnnga", ["ylu"] = "Aribwaung", ["yly"] = "Nyâlayu", ["ymb"] = "Yambes", ["ymc"] = "Muji Selatan", ["ymd"] = "Muda", ["yme"] = "Yameo", ["ymg"] = "Yamongeri", ["ymh"] = "Mili", ["ymi"] = "Moji", ["ymk"] = "Makwe", ["yml"] = "Iamalele", ["ymm"] = "Maay", ["ymn"] = "Sunum", ["ymo"] = "Mon Yangum", ["ymp"] = "Yamap", ["ymq"] = "Muji Qila", ["ymr"] = "Malasar", ["yms"] = "Mysian", ["ymx"] = "Muji Utara", ["ymz"] = "Muzi", ["yna"] = "Aluo", ["ynd"] = "Yandruwandha", ["yne"] = "Lang'e", ["yng"] = "Yango", ["ynk"] = "Naukanski", ["ynl"] = "Yangulam", ["ynn"] = "Yana", ["yno"] = "Yong", ["yns"] = "Yansi", ["ynu"] = "Yahuna", ["yo"] = "Yoruba", ["yob"] = "Yoba", ["yog"] = "Yogad", ["yoi"] = "Yonaguni", ["yol"] = "Yola", ["yom"] = "Yombe", ["yon"] = "Yongkom", ["yox"] = "Yoron", ["yoy"] = "Yoy", ["ypa"] = "Phala", ["ypb"] = "Phowa Labo", ["ypg"] = "Phola", ["yph"] = "Phupha", ["ypk-pro"] = "Proto-Yupik", ["ypm"] = "Phuma", ["ypn"] = "Phowa Ani", ["ypo"] = "Alo Phola", ["ypp"] = "Phupa", ["ypz"] = "Phuza", ["yra"] = "Yerakai", ["yrb"] = "Yareba", ["yre"] = "Yaouré", ["yri"] = "Yarí", ["yrk"] = "Nenets Tundra", ["yrl"] = "Nheengatu", ["yrn"] = "Yerong", ["yro"] = "Yaroamë", ["yrw"] = "Yarawata", ["yry"] = "Yarluyandi", ["ysc"] = "Jassic", ["ysd"] = "Samatao", ["ysg"] = "Sonaga", ["ysl"] = "Isyarat Yugoslavia", ["ysn"] = "Sani", ["yso"] = "Nisi", ["ysp"] = "Lolopo Selatan", ["ysr"] = "Sirenik", ["yss"] = "Yessan-Mayo", ["ysy"] = "Sanie", ["yta"] = "Talu", ["ytl"] = "Tanglang", ["ytp"] = "Thopho", ["ytw"] = "Yout Wam", ["yty"] = "Yatay", ["yua"] = "Maya Yucatec", ["yub"] = "Yugambal", ["yuc"] = "Yuchi", ["yue"] = "Kanton", ["yuf"] = "Havasupai-Walapai-Yavapai", ["yug"] = "Yug", ["yui"] = "Yurutí", ["yuj"] = "Karkar-Yuri", ["yuk"] = "Yuki", ["yul"] = "Yulu", ["yum"] = "Yuma", ["yun"] = "Bena", ["yup"] = "Yukpa", ["yuq"] = "Yuqui", ["yur"] = "Yurok", ["yut"] = "Yopno", ["yuw"] = "Yau Finisterre", ["yux"] = "Yukaghir Selatan", ["yuy"] = "Yugur Timur", ["yuz"] = "Yuracare", ["yva"] = "Yawa", ["yvt"] = "Yavitero", ["ywa"] = "Kalou", ["ywg"] = "Yinhawangka", ["ywl"] = "Lalu Barat", ["ywn"] = "Yawanawa", ["ywq"] = "Nasu", ["ywr"] = "Yawuru", ["ywt"] = "Lalo Xishanba", ["ywu"] = "Nasu Wumeng", ["yww"] = "Yawarawarga", ["yxa"] = "Mayawali", ["yxg"] = "Yagara", ["yxl"] = "Yarli", ["yxm"] = "Yinwum", ["yxu"] = "Yuyu", ["yxy"] = "Yabula Yabula", ["yyu"] = "Yau Torricelli", ["yyz"] = "Ayizi", ["yzg"] = "E'ma Buyang", ["yzk"] = "Zokhuo", ["za"] = "Zhuang", ["zaa"] = "Zapotec Sierra de Juárez", ["zab"] = "Zapotec San Juan Guelavía", ["zac"] = "Zapotec Ocotlán", ["zad"] = "Zapotec Cajonos", ["zae"] = "Zapotec Yareni", ["zaf"] = "Zapotec Ayoquesco", ["zag"] = "Zaghawa", ["zah"] = "Zangwal", ["zai"] = "Zapotec Isthmus", ["zaj"] = "Zaramo", ["zak"] = "Zanaki", ["zal"] = "Zauzou", ["zam"] = "Zapotec Mahuatlán Tengah", ["zao"] = "Zapotec Ozolotepec", ["zap"] = "Zapotec", ["zaq"] = "Zapotec Aloápam", ["zar"] = "Zapotec Rincón", ["zas"] = "Zapotec Santo Domingo Albarradas", ["zat"] = "Zapotec Tabaa", ["zau"] = "Zangskari", ["zav"] = "Zapotec Yatzachi", ["zaw"] = "Zapotec Mitla", ["zax"] = "Zapotec Xadani", ["zay"] = "Zayse-Zergulla", ["zaz"] = "Zari", ["zbt"] = "Batui", ["zca"] = "Zapotec Coatecas Altas", ["zdj"] = "Comorian Ngazidja", ["zea"] = "Zealandic", ["zeg"] = "Zenag", ["zen"] = "Zenaga", ["zga"] = "Kinga", ["zgh"] = "Maroko Amazigh", ["zgr"] = "Magori", ["zh"] = "Tionghoa", ["zhb"] = "Zhaba", ["zhi"] = "Zhire", ["zhn"] = "Zhuang Nong", ["zhw"] = "Zhoa", ["zhx-min-pro"] = "Proto-Min", ["zhx-sht"] = "Tuhua Shaozhou", ["zhx-tai"] = "Taishan", ["zhx-teo"] = "Teochew", ["zia"] = "Zia", ["zib"] = "Isyarat Zimbabwe", ["zik"] = "Zimakani", ["zil"] = "Zialo", ["zim"] = "Mesme", ["zin"] = "Zinza", ["zir"] = "Ziriya", ["ziw"] = "Zigula", ["ziz"] = "Zizilivakan", ["zka"] = "Kaimbulawa", ["zkb"] = "Koibal", ["zkg"] = "Goguryeo", ["zkh"] = "Turkik Khorezmian", ["zkk"] = "Karankawa", ["zko"] = "Kott", ["zkp"] = "São Paulo Kaingáng", ["zkr"] = "Zakhring", ["zkt"] = "Khitan", ["zku"] = "Kaurna", ["zkv"] = "Krevinian", ["zkz"] = "Khazar", ["zle-ono"] = "Novgorod Kuno", ["zle-ort"] = "Ruthenia Kuno", ["zlw-ocs"] = "Ceko Kuno", ["zlw-opl"] = "Polandia Kuno", ["zlw-pom-pro"] = "Proto-Pomerania", ["zlw-slv"] = "Slovincian", ["zma"] = "Manda (Australia)", ["zmb"] = "Zimba", ["zmc"] = "Margany", ["zmd"] = "Maridan", ["zme"] = "Mangerr", ["zmf"] = "Mfinu", ["zmg"] = "Ke Marti", ["zmh"] = "Makolkol", ["zmi"] = "Melayu Negeri Sembilan", ["zmj"] = "Maridjabin", ["zmk"] = "Mandandanyi", ["zml"] = "Madngele", ["zmm"] = "Marimanindji", ["zmn"] = "Mbangwe", ["zmo"] = "Molo", ["zmp"] = "Mbuun", ["zmq"] = "Mituku", ["zmr"] = "Maranungku", ["zms"] = "Mbesa", ["zmt"] = "Maringarr", ["zmu"] = "Muruwari", ["zmv"] = "Mbariman-Gudhinma", ["zmw"] = "Mbo (Kongo)", ["zmx"] = "Bomitaba", ["zmy"] = "Mariyedi", ["zmz"] = "Mbandja", ["zna"] = "Gula Zan", ["zne"] = "Zande", ["zng"] = "Mang", ["znk"] = "Manangkari", ["zns"] = "Mangas", ["zoc"] = "Zoque Copainalá", ["zoh"] = "Zoque Chimalapa", ["zom"] = "Zou", ["zoo"] = "Zapotec Asunción Mixtepec", ["zoq"] = "Zoque Tabasco", ["zor"] = "Zoque Rayón", ["zos"] = "Zoque Francisco León", ["zpa"] = "Zapotec Lachiguiri", ["zpb"] = "Zapotec Yautepec", ["zpc"] = "Zapotec Choapan", ["zpd"] = "Zapotec Ixtlán Tenggara", ["zpe"] = "Zapotec Petapa", ["zpf"] = "Zapotec San Pedro Quiatoni", ["zpg"] = "Zapotec Guevea de Humboldt", ["zph"] = "Zapotec Totomachapan", ["zpi"] = "Zapotec Santa María Quiegolani", ["zpj"] = "Zapotec Quiavicuzas", ["zpk"] = "Zapotec Tlacolulita", ["zpl"] = "Zapotec Lachixío", ["zpm"] = "Zapotec Mixtepec", ["zpn"] = "Zapotec Santa Inés Yatzechi", ["zpo"] = "Zapotec Amatlán", ["zpp"] = "Zapotec El Alto", ["zpq"] = "Zapotec Zoogocho", ["zpr"] = "Zapotec Santiago Xanica", ["zps"] = "Zapotec Coatlán", ["zpt"] = "Zapotec San Vicente Coatlán", ["zpu"] = "Zapotec Yalálag", ["zpv"] = "Zapotec Chichicapan", ["zpw"] = "Zapotec Zaniza", ["zpx"] = "Zapotec San Baltazar Loxicha", ["zpy"] = "Zapotec Mazaltepec", ["zpz"] = "Zapotec Texmelucan", ["zra"] = "Kaya", ["zrg"] = "Mirgan", ["zrn"] = "Zirenkel", ["zro"] = "Záparo", ["zrs"] = "Mairasi", ["zsa"] = "Sarasira", ["zsk"] = "Kaskean", ["zsl"] = "Isyarat Zambia", ["zsr"] = "Zapotec Rincon Selatan", ["zsu"] = "Sukurum", ["zte"] = "Zapotec Elotepec", ["ztg"] = "Zapotec Xanaguía", ["ztl"] = "Zapotec Lapaguía-Guivini", ["ztm"] = "Zapotec San Agustín Mixtepec", ["ztn"] = "Zapotec Santa Catarina Albarradas", ["ztp"] = "Zapotec Loxicha", ["ztq"] = "Zapotec Quioquitani-Quierí", ["zts"] = "Zapotec Tilquiapan", ["ztt"] = "Zapotec Tejalapan", ["ztu"] = "Zapotec San Pablo Güilá", ["ztx"] = "Zapotec Zaachila", ["zty"] = "Zapotec Yatee", ["zu"] = "Zulu", ["zua"] = "Zeem", ["zuh"] = "Tokano", ["zum"] = "Kumzari", ["zun"] = "Zuni", ["zuy"] = "Zumaya", ["zwa"] = "Zay", ["zyp"] = "Zyphe", ["zza"] = "Zazaki", ["zzj"] = "Zhuang Zuojiang", } local protoLangs = { ["ine-pro"] = true, ["map-pro"] = true, ["PAN"] = true, ["phi-pro"] = true, ["PMP"] = true, ["poz-pro"] = true, ["poz-mly-pro"] = true } -- Interwiki table local interwikis = { aa = true, ab = true, af = true, ak = true, am = true, an = true, ang = true, ar = true, as = true, ast = true, av = true, ay = true, az = true, bcl = true, be = true, bew = true, bg = true, bh = true, bi = true, bjn = true, blk = true, bm = true, bn = true, bo = true, br = true, bs = true, btm = true, ca = true, ch = true, chr = true, ckb = true, co = true, cr = true, cs = true, csb = true, cy = true, da = true, de = true, diq = true, dv = true, dz = true, el = true, en = true, eo = true, es = true, et = true, eu = true, fa = true, fi = true, fj = true, fo = true, fr = true, fy = true, ga = true, gd = true, gl = true, gn = true, gom = true, gor = true, gu = true, guw = true, gv = true, ha = true, he = true, hi = true, hif = true, hr = true, hsb = true, hu = true, hy = true, ia = true, ie = true, ig = true, ik = true, ["io"] = true, ["is"] = true, it = true, iu = true, ja = true, jbo = true, jv = true, ka = true, kaa = true, kbd = true, kcg = true, kk = true, kl = true, km = true, kn = true, ko = true, ks = true, ku = true, kw = true, ky = true, la = true, lb = true, li = true, lmo = true, ln = true, lo = true, lt = true, lv = true, mad = true, mg = true, mh = true, mi = true, ["min"] = true, mk = true, ml = true, mn = true, mni = true, mnw = true, mr = true, ms = true, mt = true, my = true, na = true, nah = true, nds = true, ne = true, nia = true, nl = true, nn = true, no = true, oc = true, om = true, ["or"] = true, pa = true, pi = true, pl = true, pnb = true, ps = true, pt = true, qu = true, rm = true, rn = true, ro = true, ru = true, rw = true, sa = true, sat = true, sc = true, scn = true, sd = true, sg = true, sh = true, shn = true, shy = true, si = true, sk = true, skr = true, sl = true, sm = true, sn = true, so = true, sq = true, sr = true, ss = true, st = true, su = true, sv = true, sw = true, ta = true, tcy = true, te = true, tg = true, th = true, ti = true, tk = true, tl = true, tn = true, to = true, tpi = true, tr = true, ts = true, tt = true, tw = true, ug = true, uk = true, ur = true, uz = true, vec = true, vi = true, vo = true, wa = true, wo = true, xh = true, yi = true, yo = true, za = true, zh = true, ["zh-min-nan"] = true, zu = true, -- Mapped codes mly = "ms", msa = "ms", msi = "ms", zlm = "ms", zsm = "ms", ["nan-hbl"] = "zh-min-nan" } -- Return interwiki link function p.getInterwikiLink(lang, title) local targetLang = interwikis[lang] if targetLang == nil then return lang elseif targetLang == true then return string.format("[[:%s:%s|%s]]", lang, title, lang) else return string.format("[[:%s:%s|%s]]", targetLang, title, lang) end end -- Get full language name (returns nil if invalid) function p.getLangName(frame) local args = frame.args local code = mw.text.trim(args[1] or "") local nocap = args.nocap or "" local name = langNames[code] if not name then return nil end local prefix = "" -- Check if code is a language family local familyObj = Families.getByCode(code) if familyObj then prefix = "Rumpun bahasa " elseif code ~= "mul" then prefix = "Bahasa " end local fullName = prefix .. name if nocap == "1" and mw.ustring.len(fullName) > 0 then local first = mw.ustring.sub(fullName, 1, 1) local rest = mw.ustring.sub(fullName, 2) fullName = mw.ustring.lower(first) .. rest end return fullName end function p.getLangNameByCode(code, nocap) code = mw.text.trim(code or "") nocap = nocap or "" local name = langNames[code] if not name then return nil end local prefix = "" local familyObj = Families.getByCode(code) if familyObj then prefix = "Rumpun bahasa " elseif code ~= "mul" then prefix = "Bahasa " end local fullName = prefix .. name if nocap == "1" and mw.ustring.len(fullName) > 0 then local first = mw.ustring.sub(fullName, 1, 1) local rest = mw.ustring.sub(fullName, 2) fullName = mw.ustring.lower(first) .. rest end return fullName end -- Get language code (returns nil if invalid) function p.getLangCode(frame) local code = mw.text.trim((frame.args and frame.args[1]) or "") if langNames[code] then return code else return nil end end function p.getLangCodeByCode(code) code = mw.text.trim(code or "") if langNames[code] then return code end return nil end -- Expose tables p.protoLangs = protoLangs p.langNames = langNames p.interwikis = interwikis return p l0v5sbxwz4cikitl9h1274ak18nkqxb Templat:ragam bentuk dari 10 267556 1349862 1277977 2026-04-14T13:54:43Z Swarabakti 18192 1349862 wikitext text/x-wiki {{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|<!-- -->{{#invoke:form of/templates|form_of_t|{{#invoke:labels/templates/show_from|show_from|default=ragam}} form of|withencap=1|ignore=from:list,nocat}}<!-- -->}}<!-- --><noinclude>{{dokumentasi}}</noinclude> 56h65igzi04vcduoxpj1jyhuixk28nc 1349867 1349862 2026-04-14T14:04:10Z Swarabakti 18192 1349867 wikitext text/x-wiki {{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|<!-- -->{{#invoke:form of/templates|form_of_t|ragam bentuk {{#invoke:labels/templates/show_from|show_from|default=}} dari|withencap=1|ignore=from:list,nocat}}<!-- -->}}<!-- --><noinclude>{{dokumentasi}}</noinclude> 98hn20lgn77yvttjirujbquoyhb2qpf Templat:sinonim dari/dokumentasi 10 268028 1349874 1149926 2026-04-14T14:09:40Z Swarabakti 18192 1349874 wikitext text/x-wiki {{subhalaman dokumentasi}} ===Kegunaan=== Untuk menampilkan pengalihan tidak langsung dari baris definisi ke entri yang bersinonim dengan penjabaran lengkap. ''Bukan'' untuk penjabaran sinonim dari sebuah definisi. ===Contoh pemanggilan=== Di entri bahasa Indonesia untuk {{sebut|id|beta}}: <pre> # {{sinonim dari|id|saya}} </pre> # {{sinonim dari|id|saya}}<includeonly> [[Kategori:Templat bentuk dari]]</includeonly> bimhkvdzge48gfvf3v5qj3ahfyw18wk Templat:cardinalbox 10 270701 1349905 1109662 2026-04-15T06:43:16Z DelintBot 47600 Replacing [[mw:Help:Lint errors/obsolete-tag|obsolete tags]] 1349905 wikitext text/x-wiki {| class="wikitable" |- ! colspan="3" | Bilangan Kardinal {{bahasa|{{{1|}}}}}<noinclude>Bahasa ABC</noinclude> |- |<div style="text-align: center;"><small>[[{{{5|}}}|< {{{2|}}}]]</small></div> |<big><div style="text-align: center;">'''{{{3|}}}'''</div></big> |<div style="text-align: center;"><small>[[{{{6|}}}|{{{4|}}} >]]</small></div> |- | colspan="3" |<div style="text-align: center;">''[[bilangan kardinal|Kardinal]]'': {{#if:{{{car|}}}|[[{{{car|}}}]]|[[{{PAGENAME}}#{{ {{{1|}}} }}|{{PAGENAME}}]]}}{{#if:{{{ord|}}}|<br>''[[Bilangan ordinal|Ordinal]]'': [[{{{ord|}}}]]}}</div> |} fj7olfisnrnqyo1c6u0t92q44qheskx Templat:kardinal 10 270705 1349910 1276384 2026-04-15T06:43:19Z DelintBot 47600 Replacing [[mw:Help:Lint errors/obsolete-tag|obsolete tags]] 1349910 wikitext text/x-wiki {| class="wikitable" style="margin:auto;" |- ! colspan="3" | Bilangan kardinal {{bahasa|{{{1|}}}|nocap=1}}<noinclude><nowiki>{{{1}}}</nowiki></noinclude> |- |<includeonly><div style="text-align: center;"><small>{{#ifeq:{{{2|}}}|0|{{Spasi}}–{{Spasi}}|[[{{{5|}}}|< {{{2|}}}]]}}</small></div></includeonly><noinclude><div style="text-align: center;"><nowiki>{{{5}}}{{{2}}}</nowiki></div></noinclude> |<includeonly><big><div style="text-align: center;">'''{{{3|}}}'''</div></big></includeonly><noinclude><div style="text-align: center;"><nowiki>{{{3}}}</nowiki></div></noinclude> |<includeonly><div style="text-align: center;"><small>[[{{{6|}}}|{{{4|}}} >]]</small></div></includeonly><noinclude><div style="text-align: center;"><nowiki>{{{6}}}{{{4}}}</nowiki></div></noinclude> |- | colspan="3" |<div style="text-align: center;">''[[bilangan kardinal|Kardinal]]'': {{#if:{{{car|}}}|[[{{{car|}}}]]|[[{{PAGENAME}}#{{ {{{1|}}} }}|{{PAGENAME}}]]}}{{#if:{{{ord|}}}|<br>''[[Bilangan ordinal|Ordinal]]'': [[{{{ord|}}}]]}}</div> |} fge44abhptp60lbmf7rrar0bv41on65 Templat:kontraksi dari 10 271555 1349878 1277654 2026-04-14T14:12:53Z Swarabakti 18192 1349878 wikitext text/x-wiki {{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|<!-- -->{{#invoke:form of/templates|form_of_t|[[Lampiran:Glosarium#kontraksi|kontraksi]] dari|cat=contractions|withencap=1|with_multiple_parts=1}}<!-- -->}}<!-- --><noinclude>{{dokumentasi}}</noinclude> jw6nf6w3l1ncxxlrrj3sr63yu4jy4y3 1349881 1349878 2026-04-14T14:16:37Z Swarabakti 18192 1349881 wikitext text/x-wiki {{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|<!-- -->{{#invoke:form of/templates|form_of_t|[[Lampiran:Glosarium#kontraksi|kontraksi]] dari|withencap=1|with_multiple_parts=1}}<!-- -->}}<!-- --><noinclude>{{dokumentasi}}</noinclude> f6zbwbq3li3wply573ipcpu0hfhkmuq neeko 0 273243 1349960 1330336 2026-04-15T08:07:57Z DelintBot 47600 Removing [[mw:Help:Lint errors/bogus-image-options|bogus image options]] 1349960 wikitext text/x-wiki =={{bahasa|hts}}== {{kepala|hts}} : {{AFI|id|/neʔeko/}} [[File:Olive baboon Ngorongoro.jpg|Olive_baboon_Ngorongoro|thumb|250px]] {{-n-|hts}} # [[babun]] {{-rujukan-}} * [https://www.facebook.com/reel/892220150337495/?mibextid=rS40aB7S9Ucbxw6v: Video Facebook Musa Herry (Animal sound) Seorang suku Hadzabe menirukan suara hewan-hewan] [[Kategori:hts:Hewan]] k2mhjlawkmbnbkxya190dsl7sdcjiej biwara 0 273396 1349957 1345279 2026-04-15T08:07:54Z DelintBot 47600 Removing [[mw:Help:Lint errors/bogus-image-options|bogus image options]] 1349957 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|bi|wa|ra}} {{AFI|id|/bi.ˈwa.ra/}} [[File:North American Beaver, Humber River near Kleinburg, Ontario (39637607974).jpg|North_American_Beaver,_Humber_River_near_Kleinburg,_Ontario_(39637607974)]|thumb|250px|Seekor biwara di tepi sungai]] {{-n-|id}} # mamalia pengerat semiakuatik bermarga ''Castor'', dikenal dengan kebiasaannya membendung sungai menggunakan batang pohon, batu, lumpur, dan ranting, endemik di Amerika Utara dan Eurasia; {{Species|Castor}} <span style="color:green">''spp''.</span> {{-etimologi-}} * Serapan terpelajar (''learned borrowing'') dari bahasa Inggris "''beaver''" oleh Maria Sanjayani. Muncul perdana dalam sebuah buku terjemahan berjudul "Biwara dan Cucurut" (1996), hasil alihbahasa dari judul asli "''Beaver and Shrew''".<ref>Julivert, Maria Angels; Sanjayani, Maria (alihbahasa). 1996. ''Biwara dan Cucurut''. Jakarta: Elex Media Komputindo. ISBN 979-637-708-X. Katalog Perpustakaan Nasional RI: https://web.archive.org/web/20231002211739/https://opac.perpusnas.go.id/DetailOpac.aspx?id=238182</ref> {{-rujukan-}} <references/> {{-bacaan-}} * {{R:KBBI Daring}} [[Kategori:id:Hewan]] 19klpwe84dx1cqm85mkx4xgur5vbjeo 1349966 1349957 2026-04-15T08:15:06Z Redmin 44783 1349966 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|bi|wa|ra}} {{AFI|id|/bi.ˈwa.ra/}} [[File:North American Beaver, Humber River near Kleinburg, Ontario (39637607974).jpg|thumb|250px|Seekor biwara di tepi sungai]] {{-n-|id}} # mamalia pengerat semiakuatik bermarga ''Castor'', dikenal dengan kebiasaannya membendung sungai menggunakan batang pohon, batu, lumpur, dan ranting, endemik di Amerika Utara dan Eurasia; {{Species|Castor}} <span style="color:green">''spp''.</span> {{-etimologi-}} * Serapan terpelajar (''learned borrowing'') dari bahasa Inggris "''beaver''" oleh Maria Sanjayani. Muncul perdana dalam sebuah buku terjemahan berjudul "Biwara dan Cucurut" (1996), hasil alihbahasa dari judul asli "''Beaver and Shrew''".<ref>Julivert, Maria Angels; Sanjayani, Maria (alihbahasa). 1996. ''Biwara dan Cucurut''. Jakarta: Elex Media Komputindo. ISBN 979-637-708-X. Katalog Perpustakaan Nasional RI: https://web.archive.org/web/20231002211739/https://opac.perpusnas.go.id/DetailOpac.aspx?id=238182</ref> {{-rujukan-}} <references/> {{-bacaan-}} * {{R:KBBI Daring}} [[Kategori:id:Hewan]] 67q5k6v4yvkkvf4n6302tudmjky6rzh Lampiran:Daftar Swadesh bahasa Urdu 102 274106 1349927 1347856 2026-04-15T07:06:23Z Mbee-wiki 9667 /* Daftar */ 1349927 wikitext text/x-wiki ==Presentasi== {{Swadesh list presentation}} ==Daftar== {{Daftar Swadesh |language=bahasa Urdu |nativename= <!--saya, aku--> |wrd001= [[میں]] (ma͠i) <!--kamu, engkau-->|wrd002= [[آپ]] (āp), [[تم]] (tum) <!--dia--> |wrd003= [[وہ]] (woh), [[یہ]] (yeh) <!--kami, kita--> |wrd004= [[ہم]] (ham) <!--kalian--> |wrd005= [[آپ]] (āp), [[تم]] (tum) <!--mereka--> |wrd006= [[وہ]] (woh), [[یہ]] (yeh) <!--ini--> |wrd007= [[یہ]] (yeh) <!--itu--> |wrd008= [[وہ]] (woh) <!--di sini--> |wrd009= [[یہاں]] (yahā̃) <!--di sana--> |wrd010= [[وہاں]] (wahā̃) <!--siapa--> |wrd011= [[کون]] (kaun) <!--apa--> |wrd012= [[کیا]] (kyā) <!--di mana--> |wrd013= [[کدھر]] (kidhar) <!--kapan--> |wrd014= [[کب]] (kab) <!--bagaimana--> |wrd015= [[کیسے]] (kaise) <!--bukan, tidak-->|wrd016= [[نہیں]] (nahī̃) <!--semua--> |wrd017= [[سب]] (sab) <!--banyak--> |wrd018= [[بہت]] (bahut) <!--beberapa (few)--> |wrd019= [[چند]] (cand) <!--sedikit--> |wrd020= [[چند]] (cand) <!--lain--> |wrd021= [[دیگر]] (dīgar) | <!-- angka --> | <!--satu--> |wrd022= [[ایک]] (ek) <!--dua--> |wrd023= [[دو]] (do) <!--tiga--> |wrd024= [[تین]] (tīn) <!--empat--> |wrd025= [[چار]] (cār) <!--lima--> |wrd026= [[پانچ]] (pānc) | <!-- ukuran --> | <!--besar--> |wrd027= [[بڑا]] (baṛā) <!--panjang--> |wrd028= [[لمبا]] (lambā) <!--lebar--> |wrd029= [[چوڑا]] (cauṛā) <!--tebal--> |wrd030= [[موٹا]] (moṭā) <!--berat--> |wrd031= [[بھاری]] (bhārī) <!--kecil--> |wrd032= [[چھوٹا]] (choṭā) <!--pendek--> |wrd033= [[چھوٹا]] (choṭā) <!--sempit--> |wrd034= [[تنگ]] (taṅg) <!--tipis--> |wrd035= [[پتلا]] (patlā) | <!-- orang --> | <!--wanita--> |wrd036= [[عورت]] ('aurat) <!--pria--> |wrd037= [[آدمی]] (ādmī) <!--manusia--> |wrd038= [[آدمی]] (ādmī) <!--anak--> |wrd039= [[بچہ]] (baccāh) <!--istri--> |wrd040= [[بیوی]] (bīwī) <!--suami--> |wrd041= [[شوہر]] (syauhar) <!--ibu--> |wrd042= [[ماں]] (mā̃), [[والده]] (wālidah) <!--ayah--> |wrd043= [[باپ]] (bāp), [[والد]] (wālid) | <!-- hewan --> | <!--binatang--> |wrd044= [[جانور]] (jānwar) <!--ikan--> |wrd045= [[مچھلی]] (machlī) <!--burung--> |wrd046= [[پرندہ]] (parindah) <!--anjing--> |wrd047= [[کتا]] (kuttā) <!--kutu--> |wrd048= [[جوں]] (jū̃) <!--ular--> |wrd049= [[سانپ]] (sāṅp) <!--cacing--> |wrd050= [[کیڑا]] (kīṛā) | <!-- tanaman --> | <!--pohon--> |wrd051= [[درخت]] (darakht) <!--hutan--> |wrd052= [[جنگل]] (jaṅgal) <!--ranting--> |wrd053= [[ڈنڈا]] (ḍanḍā) <!--buah--> |wrd054= [[پھل]] (phal) <!--biji--> |wrd055= [[بیج]] (bīj) <!--daun--> |wrd056= [[پتا]] (pattā) <!--akar--> |wrd057= [[جڑ]] (jaṛ) <!--kulit kayu--> |wrd058= [[چھال]] (chāl) <!--bunga--> |wrd059= [[پھول]] (phūl) <!--rumput--> |wrd060= [[گھاس]] (ghās) <!--tali--> |wrd061= [[رسی]] (rassī) | <!-- tubuh --> | <!--kulit--> |wrd062= [[جلد]] (jild) <!--daging--> |wrd063= [[گوشت]] (gośt) <!--darah--> |wrd064= [[خون]] (khūn) <!--tulang--> |wrd065= [[ہڈی]] (haḍḍī) <!--lemak--> |wrd066= [[چربی]] (carbī) <!--telur--> |wrd067= [[انڈہ]] (anḍā) <!--tanduk--> |wrd068= [[سینگ]] (sīṅg) <!--ekor--> |wrd069= [[دم]] (dum) <!--bulu--> |wrd070= [[پر]] (par) <!--rambut--> |wrd071= [[بال]] (bāl) <!--kepala--> |wrd072= [[سر]] (sar) <!--telinga--> |wrd073= [[کان]] (kān) <!--mata--> |wrd074= [[آنکھ]] (ā̃kh) <!--hidung--> |wrd075= [[ناک]] (nāk) <!--mulut--> |wrd076= [[منہ]] (munh) <!--gigi--> |wrd077= [[دانت]] (dānt) <!--lidah--> |wrd078= [[زبان]] (zabān) <!--kuku--> |wrd079= [[ناخن]] (nākhun) <!--kaki--> |wrd080= [[پاؤں]] (pāõ) <!--telapak kaki-->|wrd081= [[ٹانگ]] (ṭāṅg) <!--lutut--> |wrd082= [[گھٹنا]] (ghuṭnā) <!--tangan--> |wrd083= [[ہاتھ]] (hāth) <!--sayap--> |wrd084= [[پر]] (par) <!--perut--> |wrd085= [[پیٹ]] (peṭ) <!--usus--> |wrd086= [[اندرون]] (andarūn) <!--leher--> |wrd087= [[گردن]] (gardan) <!--punggung--> |wrd088= [[پیٹھ]] (pīṭh) <!--payudara--> |wrd089= [[سینہ]] (sīnā) <!--jantung--> |wrd090= [[دل]] (dil) <!--hati--> |wrd091= [[جگر]] (jigar) | <!-- verba --> | <!--meminum--> |wrd092= [[پینا]] (pīnā) <!--memakan--> |wrd093= [[کھانا]] (khānā) <!--menggigit--> |wrd094= [[کاٹنا]] (kāṭnā) <!--menghisap--> |wrd095= [[چوسنا]] (cūsnā) <!--meludah--> |wrd096= [[تھوکنا]] (thūknā) <!--muntah--> |wrd097= [[قے کرنا]] (qai karnā) <!--meniup--> |wrd098= [[پھونکنا]] (phū̃knā) <!--bernafas--> |wrd099= [[سانس لینا]] (sā̃ns lenā) <!--tertawa--> |wrd100= [[ہنسنا]] (hãsnā) <!--melihat--> |wrd101= [[دیکھنا]] (dekhnā) <!--mendengar--> |wrd102= [[سننا]] (sunnā) <!--mengetahui--> |wrd103= [[جاننا]] (jānnā) <!--berpikir--> |wrd104= [[سوچنا]] (socnā) <!--mencium--> |wrd105= [[سونگھنا]] (sū̃ghnā) <!--takut--> |wrd106= [[ڈرنا]] (ḍarnā) <!--tidur--> |wrd107= [[سونا]] (sonā) <!--hidup--> |wrd108= [[جینا]] (jīnā) <!--mati--> |wrd109= [[مرنا]] (marnā) <!--membunuh--> |wrd110= [[مارنا]] (mārnā) <!--berkelahi--> |wrd111= [[لڑنا]] (laṛnā) <!--berburu--> |wrd112= [[شکار کرنا]] (śikār karnā) <!--memukul--> |wrd113= [[مارنا]] (mārnā) <!--memotong--> |wrd114= [[کاٹنا]] (kāṭnā) <!--membelah--> |wrd115= [[پھاڑنا]] (phāṛnā) <!--menusuk--> |wrd116= [[بھونکنا]] (bhūṅknā) <!--mencoret--> |wrd117= [[کھرچنا]] (khuracnā) <!--menggali--> |wrd118= [[کھودنا]] (khodnā) <!--berenang--> |wrd119= [[تیرنا]] (tairnā) <!--terbang--> |wrd120= [[اڑنا]] (uṛnā) <!--berjalan--> |wrd121= [[چلنا]] (calnā) <!--datang--> |wrd122= [[آنا]] (ānā) <!--berbaring--> |wrd123= [[لیٹنا]] (leṭnā) <!--duduk--> |wrd124= [[بیٹھنا]] (baiṭhnā) <!--berdiri--> |wrd125= [[کھڑا ہونا]] (khaṛā honā) <!--berbelok--> |wrd126= [[مڑنا]] (muṛnā) <!--jatuh--> |wrd127= [[گرنا]] (girnā) <!--memberi--> |wrd128= [[دینا]] (denā) <!--memegang--> |wrd129= [[پکڑنا]] (pakaṛnā) <!--memeras--> |wrd130= [[دبانا]] (dabānā) <!--menggosok--> |wrd131= [[ملنا]] (malnā) <!--mencuci--> |wrd132= [[دھونا]] (dhonā) <!--menghapus--> |wrd133= [[پونچھنا]] (poñchnā) <!--menarik--> |wrd134= [[کھینچنا]] (khīncnā) <!--mendorong--> |wrd135= [[دھکا دینا]] (dhakkā denā) <!--melempar--> |wrd136= [[پھین٘کْنا]] (pheṅknā) <!--mengikat--> |wrd137= [[باندھنا]] (bā̃dhnā) <!--menjahit--> |wrd138= [[سینا]] (sīnā) <!--menghitung--> |wrd139= [[گننا]] (ginnā) <!--berkata--> |wrd140= [[کہنا]] (kahnā), [[بولنا]] (bolnā) <!--bernyanyi--> |wrd141= [[گانا]] (gānā) <!--bermain--> |wrd142= [[کھیلنا]] (khelnā) <!--mengapung--> |wrd143= [[تیرنا]] (tairnā) <!--mengalir--> |wrd144= [[بہنا]] (bahnā) <!--membeku--> |wrd145= [[جمنا]] (jamnā) <!--membengkak--> |wrd146= [[سوجنا]] (sūjnā) | <!-- alam --> | <!--matahari--> |wrd147= [[سورج]] (sūraj) <!--bulan--> |wrd148= [[چاند]] (cānd) <!--bintang--> |wrd149= [[ستارہ]] (sitārā) <!--air--> |wrd150= [[پانی]] (pānī) <!--hujan--> |wrd151= [[ฝน]] (fǒn) <!--sungai--> |wrd152= [[แม่น้ำ]] (mâenáam) <!--danau--> |wrd153= [[ทะเลสาบ]] (thaleesàap) <!--laut--> |wrd154= [[ทะเล]] (thalee) <!--garam--> |wrd155= [[เกลือ]] (klʉa) <!--batu--> |wrd156= [[หิน]] (hǐn) <!--pasir--> |wrd157= [[ทราย]] (saay) <!--debu--> |wrd158= [[ฝุ่น]] (fùn), [[ละออง]] (la?ɔɔŋ), [[ผง]] (phǒŋ) <!--bumi--> |wrd159= [[ดิน]] (din), [[พื้นดิน]] (phʉ́ʉndin) <!--awan--> |wrd160= [[เมฆ]] (mêek) <!--kabut--> |wrd161= [[หมอก]] (mɔ̀ɔk) <!--langit--> |wrd162= [[ฟ้า]] (fáa) <!--angin--> |wrd163= [[ลม]] (lom), [[วาต]] (wâat) <!--salju--> |wrd164= [[หิมะ]] (himá) <!--es--> |wrd165= [[น้ำแข็ง]] (námkhǎeŋ) <!--asap--> |wrd166= [[ควัน]] (khwan) <!--api--> |wrd167= [[ไฟ]] (fay) <!--abu--> |wrd168= [[เถ้า]] (thâo), [[ขี้เถ้า]] (khîithâo) <!--bakar--> |wrd169= [[เผา]] (phǎo), [[ไหม้]] (mây) <!--jalan--> |wrd170= [[ทาง]] (thaaŋ), [[หน]] (hǒn), [[ถนน]] (thànǒn) <!--gunung--> |wrd171= [[ภูเขา]] (phuukhǎo), [[ดอย]] (dɔɔy), [[โคก]] (khôok) | <!-- warna --> | <!--merah--> |wrd172= [[سرخ]] (surkh) <!--hijau--> |wrd173= [[سبز]] (sabz) <!--kuning--> |wrd174= [[پیلا]] (pīlā) <!--putih--> |wrd175= [[سفید]] (safed) <!--hitam--> |wrd176= [[کالا]] (kālā) | <!-- waktu --> | <!--malam--> |wrd177= [[رات]] (rāt) <!--hari--> |wrd178= [[دن]] (din) <!--tahun--> |wrd179= [[سال]] (sāl) | <!-- lain2 --> | <!--hangat--> |wrd180= [[ร้อน]] (rɔ́ɔn), [[อุ่น]] (ùn) <!--dingin--> |wrd181= [[หนาว]] (nǎaw), [[เย็น]] (yen) <!--penuh--> |wrd182= [[เต็ม]] (tem) <!--baru--> |wrd183= [[ใหม่]] (mày), [[นว]] (náwá) <!--lama, tua--> |wrd184= [[เก่า]] (kàw), [[แก่]] (kàeae) <!--baik--> |wrd185= [[ดี]] (dii) <!--buruk--> |wrd186= [[ชั่ว]] (chûa), [[เลว]] (leew), [[ร้าย]] (ráay) <!--busuk--> |wrd187= [[เน่า]] (nâo) <!--kotor--> |wrd188= [[สกปรก]] (sòkkapròk) <!--lurus--> |wrd189= [[ตรง]] (troŋ), [[ดิ่ง]] (dìŋ) <!--bulat--> |wrd190= [[กลม]] (klom), [[มน]] (mon) <!--tajam--> |wrd191= [[คม]] (khom), [[แหลม]] (lăeaem) <!--tumpul--> |wrd192= [[ทื่อ]] (thʉ̂ʉ) <!--licin--> |wrd193= [[เกลี้ยง]] (klîiaŋ), [[ละมุน]] (lámun) <!--basah--> |wrd194= [[เปียก]] (pìak) <!--kering--> |wrd195= [[แห้ง]] (hâeaeŋ) <!--betul--> |wrd196= [[ถูก]] (thùuk) <!--dekat--> |wrd197= [[ใกล้]] (klây) <!--jauh--> |wrd198= [[ไกล]] (klay) <!--kanan--> |wrd199= [[دایاں]] (dāyā̃) <!--kiri--> |wrd200= [[بایاں]] (bāyā̃) <!--di--> |wrd201= [[پر]] (par) <!--dalam--> |wrd202= [[میں]] (mẽ) <!--dengan--> |wrd203= [[کے ساتھ]] (ke sāth) <!--dan--> |wrd204= [[اور]] (aur) <!--kalau--> |wrd205= [[اگر]] (agar) <!--karena--> |wrd206= [[کیونکہ]] (kyūṅki) <!--nama--> |wrd207= [[نام]] (nām) }} ==Sumber== * [https://archive.org/details/rosettaproject_urd_swadesh-1 Urdu Swadesh List], Rosetta Project {{Kotak bawah Swadesh}} [[Kategori:Daftar Swadesh|Urdu]] [[Kategori:Bahasa Urdu|Swadesh]] dn6kfg5zff8rlfsxcmugih9vrl5yyvw adalang 0 274366 1349969 1332282 2026-04-15T08:15:49Z Redmin 44783 1349969 wikitext text/x-wiki =={{bahasa|bgz}}== {{kepala|bgz}} : {{pemenggalan|id|a|da|lang}} {{AFI|id|/adalaŋ/}} [[File:Domestic horse at Suryachaur and the mountains in the back1.jpg|thumb|250px|''adalang'']] {{-n-|bgz}} # [[kuda]] {{-sinonim-}} * [[ajalan]] {{-rujukan-}} * [https://banggai-indonesia.blogspot.com/2023/06/adalang.html?m=1 Kamus Banggai-Indonesia (Banggai-Indonesian Dictionary)] [[Kategori:bgz:Mamalia]] [[Kategori:bgz:Hewan]] [[Kategori:bgz:Nomina]] [[Kategori:bgz:Lema]] dvx8uta7us2xig2hb31otgrnxrbe3uu kuda nil 0 277591 1349968 1338004 2026-04-15T08:15:35Z Redmin 44783 1349968 wikitext text/x-wiki =={{bahasa|id}}== {{kepala|id}} : {{pemenggalan|id|ku|da nil|}} {{AFI|id|/ˌkuda ˈnil/}} [[File:Hipopótamo (Hippopotamus amphibius), parque nacional de Chobe, Botsuana, 2018-07-28, DD 82.jpg|thumb|250px|Seekor kuda nil dan burung kuntul kerbau di Taman Nasional Chobe, Botswana]] {{-n-|id}} # mamalia daratan termasuk ke dalam kelompok herbivor yang sebagian besar kehidupannya dilewatkan dalam air, kepala dan mulutnya besar dan lebar, kulit sangat tebal, berkaki pendek; badak air; hipopotamus; {{Species| Hippopotamus amphibius}} {{-etimologi-}} * Pinjam terjemah dari bahasa Belanda ''nijlpaard''; kompositum dari ''Nijl'' (yang berarti "Sungai Nil") dan ''paard'' (yang bermakna "kuda").<ref>“[https://web.archive.org/web/20251230102939/https://www.kompas.com/tren/read/2025/02/18/213000465/serba-serbi-kuda-nil Serba-serbi Kuda Nil]”. ''Kompas.com''. Diarsipkan dari versi [https://www.kompas.com/tren/read/2025/02/18/213000465/serba-serbi-kuda-nil asli] tanggal 30 Desember 2025. (dalam bahasa Indonesia).</ref> {{-rujukan-}} <references/> {{-bacaan-}} * {{R:KBBI Daring}} [[Kategori:id:Mamalia]] 0uzbpemkq5fcwcivo332bil66uy28yg Pengguna:Swarabakti/Gadget-EntryTabber.js 2 280906 1350020 1349783 2026-04-15T11:19:01Z Swarabakti 18192 1350020 javascript text/javascript // Modified from [[en:MediaWiki:Gadget-TabbedLanguages.js]] var newNode = window.newNode = function newNode(tagname) { var node = document.createElement(tagname); for (var i = 1; i < arguments.length; i++) { var argument = arguments[i]; if (typeof argument === 'string') { node.appendChild(document.createTextNode(argument)); } else if (argument && typeof argument === 'object') { if (argument instanceof Node) { node.appendChild(argument); } else { for (var j in argument) { if (j === 'class') { node.className = argument[j]; } else if (j === 'style') { node.style.cssText = argument[j]; } else if (typeof argument[j] === 'function') { node.addEventListener(j, argument[j], false); } else { node.setAttribute(j, argument[j]); } } } } } return node; }; (function ($) { if (($.cookie('disable-tabbed-languages') !== null) || (location.search.indexOf('tabbedlanguages=off') !== -1)) { return; } if (!((mw.config.get('wgNamespaceNumber') === 0) || (mw.config.get('wgPageName') === 'Wiktionary:Sandbox'))) { return; } var bodyContent = $('.mw-content-ltr .mw-parser-output')[0], languageLinks, ttr, languageButtons, caption, bodyContentFragment, complete = false, MO = window.MutationObserver || window.WebKitMutationObserver, observerStyleSheet; function getBodyContent() { if (!bodyContent) { bodyContent = $('.mw-content-ltr .mw-parser-output')[0] || $('.mw-content-ltr')[0] || null; } return bodyContent; } function getHeaderContent(elem) { return elem && elem.nodeName === 'H2' ? elem.getElementsByClassName('mw-headline')[0] : elem && elem.getElementsByTagName('H2')[0]; } function getHeaderCode(elem) { if (!elem) return ''; var header = getHeaderContent(elem); if (header && header.querySelector) { var codeNode = header.querySelector('[data-code]'); if (codeNode) { return codeNode.getAttribute('data-code') || codeNode.dataset.code || ''; } } return ''; } function getCategoryCode(catfull) { var m = /^(?:[^:]+:)?([^:]+):/.exec(catfull || ''); return m ? m[1].trim() : ''; } function getCategoryBoxLabel(code, name) { return 'Kategori'; } function setTabCode(index, code) { if (!code) return; window.languageTabCodes[index] = code; window.languageCodeToIndex[code] = index; var container = window.languageContainers[index]; if (container) { container.setAttribute('data-code', code); } } function getTabIndexByCode(code) { if (!code) return -1; return Object.prototype.hasOwnProperty.call(window.languageCodeToIndex, code) ? window.languageCodeToIndex[code] : -1; } function isSpecialCategoryName(catname) { return /letter\snames$|script\scharacters$|mythology$/i.test(catname); } function makeTabsfromScratch() { window.tabbedLanguages = []; window.languageContainers = []; window.languageTabCodes = []; window.languageCodeToIndex = {}; window.currentLanguageTab = 0; window.languageHeaderEditButtons = []; languageButtons = []; window.tabstable = newNode('table', { id: 'tabstable' }, newNode('tbody', ttr = newNode('tr', newNode('td', { 'style': 'padding-top:0px;vertical-align:top;' }, newNode('table', { 'style': 'margin-top: -2px;' }, languageLinks = newNode('tbody', { id: 'languageLinks' })))))); bodyContentFragment = document.createDocumentFragment(); complete = false; var catlinks = document.getElementById('catlinks'); if (getBodyContent() && catlinks) { allAtOnce(); } } function newCategoryBox(container, name, code) { var box = newNode('div', { 'class': 'catlinks tabbed-catlinks', 'data-code': code || '' }, newNode('span', { 'class': 'tabbed-category-label' }, getCategoryBoxLabel(code, name) + ': '), newNode('ul')); return container.appendChild(box); } function newTab(index, language, code) { var active = index === window.currentLanguageTab, languageContainer = ttr.appendChild(newNode('td', { 'class': 'languageContainer', 'id': language + 'container', 'data-code': code || '' }, active ? undefined : { 'style': 'display:none;' })); window.languageContainers.push(languageContainer); window.languageTabCodes[index] = code || ''; if (code) { window.languageCodeToIndex[code] = index; } newCategoryBox(languageContainer, language, code || ''); languageButtons.push( languageLinks.appendChild(newNode('tr', newNode('td', { 'class': (active ? '' : 'un') + 'selectedTab' }, newNode('a', language, { 'href': location.pathname + location.search + '#' + language.replace(/ /g, '_') }), ' '))).firstChild ); } function isHeader(elem) { return elem && elem.nodeType === Node.ELEMENT_NODE && ( elem.nodeName === 'H2' && elem.getElementsByClassName('mw-headline').length !== 0 || elem.classList && elem.classList.contains('mw-heading2') && elem.getElementsByTagName('H2').length !== 0 ); } function getHeaderInfo(elem) { var header = getHeaderContent(elem); return { text: header && (header.innerText || header.textContent) || '', code: getHeaderCode(elem) }; } function allAtOnce() { var body = getBodyContent(), languageContainer, child; while (body.firstChild) { if (body.firstChild.nodeName === 'SECTION') { while (body.firstChild.firstChild) bodyContentFragment.appendChild(body.firstChild.firstChild); body.removeChild(body.firstChild); } else { bodyContentFragment.appendChild(body.firstChild); } } try { for (child = bodyContentFragment.firstChild; child && !isHeader(child); ) { child = child.nextSibling; } if (child) bodyContentFragment.insertBefore(tabstable, child); var currentChild = tabstable.nextSibling; while (currentChild && currentChild.className !== 'printfooter' && currentChild.className !== 'catlinks') { var nextSibling = currentChild.nextSibling; if (isHeader(currentChild)) { var info = getHeaderInfo(currentChild), editspan = currentChild.getElementsByClassName('mw-editsection')[0], index = window.tabbedLanguages.length; window.tabbedLanguages.push(info.text); newTab(index, info.text, info.code); if (editspan) { if (!caption) { caption = document.createElement('caption'); tabstable.insertBefore(caption, tabstable.firstChild); } window.languageHeaderEditButtons[index] = editspan; if (index === window.currentLanguageTab) { caption.appendChild(editspan); } } languageContainer = window.languageContainers[index]; bodyContentFragment.removeChild(currentChild); } else if (languageContainer) { if (currentChild.nodeName !== 'HR') { languageContainer.insertBefore(currentChild, languageContainer.lastChild); } else { bodyContentFragment.removeChild(currentChild); } } currentChild = nextSibling; } sortCats(); body.appendChild(bodyContentFragment); setUpHashChange()(); if (location.hash === '' && window.tabbedLanguages.length > 0) { location.replace('#' + window.tabbedLanguages[window.currentLanguageTab]); } complete = true; } catch (e) { console.error("TabbedLanguages Error:", e); body.appendChild(bodyContentFragment); } } function sortCats() { var catDiv = document.getElementById('mw-normal-catlinks'); if (!catDiv) return; var ul = catDiv.getElementsByTagName('ul')[0]; if (!ul) return; var cats = ul.getElementsByTagName('li'), items = Array.prototype.slice.call(cats), fragments = window.languageContainers.map(function() { return document.createDocumentFragment(); }); items.forEach(function(li) { var a = li.getElementsByTagName('a')[0]; if (!a) return; var fullCatName = a.getAttribute('title') || ''; var code = getCategoryCode(fullCatName); var targetIndex = getTabIndexByCode(code); if (targetIndex === -1 && !isSpecialCategoryName(a.textContent)) { for (var i = 0; i < window.tabbedLanguages.length; i++) { if (a.textContent.indexOf(window.tabbedLanguages[i]) === 0) { targetIndex = i; break; } } } if (targetIndex === -1) return; if (fragments[targetIndex]) fragments[targetIndex].appendChild(li); }); fragments.forEach(function(frag, idx) { if (frag.firstChild) { var list = window.languageContainers[idx].querySelector('.tabbed-catlinks ul'); if (list) list.appendChild(frag); } }); catDiv.style.display = ''; var hiddenCats = document.getElementById('mw-hidden-catlinks'); if (hiddenCats) hiddenCats.style.display = ''; } function setUpHashChange() { function decodeHash(hash) { return decodeURI(hash.replace(/\.(?=[0-9A-F]{2})/g, '%').replace(/_/g, ' ')); } window.toggleLanguageTabs = function (language) { var destIdx = $.inArray(language, window.tabbedLanguages); if (destIdx === -1) { var decoded = decodeHash(language); destIdx = $.inArray(decoded, window.tabbedLanguages); } if (destIdx !== -1 && destIdx !== window.currentLanguageTab) { languageButtons[window.currentLanguageTab].className = 'unselectedTab'; window.languageContainers[window.currentLanguageTab].style.display = 'none'; window.currentLanguageTab = destIdx; languageButtons[destIdx].className = 'selectedTab'; window.languageContainers[destIdx].style.display = ''; if (caption) { while (caption.firstChild) caption.removeChild(caption.firstChild); if (window.languageHeaderEditButtons[destIdx]) { caption.appendChild(window.languageHeaderEditButtons[destIdx]); } } } }; window.onhashchange = function() { toggleLanguageTabs(decodeHash(location.hash.substr(1))); }; return function() { if (location.hash) toggleLanguageTabs(decodeHash(location.hash.substr(1))); }; } $(document).ready(makeTabsfromScratch); })(window.jQuery); 9sfihxszs453ydqqi3zr00rnso481mo Kategori:id:Istilah dengan contoh kalimat 14 280925 1349809 2026-04-14T12:29:47Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349809 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:Istilah dengan contoh kalimat menurut bahasa 14 280926 1349810 2026-04-14T12:30:52Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349810 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:lod:Lema 14 280927 1349812 2026-04-14T12:31:26Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349812 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:lod:Nomina 14 280928 1349813 2026-04-14T12:31:28Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349813 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:mui:Lema 14 280929 1349814 2026-04-14T12:31:32Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349814 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:pey:Istilah dengan tautan audio 14 280930 1349815 2026-04-14T12:32:04Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349815 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:pey:Pemeliharaan halaman 14 280931 1349816 2026-04-14T12:32:30Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349816 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:min:Istilah homonim 14 280932 1349817 2026-04-14T12:32:55Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349817 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:min:Istilah dengan contoh kalimat 14 280933 1349818 2026-04-14T12:32:56Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349818 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:Istilah homonim menurut bahasa 14 280934 1349819 2026-04-14T12:33:06Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349819 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:mui-plm:Adjektiva 14 280935 1349821 2026-04-14T12:34:47Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349821 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:mui-plm:Istilah dengan contoh kalimat 14 280936 1349822 2026-04-14T12:34:48Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349822 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:tes:Istilah dengan tautan audio 14 280937 1349823 2026-04-14T12:35:12Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349823 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:tes:Adjektiva 14 280938 1349824 2026-04-14T12:35:13Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349824 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:tes:Istilah dengan contoh kalimat 14 280939 1349825 2026-04-14T12:35:16Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349825 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:tes:Pemeliharaan halaman 14 280940 1349826 2026-04-14T12:35:23Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349826 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:swu:Verba 14 280943 1349831 2026-04-14T12:42:36Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349831 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:swu:Lema 14 280944 1349834 2026-04-14T12:43:04Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349834 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:min:Istilah dengan transkripsi AFI 14 280945 1349837 2026-04-14T12:59:54Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349837 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:bew:Istilah homonim 14 280946 1349843 2026-04-14T13:05:02Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349843 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:Istilah dengan kutipan menurut bahasa 14 280947 1349844 2026-04-14T13:06:23Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1349844 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d luung 0 280948 1349845 2026-04-14T13:11:05Z Anggabuana 27723 [[:wikt:id:Pengguna:Swarabakti/Gadget-EntryAdder.js|+entri]] [ban] 1349845 wikitext text/x-wiki =={{bahasa|ban}}== {{kepala|ban}} {{-adj-|ban}} # bagus 6uiayiuytaq0vi83uw1wdi2jti1xzhv 1349847 1349845 2026-04-14T13:14:36Z Anggabuana 27723 /* {{bahasa|ban}} */ 1349847 wikitext text/x-wiki =={{bahasa|ban}}== {{kepala|ban}} : {{suara|ban|LL-Q33070_(ban)-Luh_Gede_Krismayanti-luung.wav}} {{-adj-|ban}} # bagus #:⁠ ''Bajun ragané '''luung''' sajan'' #::⁠ Bajumu '''bagus''' sekali 9q42ewqwtr4q91itclsywu6p5f4iqeg 1349848 1349847 2026-04-14T13:15:01Z Anggabuana 27723 /* {{bahasa|ban}} */ 1349848 wikitext text/x-wiki =={{bahasa|ban}}== {{kepala|ban}} : {{suara|ban|LL-Q33070_(ban)-Luh_Gede_Krismayanti-luung.wav}} {{-adj-|ban}} # [[bagus]] #:⁠ ''Bajun ragané '''luung''' sajan''. #::⁠ Bajumu '''bagus''' sekali. ijbbja39c4oiaeb7rf9di64h049cj0n 1349849 1349848 2026-04-14T13:16:35Z Anggabuana 27723 /* {{bahasa|ban}} */ 1349849 wikitext text/x-wiki =={{bahasa|ban}}== {{kepala|ban|alt=ᬮᬸᬯᬸᬂ᭟}} : {{suara|ban|LL-Q33070_(ban)-Luh_Gede_Krismayanti-luung.wav}} {{-adj-|ban}} # [[bagus]] #:⁠ ''Bajun ragané '''luung''' sajan''. #::⁠ Bajumu '''bagus''' sekali. lewcs9o9q0oaojrck7pmexagcpz601n Modul:form of/data/2 828 280949 1349850 2026-04-14T13:24:42Z Swarabakti 18192 ←Membuat halaman berisi '--[=[ This module lists the less common recognized inflection tags, in the same format as for [[Module:form of/data/1]] (which contains the more common tags). We split the tags this way to save memory, so we avoid loading the less common tags in the majority of cases. ]=] local m_form_of_data = require("Module:form of/data") local APPENDIX = m_form_of_data.APPENDIX local WP = m_form_of_data.WP local WIKT = m_form_of_data.WIKT local tags = {} local shortcuts =...' 1349850 Scribunto text/plain --[=[ This module lists the less common recognized inflection tags, in the same format as for [[Module:form of/data/1]] (which contains the more common tags). We split the tags this way to save memory, so we avoid loading the less common tags in the majority of cases. ]=] local m_form_of_data = require("Module:form of/data") local APPENDIX = m_form_of_data.APPENDIX local WP = m_form_of_data.WP local WIKT = m_form_of_data.WIKT local tags = {} local shortcuts = {} ----------------------- Person ----------------------- tags["fourth-person"] = { "person", "wikt:fourth person", "4", 3348541, } tags["second-person-object form"] = { "person", APPENDIX, "2o", } ----------------------- Number ----------------------- tags["associative plural"] = { "number", WIKT, {"ass p", "ass pl", "assoc p", "assoc pl"}, } tags["collective"] = { "number", "collective number", "col", 694268, } tags["collective-possession"] = { "number", "collective number", {"cpos", "colpos"}, } -- same as "count form" below, but included for backwards-compatibility with uses of "count|form" tags["count"] = { "number", "count form", nil, 12273953, } tags["count form"] = { "number", WIKT, nil, 12273953, } tags["distributive paucal"] = { "number", WIKT, "dpau", } tags["paucal"] = { "number", WIKT, "pau", 489410, } tags["singulative"] = { "number", "singulative number", "sgl", 1450795, } tags["transnumeral"] = { "number", APPENDIX, "trn", 113631596, display = "singular or plural", } tags["trial"] = { "number", "trial number", "tri", 2142560, } ----------------------- Gender ----------------------- tags["natural feminine"] = { "gender", "gender", "natf", } tags["virile"] = { "gender", APPENDIX, "vr", } ----------------------- Animacy ----------------------- ----------------------- Tense/aspect ----------------------- tags["abtemporal"] = { "tense-aspect", WIKT, "abtemp", } tags["anterior"] = { "tense-aspect", "w:relative and absolute tense", "ant", } tags["cessative"] = { "tense-aspect", WP, "cess", 17027342, } -- Aspect in Tagalog; presumably similar to the perfect tense/aspect but not necessarily similar enough to use the same -- Wikidata ID tags["complete"] = { "tense-aspect", "w:Tagalog grammar#Aspect", "compl", } tags["concomitant"] = { "tense-aspect", WIKT, "concom", } tags["confirmative"] = { "tense-aspect", WIKT, "conf", } -- Aspect in Tagalog tags["contemplative"] = { "tense-aspect", "w:Tagalog grammar#Aspect", "contem", } tags["contemporal"] = { "tense-aspect", WIKT, "contemp", } tags["continuative"] = { "tense-aspect", WP, nil, 28130104, } tags["continuous"] = { "tense-aspect", "w:continuous aspect", "cont", 12721117, } tags["delimitative"] = { "tense-aspect", "w:delimitative aspect", "delim", 5316270, } tags["durative"] = { "tense-aspect", WP, "dur", } tags["futuritive"] = { "tense-aspect", WP, {"futv", "futrv"}, } tags["frequentative"] = { "tense-aspect", WP, {"freq", "frequentive"}, 467562, } tags["habitual"] = { "tense-aspect", "w:habitual aspect", "hab", 5636904, } -- same as the habitual; used in Mongolian linguistics tags["habitive"] = { "tense-aspect", WP, "habv", } -- same as the habitual; used in Celtic linguistics tags["consuetudinal"] = { "tense-aspect", WIKT, "consu", } tags["immediative"] = { "tense-aspect", WIKT, {"imm", "immed"}, } tags["incidental"] = { "tense-aspect", WIKT, "incid", } tags["iterative"] = { "tense-aspect", "w:iterative aspect", "iter", 2866772, } tags["momentane"] = { "tense-aspect", WP, nil, 6897160, } tags["momentaneous"] = { "tense-aspect", WIKT, "mom", 115110791, } tags["posterior"] = { "tense-aspect", "w:relative and absolute tense", "post", } tags["preconditional"] = { "tense-aspect", WIKT, "precond", } -- Type of participle in Hindi; also called agentive or agentive-prospective tags["prospective"] = { "tense-aspect", "w:prospective aspect", "pros", } tags["purposive"] = { "tense-aspect", WIKT, "purp", } -- Aspect in Tagalog; presumably similar to the perfect tense/aspect but not necessarily similar enough to use the same -- Wikidata ID tags["recently complete"] = { "tense-aspect", "w:Tagalog grammar#Aspect", "rcompl", } tags["resultative"] = { "tense-aspect", WP, {"res", "resultive"}, 7316356, } tags["semelfactive"] = { "tense-aspect", WP, "semf", 7449203, } tags["serial"] = { "tense-aspect", WIKT, "ser", } tags["successive"] = { "tense-aspect", WIKT, "succ", } -- be careful not to clash with terminative case tag tags["terminative aspect"] = { "tense-aspect", "w:cessative aspect", "term", display = "terminative", } ----------------------- Mood ----------------------- tags["benedictive"] = { "mood", WP, "bened", 4887358, } tags["cohortative"] = { "mood", "w:cohortative mood", {"coho", "cohort"}, } tags["concessive"] = { "mood", WIKT, "conc", } tags["contrafactual"] = { "mood", WIKT, "cfact", 110323459, } -- Same as the contrafactual, but terminology depends on language. tags["counterfactual"] = { "mood", WP, "counterf", 1783264, -- for "counterfactual conditional" } tags["desiderative"] = { "mood", WP, {"des", "desid"}, 1200631, } tags["dubitative"] = { "mood", "w:dubitative mood", "dub", 1263049, } tags["energetic"] = { "mood", "w:energetic mood", "ener", } tags["inferential"] = { "mood", "w:inferential mood", {"infer", "infr"}, -- Per [[w:inferential mood]], also called "renarrative mood" or (in Estonian) "oblique mood" (but -- "renarrative mood" may be different, see its entry). 3332616, } -- It's not clear that this is exactly a mood, but I'm not sure where -- else to group it tags["intensive"] = { "mood", WP, {"inten", "intens"}, -- FIXME: "inten" is too ambiguous (e.g. with "intentional") 10965321, -- for "intensive word form" } tags["intentional"] = { "mood", WIKT, "intent", } tags["interrogative"] = { "mood", WP, {"interr", "interrog"}, 12021746, } tags["necessitative"] = { "mood", WIKT, {"nec", "necessitive"}, } tags["permissive"] = { "mood", "w:permissive mood", "perm", 4351483, } tags["potential"] = { "mood", "w:potential mood", "potn", 2296856, } tags["precative"] = { "mood", WIKT, "prec", } tags["prescriptive"] = { "mood", WIKT, "prescr", } tags["presumptive"] = { "mood", "w:presumptive mood", "presump", 25463575, } -- Exists at least in Estonian tags["quotative"] = { "mood", "w:quotative evidential mood", "quot", -- 7272884, -- this is for "quotative" morphemes, not the same } tags["renarrative"] = { "mood", "w:renarrative mood", "renarr", -- Per [[w:inferential mood]], renarrative and inferential mood are the same; but per -- [[w:Bulgarian verbs#Evidentials]], they are different, and Bulgarian has both. 3332616, } tags["volitive"] = { "mood", "w:volitive mood", "voli", 10716592, } tags["voluntative"] = { "mood", WIKT, {"voln", "volun"}, } ----------------------- Voice/valence ----------------------- tags["antipassive"] = { "voice-valence", "w:antipassive voice", {"apass", "apasv", "apsv"}, 287232, } tags["applicative"] = { "voice-valence", "w:applicative voice", "appl", 621634, } tags["cooperative"] = { -- ("all together") used in Mongolian "voice-valence", "wikt:cooperative voice", "coop", 114033228, } tags["pluritative"] = { -- ("many together") used in Mongolian "voice-valence", "wikt:pluritative voice", "plur", 114033289, } tags["reciprocal"] = { "voice-valence", "w:reciprocal (grammar)", {"recp", "recip"}, 1964083, } -- Specific to Modern Irish, similar to impersonal tags["autonomous"] = { "voice-valence", WIKT, "auton", } ----------------------- Non-finite ----------------------- -- be careful not to clash with agentive case tag tags["agentive"] = { "non-finite", "w:agent noun", {"ag", "agent"}, } -- Latin etc. tags["gerundive"] = { "non-finite", WP, "gerv", 731298, -- Wikidata claims this is a grammatical mood, which is not really correct } -- Old Irish etc. tags["verbal of necessity"] = { "non-finite", "w:gerundive", "verbnec", 731298, -- gerundive } tags["l-participle"] = { "non-finite", "participle", {"l-ptcp", "lptcp"}, 814722, -- "participle" } -- Finnish agent participle tags["agent participle"] = { "non-finite", "w:Finnish grammar#Agent participle", "agentpart", } -- Hungarian participle tags["verbal participle"] = { "non-finite", WIKT, nil, 2361676, -- attributive verb, aka verbal participle } tags["converb"] = { "non-finite", WP, "conv", 149761, } tags["connegative"] = { "non-finite", APPENDIX, {"conn", "conneg"}, 5161718, } -- Occurs in Hindi as a type of participle used to conjoin two clauses; similarly occurs in Japanese as the "te-form" tags["conjunctive"] = { "non-finite", "w:serial verb construction", -- FIXME! No good link for "conjunctive"; another possibility is "converb" "conj", } tags["absolutive verb form"] = { "non-finite", "wikt:absolutive#Noun", "absvf", display = "absolutive", } -- FIXME! Should this be a mood? tags["debitive"] = { "non-finite", WP, "deb", 17119041, } ----------------------- Case ----------------------- tags["abessive"] = { "case", "w:abessive case", "abe", 319822, } tags["absolutive"] = { "case", "w:absolutive case", "absv", -- FIXME, find uses of "abs" = absolutive 332734, } tags["adessive"] = { "case", "w:adessive case", "ade", 281954, } -- be careful not to clash with adverbial grammar tag tags["adverbial case"] = { "case", WP, "advc", display = "adverbial", } -- be careful not to clash with agentive non-finite tag tags["agentive case"] = { "case", WP, "agc", display = "agentive", } tags["allative"] = { "case", "wikt:allative case", "all", 655020, } --No evidence of the existence of this case on the web, and the shortcuts are better used elsewhere. --tags["anterior"] = { -- "case", -- nil, -- {"ant"}, --} tags["associative"] = { "case", "w:associative case", {"ass", "assoc"}, 15948746, } tags["benefactive"] = { "case", "w:benefactive case", {"ben", "bene"}, 664905, } tags["causal"] = { "case", "w:causal case", {"cauc", "causc"}, 2943136, } tags["causal-final"] = { "case", "w:causal-final case", {"cfi", "cfin"}, 18012653, } tags["comitative"] = { "case", "w:comitative case", "com", 838581, } -- be careful not to clash with comparative degree tags["comparative case"] = { "case", WP, "comc", 5155633, display = "comparative", } tags["delative"] = { "case", "w:delative case", "del", 1183901, } tags["direct"] = { "case", "w:direct case", "dir", 1751855, } tags["directive"] = { "case", "wikt:directive case", "dirc", 56526905, } tags["distributive"] = { "case", "w:distributive case", {"dis", "dist", "distr"}, 492457, } tags["elative"] = { "case", "elative case", "ela", 394253, } tags["ergative"] = { "case", "ergative case", "erg", 324305, } -- be careful not to clash with equative degree tag tags["equative"] = { "case", "w:equative case", "equc", 3177653, } tags["essive-formal"] = { "case", "w:essive-formal case", {"esf", "efor"}, 3827688, } tags["essive-modal"] = { "case", "w:essive-modal case", {"esm", "emod"}, 3827703, } tags["essive"] = { "case", "w:essive case", "ess", 148465, } --No evidence of the existence of this case on the web, and the shortcuts are better used elsewhere. --tags["exclusive"] = { -- "case", -- nil, -- {"exc", "excl"}, --} tags["illative"] = { "case", "w:illative case", "ill", 474668, } tags["indirect"] = { "case", "w:direct case", "indir", 1233197, -- Same as oblique. } tags["inessive"] = { "case", "w:inessive case", "ine", 282031, } tags["instructive"] = { "case", "w:instructive case", "ist", 1665275, } tags["lative"] = { "case", "w:lative case", "lat", 260425, } tags["limitative"] = { "case", "w:list of grammatical cases", {"lim", "limitive"}, 35870079, } tags["locative-qualitative"] = { "case", "locative-qualitative case", {"lqu", "lqua", "locative-qualitive"}, } tags["objective"] = { "case", "objective case", "objv", -- obj used for "object" 1233197, -- Same as oblique. } tags["oblique"] = { "case", "oblique case", "obl", 1233197, } tags["partitive"] = { "case", "w:partitive case", {"ptv", "par"}, 857325, } --certain languages use this term for the abessive tags["privative"] = { "case", "w:privative case", "priv", 319822, } tags["prolative"] = { "case", "w:prolative case", {"pro", "prol"}, 952933, } tags["sociative"] = { "case", "w:sociative case", "soc", 3773161, } tags["subjective"] = { "case", "w:subjective case", {"subjv", "sbjv"}, -- "sub" and "subj" used for subjunctive, "sbj" for "subject" 131105, -- Same as nominative. } tags["sublative"] = { "case", "w:sublative case", {"sbl", "subl"}, 2120615, } tags["superessive"] = { "case", "w:superessive case", {"spe", "supe"}, 222355, } tags["temporal"] = { "case", "w:temporal case", {"tem", "temp"}, 3235219, } -- be careful not to clash with terminative aspect tag tags["terminative case"] = { "case", "w:terminative case", "ter", 747019, display = "terminative", } tags["translative"] = { "case", "w:translative case", {"tra", "tran"}, 950170, } ----------------------- State ----------------------- tags["independent genitive"] = { "state", WIKT, "indgen", } tags["possessor"] = { "state", WIKT, {"posr", "possr"}, } tags["reflexive possessive"] = { "state", WIKT, {"reflposs", "refl poss"}, } tags["substantive"] = { "state", APPENDIX, {"subs", "subst"}, } tags["free state"] = { "state", APPENDIX, {"free"}, } tags["annexed state"] = { "state", APPENDIX, {"annex", "annexed"}, } ----------------------- Degrees of comparison ----------------------- tags["absolute superlative degree"] = { "comparison", "wikt:absolute superlative", {"asupd", "absolute superlative"}, } tags["relative superlative degree"] = { "comparison", "wikt:relative superlative", {"rsupd", "relative superlative"}, } tags["elative degree"] = { "comparison", "elative", "elad", -- Can't use "elative" as shortcut because that's already used for the elative case 1555419, } -- be careful not to clash with equative case tag tags["equative degree"] = { "comparison", "w:equative", "equd", 5384239, } tags["excessive degree"] = { "comparison", nil, "excd", } ----------------------- Register ----------------------- tags["familiar"] = { "register", "w:T–V distinction", "fam", } tags["polite"] = { "register", "w:T–V distinction", "pol", } tags["intimate"] = { "register", -- "intimate" is also a possible formality level in the sociolinguistic register sense. "w:T–V distinction", "intim", } tags["formal"] = { "register", "w:register (sociolinguistics)", } tags["informal"] = { "register", "w:register (sociolinguistics)", "inform", } tags["colloquial"] = { "register", "w:colloquialism", "colloq", } tags["slang"] = { "register", WP, } tags["contemporary"] = { "register", WIKT, "conty", } tags["literary"] = { "register", "w:literary language", "lit", } tags["dated"] = { "register", WIKT, } tags["archaic"] = { "register", "w:archaism", "arch", } tags["obsolete"] = { "register", WIKT, "obs", } tags["emphatic"] = { "register", WIKT, "emph", } ----------------------- Deixis ----------------------- tags["proximal"] = { "deixis", "w:deixis", {"prox", "prxl"}, } tags["medial"] = { "deixis", "w:deixis", "medl", } tags["distal"] = { "deixis", "w:deixis", "dstl", } ----------------------- Clusivity ----------------------- tags["inclusive"] = { "clusivity", "w:clusivity", "incl", } tags["exclusive"] = { "clusivity", "w:clusivity", "excl", } tags["obviative"] = { "clusivity", "w:clusivity", "obv", } ----------------------- Inflectional class ----------------------- tags["absolute"] = { "grammar", WIKT, "abs", } tags["conjunct"] = { "grammar", WP, "conjt", } tags["deuterotonic"] = { "grammar", "w:dependent and independent verb forms", "deut", } tags["prototonic"] = { "grammar", "w:dependent and independent verb forms", "prot", } ----------------------- Attitude ----------------------- tags["endearing"] = { "attitude", -- FIXME! No good glossary entry for this; the entry for "hypocoristic" refers specifically to proper names. "w:hypocoristic", "end", 1130279, -- entry for "hypocorism" } tags["moderative"] = { "attitude", WIKT, "moder", } ----------------------- Sound changes ----------------------- tags["alliterative"] = { "sound change", "w:alliteration", nil, 484495, } tags["back"] = { "sound change", "w:back vowel", nil, 853589, } tags["front"] = { "sound change", "w:front vowel", nil, 5505949, } tags["rounded"] = { "sound change", "w:roundedness", "round", } tags["sigmatic"] = { "sound change", WIKT, "sigm", } tags["unrounded"] = { "sound change", "w:roundedness", "unround", } tags["vowel harmonic"] = { "sound change", "w:vowel harmony", "vharm", 147137, } ----------------------- Misc grammar ----------------------- tags["relative"] = { "grammar", WIKT, "rel", } tags["direct relative"] = { "grammar", "w:relative_clause#Celtic_languages", "dirrel", } tags["indirect relative"] = { "grammar", "w:relative_clause#Celtic_languages", "indrel", } tags["synthetic"] = { "grammar", WIKT, "synth", } tags["analytic"] = { "grammar", WIKT, {"anal", "analytical"}, } tags["periphrastic"] = { "grammar", WIKT, "peri", } tags["affirmative"] = { "grammar", "w:affirmation and negation", "aff", } tags["possessed"] = { "grammar", "w:possessive affix", {"possd", "possed"}, -- posd = positive degree 804020, -- for possessive affix } tags["non-possessed"] = { "grammar", "w:possessive affix", {"npossd", "npossed", "nonpossessed"}, } tags["complement"] = { "grammar", "w:complement (linguistics)", "comp", -- formerly used for comparative, which has been split into comparative case (comc) and comparative degree (comd) 1051175, } tags["possessive affix"] = { "grammar", WP, {"posaf", "possaf"}, 804020, } tags["possessive suffix"] = { "grammar", "w:possessive affix", "possuf", 804020, } tags["possessive prefix"] = { "grammar", "w:possessive affix", {"pospref", "posspref"}, 804020, } tags["prefix"] = { "grammar", APPENDIX, "pref", -- pre = prepositional 134830, } tags["prefixal"] = { "grammar", WIKT, "prefl", -- pre = prepositional 134830, } tags["suffix"] = { "grammar", APPENDIX, {"suf", "suff"}, 102047, } tags["suffixal"] = { "grammar", WIKT, {"sufl", "suffl"}, 102047, } tags["affix"] = { "grammar", WP, "af", -- aff = affirmative 62155, } tags["affixal"] = { "grammar", WIKT, "afl", -- aff = affirmative 62155, } tags["circumfix"] = { "grammar", WP, {"circ", "cirf", "circf"}, 124939, } tags["circumfixal"] = { "grammar", WIKT, {"circl", "cirfl", "circfl"}, 124939, } tags["infix"] = { "grammar", WP, "infx", 201322, } tags["infixal"] = { "grammar", WIKT, "infxl", 201322, } tags["nonfinite"] = { "grammar", APPENDIX, "nonfin", 1050494, -- entry for "non-finite verb" } tags["tenseless"] = { "grammar", WIKT, } tags["aspect"] = { "grammar", APPENDIX, "asp", 208084, } ----------------------- Other tags ----------------------- tags["–"] = { -- Unicode en-dash "other", no_space_on_left = true, no_space_on_right = true, } tags["—"] = { -- Unicode em-dash "other", no_space_on_left = true, no_space_on_right = true, } ----------------------- Create the shortcuts list ----------------------- m_form_of_data.finalize(tags, shortcuts) return {tags = tags, shortcuts = shortcuts} g1q5vsjyax46jvofzqk9sbxwme2utcp Templat:bentuk dari 10 280950 1349852 2026-04-14T13:29:12Z Swarabakti 18192 ←Membuat halaman berisi '{{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|<!-- -->{{#if:{{{lang|}}}|{{#invoke:form of/templates|form_of_t|{{#if:{{{1|}}}|{{{1|}}}|form}} of|term_param=2|ignore=1}}|{{#invoke:form of/templates|form_of_t|{{#if:{{{2|}}}|{{{2|}}}|form}} of|term_param=3|ignore=2}}}}<!-- -->}}<!-- --><noinclude>{{dokumentasi}}</noinclude>' 1349852 wikitext text/x-wiki {{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|<!-- -->{{#if:{{{lang|}}}|{{#invoke:form of/templates|form_of_t|{{#if:{{{1|}}}|{{{1|}}}|form}} of|term_param=2|ignore=1}}|{{#invoke:form of/templates|form_of_t|{{#if:{{{2|}}}|{{{2|}}}|form}} of|term_param=3|ignore=2}}}}<!-- -->}}<!-- --><noinclude>{{dokumentasi}}</noinclude> skez0aaseq0feu88szvqjmq33mqg0g0 1349868 1349852 2026-04-14T14:04:56Z Swarabakti 18192 1349868 wikitext text/x-wiki {{ {{#if:{{{lang|}}}|check deprecated lang param usage|no deprecated lang param usage}}|lang={{{lang|}}}|<!-- -->{{#if:{{{lang|}}}|{{#invoke:form of/templates|form_of_t|{{#if:{{{1|}}}|{{{1|}}}|form}} of|term_param=2|ignore=1}}|{{#invoke:form of/templates|form_of_t|{{#if:{{{2|}}}|{{{2|}}}|bentuk}} dari|term_param=3|ignore=2}}}}<!-- -->}}<!-- --><noinclude>{{dokumentasi}}</noinclude> 0q0i0wja2r4ookwhe45fu4t32l89iqj Modul:table/extend 828 280951 1349858 2026-04-14T13:51:07Z Swarabakti 18192 ←Membuat halaman berisi 'local insert = table.insert local select = select --[==[ Extend an existing list by a new list, modifying the existing list in-place. Compare the Python expression {list.extend(new_items)}.]==] return function(t, ...) local i = 0 if select("#", ...) < 2 then local list = ... while true do i = i + 1 local v = list[i] if v == nil then return t end insert(t, v) end else local pos, list = ... while true do i = i + 1 local v = li...' 1349858 Scribunto text/plain local insert = table.insert local select = select --[==[ Extend an existing list by a new list, modifying the existing list in-place. Compare the Python expression {list.extend(new_items)}.]==] return function(t, ...) local i = 0 if select("#", ...) < 2 then local list = ... while true do i = i + 1 local v = list[i] if v == nil then return t end insert(t, v) end else local pos, list = ... while true do i = i + 1 local v = list[i] if v == nil then return t end insert(t, pos, v) pos = pos + 1 end end end adajacgjldccb0g5nl3tceeu9y5qxf5 Modul:table/append 828 280952 1349859 2026-04-14T13:52:34Z Swarabakti 18192 ←Membuat halaman berisi 'local select = select local function append(n, i, t, t_len, item, ...) local k = 0 while true do k = k + 1 local v = item[k] if v ~= nil then t_len = t_len + 1 t[t_len] = v elseif i == n then return t else return append(n, i + 1, t, t_len, ...) end end end --[==[ Appends any number of lists together as a new list.]==] return function(...) local n, t = select("#", ...), {} return n == 0 and t or append(n, 1, t, 0, ...) end' 1349859 Scribunto text/plain local select = select local function append(n, i, t, t_len, item, ...) local k = 0 while true do k = k + 1 local v = item[k] if v ~= nil then t_len = t_len + 1 t[t_len] = v elseif i == n then return t else return append(n, i + 1, t, t_len, ...) end end end --[==[ Appends any number of lists together as a new list.]==] return function(...) local n, t = select("#", ...), {} return n == 0 and t or append(n, 1, t, 0, ...) end kr9qgu53vdzydjiqsbbxw5wnf2llyao Modul:table/compressSparseArray 828 280953 1349860 2026-04-14T13:52:47Z Swarabakti 18192 ←Membuat halaman berisi 'local table_num_keys_module = "Module:table/numKeys" local function num_keys(...) num_keys = require(table_num_keys_module) return num_keys(...) end --[==[ Given a list that may contain gaps (e.g. {1, 2, nil, 4}), returns a new gapless list in the same order.]==] return function(t) local list, keys, i = {}, num_keys(t), 0 while true do i = i + 1 local k = keys[i] if k == nil then return list end list[i] = t[k] end end' 1349860 Scribunto text/plain local table_num_keys_module = "Module:table/numKeys" local function num_keys(...) num_keys = require(table_num_keys_module) return num_keys(...) end --[==[ Given a list that may contain gaps (e.g. {1, 2, nil, 4}), returns a new gapless list in the same order.]==] return function(t) local list, keys, i = {}, num_keys(t), 0 while true do i = i + 1 local k = keys[i] if k == nil then return list end list[i] = t[k] end end 23nyyesbtac5ffo4gwnkyx8uhxrigj0 Templat:ragam bentuk dari/dokumentasi 10 280954 1349863 2026-04-14T13:55:18Z Swarabakti 18192 ←Membuat halaman berisi '{{subhalaman dokumentasi}} {{shortcut|Templat:ragam dari}} ===Kegunaan=== Untuk menampilkan pengalihan tidak langsung dari baris definisi ke entri untuk ragam utama dengan penjabaran lengkap. Entri untuk ragam bentuk dialek, aksara dan ejaan semestinya tetap digolongkan ke dalam kategori <code>xxx:Lema</code>, sementara entri untuk bentuk romanisasi dapat digolongkan sebagai <code>xxx:Nonlema</code> melalui [[:Kategori:Templat kelas kata|templat kelas kata]]. <...' 1349863 wikitext text/x-wiki {{subhalaman dokumentasi}} {{shortcut|Templat:ragam dari}} ===Kegunaan=== Untuk menampilkan pengalihan tidak langsung dari baris definisi ke entri untuk ragam utama dengan penjabaran lengkap. Entri untuk ragam bentuk dialek, aksara dan ejaan semestinya tetap digolongkan ke dalam kategori <code>xxx:Lema</code>, sementara entri untuk bentuk romanisasi dapat digolongkan sebagai <code>xxx:Nonlema</code> melalui [[:Kategori:Templat kelas kata|templat kelas kata]]. <includeonly>[[Kategori:Templat bentuk dari]]</includeonly> jqkscxcm5zva2rj499hrq1392dieyvs Templat:ragam ejaan dari/dokumentasi 10 280955 1349870 2026-04-14T14:07:24Z Swarabakti 18192 ←Membuat halaman berisi '{{subhalaman dokumentasi}} {{shortcut|Templat:ejaan dari}} ===Kegunaan=== Untuk menampilkan pengalihan tidak langsung dari baris definisi entri ragam ejaan ke entri dengan penjabaran lengkap. <includeonly>[[Kategori:Templat bentuk dari]]</includeonly>' 1349870 wikitext text/x-wiki {{subhalaman dokumentasi}} {{shortcut|Templat:ejaan dari}} ===Kegunaan=== Untuk menampilkan pengalihan tidak langsung dari baris definisi entri ragam ejaan ke entri dengan penjabaran lengkap. <includeonly>[[Kategori:Templat bentuk dari]]</includeonly> 9y2w5lyadwzein4bj0esmfwcrqd1t1g 1349871 1349870 2026-04-14T14:07:32Z Swarabakti 18192 1349871 wikitext text/x-wiki {{subhalaman dokumentasi}} {{shortcut|Templat:ejaan dari}} ===Kegunaan=== Untuk menampilkan pengalihan tidak langsung dari baris definisi entri ragam ejaan ke entri dengan penjabaran lengkap. <includeonly>[[Kategori:Templat bentuk dari]]</includeonly> hpyhdlpc18y9ft55vhw67wur0f6wfjm 1349872 1349871 2026-04-14T14:07:40Z Swarabakti 18192 1349872 wikitext text/x-wiki {{subhalaman dokumentasi}} {{shortcut|Templat:ejaan dari}} ===Kegunaan=== Untuk menampilkan pengalihan tidak langsung dari baris definisi entri ragam ejaan ke entri dengan penjabaran lengkap.<includeonly>[[Kategori:Templat bentuk dari]]</includeonly> imufbddtr08tom1rxngt2k1c0owu4xz Templat:bentuk dari/dokumentasi 10 280956 1349876 2026-04-14T14:11:33Z Swarabakti 18192 ←Membuat halaman berisi '{{subhalaman dokumentasi}} ===Kegunaan=== Memunculkan penjabaran rujuk silang untuk entri yang merupakan bentuk bagi entri lain. <includeonly> [[Kategori:Templat bentuk dari]]</includeonly>' 1349876 wikitext text/x-wiki {{subhalaman dokumentasi}} ===Kegunaan=== Memunculkan penjabaran rujuk silang untuk entri yang merupakan bentuk bagi entri lain. <includeonly> [[Kategori:Templat bentuk dari]]</includeonly> 27jtfd6k9kzo95t84yw2s2mm3mbrtln 1349877 1349876 2026-04-14T14:11:40Z Swarabakti 18192 1349877 wikitext text/x-wiki {{subhalaman dokumentasi}} ===Kegunaan=== Memunculkan penjabaran rujuk silang untuk entri yang merupakan bentuk bagi entri lain.<includeonly> [[Kategori:Templat bentuk dari]]</includeonly> 7fe5bicvzbx8p8dybw4mun4ml5jtty7 Templat:kontraksi dari/dokumentasi 10 280957 1349879 2026-04-14T14:13:24Z Swarabakti 18192 ←Membuat halaman berisi '{{subhalaman dokumentasi}} ===Kegunaan=== Untuk menampilkan pengalihan tidak langsung dari baris definisi entri kontraksi ke entri-entri yang dirujuk. Bentuk kontraksi umumnya tidak dapat digolongkan ke dalam kelas kata tertentu, dan mesti dibedakan dari pemendekan satu entri yang sama, serta gabungan dua atau lebih entri yang berfungsi sebagai kata padu. <includeonly>[[Kategori:Templat bentuk dari]]</includeonly>' 1349879 wikitext text/x-wiki {{subhalaman dokumentasi}} ===Kegunaan=== Untuk menampilkan pengalihan tidak langsung dari baris definisi entri kontraksi ke entri-entri yang dirujuk. Bentuk kontraksi umumnya tidak dapat digolongkan ke dalam kelas kata tertentu, dan mesti dibedakan dari pemendekan satu entri yang sama, serta gabungan dua atau lebih entri yang berfungsi sebagai kata padu. <includeonly>[[Kategori:Templat bentuk dari]]</includeonly> t9bmmrsxeb1ly6zf6jikbzygjhy1gaf 1349880 1349879 2026-04-14T14:13:39Z Swarabakti 18192 1349880 wikitext text/x-wiki {{subhalaman dokumentasi}} ===Kegunaan=== Untuk menampilkan pengalihan tidak langsung dari baris definisi entri kontraksi ke entri-entri yang dirujuk. Bentuk kontraksi umumnya tidak dapat digolongkan ke dalam kelas kata tertentu, dan mesti dibedakan dari pemendekan satu entri yang sama, serta gabungan dua atau lebih entri yang berfungsi sebagai kata padu. <includeonly>[[Kategori:Templat bentuk dari]]</includeonly> lhijjeuzwjfojp38tof9x1u3auxivoq Pembicaraan:mahantuyi 1 280958 1349893 2026-04-15T02:48:22Z Ezagren 2314 /* mhantuyi >> mahantuyi */ bagian baru 1349893 wikitext text/x-wiki == mhantuyi >> mahantuyi == Halo panitia @[[Pengguna:Bangrapip|Bangrapip]] @[[Pengguna:Swarabakti|Swarabakti]] saya telanjur memindahkan judul lema ini meski tidak ada arahan di penilaian fountain WikiKatha karena berdasarkan pelafalan suara terdengar 'mahantuyi' dan juga saya pernah menyaksikan serta mendokumentasikan kegiatan mahantuyi tersebut. Mohon arahan. Salam, [[Pengguna:Ezagren|Ezagren]] ([[Pembicaraan Pengguna:Ezagren|bicara]]) 15 April 2026 02.48 (UTC) 84pjofthijooqxq7xj3hdhvgp5ef21i hallet 0 280959 1349897 2026-04-15T06:32:42Z Meylani Prisilia 44880 ←Membuat halaman berisi '=={{bahasa|bbc}}== {{kepala|bbc}} {{-n-|ljp}} # pacar' 1349897 wikitext text/x-wiki =={{bahasa|bbc}}== {{kepala|bbc}} {{-n-|ljp}} # pacar lijohqfckfh4ox40kemwktbj2b8ofx1 Kategori:beu:Lema 14 280960 1350021 2026-04-15T11:24:14Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350021 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:beu:Nomina 14 280961 1350022 2026-04-15T11:24:17Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350022 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:jv:Istilah dengan contoh kalimat 14 280962 1350023 2026-04-15T11:24:20Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350023 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:ban:Istilah dengan contoh kalimat 14 280963 1350024 2026-04-15T11:24:23Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350024 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:ban:Pemeliharaan halaman 14 280964 1350025 2026-04-15T11:24:41Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350025 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:jv:Istilah rangkaian kata 14 280965 1350033 2026-04-15T11:32:07Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350033 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:Istilah rangkaian kata menurut bahasa 14 280966 1350034 2026-04-15T11:32:16Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350034 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:abl:Lema 14 280967 1350037 2026-04-15T11:34:52Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350037 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:pi:Lema 14 280968 1350038 2026-04-15T11:34:53Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350038 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:tao:Lema 14 280969 1350039 2026-04-15T11:34:55Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350039 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:pl:Lema 14 280970 1350040 2026-04-15T11:35:02Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350040 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:dun:Verba 14 280971 1350041 2026-04-15T11:35:21Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350041 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:kxd:Lema 14 280972 1350042 2026-04-15T11:35:27Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350042 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:xmm:Istilah dengan tautan audio 14 280973 1350043 2026-04-15T11:35:35Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350043 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:xmm:Pemeliharaan halaman 14 280974 1350044 2026-04-15T11:35:47Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350044 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:osi:Istilah rangkaian kata 14 280975 1350045 2026-04-15T11:36:16Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350045 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:nia:Istilah dengan tautan audio 14 280976 1350046 2026-04-15T11:36:21Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350046 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:cje:Lema 14 280977 1350047 2026-04-15T11:36:24Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350047 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:nia:Pemeliharaan halaman 14 280978 1350048 2026-04-15T11:36:58Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350048 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:mwv:Lema 14 280979 1350049 2026-04-15T11:37:17Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350049 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:tsg:Pronomina 14 280980 1350051 2026-04-15T11:41:12Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350051 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:ab:Lema 14 280981 1350053 2026-04-15T11:43:13Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350053 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:tuj:Istilah dengan tautan audio 14 280982 1350054 2026-04-15T11:44:19Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350054 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:mqg:Istilah dengan tautan audio 14 280983 1350055 2026-04-15T11:44:23Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350055 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:tuj:Nomina 14 280984 1350056 2026-04-15T11:44:26Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350056 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:tuj:Verba 14 280985 1350057 2026-04-15T11:44:27Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350057 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:mqg:Pemeliharaan halaman 14 280986 1350058 2026-04-15T11:44:37Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350058 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:tuj:Pemeliharaan halaman 14 280987 1350059 2026-04-15T11:45:21Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350059 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:tk:Lema 14 280988 1350060 2026-04-15T11:45:37Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350060 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:su:Istilah rangkaian kata 14 280989 1350061 2026-04-15T11:45:55Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350061 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d Kategori:ljp:Adverbia 14 280990 1350062 2026-04-15T11:46:27Z Swarabakti 18192 ←Membuat halaman berisi '{{kategori otomatis}}' 1350062 wikitext text/x-wiki {{kategori otomatis}} tka0fgn87px6unlh07hbwnzmlebon2d