Open main menu



Accel errorsEdit

Just so you know, if Module:accel returns an error, that error is caught by the JS and is displayed at the top of the edit page. —Rua (mew) 22:41, 6 September 2018 (UTC)


What if someone changes Module:accel/es so that it's no longer valid for nrf? —Rua (mew) 10:03, 7 September 2018 (UTC)

I was improvising because I just didn't like the idea of having a bunch of modules with the same function. It's not such a great solution now that you mention it, because if the Spanish module changes, the old content will have to be copied to the modules that now require it, which is tedious. It would be better if the shared function were moved to another module, or maybe I shouldn't worry about duplicating the same content. There were a few other duplicate functions that could be housed in a central location (until someone decides to differentiate them), for Norwegian and Sami languages (not Northern Sami) if that is the preferred way to do things. — Eru·tuon 10:22, 7 September 2018 (UTC)
I'm hoping that we can change the form-tags on accelerated templates to match the parameters given to {{inflection of}}. Then, all languages, even those for which no rules exist, can just use that template by default and the rules for some languages can be eliminated. The Sami templates already use this principle, but an exception is still made for Northern Sami's comparative and superlative. Perhaps this too can be made a default rule in the future. —Rua (mew) 10:35, 7 September 2018 (UTC)

Converting accel parametersEdit

If you want something to do, do you think you could help with this task? diff. The idea is that all accel parameters are passed through either {{head}} or {{l}}/{{l-self}}, there are no longer any that are "bare" in a template. This will allow us to migrate to analyse current usage of acceleration, convert them more easily, and eventually a different format using data- attributes in the future. —Rua (mew) 12:23, 7 September 2018 (UTC)

Okay, I've done it for Norwegian nouns: diff1, diff2. Man that first one is complicated. I hope it's correct. it would be more understandable in a module. — Eru·tuon 20:15, 7 September 2018 (UTC)
Yeah, I gave up on the Norwegian one, it was such a mess. —Rua (mew) 20:37, 7 September 2018 (UTC)
  • @Rua, I don't know what you're doing, but it looks to me like a bunch of templates that used to have accel don't work any more as a result of you changing it to rely on submodules that don't exist. Obviously, this is breaking the functionality they used to have, so if you leave it that way, I will revert all such edits. —Μετάknowledgediscuss/deeds 15:43, 9 September 2018 (UTC)
    • You need to be a bit more specific. —Rua (mew) 15:45, 9 September 2018 (UTC)
      No, I don't. You're smart, you can figure out what you broke, and based on the edits of yours that you've been undoing, it looks like you already have. —Μετάknowledgediscuss/deeds 17:16, 9 September 2018 (UTC)
      Actually, those edits were something I was doing anyway, once I added default rules for cases that don't have language-specific rules. You may notice that I have not undone all of my edits; some of them don't work, and never did work, with the current default rules and need a language-specific module. All I did now was reinstate acceleration for those cases where the new default rules are sufficient. —Rua (mew) 18:41, 9 September 2018 (UTC)
      Okay, do you have the full list of which ones don't work? I'm happy to help with the rules for any languages I've studied. —Μετάknowledgediscuss/deeds 20:33, 9 September 2018 (UTC)

anc greek comparative formsEdit

Dear @Erutuon, sorry to distract you from your more serious work, and thanks for your model pages. I' ll try to do some simple things, as a start: I will do all λευκός modern and ancient forms. ABOUT: -ότερος, -ότατος, Ι have copied your diff at ποικιλώτερος.

# {comparative of|lang=grc|nocat=1|λευκός} Usually, I place the word which changes at the end... Is that ok? easy copy-pastes etc.. I assume, that the category comes now from the headword |deg=comp

Now, for forms (I have not found one). The modern goes: e.g. λευκότερου:

# Genitive singular masculine and neuter, comparative form of λευκός ‎(lefkós‎).

(the order of terms is pre-set, does not matter how we write them)

How would you like the ancient ones?

style 1
# {inflection of|lang=grc|λευκός||gen|s|m|and|n|comp}}
# genitive singular masculine and neuter comp of λευκός ‎(leukós‎)

This comp or deg=comp does not apply here. Or?

style 2
# {inflection of|lang=grc|λευκότερος||gen|s|m|and|n}}
# genitive singular masculine and neuter of λευκότερος ‎(leukóteros‎)

I would like them to be in harmony, but I also like style 2. But it is not a serious thing. Thank you dear Eru. I will be away for some time, so do not bother too much. sarri.greek (talk) 10:54, 10 September 2018 (UTC)

Yeah, you can put the parameters in whatever order you like: it doesn't make a difference to the output, and I don't think there are any rules on the order of parameters. (Except that it would be frowned on to do something crazy like {{m|2=λευκός|1=grc}} instead of {{l|grc|λευκός}}.)
The category comes from the headword, and we add |nocat=1 to |comparative of= and |superlative of= to disable the "adjective comparative forms" and "adjective superlative forms" categories, which sound unidiomatic and were deprecated by this vote.
I think that forms of comparatives or superlative should link to the masculine nominative singular of the comparative, so λευκοτέρου (leukotérou) would link to λευκότερος (leukóteros). I wouldn't be against a template that would output "masculine and neuter genitive singular of λευκότερος (leukóteros), comparative of λευκός (leukós)", but we don't have that yet.
If you enable the acceleration gadget in your preferences, you can automatically create entries for noun, adjective, or participle forms by clicking the links in the declension table. (See Wiktionary:Grease pit/2018/September#WT:ACCEL for Ancient Greek?.)
Note that the gadget puts the inflection categories in the order gender, case, number, and puts the positional parameters at the end ({{comparative of|λευκός|lang=grc|nocat=1}}). Those were my preferences, but they aren't set in stone. Regarding the order of inflectional categories, we also have someone who prefers case, gender, number (@RexPrincipum), and you prefer case, number, gender, so three different possible orders! There needs to be a discussion on this. — Eru·tuon 18:45, 10 September 2018 (UTC)
Oh, thank you @Erutuon, I will have to study all this. I did not know this accell gadget.
- But I shall wait till things are decided on sequences etc. at Talk:About.
- I like your "masculine and neuter genitive singular of λευκότερος ‎(leukóteros‎), comparative of λευκός ‎(leukós‎)".
- The nocat=1 seems weird. Why disable the Categories? If they are useless no one is going to visit them anyway :-) And subcategories: -ότερος -ώτερος -έστερος -ίστερος would be helpful
And after the sequences are fixed, I will try all the λύω forms for you to check if ok, for your model pages guide. :) Few easy ones. sarri.greek (talk) 16:55, 15 September 2018 (UTC)
Well, I disable the categories in {{comparative of}} and {{superlative of}} because the categories are named incorrectly and the category pages have been deleted, and it's messy to have two categories for the same thing. Maybe there is a way to fix the templates; even so, the templates wouldn't need to add any categories, because the categories are added by the headword template.
It wouldn't be very had for the headword template to add the subcategories for types of stem. But there's little point yet, because there are so few comparatives! — Eru·tuon 19:39, 15 September 2018 (UTC)

Hi @Erutuon. Could you help me fix an error on the entry for the verb θεάομαι? Talk:θεάομαι —This unsigned comment was added by Abbadonnergal (talkcontribs) at 21:50, 21 September 2018 (UTC).

@Abadonnergal: Done. The template receives the stem; it just needed to have an (e) added. — Eru·tuon 23:57, 21 September 2018 (UTC)

Help to make our templates usable by WikidataEdit

I've been working more on Wikidata lately, their lexicographical data has matured a little bit although some things are still missing. A key point is that Wikidata lexemes have "forms"; that is, inflections. Currently there is no built-in way to generate these automatically, although some people have been experimenting with JS and modules that generate JSON data that can then be imported as forms into Wikidata. So then I thought, Wiktionary templates could generate that JSON too, and then Wikidata scripts could just expand the template and get all the forms they need. It would be a great help to Wikidata if our templates could be re-used in that way.

As proof of concept, I recently modified Module:se-verbs, Module:form of and Module:form of/data so that they can generate forms in JSON format that is suitable for Wikidata. The template is called as normal, but you include an additional output=Wikidata parameter, as seen here:{{se-infl-verb-even%7Cealli%7Coutput=Wikidata}} . The way it works is that the template works as normal, but at the end, when outputting the data, the module selects an output function from a list, based on the value of the output= parameter. If the value is table, the default, then it outputs a Wiktionary inflection table and categories. If the value is Wikidata it outputs Wikidata-compatible JSON, using to_Wikidata_IDs in Module:form of to convert the inflection tags to equivalent Wikidata items (which Wikidata forms require).

I still want to change how Module:se-verbs works a little bit. Currently, there is this big list to specify in what order the forms should be, because the rest of the module enters forms as string keys in a table, which has no ordering. I want to use an indexed table instead, so that the ordering is preserved. Also, not all forms can currently be entered, because there's no Wikidata ID for some of them in Module:form of/data. But that is relatively easy to remedy. I also want to include pronunciations with the data later, using Module:se-IPA, but this module is currently still incomplete so it can't reliably generate IPA for every Northern Sami word.

I would like to expand this principle to other templates on Wiktionary as well, so that Wikidata has an easy way of filling in forms. Wikidata could make scripts to expand templates on Wiktionary, but someone could also make a bot that goes over Wiktionary entries, expands templates with output=Wikidata, and then adds the forms to Wikidata. The only real requirement is that you have a table with forms, and can generate the proper set of Wikidata item IDs to indicate what form something is. The new function in Module:form of can help with the latter. I'm interested to see what you can get working! —Rua (mew) 10:24, 19 September 2018 (UTC)

Whew, this seems quite complex to me. It might not be too hard to get Module:grc-decl to output the necessary JSON, but Module:grc-conj will need restructuring, because the function that links the forms also adds the stems to the endings. — Eru·tuon 05:28, 23 September 2018 (UTC)
Another idea: maybe some of the code from WT:ACCEL could be repurposed to gather the forms from non-Lua-based templates. Then any inflection or headword template that has acceleration could also have Wikidata harvest its forms. For a bot to do this, it might require translating (and reworking) the JavaScript in WT:ACCEL and the Lua in Module:form of to Python and providing a way for a bot to get the necessary data from Module:form of/data? Might require per-language logic too. I don't have the knowledge of pywikibot to tell whether or how this can be done. — Eru·tuon 05:59, 23 September 2018 (UTC)

genitive -es in Old EnglishEdit

Hi ! I saw your remark concerning nīed. Nīed was both feminine and neuter (where you can find genitive/adverbial nīedes (of necessity, not willingly)); however, even already in OE the genitive -es of the masc/neut was being used with words of fem gender to produce adverbial senses (cf. nihtes (by night, at night), where niht is a feminine-only word). This was probably begun on analogy with dæġes (by day), but it indicates that the tendency was already on its way in prose if not already commonplace in colloquial speech Leasnam (talk) 22:53, 21 September 2018 (UTC)


Hey, thanks for fixing the cites at Boraga! You're right, the template error messages didn't help much. They said the year parameter was missing, but I knew I had put in the year, so I couldn't figure out what I had done wrong. Khemehekis (talk) 00:17, 23 September 2018 (UTC)

Brackets in quotations being italicized againEdit

Some change to a module or template has recently been made, which has caused the brackets in quotations to start being italicized again: see, for example, the 1846 quotation in the turntable entry. Could you have a look? Thanks. — SGconlaw (talk) 14:43, 18 December 2018 (UTC)

Figured it out: an editor had made changes to {{...}} and {{nb...}}, which I have reverted for now. I'm not sure what the edits were intended to achieve. May need your help if there is some reason for those edits. — SGconlaw (talk) 14:49, 18 December 2018 (UTC)

