Open main menu

Problems about fonts of Chinese charactersEdit

In English Wiktionary, the Chinese characters are displayed in a strange way, as shown in the screenshots. All other wiktionary projects do not have this problem.--Leiem (talk) 02:02, 1 August 2018 (UTC)

MediaWiki_talk:Common.css#Heiti_SC_and_Heiti_TC? —Suzukaze-c 02:12, 1 August 2018 (UTC)

Coverage tool wantedEdit

I would like a tool (on the toolserver, I assume) that allows me to specify a language and enter a text, where the tool then splits the text into words, counts the frequency (number of occurrences), and looks up each word in Wiktionary to see whether it has an entry in the given language and possibly whether that entry is a form entry. For example, I specify English and the text "tools on a toolserver". Output: a (1 occurrence, entry exists), on (1, exists), tools (1, form entry exists, plural of tool), toolserver (1, does not exist). If the output can be sorted by frequency, this would provide a means to identify which words (e.g. in a chapter by Mark Twain) are in most dire need of entries. Note that the entry should exist for that language; this is not the same as a page existing.

Is this the right place to ask for such a tool? Maybe such a tool already exists? (Maybe what I want is instead the Dicompte tool for French Wiktionary? It lists words that occur in books in Wikisource but are missing from Wiktionary, unfortunately only for French.)

To find out whether a word has an entry for a certain language, I assume categories such as the category:English lemmas must be used? Is there any easy way for a tool to determine whether an entry is a form entry or a real one? --LA2 (talk) 14:26, 1 August 2018 (UTC)

I can do it as a Windows desktop thing if that's any good. Probably not ideal, but I hate Web programming. Equinox 20:06, 2 August 2018 (UTC)


Hi there. Would it be possible for someone to create a {{it-IPA}} template, along the lines of {{es-IPA}}? Italian pronunciation is very regular, and can be inferred directly from the spelling - we have the details in the pronunciation section of Wiktionary:About Italian. SemperBlotto (talk) 09:18, 2 August 2018 (UTC)

I'd like to work on this, it was already suggested by @GianWiki a while ago. With Italian's optional accents the pronunciation can't always be inferred directly from the spelling though. - Jberkel 11:38, 2 August 2018 (UTC)
You could make a template with a first parameter requiring the full word be entered, complete with accent. That would help determine the stress. For example, the pronunciation for the word cane would require you to type: {{it-IPA|càne}}, which would result in: IPA(key): /ˈ, [ˈkäːn̺e̞]. — GianWiki (talk) 12:29, 2 August 2018 (UTC)
It could work like this:
  • ⟨a⟩ is always /a/, [ä]
  • ⟨b, f, m, p, v⟩ remain the same
  • ⟨c⟩ is /k/ before /a, o, ɔ, u/, and /t͡ʃ/ before /e, ɛ, i/
    • ⟨ch⟩ is /k/ (but phonetically realized as a prevelar [k̟]) before /e, ɛ, i, j/
    • ⟨ci⟩ is /t͡ʃ/ when the ⟨i⟩ is unstressed and /a, e, ɛ, o, ɔ, u/ follows
  • ⟨d⟩ is always /d/, [d̪]
  • ⟨e, é⟩ is always /e/ (but phonetically lowered [e̞] when the previous syllable contains /a/)
    • ⟨è⟩ is always /ɛ/
  • ⟨g⟩ is /ɡ/ before /a, o, ɔ, u/, and /d͡ʒ/ before /e, ɛ, i/
    • ⟨gh⟩ is /ɡ/ (but phonetically realized as a prevelar [ɡ̟]) before /e, ɛ, i, j/
    • ⟨gi⟩ is /d͡ʒ/ when the ⟨i⟩ is unstressed and /a, e, ɛ, o, ɔ, u/ follows
  • ⟨gl⟩ is usually /ʎ/ (simple when word-initial, and geminated /ʎʎ/ elsewhere) before /e, ɛ, i/, but there are words, like glicine (pron. /ˈɡlit͡ʃine/) where this does not happen
  • ⟨gn⟩ is always /ɲ/ when word-initial, and geminated /ɲɲ/ elsewhere
  • ⟨h⟩ is always null
  • ⟨i⟩ is usually /i/. I'm not sure how to properly distinguish it from its semivowel counterpart /j/, though.
  • ⟨l⟩ is usually /l/, [l̺]. Phonetically, it's dentalized [l̪] before /d, s, t, t͡s, d͡z/, and palatalized [l̺ʲ] before /t͡ʃ, d͡ʒ/
  • ⟨n⟩ is usually /n/, [n̺]. Phonetically, it's dentalized [n̪] before /d, s, t, t͡s, d͡z/, velar [ŋ] before /k, ɡ/, labiodental [ɱ] before /f, v/, and palatalized [n̺ʲ] before /t͡ʃ, d͡ʒ/
  • ⟨o, ó⟩ is always /o/ (but phonetically lowered [o̞] when the previous syllable contains /a/)
    • ⟨ò⟩ is always /ɔ/
  • ⟨qu⟩ is always /kw/
  • ⟨r⟩ is always /r/, [r̺]
  • ⟨s⟩ is /z/, [z̪] when intervocalic (although with some exceptions), /s/, [z̪] before voiced consonants, and /s/, [s̪] elsewhere
  • ⟨sc⟩ is /ʃ/ (simple when word-initial, geminated /ʃʃ/ elsewehere) before /e, ɛ, i/; it's /sk/, [s̪k] elsewhere
    • ⟨sci⟩ is /ʃ/ (simple when word-initial, geminated /ʃʃ/ elsewehere) when the ⟨i⟩ is unstressed and /a, e, ɛ, o, ɔ, u/ follows
  • ⟨t⟩ is always /t/, [t̪]
  • ⟨u⟩ is usually /u/. Again, I'm not sure how to distinguish it from its semivowel counterpart /w/
  • ⟨x⟩ is always /ks/, [ks̪]
  • I don't believe there's any surefire way to determine if ⟨z⟩ will be realized as /t͡s/, [t̪͡s̪] or /d͡z/, [d̪͡z̪]. This is also true for geminated ⟨zz⟩.
