text: expurgações

title: expurgações


text: comoventes

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

title: comoventes


text: extraterritorialidades

title: extraterritorialidades


text: estacionamentos

title: estacionamentos


text: exarada

title: exarada


text: esquadrões

title: esquadrões


text: exarados

title: exarados


text: esconderijos

title: esconderijos


text: enfermarias

title: enfermarias


text: exaradas

title: exaradas


text: evacuações

title: evacuações


text: exequíveis

title: exequíveis


text: exigíveis

title: exigíveis


text: estimações

title: estimações


text: escândalos

title: escândalos


text: extintiva

title: extintiva


text: estreias

title: estreias


text: envolvimentos

title: envolvimentos


text: extintivos

title: extintivos


text: essências

title: essências


text: extintivas

title: extintivas


text: empresários

title: empresários


text: expedições

title: expedições


text: extracontratuais

title: extracontratuais


text: entretenimentos

title: entretenimentos


text: estágios

title: estágios


text: estadias

title: estadias


text: espionagens

title: espionagens


text: esfomeada

title: esfomeada


text: escravas

title: escravas


text: esfomeados

title: esfomeados


text: esfomeadas

title: esfomeadas


text: Category:Japanese terms spelled with 饒

title: Category:Japanese terms spelled with 饒


text: facultarmos

title: facultarmos


text: facultardes

title: facultardes


text: facultarem

title: facultarem


text: facultados

title: facultados


text: facultada

title: facultada


text: facultadas

title: facultadas


text: facultais

title: facultais


text: facultam

title: facultam


text: facultava

title: facultava


text: facultavas

title: facultavas


text: facultávamos

title: facultávamos


text: facultáveis

title: facultáveis


text: facultavam

title: facultavam


text: facultei

title: facultei


text: facultou

title: facultou


text: facultámos

title: facultámos


text: facultastes

title: facultastes


text: facultaram

title: facultaram


text: facultáreis

title: facultáreis


text: facultarei

title: facultarei


text: facultarão

title: facultarão


text: facultaria

title: facultaria


text: facultarias

title: facultarias


text: facultaríeis

title: facultaríeis


text: facultariam

title: facultariam


text: faculteis

title: faculteis


text: facultem

title: facultem


text: facultasse

title: facultasse


text: facultasses

title: facultasses


text: facultássemos

title: facultássemos


text: facultásseis

title: facultásseis


text: facultassem

title: facultassem


text: facultai

title: facultai


text:
falecer

Etymology
From, derived from , from , from. Compare 🇨🇬, 🇨🇬.

Verb

 * 1) to die
 * 2)  to be lacking
 * 3) * 1417, A. Rodríguez González (ed.), Libro do Concello de Santiago (1416-1422). Santiago de Compostela: Consello da Cultura Galega, page 32:
 * Estas duas follas que de aqui faleçen tirey eu Rui Matines, notario, deste libro por quanto os escrivãaos de miña notaria lançaron ende algũas escripturas que non devian ser aqui asentadas
 * These two leaves that are lacking here were removed from this book by me Roi Martínez, notary, because the scribes of my office put there some scriptures which shouldn't be recorded here
 * These two leaves that are lacking here were removed from this book by me Roi Martínez, notary, because the scribes of my office put there some scriptures which shouldn't be recorded here

Etymology
, derived from, from , from. Cognate with 🇨🇬, 🇨🇬.

Verb

 * 1) to die

title: falecer


text: faleceres

title: faleceres


text: falecermos

title: falecermos


text: falecerdes

title: falecerdes


text: falecerem

title: falecerem


text: falecendo

title: falecendo


text: falecido

title: falecido


text: falecidos

title: falecidos


text: falecida

title: falecida


text: falecidas

title: falecidas


text: faleço

title: faleço


text: faleces

title: faleces


text: falece

title: falece


text: falecemos

title: falecemos


text: faleceis

title: faleceis


text: falecem

title: falecem


text: falecia

title: falecia


text: falecias

title: falecias


text: falecíamos

title: falecíamos


text: falecíeis

title: falecíeis


text: faleciam

title: faleciam


text: faleci

title: faleci


text: faleceste

title: faleceste


text: faleceu

title: faleceu


text: falecestes

title: falecestes


text: faleceram

title: faleceram


text: falecera

title: falecera


text: faleceras

title: faleceras


text: falecêramos

title: falecêramos


text: falecêreis

title: falecêreis


text: falecerei

title: falecerei


text: falecerás

title: falecerás


text: falecerá

title: falecerá


text: faleceremos

title: faleceremos


text: falecereis

title: falecereis


text: falecerão

title: falecerão


text: faleceria

title: faleceria


text: falecerias

title: falecerias


text: faleceríamos

title: faleceríamos


text: faleceríeis

title: faleceríeis


text: faleceriam

title: faleceriam


text: faleça

title: faleça


text: faleças

title: faleças


text: faleçamos

title: faleçamos


text: faleçais

title: faleçais


text: faleçam

title: faleçam


text: falecesse

title: falecesse


text: falecesses

title: falecesses


text: falecêssemos

title: falecêssemos


text: falecêsseis

title: falecêsseis


text:
falecimento

Etymology
From.

Noun

 * 1) death, demise

title: falecimento


text: falecessem

title: falecessem


text:
falido

Adjective

 * 1) bankrupt

title: falido


text:
falsidade

Etymology
From (13th century, ), from. Equal to.

Noun

 * 1) falsehood, falsity

Etymology
From, , from. .

Noun

 * 1) falsehood, falsity

title: falsidade


text: faltarmos

title: faltarmos


text: faltardes

title: faltardes


text:
Category talk:Russian terms with audio links

Incomplete
This category is very incomplete, there are a lot of Russian entries with audiolinks. I have created the category today and have added some terms manually. Hopefully this can also be done via either by a language parameter or audio file prefixes, i.e. "Ru-....ogg". --Anatoli (обсудить/вклад) 11:18, 25 April 2013 (UTC)


text: faltados

title: faltados


text: faltada

title: faltada


text: faltadas

title: faltadas


text: faltais

title: faltais


text: faltam

title: faltam


text: faltavas

title: faltavas


text: faltávamos

title: faltávamos


text: faltáveis

title: faltáveis


text: faltavam

title: faltavam


text: faltei

title: faltei


text: faltou

title: faltou


text: faltámos

title: faltámos


text: faltastes

title: faltastes


text: faltaram

title: faltaram


text: faltáreis

title: faltáreis


text: faltarei

title: faltarei


text: faltarão

title: faltarão


text: faltarias

title: faltarias


text:
faltoso

Adjective

 * 1) wrongful

title: faltoso


text: faltaríeis

title: faltaríeis


text: faltariam

title: faltariam


text: falteis

title: falteis


text: faltasse

title: faltasse


text: faltasses

title: faltasses


text: faltássemos

title: faltássemos


text: faltásseis

title: faltásseis


text: faltassem

title: faltassem


text: faltai

title: faltai


text:
Bodennullpunkt

Etymology
From.

Noun

 * 1)  ground zero

title: Bodennullpunkt


text: festejos

title: festejos


text:
fideicomissário

Noun

 * 1) trustee

title: fideicomissário


text:
filiação

Etymology
From.

Noun

 * 1) adoption
 * 2) filiation

title: filiação


text:
filiar

Verb

 * 1) to adopt
 * 2) to join

Verb

 * 1) to adopt; to filiate

title: filiar


text: filiares

title: filiares


text: filiarmos

title: filiarmos


text: filiardes

title: filiardes


text: filiarem

title: filiarem


text: filiando

title: filiando


text: filiado

title: filiado


text: filiados

title: filiados


text: filiada

title: filiada


text: filiadas

title: filiadas


text: filiamos

title: filiamos


text: filiais

title: filiais


text: filiava

title: filiava


text: filiavas

title: filiavas


text: filiávamos

title: filiávamos


text: filiáveis

title: filiáveis


text: filiavam

title: filiavam


text: filiei

title: filiei


text: filiaste

title: filiaste


text: filiou

title: filiou


text: filiámos

title: filiámos


text: filiastes

title: filiastes


text: filiaram

title: filiaram


text: filiara

title: filiara


text: filiaras

title: filiaras


text: filiáramos

title: filiáramos


text: filiáreis

title: filiáreis


text: filiarei

title: filiarei


text: filiarás

title: filiarás


text: filiará

title: filiará


text: filiaremos

title: filiaremos


text: filiareis

title: filiareis


text: filiarão

title: filiarão


text: filiaria

title: filiaria


text: filiarias

title: filiarias


text: filiaríamos

title: filiaríamos


text: filiaríeis

title: filiaríeis


text: filiariam

title: filiariam


text:
filie

Noun
'Pater noster, Saturni filie, 'O father of us all, O Saturn's son,
 * 1) * Lucius Livius Andronicus, Odissia, as cited by Priscianus Caesariensis. In: Remains of Old Latin Newly Edited and Translated by E. H. Warmington, in three volumes, II, Livius Andronicus, Naevius, Pacuvius and Accuius, 1936, p. 24f.:
 * Priscianus, ap. G.L., II, 305, 8: 'O filie' et 'o fili.' Livius Andronicus in Odissia–
 * Priscianus, ap. G.L., II, 305, 8: 'O filie' et 'o fili.' Livius Andronicus in Odissia–
 * Priscianus: Vocative 'filie' and 'fili.' Livius Andronicus in The Odyssey–

title: filie


text: filies

title: filies


text: filiemos

title: filiemos


text: filieis

title: filieis


text: filiem

title: filiem


text: filiasse

title: filiasse


text: filiasses

title: filiasses


text: filiássemos

title: filiássemos


text: filiásseis

title: filiásseis


text: filiassem

title: filiassem


text: filiai

title: filiai


text:
ἀποπτύω

Etymology
From.

Verb

 * 1) to spit out, spit
 * 2) to abominate, spurn, disown
 * 1) to abominate, spurn, disown
 * 1) to abominate, spurn, disown
 * 1) to abominate, spurn, disown
 * 1) to abominate, spurn, disown
 * 1) to abominate, spurn, disown
 * 1) to abominate, spurn, disown

title: ἀποπτύω


text:
Talk:видеть

Not a "concrete verb"
I have removed these usage notes:

"Видеть and увидеть are Russian concrete verbs. Their counterpart, видать, is an abstract verb."

Concrete and abstract verbs can be verbs of motion in the Slavic languages, this is a bit different. Will get back to it later. --Anatoli (обсудить/вклад) 11:41, 25 April 2013 (UTC)

title: Talk:видеть


text:
ἀπροθυμία

Etymology
From.

Noun

 * 1) lack of readiness

title: ἀπροθυμία


text:
Talk:видать

Not an "abstract verb"
I have removed these usage notes:

"Видать is in the class of Russian abstract verbs. Its counterpart, видеть, is in the class of Russian concrete verbs."

Concrete and abstract verbs can be verbs of motion in the Slavic languages, this is a bit different. Will get back to it later. It's a special verb. A reference to Vladimir Dal's or other dictionary may be needed. --Anatoli (обсудить/вклад) 11:53, 25 April 2013 (UTC)

Questions
(moved to Module talk:ru-verb)

title: Talk:видать


text:
饒舌家

Noun

 * 1) a garrulous person

title: 饒舌家


text:
выспаться

Verb

 * 1) to sleep in, to sleep one's fill
 * 2) to get some sleep, to get a good night's sleep, to catch some z's
 * 1) to get some sleep, to get a good night's sleep, to catch some z's

title: выспаться


text:
Gerinnsel

Etymology
From.

Noun

 * 1)  blood clot

title: Gerinnsel


text: Gerinnsels

title: Gerinnsels


text:
ἀργία

Etymology
From.