@Sgconlaw: My first thought was that maybe the edits would prevent the brackets from being interpreted as part of a link if the templates were put inside brackets, but that doesn't seem to be the case: [ [] ], [ []]. ShakespeareFan00, could you explain? — Eru·tuon 20:17, 18 December 2018 (UTC)
@Erutuon: That was the intent, hence the use of Nowiki. Did you want these to be normal (not italic) regardless of any other text around them?, if so then that should be in the inline CSS or the CSS class used. ShakespeareFan00 (talk) 20:20, 18 December 2018 (UTC)
@ShakespeareFan00: I don't know if we want the brackets in {{...}} and {{nb...}} to always be unitalicized. Sgconlaw was referring to Module:italics, which is used to unitalicize brackets as well as the bracket-and-ellipsis combination in quotations. It wasn't able to identify the brackets when they had been nowikified. Indeed, it would be much harder to do so in Lua (because we don't have LPeg). Fortunately your edit is unnecessary because there's a space on either side of the brackets in {{...}} and currently a space on just one side in {{nb...}}. — Eru·tuon 20:37, 18 December 2018 (UTC)


Can you take a look at how to re-write this so it doesn't throw out erros in downstream templates like Template:new entry/documentation ? thanks.ShakespeareFan00 (talk) 18:39, 23 December 2018 (UTC)

@ShakespeareFan00: Do you mean the fact that the pipes disappeared? — Eru·tuon 21:53, 23 December 2018 (UTC)
There's that, and in it's current version it confuses the parser no-end. ShakespeareFan00 (talk) 21:54, 23 December 2018 (UTC)
@ShakespeareFan00: Okay, how do I find out what confuses the parser? — Eru·tuon 21:55, 23 December 2018 (UTC)
If I knew that, Id be able to repair it , Sorry. ShakespeareFan00 (talk) 21:57, 23 December 2018 (UTC)
@ShakespeareFan00: I mean, you keep talking about the parser being confused and I don't know how you find that out. Is there some place that says "the parser is confused on Template:new entry/documentation"? — Eru·tuon 22:01, 23 December 2018 (UTC)
Special:LintErrors and the syntax highlighting feature in the wikitext editor. If the tags don't balance up the closing tag that isn't matched gets flagged in red. ShakespeareFan00 (talk) 22:02, 23 December 2018 (UTC)
@ShakespeareFan00: Okay, there are a lot of links to pages with particular lint errors there. How do I find out if Template:new entry/documentation is on one of these pages and which pages it is on? — Eru·tuon 22:09, 23 December 2018 (UTC)
You select an error type, and then scroll through the list of pages (Generally I use the filter box at the top to limit it to pages in a specfic namespace (Such as Templates). It's what I'd been using to fix the few hundred or so entries I've looked at in the last few days. Sometimes I can clear the error by just loading a page though. ShakespeareFan00 (talk) 22:12, 23 December 2018 (UTC)
Okay, I would rather not do that. So let me know if the page has an error again. — Eru·tuon 22:16, 23 December 2018 (UTC)

──────────────────────────────────────────────────────────────────────────────────────────────────── @ShakespeareFan00: what exactly is a stripped tag, anyway? — SGconlaw (talk) 01:56, 24 December 2018 (UTC)

@Sgconlaw: See - , In summary it's typically where the parser encounters an HTML closing tag it can't match to a respective opening one. I've found in some pages a concern that's a combination of a "Missing end tag" (i.e Opening tag, but no closing tag.) and a stripped tag (closing tag but not opening tag) caused by putting a block level element (like a list, table or even an implied linefeed) where a SPAN (i.e single line or phrase) is expected. ShakespeareFan00 (talk) 09:39, 24 December 2018 (UTC)


This was giving an error message about a SPAN in the wrong place, so after a lot of head-scratching I came up with this :- Template:nds-de-noun/sandbox

However, I'd really appreciate someone else examining the code to confirm my version is actively correct, as my attempted fix is a best guess attempt.

If correct it should eliminate another few hundred Linter concerns in mainspace. ShakespeareFan00 (talk) 23:22, 24 December 2018 (UTC)

Template:grc-decl (and related module)..Edit

What's seemingly causing it to break down appears to be an implied line feed between automatically generated notes content and that in the notes= field/parameter/. Not sure how this is generated in the LUA code, but you might want to consider using a <br /> in the relevant instance as opposed to an implied line feed, which apparently causes a P tag to be inserted breaking a SPAN which cannot contain a block level element like a P (even when the parser is trying in good faith trying to insert one.) ShakespeareFan00 (talk) 23:17, 25 December 2018 (UTC)

Where's the template breaking down? Is there a linter error that it's triggering? If so, which linter error? — Eru·tuon 23:23, 25 December 2018 (UTC)
I'll have a closer look in a few days time. ShakespeareFan00 (talk) 00:04, 26 December 2018 (UTC)

A relevant example is here:- The errror reported is a Missing End tag (SPAN) and a Stripped tag (SPAN). when {{temp|grc-decl) is called.

I used Special:ExpandTemplates to look at the code generated... the relevant portion that causes the error being..

! class="notes-header" | Notes:
| class="notes" colspan="13" | <span class="use-with-mention">This table gives Attic inflectional endings. For declension in other dialects, see [[Appendix:Ancient Greek dialectal declension]].
Personal names rarely take the definite article.</span>

Which the parser converts to :-

<th class="notes-header">Notes:
<td class="notes" colspan="13"><span class="use-with-mention">This table gives Attic inflectional endings. For declension in other dialects, see <a href="/wiki/Appendix:Ancient_Greek_dialectal_declension" title="Appendix:Ancient Greek dialectal declension">Appendix:Ancient Greek dialectal declension</a>.
<p>Personal names rarely take the definite article.

A P tag cannot be placed inside a span, so the SPAN breaks. Not sure if this is intended parser behaviour with respect to an implied line feed, but here it could be solved by making the notes a "list" (with a list etry for each added note, or by appending each additional note as a
note without intervening line feeds. ShakespeareFan00 (talk) 19:56, 26 December 2018 (UTC)

Reparing this would further reduce the number of reported LintErrors...

ShakespeareFan00 (talk) 19:56, 26 December 2018 (UTC)

Thank you for the further information. I've put the notes in an unordered list and changed the enclosing span tag to a div. That should fix the problems. — Eru·tuon 21:56, 26 December 2018 (UTC)
A similar repair could also be made to {{grc-conj}} and it's module- At κινέω in the inflection section, the 'future' tense, shows the same symptomatic behaviour and characteristics. ShakespeareFan00 (talk) 22:38, 26 December 2018 (UTC)

Problem with Template:taxlinkEdit

I have today noticed that there is a problem with the display of the optional third parameter in {{taxlink}}. I use this to produce bolding of the genus in species names using {{taxlink}} in image labels. See image in [[Polygonaceae]]. It no longer yields bold; instead it shows single quotes around the genus name, which is no longer in italics. I noticed that you made a change yesterday to Module:italics which {{taxlink}} uses. Could that change have caused the problem? DCDuring (talk) 22:35, 26 December 2018 (UTC)

Oops, yes. Fixed! — Eru·tuon 23:16, 26 December 2018 (UTC)
Prompt correction is even better than not erring at all, according to service-industry experts. Thanks a lot. DCDuring (talk) 23:23, 26 December 2018 (UTC)

Flag of PortugueseEdit

Hello. I see you are an administrator who deals with flags so maybe you can help me. We currently use only the flag of Portugal to represent Portuguese and here it was requested twice that it be replaced by this flag, which represents Brazil as well (consider that Brazil has twenty times more Portuguese speakers than Portugal). Both requests, the first in May 2016 by myself and the other one in June 2018, have been largely ignored. I'm here to request that change for the third time. - Alumnum (talk) 22:50, 3 January 2019 (UTC)

Done, since nobody has objected to it. — Eru·tuon 23:04, 3 January 2019 (UTC)
Thanks! - Alumnum (talk) 23:07, 3 January 2019 (UTC)

Change to MediaWiki:Common.jsEdit

This is about this change. IE9 and older browsers get grade C support which means our js does not even get to run on them. more info. Giorgi Eufshi (talk) 06:37, 4 January 2019 (UTC)

@Giorgi Eufshi: Thank you! I was trying to find that information, but didn't succeed. That makes things easier. I'll remove stuff relating to unsupported versions of IE. — Eru·tuon 06:52, 4 January 2019 (UTC)

do ... end?Edit

I noticed you added a block of code to Module:nyms that begins with do and ends with end, but it doesn't seem to loop at all. Is this some Lua construct I'm not aware of? There's nothing on about it. —Rua (mew) 21:33, 6 January 2019 (UTC)

It's a simple block. It's mentioned briefly under mw:Extension:Scribunto/Lua reference manual § Statements. The only effect it has is to make the local variable thesaurus_links inaccessible below where it's actually used. I'm not sure I've ever seen it on Wiktionary before. — Eru·tuon 21:50, 6 January 2019 (UTC)

problem with {{der3}}Edit

At [[rock]] Derived terms the control that expands the list does not appear. Clicking the place it should appear does expand the list. DCDuring (talk) 19:36, 7 January 2019 (UTC)

@DCDuring: In all of the Derived terms sections that have enough terms in them, the control appears for me and works. The one for "an act of rocking" doesn't have a control because it doesn't have enough terms. Are there any other show–hide things that aren't working, like the translations boxes? — Eru·tuon 20:09, 7 January 2019 (UTC)
Others on the same page appear. I wonder it is some kind of interference from the rhs table of contents or other stuff appearing on the right side. DCDuring (talk) 20:18, 7 January 2019 (UTC)
@DCDuring: Which one are you talking about? They all appear for me except Etym 2 noun which doesn't have enough entries to activate it (set for 4 columns). Not a system I am fond of. DonnanZ (talk) 20:30, 7 January 2019 (UTC)
The first is the one that doesn't appear for me. The Translation controls appear. DCDuring (talk) 20:38, 7 January 2019 (UTC)
I'm doubtful that anything else on the page would interfere with it. On my screen, the image on the right pushes the derived terms over, but the control still appears and works. If you're in mobile mode, the control will not appear. It sounds to me like the JavaScript for the list switcher is not working. I am curious if your browser console has any error messages indicating that this is the case. If you have Firefox or Chrome you can click F12 and select the Console tab to view it. There are usually a lot of annoying warning messages, but maybe the only thing relevant would be a message containing "Error" (or "TypeError", or some variation on that). — Eru·tuon 20:48, 7 January 2019 (UTC)
It's OK for me. I had to revise developed earlier where {{hyp4}} was used to {{hyp3}} because of odd behaviour; it doesn't need four columns anyway. DonnanZ (talk) 21:17, 7 January 2019 (UTC)
The problem also arises in Chrome. I found lots of messages, but none showing error. The control to reduce the list does appear, of course well after the right-hand side table of contents. I wonder whether anyone has looked at that gadget in the last few years. DCDuring (talk) 01:49, 8 January 2019 (UTC)
Disabling the rhs ToC gadget gave me the control. But I'd rather have the rhs ToC than the control or that configuration. I am also loath to defeat it with JS as we have often had long periods where the JS functionally lagged dreadfully. I've stripped a lot of optional JS away. DCDuring (talk) 02:01, 8 January 2019 (UTC)
We are talking about {{der3}}, right? That's one of the templates that I redid recently and that the discussion and vote in November's Beer Parlour was about. I don't have the RHS ToC so I will have to enable that to see if I can reproduce what you're talking about. — Eru·tuon 02:07, 8 January 2019 (UTC)
Whew, I enabled the RHS ToC and it is quite horrifying what it does to the control for the derived terms list: pushes it all the way down into the next set of definitions. It's some weird interaction between all the images on the right and the HTML elements in the derived terms list. I'll look into it. — Eru·tuon 02:14, 8 January 2019 (UTC)
Okay, it was a CSS issue and I think it will be resolved whenever your browser manages to get ahold of the most recent version of MediaWiki:Common.css. — Eru·tuon 02:37, 8 January 2019 (UTC)
Does the rhs ToC gadget have dated, deprecated elements? DCDuring (talk) 03:06, 8 January 2019 (UTC)
Thanks. It works. DCDuring (talk) 03:09, 8 January 2019 (UTC)
Thank you for pointing out the bug. I've noticed lagginess too. I'm working on making more of the default JavaScript into gadgets loaded by default, which could help if the problem is download time. — Eru·tuon 02:21, 9 January 2019 (UTC)
The RHS ToC gadget just involves a very short CSS file, so no HTML elements are changed. The issue was a CSS property that was applied to the control for the derived terms list (float: right;), which was putting the control into the stack of elements floating on the right side of the page, below the TOC and most of the images. Removing that property fixed the problem. — Eru·tuon 03:17, 8 January 2019 (UTC)
  • (float: right;) could be an issue with {{WOTD}} causing problems at the top of the page entry. That code is definitely in there. DonnanZ (talk) 10:42, 8 January 2019 (UTC)
This is what I mean, see telemark, which hasn't been modified. There is a workaround which fixes the gap (which I see, maybe you don't) where images and Wikipedia links are placed under the first header, which would be Etymology here. DonnanZ (talk) 00:09, 11 January 2019 (UTC)
@Donnanz: Where are you seeing a gap? With ToC on the left side, I see the WOTD link under the header, with a reasonably sized gap that is simply due to the bottom padding of the header above it; with ToC on the right side, the WOTD link is pushed down by the ToC but there isn't a significant gap between it and the ToC. — Eru·tuon 00:29, 11 January 2019 (UTC)
I have the TOC on the left, with a large gap alongside the image, with Etymology pushed down to the line below the image. It could be my browser doing it, I'm on Windows 10. Hiding the TOC makes no difference. I have discussed this with Sgconlaw before, he now modifies current WOTDs. DonnanZ (talk) 00:42, 11 January 2019 (UTC)
@Donnanz: I'm using Firefox on Linux Mint. I can get the same effect by adding the CSS properties clear: right; or clear: both; to the "Etymology" header. Maybe there is a gadget that adds that CSS property to the header. — Eru·tuon 01:01, 11 January 2019 (UTC)
I haven't got a clue. I experimented with placing the image on the left, which gets rid of the gap for me, but it had some odd effects, with bullets and numbers showing through the image, so I didn't save it that way. Images default to the right, unless they are modified; and so do {{wp}}, {{swp}}, {{wikipedia}}, so maybe {{WOTD}} should too, and not use (float: right;). I don't know, I'm not a programmer. DonnanZ (talk) 10:32, 11 January 2019 (UTC)
I still use IE, as I have all my favourites stored there, but I thought I would try Edge and Orange. No gap on Orange, everything as it should be, but Edge is the same as IE, a massive gap. So I guess it's a Microsoft problem. DonnanZ (talk) 13:05, 11 January 2019 (UTC)
Why did I say Orange? I meant Chrome. Oops. DonnanZ (talk) 16:20, 26 January 2019 (UTC)
@Sgconlaw, I think you should know we're discussing this. DonnanZ (talk) 15:14, 11 January 2019 (UTC)
@Donnanz: Is there anything specific you'd like my input on? — SGconlaw (talk) 16:26, 11 January 2019 (UTC)
@Sgconlaw: Not that I can thank of at the moment, I was just drawing your attention. I know many editors use Firefox or Orange rather than Microsoft products, but countless other users (passive or otherwise) may use Edge or IE, so we still have to cater for them. DonnanZ (talk) 17:15, 11 January 2019 (UTC)
@Donnanz: At some point I should go into Windows and see if I can reproduce the problem and figure out a solution. — Eru·tuon 07:34, 15 January 2019 (UTC)
OK, I was tempted to modify telemark, but I will leave it as it is for now. DonnanZ (talk) 09:39, 15 January 2019 (UTC)
Okay, I'm in Windows and the problem in telemark is the clear: right; CSS property on the HTML element that encloses the image (<div class="thumb tright">...</div>). For some reason, Microsoft Edge thinks that the property means that the etymology heading has to be below the image, but Firefox and Chrome don't. Just removing the property isn't desirable; then the image appears to the left of the "WOTD" text. — Eru·tuon 18:39, 17 January 2019 (UTC)
I take it that means there's nothing you can do. Ironically, IE seems to have "packed up", so I've been using Chrome (in preference to Edge) for the last two days. DonnanZ (talk) 16:28, 26 January 2019 (UTC)
Well, I did some web searches and didn't find any references to the issue or any solutions. I don't feel very motivated to do more searching, but I might go back to it. — Eru·tuon 01:01, 27 January 2019 (UTC)

-ύς epic declensionEdit

Hi! Could you please have a look here? Thank you very much, --Epìdosis (talk) 10:20, 9 January 2019 (UTC)

Issue with "Template:WOTD" and audio filesEdit

Wonder if you can see if I did something wrong. I updated {{WOTD}} so that it would recognize audio files in the format "File:En-au-[entry].ogg" which Commander Keane has been diligently uploading and inserting into entries. However, it works for some entries and not others. For example, if you look at the January 2019 WOTDs at "Wiktionary:Word of the day/Archive/2019/January", the audio file of emu appears but that of Tiggerish doesn't. I tried resetting the transcode of File:En-au-Tiggerish.ogg but that didn't make a difference. Any idea what might be going wrong? Thanks. — SGconlaw (talk) 06:47, 15 January 2019 (UTC)

@Sgconlaw: Heh, I spent a lot of time looking at the template code and seeing no problems, and then finally edited the section and the audio showed up, so I pressed "refresh" in the upper right hand side of the WOTD box to make the audio show up on the page. It was apparently a caching issue. — Eru·tuon 07:22, 15 January 2019 (UTC)
Ohhh. I tried refreshing the entry page and the WOTD archive page, but didn't think it was an issue of the template page needing to be refreshed as well. Thanks for discovering that! — SGconlaw (talk) 07:27, 15 January 2019 (UTC)
I mean, I clicked one of the "refresh" buttons in a WOTD box in Wiktionary:Word of the day/Archive/2019/January, not in Template:WOTD. That purges the page (action=purge in the URL), different from reloading the browser. — Eru·tuon 07:32, 15 January 2019 (UTC)
Ah, I see. — SGconlaw (talk) 07:41, 15 January 2019 (UTC)
Whatever you did seems to have speeded up the loading of audio on a page, I had noticed recently there was a delay where you had to wait for it to catch up before the page or entry could be edited. DonnanZ (talk) 11:02, 15 January 2019 (UTC)
That's weird. — SGconlaw (talk) 11:06, 15 January 2019 (UTC)

What have you done?Edit

I know you're trying to clean up my (admittedly) poorly constructed category, but you do realize that is not a triplication? Johnny Shiz (talk) 16:19, 9 February 2019 (UTC)

@Johnny Shiz: Oops! That should be fixed with this edit. — Eru·tuon 20:46, 9 February 2019 (UTC)

rookie's questionEdit

Eru, you don't have to answer this... But if you ever have time: I'm trying to understand lua (at my age, impossible), which is needed at el.wiktionary, because the last person who could handle it, disappeared last year. I know that neither is correct, but which one is the worst? the 1st or the 2nd? sarri.greek (talk) 23:56, 13 February 2019 (UTC)

@Sarri.greek: Neither of them will work, but I added a version that probably will. — Eru·tuon 01:22, 14 February 2019 (UTC)
Αχ @Erutuon:, thank you, ευχαριστώ! I'll study it, I promise. I am indebted to you. sarri.greek (talk) 01:43, 14 February 2019 (UTC)
I remember when I was just starting to learn Lua. It was pretty hard and I made a lot of mistakes. It was just about my first programming language. These cheat sheets might be helpful: 1, 2. — Eru·tuon 02:21, 14 February 2019 (UTC)
Another idea is to try playing around with a REPL, where you can type in code and see the result. There is a console below the editing area in module pages, or you could try the console on the Fengari website (yes, they named it after the Greek word for moon!) which uses a more recent version of Lua and doesn't have MediaWiki-related stuff. — Eru·tuon 02:40, 14 February 2019 (UTC)
You are so sweet, and a genius!! I did it! el:Πρότυπο:sarritest and el:Module:sarritest (only i changed 'local' at function). And I will study your links too. I'll try to keep most of the things in simple templates. If something happens to me, there will be noone to continue or correct things. sarri.greek (talk) 05:04, 14 February 2019 (UTC)

Just informing that the Saudi IP has an agenda for removing computing-related sensesEdit

Regarding the IP’s removal of the quote on غَزَا(ḡazā), this follows a long line of removing anything implying usage of Arabic words for computing, regard the history of قُرْصَان(qurṣān), English hacker, خ ر ق(ḵ-r-q), and others I cannot name off the cuff. The removal of such references may also be the only motivation for layout changes, this IP appears to frequently camouflage removals by changes in other respects of dubious worth. Informing also @Chuck Entz, Surjection who have previously tackled this IP. Fay Freak (talk) 23:30, 23 February 2019 (UTC)

@Fay Freak: Ahh, thanks for the information. That makes sense of what the user was doing. — Eru·tuon 23:34, 23 February 2019 (UTC)
I don't think I have ever seen this editor communicate, but I have seen them edit-war in the past. They simply undo any edits that counteract theirs. — surjection?〉 23:44, 23 February 2019 (UTC)

proper way to clone a tableEdit

Why doesn't mw.clone() work on loadData'd tables? What is the error? What is the proper way to clone a table? Maybe table.shallowClone() and/or table.deepcopy()? Module:parameters should *DEFINITELY* not be side-effecting the params table passed into it; that's bad juju and can lead to all sorts of subtle and hard-to-debug errors. Benwing2 (talk) 01:36, 1 March 2019 (UTC)

@Benwing2: deepcopy from Module:table is intended to copy tables loaded with mw.loadData, but when I tried plugging it into your edit, there was a stack overflow. Not sure how that happened. — Eru·tuon 01:40, 1 March 2019 (UTC)
The problem with mw.clone is that it copies the metatable, and the metatable makes the copied table read-only, and prevents mw.clone from writing any keys to it. deepcopy allows the metatable not to be copied. — Eru·tuon 01:43, 1 March 2019 (UTC)
I see. Well, in this case, either deepcopy() without metatable copying or shallowClone() should work, as only the top level is being side-effected. Benwing2 (talk) 01:45, 1 March 2019 (UTC)


I am not familiar with the particular standard used here, but I do not believe "alternative" is an accurate term for these terms. I have previously used "alternative form" for slightly different forms of the same word that are more or less equal in the standard language, like "kaitsema" and "kaitsma". In this case, these forms are not entirely equal in meaning. "Jauhatama" for instance is the Võro word, and would not be considered an "Estonian" word by most. While "jahvama" is listed in the ÕS as a dialectal termin, I would still not consider it an "alternative form", but rather a dialectal synonym. If used, it carries a dialectal connotation which makes it different from "jahvatama". Strombones (talk) 09:55, 6 March 2019 (UTC)

@Strombones: "Alternative forms" is not meant to be very specific or descriptive; it's simply the header that's used (see WT:ALTER) for dialectal forms, as well as quite a few other things. For instance, see the Alternative forms sections of ἐγώ (egṓ) or ἠώς (ēṓs), which list dialectal forms. The words in the Alternative forms section should ideally be labeled with the name of the dialect or dialects that they belong to. Often the entry for these words will contain a definition line like "alternative form of x" or "{dialect name} form of x".
However, I think Võro is a special case; since it is considered a separate language here on Wiktionary (meaning, it uses the "Võro", not the "Estonian" header), a Võro word should probably be linked from some other part of the entry, like the etymology section (as a cognate), though I don't know what would be appropriate in this case. Usually the Alternative forms only contains words that have or will have an entry with the same language header as the current entry. — Eru·tuon 10:11, 6 March 2019 (UTC)
Ah, thank you. I misconstrued the heading because I had only seen it being used one way. The thing with Võro terms is that sometimes they are used in standard Estonian for a dialectal "twist" of sorts, along with other non-Võro dialectal words. That's probably irrelevant here, so I think I'll remove the Võro words and just keep "jahvama".Strombones (talk) 14:06, 6 March 2019 (UTC)

grc-noun formEdit

Frankly, I do not think {{grc-noun form}} is necessarily preferable to {{head|grc|noun form}}. --Dan Polansky (talk) 06:25, 23 March 2019 (UTC)

@Dan Polansky: It might be worth a discussion. As noted in the documentation for Module:grc-headword, the module does some things that {{head}} does not. — Eru·tuon 06:45, 23 March 2019 (UTC)
All right, then. You probably mean the following: "This module tracks the monophthongs α, ι, υ (a, i, u) without macrons, breves, circumflexes, or iota subscripts (◌̄, ◌̆, ◌͂, ◌ͅ) with the tracking template grc-headword/ambig, so that length can be marked as policy requires, and it categorizes all Ancient Greek words into categories for accent type, such as Ancient Greek oxytone terms." --Dan Polansky (talk) 06:49, 23 March 2019 (UTC)
Yeah. So converting non-lemma entries to use Module:grc-headword is mainly so that these services are provided for non-lemmas as well as lemmas. However, tracking ambiguous vowels and listing terms by accent could be done by analyzing the dump instead. — Eru·tuon 06:55, 23 March 2019 (UTC)

dot= in form-of templatesEdit

Can you rerun your script checking for any of the following templates? Some of them don't end in 'of' (particularly the shortcut aliases). Thanks:

Click to show or hide list
language_specific_alt_form_of_templates = [
  "ceb-superseded spelling of",
  "egy-alternative transliteration of",
  "en-ing form of",
  #"ga-lenition of",
  "jbo-rafsi of",
  "morse code abbreviation",
  "morse code for",
  "morse code prosign",
  "my-ICT of",
  "ru-abbrev of",
  "ru-acronym of",
  "ru-clipping of",
  "ru-initialism of",
  "yi-alternatively pointed form of",
  "yi-phonetic spelling of",
  "yi-unpointed form of",

alt_form_of_templates = [
  "abbreviation of", "abb", "abbreviation", "ao",
  "acronym of",
  "archaic form of",
  "archaic spelling of",
  "aspirate mutation of",
  "clipping of", "clipped form of", "clip",
  "contraction of",
  "dated form of",
  "dated spelling of",
  "deliberate misspelling of",
  "eclipsis of", "eclipsed",
  "eggcorn of", "eggcorn",
  "elongated form of",
  "euphemistic form of",
  "euphemistic spelling of",
  "former name of",
  "hard mutation of",
  "informal form of",
  "informal spelling of",
  "initialism of", "io",
  "lenition of", "lenited",
  "misromanization of",
  "misspelling of", "common misspelling of", "misspell",
  "mixed mutation of",
  "mutation of",
  "nasal mutation of",
  "nomen sacrum form of",
  "nonstandard form of",
  "nonstandard spelling of",
  "obsolete form of",
  "official form of",
  "rare form of", "rareform",
  "rare spelling of", "rarespell", "rarspell",
  "short for", "short form of", "short of", "shortfor",
  "soft mutation of",
  "standard form of",
  "standard spelling of", "standspell",
  "superseded spelling of", "deprecated spelling of", "superseded form of",
  "uncommon form of",
  "uncommon spelling of",

language_specific_form_of_templates = [
  "ar-verbal noun of",
  "bg-adjective extended of",
  "bg-adjective feminine definite of",
  "bg-adjective feminine indefinite of",
  "bg-adjective masculine definite object of",
  "bg-adjective masculine definite subject of",
  "bg-adjective neuter definite of",
  "bg-adjective neuter indefinite of",
  "bg-adjective plural definite of",
  "bg-adjective plural indefinite of",
  "bg-plural count of",
  "bg-singular definite object form of",
  "bg-singular definite subject form of",
  "blk-past of",
  "cs-imperfective form of",
  "cu-Glag spelling of",
  "de-du contraction",
  "de-inflected form of",
  "egy-verb form of",
  "en-archaic second-person singular of",
  "en-comparative of",
  "en-irregular plural of",
  "en-past of",
  "en-simple past of",
  "en-superlative of",
  "ga-emphatic of",
  "ga-lenition of",
  "hu-exaggerated of",
  "ia-form of",
  "ie-past and pp of",
  "ja-past of verb",
  "ja-romanization of",
  "ja-te form of verb",
  "ja-verb form of",
  u"kyūjitai spelling of",
  "lb-inflected form of",
  "mn-verb form of",
  "pt-cardinal form of",
  "ro-adj-form of",
  "ru-participle of",
  "sa-desiderative of",
  "sa-frequentative of",
  "sa-root form of",
  "sce-verb form of",
  "sco-past of",
  "sco-simple past of",
  "sga-verbnec of",
  "sino-vietnamese reading of",
  "ug-uly of",
  "ug-uyy of",
  "yi-inflected form of",
  "za-sawndip form of",

form_of_templates = [
  "abessive plural of",
  "abessive singular of",
  "abstract noun of",
  "accusative of",
  "accusative plural of",
  "accusative singular of",
  "active participle of",
  "agent noun of",
  "alternative case form of", "alternative capitalisation of", "alternative capitalization of", "altcaps", "altcase",
  "alternative form of", "alternate form of", "alt form", "altform", "alt form of", "alt-form",
  "alternative plural of",
  "alternative reconstruction of",
  "alternative spelling of", "alternate spelling of", "altspelling", "altspell", "alt-sp", "alt spell of",
  "alternative typography of",
  "ancient form of",
  "aphetic form of",
  "apocopic form of",
  "associative plural of",
  "associative singular of",
  "attributive form of", "attributive of",
  "augmentative of",
  "broad form of",
  "causative of",
  "combining form of",
  "comitative plural of",
  "comitative singular of",
  "comparative of", "comparative form of",
  "comparative plural of",
  "comparative singular of",
  "dative dual of",
  "dative of",
  "dative plural definite of",
  "dative plural indefinite of",
  "dative plural of",
  "dative singular of",
  "definite of",
  "distributive plural of",
  "distributive singular of",
  "dual of",
  "e-form of", "definite and plural of",
  "early form of",
  "elative of",
  "ellipsis of", "anapodoton of", "ellipse of",
  "equative of",
  "exclusive plural of",
  "exclusive singular of",
  "female form of", "fem form",
  "feminine noun of",
  "feminine of",
  "feminine plural of",
  "feminine plural past participle of",
  "feminine singular of",
  "feminine singular past participle of", "feminine past participle of",
  "form of",
  "frequentative of",
  "future participle of",
  "genitive of",
  "genitive plural definite of",
  "genitive plural indefinite of",
  "genitive plural of",
  "genitive singular definite of",
  "genitive singular indefinite of",
  "genitive singular of",
  "gerund of",
  "harmonic variant of",
  "honorific alternative case form of", "honoraltcaps",
  "imperative of",
  "imperfective form of",
  "inflected form of",
  "inflection of", "conjugation of",
  "iterative of",
  "late form of",
  "masculine animate plural past participle of",
  "masculine inanimate plural past participle of",
  "masculine noun of",
  "masculine of",
  "masculine plural of",
  "masculine plural past participle of",
  "masculine singular past participle of",
  "medieval spelling of",
  "men's speech form of", "men's form of",
  "misconstruction of",
  "monotonic form of",
  "negative of",
  "neuter plural of",
  "neuter plural past participle of",
  "neuter singular of", "neuter of",
  "neuter singular past participle of", "neuter past participle of",
  "nominalization of",
  "nominative plural of",
  "nominative singular of",
  "nuqtaless form of",
  "oblique plural of",
  "oblique singular of",
  "obsolete spelling of", "obssp", "obs-sp",
  "obsolete typography of",
  "participle of",
  "passive of", "passive form of",
  "passive participle of",
  "passive past tense of", "past passive of", "passive past of",
  "past active participle of",
  "past participle of", "past participle",
  "past passive participle of",
  "past tense of", "past of",
  "paucal of",
  "pejorative of",
  "perfect participle of",
  "perfective form of",
  "plural definite of", "definite plural of",
  "plural indefinite of", "indefinite plural of",
  "plural of", "plural form of",
  "present active participle of",
  "present participle of",
  "present tense of", "present of",
  "reflexive of",
  "second-person singular of",
  "second-person singular past of",
  "singular definite of", "definite singular of",
  "singular of",
  "singulative of",
  "slender form of",
  "spelling of",
  "substantivisation of", "substantivization of",
  "superlative attributive of",
  "superlative of", "superlative form of",
  "superlative predicative of",
  "supine of",
  "syncopic form of",
  "synonym of", "alternative term for", "altname", "synonym", "alternative name of", "synof", "syn-of", "syn of",
  "terminative plural of",
  "terminative singular of",
  "verbal noun of",
  "vocative plural of",
  "vocative singular of",

Benwing2 (talk) 05:00, 25 March 2019 (UTC)

Sure. I will have to rewrite the program a bit first though so that it can digest a list of templates to look up instances of. — Eru·tuon 05:05, 25 March 2019 (UTC)
Done! Now I can make a listing of multiple templates pretty quickly. Do you find it useful to have the wikitext of the templates printed on the page under the titles like this, or no? — Eru·tuon 06:29, 25 March 2019 (UTC)
Thank you! This is very cool. Having the wikitext of the templates is useful so I can inspect it, e.g. I wouldn't have thought to look for cases like |dot=<nowiki/>. Benwing2 (talk) 09:53, 25 March 2019 (UTC)
@Erutuon Can you make a list of all pages that have a {{form of}} template with the |dot= param? Thanks! Benwing2 (talk) 01:34, 28 March 2019 (UTC)
@Benwing2: I went through the previously generated data file and there were only a few matches: B.J., C.I.A., J.C., M.S., steerike. They are already on the list above. — Eru·tuon 02:20, 28 March 2019 (UTC)
Oh, I forgot that {{form of}} was on the preceding list. Thanks! Benwing2 (talk) 02:21, 28 March 2019 (UTC)


Sir, have it your way, if you must. But, with respect, you need to understand that language and poetic scansion are not the same thing. You seem to be confusing the two. Traditional metric scansion can sometimes do violence to language, forcing it to do abnormal things, but that does not mean that those abnormalities then become part and parcel of normal everyday speech. Thus, we can be quite certain that, while forced to scan κᾱλός while reciting certain kinds of poetry, speakers of Attic-Ionic never said κᾱλός in actual normal speech.

Now, I am not saying that information about the linguistic abnormalities of metric scansion is not germane to the Wiktionary. On the contrary, I think it is very useful to a student of Classical Greek poetry, provided that it is placed in the appropriate context, such as in a Usage Note (as it is now), and stating very clearly that what applies to the traditional metric scansion of poetry does not apply to normal everyday language.

However, that kind of metric information certainly does not belong under Pronunciation. “Epic Greek” scansion is not a Greek dialect, as Doric, Attic, Ionic, Aeolian or Boeotian are. Nor are “certain other cases” forms of language in the way that dialects are.

Perhaps, as a student of Classical Greek poetry (a highly commendable endeavor to be sure), you have little concern for language outside of metric scansion. But I very much doubt that ancient Greeks went about their day reciting Homer all the time (thus saying κᾱλός much more often than κᾰλός). I am certain that they actually spoke their Greek as a real everyday language.

The Wiktionary is primarily a dictionary, not a guide to metric scansion. And the purpose of a dictionary is to record actual language, not the abnormalities of metric scansion. Pasquale (talk) 16:02, 26 March 2019 (UTC)

@Pasquale: As I understand it, both pronunciations of καλός (kalós) are inferred from poetry: the short-vowel version from Attic drama and some other types of poetry, the long-vowel version from epic poetry and some other types of poetry. As you say, presumably the usual pronunciation had a short vowel since Attic drama would probably use the usual pronunciation, but the long-vowel pronunciation would have been used when reading Homer. (As the entry points out, the long-vowel pronunciation was probably not the actual Homeric pronunciation since at the time of composition the word would have had a short vowel and a digamma. It was a reinterpretation after the digamma was lost.) But that doesn't matter; here on Wiktionary we show transcriptions for both the usual and unusual vowel lengths. — Eru·tuon 17:41, 26 March 2019 (UTC)
@Erutuon: Indeed, that's absolutely correct. When it comes to α, ι, and υ, vowel quantity has to be inferred from poetry. But then linguistic analysis takes over. There have been several important volumes written about the phonetics and phonology of Attic-Ionic Greek, as well as other dialects, for over a century now. As a result, we know for certain that the short-vowel pronunciation κᾰλός was, in fact, the standard spoken Attic-Ionic pronunciation, while the long-vowel pronunciation κᾱλός was restricted to scanning certain types of poetry, especially epic poetry, ergo not part of the actual spoken language. Back to what I wrote about the difference between actual language and poetic scansion... Thanks. Pasquale (talk) 21:00, 26 March 2019 (UTC)
Yes, and there are a variety of other ways it's inferred, for instance in μᾶλλον (mâllon) from the circumflex, or in πρᾱ́ττω (prā́ttō) from either the circumflex in certain forms or the fact that Ionic had η (ē), or from the expected vowel grade in certain formations, or from the fact that a form has undergone compensatory lengthening or quantitative metathesis.
Anyway, are you arguing that the long-vowel version καλός (kalós) would never have actually been used by Athenians, even when reciting Homer, that they would have recited it un-metrically? — Eru·tuon 21:18, 26 March 2019 (UTC)
(butting in) I agree with Pasquale that artificial pronunciations that exist solely for the sake of the meter should not be put on an equal footing with the natural, prosaic ones. ChignonПучок 21:22, 26 March 2019 (UTC)
What do you mean exactly? Marking the artificial pronunciations somehow, not showing them at all? At the moment the κᾱλός pronunciation is labeled as being used in epic poetry.
Note that there are some metrically modified forms that have or will have their own entries, like words with other vowel lengthenings, like ε to ει or ο to ου, or with consonants doubled for the sake of meter, or with οω instead of ω. — Eru·tuon 21:41, 26 March 2019 (UTC)
I think we can still show the artificial pronunciations, but yes, in my view we should explicitly mark them as artificial. Maybe we could write (artificial lengthening for the sake of the meter) (although that's a bit long) or something like that?
As to your second point, yes, I agree that those deserve their own entries of course. But again, let's write explicitly where they come from. ChignonПучок 21:55, 26 March 2019 (UTC)
Now I'm kind of interested in writing a script that looks through page titles to find words that might be metrical modifications of other words. — Eru·tuon 22:13, 26 March 2019 (UTC)
According to w:Proto-Greek language, "Loss of /h/ and /w/ after a consonant was often accompanied by compensatory lengthening of a preceding vowel." This suggests that this is a regular change and not artificial at all. —Rua (mew) 22:00, 26 March 2019 (UTC)
Yes, I think I've encountered that before. Maybe καλός (kalós) is a bad example, but my point still stands: there are some lengthenings that have no etymological justification. ChignonПучок 22:06, 26 March 2019 (UTC)
Compensatory lengthening after the loss of /w/ after a consonant may be more common in Ionic than Attic, though: *monwos → Attic μόνος (mónos), Ionic μοῦνος (moûnos); *ksenwos → Attic ξένος (xénos), Ionic ξεῖνος (xeînos). — Eru·tuon 22:10, 26 March 2019 (UTC)
So perhaps the longer form is just non-Attic, but really was used somewhere. Given that Homer was an Ionian himself, that seems like the first place to look. —Rua (mew) 22:21, 26 March 2019 (UTC)
@Erutuon: In reply to your question: "are you arguing that the long-vowel version κᾱλός (kālós) would never have actually been used by Athenians, even when reciting Homer, that they would have recited it un-metrically?": No, of course, I am not suggesting any such thing. And that's perfectly clear from my previous comments, I believe. What I did say is that information about the linguistic abnormalities of metric scansion is fine, and indeed very useful, as long as it is placed in a Usage Note. But it certainly does not belong under Pronunciation and should be removed from that section. The Pronunciation section strictly references the Attic dialect (and not, for example, the Homeric). Look at what the Pronunciation section says now:
In most cases:
(5th BCE Attic) IPA: /ka.lós/
(1st CE Egyptian) IPA: /kaˈlos/
(4th CE Koine) IPA: /kaˈlos/
(10th CE Byzantine) IPA: /kaˈlos/
(15th CE Constantinopolitan) IPA: /kaˈlos/
In epic poetry and in some other cases:
(5th BCE Attic) IPA: /kaː.lós/
(1st CE Egyptian) IPA: /kaˈlos/
(4th CE Koine) IPA: /kaˈlos/
(10th CE Byzantine) IPA: /kaˈlos/
(15th CE Constantinopolitan) IPA: /kaˈlos/
This is just silly and probably incorrect. As I repeat, metric scansion is distinct from normal everyday language, and it has a history of its own. An experienced reciter of poetry may well have pronounced /kaː.lós/ with a long ᾱ while scanning Homeric verse, not only in 5th BCE Attic, but also well into 1st CE Egyptian, 4th CE Koine, and even later. On the other hand, there were surely speakers of 5th BCE Attic Greek who never recited Homeric verse in their lives and only ever said /ka.lós/, which we know was the normal everyday pronunciation.
Lots of other languages, ancient and modern, offer similar peculiarities of metric scansion, which often shed light on earlier stages of those languages, but synchronically are always artificial. They merit mention in a note, but are not listed as synchronic pronunciation variants. For example, there are numerous words in Sanskrit that have peculiar scansions in Vedic hymns (sometimes only in the oldest hymns of the Rigveda); e.g. स्वर् (svár, but metrically súar or súvar in Vedic hymns), see स्वर्. Or, in Italian, the word oriente, which is normally pronounced in three syllables, but is often pronounced in four syllables in poetry (and maybe spelled orïente), see oriente. There are myriad such cases. But, invariably, the synchronically artificial metric scansion is discussed at best in a note, never listed as a normal pronunciation variant. Hope this is clear. Pasquale (talk) 17:24, 27 March 2019 (UTC)

──────────────────────────────────────────────────────────────────────────────────────────────────── Hmm, I agree that the post-Classical Attic pronunciations of καλός (kalós) are probably inaccurate: it's not clear when Greek speakers would have stopped reciting Homer metrically. So it would make more sense to only show the Classical Attic pronunciation for any special Epic forms.

As mentioned above, we tend to include {{grc-IPA}} in every entry, and some entries are for special metrical forms that are spelled differently from the normal forms. So to apply your preferred policy, pronunciations would have to be removed altogether from certain entries. Another option is to label these forms and to only show the Classical Attic pronunciation, because it is not clear how the pronunciation used in reciting poetry would have evolved, but it is plausible that poetry known to the Athenians would have been recited in something like an Athenian accent. I'm more inclined to the latter because I think it is helpful to provide some kind of transcription of poetic words or pronunciations. — Eru·tuon 18:06, 27 March 2019 (UTC)

Wikipedia linksEdit

I am interested in the inline links to Wikipedia that we have enclosed in [[w:|]], {{w}} (96K pages of transclusions, mostly multiple), and {{w2}} (3K). There is an argument to be made that the frequency with which we feel compelled to have such a link is an indication that it might make a useful entry, provided, of course, that it meets CFI.

I could extract these using modifications of the Perl scripts that I use for {{taxon}} (15K) and {{taxlink}} (25K). Are you aware of any such compilation or of any well-designed code to do the same thing?

Does it make sense to do it from the tool server? How? DCDuring (talk) 23:33, 29 March 2019 (UTC)

@DCDuring: I haven't worked with the toolserver yet, and am not sure if there are tools for getting statistics on wikilinks, but I generated a list of {{w}} and {{w2}} instances and could make a program to find wikilinks if you'd like. I figure it would be faster to generate the data from a list of templates and wikilinks than the whole dump. — Eru·tuon 00:12, 30 March 2019 (UTC)
Where are said lists of the template instances?
How would I get a count of links that use [[w:]], which is not a template?
I didn't even know about {{w2}} until I has looking for the number of pages that transcluded {{w}}. My {{vern}} does a link to WP, but obviously I know all about them. Are there other templates that link to WP?
Ny needs are only for links to English Wikipedia. (I think I've already extirpated all link to Wikispecies other than via {{taxlink}}.) Ideally, I would like to merge all the lists of instances and get counts. Specifically, for a given link, I would like the wikipedia link and the display. The WP links might include links to headers and there could be different displays for a given WP link. The sort should group instances by WP link page, and subsort by any header links and then by display. The groups should sort by decreasing frequency of the entire group. DCDuring (talk) 01:55, 30 March 2019 (UTC)
I probably can do this myself. Please don't spend time on it unless I come begging. DCDuring (talk) 01:57, 30 March 2019 (UTC)
@DCDuring: I've got the {{w}} and {{w2}} files on my computer. Unfortunately the {{w}} file is too big to save on a Wiktionary page (about 3.5 MB), the other one a bit smaller and available here. If you'd like the {{w}} file, you can send me an email via Special:Emailuser. (I'm not super familiar with file-sharing sites.) — Eru·tuon 02:22, 30 March 2019 (UTC)
  Done, I think. DCDuring (talk) 16:30, 30 March 2019 (UTC)

Not quite done etyl cleanupsEdit

Hi, if I edit {{etyl}} to show that a certain language is done, but there are actually still a few forms left, please don't undo my edit to the template. I often list language codes as done that don't actually have an "etyl cleanup/xx" subcategory precisely so that I can find the last few stragglers via CAT:E. Obviously if I've really jumped the gun and there are suddenly dozens of pages in CAT:E, you can and should revert me, but if there's only a handful of pages, then please let it be. I'll find and fix the module errors soon. Thanks! —Mahāgaja · talk 14:43, 9 April 2019 (UTC)

@Mahagaja: Sorry about that. I'll stop interfering. I'm not super enthusiastic about using module errors, but it works.
If it would help, I can supply lists of pages that had a given language code as of the last dump. I created a folder with separate files for each language code in a format similar to this. (It comes to about 4 MB.) I was doing a JWB run through a list like that to clean up the last instances. Usually there are several pages that have already been cleaned up since the dump was generated, so it's not the best for manual editing, unless you have a way to filter out pages that have already been cleaned up. — Eru·tuon 21:06, 9 April 2019 (UTC)

form-of templates: Full informationEdit

Thought you might find this useful ... I created a programmatic list of all the non-language-specific form-of templates and their properties. Not sure if you use Python but if you do it should be very easy to fetch whatever you want out of this list. Each template has an associated dict of properties:

  • "aliases": List of aliases
  • "deprecated-aliases": List of deprecated aliases (should no longer be used)
  • "withcap": If true, template displays a default initial capital and supports |nocap=
  • "withdot": If true, template displays a default final period and supports |nodot= and |dot=
  • "withfrom": If true, template supports |from=, |from2=, etc. to specify regional dialects or whatever
  • "withPOS": If true, template supports |POS= to control the part of speech of the category
  • "cat": If present, non-language-specific portion of the category to which the page belongs (prepended with the canonical name of the language to form the actual category name); value could potentially be a list of multiple categories, but no such entries exist among the non-language-specific templates

I'm still working on the corresponding language-specific list. These templates are much messier, often work in idiosyncratic ways, and are often defined manually instead of using a function in Module:form of/templates. I'm gradually converting them and cleaning them up.

Click to show or hide list
form_of_templates = [
  ("abbreviation of", {"aliases": ["abbr of"], "withcap": True, "withdot": True, "cat": "abbreviations"}),
  ("abstract noun of", {"withcap": True, "withfrom": True, "cat": "abstract nouns"}),
  ("accusative of", {}),
  ("accusative plural of", {}),
  ("accusative singular of", {}),
  ("acronym of", {"withcap": True, "withdot": True, "cat": "acronyms"}),
  ("active participle of", {}),
  ("agent noun of", {"cat": "agent nouns"}),
  ("alternative case form of", {"aliases": ["alt case"], "withcap": True}),
  ("alternative form of", {"aliases": ["alt form", "altform"], "deprecated-aliases": ["alt form of"], "withcap": True, "withfrom": True}),
  ("alternative plural of", {}),
  ("alternative reconstruction of", {}),
  ("alternative spelling of", {"aliases": ["alt sp"], "withcap": True, "withfrom": True}),
  ("alternative typography of", {}),
  ("aphetic form of", {"withcap": True, "cat": "aphetic forms"}),
  ("apocopic form of", {"cat": "apocopic forms"}),
  ("archaic form of", {"withcap": True, "withdot": True, "cat": "archaic forms"}),
  ("archaic spelling of", {"withcap": True, "withdot": True, "cat": "archaic forms"}),
  ("aspirate mutation of", {"withcap": True, "withdot": True, "cat": "aspirate-mutation forms"}),
  ("attributive form of", {}),
  ("augmentative of", {"withcap": True, "withPOS": True, "cat": "augmentative {{{POS|noun}}}s"}),
  ("broad form of", {"withfrom": True}),
  ("causative of", {"cat": "causative verbs"}),
  ("clipping of", {"aliases": ["clip of"], "withcap": True, "withdot": True, "cat": "clippings"}),
  ("combining form of", {"cat": "combining forms"}),
  ("comparative of", {"withPOS": True, "cat": "comparative {{{POS|adjective}}}s"}),
  ("construed with", {}),
  ("contraction of", {"withcap": True, "withdot": True, "cat": "contractions"}),
  ("dated form of", {"withcap": True, "withdot": True, "cat": "dated forms"}),
  ("dated spelling of", {"withcap": True, "withdot": True, "cat": "dated forms"}),
  ("dative of", {}),
  ("dative plural of", {}),
  ("dative singular of", {}),
  ("definite of", {}),
  ("deliberate misspelling of", {"withcap": True, "withdot": True, "cat": "misspellings"}),
  ("diminutive of", {"aliases": ["dim of"], "withPOS": True, "cat": "diminutive {{{POS|noun}}}s"}),
  ("diminutive plural of", {"withPOS": True, "cat": "diminutive {{{POS|noun}}}s"}),
  ("dual of", {}),
  ("eclipsis of", {"withcap": True, "withdot": True, "cat": "eclipsed forms"}),
  ("eggcorn of", {"withcap": True, "withdot": True, "cat": "eggcorns"}),
  ("elative of", {}),
  ("ellipsis of", {"withcap": True, "cat": "ellipses"}),
  ("elongated form of", {"withcap": True, "withdot": True, "cat": "elongated forms"}),
  ("endearing form of", {"withPOS": True, "cat": "endearing {{{POS|noun}}}s"}),
  ("equative of", {"withPOS": True, "cat": "{{{POS|adjective}}} equative forms"}),
  ("euphemistic form of", {"withcap": True, "withdot": True, "cat": "euphemisms"}),
  ("euphemistic spelling of", {"withcap": True, "withdot": True, "cat": "euphemisms"}),
  ("eye dialect of", {"withcap": True, "withdot": True, "withfrom": True, "cat": "eye dialect"}),
  ("feminine noun of", {}),
  ("feminine of", {}),
  ("feminine plural of", {}),
  ("feminine plural past participle of", {"cat": "past participle forms"}),
  ("feminine singular of", {}),
  ("feminine singular past participle of", {"cat": "past participle forms"}),
  ("form of", {}),
  ("former name of", {"withcap": True, "withdot": True}),
  ("frequentative of", {"cat": "frequentative verbs"}),
  ("future participle of", {}),
  ("genitive of", {}),
  ("genitive plural definite of", {}),
  ("genitive plural indefinite of", {}),
  ("genitive plural of", {}),
  ("genitive singular definite of", {}),
  ("genitive singular indefinite of", {}),
  ("genitive singular of", {}),
  ("gerund of", {"cat": "gerunds"}),
  ("h-prothesis of", {"cat": "h-prothesized forms"}),
  ("hard mutation of", {"withcap": True, "withdot": True, "cat": "hard-mutation forms"}),
  ("harmonic variant of", {}),
  ("honorific alternative case form of", {"aliases": ["honor alt case"], "withcap": True}), # FIXME, rewrite with withdot=
  ("imperative of", {}),
  ("imperfective form of", {"cat": "imperfective verbs"}),
  ("inflected form of", {}),
  ("inflection of", {"deprecated-aliases": ["conjugation of"]}),
  ("informal form of", {"withcap": True, "withdot": True, "cat": "informal forms"}),
  ("informal spelling of", {"withcap": True, "withdot": True, "cat": "informal forms"}),
  ("initialism of", {"aliases": ["init of"], "withcap": True, "withdot": True, "cat": "initialisms"}),
  ("iterative of", {"cat": "iterative verbs"}),
  ("lenition of", {"withcap": True, "withdot": True, "cat": "lenited forms"}),
  ("masculine noun of", {}),
  ("masculine of", {}),
  ("masculine plural of", {}),
  ("masculine plural past participle of", {"cat": "past participle forms"}),
  ("medieval spelling of", {"cat": "medieval spellings"}),
  ("men's speech form of", {"cat": "men's speech terms"}),
  ("misconstruction of", {"withcap": True, "cat": "misconstructions"}),
  ("misromanization of", {"withcap": True, "withdot": True, "cat": "misromanizations"}),
  ("misspelling of", {"aliases": ["missp"], "withcap": True, "withdot": True, "cat": "misspellings"}),
  ("mixed mutation of", {"withcap": True, "withdot": True, "cat": "mixed-mutation forms"}),
  ("nasal mutation of", {"withcap": True, "withdot": True, "cat": "nasal-mutation forms"}),
  ("negative of", {}),
  ("neuter plural of", {}),
  ("neuter singular of", {}),
  ("neuter singular past participle of", {"cat": "past participle forms"}),
  ("nomen sacrum form of", {"withcap": True, "withdot": True, "cat": "nomina sacra"}),
  ("nominalization of", {"cat": "nominalized adjectives"}),
  ("nominative plural of", {}),
  ("nominative singular of", {}),
  ("nonstandard form of", {"withcap": True, "withdot": True, "cat": "nonstandard forms"}),
  ("nonstandard spelling of", {"withcap": True, "withdot": True, "cat": "nonstandard forms"}),
  ("nuqtaless form of", {}),
  ("obsolete form of", {"withcap": True, "withdot": True, "cat": "obsolete forms"}),
  ("obsolete spelling of", {"aliases": ["obs sp"], "withcap": True, "cat": "obsolete forms"}),
  ("obsolete typography of", {"cat": "obsolete forms"}),
  ("official form of", {"withcap": True, "withdot": True, "cat": "official forms"}),
  ("participle of", {"cat": "participles"}),
  ("passive of", {"cat": "verb passive forms"}),
  ("passive participle of", {}),
  ("passive past tense of", {}),
  ("past active participle of", {"cat": "past active participles"}),
  ("past participle form of", {"cat": "past participle forms"}),
  ("past participle of", {"cat": "past participles"}),
  ("past passive participle of", {"cat": "past passive participles"}),
  ("past tense of", {}),
  ("pejorative of", {"withcap": True, "cat": "derogatory terms"}),
  ("perfect participle of", {"cat": "perfect participles"}),
  ("perfective form of", {"cat": "perfective verbs"}),
  ("plural definite of", {}),
  ("plural indefinite of", {}),
  ("plural of", {"deprecated-aliases": ["plural form of"]}),
  ("present active participle of", {"cat": "present active participles"}),
  ("present participle of", {"cat": "present participles"}),
  ("present tense of", {}),
  ("pronunciation spelling of", {"withcap": True, "withdot": True, "withfrom": True, "cat": "pronunciation spellings"}),
  ("pronunciation variant of", {"withcap": True, "withdot": True, "withfrom": True, "cat": "pronunciation variants"}),
  ("rare form of", {"withcap": True, "withdot": True, "cat": "rare forms"}),
  ("rare spelling of", {"aliases": ["rare sp"], "withcap": True, "withdot": True, "cat": "rare forms"}),
  ("reflexive of", {"cat": "reflexive verbs"}),
  ("rfform", {}),
  ("romanization of", {"withcap": True}),
  ("short for", {"withcap": True, "withdot": True, "cat": "short forms"}),
  ("singular definite of", {}),
  ("singular of", {}),
  ("singulative of", {}),
  ("slender form of", {"withfrom": True}),
  ("soft mutation of", {"withcap": True, "withdot": True, "cat": "soft-mutation forms"}),
  ("spelling of", {"cat": "{{#if:{{{lang|}}}|{{{1}}} forms|{{{2}}} forms}}"}),
  ("standard form of", {"withcap": True, "withdot": True}),
  ("standard spelling of", {"aliases": ["stand sp"], "withcap": True, "withdot": True}),
  ("superlative attributive of", {}),
  ("superlative of", {"withPOS": True, "cat": "superlative {{{POS|adjective}}}s"}),
  ("superlative predicative of", {}),
  ("superseded spelling of", {"withcap": True, "withdot": True, "cat": "superseded forms"}),
  ("supine of", {}),
  ("syncopic form of", {"cat": "syncopic forms"}),
  ("synonym of", {"aliases": ["syn of"], "withcap": True}),
  ("t-prothesis of", {"cat": "t-prothesized forms"}),
  ("uncommon form of", {"withcap": True, "withdot": True, "cat": "uncommon forms"}),
  ("uncommon spelling of", {"withcap": True, "withdot": True, "cat": "uncommon forms"}),
  ("verbal noun of", {"cat": "verbal nouns"}),
  ("vocative plural of", {}),
  ("vocative singular of", {}),

Benwing2 (talk) 02:48, 10 April 2019 (UTC)

Thanks, that's already been useful to help me determine that a list of form-of templates that I made would include one with capitalization. (I've written a little Python that used Pywikibot and mwparserfromhell, but I'm not as familiar with it as with Lua, JavaScript, and C.) — Eru·tuon 04:55, 10 April 2019 (UTC)

Lang-specific form-of templatesEdit

Here is my current list of lang-specific form-of templates and their aliases (if there are multiple comma-separated template names listed on a single line, the first one is the canonical name and the remainder are aliases). I haven't gotten around yet to classifying them by behavior, which is difficult in any case because each one is so idiosyncratic and my plan is to obsolete as many as possible.

Click to show or hide list
ar-instance noun of
ar-verbal noun of
be-Taraškievica spelling of
bg-adj form of
bg-noun form of
bg-verb form of
blk-past of
br-noun-mutation of,br-noun-mutated
ca-adj form of
ca-form of
ca-verb form of
caret notation of
ceb-superseded spelling of
chm-inflection of
cmn-erhua form of,zh-erhua form of
cu-Glag spelling of
cu-form of
da-e-form of
de-du contraction
de-inflected form of
de-superseded spelling of,de-deprecated spelling of
de-umlautless spelling of
de-verb form of
de-zu-infinitive of
egy-alternative transliteration of,egy-alt
egy-verb form of
el-Cretan dialect form of
el-Cypriot dialect form of
el-Italiot dialect form of
el-Katharevousa form of
el-Maniot dialect form of
el-Pontian dialect form of
el-form-of-verb,el-verb form of
el-monotonic form of
el-participle of
el-polytonic form of
en-archaic second-person singular of
en-archaic second-person singular past of
en-archaic third-person singular of
en-comparative of
en-ing form of
en-irregular plural of
en-past of
en-simple past of
en-superlative of
en-third-person singular of,en-third person singular of
enm-first-person singular of
enm-first/third-person singular past of
enm-inflected form of
enm-plural of
enm-plural past of
enm-plural subjunctive of
enm-plural subjunctive past of
enm-second-person singular of
enm-second-person singular past of
enm-singular subjunctive of
enm-singular subjunctive past of
enm-third-person singular of
eo-form of
eo-root of
es-adj form of
es-compound of
es-verb form of
es-verb form of/adverbial
es-verb form of/conditional
es-verb form of/imperative
es-verb form of/indicative
es-verb form of/participle
es-verb form of/subjunctive
es-verb form of/subtense-name
es-verb form of/subtense-pronoun
et-nom form of
et-participle of
et-verb form of
fa-adj form of,fa-adj-form
ff-fuc-form of
fi-form of
fi-infinitive of
fi-participle of
fi-verb form of
fy-pronadv of
ga-emphatic of
ga-lenition of
gl-verb form of
gl-verb form of/conditional
gl-verb form of/doWork
gl-verb form of/error
gl-verb form of/imperative
gl-verb form of/indicative
gl-verb form of/participle
gl-verb form of/pronoun
gl-verb form of/subjunctive
gl-verb form of/subtense-name
gl-verb form of/subtense-pronoun
got-compound of
got-nom form of
got-verb form of
han tu form of,vi-hantu form of
he-adj form of
he-defective spelling of
he-excessive spelling of
he-infinitive of
he-noun form of
he-prep form of
he-verb form of
hit-broad transcription of
hit-transliteration of
hu-exaggerated of
hu-inflection of
ia-form of
ie-past and pp of
io-form of
is-conjugation of
is-inflection of
it-adj form of
ja-form of
ja-kyujitai spelling of,kyu,ja-kyu sp
ja-past of verb
ja-romanization of,ja-romanization-of
ja-te form of verb
ja-verb form of
jbo-rafsi of
jyutping reading of
ka-form of
ka-verbal for,ka-verbal of
ko-hanja form of,hanja form of
ko-mixed form of
ko-root of
ku-verb form of
la-praenominal abbreviation of
lb-inflected form of
liv-conjugation of
liv-inflection of
liv-participle of
lv-adv form of
lv-comparative of
lv-definite of
lv-inflection of
lv-negative of
lv-participle of
lv-reflexive of
lv-superlative of
lv-verbal noun of
mfe-medial of,mfe-short of
mn-verb form of
morse code abbreviation
morse code for
morse code prosign
my-ICT of
nl-adj form of
nl-noun form of
nl-pronadv of
nl-verb form of
nn-verb-form of
ofs-nom form of
osx-nom form of
pinyin reading of,pinread,pinof
pt-adj form of
pt-adv form of
pt-article form of
pt-cardinal form of
pt-noun form of
pt-ordinal form,pt-ordinal def
pt-pron def
pt-verb form of
ro-Cyrillic of
ro-adj-form of,ro-form-adj
ro-superseded spelling of
roa-opt-noun plural of
ru-abbrev of
ru-acronym of
ru-clipping of
ru-initialism of
ru-participle of
sa-desiderative of,sa-desi
sa-frequentative of,sa-freq
sa-root form of
sce-verb form of
sco-past of
sco-simple past of
sco-third-person singular of
sga-verbnec of
sh-verb form of,sh-form-verb
sino-vietnamese reading of
sl-form-verb,sl-verb form of
sl-participle of
sw-adj form of
tg-adj form of,tg-adj-form
tl-superseded spelling of
tl-verb form of
tr-copulative form of
tr-inflection of
tr-possessive form of
ug-uly of
ug-uyy of
vi-Nom form of,Nom form of,nomof
xh-combining stem of
yi-alternatively pointed form of
yi-inflected form of
yi-phonetic spelling of
yi-unpointed form of
za-sawndip form of
zh-misspelling of,zh-misspelling
zh-only used in,zh-only
zh-sum of parts
zh-synonym of,zh-synonym
zu-combining stem of
zu-verb inf of

Benwing2 (talk) 23:55, 13 April 2019 (UTC)

@Benwing2: I've made a file of instances of these templates (121 MiB!) if you need to do any text analysis on them. — Eru·tuon 21:16, 14 April 2019 (UTC)
Thanks! What I actually need currently though is a list of any instances of the inflection tag "mp" in {{inflection of}}; i.e. any cases where "mp" (possibly with spaces on either end) occurs in param 3 or greater in a call to {{inflection of}}. BTW I missed two templates in the list above (now corrected): Template:he-infinitive of (I just forgot it) and Template:fy-pronadv of (recently added). Benwing2 (talk) 21:24, 14 April 2019 (UTC)
Okay, here's the list of {{inflection of}} containing |mp|. There shouldn't be many cases in which mp isn't a grammar label because it isn't a language code and isn't very likely to be a word, and no instances with explicitly numbered parameters include mp as a grammar tag. — Eru·tuon 21:56, 14 April 2019 (UTC)
Thanks! Benwing2 (talk) 22:12, 14 April 2019 (UTC)

Scripts scripts scriptsEdit

BTW as part of my cleanup of the lang-specific form-of templates I wrote some general scripts to rewrite templates in various ways. One of them lets you do fairly simple things like rename templates or remove or rename parameters using command-line arguments; e.g. I used the following:

python -t 'e-form of' -n 'da-e-form of' -r lang --filter lang=da --save

to rename {{e-form of}} to {{da-e-form of}} and remove the |lang= parameter, with a filter added saying to operate only when |lang=da, for safety's sake. Another one lets you specify complex rewrite specifications in code. An example is for rewriting {{et-verb form of}} to {{Inflection of|et|...}} (this latter template doesn't exist yet but it will):

  ("et-verb form of", (
    # The template code supports m=ptc and categorizes specially, but
    # it never occurs.
    "Inflection of",
    ("error-if", ("present-except", ["1", "p", "m", "t"])),
    ("set", "1", [
      ("copy", "1"),
      ("lookup", "p", {
        "1s": ["1", "s"],
        "2s": ["2", "s"],
        "3s": ["3", "s"],
        "1p": ["1", "p"],
        "2p": ["2", "p"],
        "3p": ["3", "p"],
        "pass": "pass",
        "": [],
      ("lookup", "m", {
        "pres": "pres",
        "past": "past",
        "cond": "cond",
        "impr": "impr",
        "quot": "quot",
        "": [],
      ("lookup", "t", {
        "da": "da-infinitive",
        "conn": "conn",
        "": [],

This will, for example, rewrite {{et-verb form of|foobar|p=1p|t=conn}} to {{Inflection of|et|foobar||1|p|conn}}, but will complain and refuse to do anything if it sees an unfamiliar parameter or an unexpected value for a known parameter. I also have lots of other scripts to do things like regex-based lookups and rewrites, lists of pages in a given category or namespace or referencing a given page, etc. All of these scripts operate online, although most of them can be passed a list of pages to operate on, making it possible to interface them with scripts that search through a dump. If you're interested, I can make these scripts available. Benwing2 (talk) 22:34, 14 April 2019 (UTC)

Your Latin>Cyrillic editsEdit

Hi Erutuon, I appreciate your Latin>Cyrillic edits for the terms in Turkic languages.

Just wanted to ask: are you sure those terms prior to your edits were actually typed using Latin characters? Each time I took the effort to use the actual Cyrillic characters using the respective character sets. If so, then I will have those character sets corrected.

Regards, Borovi4ok (talk) 09:07, 19 April 2019 (UTC)

@Borovi4ok: I'm quite sure. My program uses regular expressions to find words with non-Cyrillic characters and a set of replacements based on the Lat2CyrMap here to automatically replace Latin characters with Cyrillic. (I also sometimes verify using a program that I paste text into to see the names of the characters.) If you have trouble finding the characters, you can use the "Cyrillic" menu under the edit box (also available here) as a reference; all the letters there are Cyrillic except in the "Transliteration" section. — Eru·tuon 09:36, 19 April 2019 (UTC)

Thanks. I actually routinely use the "Cyrillic" menu under the edit box. So I am confused now. Can I be sure that it actually has all the correct characters in it? Borovi4ok (talk) 10:12, 19 April 2019 (UTC)

@Borovi4ok: Yeah, I just checked the letters in the Cyrillic menu and they're all Cyrillic, except the ones in the Transliteration section. If you used the menu, I don't know how you could have been adding the Latin lookalikes. — Eru·tuon 19:57, 19 April 2019 (UTC)
I wish there was a way to access the edit tools when using the translation adding tool. — SGconlaw (talk) 03:51, 20 April 2019 (UTC)
Thanks, Erutuon! Borovi4ok (talk) 07:24, 22 April 2019 (UTC)

List of inflection tags by usage?Edit

Hey ... one of the side effects of my adding a whole bunch of inflection tags is that some pages are now running out of memory. One way to attack this is to separate the tags into more and less common ones, and only load the less common set if an unknown tag is encountered. To do this I need a list of all tags by usage; is this something you can produce? Benwing2 (talk) 00:45, 21 April 2019 (UTC)

@Benwing2: Yep, see here. I had a Lua script go through the uses of {{inflection of}}, convert the tags from shortcuts to full forms if possible, and count them. — Eru·tuon 01:29, 21 April 2019 (UTC)
Oops, I didn't parse HTML comments. But apart from that, it's okay. — Eru·tuon 01:30, 21 April 2019 (UTC)
Restricted the list to tags from Module:form of/data. — Eru·tuon 01:46, 21 April 2019 (UTC)
Thank you! Can you also make a list of all the cases of {{inflection of}} involving tags not in Module:form of/data? That way I can fix them up appropriately or add the missing tags to Module:form of/data. Benwing2 (talk) 15:38, 21 April 2019 (UTC)
@Benwing2: Done. But it comes to about 3 or 4 MiB depending on the format, too large to conveniently save on-wiki. I don't do filesharing much; how do you want me to get it to you? — Eru·tuon 19:41, 21 April 2019 (UTC)
Hmm, you could email it to me as an attachment; you should be able to do it using the "email this user" link on the left-hand side. Another possibility is to categorize each page by the inflection tag and make a list of each inflection tag and, under the tag, just the names of the pages containing the tag; that should be much smaller. BTW there may be a bug in your script that computed the counts above; for example, you have only 66 entries listed under "prepositional" but there should be > 40,000, since there are that many Russian nouns and each one has at least a prepositional singular non-lemma form (and usually also a prepositional plural). Similarly there should be thousands of entries under "first-person", "second-person", "third-person", "animate" and "inanimate". Benwing2 (talk) 02:52, 22 April 2019 (UTC)
Yeah, you're right, those counts are way off. I'll see if I can fix it. I sent you an email. — Eru·tuon 03:30, 22 April 2019 (UTC)
Fixed. It was simply that I was skipping the very first tag in each template. 🙄 — Eru·tuon 03:48, 22 April 2019 (UTC)
Thanks for the email. I definitely see some tags that can be added, e.g. to better support Irish and Old Irish, as well as a lot of junk, some of which can be easily cleaned up by bot and some of which is harder to do because it's idiosyncratic. I bet though that at least 90% of the 56,980 entries can be eliminated without a lot of work. Benwing2 (talk) 04:40, 22 April 2019 (UTC)
Also we'll need to do another run after I finish converting the lang-specific form-of templates to generic templates; this will hugely increase the frequency of some tags. Benwing2 (talk) 04:45, 22 April 2019 (UTC)
18 rules plus elimination of empty tags plus addition of a dozen or so tags to Module:form of/data2 (which will hold the less frequent tags) leads to elimination of > 94% of the cases:
Fraction of templates with bad tags = 3165 / 56980 = 5.55%
Bad tags:
other = 1138
autonomous = 314
{{lb|ga|archaic}} = 125
Epic = 121
Attic = 107
copulative = 50
negative conjugation = 49
duoplural = 42
definite form = 41
resultative = 40
variant = 39
Doric = 37
unaugmented = 36
Verbal noun = 34
Passive participle = 32
inalienable = 32
possession = 30
(multiple possessions) = 30
indefinite form = 25
{{lb|ga|obsolete}} = 25
Figuring out what to do with the "other" tag will eliminate more than 1/3 of the remainder. Benwing2 (talk) 11:15, 22 April 2019 (UTC)
Every one of the "other" tags comes from Polish and corresponds to the rightmost column of e.g. abonować, which is listed in the conjugation table as "masculine animate or masculine inanimate or feminine or neuter", as opposed to "masculine personal". Suggestions for how to handle this? Should I list out 'm|an//in|and|f|and|n', or 'm|nonpersonal|and|f|and|n' (with a new 'nonpersonal' tag), or 'non-masculine-personal' (perhaps handled by a special 'non-' tag), or ...? Benwing2 (talk) 11:26, 22 April 2019 (UTC)
I think it would be a good idea to discuss this with Polish editors. (I'm not very familiar with Polish grammar.) — Eru·tuon 20:08, 22 April 2019 (UTC)
(Notifying Hergilei, Tweenk, Shumkichi, Wrzodek, Asank neo): Hello Polish editors ... could you read the preceding paragraph? There are over 1,000 entries that use the "other" tag in {{inflection of}}. All of these are Polish past-tense forms like abonowałyśmy, where "other" means "not masculine personal", but this is far from clear without context. I'd like to replace the "other" tag with something more specific, do you agree? Benwing2 (talk) 14:16, 10 May 2019 (UTC)
This is easy because we use the "nonvirile" tag in newer entries, e.g. grałyśmy, srałyśmy. Wrzodek (talk) 17:56, 10 May 2019 (UTC)
@Wrzodek Thanks! This looks easy enough to implement, just other -> nv (= nonvirile), right? Benwing2 (talk) 23:19, 10 May 2019 (UTC)
@Benwing2 Yes, assuming all "other" tags are in Polish entries, this should fix it once and for all. I can't find any case where "other" could not be made into "nonvirile". Wrzodek (talk) 16:17, 11 May 2019 (UTC)
@Wrzodek I made the change, using my bot. Benwing2 (talk) 03:17, 12 May 2019 (UTC)
Looking at the list, I believe "autonomous" is a particular verb form in Irish, so that one is legitimate. Copulative is used in Zulu and its relatives, for a special form that has the function of a copulative verb. —Rua (mew) 14:22, 10 May 2019 (UTC)

List ϝείδω for etymology of εἴδομαι, εἶδον, οἶδα, and ϝοράω+ϝείδω for ὁράω.Edit

ϝείδω and ϝοράω warrant unique inclusion, as they are the common Ancient Greek ancestors of ὁράω, εἴδομαι, and εἶδον. Their existence explains the weirdness of ὁράω, εἶδον, and οἶδα, from two common verbs of origin, and warrants an exception to the usual tendency to skip reconstructed Ancient Greek forms. Indeed ϝείδω's mention in ὁράω is very useful, and instantly explains why its imperfect is ἐώρων. Wing gundam (talk) 00:29, 25 April 2019 (UTC)

@Wing gundam: I think these irregular forms can be explained without spelling reconstructed forms in Greek script. (What does ϝείδω have to do with ἐώρων? Perhaps you mean that ϝοράω explains ἐώρων?) — Eru·tuon 19:20, 26 April 2019 (UTC)

Grease Pit reversionsEdit

Are you sure you got each one or should I revert everything to Rua's edit of 29 minutes ago? DCDuring (talk) 22:59, 28 April 2019 (UTC)

@DCDuring: Yeah, it should be good; I actually was reverting to Rua's edit over and over. — Eru·tuon
Oops, apparently I wasn't. Fixed. — Eru·tuon 23:03, 28 April 2019 (UTC)
Yes. I'd noticed no reversion after those last few. Sorry I didn't catch it and block the IP shortly after he started. DCDuring (talk) 23:05, 28 April 2019 (UTC)

and vs. // etc.Edit

Hello. I remember awhile ago you wondered if we could convert uses of |and| in {{inflection of}} to |//|. I wrote a script to do that. It's careful only to combine things of the same type, and I have special exceptions for certain cases where combining doesn't make sense. The script also combines things like |nom|p|;|acc|p|;|voc|p| to |nom//acc/voc|p| and |2|p|pres|indc|;|2|p|pres|subj| to |2|p|pres|indc//subj|. A couple of issues that I'd like your input on:

  1. The use of |and| can be ambiguous in how loosely or tightly it joins. There are cases like |nom|and|voc|and|dat|and|strong|gen|p| (in Modern Irish, which should be read as "(nominative + vocative + dative + strong-genitive) plural") and |def|s|and|p| (in Norwegian, which should be read as "(definite singular) + plural") and |1|s|and|3|p|aor|act|ind| (in Ancient Greek, which should be read in the obvious way). I propose to introduce the code _ to bind more tightly than //, so that the above three examples could be written as |nom//voc//dat//strong_gen|p|, |def_s//p|, and |1_s//3_p|aor|act|ind|. I'm not sure how to display this to indicate the binding, maybe nominative, vocative, dative and strong_genitive plural (with an underscore) or definite-singular and plural (with a hyphen). What do you think?
  2. When you have multiple "and"'s or "//"'s, sometimes the display can be confusing, e.g. dative and ablative masculine and feminine plural, which should be read as "(dative and ablative) (masculine and feminine) plural" but might be confused as "(dative) and (ablative masculine) and (feminine) plural". I wonder if we should display them differently, e.g. dative–ablative masculine–feminine plural (with en dash) or dative+ablative masculine+feminine plural (with +) or some other way. Comments?

Benwing2 (talk) 02:19, 4 May 2019 (UTC)

BTW, I think if the proper binding can't be expressed using _ and //, the tag set should be split into multiple tag sets. For example, litear currently has {{inflection of|ligh||pres|indc|and|pres|subj|and|impr|autonomous|lang=ga}}. This could be expressed as |pres_indc//pres_subj//impr|autonomous|, but might better be expresed as |pres|ind//sub|autonomous|;|impr|autonomous|. I think this especially goes for cases like paca, which has {{inflection of|pacare||3|s|pres|indc|and|2|s|impr|lang=it}}, where the two things being joined share almost nothing; why not use {{inflection of|pacare||3|s|pres|indc|;|2|s|impr|lang=it}}? Benwing2 (talk) 03:02, 4 May 2019 (UTC)
I think it would be okay not to make the display of cases like "dative and ablative masculine and feminine plural" any clearer, and to rely on language-specific context for disambiguation. The incorrect reading "(dative) and (ablative masculine) and (feminine) plural" is technically possible syntactically speaking, but someone who understands the basic grammar of the language (or even has basic understanding of the meanings of the terms) will probably know that's nonsensical and that the correct reading is "(dative and ablative) (masculine and feminine) plural", because only cases and genders can be joined by a conjunction. But of the options given, I prefer dashes (dative–ablative masculine–feminine plural) to plus signs (dative+ablative masculine+feminine plural) because they're more commonly used in good typography. Actually the dashed version is far more readable than the version with "and".
The other issue seems more complicated, aside from the person–number labels which feel very obvious to me because they have parallel structure. I don't really like putting unusual characters like underscores in the output, but I don't have a better idea right now. Maybe the binding of "strong genitive" and "definite singular" is something that can be left to language-specific context though. (I don't have a great sense for these particular examples though.) Using underscores with a special meaning in the template code confuses me a little, because underscores are equivalent to spaces in wikilinks and page titles and they are a character in C-ish identifiers (which don't have internal semantic structure). — Eru·tuon 03:50, 4 May 2019 (UTC)
Thanks for your input. I'm not wedded to underscores, my other thought is colon, e.g. def:s//p. The advantage of having *some* code like this is that the underlying template code has an unambiguous interpretation (even if the output doesn't show it), which can enable various use cases. The interpretation of either underscore or colon as a separator would be inhibited if the tag contains either a link (i.e. any of the [ or ] or | chars) or HTML (i.e. the < or > chars). It isn't necessary to inhibit interpretation of // in this fashion because // doesn't normally occur in links or HTML (which is why I chose it); this allows things like {{lb|grc|Epic}}//{{lb|grc|Attic}}, which occurs frequently.
As for your comment about the en-dash version, I agree that it's more readable than the version with "and"; maybe I'll implement this. Benwing2 (talk) 04:50, 4 May 2019 (UTC)
@Benwing2: Colon does seem less confusing. I also like the idea of having the template code clearly convey the intent, though I'm not sure what non-programmers will think.
I had the idea of adding HTML so that JavaScript can find the output of these conjoined tags and change the way they are displayed. It would be sufficient to enclose each of the separators and the whole sequence with a class. Say, inflection-of-sep and inflection-of-conjoined. If the separator ends or begins with an ASCII space, I think the space has to be replaced with &nbsp; &#32; to prevent the MediaWiki parser from moving the space outside of the HTML tag. Oddly, &nbsp; (as well as aliases like &#xA0;) is replaced with an ASCII space in the HTML emitted by the parser. For nom//acc//voc, this would look roughly like <span class="inflection-of-conjoined">nominative<span class="inflection-of-sep">,&#32;</span>accusative<span class="inflection-of-sep"><span class="serial-comma">,</span><span class="serial-and">&#32;and</span></span>vocative</span> if the linking is omitted. Then JavaScript can iterate over each .inflection-of-conjoined element and find the child .inflection-of-sep elements and change their displayed text. — Eru·tuon 18:58, 10 May 2019 (UTC)
This is a good idea. I'll implement it. Benwing2 (talk) 23:17, 10 May 2019 (UTC)
Implemented. Benwing2 (talk) 03:08, 12 May 2019 (UTC)
Another cleanup task: I think that in Ancient Greek at least, all the incorrectly conjoined tags from the same category in the formation tag|tag|and|tag, like nom|acc|and|voc, can safely be changed to tag//tag//tag. This list should include all the templates that need to be fixed. — Eru·tuon 07:33, 4 May 2019 (UTC)
Yup, my script already handles those as well. Benwing2 (talk) 07:50, 4 May 2019 (UTC)
Sweet. Oh, also your script could remove trailing semicolons. — Eru·tuon 16:09, 4 May 2019 (UTC)
I'll make sure it handles that also. Benwing2 (talk) 16:14, 4 May 2019 (UTC)
The script has finished running. Let me know if you see anything that's wrong. BTW for a comparison between "and" and en-dashes, see User:Benwing2/billigen vs. User:Benwing2/billigen2. You can view any page in en-dash format by locally changing the return value of export.multipart_join_strategy() to "en-dash" in Module:form of/functions, and previewing the page. Benwing2 (talk) 16:46, 5 May 2019 (UTC)
I also cleaned up the remaining entries in your list above that my bot didn't handle and that you hadn't already fixed. Benwing2 (talk) 16:56, 5 May 2019 (UTC)
Thank you so much! — Eru·tuon 23:24, 5 May 2019 (UTC)

combining adjacent calls to {{inflection of}}Edit

Hey ... sorry to see all the vandalism on your page. I wrote a script to combine adjacent calls to {{inflection of}} into a single call with semicolon separators, and then apply combination logic when sets of inflections differ along only one axis (the same thing I already did to existing calls to {{inflection of}} with semicolons in them). I am thinking of running it, what do you think? Benwing2 (talk) 01:20, 8 May 2019 (UTC)

I would be very glad if you ran that on Ancient Greek entries; I was considering starting a bot to do it because WT:ACCEL doesn't yet do it. I would merge by multiple dimensions, but since Rua disagrees, it's best not to do that without a vote; on the other hand, people are unlikely to disagree with merging by a single dimension, and the templates can later be merged by multiple dimensions if that is agreed on. — Eru·tuon 19:57, 8 May 2019 (UTC)
@Rua Are you dead set against having syncretism along two axes? As mentioned above, I wrote a script to combine adjacent calls to {{inflection of}} and combine syncretisms as much as possible. I first went through the latest dump and identified subsections where such combination is potentially possible (producing 442,504 subsections on 420,214 pages), and then ran my script on those subsections. The script first combines adjacent calls to {{inflection of}} that can be combined (same language, same lemma, etc.), using |;|, and then seeks to further combine tag sets that differ in a single dimension. Some stats after all combining is done:
Num tag sets seen = 691737
Num tag sets with 1 multipart tags = 342350 (49.49%)
Num tag sets with 0 multipart tags = 300938 (43.50%)
Num tag sets with 2 multipart tags =  48445 (7.00%)
Num tag sets with 3 multipart tags =      4 (0.00%)
Tag sets by ordered dimensions of multipart tags:
                                         = 300938 (43.50%)
case                                     = 169362 (24.48%)
gender                                   =  65031 (9.40%)
person                                   =  52322 (7.56%)
mood                                     =  47584 (6.88%)
case, gender                             =  44323 (6.41%)
tense-aspect                             =   5490 (0.79%)
person, mood                             =   2947 (0.43%)
number                                   =   2146 (0.31%)
person, number                           =    792 (0.11%)
gender, case                             =    318 (0.05%)
animacy                                  =    204 (0.03%)
voice-valence                            =    122 (0.02%)
state                                    =     75 (0.01%)
case, number                             =     34 (0.00%)
person, tense-aspect                     =      7 (0.00%)
voice-valence, mood                      =      7 (0.00%)
unknown                                  =      7 (0.00%)
class, case                              =      6 (0.00%)
state, case                              =      4 (0.00%)
class                                    =      4 (0.00%)
case, gender, number                     =      4 (0.00%)
grammar                                  =      3 (0.00%)
number, case                             =      2 (0.00%)
number, mood                             =      1 (0.00%)
number, gender                           =      1 (0.00%)
person, grammar                          =      1 (0.00%)
animacy, case                            =      1 (0.00%)
gender, number                           =      1 (0.00%)
What this means is that 691,737 tag sets were left after combinations were applied (where a "tag set" is a single grouping of tags representing a single inflection, and the semicolon separates tag sets), of which 342,350 (about half) had a single multipart tag in them (where a multipart tag is something like nom//acc//voc, i.e. it denotes syncretism along an axis), while 300,938 (43.5%) had no multipart tags, 48,445 (7%) had two multipart tags, and only 4 had three multipart tags. The rest of the info specifies the dimensions of the multipart tags: 169,362 (24.48%) of the tag sets had a single multipart tag along the case dimension; 44,323 (6.41%) of the tag sets had two multipart tags, with the earlier one along the case dimension and the later one along the gender dimension (this accounts for almost all the cases of two-axis syncretism); etc.
Typical examples of two-axis syncretism are like this:
  1. abjure: inflection of abjurer:
    1. first- and third-person singular present indicative and subjunctive
    2. second-person singular imperative
  1. abscissīs: dative and ablative masculine, feminine, and neuter plural of abscissus
BTW the only examples of three-axis syncretism come from Slovenian, like this:
  1. glavnih: genitive and locative masculine, feminine, and neuter dual and plural of glaven
Note that the above three examples rendered using en dashes (which I think looks better) are:
  1. inflection of abjurer:
    1. first/third-person singular present indicative/subjunctive
    2. second-person singular imperative
  1. dative/ablative masculine/feminine/neuter plural of abscissus
  2. genitive/locative masculine/feminine/neuter dual/plural of glaven
(Sorry, the multiline calls to {{inflection of}} aren't getting formatted right but you get the idea.)
If we are to syncretize along only one axis at a time, how should this be done? Should we first seek to minimize the number of inflection lines (hence dat m//f//n and abl m//f//n, rather than dat//abl m, dat//abl f and dat//abl n), and then choose some ordering of dimensions? If so, what should the ordering be? In general I think the two-axis syncretisms are compact and readable and help readers to know the common syncretism patterns, e.g. the dative and ablative plural are almost always the same in Latin, which is obscured by splitting them into separate dat m//f//n and abl m//f//n lines, whereas splitting them the other way obscures the fact that the dative and ablative plural in Latin adjectives almost always have the same form for all genders.
Benwing2 (talk) 01:33, 10 May 2019 (UTC)
I'm not totally against it, but clarity to the user has to come first. Keep in mind that not everything that's clear to us experienced users is also clear to new users. —Rua (mew) 09:48, 10 May 2019 (UTC)
@Rua I agree. Can you comment more specifically on the examples above, whether you think they are clear, and if you'd prefer to have syncretism along only one axis, how you'd prefer it done? Benwing2 (talk) 14:11, 10 May 2019 (UTC)
I find the hyphens clearer than using "and", because it makes it more clear which terms are on the same axis. But whether that is clear enough for everyone I can't say. Perhaps actual slashes, like in the code, are even clearer (i.e. first/third-person). This is probably something that needs more eyes. —Rua (mew) 14:13, 10 May 2019 (UTC)
@Rua I'll see what others have to say, but for the moment I modified the examples above to use slash instead of en-dash for joining. Benwing2 (talk) 15:59, 10 May 2019 (UTC)

Javascript toolingEdit

You seem to be a JS “poweruser”. what do you recommend for adding small Javascript based refactoring tools? I came across meta:TemplateScript, is this any good? I have some Python scripts I use for formatting but I always need to switch back to the terminal, copy&paste etc, I'd like to streamline this. – Jberkel 15:45, 9 May 2019 (UTC)

@Jberkel: Well, I created a few TemplateScript scripts, but it didn't seem quite flexible enough for everything I wanted to do, so I created User:Erutuon/scripts/CleanupButtons.js to add buttons above the textbox based on arbitrary conditions that usually have to do with the wikitext in the edit box, and have them execute callbacks when clicked. I think most of all I wanted to be able to decide when to add the buttons, rather than having a whole flock of buttons appear on every page, and to have them near the textbox so that I don't have to page up to the sidebar (since I'm using Monobook). CleanupButtons started as a part of User:Erutuon/scripts/cleanup.js, and you can see examples there. Then I moved the button-adding code because I was using it in another script and on Wikipedia. — Eru·tuon 16:45, 9 May 2019 (UTC)


Thanks for taking a look at my addition. I admit to being a little out of my depth when it comes to some of the finer details like the declension- I basically combined information from an entry starting with πολύ- and one ending with -γονον after checking the LSJ at Perseus and the Gaffiot entry. I also checked as many of the forms as I could get the word study tool at Perseus to show me, though for some reason I couldn't get the genitive to display.

I was wondering if we have any reference template for pages from the Naples Dioscurides. It seems to be an alphabetized condensation of De Materia Medica from the Middle Ages, but it has very nice illustrations, and it's viewable online here]. If we do, it would be nice to link to folio 121 for this entry. Chuck Entz (talk) 05:31, 11 May 2019 (UTC)

@Chuck Entz: Well, you got the declension and so on right. There are probably hardly any nouns in -ον that don't belong to the -ον, -ου neuter second declension.
I'm pretty sure there isn't such a reference template; I didn't see it while recategorizing entries on plant names, and it doesn't seem to be in Category:Ancient Greek reference templates either. — Eru·tuon 23:52, 11 May 2019 (UTC)


Although, did come out in May, specifically for 令和 :p —Suzukaze-c 02:39, 14 May 2019 (UTC)

Ooh, interesting... added that character. — Eru·tuon 02:45, 14 May 2019 (UTC)

rookie's question 2Edit

Dear Erutuon! May i bother you again... it is not urgent. I am writing this little module: if a greek word begins with x, x, x letters, then write article την.
I do not know exactly how to write them. I know, I should not use commata, and that they need U+ codes (I have them) and something like local gsub = mw.ustring.gsub. Is there a module where I can see examples? I've looked at transliteration modules, but they substitute letters which is a bit different. --sarri.greek (talk) 11:52, 15 May 2019 (UTC)

@Sarri.greek: The function that you want for testing that a term begins with a Greek letter is mw.ustring.find. (string.find does not always work for Greek letters because it looks at bytes and Greek letters are two or three bytes long in UTF-8.) It returns a number (actually two numbers, but that doesn't matter in the code that you showed me) if the letter was found or nil if it was not, so it can be used in the protasis of an if-statement (if mw.ustring.find(...) then ... end or if mw.ustring.find(...) ~= nil then ... end if you want to explicitly convert to a boolean). To check if a term begins with α, you can use mw.ustring.find(term, '^α'). To check if a term begins with one of multiple characters, put them in square brackets: mw.ustring.find(term, '^[αεηιουω]') checks if term begins with a lowercase vowel letter. ^ at the beginning of the pattern forces the pattern to match only at the beginning of the term, so mw.ustring.find('τη', '^[αεηιουω]') returns nil but mw.ustring.find('τη', '[αεηιουω]') returns a number.
To avoid having to list a bunch of letters with diacritics, you can decompose the term with term = mw.ustring.toNFD(term) before using mw.ustring.find. When decomposed, for instance ά (U+03AC GREEK SMALL LETTER ALPHA WITH TONOS) becomes ά (U+03B1 GREEK SMALL LETTER ALPHA, U+0301 COMBINING ACUTE ACCENT), and mw.ustring.find(mw.ustring.toNFD('ά'), '^[αεηιουω]') will return a number while mw.ustring.find('ά', '^[αεηιουω]') returns nil.
I'm not sure if there is a good Greek module for this type of thing, but I hope this long post helps. I can give a module with examples if you need it. — Eru·tuon 19:52, 15 May 2019 (UTC)
ow this is wonderful: you are a great teacher. I will practice with all the instructions you gave me. Your previous help with the module that recognizes affixes, is a great hit!! We are very grateful. --sarri.greek (talk) 01:47, 16 May 2019 (UTC)
I will experiment with accented letters -which will be very useful-, but in the module I will do the easy thing and reverse the rule: I will state which letters do NOT get the article την (they are just β, γ, δ, θ, φ, χ, λ, μ, ν, ρ, σ, ζ). Thank you!! --sarri.greek (talk) 01:57, 16 May 2019 (UTC)
@Erutuon! itttt works! (tests are all ok) THANK you teacher: now I can do all declensions! --sarri.greek (talk) 12:49, 16 May 2019 (UTC)

Akkadian IPAEdit

Hello, could you help me out with Akkadian traditional transcription and IPA. I could use a template that could convert the transcription to IPA. Luckily, it's pretty straight forward. Each letter has a single correspondence except for e which would have to be imputed manually. – Tom 144 (𒄩𒇻𒅗𒀸) 22:09, 26 May 2019 (UTC)


Cheers, I made a request for Franc-Comtois. --Lo Ximiendo (talk) 03:40, 3 June 2019 (UTC)

@Erutuon: You left the flag at sixty-eight pixels. —This unsigned comment was added by Lo Ximiendo (talkcontribs) at 04:45, 3 June 2019 (UTC).
@Lo Ximiendo: Hi, when discussing this gadget, please ping me at MediaWiki_talk:Gadget-WiktCountryFlags.css to get my attention. — Eru·tuon 16:48, 3 June 2019 (UTC)

How do if find a diff I know only by number and wiki?Edit

I know a specific edit number for a WP edit that allegedly triggered a ban of a veteran user. I'd like to see it and the context and judge for myself. I don't know what page was being edited, nor the date. If you don't know how to do this, do you have any idea where I can look? DCDuring (talk) 12:03, 12 June 2019 (UTC)

@DCDuring: If I understand correctly, you can look up the diff by entering https://wiki domain/w/index.php?diff=edit number. You don't need the page name because all edit numbers on a wiki are unique. If you then want to look at the history for more context, you can note the date, click the History tab, and enter the date to view edits around that time. — Eru·tuon 18:16, 12 June 2019 (UTC)
Thanks. It worked perfectly. I am right now finding the confrontation that probably led to the ban. DCDuring (talk) 19:14, 12 June 2019 (UTC)
Return to the user page of "Erutuon".