Sorry for the wall of text, but I thought I would throw a few suggestions out there. Any thoughts? — GianWiki (talk) 14:10, 2 August 2018 (UTC)
Started a module at Module:it-pronunciation. It handles a few features of the phonemic transcription so far. It would be great if you or other people who are familiar with Italian added more testcases. — Eru·tuon 20:30, 5 August 2018 (UTC)

@GianWiki, SemperBlotto: I've created {{it-IPA}}. It only generates a phonemic transcription right now. — Eru·tuon 05:54, 1 September 2018 (UTC)

@Erutuon, GianWiki, SemperBlotto: Thanks for the efforts. Italian has long vowels, mostly predictable, if not, phonetic respellings could use macrons. --Anatoli T. (обсудить/вклад) 06:49, 3 September 2018 (UTC)

Apparent bug with "thanks" link to entry revisionEdit

Donnanz sent me a "thanks" notification for fashion show. When I clicked it to see which edit was being "thanked", I was taken here [1], which gives an error message: "One revision of this difference (5274261) was not found. This is usually caused by following an outdated diff link to a page that has been deleted. Details can be found in the deletion log." However, the page does not seem to have been deleted at any point. Is this a bug? Equinox 20:05, 2 August 2018 (UTC)

If you were thanked for creating the page, perhaps one revision of that diff does not exist, namely the nonexistant revision from before your edit creating the first revision... although that didn't used to cause a problem (I've viewed thanks for creating pages before). I just thanked you for creating gift economy, where yours is the only revision; can you see that diff? - -sche (discuss) 21:04, 2 August 2018 (UTC)
Your "thank" gives me the same error ("One revision of this difference (50062656) was not found"). Equinox 21:06, 2 August 2018 (UTC)
I would hazard a guess the software has changed, then. Seems like a regression, although unimportant. - -sche (discuss) 21:11, 2 August 2018 (UTC)
  • I think we should all just stop thanking each other and get back to work. --New WT User Girl (talk) 21:21, 2 August 2018 (UTC)
@Equinox: Ignoring the comment above, as the only edit you have made to the page was when you created it, it was for that. A bit late in the day I know, maybe I shouldn't be so enthusiastic. DonnanZ (talk) 17:12, 21 August 2018 (UTC)
@Equinox: BTW, is it possible to "unthank" you for terrorstricken? DonnanZ (talk) 13:13, 24 August 2018 (UTC)
When I want your prescription I'll come to your surgery :) Equinox 19:10, 26 August 2018 (UTC)
Sometimes I thank someone, only to immediately revert their edit. It might be trolling, or acknowledging humour. --XY3999 (talk) 19:32, 26 August 2018 (UTC)

Monthly subpagesEdit

If we're not already, we should be thinking of a replacement for the no-longer-running bot by the no-longer-present user who previously created subpages like Wiktionary:Grease pit/2019/January with {{discussion month}}, and more importantly briefly moved each subpage over top of an existing subpage (which in turn had initially been moved over top of the central page) so new pages were "automatically" in the watchlists of everyone who watched the (main) Grease pit (Beer parlour, etc). The "Click here to start a new discussion" links will presumably keep linking to the right subpages (whether they are blue or red links) indefinitely, and we could probably make redlinked monthly subpages preload with {{discussion month}}, but a system which (like the current one) doesn't require people to start manually watchlisting each new month's subpage in order to notice in one's watchlist that discussions are happening would be preferable. - -sche (discuss) 01:23, 3 August 2018 (UTC)