Noun

 * 1) lack of employment or use, idleness, laziness
 * 2)  rest, leisure
 * 3)  used to express the Latin
 * 1)  rest, leisure
 * 2)  used to express the Latin
 * 1)  rest, leisure
 * 2)  used to express the Latin
 * 1)  rest, leisure
 * 2)  used to express the Latin
 * 1)  used to express the Latin

title: ἀργία


text: Gerinnseln

title: Gerinnseln


text:
Ainikki

Etymology
From.

Proper noun

 * 1) * 1849 (Translation 1988 by Eino Friberg) 12:17-19:
 * "fi"
 * "fi"

- Ainikki sisar Ahilla; / Sep' on saattavi sanoman, / Sepä kielen kantelevi:

title: Ainikki


text:
Ilmatar

Etymology
From. The given name was adopted from the Kalevala in the 19th century.

Proper noun

 * 1)  An air spirit and the mother of  in the Kalevala.
 * 2) * 1849 (Translation 1988 by Eino Friberg) 1:107-112:
 * "fi"

- Yksin syntyi Väinämöinen, / Ilmestyi ikirunoja / Kapehesta kantajasta, / Ilmattaresta emosta. / Olipa impi, ilman tyttö, / Kave luonnotar korea.

title: Ilmatar


text:
言い触らす

Verb

 * 1) spread lies, rumors, etc

title: 言い触らす


text: sirelands

title: sirelands


text:
упҡын

Noun

 * 1) abyss

title: упҡын


text:
㠿

Han character

 * 1) a kind of delicate and fine fabric
 * 2) napkin
 * 3) kerchief, towel
 * 4) headwear

title: 㠿


text:
㡀

Han character

 * 1) ragged clothing
 * 2) ragged, old and worn out

title: 㡀


text:
㡁

Han character

 * 1) robe
 * 2) long gown
 * 3) shirt
 * 4) short gown

title: 㡁


text:
Module talk:Tibt-translit

Trying to transliterate ཐོ་ཁེ་ཡོ། (Tokyo): [MODULE CALL REDACTED]. The result is "0" at the moment. --Anatoli (обсудить/вклад) 13:28, 25 April 2013 (UTC)

 * Works well: - . (Final punctuation marks are preferably removed) Wyang (talk) 23:49, 14 July 2013 (UTC)

Dzongkha
Will this module work for Dzongkha? --Anatoli (обсудить/вклад) 01:12, 24 May 2014 (UTC)
 * Yes. Wyang (talk) 01:27, 24 May 2014 (UTC) Not always... Wyang (talk) 08:39, 14 September 2016 (UTC)

 * Can I rename it to Module:Tibt-translit, as it will be shared by more than one language, also? --Anatoli (обсудить/вклад) 08:52, 24 May 2014 (UTC)
 * Isn't Dzongkha one of the Tibetan languages? We seem to treat at least the three major varieties of Tibetan - Ü-Tsang, Kham and Amdo as one language. Wyang (talk) 09:51, 24 May 2014 (UTC)
 * We have a separate code for Kham: WT:LOL. — Keφr 10:05, 24 May 2014 (UTC)
 * @Wyang I don't know. I have added this module to Dzongkha, Sikkimese and Ladakhi. --Anatoli (обсудить/вклад) 10:07, 24 May 2014 (UTC)

 * It's an old discussion, but I support the rename to Tibt-translit. We should probably be using Wylie for all Tibetic languages, no? I suppose Balti might be an exception (all our entries are in Arabic script except one, which uses a different notation). —Μετάknowledge discuss/deeds 04:08, 14 September 2016 (UTC)
 * This module cannot cover Dzongkha with full accuracy yet. Written Dzongkha is regulated independently by the Bhutan government, and there are many syllables in Dzongkha which would violate Tibetan spelling rules, such as, , , and , which were not taken into account when the module was written. Either the module has to be amended, or it may be better to design one for Dzongkha from scratch. I'm not sure yet. Wyang (talk) 06:49, 14 September 2016 (UTC)
 * Whatever you think best for where to put the logic is fine by me. That said, you make it sound as if there are currently Dzongkha entries with bad translit, in which case this really ought to be dealt with. —Μετάknowledge discuss/deeds 20:07, 14 September 2016 (UTC)
 * This is a very old discussion, but I have finally done this. Theknightwho (talk) 17:06, 27 December 2022 (UTC)

Handling a tsheg on its own
Currently if ་ is the input, the module produces a. I think that this not a result we particularly want, and it would be better not to produce anything for punctuation marks at all, in any situation. —Μετάknowledge discuss/deeds 03:04, 12 September 2016 (UTC)
 * Yes, the result should be empty. Fixed. Wyang (talk) 09:35, 13 September 2016 (UTC)

Incorrect (Extended) Wylie Transliteration of Sanskrit+Reversed Letters (i.e. ལོག་ཡིག་དྲུག & མཐུག་ཡིག་ལྔ)
(Extended) Wylie transliteration specifies T(a), Th(a), D(a), N(a), Sh(a), k+Sh(a) for the ལོག་ཡིག་དྲུག, ཊ་ཋ་ཌ་ཎ་ཥ་ཀྵ, respectively, and similarly Dh(a) for the མཐུག་ཡིག ཌྷ (q.v. https://www.thlib.org/reference/transliteration/#!essay=/thl/ewts/all/). Yet, this module transcribes these letters/stacks using diacritics, with ṭ(a), ṭh(a), ḍ(a), ṇ(a), ṣ(a), kṣ(a), and ḍh(a).

As diacritics are distinctly not part of the Wylie nor Extended Wylie transliteration systems, I would like to go ahead and emend this module. I will leave this post here for a week before modifying the module, in case anyone wants to argue the case for this bastardized hybrid transliteration system. Seeing as I am probably the only active Tibetan entry editor at the moment on Wiktionary, I think I would probably be waiting a long time if I waited indefinitely.

Side note:
What is up with the section on Tibetan Pinyin at About Tibetan, where it claims Pinyin is used to transliterate Lhasa Tibetan? The scheme is clearly based on Wylie. Perhaps they mean the phonetic transcriptions given in Module:bo-pron, which does use Pinyin? I frankly find this incredibly offensive, given that Tibetan Pinyin is mere political technology of the CCP, employed in their genocidal campaign to sinicize and disneyfy Tibetan culture. No one in academia or even the popular Tibetan language learning press, except the CCP and their sycophants, uses Tibetan Pinyin for transliteration, let alone for serious linguistic/phonetic transcription. If zh.wiktionary.org wants to use Tibetan Pinyin, that makes sense, but for en.wiktionary.org this is the wrong system. I am a developer with 25+ years of experience and an advanced-level Tibetan translation student at Lotsawa Rinchen Zangpo Translator School in Dharamsala, and I am more than happy to make and capable of making these changes, so if you have a strong counterargument, please let it be known!

ལྗགས་ཀློག་གནང་བར་ཐུགས་རྗེ་ཆེ་ཞུ་གི་ཡོད། བོད་རྒྱལ་ལོ།

Hermes Thrice Great (talk) 08:17, 24 August 2023 (UTC)

 * @Hermes Thrice Great That's mostly an aesthetic choice, because strict extended Wylie looks terrible, and isn't widely loved. We could make the change, but I don't feel very enthusiastic about doing so.
 * Pages like About Tibetan are sometimes very out of date, so they probably shouldn't be taken at face value. Theknightwho (talk) 11:21, 24 August 2023 (UTC)
 * @Theknightwho, thanks for your response—I honestly wasn’t sure if anyone would respond.
 * It’s true that extended Wylie is not very aesthetically pleasing. I’m not sure how strong of an argument that is, however.  It reminds me a bit about what Nathan W. Hill wrote regarding cold critical reception to Nicholas Tournadre’s proposed system of transliteration in The Manual of Standard Tibetan (2003):
 * "However, for authors such as Tuttle (2005: xvii) and Kapstein (2006: xvii) among others the symbol 'ä', although it represents a sound in Modern Standard Tibetan quite distinct from 'e', is too confusing and ugly (Tournadre and Dorje 2003: 431). Such authors replace 'ä' with 'e', rendering the system no longer phonetically accurate. Inexplicably, the symbols ü and ö, just as familiar from German and just as odd looking in English, these authors embrace."
 * The trouble I have is that the use of diacritics within a Wylie context is nonstandard and thus makes Wiktionary a singular source that doesn’t offer its users with the standard transcriptions they encounter in pretty much every other context (outside of China), and it means that words that employ these diacritics lose their ability to show up in searches conducted with Wylie keywords. Moreover, these specific retroflex diacritics are not as well-known and universally understood as something like an umlaut/diaeresis.
 * If not proper extended Wylie, I might be in favor of using the aforementioned transliteration system developed by Tournadre, which is very easy on the eyes and relatively phonetically accurate (at least for English speakers, which is fine given this is en.wiktionary.org). However, I am still hesitant to use something like this for the same reasons given above, although in general I feel that the Wylie system as a whole is rather outdated (part of the reason it was created was to be more “typeable”, i.e. with a typewriter or early computer keyboards, and the Unicode standard basically pushed it into obsolescence, although the extended Wylie system does use some Unicode characters for punctuation and miscellaneous textual marks).
 * As far as the phonetic transcriptions provided by Module:bo-pron, these should obviously be given in IPA, like all other phonetic transcriptions on this platform.
 * I will hold off on making any immediate changes and see if anyone else has any additional input on these matters.
 * Best,
 * Hermes Thrice Great (talk) 20:11, 25 August 2023 (UTC)
 * @Hermes Thrice Great We could follow the method used by Chinese entries of showing multiple transliteration systems - obviously it has the various lects, but within that there are no less than 7 systems given for Mandarin and 4 for Cantonese. We don't have to go overboard, but I think there would be value in giving more than one system.
 * That would give us the liberty to use the system of our choice as the "standard" transliteration in links, while also making sure that (Extended) Wylie is given on the entry itself. Theknightwho (talk) 20:54, 25 August 2023 (UTC)
 * Apologies for the delayed response—that sounds like a wise choice to me. I like it.
 * Hermes Thrice Great (talk) 17:46, 10 October 2023 (UTC)
 * Best,
 * Hermes Thrice Great (talk) 20:11, 25 August 2023 (UTC)
 * @Hermes Thrice Great We could follow the method used by Chinese entries of showing multiple transliteration systems - obviously it has the various lects, but within that there are no less than 7 systems given for Mandarin and 4 for Cantonese. We don't have to go overboard, but I think there would be value in giving more than one system.
 * That would give us the liberty to use the system of our choice as the "standard" transliteration in links, while also making sure that (Extended) Wylie is given on the entry itself. Theknightwho (talk) 20:54, 25 August 2023 (UTC)
 * Apologies for the delayed response—that sounds like a wise choice to me. I like it.
 * Hermes Thrice Great (talk) 17:46, 10 October 2023 (UTC)
 * Hermes Thrice Great (talk) 17:46, 10 October 2023 (UTC)

title: Module talk:Tibt-translit


text:
㡂

Han character

 * 1) remains
 * 2) remnants

title: 㡂


text:
㡃

Han character

 * 1) artisan
 * 2) to soften raw silk by boiling and dyeing the dressed silk

title: 㡃


text:
Module:headword

local export = {}

-- Named constants for all modules used, to make it easier to swap out sandbox versions. local debug_track_module = "Module:debug/track" local gender_and_number_module = "Module:gender and number" local headword_data_module = "Module:headword/data" local headword_page_module = "Module:headword/page" local links_module = "Module:links" local palindromes_module = "Module:palindromes" local qualifier_module = "Module:qualifier" local scripts_module = "Module:scripts" local scripts_data_module = "Module:scripts/data" local script_utilities_module = "Module:script utilities" local script_utilities_data_module = "Module:script utilities/data" local string_utilities_module = "Module:string utilities" local table_module = "Module:table" local utilities_module = "Module:utilities"

local m_str_utils = require(string_utilities_module)