(Wow I never knew how that "keep it on your watchlist" thing worked! I asked about it once but nobody knew what I was talking about.) Equinox 01:31, 3 August 2018 (UTC)
Here is the source code, have fun.
#!/usr/bin/env python3
#coding: utf-8

import blib, pywikibot

discussion_pages = ["Beer parlour", "Grease pit", "Tea room", "Etymology scriptorium", "Information desk"]
months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
year = 2018

for discussion_page in discussion_pages:
	current = pywikibot.Page(, "Wiktionary:" + discussion_page + "/" + str(year - 1) + "/December")
	current.move("Wiktionary:" + discussion_page + "/" + str(year) + "/January", "Creating new monthly discussion pages")
	current = pywikibot.Page(, "Wiktionary:" + discussion_page + "/" + str(year) + "/January")
	current.move("Wiktionary:" + discussion_page + "/" + str(year - 1) + "/December", "Creating new monthly discussion pages")

	for i in range(len(months) - 1):
		current = pywikibot.Page(, "Wiktionary:" + discussion_page + "/" + str(year) + "/" + months[i])
		current.move("Wiktionary:" + discussion_page + "/" + str(year) + "/" + months[i+1], "Creating new monthly discussion pages")

	for i in range(len(months)):
		current = pywikibot.Page(, "Wiktionary:" + discussion_page + "/" + str(year) + "/" + months[i])
		current.text = "{{discussion month}}" = "Creating new monthly discussion pages")

Rua (mew) 16:50, 21 August 2018 (UTC)

Behaviour of "Template:audio"Edit

I renamed a pronunciation sound file to "File:En-us-insouciant.flac" to correct a spelling mistake. However, at insouciant the {{audio}} template no longer displays properly. What is causing the problem? — SGconlaw (talk) 13:52, 4 August 2018 (UTC)

I figured out that I need to reset the transcodes at the Wikimedia Commons. — SGconlaw (talk) 17:21, 5 August 2018 (UTC)

thiz.elements.lang.update is not a functionEdit

When I tried to add a Pazend Middle Persian translation in diff, I got "ERROR:TypeError: thiz.elements.lang.update is not a function" and, even though the preview and automated edit showed the translation working just fine, it did not add. Perhaps in this specific case the Pazend alt form should just be consigned to the lemma page anyway, but the issue still seemed worth reporting. - -sche (discuss) 19:23, 4 August 2018 (UTC)

Arabic Script "see also" suggestions problemEdit

On many pages using the Perso-Arabic script, there are "see also" suggestions for related words. While this is often helpful (especially because of various graphical differences between languages), it is often overused or rather superfluously suggesting something that is completely unrelated. E.g.: بردن; I was looking up the Persian word بردن (brdn) and noticed that there are "see also" suggestions for the unrelated words تردن (trdn) and تزدن (tzdn) with the format:

See also: تزدن and تردن

This is reciprocated for تردن and تزدن. These suggestions are helpful for words like دليل (Arabic dalīl) and دلیل (Persian dalil) which look the same and are hand-written the same way, but the first one using the unicode letter 064A ARABIC LETTER YEH (ي) for the 3rd letter, and the second one using the letter 06CC ARABIC LETTER FARSI YEH (ی) for the 3rd letter. This is the same as تازه (Persian tâze) and تازە (Kurdish taze), the first using 0647 ARABIC LETTER HEH for the final letter and the second using 06D5 ARABIC LETTER AE for the final letter.
This is also helpful for related words like بهلوان (Arabic bahlawān) and پهلوان (Persian pahlavân), where Arabic doesn't have a "p" and so use a "b" when adopting the word from Persian.
It is helpful for closely related dialectal and etymological variations like ذئب (Arabic ḏiʾb), ديب (Egyptian Arabic dīb), and ذيب‎ (Malay zib), all of which have the same meaning and are closely related. Another example of this that incorporates the first example is موسيقى (Arabic mūsīqā), موسيقي (Arabic mūsīqī), and موسیقی (Persian musiqi).
To people studying Middle Eastern languages (depending on experience and exposure) will readily recognize the relations between these words and the suggestions are pleasant and helpful. However, to the untrained eye, بردن and تردن and تزدن look as much like each other as دئب and ديب and ذیب, even though the first set are unrelated and should not be suggested to each other. This can be especially problematic with a set such as زن (Persian zan), ژن (Kurdish jin), and رن (Arabic rin), where زن and ژن are related etymologically, but رن is completely unrelated.

To make sure this is in perspective to users who don't deal with Arabic script, this is like the entry for dad, which has these suggestions (edited to

See also: Dad, DAD, dåd, -dad, ḍaḍ, and dáð