local concat = table.concat local encode_entities = m_str_utils.encode_entities local insert = table.insert local ipairs = ipairs local pairs = pairs local pattern_escape = m_str_utils.pattern_escape local rgmatch = mw.ustring.gmatch local rsubn = mw.ustring.gsub local rfind = mw.ustring.find local ulen = m_str_utils.len local rmatch = mw.ustring.match local toNFC = mw.ustring.toNFC local toNFD = mw.ustring.toNFD

local m_data = mw.loadData(headword_data_module)

local isLemma = m_data.lemmas local isNonLemma = m_data.nonlemmas local notranslit = m_data.notranslit local toBeTagged = m_data.toBeTagged

-- If set to true, categories always appear, even in non-mainspace pages local test_force_categories = false

-- Version of rsubn that discards all but the first return value. local function rsub(term, foo, bar) return (rsubn(term, foo, bar)) end

-- Add a tracking category to track entries with certain (unusually undesirable) properties. `track_id` is an identifier -- for the particular property being tracked and goes into the tracking page. Specifically, this adds a link in the -- page text to Tracking/headword/TRACK_ID, meaning you can find all entries with the `track_id` property -- by visiting Special:WhatLinksHere/Wiktionary:Tracking/headword/TRACK_ID. -- -- If `lang` (a language object) is given, an additional tracking page Tracking/headword/TRACK_ID/CODE is -- linked to where CODE is the language code of `lang`, and you can find all entries in the combination of `track_id` -- and `lang` by visiting Special:WhatLinksHere/Wiktionary:Tracking/headword/TRACK_ID/CODE. This makes it possible to -- isolate only the entries with a specific tracking property that are in a given language. Note that if `lang` -- references at etymology-only language, both that language's code and its full parent's code are tracked. local function track(track_id, lang) local tracking_page = "headword/" .. track_id local m_debug_track = require(debug_track_module) if lang and lang:hasType("etymology-only") then m_debug_track{tracking_page, tracking_page .. "/" .. lang:getCode, tracking_page .. "/" .. lang:getFullCode} elseif lang then m_debug_track{tracking_page, tracking_page .. "/" .. lang:getCode} else m_debug_track(tracking_page) end return true end

local function text_in_script(text, script_code) local sc = require(scripts_module).getByCode(script_code) if not sc then error("Internal error: Bad script code " .. script_code) end local characters = sc.characters

local out if characters then text = rsub(text, "%W", "") out = rfind(text, "[" .. characters .. "]") end

if out then return true else return false end end

local spacingPunctuation = "[%s%p]+" -- List of punctuation or spacing characters that are found inside of words.	 Used to exclude characters from the regex above. local wordPunc = "-־׳״'.·*’་•:᠊" local notWordPunc = "[^" .. wordPunc .. "]+"

-- Format a term (either a head term or an inflection term) along with any left or right qualifiers, references or -- customized separator: `part` is the object specifying the term, which should optionally contain: -- * left qualifiers in `q`, an array of strings (or `qualifiers` for compatibility purposes); -- * right qualifiers in `qq`, an array of strings; -- * references in `refs`, an array either of strings (formatted reference text) or objects containing fields `text` --  (formatted reference text) and optionally `name` and/or `group`; -- * a separator in `separator`, defaulting to " or " if this is not the first term (j > 1), otherwise "". -- `formatted` is the formatted version of the term itself, and `j` is the index of the term. local function format_term_with_qualifiers_and_refs(part, formatted, j)	local left_qualifiers, right_qualifiers local reftext

left_qualifiers = part.q and #part.q > 0 and part.q	if left_qualifiers then left_qualifiers = require(qualifier_module).format_qualifier(left_qualifiers) .. " "	end

right_qualifiers = part.qq and #part.qq > 0 and part.qq	if right_qualifiers then right_qualifiers = " " .. require(qualifier_module).format_qualifier(right_qualifiers) end if part.refs and #part.refs > 0 then local refs = {} for _, ref in ipairs(part.refs) do			if type(ref) ~= "table" then ref = {text = ref} end local refargs if ref.name or ref.group then refargs = {name = ref.name, group = ref.group} end insert(refs, mw.getCurrentFrame:extensionTag("ref", ref.text, refargs)) end reftext = concat(refs) end

local separator = part.separator or j > 1 and " or " -- use "" to request no separator

if left_qualifiers then formatted = left_qualifiers .. formatted end if reftext then formatted = formatted .. reftext end if right_qualifiers then formatted = formatted .. right_qualifiers end if separator then formatted = separator .. formatted end

return formatted end

--[==[Return true if the given head is multiword according to the algorithm used in full_headword.]==] function export.head_is_multiword(head) for possibleWordBreak in rgmatch(head, spacingPunctuation) do		if rmatch(possibleWordBreak, notWordPunc) then return true end end

return false end

--[==[Add links to a multiword head.]==] function export.add_multiword_links(head, default) local function workaround_to_exclude_chars(s) return rsub(s, notWordPunc, "\2%1\1") end

head = "\1" .. rsub(head, spacingPunctuation, workaround_to_exclude_chars) .. "\2"	if default then head = head :gsub("(\1[^\2]*)\\([:#][^\2]*\2)", "%1\\\\%2") :gsub("(\1[^\2]*)([:#][^\2]*\2)", "%1\\%2") end

--Escape any remaining square brackets to stop them breaking links (e.g. "[citation needed]"). head = encode_entities(head, "[]", true, true)

--[=[	use this when workaround is no longer needed:

head = "" .. rsub(head, WORDBREAKCHARS, "%1") .. ""

Remove any empty links, which could have been created above at the beginning or end of the string. ]=]	return (head		:gsub("\1\2", "")		:gsub("[\1\2]", {["\1"] = "", ["\2"] = ""})) end

local function non_categorizable(full_raw_pagename) return full_raw_pagename:find("^Appendix:Gestures/") end

-- Format a headword with transliterations. local function format_headword(data) local m_scriptutils = require(script_utilities_module)

-- Are there non-empty transliterations? local has_translits = false local has_manual_translits = false

-- Format the headwords. --

local head_parts = {} local unique_head_parts = {}

local has_multiple_heads = #data.heads > 1

for j, head in ipairs(data.heads) do		if head.tr or head.ts then has_translits = true end if head.tr and head.tr_manual or head.ts then has_manual_translits = true end

local formatted

-- Apply processing to the headword, for formatting links and such. if head.term:find("[[", nil, true) and head.sc:getCode ~= "Image" then			formatted = require(links_module).language_link{term = head.term, lang = data.lang}		else			formatted = data.lang:makeDisplayText(head.term, head.sc, true)		end

local function tag_text_and_add_quals_and_refs(head, formatted, j) -- Add language and script wrapper. formatted = m_scriptutils.tag_text(formatted, data.lang, head.sc, "head", nil, j == 1 and data.id or nil)

-- Add qualifiers, references and separator. return format_term_with_qualifiers_and_refs(head, formatted, j)		end

local head_part = tag_text_and_add_quals_and_refs(head, formatted, j)		insert(head_parts, head_part)

-- If multiple heads, try to determine whether all heads display the same. To do this we need to effectively -- rerun the text tagging and addition of qualifiers and references, using 1 for all indices. if has_multiple_heads then local unique_head_part if j == 1 then unique_head_part = head_part else unique_head_part = tag_text_and_add_quals_and_refs(head, formatted, 1) end unique_head_parts[unique_head_part] = true end end

local set_size = 0 if has_multiple_heads then for _ in pairs(unique_head_parts) do			set_size = set_size + 1 end end if set_size == 1 then head_parts = head_parts[1] else head_parts = concat(head_parts) end

if has_manual_translits then -- Special:WhatLinksHere/Wiktionary:Tracking/headword/has-manual-translit -- Special:WhatLinksHere/Wiktionary:Tracking/headword/has-manual-translit/LANGCODE track("has-manual-translit", data.lang) end

-- Format the transliterations and transcriptions. --

local translits_formatted

if has_translits then local translit_parts = {} for _, head in ipairs(data.heads) do			if head.tr or head.ts then local this_parts = {} if head.tr then insert(this_parts, m_scriptutils.tag_translit(head.tr, data.lang:getCode, "head", nil, head.tr_manual)) if head.ts then insert(this_parts, " ") end end if head.ts then insert(this_parts, "/" .. m_scriptutils.tag_transcription(head.ts, data.lang:getCode, "head") .. "/") end insert(translit_parts, concat(this_parts)) end end

translits_formatted = " (" .. concat(translit_parts, " or ") .. ")"

local langname = data.lang:getCanonicalName local transliteration_page = mw.title.new(langname .. " transliteration", "Wiktionary") local saw_translit_page = false

if transliteration_page and transliteration_page.exists then translits_formatted = " •" .. translits_formatted saw_translit_page = true end -- If data.lang is an etymology-only language and we didn't find a translation page for it, fall back to the -- full parent. if not saw_translit_page and data.lang:hasType("etymology-only") then langname = data.lang:getFullName transliteration_page = mw.title.new(langname .. " transliteration", "Wiktionary") if transliteration_page and transliteration_page.exists then translits_formatted = " •" .. translits_formatted end end else translits_formatted = "" end

-- Paste heads and transliterations/transcriptions. --

local lemma_gloss if data.gloss then lemma_gloss = ' ' .. data.gloss .. ' '	else lemma_gloss = "" end

return head_parts .. translits_formatted .. lemma_gloss end

local function format_genders(data) local retval = "" if data.genders and #data.genders > 0 then if data.gloss then retval = "," end local pos_for_cat if not data.nogendercat and not m_data.no_gender_cat[data.lang:getCode] and not m_data.no_gender_cat[data.lang:getFullCode] then local pos_category = data.pos_category:gsub("^reconstructed ", "") pos_for_cat = m_data.pos_for_gender_number_cat[pos_category] end local text, cats = require(gender_and_number_module).format_genders(data.genders, data.lang, pos_for_cat) for _, cat in ipairs(cats) do			insert(data.categories, cat) end retval = retval .. " " .. text end return retval end

local function format_inflection_parts(data, parts) local any_part_translit = false

for j, part in ipairs(parts) do		if type(part) ~= "table" then part = {term = part} end

local partaccel = part.accel local face = part.face or "bold" if face ~= "bold" and face ~= "plain" and face ~= "hypothetical" then error("The face `" .. face .. "` " .. ( mw.loadData(script_utilities_data_module).faces[face] and "should not be used for non-headword terms on the headword line." or "is invalid." ))		end

-- Here the final part 'or data.nolinkinfl' allows to have 'nolinkinfl=true' -- right into the 'data' table to disable inflection links of the entire headword -- when inflected forms aren't entry-worthy, e.g.: in Vulgar Latin local nolinkinfl = part.face == "hypothetical" or (part.nolink and track("nolink") or part.nolinkinfl) or (			data.nolink and track("nolink") or data.nolinkinfl)

local formatted if part.label then -- FIXME: There should be a better way of italicizing a label. As is, this isn't customizable. formatted = "''" .. part.label .. "''"		else -- Convert the term into a full link. Don't show a transliteration here unless enable_auto_translit is -- requested, either at the `parts` level (i.e. per inflection) or at the `data.inflections` level (i.e.			-- specified for all inflections). This is controllable in using autotrinfl=1 for all inflections, -- or fNautotr=1 for an individual inflection (remember that a single inflection may be associated with			-- multiple terms). The reason for doing this is to avoid clutter in headword lines by default in languages -- where the script is relatively straightforward to read by learners (e.g. Greek, Russian), but allow it -- to be enabled in languages with more complex scripts (e.g. Arabic). local tr = part.translit or (not (parts.enable_auto_translit or data.inflections.enable_auto_translit) and "-" or nil) if tr ~= "-" then any_part_translit = true end formatted = require(links_module).full_link(				{					term = not nolinkinfl and part.term or nil,					alt = part.alt or (nolinkinfl and part.term or nil),					lang = part.lang or data.lang,					sc = part.sc or parts.sc or nil,					id = part.id,					genders = part.genders,					tr = tr,					ts = part.transcription,					accel = partaccel or parts.accel,				},				face				) end

parts[j] = format_term_with_qualifiers_and_refs(part, formatted, j)	end

local parts_output

if #parts > 0 then parts_output = (parts.label and " " or "") .. concat(parts) elseif parts.request then parts_output = " [please provide] " insert(data.categories, "Requests for inflections in " .. data.lang:getFullName .. " entries") else parts_output = "" end

local parts_label = parts.label and ("" .. parts.label .. "") or "" return parts_label .. parts_output, any_part_translit end

-- Format the inflections following the headword. local function format_inflections(data) local any_part_translit = false if data.inflections and #data.inflections > 0 then -- Format each inflection individually. for key, infl in ipairs(data.inflections) do			local this_any_part_translit data.inflections[key], this_any_part_translit = format_inflection_parts(data, infl) if this_any_part_translit then any_part_translit = true end end

local concat_result = concat(data.inflections, ", ") return " (" .. concat_result .. ")" else return "" end end

--[==[ -- Returns the plural form of `pos`, a raw part of speech input, which could be singular or -- plural. Irregular plural POS are taken into account (e.g. "kanji" pluralizes to -- "kanji").]==] function export.pluralize_pos(pos) return m_data.irregular_plurals[pos] or		pos:sub(-1) == "s" and pos or		-- Make the plural form of the part of speech require("Module:string utilities").pluralize(pos) end

--[==[ -- Return "lemma" if the given POS is a lemma, "non-lemma form" if a non-lemma form, or nil -- if unknown. The POS passed in must be in its plural form ("nouns", "prefixes", etc.). -- If you have a POS in its singular form, call export.pluralize_pos above to pluralize it -- in a smart fashion that knows when to add "-s" and when to add "-es", and also takes -- into account any irregular plurals.]==] -- -- If `best_guess` is given and the POS is in neither the lemma nor non-lemma list, guess -- based on whether it ends in " forms"; otherwise, return nil.]==] function export.pos_lemma_or_nonlemma(plpos, best_guess) -- Is it a lemma category? if isLemma[plpos] then return "lemma" end local plpos_no_recon = plpos:gsub("^reconstructed ", "") if isLemma[plpos_no_recon] then return "lemma" end -- Is it a nonlemma category? if isNonLemma[plpos] or isNonLemma[plpos_no_recon] then return "non-lemma form" end local plpos_no_mut = plpos:gsub("^mutated ", "") if isLemma[plpos_no_mut] or isNonLemma[plpos_no_mut] then return "non-lemma form" elseif best_guess then return plpos:find(" forms$") and "non-lemma form" or "lemma" else return nil end end

-- Find and return the maximum index in the array `data[element]` (which may have gaps in it), and initialize it to a -- zero-length array if unspecified. Check to make sure all keys are numeric (other than "maxindex", which is set by -- Module:parameters for list parameters), all values are strings, and unless `allow_blank_string` is given, -- no blank (zero-length) strings are present. local function init_and_find_maximum_index(data, element, allow_blank_string) local maxind = 0 if not data[element] then data[element] = {} end local typ = type(data[element]) if typ ~= "table" then error(("In full_headword, `data.%s` must be an array but is a %s"):format(element, typ)) end for k, v in pairs(data[element]) do		if k ~= "maxindex" then if type(k) ~= "number" then error(("Unrecognized non-numeric key '%s' in `data.%s`"):format(k, element)) end if k > maxind then maxind = k			end if v then if type(v) ~= "string" then error(("For key '%s' in `data.%s`, value should be a string but is a %s"):format(k, element, type(v))) end if not allow_blank_string and v == "" then error(("For key '%s' in `data.%s`, blank string not allowed; use 'false' for the default"):format(k, element)) end end end end return maxind end

--[==[ -- Add the page to various maintenance categories for the language and the -- whole page. These are placed in the headword somewhat arbitrarily, but -- mainly because headword templates are mandatory for entries (meaning that -- in theory it provides full coverage). -- -- This is provided as an external entry point so that modules which transclude -- information from other entries (such as ja-see) can take advantage -- of this feature as well, because they are used in place of a conventional -- headword template.]==] do -- Handle any manual sortkeys that have been specified in raw categories -- by tracking if they are the same or different from the automatically- -- generated sortkey, so that we can track them in maintenance -- categories. local function handle_raw_sortkeys(tbl, sortkey, page, lang, lang_cats) sortkey = sortkey or lang:makeSortKey(page.pagename) -- If there are raw categories with no sortkey, then they will be		-- sorted based on the default MediaWiki sortkey, so we check against -- that. if tbl == true then if page.raw_defaultsort ~= sortkey then insert(lang_cats, lang:getFullName .. " terms with non-redundant non-automated sortkeys") end return end local redundant, different for k in pairs(tbl) do			if k == sortkey then redundant = true else different = true end end if redundant then insert(lang_cats, lang:getFullName .. " terms with redundant sortkeys") end if different then insert(lang_cats, lang:getFullName .. " terms with non-redundant non-automated sortkeys") end return sortkey end function export.maintenance_cats(page, lang, lang_cats, page_cats) for _, cat in ipairs(page.cats) do			insert(page_cats, cat) end lang = lang:getFull -- since we are just generating categories local canonical = lang:getCanonicalName local tbl, sortkey = page.wikitext_topic_cat[lang:getCode] if tbl then sortkey = handle_raw_sortkeys(tbl, sortkey, page, lang, lang_cats) insert(lang_cats, canonical .. " entries with topic categories using raw markup") end tbl = page.wikitext_langname_cat[canonical] if tbl then handle_raw_sortkeys(tbl, sortkey, page, lang, lang_cats) insert(lang_cats, canonical .. " entries with language name categories using raw markup") end if require(utilities_module).get_current_L2 ~= canonical then insert(lang_cats, canonical .. " entries with incorrect language header") end end end

--[==[This is the primary external entry point.

This is used by and various language-specific headword templates (e.g.  for Russian adjectives,  for German nouns, etc.) to display an entire headword line. See ]==] function export.full_headword(data) local remove_links = require(links_module).remove_links local format_categories = require(utilities_module).format_categories

-- Prevent data from being destructively modified. local data = require(table_module).shallowcopy(data)

1. Basic checks for old-style (multi-arg) calling convention.

if data.getCanonicalName then error("In full_headword, the first argument `data` needs to be a Lua object (table) of properties, not a language object") end

if not data.lang or type(data.lang) ~= "table" or not data.lang.getCode then error("In full_headword, the first argument `data` needs to be a Lua object (table) and `data.lang` must be a language object") end

if data.id and type(data.id) ~= "string" then error("The id in the data table should be a string.") end

2. Initialize pagename etc.

local langcode = data.lang:getCode local full_langcode = data.lang:getFullCode local langname = data.lang:getCanonicalName local full_langname = data.lang:getFullName

local raw_pagename, page = data.pagename if raw_pagename and raw_pagename ~= m_data.pagename then -- for testing, doc pages, etc.		page = require(headword_page_module).process_page(raw_pagename) else page = m_data.page end

-- Check the namespace against the language type. if page.namespace == "" then if data.lang:hasType("reconstructed") then error("Entries in " .. langname .. " must be placed in the Reconstruction: namespace") elseif data.lang:hasType("appendix-constructed") then error("Entries in " .. langname .. " must be placed in the Appendix: namespace") end end

3. Initialize `data.heads` table; if old-style, convert to new-style.

if type(data.heads) == "table" and type(data.heads[1]) == "table" then -- new-style if data.translits or data.transcriptions then error("In full_headword, if `data.heads` is new-style (array of head objects), `data.translits` and `data.transcriptions` cannot be given") end else -- convert old-style `heads`, `translits` and `transcriptions` to new-style local maxind = math.max(			init_and_find_maximum_index(data, "heads"),			init_and_find_maximum_index(data, "translits", true),			init_and_find_maximum_index(data, "transcriptions", true)		) for i = 1, maxind do			data.heads[i] = { term = data.heads[i], tr = data.translits[i], ts = data.transcriptions[i], }		end end

-- Make sure there's at least one head. if not data.heads[1] then data.heads[1] = {} end

4. Initialize and validate `data.categories` and `data.whole_page_categories`, and determine `pos_category` if not given, and add basic categories.

init_and_find_maximum_index(data, "categories") init_and_find_maximum_index(data, "whole_page_categories") local pos_category_already_present = false if #data.categories > 0 then local escaped_langname = pattern_escape(full_langname) local matches_lang_pattern = "^" .. escaped_langname .. " "		for _, cat in ipairs(data.categories) do -- Does the category begin with the language name? If not, tag it with a tracking category. if not cat:find(matches_lang_pattern) then -- Special:WhatLinksHere/Wiktionary:Tracking/headword/no lang category -- Special:WhatLinksHere/Wiktionary:Tracking/headword/no lang category/LANGCODE track("no lang category", data.lang) end end

-- If `pos_category` not given, try to infer it from the first specified category. If this doesn't work, we -- throw an error below. if not data.pos_category and data.categories[1]:find(matches_lang_pattern) then data.pos_category = data.categories[1]:gsub(matches_lang_pattern, "") -- Optimization to avoid inserting category already present. pos_category_already_present = true end end

if not data.pos_category then error("`data.pos_category` not specified and could not be inferred from the categories given in "			.. "`data.categories`. Either specify the plural part of speech in `data.pos_category` "			.. "(e.g. \"proper nouns\") or ensure that the first category in `data.categories` is formed from the "			.. "language's canonical name plus the plural part of speech (e.g. \"Norwegian Bokmål proper nouns\")."			) end

-- Insert a category at the beginning for the part of speech unless it's already present or `data.noposcat` given. if not pos_category_already_present and not data.noposcat then local pos_category = full_langname .. " " .. data.pos_category -- FIXME: User:Theknightwho Why is this special case here? Please add an explanatory comment. if pos_category ~= "Translingual Han characters" then insert(data.categories, 1, pos_category) end end

-- Try to determine whether the part of speech refers to a lemma or a non-lemma form; if we can figure this out, -- add an appropriate category. local postype = export.pos_lemma_or_nonlemma(data.pos_category) if not postype then -- We don't know what this category is, so tag it with a tracking category. -- Special:WhatLinksHere/Wiktionary:Tracking/headword/unrecognized pos -- Special:WhatLinksHere/Wiktionary:Tracking/headword/unrecognized pos/LANGCODE track("unrecognized pos", data.lang) -- Special:WhatLinksHere/Wiktionary:Tracking/headword/unrecognized pos/POS -- Special:WhatLinksHere/Wiktionary:Tracking/headword/unrecognized pos/POS/LANGCODE track("unrecognized pos/pos/" .. data.pos_category, data.lang) elseif not data.noposcat then insert(data.categories, 1, full_langname .. " " .. postype .. "s") end

5. Create a default headword, and add links to multiword page names.

-- Determine if term is reconstructed local is_reconstructed = page.namespace == "Reconstruction" or data.lang:hasType("reconstructed")

-- Create a default headword based on the pagename, which is determined in -- advance by the data module so that it only needs to be done once. local default_head = page.pagename

-- Add links to multi-word page names when appropriate if not data.nolinkhead and not m_data.no_multiword_links[langcode] and not m_data.no_multiword_links[full_langcode] and	not is_reconstructed and export.head_is_multiword(default_head) then default_head = export.add_multiword_links(default_head, true) end

if is_reconstructed then default_head = "*" .. default_head end

6. Fill in missing values in `data.heads`.

-- True if any script among the headword scripts has spaces in it. local any_script_has_spaces = false -- True if any term has a redundant head= param. local has_redundant_head_param = false

for _, head in ipairs(data.heads) do