wherein "Dad", "dåd", "bað", etc. may be very helpful to a user because each one is a variant of the initial word "dad"; but if the suggestions included unrelated variants based on superficial letter appearances, the "see also" would likewise include: "bad", "pad", "dab", "daq", etc.
Is there a way to keep helpful suggestions and select out the misleading suggestions? Or would such a task have to be done to each entry, one by one? Would it be more feasible to only allow related groupings of letters (for the letters that differ between entries)? e.g.: ا,أ,إ,آ and ي,ئ,ې,ى,ی,ێ and ب/پ and ه,ة‎,ہ,ۀ,ھ‎ and ط/ت but not ت/ب and پ/ت and ث/ب and ر/ژ.

Binya2021 (talk) 10:10, 5 August 2018 (UTC)

It is not supposed to refer to related words. {{also}} entries are generally completely bot-added, in case you haven’t noticed. Also regard if you are of the same opinion when you consider rasm. Fay Freak (talk) 21:44, 7 August 2018 (UTC)
They are bot added, but somebody needs to write another bot that can add and maintain them since the previous adder doesn't seem to contribute to the project any more. The actual bot is trivial, but what's hard is writing down all the rules. DTLHS (talk) 21:46, 7 August 2018 (UTC)


Add these related terms to C:

-Lamanapa (talk) 23:25, 10 August 2018 (UTC)

Updating conjugation templatesEdit

Requesting help with updating {{az-latin-verb-conj}}. Thanks in advance.

  • renaming ”indicative future simple” into ”indicative future certain”
  • adding ”indicative future uncertain”
    • formed the same way as ”indicative future simple”, but with "a" for all back vowels and "ə" for all front vowels.


Formation of future uncertain
1SG indicative present simple 1SG indicative future uncertain
oluram olaram
qorxuduram qorxudaram
oxuyuram oxuyaram
deyirəm deyərəm
böyüdürəm böyüdərəm
üşüyürəm üşüyərəm
görürəm görərəm
alıram alaram
sarsıdıram sarsıdaram
anlayıram anlayaram
verirəm verərəm
edirəm edərəm
çatıram çataram

Allahverdi Verdizade (talk) 10:55, 11 August 2018 (UTC)

Per discussion we had on the Discord, I have implemented these changes now. SURJECTION ·talk·contr·log· 16:47, 11 August 2018 (UTC)

Add audio pronunciationEdit

When I click on the "Add audio pronunciation" link, I get the error message "Error: NotFoundError: The object can not be found here". — SGconlaw (talk) 13:30, 12 August 2018 (UTC)

Anyone can help? — SGconlaw (talk) 12:21, 16 August 2018 (UTC)

I figured out what the problem was. The error message appears when a microphone is not present (my computer does not come with a built-in one). Perhaps the error message can be made clearer. Anyone know how to edit this tool? — SGconlaw (talk) 09:56, 28 August 2018 (UTC)

Expansion of the {{attention}} templateEdit

The {{attention}} template can be used to request help from a user with knowledge of a particular language. It would be good if we could also use it to get help in a specific knowledge area, For instance, I would like a mathematician to improve the definition of quasicyclic. Is this possible? SemperBlotto (talk) 14:45, 14 August 2018 (UTC)

  • Ah - I have found the "topic=" parameter. Let's see. SemperBlotto (talk) 14:52, 14 August 2018 (UTC)

{{xlit}} templateEdit

Can someone add an optional parameter to this template to write first letter in uppercase? For example check here, there is no way to write "Mukriyanî" (instead of "mukriyanî"). Thanks.--Calak (talk) 15:21, 15 August 2018 (UTC)

@Calak: You can use the "magic word" {{ucfirst:}} to do that. — Eru·tuon 04:00, 16 August 2018 (UTC)
Thanks. All templates (with transliteration) have same problem for languages which don't distinguish case, so I think we should find a fundamental solution.--Calak (talk) 11:54, 16 August 2018 (UTC)
@Calak: What do you mean by a fundamental solution? {{ucfirst:}} seems sufficient in this case, unless you want to do something else. — Eru·tuon 18:51, 16 August 2018 (UTC)
@Erutuon: I mean, using "magic words" in the main namespace (entry) is not a good idea. Yes it is great for other namespaces like templates.--Calak (talk) 18:25, 20 August 2018 (UTC)
@Calak: Oh, so you would like to capitalize transliterations in other places in entries? In some other languages without lettercase, like Arabic and Persian, editors regularly remove capitalization from the transliteration. I don't know if this is a general policy for all languages. — Eru·tuon 21:23, 20 August 2018 (UTC)
They do this because their languages don't have a formal Latin script. But Kurdish uses both Latin and Arabic scripts formally.--Calak (talk) 23:04, 20 August 2018 (UTC)
@Calak: Okay, that makes sense. Well, now I recall that there are at least two existing templates, {{ja-r}} and {{zh-x}}, that have a way of doing this. They use ^ to trigger capitalization. The complication is that ^ has to be removed from the displayed text or entry name. Using that method, {{xlit|ckb|^موکرْیانی}} would result in Mukriyanî. — Eru·tuon 03:32, 21 August 2018 (UTC)
@Erutuon, Calak: I oppose capitalisation of transliteration of scripts where there is no distinction between capital and lower case letters. Yes, Kurdish in Roman letters can be capitalised but the transliteration of Kurdish in Arabic should only be in lower case letters. "^" is currently reserved for languages where the capitalised transliteration is standardised, such as Japanese or Mandarin Chinese. --Anatoli T. (обсудить/вклад) 03:51, 21 August 2018 (UTC)
In case of Kurdish (as against Persian, Arabic or other scripts), we don't transliterate the word. Actually, we just convert it to Kurdish Latin alphabet. So the output shouldn't be different from Kurdish Latin alphabet.--Calak (talk) 07:02, 22 August 2018 (UTC)