-- 6a. If missing head, replace with default head. if not head.term then head.term = default_head elseif head.term == default_head then has_redundant_head_param = true end

-- 6b. Try to detect the script(s) if not provided. If a per-head script is provided, that takes precedence, --    otherwise fall back to the overall script if given. If neither given, autodetect the script. local auto_sc = data.lang:findBestScript(head.term) if (			auto_sc:getCode == "None" and			require(scripts_module).findBestScriptWithoutLang(head.term):getCode ~= "None"		) then insert(data.categories, full_langname .. " terms in nonstandard scripts") end if not (head.sc or data.sc) then -- No script code given, so use autodetected script. head.sc = auto_sc else if not head.sc then -- Overall script code given. head.sc = data.sc			end -- Track uses of sc parameter. if head.sc:getCode == auto_sc:getCode then insert(data.categories, full_langname .. " terms with redundant script codes") else insert(data.categories, full_langname .. " terms with non-redundant manual script codes") end end

-- If using a discouraged character sequence, add to maintenance category. if head.sc:hasNormalizationFixes == true then local composed_head = toNFC(head.term) if head.sc:fixDiscouragedSequences(composed_head) ~= composed_head then insert(data.whole_page_categories, "Pages using discouraged character sequences") end end

any_script_has_spaces = any_script_has_spaces or head.sc:hasSpaces

-- 6c. Create automatic transliterations for any non-Latin headwords without manual translit given --    (provided automatic translit is available, e.g. not in Persian or Hebrew).

-- Make transliterations head.tr_manual = nil

-- Try to generate a transliteration if necessary if head.tr == "-" then head.tr = nil elseif not notranslit[langcode] and not notranslit[full_langcode] and head.sc:isTransliterated then head.tr_manual = not not head.tr

local text = head.term if not data.lang:link_tr(head.sc) then text = remove_links(text) end

local automated_tr, tr_categories automated_tr, head.tr_fail, tr_categories = data.lang:transliterate(text, head.sc)

if automated_tr or head.tr_fail then local manual_tr = head.tr

if manual_tr then if (remove_links(manual_tr) == remove_links(automated_tr)) and (not head.tr_fail) then insert(data.categories, full_langname .. " terms with redundant transliterations") elseif not head.tr_fail then insert(data.categories, full_langname .. " terms with non-redundant manual transliterations") end end

if not manual_tr then head.tr = automated_tr for _, category in ipairs(tr_categories) do						insert(data.categories, category) end end end

-- There is still no transliteration? -- Add the entry to a cleanup category. if not head.tr then head.tr = " transliteration needed " -- FIXME: No current support for 'Request for transliteration of Classical Persian terms' or similar. -- Consider adding this support in Module:category tree/poscatboiler/data/entry maintenance. insert(data.categories, "Requests for transliteration of " .. full_langname .. " terms") else -- Otherwise, trim it. head.tr = mw.text.trim(head.tr) end end

-- Link to the transliteration entry for languages that require this. if head.tr and data.lang:link_tr(head.sc) then head.tr = require(links_module).full_link { term = head.tr, lang = data.lang, sc = require(scripts_module).getByCode("Latn"), tr = "-" }		end end

7. Maybe tag the title with the appropriate script code, using the `display_title` mechanism.

-- Assumes that the scripts in "toBeTagged" will never occur in the Reconstruction namespace. -- (FIXME: Don't make assumptions like this, and if you need to do so, throw an error if the assumption is violated.) -- Avoid tagging ASCII as Hani even when it is tagged as Hani in the headword, as in check. The check for ASCII -- might need to be expanded to a check for any Latin characters and whitespace or punctuation. local display_title -- Where there are multiple headwords, use the script for the first. This assumes the first headword is similar to -- the pagename, and that headwords that are in different scripts from the pagename aren't first. This seems to be -- about the best we can do (alternatively we could potentially do script detection on the pagename). local dt_script = data.heads[1].sc	local dt_script_code = dt_script:getCode local page_non_ascii = page.namespace == "" and not page.pagename:find("^[%z\1-\127]+$") local unsupported_pagename, unsupported = page.full_raw_pagename:gsub("^Unsupported titles/", "") if unsupported == 1 and page.unsupported_titles[unsupported_pagename] then display_title = 'Unsupported titles/' .. page.unsupported_titles[unsupported_pagename] .. ' '	elseif page_non_ascii and toBeTagged[dt_script_code] or (dt_script_code == "Jpan" and (text_in_script(page.pagename, "Hira") or text_in_script(page.pagename, "Kana"))) or (dt_script_code == "Kore" and text_in_script(page.pagename, "Hang")) then display_title = '' .. page.full_raw_pagename .. ' '	-- Keep Han entries region-neutral in the display title. elseif page_non_ascii and (dt_script_code == "Hant" or dt_script_code == "Hans") then display_title = ' ' .. page.full_raw_pagename .. ' '	elseif page.namespace == "Reconstruction" then local matched display_title, matched = rsubn(			page.full_raw_pagename,			"^(Reconstruction:[^/]+/)(.+)$",			function(before, term)				return before ..					require(script_utilities_module).tag_text( term, data.lang, dt_script )			end		) if matched == 0 then display_title = nil end end

if display_title then mw.getCurrentFrame:callParserFunction(			"DISPLAYTITLE",			display_title		) end

8. Insert additional categories.

if data.force_cat_output then -- Special:WhatLinksHere/Wiktionary:Tracking/headword/force cat output track("force cat output") end

if has_redundant_head_param then if not data.no_redundant_head_cat then insert(data.categories, full_langname .. " terms with redundant head parameter") end end

-- If the first head is multiword (after removing links), maybe insert into "LANG multiword terms". if not data.nomultiwordcat and any_script_has_spaces and postype == "lemma" and not m_data.no_multiword_cat[langcode] and not m_data.no_multiword_cat[full_langcode] then -- Check for spaces or hyphens, but exclude prefixes and suffixes. -- Use the pagename, not the head= value, because the latter may have extra -- junk in it, e.g. superscripted text that throws off the algorithm. local checkpattern = ".[%s%-፡]." if m_data.hyphen_not_multiword_sep[langcode] or m_data.hyphen_not_multiword_sep[full_langcode] then -- Exclude hyphens if the data module states that they should for this language checkpattern = ".[%s፡]." end if rmatch(page.pagename, checkpattern) and not non_categorizable(page.full_raw_pagename) then insert(data.categories, full_langname .. " multiword terms") end end

if data.sccat then for _, head in ipairs(data.heads) do insert(data.categories, full_langname .. " " .. data.pos_category .. " in " ..				head.sc:getDisplayForm) end end

-- Reconstructed terms often use weird combinations of scripts and realistically aren't spelled so much as notated. if page.namespace ~= "Reconstruction" then -- Map from languages to a string containing the characters to ignore when considering whether a term has -- multiple written scripts in it. Typically these are Greek or Cyrillic letters used for their phonetic -- values. local characters_to_ignore = { ["aaq"] = "α", -- Penobscot ["acy"] = "δθ", -- Cypriot Arabic ["anc"] = "γ", -- Ngas ["aou"] = "χ", -- A'ou			["awg"] = "β", -- Anguthimri ["bhp"] = "β", -- Bima ["byk"] = "θ", -- Biao ["cdy"] = "θ", -- Chadong ["clm"] = "χ", -- Klallam ["col"] = "χ", -- Colombia-Wenatchi ["coo"] = "χ", -- Comox; FIXME: others? E.g. Greek theta (θ)? ["ets"] = "θ", -- Yekhee ["gmw-gts"] = "χ", -- Gottscheerish ["hur"] = "θ", -- Halkomelem ["izh"] = "ь", -- Ingrian ["kic"] = "θ", -- Kickapoo ["lil"] = "χ", -- Lillooet ["mhz"] = "β", -- Mor (Austronesian) ["neg"]= "ӡ", -- Negidal (normally in Cyrillic) ["oui"] = "γβ", -- Old Uyghur: FIXME: others? E.g. Greek delta (δ)? ["pox"] = "χ", -- Polabian ["rom"] = "Θθ", -- Romani: International Standard; two different thetas??? ["sah"] = "ь", -- Yakut (1929 - 1939 Latin spelling) ["sjw"] = "θ", -- Shawnee ["squ"] = "χ", -- Squamish ["str"] = "χθ", -- Saanich; uses two Greek letters ["twa"] = "χ", -- Twana ["yha"] = "θ", -- Baha ["za"] = "зч", -- Zhuang; 1957-1982 alphabet used two Cyrillic letters (as well as some others like						  -- ƃ, ƅ, ƨ, ɯ and ɵ that look like Cyrillic or Greek but are actually Latin) ["zlw-slv"] = "χђћ", -- Slovincian; FIXME: χ is Greek, the other two are Cyrillic, but I'm not sure -- the currect characters are being chosen in the entry names ["zng"] = "θ", -- Mang }		-- Determine how many real scripts are found in the pagename, where we exclude symbols and such. We exclude -- scripts whose `character_category` is false as well as Zmth (mathematical notation symbols), which has a -- category of "Mathematical notation symbols". When counting scripts, we need to elide language-specific -- variants because e.g. Beng and as-Beng have slightly different characters but we don't want to consider them -- two different scripts (e.g. এৰ has two characters which are detected respectively as Beng and as-Beng). local seen_scripts = {} local num_seen_scripts = 0 local num_loops = 0 local canon_pagename = page.pagename local ch_to_ignore = characters_to_ignore[full_langcode] if ch_to_ignore then canon_pagename = rsub(canon_pagename, "[" .. ch_to_ignore .. "]", "") end local script_data = mw.loadData(scripts_data_module) while true do			if canon_pagename == "" or num_seen_scripts >= 2 or num_loops >= 10 then break end -- Make sure we don't get into a loop checking the same script over and over again; happens with e.g. ᠪᡳ num_loops = num_loops + 1 local pagename_script = require(scripts_module).findBestScriptWithoutLang(canon_pagename, "None only as last resort") local script_chars = pagename_script.characters if not script_chars then -- we are stuck; this happens with None break end local script_code = pagename_script:getCode local replaced canon_pagename, replaced = rsubn(canon_pagename, "[" .. script_chars .. "]", "") if replaced and script_code ~= "Zmth" and script_data[script_code] and script_data[script_code].character_category ~= false then script_code = script_code:gsub("^.-%-", "") if not seen_scripts[script_code] then seen_scripts[script_code] = true num_seen_scripts = num_seen_scripts + 1 end end end

if num_seen_scripts > 1 then insert(data.categories, full_langname .. " terms written in multiple scripts") end end -- Categorise for unusual characters. Takes into account combining characters, so that we can categorise for characters with diacritics that aren't encoded as atomic characters (e.g. U̠). These can be in two formats: single combining characters (i.e. character + diacritic(s)) or double combining characters (i.e. character + diacritic(s) + character). Each can have any number of diacritics. local standard = data.lang:getStandardCharacters if standard and not non_categorizable(page.full_raw_pagename) then local function char_category(char) local specials = { ["#"] = "number sign", ["("] = "parentheses",				[")"] = "parentheses", ["<"] = "angle brackets", [">"] = "angle brackets", ["["] = "square brackets", ["]"] = "square brackets", ["_"] = "underscore", ["{"] = "braces", ["|"] = "vertical line", ["}"] = "braces", ["ß"] = "ẞ", ["\205\133"] = "", -- this is UTF-8 for U+0345 ( ͅ) ["\239\191\189"] = "replacement character", }			char = toNFD(char) :gsub(".[\128-\191]*", function(m)					local new_m = specials[m]					new_m = new_m or m:uupper					return new_m				end) return toNFC(char) end if full_langcode ~= "hi" and full_langcode ~= "lo" then local standard_chars_scripts = {} for _, head in ipairs(data.heads) do				standard_chars_scripts[head.sc:getCode] = true end -- Iterate over the scripts, in case there is more than one (as they can have different sets of standard characters). for code in pairs(standard_chars_scripts) do				local sc_standard = data.lang:getStandardCharacters(code) if sc_standard then if page.pagename_len > 1 then local explode_standard = {} local function explode(char) explode_standard[char] = true return "" end local sc_standard = rsub(sc_standard, page.comb_chars.combined_double, explode) sc_standard = rsub(sc_standard,page.comb_chars.combined_single, explode) :gsub(".[\128-\191]*", explode) local num_cat_inserted for char in pairs(page.explode_pagename) do							if not explode_standard[char] then if char:find("[0-9]") then if not num_cat_inserted then insert(data.categories, full_langname .. " terms spelled with numbers") num_cat_inserted = true end elseif rfind(char, page.emoji_pattern) then insert(data.categories, full_langname .. " terms spelled with emoji") else local upper = char_category(char) if not explode_standard[upper] then char = upper end insert(data.categories, full_langname .. " terms spelled with " .. char) end end end end -- If a diacritic doesn't appear in any of the standard characters, also categorise for it generally. sc_standard = toNFD(sc_standard) for diacritic in rgmatch(page.decompose_pagename, page.comb_chars.diacritics_single) do						if not rmatch(sc_standard, diacritic) then insert(data.categories, full_langname .. " terms spelled with ◌" .. diacritic) end end for diacritic in rgmatch(page.decompose_pagename, page.comb_chars.diacritics_double) do						if not rmatch(sc_standard, diacritic) then insert(data.categories, full_langname .. " terms spelled with ◌" .. diacritic .. "◌") end end end end -- Ancient Greek, Hindi and Lao handled the old way for now, as their standard chars still need to be converted to the new format (because there are a lot of them). elseif ulen(page.pagename) ~= 1 then for character in rgmatch(page.pagename, "([^" .. standard .. "])") do				local upper = char_category(character) if not rmatch(upper, "[" .. standard .. "]") then character = upper end insert(data.categories, full_langname .. " terms spelled with " .. character) end end end if data.heads[1].sc:isSystem("alphabet") then local pagename, i = page.pagename:ulower, 2 while rmatch(pagename, "(%a)" .. ("%1"):rep(i)) do			i = i + 1 insert(data.categories, full_langname .. " terms with " .. i .. " consecutive instances of the same letter") end end -- Categorise for palindromes if not data.nopalindromecat and page.namespace ~= "Reconstruction" and ulen(page.pagename) > 2 -- FIXME: Use of first script here seems hacky. What is the clean way of doing this in the presence of -- multiple scripts? and require(palindromes_module).is_palindrome(page.pagename, data.lang, data.heads[1].sc) then insert(data.categories, full_langname .. " palindromes") end

if page.namespace == "" and not data.lang:hasType("reconstructed") then local m_links = require(links_module) for _, head in ipairs(data.heads) do			if page.full_raw_pagename ~= m_links.get_link_page(remove_links(head.term), data.lang, head.sc) then -- Special:WhatLinksHere/Wiktionary:Tracking/headword/pagename spelling mismatch -- Special:WhatLinksHere/Wiktionary:Tracking/headword/pagename spelling mismatch/LANGCODE track("pagename spelling mismatch", data.lang) break end end end

-- Add to various maintenance categories. export.maintenance_cats(page, data.lang, data.categories, data.whole_page_categories)

9. Format and return headwords, genders, inflections and categories.

-- Format and return all the gathered information. This may add more categories (e.g. gender/number categories), -- so make sure we do it before evaluating `data.categories`. local text = ' ' .. format_headword(data) .. format_genders(data) .. format_inflections(data) .. ' '

-- Language-specific categories. local cats = format_categories(		data.categories, data.lang, data.sort_key, page.encoded_pagename,		data.force_cat_output or test_force_categories, data.heads[1].sc	) -- Language-agnostic categories. local whole_page_cats = format_categories(		data.whole_page_categories, nil, "-"	) return text .. cats .. whole_page_cats end

return export

title: Module:headword


text:
㡄

Han character

 * 1) collar

title: 㡄


text:
Module:headword/documentation

This module is used to show headword lines, along with any annotations like genders, transliterations and inflections. It's used by the template, via the submodule Module:headword/templates. It's also used by many other headword modules; for a full list, see Category:Headword-line modules. Some of the data used by this module is found in Module:headword/data.

Further explanations for full_headword
The sole argument,, is a table containing the following items (WARNING: they will be destructively modified):

Further explanation:

 * is required and is a language object from Module:languages corresponding to a given language. For example, use to retrieve the object corresponding to Russian.
 * is optional and allows you to override the pagename used variously in the module (e.g. as the default value when a head is omitted, for setting categories such as palindromes and, etc.).
 * is a table listing the heads of the headword. Each element is either a string specifying only the headword itself (old-style), or an object specifying all the properties of the headword (new-style). You cannot mix and match these two styles; all elements should be of one type or the other. If no heads are specified at all ( is omitted or is an empty array), a default head is set based on the assumed pagename (either the actual pagename or the value of, if set). When using old-style head strings, a given head in the array can be , in which case a default head is set as above. When head objects are used, a given object can have the following properties:
 * : A string specifying the headword. This can be omitted, in which case a default head is set as above. Explicit headwords are generally used to specify extra diacritics (in languages with such diacritics, e.g. Russian, Arabic, Latin, Ancient Greek, Old English, etc.), or to link individual words of a multiword term, particularly when the words are inflected forms. Note that by default, each word is linked individually to itself, so there is no need to specify links for a term like . Some additional notes:
 * If a headword string contains wikilinks, they are converted into language-section links for the given language (using, which is also used by ). For example, giving , if the language provided is English, will produce: . If string is prefixed with * or if any of the links are, then they are interpreted as reconstructed terms and it will create links to the Reconstruction namespace as appropriate.
 * If the page name contains spaces or punctuation marks (except for punctuation marks that are used inside of words), it is split and each individual word is automatically wikilinked as above.
 * If the current page is in the  namespace, then an asterisk  will be prepended to the headword to indicate that it is a reconstructed term.
 * : A string specifying the transliteration of the headword. This is only needed when the headword is in a non-Latin script, and even then only when the automatic transliteration specified using the language's transliteration module is incorrect (or the language has no transliteration module, such as with Persian and Hebrew). For languages with a transliteration module, pass in to suppress the transliteration entirely.
 * : A string specifying the transcription of the headword. This is only used in a few languages with non-Latin scripts where the spelling is significantly different from the pronunciation, such as Akkadian, Old Persian or Hittite. In cases like this, the transliteration usually reflects the spelling and the transcription reflects the pronunciation. For this reason, transcriptions are displayed between slashes. Transcriptions should NOT be used simply to display IPA pronunciation of a language like Russian or Arabic. Unlike for transliterations, there are no automatic transcription modules.
 * : An optional script object from Module:scripts corresponding to a given script, specifying the script that the headword is in. If omitted, defaults to the top-level value. Most of the time, neither the per-headword script nor top-level script need to be specified: If both are omitted, Module:scripts will determine the script(s) using the list of scripts in the language's data file and the characters that are in the headword. Specifically, if there are multiple possible scripts for a language, the script with the largest number of characters in the headword is chosen.
 * : An optional array specifying one of more qualifiers displayed to the left of the headword. Qualifiers are displayed in italics and with parentheses around them, and are intended to specify relevant properties of the headword, especially when there is more than one headword.
 * : An optional array specifying one of more qualifiers displayed to the right of the headword, as above.
 * : An optional array specifying one of more references (i.e. footnotes) for the headword. This is similar to using  to specify a reference/footnote after a given word in the text. Each element of the array is either a string (the text of the reference) or an object of the form . In this latter format:
 * specifies the reference text (which cannot be ; use a blank string when cross-referencing to another reference);
 * gives an optional name to the reference for cross-reference purposes, if the reference text is non-empty, similarly to ; however, if the reference text is empty, it specifies a cross-reference to a previously-named reference, similarly to  ;
 * gives an optional group to the reference for grouping purposes, similarly to ; however, if the reference text is empty, it specifies the group of a cross-reference to a previously-named reference, similarly to.
 * : The separator preceding the headword. If omitted, the default value is  (i.e. the italicized word or surrounded by spaces) for the second and higher headword, and a blank string for the first headword. Use a blank string to request no separator at all.
 * is an optional table listing the transliterations corresponding to each headword in, when old-style head strings are used; omitting this field is equivalent to setting it to an empty list. If new-style head objects are used, this field must be omitted. The Nth numbered entry should be either a string specifying the transliteration of headword N, or may be omitted, as with the property described above. Note that, if there are multiple headwords, the table in  might have entries in the middle of the list that are . A list of this sort cannot be created with , as attempting to insert  this way does nothing. Instead, each transliteration must be explicitly assigned using a number as index, e.g. ; here, item  is , because no value was assigned to it.
 * is an optional table listing the transcriptions corresponding to each headword in, when old-style head strings are used; omitting this field is equivalent to setting it to an empty list. If new-style head objects are used, this field must be omitted. It is of the same format as , and can have holes in it as needed. The meaning of the transcription field is as described abobe for.
 * is an optional script object from Module:scripts corresponding to a given script. If specified, this applies equally to all heads specified using ; if you need to specify per-head scripts, use the head object format documented above. Most of the time you can omit this item, and Module:scripts will determine the script(s) as specified above for the headword property.
 * is a table listing the gender/number specifications for the headwords. This can be omitted for no genders or numbers. Each element is either a string specifying a gender/number spec, or a table of the form {{lua|1={spec = "gender/number_spec", qualifiers = nil or {"qualifier1", "qualifier2", ...} }}. In either case, the accepted values for genders or numbers are given in Module:gender and number; examples are for masculine,  for feminine animate plural and  for noun class 2 in languages such as Swahili that have noun classes. If the format with qualifiers is given, the qualifiers are displayed to the left of the gender/number specification. Categories are automatically added according to the specific genders, e.g.   for the language specified in  if the gender is masculine and the part of speech (see below) is   or  . To suppress the addition of these categories, specify.
 * is a table listing the inflections to be displayed in the headword entry. The format of this table is somewhat complex and is described below under.
 * is the part-of-speech category for the entry. This is one of the  and   parts of speech listed in Module:headword/data. It should be in the plural: for example, . If this item is omitted, the part of speech category must be included in as the first item in.
 * is a table listing the categories to which the entry containing the headword will be added. The first category should be a part-of-speech category, with the canonical name of the language at the beginning – – unless the part of speech is given in the field.
 * is a table listing language-agnostic categories to which the page will be added, which it is nevertheless useful for the headword module to handle (e.g. Category:Unsupported titles). Because they are not tied to a language, pages in them should be sorted according to their DEFAULTSORT: values for the sake of consistency. Note that some of these - including "Category:Unsupported titles" - are already handled automatically.
 * is a string specifying a sort key for the categories listed in . Sort keys should usually be omitted, because the  function in Module:utilities will generate a suitable sortkey in most cases. The sortkey is used to ensure that the page is listed in the correct order in the categories to which it belongs.
 * is a boolean value determining whether or not to link the individual words of a multiword headword, which is done by default.
 * is a boolean value determining whether or not to link the inflections of the entire headword. Not to be confused with, which disables linking only for one of the inflections. It is used, for example, by Module:la-headword for reconstructed terms.

A simple example
might give (depending on the page it's run on):

which displays as:
 * book (plural books)

A fuller example
might give (depending on the page it's run on):

which displays as:
 * Hund m (genitive Hundes or Hunds, plural Hunde or (nonstandard) Hünde, diminutive Hündchen n or Hündlein n )

An example in a non-Latin script
This example is in Russian, which has automatic transliteration:

might give (depending on the page it's run on):

which displays as
 * кни́га • ( kníga  ) f inan (genitive кни́ги, nominative plural кни́ги, genitive plural книг)

Note a few things about the transliteration:
 * If the transliteration is specified and non-empty, Module:headword adds some stuff before and after it. For example, if the transliteration is and the language is Hebrew, produces   which looks like “• ( foo )”.
 * The bullet linking to a transliteration policy page is only added if the page actually exists.

A fuller example in a non-Latin script
This example is in Russian, with two headwords, each of which requires manual transliteration:

might give (depending on the page it's run on):

which displays as
 * интервьюе́р or интервью́ер • ( intɛrvʹjuér or intɛrvʹjújer  ) m anim (genitive интервьюе́ра or интервью́ера, nominative plural интервьюе́ры or интервью́еры, genitive plural интервьюе́ров or интервью́еров)

Another fuller example in a non-Latin script
This example is in Arabic, with embedded links in the headword, manual transliteration in an inflection and use of :

might give (depending on the page it's run on):

which displays as
 * غُدّة بَصَلِيّة إحْلِيلِيّة • ( ḡudda baṣaliyya ʾiḥlīliyya  ) f (plural غُدَد بَصَلِيَّة إِحْلِيلِيَة ( ḡudad baṣaliyya ʾiḥlīliyya ))

Proposed/planned changes

 * Checking for invalid genders, given a list of genders that are valid for a particular language.

title: Module:headword/documentation


text: Category:German terms suffixed with -ier


text:
Tegwen

Etymology
From in the 19th century.

title: Tegwen


text:
㡅

Alternative forms

 * (Also a variant of 侈)
 * (Also a variant of 侈)
 * (Also a variant of 侈)
 * (Also a variant of 侈)
 * (Also a variant of 侈)

Han character

 * 1) storage room

title: 㡅


text:
㡆

Han character

 * 1) (same as 㡃) artisan
 * 2) to soften raw silk by boiling and dyeing the dressed silk

title: 㡆


text:
㡇

Han character

 * 1) collar
 * 2) front of a Chinese gown
 * 3) lapel of a Chinese dress worn by the literati in ancient times