Quotations automatically expandedEdit

When I copied and pasted a definition that included quotations into the "Tea Room" page, in order to illustrate a layout problem, the quotations were automatically expanded, rather than appearing as a "quotations" dropdown list as on the original page. The lines in question were:

  1. (figuratively, depreciatory) A woman, particularly
    • 1785, Francis Grose, A Classical Dictionary of the Vulgar Tongue:
      Hen, a woman. A cock and hen club; a club composed of men and women.
    1. (Britain, informal) A bride-to-be, particularly in the context of her "hen night" festivities.

As you can see, it happens here too. Does anyone know whether this is by design (and if so, why), or whether there is a glitch somewhere? Mihia (talk) 18:05, 15 August 2018 (UTC)

The Javascript that hides quotations only functions in the main namespace. DTLHS (talk) 18:08, 15 August 2018 (UTC)
OK, thanks. (I wonder why ...) 19:56, 15 August 2018 (UTC)
Probably because the average user doesn't come to other namespaces. --XY3999 (talk) 19:33, 26 August 2018 (UTC)

Some new modules for Finnish and whether to integrate themEdit

My sandbox right now has some new stuff: Special:Permalink/50144302; more precisely a template showing off a modified version of Module:fi-nominals with added support for term with multiple inflections, such as for multiword terms. There are also possessive form tables, and that module too heavily relies on fi-nominals, where it could possibly be merged into fi-nominals. Would it be worth it to implement either of these two and integrate one or both into fi-nominals? SURJECTION ·talk·contr·log· 18:19, 16 August 2018 (UTC)

(If anyone wants to look at and improve the code, feel free to) SURJECTION ·talk·contr·log· 18:19, 16 August 2018 (UTC)

emergency mode?Edit

Some files seem to have gone into emergency mode, first noticed yesterday.

Category:etyl cleanup
Category:Norwegian Bokmål verbs
DonnanZ (talk) 10:45, 21 August 2018 (UTC)
What's emergency mode? — SGconlaw (talk) 10:48, 21 August 2018 (UTC)
I don't really know what to call it, but files are definitely not in their normal format at present. DonnanZ (talk) 11:08, 21 August 2018 (UTC)
Everything seems normal to me at those two categories. (When you say "files", do you mean Wiktionary entries?) — SGconlaw (talk) 18:06, 21 August 2018 (UTC)
I mean the whole display for the category. They should look more like this one, Category:etyl cleanup/sv. I'm not sure why this one hasn't been affected. DonnanZ (talk) 18:16, 21 August 2018 (UTC)
Another unaffected one: Category:Norwegian Bokmål uncountable nouns. Someone must have broken something somewhere which isn't affecting all categories. DonnanZ (talk) 19:38, 21 August 2018 (UTC)
  • Update: It seems to have been fixed by someone. DonnanZ (talk) 15:35, 22 August 2018 (UTC)

Chrome in edit modeEdit

Does anyone else experience problems using Chrome in the edit mode? The edit page seems just blank (as if there is no memory) and it happens on different PC's with different versions of Windows. I've switched to MS Edge temporarily. --Anatoli T. (обсудить/вклад) 12:21, 21 August 2018 (UTC)

Good old IE works fine. I have tried Edge because one website wanted me to switch, but found that Favourites are better on IE, so I have gone back to it. DonnanZ (talk) 17:21, 21 August 2018 (UTC)
No problems with Mozilla Firefox so far. — SGconlaw (talk) 18:05, 21 August 2018 (UTC)
My Chrome is fine; tried on two computers on different networks and in different buildings. Equinox 18:57, 21 August 2018 (UTC)
I'm still having this problem. I can edit this small section but if I try a large L2 section, e.g. [2] - getting a blank screen. --Anatoli T. (обсудить/вклад) 20:17, 21 August 2018 (UTC)
Are there any errors in your browser console? DTLHS (talk) 21:58, 21 August 2018 (UTC)
No, only warnings (deprecated jquery). I will try to disable some plug-ins in a few hours. --Anatoli T. (обсудить/вклад) 22:33, 21 August 2018 (UTC)