title: 㡇


text:
㡈

Han character

 * 1) ropes attached to the bier and held by mourners
 * 2) mourning garments
 * 3) ceremonial cap for high ministers in ancient China

title: 㡈


text:
Herrenmoral

Etymology
Coined by Friedrich Nietzsche. .

Noun

 * 1)  master morality; morality of the strong-willed

title: Herrenmoral


text:
finalidade

Noun

 * 1) goal, objective

title: finalidade


text: findares

title: findares


text: findarmos

title: findarmos


text: findardes

title: findardes


text: findarem

title: findarem


text: findando

title: findando


text: findado

title: findado


text: findados

title: findados


text: findada

title: findada


text: findadas

title: findadas


text: findamos

title: findamos


text: findais

title: findais


text: findava

title: findava


text: findavas

title: findavas


text: findávamos

title: findávamos


text: findáveis

title: findáveis


text: findavam

title: findavam


text: findei

title: findei


text: findaste

title: findaste


text: findou

title: findou


text: findámos

title: findámos


text: findastes

title: findastes


text: findaram

title: findaram


text: findara

title: findara


text: findaras

title: findaras


text:
фирғәүен

Etymology
From ; ultimately from.

Noun

 * 1) pharaoh

title: фирғәүен


text: findáramos

title: findáramos


text: findáreis

title: findáreis


text: findarei

title: findarei


text: findarás

title: findarás


text: findará

title: findará


text: findaremos

title: findaremos


text: findareis

title: findareis


text: findarão

title: findarão


text: findaria

title: findaria


text: findarias

title: findarias


text: findaríamos

title: findaríamos


text: findaríeis

title: findaríeis


text: findariam

title: findariam


text: findemos

title: findemos


text: findeis

title: findeis


text: findem

title: findem


text: findasse

title: findasse


text: findasses

title: findasses


text: findássemos

title: findássemos


text: findásseis

title: findásseis


text: findassem

title: findassem


text: findai

title: findai


text:
flutuação

Etymology
..

Noun

 * 1) fluctuation

title: flutuação


text:
Klassismus

Etymology
From.

Noun

 * 1) classism

title: Klassismus


text:
flutuar

Etymology
Probably a.

Verb

 * 1) to float
 * 2) to fluctuate
 * 1) to fluctuate

title: flutuar


text: flutuares

title: flutuares


text: flutuarmos

title: flutuarmos


text: flutuardes

title: flutuardes


text: flutuarem

title: flutuarem


text: flutuando

title: flutuando


text: flutuado

title: flutuado


text: flutuados

title: flutuados


text: flutuada

title: flutuada


text: flutuadas

title: flutuadas


text: flutuo

title: flutuo


text: flutuas

title: flutuas


text: flutua

title: flutua


text: flutuamos

title: flutuamos


text: flutuais

title: flutuais


text: flutuam

title: flutuam


text: flutuava

title: flutuava


text: flutuavas

title: flutuavas


text: flutuávamos

title: flutuávamos


text: flutuavam

title: flutuavam


text: flutuei

title: flutuei


text: flutuaste

title: flutuaste


text: flutuou

title: flutuou


text: flutuámos

title: flutuámos


text: flutuastes

title: flutuastes


text: flutuaram

title: flutuaram


text: flutuara

title: flutuara


text: flutuaras

title: flutuaras


text: flutuáramos

title: flutuáramos


text: flutuáreis

title: flutuáreis


text: flutuarei

title: flutuarei


text: flutuarás

title: flutuarás


text: flutuará

title: flutuará


text: flutuaremos

title: flutuaremos


text: flutuareis

title: flutuareis


text: flutuarão

title: flutuarão


text: flutuaria

title: flutuaria


text: flutuarias

title: flutuarias


text: flutuaríamos

title: flutuaríamos


text: flutuaríeis

title: flutuaríeis


text: flutuariam

title: flutuariam


text: flutue

title: flutue


text:
fonográfico

Etymology
From.

Adjective

 * 1) phonographic

Adjective

 * 1) phonographic

title: fonográfico


text: flutues

title: flutues


text: flutuemos

title: flutuemos


text: flutueis

title: flutueis


text: flutuem

title: flutuem


text: flutuasse

title: flutuasse


text: flutuasses

title: flutuasses


text: flutuássemos

title: flutuássemos


text: flutuásseis

title: flutuásseis


text: flutuassem

title: flutuassem


text: flutuai

title: flutuai


text: cource

title: cource


text:
fornecimento

Etymology
From ; cognate with 🇨🇬.

Noun

 * 1) supply, provision

title: fornecimento


text:
fotocópia

Etymology
From.

Noun

 * 1) photocopy

title: fotocópia


text: fraccionarmos

title: fraccionarmos


text: fraccionardes

title: fraccionardes


text: fraccionarem

title: fraccionarem


text: fraccionados

title: fraccionados


text: fraccionada

title: fraccionada


text:
zdrowy rozsądek

Etymology
lit. 'healthy reason'.

Noun

 * 1)  common sense

title: zdrowy rozsądek


text: fraccionadas

title: fraccionadas


text: fraccionais

title: fraccionais


text: fraccionam

title: fraccionam


text: fraccionava

title: fraccionava


text: fraccionavas

title: fraccionavas


text: fraccionávamos

title: fraccionávamos


text: fraccionáveis

title: fraccionáveis


text: fraccionavam

title: fraccionavam


text: fraccionei

title: fraccionei


text: fraccionou

title: fraccionou


text: fraccionámos

title: fraccionámos


text: fraccionastes

title: fraccionastes


text: fraccionaram

title: fraccionaram


text: fraccionáreis

title: fraccionáreis


text: fraccionarei

title: fraccionarei


text: fraccionarão

title: fraccionarão


text: fraccionaria

title: fraccionaria


text: fraccionarias

title: fraccionarias


text: fraccionaríeis

title: fraccionaríeis


text: fraccionariam

title: fraccionariam


text: fraccioneis

title: fraccioneis


text: fraccionem

title: fraccionem


text: fraccionasse

title: fraccionasse


text: fraccionasses

title: fraccionasses


text: fraccionássemos

title: fraccionássemos


text: fraccionásseis

title: fraccionásseis


text: fraccionassem

title: fraccionassem


text: fraccionai

title: fraccionai


text:
fruição

Etymology
From.

Noun

 * 1) fruition

title: fruição


text:
fruir

Etymology
, with normal change of conjugation to -ir.

Verb

 * 1) to enjoy

Etymology
.

Verb

 * 1) to enjoy

Etymology
.

Verb

 * 1) to enjoy

title: fruir


text: fruíres

title: fruíres


text: fruirmos

title: fruirmos


text: fruirdes

title: fruirdes


text: fruírem

title: fruírem


text: fruindo

title: fruindo


text: fruído

title: fruído


text: fruídos

title: fruídos


text: fruída

title: fruída


text: fruídas

title: fruídas


text: fruis

title: fruis


text: fruímos

title: fruímos


text: fruís

title: fruís


text: fruem

title: fruem


text: fruía

title: fruía


text: fruías

title: fruías


text: fruíamos

title: fruíamos


text: fruíeis

title: fruíeis


text: fruíam

title: fruíam


text: fruí

title: fruí


text: fruíste

title: fruíste


text: fruiu

title: fruiu


text: fruístes

title: fruístes


text: fruíram

title: fruíram


text: fruíra

title: fruíra


text: fruíras

title: fruíras


text: fruíramos

title: fruíramos


text: fruíreis

title: fruíreis


text: fruirás

title: fruirás


text: fruirá

title: fruirá


text: fruiremos

title: fruiremos


text: fruireis

title: fruireis


text: fruirão

title: fruirão


text: fruiria

title: fruiria


text: fruirias

title: fruirias


text: fruiríamos

title: fruiríamos


text:
rowmate

Noun

 * 1) Someone who is in the same row.

title: rowmate


text: fruiríeis

title: fruiríeis


text: fruiriam

title: fruiriam


text: fruas

title: fruas


text: fruamos

title: fruamos


text: fruais

title: fruais


text: fruam

title: fruam


text: fruísse

title: fruísse


text: fruísses

title: fruísses


text: fruíssemos

title: fruíssemos


text: fruísseis

title: fruísseis


text: fruíssem

title: fruíssem


text:
funcionário

Etymology
From.

Noun

 * 1) official
 * 2) functionary

title: funcionário


text: fundarmos

title: fundarmos


text: fundardes

title: fundardes


text: fundados

title: fundados


text: fundada

title: fundada


text: fundadas

title: fundadas


text: fundavas

title: fundavas


text: fundávamos

title: fundávamos


text: fundáveis

title: fundáveis


text: fundavam

title: fundavam


text: fundei

title: fundei


text: fundou

title: fundou


text: fundámos

title: fundámos


text: fundastes

title: fundastes


text: fundáreis

title: fundáreis


text: fundarei

title: fundarei


text: fundarão

title: fundarão


text: fundarias

title: fundarias


text: fundaríeis

title: fundaríeis


text: fundariam

title: fundariam


text: fundeis

title: fundeis


text: fundássemos

title: fundássemos


text: fundásseis

title: fundásseis


text: fundai

title: fundai


text:
fungível

Etymology
From, from.

Adjective

 * 1)  fungible

title: fungível


text:
folga

Etymology 1
.

Noun

 * 1) joke, pleasantry
 * 2) rest from work
 * 3) laziness
 * 4) act of enjoying oneself
 * 1) act of enjoying oneself

Etymology
Attested since circa 1300. . Cognate with 🇨🇬 and 🇨🇬 and

Noun

 * 1) rest
 * 2) fallow
 * 3) strike, stoppage

Etymology
..

Noun

 * 1) obedience

Etymology
. is reinforced by  with. Cognate with 🇨🇬 and 🇨🇬.

Noun

 * 1)  relief
 * 2) play, looseness
 * 3)   thin metal tray placed under expensive stones to increase their shine
 * 4)  anything placed underneath something else as support
 * 5)  lame
 * 6)  inattention
 * 1)  lame
 * 2)  inattention

Etymology 1
. Compare 🇨🇬.

Noun

 * 1) rest, day off from work
 * 2) respite; break a brief interval of rest or relief
 * 3) slack extent to which a part of a mechanism can move freely
 * 1) respite; break a brief interval of rest or relief
 * 2) slack extent to which a part of a mechanism can move freely
 * 1) slack extent to which a part of a mechanism can move freely

title: folga


text:
feitiço

Etymology
From. Compare the borrowed doublets. Cognate with 🇨🇬.

Adjective

 * 1) feigned, false

Noun

 * 1) spell, incantation
 * 2) witchcraft, sorcery
 * 3) amulet, charm

title: feitiço


text: federais

title: federais


text:
fuzileiro

Etymology
From.

Noun

 * 1) rifleman, fusilier

title: fuzileiro


text: fáceis

title: fáceis


text: ferimentos

title: ferimentos


text:
fogueira

Etymology
From, , from , , from , from. Compare 🇨🇬 and 🇨🇬.

Noun

 * 1) bonfire
 * 2) school group of fish
 * 1) school group of fish

Etymology
From, , from , , from ("of a hearth"), from. Compare 🇨🇬.

Pronunciation

Noun

 * 1) blaze
 * 2) bonfire
 * 3) stake (post one is bound to for execution, usually by burning)

title: fogueira


text:
fêmea

Etymology
From, , from , from , from , derivation of the verbal root.

Cognate with 🇨🇬, 🇨🇬, 🇨🇬, 🇨🇬, 🇨🇬 and 🇨🇬.

Noun

 * 1) female

title: fêmea


text:
fôlego

Etymology
From.

Noun

 * 1) breath
 * 2) wind ability to breathe properly
 * 3)  impetus, spirit
 * 1) wind ability to breathe properly
 * 2)  impetus, spirit

title: fôlego


text: finalistas

title: finalistas


text:
㡉

Han character

 * 1) a kind of fabric
 * 2) county in modern-day Shandong province, southwest of Huangxian

title: 㡉


text:
financeiro

Etymology
From.

Adjective

 * 1) financial

Noun

 * 1) financial expert
 * 2) financier
 * 3) treasurer
 * 4)  loan shark

title: financeiro


text: fossarmos

title: fossarmos


text: fossardes

title: fossardes


text: fossando

title: fossando


text: fossado

title: fossado


text: fossados

title: fossados


text: fossada

title: fossada


text: fossadas

title: fossadas


text: fossamos

title: fossamos


text: fossais

title: fossais


text: fossava

title: fossava


text: fossavas

title: fossavas


text: fossávamos

title: fossávamos


text: fossáveis

title: fossáveis


text: fossavam

title: fossavam


text: fossei

title: fossei


text: fossaste

title: fossaste


text: fossou

title: fossou


text: fossámos

title: fossámos


text: fossastes

title: fossastes


text: fossara

title: fossara


text: fossáramos

title: fossáramos


text: fossáreis

title: fossáreis


text: fossarei

title: fossarei


text: fossarás

title: fossarás


text: fossará

title: fossará


text: fossaremos

title: fossaremos


text: fossareis

title: fossareis


text: fossarão

title: fossarão


text: fossaria

title: fossaria


text: fossarias

title: fossarias


text: fossaríamos

title: fossaríamos


text: fossaríeis

title: fossaríeis


text: fossariam

title: fossariam


text: fossemos

title: fossemos


text: fosseis

title: fosseis


text: fossássemos

title: fossássemos


text: fossásseis

title: fossásseis


text: fossai

title: fossai


text: бью

title: бью


text: бьёшь

title: бьёшь


text: бьёт

title: бьёт


text:
User:Deselms

This is the Wiktionary USER page for  Gregg L. DesElms  (username:Deselms)

It has been created mostly just so that his usernname, here on Wiktionary, stops being in red letters (which red letters indicate, throughout the Wikipedia system, that whatever is in red letters has no page or article linked-to from it).

For more on Gregg DesElms, see his Wikipedia both user and talk pages.

title: User:Deselms


text:
Talk:transistorized

transistorized is neither a verb nor an adjective
The marketing term stems from the 1960's transition from valve to solid state technology and was solely used as a past participle of transistorize in device descriptions stressing the reduction or elimination of tubes. Although its comparatives may formally make sense, they were never used at the time because they sound silly (they would boil down to some tube/transistor ratios comparison which could be cheated easily). The correct terms back then were indeed semi- and fully transistorized. At least use ! --Mkratz (talk) 16:03, 25 April 2013 (UTC)

 * I take that back. I still maintain the comparatives don't exist, but a Google exact phrase search for most transistorized reveals an astonishing number of Wiktionary mirrors, with some pages sprinkled in saying that "Most transistorized equipments use printed circuit boards" or "In the mid 1950's when the 'Hercules' update was made, most 'transistorized' radios still used tubes in the RF section".
 * More transistorized returns the same, Wiktionary plus some "Each month, more and more transistorized consumer products are developed", plus the (n+1)th album of an artist called transistorized.
 * This page looks like an ideal tool to identify mirrors. --Mkratz (talk) 17:30, 25 April 2013 (UTC)

title: Talk:transistorized


text:
User talk:Deselms

This is the Wiktionary TALK page for  Gregg L. DesElms  (username:Deselms)

It has been created mostly just so that his usernname's "talk" link, here on Wiktionary, stops being in red letters (which red letters indicate, throughout the Wikipedia system, that whatever is in red letters has no page or article linked-to from it).

For more on Gregg DesElms, see his Wikipedia both user and talk pages.

title: User talk:Deselms


text: бьём

title: бьём


text: бьёте

title: бьёте


text: бьют

title: бьют


text:
freira

Etymology
..

Noun

 * : nun
 * 1)  a crack in the cork
 * 1)  a crack in the cork
 * 1)  a crack in the cork
 * 1)  a crack in the cork
 * 1)  a crack in the cork

title: freira


text: feijões

title: feijões


text: feias

title: feias


text:
formulário

Noun

 * 1) form (to be filled in)
 * 2) formulary
 * 3) missal

title: formulário


text: feiticeiros

title: feiticeiros


text:
nether cheek

Etymology
From.

Noun

 * 1)  A buttock.

title: nether cheek


text: falecimentos

title: falecimentos


text: falsidades

title: falsidades


text: fideicomissários

title: fideicomissários


text: filiações

title: filiações


text: falida

title: falida


text: falidos

title: falidos


text: flutuações

title: flutuações


text: fornecimentos

title: fornecimentos


text: falidas

title: falidas


text: fotocópias

title: fotocópias


text: fruições

title: fruições


text: faltosa

title: faltosa


text: funcionários

title: funcionários


text: faltosos

title: faltosos


text: folgas

title: folgas


text: feitiços

title: feitiços


text: faltosas

title: faltosas


text: fuzileiros

title: fuzileiros


text: fogueiras

title: fogueiras


text: fonográfica

title: fonográfica


text: fêmeas

title: fêmeas


text: fonográficos

title: fonográficos


text: fôlegos

title: fôlegos


text: freiras

title: freiras


text: fonográficas

title: fonográficas


text: formulários

title: formulários


text: fungíveis

title: fungíveis


text: feitiça

title: feitiça


text: feitiças

title: feitiças


text: financeira

title: financeira


text: financeiros

title: financeiros


text: financeiras

title: financeiras


text: ortamım

title: ortamım


text: ortamın

title: ortamın


text: ortamı

title: ortamı


text: ortamlar

title: ortamlar


text:
gestão

Etymology
From.

Noun

 * 1) management

title: gestão


text:
Citations:breastaurant

Noun: “a restaurant featuring scantily clad female waitstaff”

title: Citations:breastaurant


text: gozarmos

title: gozarmos


text: gozardes

title: gozardes


text: gozarem

title: gozarem


text: gozados

title: gozados


text:
gozada

Noun

 * 1)  joy; pleasure

title: gozada


text: gozadas

title: gozadas


text: gozais

title: gozais


text: gozam

title: gozam


text: gozava

title: gozava


text: gozavas

title: gozavas


text: gozávamos

title: gozávamos


text: gozáveis

title: gozáveis


text: gozavam

title: gozavam


text: gozei

title: gozei


text: gozou

title: gozou


text: gozámos

title: gozámos


text: gozastes

title: gozastes


text: gozaram

title: gozaram


text: gozáreis

title: gozáreis


text: gozarei

title: gozarei


text: gozarão

title: gozarão


text: gozaria

title: gozaria


text: gozarias

title: gozarias


text: gozaríeis

title: gozaríeis


text: gozariam

title: gozariam


text:
goze

Etymology
From.

Noun

 * 1) fruit

Noun

 * 1) walnut

title: goze


text: gozes

title: gozes


text: gozemos

title: gozemos


text: gozeis

title: gozeis


text: gozem

title: gozem


text: gozasse

title: gozasse


text: gozasses

title: gozasses


text: gozássemos

title: gozássemos


text: gozásseis

title: gozásseis


text: gozassem

title: gozassem


text: gozai

title: gozai


text: graduarmos

title: graduarmos


text: graduardes

title: graduardes


text: graduarem

title: graduarem


text: graduam

title: graduam


text: graduavas

title: graduavas


text: graduávamos

title: graduávamos


text: graduáveis

title: graduáveis


text: graduavam

title: graduavam


text: graduei

title: graduei


text: graduou

title: graduou


text: graduámos

title: graduámos


text: graduastes

title: graduastes


text: graduaram

title: graduaram


text: graduáreis

title: graduáreis


text: graduarei

title: graduarei


text: graduarão

title: graduarão


text: graduaria

title: graduaria


text: graduarias

title: graduarias


text: graduaríeis

title: graduaríeis


text: graduariam

title: graduariam


text: gradueis

title: gradueis


text: graduem

title: graduem


text: graduássemos

title: graduássemos


text: graduásseis

title: graduásseis


text: graduassem

title: graduassem


text: soube

title: soube


text:
погоди

Verb

 * 1)  to hit (a target)
 * 2)  to guess (especially correctly)
 * 3)  to choose correctly, wisely
 * 4)  to choose or make something to someone's liking, get it right for someone

title: погоди


text: soubesse

title: soubesse


text: soubeste

title: soubeste


text: soubesses

title: soubesses


text: soubessem

title: soubessem


text:
gabinete

Etymology
.

Noun

 * 1) cabinet storage closet
 * 2)  cabinet group of ministers
 * 3) office room used for non-manual work

Etymology
, diminutive of, from.

Noun

 * 1) cabinet

Etymology
, from. .

Noun

 * 1)  cabinet

title: gabinete


text:
passer à l'acte

Verb

 * 1) to take action, to act, to act on something

title: passer à l'acte


text:
ginásio

Etymology
, from, from , because Greek athletes trained naked. Compare 🇨🇬, 🇨🇬, 🇨🇬, 🇨🇬.

Noun

 * 1) gymnasium place for indoor sports
 * 2)  gym sporting facility specialized for lifting weights and exercise
 * 3)  secondary school
 * 1)  secondary school

title: ginásio


text: gajas

title: gajas


text: 㡊

title: 㡊


text:
galeria

Etymology
.

Noun

 * 1) gallery
 * 2) avalanche gallery, snow shed
 * 3) valance, pelmet

Etymology
.

Noun

 * 1) gallery
 * 2) shopping center, shopping mall, mall
 * 3)  gods, paradise
 * 1)  gods, paradise

Etymology
From, from , from , from.

Noun

 * 1) gallery (all senses), balcony
 * 2) culvert

title: galeria


text:
㡋

Han character

 * 1) a kind of headdress for men in ancient China
 * 2) bag used to feed horses

title: 㡋