Suggestion to search for results from single languageEdit

Instead of creating new pages with a single entry in one language as described on this post: <>, I have another suggestion (from a non-coder here).

I notice that when I go to the German entry for a word, the URL tacks on #German at the end. Would it be possible to have a function (possibly at the top of the page, or on the sidebar) where users can click the language they want to see results in, so when we enter a new search it will jump directly to that section? And the target language can be changed at will (for those of us who research more than one language at different times.)

It seems like a much simpler solution and seems to bypass the difficulties of the single-language entry proposal. And it would be such an added convenience for, I assume, most users who just want to browse definitions in a single language at a time. Thoughts? —This unsigned comment was added by Vaugue (talkcontribs) at 04:50, 26 August 2018 (UTC).

@Vaugue and everyone: Yes, that seems like a good idea! Please put the following code into your common.js page: importScript('User:V111P/PrefLangs.js'); You should now have a new input box below the search box. You have to type the name(s) of the language(s) into it. You can enter several languages separated by a comma, for example: German, French. If there is a section for the first language, the page will be scrolled to it, if not, to the second, etc. (It won't work when clicking a link from the "Search results" or another page, only on the first page that opens after searching from the search box at the top right.) --V111P (talk) 10:13, 6 September 2018 (UTC)

Bugfixes for WT:ACCELEdit

Please replace MediaWiki:Gadget-AcceleratedFormCreation.js with User:Rua/Gadget-AcceleratedFormCreation.js, which contains a few small fixes. —Rua (mew) 22:45, 28 August 2018 (UTC)

@TheDaveRoss, with this interface admin silliness, I don't even know who can edit these pages. Best solution is to get 'cratting. —Μετάknowledgediscuss/deeds 22:58, 28 August 2018 (UTC)
According to Special:ListUsers/interface-admin, there are currently no users on this wiki who can edit these pages. --Yair rand (talk) 23:04, 28 August 2018 (UTC)


Why is this a pitiful mess, when I copied it from a wiki user manual: User:Equinox/LuaTest. Given that I've programmed for years and I can count backwards in binary and I know how a CPU works, anyone want to teach me how to do some shit on here? I promise I won't mess with templates, I just feel like it would be nice to know how the wiki does it. Equinox 02:30, 30 August 2018 (UTC)

@Equinox: It has to be in the Module: namespace: [3]. —Suzukaze-c 02:31, 30 August 2018 (UTC)
Thank you. It still looks like broken shit. Can you set me up with a tiny "hello world" that will at least run and then I could mess with that. Equinox 02:35, 30 August 2018 (UTC)
It is still in the user namespace. DTLHS (talk) 02:36, 30 August 2018 (UTC)
Seriously pretend I just hatched out of an egg and hold my hand. Equinox 02:37, 30 August 2018 (UTC)
The title should be Module:User:Equinox/LuaTest. DTLHS (talk) 02:38, 30 August 2018 (UTC)
Created. {{#invoke:User:Equinox/LuaTest}} doesn't work. How do I "embed" my hello-world. I just wanna write void Name() { DO A THING } and call Name. But I'm very old and useless. Equinox 02:43, 30 August 2018 (UTC)
I'm even older and more useless. DonnanZ (talk) 10:49, 30 August 2018 (UTC)
You need to use the name of the function you want to call. {{#invoke:User:Equinox/LuaTest|hello}} DTLHS (talk) 02:45, 30 August 2018 (UTC)
There we go. Now I think I can "bootstrap". Thanks :D Equinox 02:46, 30 August 2018 (UTC)
Don't suppose anyone would subject themselves to teaching Equinox a little Lua, on IRC or elsewhere? I have many brief questions along the lines of: why am I "returning a package" from my Lua module, and what is the package, and what is doing the returning if we aren't inside a function? Tutorials are not hugely helpful because they tend to assume you are a complete newbie to everything and so you get a ton of "this is called a Boolean, and here's a thing called a loop" without getting the bigger picture. I would sort of like to be able to say "this doesn't look like how [C++, Java, C#, JS, Perl...] does it, what is the difference?" which is probably very quickly answered by anyone who knows both. (Full disclosure: there is nothing I actually want to do on Wiktionary with Lua. Just seems worth knowing a handful of it.) Equinox 21:46, 6 September 2018 (UTC)
Essentially, every module is a giant function. It can do anything a function can, it can have local variables, and can return anything or nothing. When you require a module, it just calls that function and returns it. The thing about returning tables is so that modules can return multiple functions and have them be called later. Also, the Lua-to-template interface requires that modules return tables containing functions. But we often return other things when modules don't need to be called from templates. Our language data modules return the data directly, without functions. —Rua (mew) 22:13, 6 September 2018 (UTC)
So would I be (vaguely) correct in saying that the "package p, return" stuff surrounding the meat of the module is sort of analogous to indicating the functions you want to export from a DLL on Windows? And if we didn't return the package at the end, then the caller wouldn't have visibility of the functions in the module? Equinox 22:19, 6 September 2018 (UTC)
Yes, pretty much, although I'm not familiar with "package" in the context of our modules. Anything you don't return from a function will disappear when the function ends, so the same applies to the module-level "function". —Rua (mew) 22:22, 6 September 2018 (UTC)
A lot of Lua example code uses print for output. Presumably we can't do this here because it would print into the vacuum of outer space (?). The correct behaviour is always to build a string and return it? Equinox 22:26, 6 September 2018 (UTC)
Yes. It can get kind of awkward because you can't print even for debug purposes. Supposedly there is a debug console but I have yet to make it work. Module:debug has some things that help though. Often, I use error to print debug things temporarily, and then preview a page with it. —Rua (mew) 22:30, 6 September 2018 (UTC)
You are very helpful <3 Can you explain the "frame" parameter super quickly? Do we ever need this in a function, does it give us access to the calling page, etc.? or is it just part of the infrastructure. Equinox 22:31, 6 September 2018 (UTC)
You need frame (though in theory you can call it anything you like) to access any arguments that are given in an invocation ({{#invoke:whatever|somefunction|param1|param2}}), or to a template that then invokes the module. It also contains other things like what the name of the current page is, it lets you transclude other templates (necessary because templates also have to have the current page name, and for tracking transclusions and such), etc. Simply said, it contains all the information about the context in which the module was called. On the other hand, you can always retrieve the frame with mw.getCurrentFrame, so the parameter is technically unnecessary. —Rua (mew) 22:38, 6 September 2018 (UTC)
Oh yeah I didn't even think about how we would unpack params from the caller. Excellent, thanks very much. Equinox 22:40, 6 September 2018 (UTC)
Many of our modules use Module:parameters to help in dealing with parameters. It will validate the parameters to some degree, make sure required ones are present and that there are none that the module doesn't recognise. It also does things like converting empty values to nil, and handling numbered parameters that should be grouped together in a sequence, like {{en-noun}}'s pl2=, pl3= etc. —Rua (mew) 22:44, 6 September 2018 (UTC)

Regarding the debug console, it provides the module as p, so if the module table contains a function called hello, you can call it in the console with p.hello(), and you can see what it returns by doing = p.hello(). (I wish it was like Lua 5.3 where you don't have to type the equals sign.) — Eru·tuon 22:45, 6 September 2018 (UTC)

Ahhh this wasn't so hard. Setting shit up is always much more of a pain than using it. (One lecturer said "once you know one language, any other language is merely a matter of syntax". Hawwhhj! Really: once you know one language, any other language is merely a matter of maybe OOP, maybe functional-ness/side-effects, maybe interop, and a lot of configuration fun. But bless his heart, professors don't live in the real world.) Now I just need to think of something worth doing with Lua. "Hi, what's your name? Hello, (null), welcome to my Wiktionary page!" Equinox 22:57, 6 September 2018 (UTC)

At least Lua saves you from that mistake. Instead of converting nil to a string, you get an error when you try to concatenate it. —Rua (mew) 22:58, 6 September 2018 (UTC)
lol, I am starting to understand why genuine code improvements got you yelled at. There's unfortunately a fair amount of Equinox SQL out there (some of it delivering our groceries) surrounded by panicky flower boxes saying "you THINK you can rewrite this better without the NULL, but it's going to cost you an afternoon of angry phone calls". Equinox 23:06, 6 September 2018 (UTC)
Suppose I wanted to grab the contents of some other page on the same wiki as a string (maybe the entry "duck"), for some reason, what is the appropriate API call? Equinox 23:41, 6 September 2018 (UTC)"duck"):getContent(). — Eru·tuon 23:44, 6 September 2018 (UTC)
I'm sort of trying to work out what I get here. It must be a string. But when it is rendered we get all the pretty layout (section headers, images right-aligned!) but any templates are not evaluated. What is in my string? Presumably not HTML. But enough to include images and stuff. What if I wanted to render the template results? Equinox 23:53, 6 September 2018 (UTC)
It's just that in module output, some parts of wikitext syntax are parsed (headers, links, categories, media, italic and bold markup, HTML) and some aren't (templates, special tags like <ref>). So to parse the rest of the stuff you can do frame:preprocess(content_of_duck). (See above if you don't have access to the frame object.) — Eru·tuon 00:04, 7 September 2018 (UTC)
Thank you for putting the docs link in there! I think I am starting to understand what a "frame" is. Lua colon is confusing me. I read [4] and got scary Perl @ARGV flashbacks. I'll pick it up eventually. Equinox 00:34, 7 September 2018 (UTC)
(Although there's nothing scarier than PHP spitting a cavalier warning about "instance call made to static method" and then doing it anyway. COME ON at least pretend to give a crap about your objects.) Equinox 00:42, 7 September 2018 (UTC)
Well, Lua is more straightforward than JavaScript, which has all the rules for what this is. (JavaScript is pretty much my only reference point for object orientation.) Any time the function needs access to the object (usually table) that it's stored as a field in, the object has to actually be supplied as a parameter, either explicitly or through the syntactic sugar of colon syntax. So for instance the function frame.getParent requires frame, so you have to call it as frame.getParent(frame) or frame:getParent(). Otherwise, frame.getParent has no way to gain access to frame, unless it is a global variable, or a local variable that is accessible at the point where frame.getParent is defined. But mw.getCurrentFrame() doesn't use the table mw, so it is called without colons or any parameters. In this way Lua is sort of like the GObject style of object orientation: the object is always the first parameter. — Eru·tuon 01:29, 7 September 2018 (UTC)

Since I can't see it mentioned here: you can print using mw.log() when previewing pages using the module. The output appears in the parser profiling data below the edit box. --Njardarlogar (talk) 09:00, 7 September 2018 (UTC)

der templatesEdit

I think the way {{der4}} and other variants sort has been changed by somebody, and the result is not terribly user-friendly in my opinion. A good example is at low#Derived terms, where, for example, low side is sorted miles away from low-sided. DonnanZ (talk) 10:59, 30 August 2018 (UTC)

Module_talk:columns#Broken_sort_in_Latin_script DTLHS (talk) 16:02, 30 August 2018 (UTC)
Thanks for finding that. Can this be reverted? It doesn't make sense to me (and maybe others). The trouble is you can't please everybody. DonnanZ (talk) 16:30, 30 August 2018 (UTC)
Pinging @Urhixidur and @Erutuon. DTLHS (talk) 16:32, 30 August 2018 (UTC)
It certainly can be reverted, but I don't know how to decide between these two sorting systems. Maybe there is a third more complicated option somewhere in between. — Eru·tuon 20:07, 30 August 2018 (UTC)
I think we need strict alphabetical order, regardless of hyphens and compound words. I think that was achieved before, but certainly isn't happening now. You may as well use {{der4-u}} instead (but you shouldn't have to). DonnanZ (talk) 22:33, 30 August 2018 (UTC)

@Erutuon: There has been no reply from User:Urhixidur, and this is still annoying me so much, not only at low but everywhere else. I would revert it myself if I was allowed and knew how to. If nothing is done I will be forced to use {{der3-u}} and {{der4-u}} instead, despite the manual sorting. DonnanZ (talk) 10:49, 8 September 2018 (UTC)

I don't like it either, reverted. DTLHS (talk) 16:54, 8 September 2018 (UTC)
Thanks. It's best not to have the sorting method drive anyone to not use templates with automatic sorting. I still wonder if there's a middle ground. Probably I need to read more about sorting algorithms. — Eru·tuon 19:37, 8 September 2018 (UTC)
What an improvement! Thanks a lot! DonnanZ (talk) 19:40, 8 September 2018 (UTC)

Watchlist header messEdit

The "Planned, running and recent votes" box, which appears (at least) in the Watchlist header seems to insist of being centered (or nearly so) on that page in Chrome (at least). I would have thought it should be on the far right. The only thing that appears on the far right of the header is the control "Edit your list of watched pages". We do have two interface admins who presumably have the powers to edit the relevant pages. DCDuring (talk) 17:18, 30 August 2018 (UTC)

On IE it appears almost on the left, but I agree that the whole layout at the top of the page looks messy. DonnanZ (talk) 18:31, 30 August 2018 (UTC)
Exactly where it depends on how wide your window is, text size, etc, probably browser. For me the ugly appearance is about the same in Firefox and Chrome.
The various boxed and graphical items (requests, images, rhs ToC, pronunciation boxes, declension tables, etc), especially those appearing at the top of pages don't seem to play well together in general. There might have to be some kind of restrictions on the permitted CSS to preserve appearance for common browser configurations and gadget selections. DCDuring (talk) 19:23, 30 August 2018 (UTC)

Translation adderEdit

Translation adder is stuffed. Can't use the "assisted" method. --Anatoli T. (обсудить/вклад) 02:30, 31 August 2018 (UTC)

@Atitarev: It's probably explained by a syntax error; see this edit. A comma needs to be added after the first instance of wiktprefix: "ku". (See the discussion about this edit on my talk page.) — Eru·tuon 04:50, 31 August 2018 (UTC)
Fixed now, I think. Sorry! - -sche (discuss) 04:59, 31 August 2018 (UTC)
@Erutuon, -sche: Thanks for addressing this quickly! --Anatoli T. (обсудить/вклад) 07:39, 31 August 2018 (UTC)