User talk:Trappist the monk/Archive 4

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Monkbot task 7

Hi. Many pages seem to have bots template with Monkbot7 value without a deny/allow parameter set. This causes them to appear at User:AnomieBOT/Nobots_Hall_of_Shame#Pages_with_broken_exclusion_templates. Can you please check and remove the bot tag here it is not needed or replace |1= with |deny= were the tag needed? Thanks, Magioladitis (talk) 12:56, 24 May 2015 (UTC)

(talk page stalker) Monkbot is not adding these templates. It looks like SandyGeorgia added at least some of them, like this one and this one. SandyGeorgia, can you please fix these templates so that they work as you want them to? – Jonesey95 (talk) 14:12, 24 May 2015 (UTC)

Slovenian/Slovene

Hi, Trappist, regarding this edit, there was no particular need to switch 'Slovene' to 'Slovenian'. Even more, although both terms are acceptable in writing, the term 'Slovene' has been given preference in dictionaries, which is why it has been preferred by editors also here; see Slovene language. --Eleassar my talk 11:16, 5 June 2015 (UTC)

Monkbot task 6 made that edit because Wikimedia doesn't recognize Slovene as a language name. Module:Citation/CS1 categorizes citations that identify foreign language sources by testing the content of |language= against the list of languages that Wikimedia knows about. Because Slovene is not a language name that Wikimedia recognizes, pages with citations using |language=Slovene are categorized into Category:CS1 maint: Unrecognized language.
Trappist the monk (talk) 12:38, 5 June 2015 (UTC)
Addendum: Sava Hills isn't currently included in Category:CS1 maint: Unrecognized language because of a bug in the current live version of Module:Citation/CS1. That bug has been fixed in the sandbox so after the next update to the live module, Sava Hills will again be included in the unrecognized language category.
Trappist the monk (talk) 13:16, 5 June 2015 (UTC)

A tag has been placed on Category:Identifier-based citation templates requesting that it be speedily deleted from Wikipedia. This has been done under section C1 of the criteria for speedy deletion, because the category has been empty for four days or more and it is not presently under discussion at Categories for discussion, or at disambiguation categories.

If you think this page should not be deleted for this reason, you may contest the nomination by visiting the page and clicking the button labelled "Click here to contest this speedy deletion". This will give you the opportunity to explain why you believe the page should not be deleted. However, be aware that once a page is tagged for speedy deletion, it may be removed without delay. Please do not remove the speedy deletion tag from the page yourself, but do not hesitate to add information in line with Wikipedia's policies and guidelines.

Every template in the category is deprecated. Category is empty. Knife-in-the-drawer (talk) 11:39, 25 June 2015 (UTC)

Discussion on renaming Category:Taito NESiCAxLive games

Hello, you're invited to vote and express your views on the respective discussion page. Jotamide (talk) 15:39, 15 July 2015 (UTC)

huh — Preceding unsigned comment added by 188.31.0.219 (talk) 14:51, 18 July 2015 (UTC)

quotes around refname

Hi Trappist- Re your revert of my removal of the quotes from around name in our excruciatingly long and difficult-to-use source-citing guideline: Given the refname help section* you linked to in your edit summary, don't you think it would be helpful to mention in the guideline that the quotes are rarely necessary?
*Quotation marks are optional if the only characters used are letters A–Z, a–z, digits 0–9, and the symbols !$%&()*,-.:;<@[]^_`{|}~. Eric talk 19:44, 18 July 2015 (UTC)

Do you have some evidence that supports your statement that quotes are rarely necessary? I think that quotes should always be used. True, if the value assigned to name= doesn't have spaces, the quotes aren't required but, using quotes is stylistically similar to how attributes are used in HTML and XML which <ref>...</ref> resembles. Using quotes in the guideline, I think, serves to subtly educate editors so that when they do use a reference name that has spaces, they do it correctly even though they don't realize it.
Trappist the monk (talk) 20:00, 18 July 2015 (UTC)
Ah, didn't catch that about needing them to handle spaces...that makes sense to me. When I saw refs that didn't use quotes, I thought maybe I could simplify the guide. I was trying to get something tedious done in less time, and not paying thorough attention to the guidelines. Nothing slows me down or kills my editing fervor like our help and guideline pages--they are our weakest area in my estimation. For someone who knows his way around wp pretty well and wants a quick reference, I find them agonizing to use. Thanks for your help. Eric talk 20:18, 18 July 2015 (UTC)
@Eric,Trappist the monk Random chime in. Quotes around HTML5 parameters are optional. In HTML4 they were recommended but still optional. Effectively they have always been optional except for some XML and XHTML specifications (but even then browsers handled it). I prefer the opposite to Trappist; I avoid quotes unless they are needed. Why? Because it clutters up the source and makes it more difficult to read. Things start to look like syntax soup, especially to non-coders. I suggest that the increase in the ease of reading (and therefore editing) of the source by using no quotes exceeds the benefit of "educating" the users on a syntax issue that doesn't even matter (as per the history of HTML). Jason Quinn (talk) 17:19, 22 July 2015 (UTC)
Thanks for the input, @Jason_Quinn. I'm one of those non-coders who knows just enough to get in trouble, so greater ease of legibility reduces my terror level. Do you guys think we should move this exchange over to Wikipedia_talk:Citing_sources? Eric talk 12:55, 23 July 2015 (UTC)

Reference errors on 21 July

Hello, I'm ReferenceBot. I have automatically detected that an edit performed by you may have introduced errors in referencing. It is as follows:

Please check this page and fix the errors highlighted. If you think this is a false positive, you can report it to my operator. Thanks, ReferenceBot (talk) 00:25, 22 July 2015 (UTC)

ISSN

Just wondering if you could help at Template talk:ISSN#Check for invalid ISSN? -- WOSlinker (talk) 11:55, 3 August 2015 (UTC)

vcite2 journal

I cleaned all instances of vcite2 journal. I hope I did not do anything stupid. -- Magioladitis (talk) 11:52, 5 August 2015 (UTC)

List of superfoods

Trappist -- as you have contributed to editing this list in the past, please give your thoughts on whether the article should be deleted, as proposed yesterday.[1] Guidelines:[2]. Thanks. --Zefr (talk) 14:31, 14 August 2015 (UTC)

August 2015

Hello, I'm BracketBot. I have automatically detected that your edit to Coat of arms of Germany may have broken the syntax by modifying 2 "()"s. If you have, don't worry: just edit the page again to fix it. If I misunderstood what happened, or if you have any questions, you can leave a message on my operator's talk page.

List of unpaired brackets remaining on the page:
  • 1935 |trans-title=Regulation concerning the national emblem of the reich of November 5, 1935)
  • |trans-title=Regulation concerning the design of the national emblem of the reich of March 7, 1936)

It's OK to remove this message. Also, to stop receiving these messages, follow these opt-out instructions. Thanks, BracketBot (talk) 12:15, 25 August 2015 (UTC)

Sir Edward Stafford

I recently ran across the wiki for Sir Edward Stafford, https://en.wikipedia.org/wiki/Edward_Stafford_%28diplomat%29. Do you know of any images of Sir Edward?

We have a portrait in our museum collection that may be of Sir Edward. The evidence is slim so far (happy to share if you are interested). Another image of Sir Edward would certainly inform our research.

Thanks

Perry Hurt Associate Conservator North Carolina Museum of Art — Preceding unsigned comment added by Perry Hurt (talkcontribs) 17:26, 25 August 2015 (UTC)

Alas, no. If you can confirm that your portrait is Sir Edward, I expect that it would make a nice addition to the article.
Trappist the monk (talk) 17:40, 25 August 2015 (UTC)

Your sig

I see from this (which I have now fixed) that the WP:LISTGAP issue with your sig, which I raised here last December and again in January is still present. Is there a reason you have not fixed it? Please do so. Andy Mabbett (Pigsonthewing); Talk to Andy; Andy's edits 10:38, 28 August 2015 (UTC)

175 (number)

Somehow or other I managed to completely misread what was written. Thanks for putting me right. The editor who uses the pseudonym "JamesBWatson" (talk) 11:24, 28 August 2015 (UTC)

Monkbot et al task slight failure

Look at the Vignal reference in this edit for a slight bug in Monkbot's et al. code. – Jonesey95 (talk) 04:06, 2 September 2015 (UTC)

Hmm, have to think about that one. Thanks.
Trappist the monk (talk) 10:54, 2 September 2015 (UTC)
Why is et al. being changed to etal? I've never seen the remarkable word "etal" before. Has some official change been made somewhere? Thanks, --Hordaland (talk) 00:45, 3 September 2015 (UTC)
There are four cs1|2 parameters where the inclusion of etal is permissible: |display-authors=, |display-editors=, |vauthors=, and |veditors=. The first two cause Module:Citation/CS1 to append the standardized 'et al.' text to name lists composed of |lastn= / |firstn= / |authorn= and |editor-lastn= / |editor-firstn= / |editorn= parameters. Similarly, the latter two are Vancouver system formatted lists of author or editor names where the keyword etal is replaced with the standardized 'et al.' text.
There are editors who, for lack of understanding, habit, or whatever reason, write the et al. text with italic markup, odd capitalization, with or without correct punctuation, etc. so the module replaces these non-standard forms with the standard form. Why does Monkbot task 7 use etal? Because etal is the canonical form first adopted for |display-authors= and |display-editors= as a keyword to tell the module what to do with those parameters. Yes, I could have made task 7 write a correct standardized form but that doesn't subtly enforce the notion that form of the 'et al.' text is controlled by the module and not by the editor.
Alles klar?
Trappist the monk (talk) 01:18, 3 September 2015 (UTC)
Not really; I only understood about 40% of that. It looked/looks weird, but it looks fine in the refs on the article pages. Thanks, Hordaland (talk) 04:18, 3 September 2015 (UTC)

Citation module

Hi! Was adapting Citation module for Latvian Wikipedia. Everything is OK (currently), except for one thing. If some user uses some author parameters (author; last+first etc.) and |year= (or date etc.), then there is such output: Author(s) (year) .... If there is no author, but is year, then the year is somewhere in the middle. We would like to switch to the second case as default one. I hope, I described well, what I want :) Could you help? Tried to do that myself, but the corresponding code was too complex. You can make any changes to modules directly @lvwiki, you can't screw anything. --Edgars2007 (talk/contribs) 18:45, 3 September 2015 (UTC)

You've discovered why I haven't answered this pseudo-RFC. To this point in my life I haven't felt a need to try to understand that particular bit of the code.
I'm not sure I understand exactly what you want. By 'default', do you mean what happens when Authors and Editors are not set? Do you mean that you want Date to be placed in the same position all the time regardless of the state of Authors, Editors, CitationClass, and Periodical?
Trappist the monk (talk) 20:11, 3 September 2015 (UTC)
Yes. I would like to see, that in output date is like in that RFC for reference, that contains The Daily Telegraph (London). 4 August 2011, no matter is there some authors shown or not. --Edgars2007 (talk/contribs) 20:39, 3 September 2015 (UTC)
I tweaked your code. Is that what you want?
Trappist the monk (talk) 22:38, 3 September 2015 (UTC)
As you can see here, it doesn't look good. Edgars2007 (talk/contribs) 22:44, 3 September 2015 (UTC)
it doesn't look good is not a helpful answer. I know that author is missing its separator; worry about small stuff like that later. Is the date positioned as you want it?
Trappist the monk (talk) 23:02, 3 September 2015 (UTC)
Oh, yes. Position is OK. --Edgars2007 (talk/contribs) 05:39, 4 September 2015 (UTC)
Ok, I've tweaked the code so that author now has it's separator. Do these changes work for all of the cs1|2 templates? Why is |first= rendered before |last=?
Trappist the monk (talk) 11:50, 4 September 2015 (UTC)
Thanks! Tested for web, book, journal - looks good. Will do a bigger testing later, if something will be wrong, will get in touch. About first/last - we decided to have first before last, it's better for Latvian language. --Edgars2007 (talk/contribs) 12:23, 4 September 2015 (UTC)

Also was thinking about date translation from English to Latvian. Would that be technically possible? The most standart English dates (like 4 September 2015 and September 4, 2015) would be fine. Latvian forms are pretty easy - both dates would translate as 2015. gada 4. septembris. Of course, if it would take quite much time to implement, then you don't have to do that now, but when you have some time (of course, if you want to help me :) ). Currently, it is just an idea. --Edgars2007 (talk/contribs) 11:13, 4 September 2015 (UTC)

You removed date validation. That needs to be restored – no sense in attempting to translate a malformed date. Is there a need to translate ymd dates? I'll need a list of all month names (including seasons: spring, summer, autumn, fall, winter).
I can add code to lv:Modulis:Citation/CS1/Date validation to validate the Latvian date format. Is 'gada' always used and always exactly the same way? What about date ranges? d–d month year; d month – d month year; month d–d, year; Month d – Month d, year; year–year; etc.
Trappist the monk (talk) 11:50, 4 September 2015 (UTC)
No, please without date validation. I know your intension was good to include that here, but it will be good without that in Latvian Wikipedia, at least currently. One of the reasons - I think more that 50% (but most probably maybe some 75%) of all instances uses date template (quite similar to yout {{date}}, but no so cool). Need just translating part :) I'm thinking only about those two variants, which I mentioned above (4 September 2015 and September 4, 2015), don't want to translate 2015-09-04 or other numeric dates, because 2015-09-04 can also be April 9, 2015. Latvian names: janvāris, februāris, marts, aprīlis, maijs, jūnijs, jūlijs, augusts, septembris, oktobris, decembris. --Edgars2007 (talk/contribs) 12:23, 4 September 2015 (UTC)
November is novembris?
Trappist the monk (talk) 14:11, 4 September 2015 (UTC)
Whoops, missed that. Yes - novembris. --Edgars2007 (talk/contribs) 14:40, 4 September 2015 (UTC)
See lv:Veidne:Grāmatas atsauce/Testi.
Trappist the monk (talk) 15:06, 4 September 2015 (UTC)
THANK YOU very much :) Included month abbreviations, didn't thought about them, so thanks. You could take a look and say if this is the proper format to include them (for future reference). --Edgars2007 (talk/contribs) 17:52, 4 September 2015 (UTC)

vauthor

Makes the author not work when copied and pasted into other languages [3] Doc James (talk · contribs · email) 03:42, 4 September 2015 (UTC)

Doc James: The cleanup script that you run after pasting a citation into another language's WP should be able to substitute |vauthors= with an appropriate author parameter in that language's citation template. I clean up copy-pasted foreign language citation templates all the time using an AutoEd script. You're welcome to copy my script, or parts of it. – Jonesey95 (talk) 04:26, 4 September 2015 (UTC)
Clean up script? We have been installing a bunch of templates in all the other languages and have simply been using those templates to prevent needing to do this step. Doc James (talk · contribs · email) 04:29, 4 September 2015 (UTC)
|vauthors= and |veditors= were added to cs1|2 at en:wp largely in response to WP:MED.
If the templates that you've been installing are using {{citation/core}} then changing the individual templates ({{cite journal}}, etc) should make |vauthors= and |veditors= work.
change this:
|Surname1={{{last|{{{last1|{{{author|{{{author1|{{{authors|{{{surname|{{{surname1|}}}}}}}}}}}}}}}}}}}}}
to
|Surname1={{{vauthors|{{{last|{{{last1|{{{author|{{{author1|{{{authors|{{{surname|{{{surname1|}}}}}}}}}}}}}}}}}}}}}}}}
and change this:
|EditorSurname1={{{editor-last|{{{editor1-last|{{{editor|{{{editors|{{{editor-surname|{{{editor1-surname|}}}}}}}}}}}}}}}}}}
to this:
|EditorSurname1={{{veditors|{{{editor-last|{{{editor1-last|{{{editor|{{{editors|{{{editor-surname|{{{editor1-surname|}}}}}}}}}}}}}}}}}}}}}
Does this work for you?
If you are installing some version of the lua modules then the answer is not so simple.
Trappist the monk (talk) 12:11, 4 September 2015 (UTC)

If you are interested in the ship's later history, I put additional info on the talk page.StaniStani 12:50, 6 September 2015 (UTC)

Thanks

...for tidying up my assorted messes at the ship naming conventions rewrite proposal. It is appreciated. -- saberwyn 11:54, 15 September 2015 (UTC)

Renaming a module

Please see Module talk:Citation/CS1/Archive 12#Requested move 9 September 2015. Whoever closes this request may be unaware of whether it will break anything. Since you've edited the file, you may want to comment. Thanks, EdJohnston (talk) 02:08, 17 September 2015 (UTC)

Thank you.
Trappist the monk (talk) 09:44, 17 September 2015 (UTC)

bot error?

this edit looks like a bug. I am not aware that any of the parameters involved is deprecated. DES (talk) 01:18, 17 September 2015 (UTC)

|date= is not deprecated. Monkbot task 1 looks for |month= which is deprecated. If |month= is found Monkbot combines it with |year= (and |day= if present – also deprecated) to create |date=. Before any of that happens, Monkbot searches for and removes empty |date=, |day=, |month= and |year= parameters to avoid the duplicate parameter problem.
Trappist the monk (talk) 09:34, 17 September 2015 (UTC)
Hi Trappist! Checkingfax also brought up this issue - see Wikipedia talk:AutoWikiBrowser#AWB is removing date= parameter in references. Is there a way to update the bot code so that it doesn't save the edit if it doesn't remove a deprecated parameter? Thanks! GoingBatty (talk) 00:42, 19 September 2015 (UTC)
I will have a look.
Trappist the monk (talk) 12:38, 19 September 2015 (UTC)
When there is no |month= or |day= removing an empty |date= seems unhelpful, as having the empty (but not duplicated) parameter can make adding the date later easier, and it does no harm. But if the bot is going to remove an empty |date= without more, can the edit summer be something like "Removing unused parameters" or "removing empty parameters" rather than "Fix CS1 deprecated date parameter errors"? the later is in such cases simply incorrect and causes confusion. DES (talk) 00:53, 19 September 2015 (UTC)
I don't know that having empty parameters in 'hot standby', ready to be filled, is actually any easier than typing a new parameter name/value pair in a minimally populated template. First you have to find the parameter you're looking for in the sea of text and template parameters before you can add the parameter's value. There are those among us who complain mightily about template clutter and I admit to having sympathy for their cause; sure, empty parameters do no harm, but neither do they add real value.
I'll look at tweaking the edit summary.
Trappist the monk (talk) 12:38, 19 September 2015 (UTC)

Ships prefixed MT

Hello Trappist the monk. Thanks for fixing the title at MT Indiga. I've noticed that all the MT-prefixed ships using DISPLAYTITLE or {{italic title}} show that same error (Ex MT Frans Suell). Would it be possible to add the prefix MT to Template:Ship prefix to italicize the title automatically? I tried to add it myself, but it didn't seem to do anything...perhaps I did it wrong? Howicus (Did I mess up?) 01:20, 17 September 2015 (UTC)

{{ship prefix}} is no longer being used by {{infobox ship begin}}. I have replaced it with Module:WPSHIPS utilities. More information about that at WT:SHIPS.
I have added MT to Module:WPSHIPS utilities/sandbox. The change will take effect when next I update the live version (which updates are ongoing).
Trappist the monk (talk) 09:43, 17 September 2015 (UTC)
Ah, thanks, that sounds good. Howicus (Did I mess up?) 21:38, 19 September 2015 (UTC)

Category move needed

Can you move the wikilink category to Category:CS1 errors: URL–wikilink conflict? I don't think I have the right permissions. Also Category:CS1 errors: translated title. Thanks. – Jonesey95 (talk) 17:40, 26 September 2015 (UTC)

The bot puts a bullet in front to the {{infobox NRHP}} template in the ship notes= section of the ship infobox and it messes up the rest of the article. See this diff. I don't know if there is some way to format that so the bot doesn't keep doing it and maybe there are other ships that it is treating the same way. Maybe that's not how the NRHP template is supposed to embedded, idk. Just thought you might want to know. --Dual Freq (talk) 21:39, 12 October 2015 (UTC)

Thanks. A case of garbage in garbage out. {{infobox NRHP}} does not belong in the |Ship notes= parameter of {{Infobox ship characteristics}}. Fixed.
Trappist the monk (talk) 21:47, 12 October 2015 (UTC)

Question about why external links in "|work=" now generates an error

Hi, I have been looking through various Help_talk:Citation_Style_1 discussions in an attempt to understand why having an external link in |work= is now generating an error. I have been populating this parameter with external link for years & just noticed that it now causes an error. It is obvious to me why external links in |title= & in |chapter=, as they conflict with |url= & |chapter-url= respectively. However, there is nothing like a |work-url= for |work= to conflict with. The documentation essentially just says that's the way it is.

I have seen your username all over the discussions at Help talk:Citation Style 1#choosing the correct metadata when |chapter=, |title=, and |work= are all set & Help talk:Citation Style 1/Archive 9#How to resolve external link errors without work-url= or journal-url=?. I am just hoping to get a succinct, coherent explanation why external links in |work= cause a problem.

I am a heavy user of citation templates. I also have been in IT for 25 years & have dabbled in my share of programming languages, so while I may not be familiar with the syntax of modules, I probably get a grasp of a moderately technical discussion.

Peaceray (talk) 21:38, 20 October 2015 (UTC)

(talk page stalker) Peaceray, Help talk:Citation Style 1 would be a good place to ask your question in a more public place, as there is already a discussion in progress there. – Jonesey95 (talk) 00:51, 21 October 2015 (UTC)

Invitation to join MILHIST

zh-hk in {{cite-web}}

So, zh-hk is deprecated? Deryck C. 15:52, 4 November 2015 (UTC)

Module:Citation/CS1 supports ISO 639-1 and the code's matching name. So, cs1|2 does not support RFC 1766-style language codes (code-subcode where 'code' is ISO 639-1 and 'subcode' is ISO 3166 country code). zh-HK has never been supported so cannot be deprecated.
Trappist the monk (talk) 16:05, 4 November 2015 (UTC)

On Nov 11 2015 I inserted the word "diseases" and you removed my contribution saying, "Unnecessary and confusing: symptoms and diseases are not synonyms."

Could you please justify why you did this because it is strange what you did? Please respond here, https://en.wikipedia.org/wiki/User_talk:Tvcv

"disease" word is layperson friendly, used 7.5 times more than "symptom" according to google. — Preceding unsigned comment added by Tvcv (talkcontribs) 10:37, 12 November 2015 (UTC)

You are mistaken. Your edits were reverted by clpo13. See the article's history.
Trappist the monk (talk) 11:36, 12 November 2015 (UTC)

A redirect for your user page?

I know you have a long history of not having a user page, and I remember that it came up during your RfA, but it sure does look odd to see a red link when I type Trappist the monk and wonder whether I have typed your name correctly. I wonder if you would give some thought to creating your user page as a redirect to your talk page, as Gadget850 has done. Do what thou wilt. – Jonesey95 (talk) 04:37, 13 November 2015 (UTC)

One of my many faults is that when told, either explicitly or implicitly, that I must do something, I resist. There are editors who have publicly wondered how it is possible that anyone with a redlinked user name can have the mop. It is for them that I will continue as I have done.
Trappist the monk (talk) 13:59, 13 November 2015 (UTC)
I know you that well. Hence my "I wonder if you would give some thought". I would not deign to insist. Rather, I hoped you would give it some thought and come to the conclusion on your own that the Gadget850 way would allow you to remain true to your faults while simultaneously being kind to those of us in whose eyes you do not wish to insert your thumbs.
You could still style your signature such that your user name appeared in red.... – Jonesey95 (talk) 15:01, 13 November 2015 (UTC)

Hi,
You appear to be eligible to vote in the current Arbitration Committee election. The Arbitration Committee is the panel of editors responsible for conducting the Wikipedia arbitration process. It has the authority to enact binding solutions for disputes between editors, primarily related to serious behavioural issues that the community has been unable to resolve. This includes the ability to impose site bans, topic bans, editing restrictions, and other measures needed to maintain our editing environment. The arbitration policy describes the Committee's roles and responsibilities in greater detail. If you wish to participate, you are welcome to review the candidates' statements and submit your choices on the voting page. For the Election committee, MediaWiki message delivery (talk) 14:12, 24 November 2015 (UTC)

Strategic Barnstar

Strategic Barnstar
For your hard work and due diligence creating or editing strategic deterrent related articles or Ballistic missile submarine related pages, you have been awarded the Strategic Barnstar. Your outstanding performance provides significant and long lasting benefits to Wikipedia, Congratulations!

Signed: Legohead1my_talk 17:02, 24 November 2015 (UTC)

This editor has been awarded the Strategic Barnstar for creating or editing strategic deterrent related articles.

A bowl of strawberries for you!

With thanks for your outstanding responsiveness in updating the template "Birth based on age as of date" to match the MoS. Gronk Oz (talk) 14:10, 26 November 2015 (UTC)

November 2015

Hello, I'm BracketBot. I have automatically detected that your edit to Aram Khachaturian may have broken the syntax by modifying 1 "[]"s. If you have, don't worry: just edit the page again to fix it. If I misunderstood what happened, or if you have any questions, you can leave a message on my operator's talk page.

List of unpaired brackets remaining on the page:
  • html|last=Khanjyan|first=Artyush|script-title=hy:Երևանի արձանները |trans-title=Statues of Yerevan]|publisher=VMV Print|location=Yerevan|language=hy|isbn=99941-920-1-9}}</ref> A statue of

It's OK to remove this message. Also, to stop receiving these messages, follow these opt-out instructions. Thanks, BracketBot (talk) 00:14, 30 November 2015 (UTC)

SecretName101 (talk) 07:24, 4 December 2015 (UTC) SecretName101 (talk) 07:24, 4 December 2015 (UTC)

Module:Citation/CS1

Can you please check Village pump because date problem is still present... --Obsuser (talk) 02:04, 14 December 2015 (UTC)

Lua (references module) /copied from Village pump (technical)/

Why are symbols other than latin ones in the names of months or seasons not working? I get error if I use "август" instead of "August"... Module can be saved but "|date=7 август 1970" is not accepted, for example... This is from Module:Citation/CS1/Date_validation?--Obsuser (talk) 19:38, 12 December 2015 (UTC)

local long_months = {['January']=1, ['February']=2, ['March']=3, ['April']=4, ['May']=5, ['June']=6, ['July']=7, ['August']=8, ['September']=9, ['October']=10, ['November']=11, ['December']=12};
local short_months = {['Jan']=1, ['Feb']=2, ['Mar']=3, ['Apr']=4, ['May']=5, ['Jun']=6, ['Jul']=7, ['Aug']=8, ['Sep']=9, ['Oct']=10, ['Nov']=11, ['Dec']=12};
Are you referring to the Serbian version sr:Modul:Citation/CS1/Date validation? If so, please post a link to a test case. PrimeHunter (talk) 20:25, 12 December 2015 (UTC)

Because English dates use the Latin character set, here we can get away with using date_string:match(). Non-Latin languages must use the ustring library.

In function dates(), wherever a month, season, or named date is not numeric, you must use this form (this example to match the date form from your example:

if mw.ustring.match(date_string, "^[1-9]%d? +%a+ +[1-9]%d%d%d%a?$") then</code>
    day, month, anchor_year, year=mw.ustring.match(date_string, "(%d%d*)%s*(%a+)%s*((%d%d%d%d)%a?)");
    ...
    end

Trappist the monk (talk) 20:42, 12 December 2015 (UTC)


@PrimeHunter: Yes. Here: [5] I also do not know why is everything italicized nor why do I have dead-url error... --Obsuser (talk) 21:08, 12 December 2015 (UTC)

@Trappist the monk: Thank you. I will try that... --Obsuser (talk) 21:08, 12 December 2015 (UTC)

I fixed the italics for now. You will need to modify Common.css so that citations use the proper <cite>...</cite> tags. See en common.css. When that is done, replace the enclosing <span>...</span> with <cite>...</cite>.
Your version of is_valid_parameter_value() has been modified. If you make it the same as it is here, do your tests work?
Trappist the monk (talk) 22:03, 12 December 2015 (UTC)
Also, in sr:Modul:Citation/CS1/Configuration, the DeadURL default is a single value not a table of three possibilities. There can be only one default state; here, it is 'yes'.
Trappist the monk (talk) 22:10, 12 December 2015 (UTC)
@Trappist the monk: I modified is_valid_parameter_value() because I was getting an error ("... attempt to call method 'lower' (a nil value)"; image here) when using same version as it is Module:Citation/CS1. I will delete two values from DeadURL... Thank you for help. --Obsuser (talk) 23:38, 12 December 2015 (UTC)
I did the default fix; Your last changes to the main module may have put it out of sync with the other modules. You might want to revert them and then restore is_valid_parameter_value(). That should fix the errors and improper italics in your tests. Then all that's left is the date stuff.
Trappist the monk (talk) 00:07, 13 December 2015 (UTC)
@Trappist the monk: Yes, thank you. I changed main module to get photo of the error; it is reverted now (in sync) and is_valid_parameter_value() is restored. However, dead-url error is still present despite using one value... :( --Obsuser (talk) 01:08, 13 December 2015 (UTC)
is_valid_parameter_value() didn't get restored. It has been now; no dead url error.
Trappist the monk (talk) 01:15, 13 December 2015 (UTC)
@Trappist the monk: Oh, I got it wrong; I have been thinking about restoring it from version which is used on English Wikipedia (and Serbian when I reverted your edits to take a pic) to my correction; you have said something else... Never mind. Thank you really for help! I might ask something else, later... --Obsuser (talk) 04:14, 13 December 2015 (UTC)


  1. Date parameter is now OK, but access-date does not accept anything else except year number.
  2. Also, if I use parameter |приступ-датум=, English: |access-date= (with this access-date error present), I get error message with English language text:
Проверите вредности за датум у следећим параметрима: |access-date= instead of
Проверите вредности за датум у следећим параметрима: |приступ-датум=
  1. Is there a way to use dot after a day number because Serbian date format is a little bit different. It is: "(d)d. month yyyy." (long form) or "(d)d. (m)m. yyyy." (short form). (dot after year will get added anyway because it separates parameters in Wikipedia references by default, and if it is in brackets — i.e. "Surname, Name (2005)" — it’s rule NOT to write it; i.e. ".)" is forbidden, as well as any number followed by dot followed by any other punctuation sign: "6.,", "17.;")
  2. Is there a way to enter a month number (for example: "4.", WITH dot), and to make modules recognize that value as correct (as "April" is recognized on English Wikipedia)?
Date formats that are acceptable in Serbian are: "(d)d. month yyyy." (not "dd. month yyyy."; if day value is between 1 and 9, zero is not being written; i.e. not "03. month yyyy." but "3. month yyyy."), and "(d)d. (m)m. yyyy." (not "(d)d. mm yyyy."; if month value is between 1 and 9, zero is not being written; i.e. not "03. 06. yyyy." but "3. 6. yyyy."). --Obsuser (talk) 02:01, 14 December 2015 (UTC)
I'll address these issues tomorrow (I'm in UTC-7). We should probably move this discussion to my talk page.
Trappist the monk (talk) 03:11, 14 December 2015 (UTC)
I changed string.match(date_string,mw.ustring.match(date_string,, and date_string:match (mw.ustring.match(date_string, in Модул:Citation/CS1/Date validation, and updated Модул:Citation/CS1/Configuration and all other modules meanwhile... --Obsuser (talk) 03:43, 14 December 2015 (UTC)
  1. The access date problem is somewhere in is_valid_accessdate(). Does 'today + 2 days' in pcall( lang.formatDate, lang, 'U', 'today + 2 days' ) need to be in Serbian? The call to is_valid_accessdate() is commented out in dates().
  2. The error message gets its parameter name from the table passed to dates(). To fix the error message:
    1. in dates(), change date, year, and access-date in 'date'==k, 'year'==k, 'access-date'==k to Serbian ('access-date'==k'приступ-датум'==k, etc)
    2. in sr:Модул:Citation/CS1 change the dates call to use the Serbian parameter names: dates({['access-date']=AccessDate,...})dates({['приступ-датум']=AccessDate,...}), etc
  3. I've added a check for the (d)d. (m)m. yyyy format to check_date(). Because . matches all characters, it needs to be escaped as %.
  4. answered with #3?
Trappist the monk (talk) 11:22, 14 December 2015 (UTC)

Can you help or direct me?

Hi Trappist; i occasionally try and reduce the number of CS1 errors, and today discovered the "external links" error, so i've corrected a few and will go back for more. I have looked, however, and it seems that some ~ or many, i don't know ~ are generated by this template which seems to pass an external link to the publisher parameter of every citation it's used for. I took a brief look, but i'm no template editor, so i wonder if you might point to me how i can stop this error message being generated so frequently ~ if there is a way, which i assume there must be; cheers, LindsayHello 14:54, 22 December 2015 (UTC)

I've tweaked {{Medieval Lands by Charles Cawley}} to remove the url from |publisher=. The error messages caused by the template will start going away as the job queue gets to the pages that have the error. Null edits also work to clear the error if the job queue hasn't gotten to a particular page.
Trappist the monk (talk) 15:26, 22 December 2015 (UTC)
Thank you. I shall go and take a look at what you did, maybe try and learn a bit for next time ~ one of the joys of a collaborative project like this; cheers, LindsayHello 15:29, 22 December 2015 (UTC)

Hi Trappist! I'm looking at other templates in Category:CS1 errors: external links, and I removed the URL from Template:Cite American Factfinder. I see that Template:Cite Hansard/doc encourages the behavior that causes the error. Any suggestions? Thanks! GoingBatty (talk) 17:49, 22 December 2015 (UTC)

I think that you should delete the last example (it's poorly formed because it: uses an undocumented alias of |hansard=; includes a url that should be in |url=; and along with most of the other examples, isn't really much of an example because it doesn't lead to an actual Hansard page). And then, delete ' or an external link' from the |hansard= description.
Trappist the monk (talk) 18:24, 22 December 2015 (UTC)
Then do you also suggest removal of the note in Template:Cite_Hansard/doc#URL? GoingBatty (talk) 22:23, 22 December 2015 (UTC)
I do, because an external link in |hansard= is the same as an external link in |journal= (my last example item above), the two parameters are aliases.
Trappist the monk (talk) 09:37, 23 December 2015 (UTC)
 Done - thanks! GoingBatty (talk) 02:35, 25 December 2015 (UTC)

Page field in citation

I see that you are removing the "p." text that has been inserted in things like cite journal as they have been put in by hand. The documentation for example cite journal says that the "p." should be inserted automatically but clearly CS1 doesnt do this hence why they have been put in by hand. Clearly something not right somewhere is there somewhere this is explained or discussed, thanks. MilborneOne (talk) 16:17, 28 December 2015 (UTC)

See cite journal §In-source locations and §Periodical.
It is the prerogative and responsibility of the cs1|2 templates to provide appropriate static text and punctuation so that citations are rendered in a consistent fashion. {{cite journal}} is used for citing academic or scholarly periodicals. In keeping with that purpose, it renders citations in a manner consistent with academic journal citation styles used outside of Wikipedia.
Trappist the monk (talk) 16:30, 28 December 2015 (UTC)
OK thanks perhaps somebody should update the related documentation. MilborneOne (talk) 16:40, 28 December 2015 (UTC)
Go ahead. If the documentation isn't clear, feel free to make it more clear.
Trappist the monk (talk) 16:41, 28 December 2015 (UTC)
You are making undiscuused changes to the reference format of articles, making them inconsistent (with journals and books being inconsistent). Please stop and revert these undiscussed changes which are only making referencing less clear and harder to follow.Nigel Ish (talk) 17:03, 28 December 2015 (UTC)
For a very long time, the cs1 templates {{cite book}} and {{cite journal}} have not rendered page number(s) in the same manner. The colon-space prefix was introduced with this edit in July 2005. The two templates were not then and are not now intended to render page numbers in the same way. As documented at Template:Cite journal#COinS, editors should not be adding extra text to cs1|2 parameters.
Consider using {{cite magazine}} in place of {{cite journal}} for non-academic periodicals.
Trappist the monk (talk) 17:35, 28 December 2015 (UTC)
You are making mass, bot-like changes to the formatting of references using AWB, without any sort of discussion on the article talk pages. As people have bothered to add p. and pp. is is clear that that is how the editors intended the references to look. These changes fall within the realms of WP:CITEVAR. It is disengenous to state that editors should be using cite magazine rather than cite journal when the change from cite magazine being a redirect are completely unannounced. I say again that these mass changes are harmful to the encyclopedia.Nigel Ish (talk) 18:08, 28 December 2015 (UTC)


The ability to detect extra text like 'p.' and 'pp.' in |page(s)= and 'ed.' in |edition= was added to Module:Citation/CS1 in July. The addition was not something that just happened. You can find the discussions in Help talk:Citation Style 1/Archive 8. About a month later we broached the topic of establishing {{cite magazine}} as a separate template. That discussion is also in Archive 8. At the beginning of this month, we created {{cite magazine}}; you can find that discussion in Help talk:Citation Style 1. None of these things happened under cover of darkness. Help talk:Citation Style 1 is the central point for information exchange in all matters concerning cs1|2 templates.
Templates provide repeatably consistent renderings of citations within an article. One cost of that consistency is a limit on what values are acceptable. While it is possible to misapply cs1|2 parameters to achieve some desired rendering, doing so does not make it correct or the rendering valid. When a cs1|2 template does not produce the desired output, the correct action to take is to choose another cs1|2 template or to choose to create a citation without using a template. For example, here is a template from one of the articles that you reverted:
{{cite journal |last=Dekkers |first=Hans |title=Flying the Angel 44 |journal=[[Flight International]] |date=29 September – 5 October 1993|pages=pp. 25–26 |url=http://www.flightglobal.com/pdfarchive/view/1993/1993%20-%202331.html?search=kings%20angel |accessdate=15 September 2008}}}}
Dekkers, Hans (29 September – 5 October 1993). "Flying the Angel 44". Flight International: pp. 25–26. Retrieved 15 September 2008. {{cite journal}}: |pages= has extra text (help)
re-written to use {{citation}} and |periodical= (and |mode=cs1 so that the style is the same):
{{citation |mode=cs1 |last=Dekkers |first=Hans |title=Flying the Angel 44 |periodical=[[Flight International]] |date=29 September – 5 October 1993|pages=25–26 |url=http://www.flightglobal.com/pdfarchive/view/1993/1993%20-%202331.html?search=kings%20angel |accessdate=15 September 2008}}
Dekkers, Hans (29 September – 5 October 1993). "Flying the Angel 44". Flight International. pp. 25–26. Retrieved 15 September 2008.
Alternately, {{cite news}}:
Dekkers, Hans (29 September – 5 October 1993). "Flying the Angel 44". Flight International. pp. 25–26. Retrieved 15 September 2008.
So, there were a couple of legitimate options that were available well before the creation of {{cite magazine}}.
It is pretty clear to me that correcting the misuse of a template's parameters, where that misuse is in contravention of the template's documentation, is not a violation of WP:CITEVAR, but rather, looked upon as Generally considered helpful (last bullet point). And yes, I am using AWB to accomplish this because there are nearly 9000 pages listed at Category:CS1 maint: Extra text.
Trappist the monk (talk) 23:58, 28 December 2015 (UTC)

Changes to citation format

I was very particular in the citation format for a number of my articles, using p. or pgs to denote pages. This is because its very confusing to read the citation when the citations include as they often do, volume and issue number for newspapers. Please engage me in discussion beforehand.Mtsmallwood (talk) 23:58, 29 December 2015 (UTC)

For some reason, I find myself repeating this a lot lately. It is the purpose of the cs1|2 templates to provide the necessary standardized text, punctuation, etc when rendering citations. The templates make no attempt to accommodate all of the possible ways that editors would prefer to have citations rendered; that is just not possible. Instead, the templates do attempt to make life relatively easy for editors by standardizing layout, providing consistency in the niggling details like punctuation, abbreviations, etc. so that editors don't have to worry about such minutia. The formats applied by the templates are very much in keeping with published style guides like The Chicago Manual of Style, APA Style, and the like. The trade-off is that editors cannot do as they please (If I could figure out how to make that happen, I wouldn't be doing it for free here on Wikipedia but would be sitting in my counting house, counting all my money).
The documentation for all of the templates discourages extraneous text because that text becomes part of the citation's metadata which can be confusing to the tools that consume it.
Trappist the monk (talk) 00:40, 30 December 2015 (UTC)
I lifted this citation from your sandbox:
{{Citation | title = The White Collar Line | type = reprinted from Skamania Pioneer | url = http://chroniclingamerica.loc.gov/lccn/sn97071110/1903-02-06/ed-1/seq-3/ | newspaper = Hood River Glacier | publication-place = | volume = 14 | issue = 38 | publication-date = Feb 6, 1903 | page = p.3, col.1 | editor1-last = Blythe | editor1-first = S.F. | publisher = | nopp = yes}}
Blythe, S.F., ed. (Feb 6, 1903), "The White Collar Line", Hood River Glacier (reprinted from Skamania Pioneer), vol. 14, no. 38, p.3, col.1 {{citation}}: |page= has extra text (help); Unknown parameter |nopp= ignored (|no-pp= suggested) (help)
Here, I've changed the template to {{cite news}}, removed 'p.' from |page=, removed |nopp=yes, and added |mode=cs2:
{{Cite news | title = The White Collar Line | type = reprinted from Skamania Pioneer | url = http://chroniclingamerica.loc.gov/lccn/sn97071110/1903-02-06/ed-1/seq-3/ | newspaper = Hood River Glacier | publication-place = | volume = 14 | issue = 38 | publication-date = Feb 6, 1903 | page = 3, col.1 | editor1-last = Blythe | editor1-first = S.F. | publisher = |mode=cs2 }}
Blythe, S.F., ed. (Feb 6, 1903), "The White Collar Line", Hood River Glacier (reprinted from Skamania Pioneer), vol. 14, no. 38, p. 3, col.1
The only differences between the two rendered versions are that there is now a &nbsp; between 'p.' and '3', and Module:Citation/CS1 is not complaining about extra text in |page=.
If you have not done so already, you might want to turn on full error message display. See Controlling error message display.
Trappist the monk (talk) 11:40, 30 December 2015 (UTC)

Baha'i News

Hi, about [6] in my early days I used journal, and then occasionally various, but I now believe "newspaper" may be the best single category. --Smkolins (talk) 20:02, 1 January 2016 (UTC)

Also originally Baha'i News was available from one website but it was taken down and then eventually come up on another website (that actually can give a url to the page.) So there are articles in various states for the url of the newspaper. I've not managed to clean them all up (sigh).--Smkolins (talk) 20:04, 1 January 2016 (UTC)
I don't know anything about Bahá'í News except what I read in the Wikipedia article about it. The information there describes it as a magazine so that determined how my AWB script would treat those {{cite journal}} templates that have |journal=Bahá'í News.
Trappist the monk (talk) 20:11, 1 January 2016 (UTC)

could you please explain...

When you edited HNLMS Friesland (P842) you unlinked the language in the language field. Care to explain why? Geo Swan (talk) 08:27, 4 January 2016 (UTC)

The values assigned to |language= are used to categorize the page, in this case Category:CS1 Polish-language sources (pl). Module:Citation/CS1 compares the values in |language= against a list of languages maintained by MediaWiki. When the language name or its ISO 639-1 code is found in the list, the module adds the appropriate category. If not found, the page is added to Category:CS1 maint: Unrecognized language. [[Polish language|Polish]] is not found in MediaWiki's list, but Polish and pl are found there.
Trappist the monk (talk) 11:35, 4 January 2016 (UTC)
(talk page watcher) @Geo Swan: It appears to me that Trappist's edit to unlink the language also fits with the spirit of removing overlinking. IMHO, readers don't need a link to the Polish language to get a better understanding of HNLMS Friesland (P842). Happy New Year! GoingBatty (talk) 18:10, 4 January 2016 (UTC)
  • Ted Nelson's 1974 book Computer Lib: you can and must understand computers now devoted a chapter to the appropriate response consumers should give to explanations like this. That title was entitled "cybercrud", which Nelson defined as that computers prevented sensible design. Nelson's recommended response was "Why the hell not? You are the ones with the computers!" Nelson was mercilessly sarcastic to claims that some fault was necessary, because of computers. I'll be more polite. I'll merely suggest that "Polish language", or indeed any language, is an alternate version that should be included in the software that does the classification you describe, and that including such variants in the software is a more appropriate solution for your concern.
I have a news update for you. The wikipedia, which I loved, and which you too may love, is dying. Its Golden Age of growth is long over -- ending in 2007. There are graphs which show the sea-change -- a vast drop-off of those wikipedia volunteers who were interested in adding new content and keeping the existing content up to date.
The wikipedia's most dedicated content adders and content updaters are leaving, and not being replaced. While many observers regard this as a mystery, it is no mystery to me. What were seen at the time as innocuous policy changes, in 2007, changed the balance between anabolism and catabolism. Those policy changes gave the upper hand to the quality control volunteers devoted to pruning content.
Yes, I know that some deletionists would claim that making it more difficult to add new articles is not a problem, because they believe the misconception that 90 percent of newly created articles are "cruft". That 90 percent claim is wrong -- it is closer to 50 percent. The problem with driving away new content creators is that they are the same people with the skills and interest to keep existing content up to date.
Most of the articles I have worked on are not being kept up date. This is a very serious problem.
I am not suggesting that quality control volunteers stop trying to maintain the quality of new and existing wikipedia content. But, following those policy changes that gave the upper hand to catabolism, the subculture of those involved quality control has made it seem more and more okay for quality control volunteers to act in a high-handed fashion, to be intolerant, to be impatient, or even downright offensive to the well-intentioned volunteers whose interest is to add new content, or keep existing content up to date.
Take this incident. First, should I have had to go to your talk page, to ask you to explain why you removed that link? Shouldn't the edit summary provided when you authorized that edit have linked to a meaningful explanation?
Second, while I understand that you are enthusiastic about having the languages of non-english citations catalogued and analyzed, are those efforts really so important that you are going to throw away links that another good-faith contributor provided, in good faith? I am going to guess there was never any formal discussion as to whether links like those I provided should be kept or turned linkless, where those likely to disagree were invited to give their input. Wikipedia decisions are supposed to be made by informed consensus. A genuine consensus is not reached when those likely to disagree are discluded from the discussion.
@GoingBatty: voiced the opinion that Polish language didn't need a link. They implied its meaning was obvious. I have an essay where I try to explain that nothing is obvious. If you look at List of languages by number of native speakers you'll see that the Polish language is the 30th most common language -- after Yue language, Telugu language, Marathi language, Gujarati language, Jin language, Min language, Wu language. I listed them because I never heard of them, so a link to the articles on those languages, in a citation, would be useful to me. Did you know anything about these common languages?
Remember, a lot of the readers of the English language wikipedia are not native speakers of English, and won't know that "Polish" is what English speakers call Polska. Spanish, French, German, are not the names those who live in Spain, France and Germany call their languages. Very few languages are known, by their native speakers, by the name English speakers use. So, no, I will not accept GoingBatty's bald and unsupported assertion that this is an instance of overlinking.
Remember, a lot of our readers are Americans -- from an insular country notorious for a general lack of interest in world geography. I suspect that, for many American readers, even Tamil would be unfamiliar, and would benefit from a link to Tamil language.
We are all supposed to be trying to collaborate on this grand project. I think that requires tolerantly considering the views of those we disagree with. Geo Swan (talk) 14:38, 5 January 2016 (UTC)
I admit to having less than stellar communication skills. To chastise me for that failing serves no good purpose.
That particular edit summary is somewhat vague but then, so are most edit summaries. Yes, I would have you come to my talk page (or, better, to the article's talk page) if you don't understand or question the validity of an edit that I have made. We can talk about your concerns here (there).
I don't do anything with regard to the cs1|2 templates and their supporting Lua modules that I don't talk about at Help talk:Citation Style 1. Editors concerned with the functionality of the templates are invited to participate. No one is excluded. The decision to participate and so become informed is, of course, the responsibility of individual editors.
I do not read in Editor GoingBatty's comment any implication that the meaning of the (in Polish) annotation was obvious. Those are words that are not found in their comment.
Trappist the monk (talk) 17:17, 5 January 2016 (UTC)
@Geo Swan: I am glad that you subscribe to the philosophy that it is important to tolerantly consider the views of those you disagree with. I know that the language of Poland is Polish, and I do not know anything about the languages that you mentioned, except that I don't know how to read any of them. Wikipedia:Manual of Style/Linking states "Appropriate links provide instant pathways to locations within and outside the project that are likely to increase readers' understanding of the topic at hand." My view is simply that linking to Polish language (or Spanish or Dutch or Tamil or any other language) would not be likely to increase readers' understanding of HNLMS Friesland (P842).
I have also asked two unrelated questions on Talk:HNLMS Friesland (P842). Happy editing! GoingBatty (talk) 18:46, 5 January 2016 (UTC)

Reference errors on 5 January

Hello, I'm ReferenceBot. I have automatically detected that an edit performed by you may have introduced errors in referencing. It is as follows:

Please check this page and fix the errors highlighted. If you think this is a false positive, you can report it to my operator. Thanks, ReferenceBot (talk) 00:21, 6 January 2016 (UTC)

Missed a p

Hi, in this edit you removed one "p" but not the other. --Redrose64 (talk) 08:40, 7 January 2016 (UTC)

Thanks. Tweaked my script.
Trappist the monk (talk) 10:34, 7 January 2016 (UTC)
ovember? --Redrose64 (talk) 17:43, 7 January 2016 (UTC)
Fixed in the sense that it no longer detects the leading 'n' of November as 'n' meaning number. Doesn't do the repair that you did – not the purpose of this particular script; perhaps another to do that sort of fix some other time. Thanks
Trappist the monk (talk) 17:54, 7 January 2016 (UTC)

CS1 | CS2

  1. You removed about 46,000 bytes here meanwhile, so — is this sandbox version going to replace current module on English Wikipedia i.e. is it working properly so I can take it right now and localise to .sr from .en sandbox?
  2. What does "['DF'] = 'df'" stands for? Difference, maybe?
  3. I’ve already updated other modules on .sr (all except Module:Citation/CS1) applying these changes, these changes, these changes, these changes, these changes, and these changes.
  4. Can you tell me for particulary these six changes listed above — where I have to use mw.ustring library instead of string library so Cyrillic works as well as Latin?
To be more clear, I’m asking if I have to replace, for example, "format:match('%a+%-all')", "param_val:match(pattern)", "v:match("^б%.д%.%a?")", "year_string:match ('%d%d%d%d%a')", "date:match (source_patterns['dmy'])" or anything similar? What about "v:match("^б%.д%.%a?")" specifically? --Obsuser (talk) 05:48, 5 January 2016 (UTC)
1. I wouldn't recommend that. Were I you, I'd wait until after those changes have been applied to the live version. There is probably something broken that I haven't yet discovered.
2. |df= is 'date format'. Discussion about it is here
4. I'm not sure that I want to speculate on where the unicode string functions will be required. Your needs are different from those at enwiki. It matters because ustring functions require more time than the simpler string functions. For very large pages of cs1|2 templates, that is a problem because Lua is limited to 10 seconds when MediaWiki is rendering a page.
Trappist the monk (talk) 11:04, 5 January 2016 (UTC)
OK. I used ustring library several weeks ago for all date matching string (now ustring) functions. What happens if time for rendering is greater than 10 seconds? Hah, I assume references are going to show up properly in articles if we on .sr tranfer from templates to modules. I’ve already tested cite web for one pretty long article that calls template/modules many times, and it worked correctly. But if all pages using cs1|2... I don’t know.
Maybe I will revert my edits in which I updated .sr modules to .en sandbox versions because main .sr Module:Citation/CS1 (as you gave me advice) will remain synched/localised with .en live version, not sandbox (till you apply innovations here). --Obsuser (talk) 20:33, 5 January 2016 (UTC)
For what happens when Lua runs out of time, see List of Italian football transfers summer 2014. A lot of the time taken is used by has_invisible_chars(). You might want to disable that function entirely since Cyrillic requires the ustring library so the 'fix' applied in the enwiki sandbox won't be much help.
Trappist the monk (talk) 21:07, 5 January 2016 (UTC)

cs1|2: 9–10 January

I don’t know why is validation not working if I enter month abbreviation such as "феб."? I defined it in short months list of acceptable forms, but I suppose punctuation must not be used there. Can you help me to enable short forms with dot?

One more problem is part that checks if two entered months are not of same form (one is long, one is short). Here it is done simply because only "May" has three letters and is same in both forms. On .sr we have "март", "април", "јуни", "јули" (all long forms) that now have same length as all short forms with three letters + dot (except "мај", "јун", "јул" which are same in both long and short forms; to be clear: "јун", "јул" are both long and short forms, and have additional long forms: "јуни", "јули"; because of that, they are never abbreviated "јун.", "јул."). Maybe it’s a bit confusing but I hope you can help. --Obsuser (talk) 23:28, 9 January 2016 (UTC)

Yeah, we don't do dots so if dots are required for abbreviated months, then I think that you will need to have duplicate rules for short months and long months in sr:Модул:Citation/CS1/Date_validation at check_date(). This example is day-initial: day month year for short months (changes in red):
elseif mw.ustring.match(date_string, "^[1-9]%d?%. +%a%a%a%. +[1-9]%d%d%d%a?$") then
day, month, anchor_year, year=mw.ustring.match(date_string, "(%d%d*)%.%s*(%a%a%a)%.%s*((%d%d%d%d)%a?)");
month = get_month_number (month);
if 0 == month then return false; end
For each format that can have short months copy the long month version and add the %. in the appropriate places
In is_valid_month_range_style(): because Cyrillic is not a Latin character set, these are a problem:
local len1 = month1:len(); – sets len1 to 6 for 'мај', 'јун', or 'јул'; 3 for 'maj', 'jun', or 'jul'
local len2 = month2:len();
So, change those two lines to:
local len1 = mw.ustring.len (month1); – sets len1 to 3 for 'мај', 'јун', or 'јул', and for 'maj', 'jun', or 'jul'
local len2 = mw.ustring.len (month2);
A handy tool is at your finger-tips. The debug console at the bottom of the module's edit page. One at a time, enter these lines then press return:
=string.len ('мај')
=mw.ustring.len ('мај')
=mw.ustring.match("9. феб. 2016", "^[1-9]%d?%. +%a%a%a%. +[1-9]%d%d%d%a?$")
Trappist the monk (talk) 00:39, 10 January 2016 (UTC)

Is this going to enable "јануар." maybe (long forms with trailing dot, and seasons with trailing dot too)? If it will enable dot in these cases, then it’s not a solution. --Obsuser (talk) 01:46, 10 January 2016 (UTC)

Point. I've tweaked the fixes above
=mw.ustring.match("9. феб. 2016", "^[1-9]%d?%. +%a%a%a%. +[1-9]%d%d%d%a?$") – returns the date
=mw.ustring.match("9. јануар. 2016", "^[1-9]%d?%. +%a%a%a%. +[1-9]%d%d%d%a?$") – returns nil
Trappist the monk (talk) 03:19, 10 January 2016 (UTC)

I had a great time (in both senses: good and bad) with those CS1|2 modules even though I’m a Lua begginer. I fixed now those but had to write a few more lines to exclude "мај.", "јун.", "јул.", "maj.", "jun.", "jul." which have three letters BUT should not have a trailing dot. --Obsuser (talk) 06:24, 10 January 2016 (UTC)

There must be a better way than this:
elseif mw.ustring.match(date_string, "^[1-9]%d?%. +%a%a%a%. +[1-9]%d%d%d%a?$") and not mw.ustring.match(date_string, "^[1-9]%d?%. +мај%. +[1-9]%d%d%d%a?$") and not mw.ustring.match(date_string, "^[1-9]%d?%. +ју%a%. +[1-9]%d%d%d%a?$") and not mw.ustring.match(date_string, "^[1-9]%d?%. +maj%. +[1-9]%d%d%d%a?$") and not mw.ustring.match(date_string, "^[1-9]%d?%. +ju%a%. +[1-9]%d%d%d%a?$") then						-- day-initial: day month year
		day, month, anchor_year, year=mw.ustring.match(date_string, "(%d%d*)%.%s*(%a%a%a)%.%s*((%d%d%d%d)%a?)");
		month = get_month_number (month);
		if 0 == month then return false; end												-- return false if month text isn't one of the twelve months
The purpose of that section of the code is to quickly decide that the date does or does not have a valid format. Because you have some short months that do not use a dot perhaps a new function:
--[[--------------------------< G E T _ D O T _ M O N T H _ N U M B E R >--------------------------------------

returns a number according to the short month name in a date: 1 for јан or jan, etc. Capitalization and spelling must
be correct.  This function is for short months that must be followed with a dot.  The short months мај, јун, јул, maj,
jun, and jul are omitted here because these month names are not followed with a dot.

If not a valid month, returns 0.

]]

local function get_dot_month_number (month)
local dot_months = {['јан']=1, ['феб']=2, ['мар']=3, ['апр']=4, ['авг']=8, ['сеп']=9, ['окт']=10, ['нов']=11, ['дец']=12, ['jan']=1, ['feb']=2, ['mar']=3, ['apr']=4, ['avg']=8, ['sep']=9, ['okt']=10, ['nov']=11, ['dec']=12};
local temp;
	temp=dot_months[month];
	if temp then return temp; end				-- if month is dotted short-form name
	return 0;									-- misspelled, improper case, or not a month name
end
then
elseif mw.ustring.match(date_string, "^[1-9]%d?%. +%a%a%a%. +[1-9]%d%d%d%a?$") then
	day, month, anchor_year, year=mw.ustring.match(date_string, "(%d%d*)%.%s*(%a%a%a)%.%s*((%d%d%d%d)%a?)");
	month = get_dot_month_number (month);
	if 0 == month then return false; end
For now, let us solve one problem at a time. Comment out everything in is_valid_month_range_style() except return true;. We'll come back to that when this dots – no dots issue is settled.
Trappist the monk (talk) 11:43, 10 January 2016 (UTC)
  1. Hmm, but if I do this I will make module completely different from the English version, what will make later updates harder. Is it a great deal if I use those ... and not mw.ustring.match() and not ...? I know it is slowing it down but this way I can be sure what is being done there (around 8 times I used this "illegal" solution).
  2. On the other side, if I apply these changes you proposed above, I still don’t know what to do later (obviously, May is here kept as both long and short form, so those famous six of mine — мај, јун, јул, maj, jun, and jul — will have to be added). I can solve one problem at a time but not any other after that, haha, unless you continue to write code for me what’s maybe too much impolite. If you want I can try your proposal but need to know what later so module is not left unfinished. I have tests for dates here, and if decide to change module for date validation now — I have to be sure what to do after.
  3. By the way — what is the reason for disabling "Spring–Winter 2014" or "Summer–Winter 2014" here on .en? Maybe some events could happen in those ranges too. /I think I’ve found a mistake: Maybe you should add on .en  or (23 == range_start_number and 21 == range_end_number) or (22 == range_start_number and 21 == range_end_number) then to if (24 == range_start_number and 21 == range_end_number)/
    In addition, "Winter–Spring 2013", "Winter–Summer 2013" and "Winter–Autumn" or "Winter–Fall" are not disabled here on .en? Shouldn’t they be disabled? To add  and 21 ~= range_start_number to if range_start_number < range_end_number?
  4. And why is sometimes date form accepted for the |date= but not for the |accessdate= (e.g. |date=Winter–Spring 2013 is right now accepted but |accessdate=Winter–Spring 2013 is not)?
  5. Do you know why is "2004–05" not working (i.e. yyyy/{0,12}y is not working)? It’s said in a comment "don't allow 2003-05 which might be May 2003" even though it might not because in my opinion only "2004-05" might be May 2003. If there was a discussion I haven’t seen then ignore this. What do you think: should I disable 2004—05 too (with emdash for .sr, not endash as it is here)? I think it cannot be confused anyhow with "2004-05" so there’s no need for disabling it, even here where endash is being used. --Obsuser (talk) 18:41, 10 January 2016 (UTC)
Your module is already completely different from ours. Because you have both Cyrillic and Latin characters, because you have different date formats, your version of the module is WILL be different from the enwiki version. I don't think that there is any way around that nor do I think it's bad.
To me, the repeated ... and not mw.ustring.match() and not ... is a wall of code that is not easily understood. You know what it is supposed to do but editors who follow after you, may be as confused as I am. We can do small tasks over and over again by creating functions to do those tasks. The get_dot_month_number() function is intended to answer the problem that you solved with the ... and not mw.ustring.match() and not ... and to do it in the same way that we determine if long-month date formats are valid. I think that this helps down the road by making maintenance easier.
You wanted to learn Lua programming right? Here's your chance. I am quite willing to help. I don't necessarily want to do all of the work. If you want, I'll add this change so that we can see if it works and you can make the same fix to the other date patterns in check_date(). Once we can properly detect correctly formatted long-, short-, and short-with-dot date patterns we can move on to fixing is_valid_month_range_style().
Thanks for the code snippet. is_valid_month_season_range() could probably use some work. Generally, season ranges for publication dates are sequential. In the real world, I don't think I've ever seen a 'Summer–Winter 2014' date; for a periodical publication that sort of date doesn't make a lot of sense. Perhaps in future I'll tighten up the code so that season date are not allowed to skip a season (Winter–Spring but not Winter–Summer).
Access dates are limited to the period of 2001-01-15 to today+2 days (birth date of Wikipedia and in some places in the world it is already tomorrow when Wikipedia time is UTC. I that the problem? Is your |access-date= is out of bounds? If not, example?
At enwiki, 2003-05 is discouraged for the reasons you stated. See WP:DATESNO. Editors at srwiki get to decide which date formats are good and which are bad; that is not decision I should have any say in.
Trappist the monk (talk) 19:30, 10 January 2016 (UTC)
OK, it is different but now I will make it completely different...
Why it is not easily understood as it’s simply excluding those cases from the first match?
OK, I will apply get_dot_month_number().
I will apply get_dot_month_number() and delete all of the ... and not mw.ustring.match() and not ... to see where do we get. If correctly formatted long-, short-, and short-with-dot date patterns are detected, then is_valid_month_range_style() will have to be fixed.
Not only for publications but camps, conferences or something similar that could take longer period of time. Winter–Spring 2013 doesn’t make quite sense.
OK, I will test more examples interchanging |accessdate= and |date= to see if there’s something wrong taking in account "2001-01-15 to today+2 days"...
OK, I understand. --Obsuser (talk) 19:50, 10 January 2016 (UTC)
It seems good. I’ve just applied it... --Obsuser (talk) 20:05, 10 January 2016 (UTC)
If you are talking about access-dates at like this and this, then the problem is the format. |access-date=2003-6-02 should be |access-date=2003-06-02 and |access-date=2003-6-2 should also be |access-date=2003-06-02. At enwiki this format follows the same rules as ISO 8601 so 4 digits hyphen 2 digits hyphen 2 digits always.
At enwiki we cite publications so things like camps and conferences cannot be cited. If there is a publication that comes out of the camp or conference, then we can cite that and |date= gets the publication date of the publication, not of the camp or conference. But, again, the rules for what can be cited is entirely up to the editors at srwiki.
Since spring follows winter as the earth makes it yearly travel around the sun, I don't see how you can conclude that Winter–Spring 2013 doesn’t make quite sense.
Trappist the monk (talk) 20:37, 10 January 2016 (UTC)
Actually, no. I am talking about using 2004–05 instead of 2004–2005. Here it is not possible because as it’s said in the module 2004–05 could be confused with ISO 2004-05. I know that 2003-6-02 and 2003-06-2 and 2003-6-2 are not allowed neither here nor .sr Wiki. However, if it decided here on English that it COULD be confused, I’m not willing to force anything to change — just saying what I think...
OK.
But it is not both Winter and Spring of 2013; it is either Winter 2013 – Spring 2014 or Winter 2012 – Spring 2013 (if we are talking about Earth’s northern hemisphere). So it doesn’t make sense because it is ambiguous.
What to do now with is_valid_month_range_style()? --Obsuser (talk) 20:51, 10 January 2016 (UTC)
Do јун, јул, jun, and jul all belong in long_months? Are they not short names?
What about the dotted short names? Do the names in dot_months also belong in short_months? In other words, is a dot ALWAYS required for short month names except for your famous 6?
We might move long_months and short_months out of get_month_number() and dot_months out of get_dot_month_number(). Then something like might work:
if long_months[month1] and long_months[month2] then
	return true;					-- both are long month names
elseif short_months[month1] and short_months[month2] then
	return true;					-- both are short month names
elseif dot_months[month1] and short_months[month2] then
	return true;					-- both are short month names
elseif short_months[month1] and dot_months[month2] then
	return true;					-- both are short month names
elseif dot_months[month1] and dot_months[month2] then
	return true;					-- both are short month names
else
	return false;					-- one short, one long month name
end
The above presumes that
-- long names of varying lengths; not shortened versions
local long_months = {['јануар']=1, ['фебруар']=2, ['март']=3, ['април']=4, ['мај']=5, ['јуни']=6, ['јули']=7, ['август']=8, ['септембар']=9, ['октобар']=10, ['новембар']=11, ['децембар']=12, ['januar']=1, ['februar']=2, ['mart']=3, ['april']=4, ['maj']=5, ['juni']=6, ['juli']=7, ['avgust']=8, ['septembar']=9, ['oktobar']=10, ['novembar']=11, ['decembar']=12};

-- short names all three characters; these do not use terminal period
local short_months = {['мај']=5, ['јун']=6, ['јул']=7, ['maj']=5, ['jun']=6, ['jul']=7};

-- short names all three characters; these require terminal period
local dot_months = {['јан']=1, ['феб']=2, ['мар']=3, ['апр']=4, ['авг']=8, ['сеп']=9, ['окт']=10, ['нов']=11, ['дец']=12, ['jan']=1, ['feb']=2, ['mar']=3, ['apr']=4, ['avg']=8, ['sep']=9, ['okt']=10, ['nov']=11, ['dec']=12};
Meteorological winter is December–February; astronomical winter is winter solstice (21–22 December) to vernal equinox (21–22 March) so I can imagine periodical publications dating an issue Winter–Spring YYYY to roughly equate to January–March.
Trappist the monk (talk) 22:24, 10 January 2016 (UTC)

cs1|2: 11–12 January

links:

sr:Модул:Citation/CS1/Date_validation
test page

Trappist the monk (talk) 12:06, 11 January 2016 (UTC)

  • There are only two ways to write months: long form, and short form.
  1. Long form: Months мај, јун, јул, maj, jun, jul + јуни, јули, juni, juli (besides other 9+9 i.e. 18 ones) all belong in long_months. That’s resolved.
  2. Short form: short_months must all have dot (they’re all the dotted short names) except famous 6 (or 10 if you count јуни, јули, juni, juli which are variants for јун, јул, jun, jul, respectively). We don’t use "мај.", "јун.", "јул.", "maj.", "jun.", "jul." because there are already existing long forms in that shape ("мај", "јун", "јул", "maj", "jun", "jul"), and if we abbreviate "јуни", "јули", "juni", "juli" as "јун.", "јул.", "jun.", "jul." we did it illegally because there are already "јун", "јул", "jun", "jul" as long forms that cannot be abbreviated (and are used in Serbian much much more often than јуни, јули, juni, juli).
So, yes: dot is ALWAYS required for short month names except for my famous 6 with extra 4 mentioned above (famous 10 in total).
  • What you’have presumed is almost 100% correct, and code above should be actually 100% correct. Taking into account my two definitions above for long form and short form it’s like this, I suppose:
-- long names of varying lengths; not shortened versions
local long_months = {['јануар']=1, ['фебруар']=2, ['март']=3, ['април']=4, ['мај']=5, ['јун']=6, ['јуни']=6, ['јул']=7, ['јули']=7, ['август']=8, ['септембар']=9, ['октобар']=10, ['новембар']=11, ['децембар']=12, ['januar']=1, ['februar']=2, ['mart']=3, ['april']=4, ['maj']=5, ['jun']=6, ['juni']=6, ['jul']=7, ['juli']=7, ['avgust']=8, ['septembar']=9, ['oktobar']=10, ['novembar']=11, ['decembar']=12};

-- short names all three characters; these do not use terminal period
local short_months = {['мај']=5, ['јун']=6, ['јул']=7, ['maj']=5, ['jun']=6, ['jul']=7};

-- short names all three characters; these require terminal period
local dot_months = {['јан']=1, ['феб']=2, ['мар']=3, ['апр']=4, ['авг']=8, ['сеп']=9, ['окт']=10, ['нов']=11, ['дец']=12, ['jan']=1, ['feb']=2, ['mar']=3, ['apr']=4, ['avg']=8, ['sep']=9, ['okt']=10, ['nov']=11, ['dec']=12};

Only changes are extra , ['јун']=6 and , ['јул']=7 for local long_months, and is_valid_month_range_style() should do the job perfectly.

  • It can be equaled to December–June 2014 which might be December 2013 – June 2014 or December 2014 – June 2015. Winter–Spring 2014 is still ambiguos in my opinion, and dates for solstices and eqinoxes don’t change that by values they have at the moment (which are going to change in the very far future because Earth does not travel along the same path every year; it changes for sure but for 10±I don’t know really meters). At that time, we won’t be on modules I hope. --Obsuser (talk) 04:54, 11 January 2016 (UTC)

Maybe, I should think of disabling "short names all three characters; these do not use terminal period" i.e. short_months completely in ranges because "апр.—мај 2005" or "апр./мај 2005" (or "јул—авг. 2005" or "јул/авг. 2005") doesn’t make quite make sense (mixing of short dotted months and short non-dotted months in ranges (2nd and 3rd elseifs) should be disabled). --Obsuser (talk) 05:10, 11 January 2016 (UTC)

Can I wrap it like this? Maybe you expected this question to arise... --Obsuser (talk) 05:29, 11 January 2016 (UTC)

local function get_month_number (month)
local function get_dot_month_number (month)

-- long names of varying lengths; not shortened versions
local long_months = {['јануар']=1, ['фебруар']=2, ['март']=3, ['април']=4, ['мај']=5, ['јун']=6, ['јуни']=6, ['јул']=7, ['јули']=7, ['август']=8, ['септембар']=9, ['октобар']=10, ['новембар']=11, ['децембар']=12, ['januar']=1, ['februar']=2, ['mart']=3, ['april']=4, ['maj']=5, ['jun']=6, ['juni']=6, ['jul']=7, ['juli']=7, ['avgust']=8, ['septembar']=9, ['oktobar']=10, ['novembar']=11, ['decembar']=12};

-- short names all three characters; these do not use terminal period
local short_months = {['мај']=5, ['јун']=6, ['јул']=7, ['maj']=5, ['jun']=6, ['jul']=7};

-- short names all three characters; these require terminal period
local dot_months = {['јан']=1, ['феб']=2, ['мар']=3, ['апр']=4, ['авг']=8, ['сеп']=9, ['окт']=10, ['нов']=11, ['дец']=12, ['jan']=1, ['feb']=2, ['mar']=3, ['apr']=4, ['avg']=8, ['sep']=9, ['okt']=10, ['nov']=11, ['dec']=12};

local temp;
	temp=long_months[month];
	if temp then return temp; end				-- if month is the long-form name
	temp=short_months[month];
	if temp then return temp; end				-- if month is non-dotted short-form name
        temp=dot_months[month];
        if temp then return temp; end                           -- if month is dotted short-form name
	return 0;									-- misspelled, improper case, or not a month name
end
end

And do it this way for is_valid_month_range_style? --Obsuser (talk) 05:38, 11 January 2016 (UTC)

local function is_valid_month_range_style (month1, month2)
--local len1 = mw.ustring.len(month1);
--local len2 = mw.ustring.len(month2);
	if long_months[month1] and long_months[month2] then
		return true;															-- both are long month names
	elseif short_months[month1] and short_months[month2] then
		return true;															-- both are short month names
	elseif dot_months[month1] and short_months[month2] then
		return false;															-- one dotted short, one non-dotted short month name
	elseif short_months[month1] and dot_months[month2] then
		return false;															-- one non-dotted short, one dotted short month name
	elseif dot_months[month1] and dot_months[month2] then
		return true;															-- both are dotted short month names
	else
		return false;															-- one short, one long month name
	end
end

I’ve unwrapped two functions to be sure and still get sometimes error: Lua error in Module:Citation/CS1/Date_validation at line 197: attempt to index global 'long_months' (a nil value). The line 197 is if long_months[month1] and long_months[month2] then. --Obsuser (talk) 05:54, 11 January 2016 (UTC)

I have moved long_months, short_months, and dot_months outside of get_month_number() and get_dot_month_number(). The error message occurred because functions, in this case is_valid_month_range_style(), can't 'see' tables and named variables that are inside other functions.
Trappist the monk (talk) 12:06, 11 January 2016 (UTC)
I did a bit of cleanup in check_dates(). It might be a good idea to remove all of the code that has been commented out. If we need it it is available in the history.
Trappist the monk (talk) 12:45, 11 January 2016 (UTC)

I think that I have determined that is_valid_accessdate() fails proper access-dates because lang.formatDate() doesn't understand Serbian. It uses the MediaWiki #time: parser function which also doesn't understand Serbian. But, interestingly enough, it will convert English to Serbian:

{{#time:d F Y|11 January 2016|sr}} → 11 јануар 2016

But, try it the other way:

{{#time:d F Y|11 јануар 2016|en}}Error: Invalid time.
{{#time:d F Y|11. јануар 2016|en}}Error: Invalid time.

So, that is leading me to think that we will need to convert sr dates to YMD format for is_valid_accessdate() to work.

Trappist the monk (talk) 19:13, 11 January 2016 (UTC)

OK, just OK; I don’t even understand everything you said but never mind. I checked module and you spent some quality time editing it. Thank you. I will now check validation on my test page to see if everything is OK. Even if something is wrong, it should be easy to handle now (if not, I might be boring you again). One more time, thank you for real help. --Obsuser (talk) 05:55, 12 January 2016 (UTC)

cs1|2: 14–16 January

links:

sr:Модул:Citation/CS1/Date_validation
test page 1 – date
test page 2 – accessdate

--Obsuser (talk) 20:34, 14 January 2016 (UTC)

Meanwhile, I did these changes:

  1. disabled "2/4. јануар" etc. because / should separate only consecutive items 1
  2. fixed some spacing 2
  3. enabled "2. јан. — 3. сеп. 2003" etc. 3
  4. disabled long months of length three to be followed by dot. 4
  5. disabled some "миxeд сцripтs" and fixed no date abbreviations (I was not sure if I could continue to use v:match() or v:match() or v:match() or ...?; so, I separated it by else and used mw.ustring.match(v, instead) 5
  6. introduced new function "is_valid_season_range_style()" to check whether seasons are of the same style: must be both either Cyrillic ekavian or Cyrillic ijekavian or Latin ekavian or Latin ijekavian 6
  7. moved season_cyrillic_ekavian_list, season_latin_ekavian_list, season_cyrillic_ijekavian_list, season_latin_ijekavian_list; name_cyrillic_list and name_latin_list out of get_season_number(); is_proper_name() respectively /divided by ';'/ what I’ve seen you did previously when same error as the one it showed up again now had showed up previously 7
  8. did other other fixes 8
  9. updated test page 1 and test page 2 so crosses and ticks are not just for fun 9, 10

Now, could you help me with these:

  1. Is if not a or b equal to if (not a) or b, and is if not a or not b equal to if (not a) or not b?
  1. What would you propose as a single function that will encompass all those is_valid functions such that Cyrillic and Latin, and ekavian and ijekavian cannot be mixed neither in two or more parameters nor anywhere else?
Right now, I’m sure that months cannot be mixed among each other, as same as seasons cannot be mixed among each other, as same as proper names cannot be mixed among each other. Did I miss any "mix" that remained possible and should not be?
  1. Is there any bot on English Wikipedia that transforms incorrect date formats into correct ones? I’m asking this because on .sr we have many articles that use English month names (and thus, day numbers are without a trailing dot etc.) what should be fixed 24/7 whenever such example is found.
Do you maybe know if bot can even be made to do this? This is questionable because I asked many bot users on .sr to begin with this process before introducing citation modules in replace of templates but they think it’s not possible to be done (i.e. transforming of such complicated date patterns is not possible / is very hard to be done by bot).
Is it possible for bot to use Lua patterns at all, then discover mismatch, and then transform it to correct date form using Lua patterns again? This would be very simple if bots can be used this way, in combination with Lua. --Obsuser (talk) 20:34, 14 January 2016 (UTC)
  1. Could you flick through the module and maybe discover some errors I’ve made?
  1. If all this what I’m doing is not acceptable for you (asking for help to this extent; it’s probably not practised here on .en), warn me so I can know simply to stop. I’m doing this because others simply wanted to turn of date validation (maybe because they didn’t know how to localise it, or much more likely because they didn’t want to localise it). --Obsuser (talk) 20:34, 14 January 2016 (UTC)
  1. Lua operator precedence (see also logical operators) puts not ahead of or so
    if not a or b is the same as if (not a) or b
    if not a or not b is the same as if (not a) or not b
  2. I think I know how this might be done; I'll think some more on it
  3. Editor GoingBatty has an AWB bot (task 25) that periodically cleans up a limited set of malformed dates – even here at enwiki where we haven't got as many date formats as srwiki, that bot can't clear Category:CS1 errors: dates. This is because editors are boundlessly creative in the ways that they mangle dates and break the rules. This particular bot uses regular expressions which are similar to Lua patterns. Task 25 uses simple find and replace. If you have the skill, you can write code in c# to enhance the simple find and replace functionality.
  4. yes
Trappist the monk (talk) 22:58, 14 January 2016 (UTC)
  1. OK, just asked because you added brackets in some examples, in some didn’t... Not important now when I know.
  2. OK.
  3. Is it maybe possible to use our simple Lua metadata i.e. / or ISO date format, and just transform it into uniform date format by bot which will be used in all articles (e.g. numerical "(d)d. (m)m. yyyy")? But still, if month or season is misspelled (not recognized, thus ISO not [properly] formed), we could not manage such examples. Why is it not possible to empty Category:CS1 errors: dates here? There are about 30,000 pages there which when compared to about 5,000,000 others give 0.6%? Or maybe it would be better to talk with GoingBatty about this one...
  4. OK. If only that was wrong, it’s good.
  5. OK. Thanks. --Obsuser (talk) 03:31, 15 January 2016 (UTC)
@Obsuser: It's possible to empty the category, but not completely by bot. For example:
I'll be rerunning the bot soon. Your help in doing the manual cleanup would be appreciated. Thanks! GoingBatty (talk) 04:55, 15 January 2016 (UTC)
Hahh, it’s good when compared to same .sr deviations which are not understandable by any means. Manual cleanup is a bit questionable if we’re talking about thousands of pages, but of course it’s welcome.
Is it possible to "copy" that bot so it fixes some mess on .sr? Code would have to be changed so it fulfills sr:Модул:Citation/CS1/Date_validation needs. If you explain me few examples thoroughly, I can prepare that immense list of rules that will be even bigger for .sr because we have around 30 possible date formats defined in module.
If you can help with enabling/running this bot on .sr I would appreciate that. I just need to know what to do and how to prepare list of rules, because I really don’t know the AWB principles and the other bot-related stuff. --Obsuser (talk) 05:11, 15 January 2016 (UTC)

@Obsuser: You may copy the code as use it as you see fit on .sr. As Trappist stated, these are just dozens of find and replace rules that have built up over time with the following format:

  • ArticleText = Regex.Replace(ArticleText, @"find this text", "replace this text");

Since these rules are specifically looking for citation templates, most of the rules look something like this:

  • ArticleText = Regex.Replace(ArticleText, @"(?i){{(\s*[Cc]it(?:e|ation))([^}]+)(\s*\|\s*(?:archive-?|access|publication-?)?date\s*=\s*) find (\s*[\|}<])", "{{$1$2$3 replace $4");

Breaking that down a bit:

  • (?i) means that the rule isn't case sensitive.
  • {{ is the beginning of the template
  • \s* means zero or more spaces (which I'll just refer to as "spaces" below)
  • (\s*[Cc]it(?:e|ation)) means look for spaces, followed by "Cite" or "Citation". Whatever it finds is replaced exactly via $1
  • ([^}]+) means to look for one or more characters that are not end braces, such as other parameters. Whatever it finds is replaced exactly via $2
  • (\s*\|\s*(?:archive-?|access-?|publication-?)?date\s*=\s*) means to look for spaces, a pipe, spaces and then a date parameter (archivedate, archive-date, accessdate, access-date, publicationdate, publication-date, date), followed by spaces, an equal sign, and more spaces. Whatever it finds is replaces exactly via $3
  • Next comes the important part of each of the rules - the value of the parameter. For example, I could find january and replace it with January.
  • Last is (\s*[\|}<]), which means to look for spaces followed by something to indicate the end of the parameter value: a pipe or an end brace or a less than sign. Whatever it finds is replaces exactly via $4

Hope this helps! GoingBatty (talk) 17:04, 16 January 2016 (UTC)

Oh, thank you! Just some questions to be sure:
  1. If (?i) means no case sensitive, was it necessary to use (\s*[Cc]it(?:e|ation)), or only either (\s*cit(?:e|ation)) or (\s*Cit(?:e|ation))?
  2. What are $1, $2, $3, $4, $5 etc. in "{{$1$2$3 $4 $5" or "{{$1$2$3 replace $4" i.e. where are $1, $2 etc. defined to be used as replacements? Or only replacement is my "replace" in ...=\s*) find (\s*[\|}<])", "{{$1$2$3 replace $4"); and those $1, $2 etc. are just to return everything else as it is and/or to locate our text to be found?
  3. Do I enter instead of "find" and "replace" my text to be found and its replacement? It’s maybe stupid question but just to be sure... Are spaces important here: ... =\s*) find (\s*[\|}<])", ...? Proably they’re...
  4. Why to look for <? Maybe because of <!--......--> (but then we would’ve looked for <!--). --Obsuser (talk) 18:01, 16 January 2016 (UTC)
  1. Yeah, [Cc] etc not required, in that case.
  2. everything inside unescaped () is a 'capture'. In the 'replace' string captures are placed with $1, ... If a find string is (c)(b)(a), it has three captures, enumerated left to right. If the replace string is $3$2$1 then the result is 'abc'.
  3. You must construct a rule that finds, dates in this case, inside cs1|2 templates that are part of date parameters. Those dates are broken so looking for |date=12 janvary 1993 the rule might be:
    ArticleText = Regex.Replace(ArticleText, @"(?i){{(\s*[Cc]it(?:e|ation))([^}]+)(\s*\|\s*(?:archive-?|access|publication-?)?date\s*=\s*\d{1,2}\s*)janvary(\s*\d{4}\s*[\|}<])", "{{$1$2$3 January $4");
    which can be simplified to:
    ArticleText = Regex.Replace(ArticleText, @"(?i)(\{\{\s*cit(?:e|ation)[^\}]+\s*\|\s*(?:archive\-?|access\-?|publication\-?)?date\s*=\s*\d{1,2})\s*janvary\s*(\d{4}\s*[\|\}\<])", "$1 January $2");
  4. Don't look for anything more than you need to look for. If you find any of the set of characters |}< after the year portion of your target date, stop looking.
  5. I would add this other suggestion: even though it 'works' best practice is to properly escape all of the regex special characters when they appear in a search string; see Wikipedia:AutoWikiBrowser/Regular expression.
Trappist the monk (talk) 18:35, 16 January 2016 (UTC)
  1. You mean \{\{ instead of {{?
  2. But \{ must be used however (not {) or it must not? How is ([^}]+) acceptable (I suppose combination of special i.e. metacharacters)?
  3. In that table you gave me, "Special Characters" are/is only newline \n which might be included in rules because some citations begin in one row and are broken out in as many rows as template for citation uses, probably when it is big or has very long titles, links etc. Is this special character included in ([^\}]+) (I suppose it is because it’s everything except } till match for | and date parameter)? --Obsuser (talk) 19:19, 16 January 2016 (UTC)
  1. yes
  2. if you are looking for characters that have special regex meanings (the metacharacters in the table at Wikipedia:AutoWikiBrowser/Regular expression), best practice is to escape them so that you are sure that they are not modifying your search. For example if you forget to escape () you will capture their content – something you did not want.
  3. newlines are a pain; if you can avoid writing rules that rely on newlines, do. Yes, ([^\}]+) is capture one or more characters until you find a closing curly brace. I use the regex [^\|\}] (quantified with *, or +) a lot to skip over or capture everything between what I'm interested in and the end of the current parameter.
AWB has a regex tester. It is very handy in helping get a regex right. Also, multiple simple rules are easier to write and maintain than are a single complex rule.
Trappist the monk (talk) 19:53, 16 January 2016 (UTC)
The rules have evolved over time, and may not be very efficient. I probably used [Cc] before I understood what (?i) meant. Thanks! GoingBatty (talk) 21:19, 16 January 2016 (UTC)
@GoingBatty: So, at the end, should I go for making/modifying current rules that are here (this is possible only if you can "copy" your AWB task #25 to .sr so it starts correcting mistakes [hope you don’t have to go article by article but choose all articles in the Category:CS1 errors: dates and start automated bot-like process] there because I don’t (know how to) use AWB) or not? --Obsuser (talk) 22:28, 16 January 2016 (UTC)
@Obsuser: This bot task only looks at articles in Category:CS1 errors: dates. GoingBatty (talk) 23:08, 16 January 2016 (UTC)
@GoingBatty: Yes. --Obsuser (talk) 23:11, 16 January 2016 (UTC)

cs1|2: 15–16 January

links:

sr:Модул:Citation/CS1/Date_validation
test page 1 – date
test page 2 – accessdate

Trappist the monk (talk) 10:47, 15 January 2016 (UTC)

Just collecting information; nothing to report

01. year-initial numerical "year month day" format {ISO yyyy-mm-dd}
02. day-initial numerical "day month year" format {[d]d. [m]m. yyyy}
03. day-initial: "day month year" {(d)d. month yyyy}
04. day-initial: "day dot-month year" {(d)d. mon. yyyy}
05. day-range-initial: "day–day month year"; days are separated by emdash {(d)d—(d)d. month yyyy}
06. day-range-initial: "day–day month year"; days are separated by '/' {(d)d/(d)d. month yyyy}
07. day-range-initial: "day–day dot-month year"; days are separated by emdash {(d)d—(d)d. mon. yyyy}
08. day-range-initial: "day–day dot-month year"; days are separated by '/' {(d)d/(d)d. mon. yyyy}
09. day initial day-month-range: "day month - day month year"; uses spaced emdash {(d)d. month — (d)d. month yyyy}
10. day initial day-month-range: "day dot-month - day dot-month year"; uses spaced emdash {(d)d. mon. — (d)d. mon. yyyy}
11. day initial day-month-year-range: "day month year - day month year"; uses spaced emdash {(d)d. month yyyy — (d)d. month yyyy}
12. day initial day-month-year-range: "day dot-month year - day dot-month year"; uses spaced emdash {(d)d. mon. yyyy — (d)d. mon. yyyy}
13. special case "Summer/Winter year-year" (YYYY-YY); years separated by unspaced emdash {лето\зима\leto\zima\љето\ljeto yyyy—yy}
14. special case "Summer/Winter year-year" (YYYY-YY); years separated by '/' {лето\зима\leto\zima\љето\ljeto yyyy/yy}
15. special case "Summer/Winter year-year" (YYYY-YYYY); years separated by unspaced emdash {лето\зима\leto\zima\љето\ljeto yyyy—yyyy}
16. special case "Summer/Winter year-year" (YYYY-YYYY); years separated by '/' {лето\зима\leto\zima\љето\ljeto yyyy/yyyy}
17. "month/season year - month/season year"; separated by spaced emdash {month\season yyyy — month\season yyyy}
18. "dot-month year - dot-month year"; separated by spaced emdash {mon. yyyy — mon. yyyy}
19. month-/season-range year: "month/season - month/season year"; months separated by unspaced emdash {month\season—month\season yyyy}
20. dot-month-range year: "dot-month - dot-month year"; dot-months separated by unspaced emdash {mon.—mon. yyyy}
21. month-/season-range year: "month/season - month/season year"; months separated by '/' {month\season/month\season yyyy}
22. dot-month-range year: "dot-month - dot-month year"; dot-months separated by '/' {mon./mon. yyyy}
23. "month/season year" or "proper-name year" {month\season yyyy}
24. "dot-month year" {mon. yyyy}
25. Year range: "YYY-YYY" or "YYY-YYYY" or "YYYY–YYYY"; separated by unspaced emdash; 100-9999 interval {(y)yyy—(y)yyy}
26. Year range: "YYY-YYY" or "YYY-YYYY" or "YYYY–YYYY"; separated by '/'; 100-9999 interval {(y)yyy/(y)yyy}
27. Year range: "YYYY–YY"; separated by unspaced emdash {yyyy—yy}
28. Year range: "YYYY–YY"; separated by '/' {yyyy/yy}
29. "year"; here accept either "YYY" or "YYYY" {(y)yyy}

But I do have a question. At the top of check_date() is this:

!!! CAUTION !!!
Only allowed range separator is emdash.

But, for example, compare items 25 and 26 above. The caution is incorrect?

If the caution is incorrect, is it necessary to have separate rules for the different separators? If not, then they might be combined. This rule:

elseif mw.ustring.match(date_string, "^[1-9]%d%d%d?—[1-9]%d%d%d?%a?$") then --25. Year range: ...

can be rewritten:

elseif mw.ustring.match(date_string, "^[1-9]%d%d%d?[—/][1-9]%d%d%d?%a?$") then --25. Year range: ...

The [—/] matches either emdash or slash but not both.

On the other hand, if YYYY—YYYY and YYYY/YYYY are both not allowed in a citation at the same time, then maybe keeping separate rules is best.

Trappist the monk (talk) 10:47, 15 January 2016 (UTC) (no need for mw.ustring.match because numbers are always Latin?)

Actually it is both emdash and common slash ('/'), but not interchangeably/synonymously. I’ll correct that into "Only in-all-cases-allowed range separator is emdash" or something.
It is not used "21. јануар / 14. фебруар 2014" as any correct date because '/' always (at least in all of the examples I included in module for date validation) separates consecutive units while — separates ranges normally. I saw you altered code to simplify it to "^[1-9]%d%d%d?[—/][1-9]%d%d%d?%a?$" but I had to redefine and separate rules because of this "consecutiveness" while using '/' ("2012/2014" has no non-ambiguous meaning but "2012—2014" is a range and "2012/2013" is telling us something happened in both 2012 and 2013, probably at near the end of 2012 and beginning of 2013; same with days: "7/18. фебруар 2014" has no meaning but "7—18. фебруар 2014" is well defined period and "17/18. фебруар 2014" is also acceptable).
Maybe, maybe, someone would use "7/18. фебруар 2014" to indicate separate dates: "7. фебруар 2014" and "18. фебруар 2014" but that is questionable. I might ask that on .sr Village pump intended for orthographic/spelling questions. If we somehow conclude '/' = '—' for many cases then I will simply go for using [—/] for such date formats.
However, thank you for noticing and pointing out these... You might also want to compare .sr module for validation to .en because I think there were some small mistakes in code in .en version I corrected for .sr several days/weeks/months ago or I don’t know how much time... --Obsuser (talk) 18:51, 16 January 2016 (UTC)
mw.ustring.match I used "always-just-in-case". I don’t know how to be sure when to use string.match because ugly error might pop up but when %ds are only present — I would probably have to correct it to string.match because there’s really no need for ustring in such cases... --Obsuser (talk) 18:57, 16 January 2016 (UTC)

Automatic ISO conversion

Thanks for your help with Help_talk:Citation_Style_1#Automatic_ISO_conversion. I'm not sure how much longer it needs, but I'm removing the page from my watchlist. Please ping me if/when it gets implemented (eagerly awaiting it) I am no longer watching this page—ping if you'd like a response czar 23:43, 8 January 2016 (UTC)

User:Czar: See discussion
Trappist the monk (talk) 13:27, 9 January 2016 (UTC)

Just so I know who I'm talking to, are you also 208.87.234.201? Yes. I'm sorry, I should have answered earlier. One reason I prefer to be even more anonymous than say, some real or virtual person calling themselves "Trappist the monk" :). I want to keep it a discussion of positions. Not of persons taking positions. If I could, every single edit would be from a different IP. My positions will stand or fall on their own merit if any, of content and presentation. 208.105.71.186 (talk) 19:15, 9 January 2016 (UTC)

I get that, thanks.
Trappist the monk (talk) 20:40, 9 January 2016 (UTC)

Duplicate issue parameters

this edit introduced several duplicate |issue=. Frietjes (talk) 15:10, 11 January 2016 (UTC)

Toolbar drop down for cite journal

I see you did an AWB cleanup of Runaway Scrape that replaced one cite journal with a cite magazine. I have no problem with that, but I never even knew cite magazine existed. Would it be a big deal to get that option put on the drop down templates for the enhanced edit toolbar? — Maile (talk) 20:09, 11 January 2016 (UTC)

I don't know, The best place to make that request might be at Wikipedia talk:RefToolbar. You might get a quicker response there than to wait for me to get around to it.
Trappist the monk (talk) 20:16, 11 January 2016 (UTC)
Thanks for pointing me to the correct talk page. — Maile (talk) 20:23, 11 January 2016 (UTC)

Hello Trappist,

When starting to work on Transport in Ivory Coast, I noticed that you were among its latest contributors. This article raised several issues. I have been preparing a draft that addresses those issues and substantially reshape the old article. I am about to replace the old content with the draft and I would be interested in your getting your feedback first. Should you have any suggestion, please do not hesitate. --African Hope (talk) 11:00, 12 January 2016 (UTC)

Your edit to Malcolm X

Hi. I saw that with this edit, you deleted |display-editors=4 from the {{cite book}} template and it didn't change the way the editors' names were displayed. Thank you.

According to the citation template's documentation, however:

By default, all editors are displayed except when there are four editors, then the editor list in the citation is truncated to three editors, followed by "et al." This exception mimics the older version of the template for compatibility. If a citation contains four editor names and one wishes all four editor names to display, "et al." may be suppressed by setting |display-editors=4.

You seem much more knowledgeable about the citation templates than I am. Evidently |display-editors=4 isn't necessary any more when there are four editors, because all four editors are displayed in Malcolm X without it. Maybe the documentation should be updated? — Malik Shabazz Talk/Stalk 03:33, 17 January 2016 (UTC)

I've tweaked the documentation; it needs to percolate through the MediaWiki job queue before it will show in all of the cs1|2 documentation pages.
Trappist the monk (talk) 04:17, 17 January 2016 (UTC)

A barnstar for you!

The Barnstar of Diligence
Trappist, I award you this barnstar since I've not overlooked your hard work in cleaning the references I disseminated in the entries I contribute to: well done. Thank you very much. Daniele.tampieri (talk) 10:05, 17 January 2016 (UTC)

Citation/CS1

I was just about to update the CS1 module on my home wiki (bswiki) to match the English one, and then I noticed you updated the live version with the code from the sandbox. I've managed to update the module to the version as of December 12, 2015, but when I tried updating it to the newest version, naturally stuff went wrong. From reading the discussion above with a collegue from the Serbian wiki, I figured you'd be able to help. Basically, we want it to be the same as the English one (as in, allowed the MOS entries in English), but also allow these formats:

  • "D. M. YYYY" — for January 4, 2016, it would be formatted as "4. 1. 2016" – no leading zero and no period at the end of the year.
  • "D. longmonthname YYYY" — for January 4, 2016, it would be formatted as "4. januar 2016"
  • "D. shortmonthname. YYYY" — for January 4, 2016, it would be formatted as "4. jan. 2016" – a period after the short name; we have the issue as sr.wiki of "June" (juni) and "July" (juli) not needing the period.

So yeah, that's about it. Can you help out? The modules are unlocked, but you can work in the sandbox which is "/igralište" on any module (if it's not there, feel free to make it). —Srdjan m (talk) 13:00, 17 January 2016 (UTC)

Do you want to update to the current version of the enwiki modules? I guess that you would so that you aren't locked into your current version.
Here we have 'new' versions of the templates ({{cite web/new}}, {{cite book/new}} etc) that call the sandbox version of the modules. These are handy for testing so that when upgrades happen, they happen in the module sandbox first, are tested with the 'new' templates and only then is the live module updated.
Latin alphabet only?
4. jan. 2016 (with a dot) but 4. jun 2016 and 4. jul 2016 (without dots)?
Trappist the monk (talk) 13:28, 17 January 2016 (UTC)
Yeah, I wanna update them to current version of the enwiki modules. I've created new versions of the templates that invoke the sandbox version of citation/CS1 here, here and here (they're the most used ones) and the current version of the main module is in the sandbox here. The no-period versions would be "juli" and "juni", but yeah, there shouldn't be any periods for those months. Also, the date validation thingy should make it so that there's an error if a user attempts to add a period at the end of a year in any scenario – "1. 4. 2016" would be okay, but "1. 4. 2016." would not be. And yeah, Latin only, and we don't have any dialects to worry about either. —Srdjan m (talk) 13:58, 17 January 2016 (UTC)

(edit conflict)

These changes:
  1. Created the entire suite of igralište modules
    1. replaced calls /sandbox with calls to /igralište
  2. I think that I have D. M. YYYY working.
  3. fixed access-date validation so that it works with non-English month names.
What about 'maj'? Dot? No dot? I'm still confused about 'jun', 'juni', 'jul', 'juli'. Is it because you have kept the long English month names that 'jun' and 'jul' are there? But for English, the short form is always capitalized ('Jun' and 'Jul') and none of the short form names are capitalized.
I've created short_dot_months table. It is to hold only those months that require dots. Because I'm confused, I leave it to you to fill that table properly. At the same time, check the short_month table. It should only hold those months that do NOT require a dot.
When you've done that, let me know and I'll work on the code required to validate dot-month date dormats.
Trappist the monk (talk) 17:10, 17 January 2016 (UTC)
Right, let me try to clear this up. I've added all the English short forms into the short_month table since you said that should contain the months that don't need a dot, and have also added 'maj' since it doesn't need a dot (which I totally forgot about, but it's great that you noticed). I've also moved "jun" and "jul" to the table that /does/ need the dots because the full name of those two months has an additional letter, so that's why we add a dot at the end. So yeah, I think that's okay now. —Srdjan m (talk) 17:23, 17 January 2016 (UTC)
A couple of questions: how does one change the output of the language parameter? I don't know if this is the way the English Wikipedia does it, but we just enter the language code (ie, for French, we'd do |language=fr) and it would display the full language name. Problem is, I don't know where to change the full language name thing (it's displaying them in English in the sandbox version). Also, instead of ignoring "en" whenever it's entered as a language, can it ignore whenever "bs" is entered (I just realized that's a bit of an unfortunate language code :D)? –Srdjan m (talk) 16:53, 17 January 2016 (UTC)
That is in language_parameter(). I think that I've fixed it.
Trappist the monk (talk) 17:10, 17 January 2016 (UTC)

In Modul:Citation/CS1/Date_validation is this:

	-- bs.wiki match
	elseif date_string:match("^[1-9]%d%d%d?%.%a?$") then			-- year (YYYY/YYY)
		year=date_string:match("(%d%d%d%d?)%.%a?");
		anchor_year = year;
		if false == is_valid_year(year) then
			return false;
		end
	elseif date_string:match("^[1-9]%d?%.%s?[1-9]%d?%.%s?[1-9]%d%d%d%.?%a?$") then				-- dd. mm. gggg.
		day, month, year=string.match(date_string, "([1-9]%d?)%.%s?([1-9]%d?)%.%s?([1-9]%d%d%d)%.?%a?");
		day=tonumber(day);
		month=tonumber(month);
		year=tonumber(year);
		if (not is_valid_date(year, month, day)) then return false; end

For the first elseif, the comment doesn't match the code which matches a 3 or 4 digit year with optional disambiguator, which, in the next line, is ignored; why?

I the sandbox, instead of the second elseif, I did this:

	elseif date_string:match("^[1-9]%d?%.%s+[1-9]%d?%.%s+%d%d%d%d%a?$") then	-- day-initial numerical day. month. year format – no leading 0 no trailing dot
		day, month, anchor_year, year=string.match(date_string, "([1-9]%d?)%.%s+([1-9]%d?)%.%s+((%d%d%d%d)%a?)");
		if 12 < tonumber(month) or 1 > tonumber(month) then return false; end				-- month not valid

The differences that I see are:

  1. your version accepts zero or one space after D. and M.; mine requires a space in these positions; is the space optional?
  2. your version does not support year disambiguation (17. 1. 2016a); mine supports this date format; does bs.wiki support year disambiguation?
  3. your version converts day, month, year to numbers and then calls is_valid_date(); mine waits until later to make the call; why does your version do this?

Back to dotted dates (I'm still confused):

  1. are English month names (and their short forms) commonly used at bs.wiki? If not, is there any reason to keep them?
  2. are dotted month names allowed in all dmy and mdy formats?
  3. are there rules about mixing long, short, dotted-short month names in ranges?
    17. jan. 2016 – 5 maj 2016: ok?
    17. jan. 2016 – 15 februar 2016: ok?

Trappist the monk (talk) 20:02, 17 January 2016 (UTC)

The bs.wiki match wasn't actually written by me (since I'm a beginniner; I'm actually a graphic designer irl), but by someone else instead. I don't really see why they allowed it to accept a zero and the space to be optional since the space is required. As for 2), we never really had to do year disambiguation, but I suppose there's no reason not to support it. As for 3), I'm not sure either. If your version works fine waiting to call it later, I see no reason for you not to just use your own. It's quite old code anyway.
As for the dates: It's one of those cases where it's being used in a lot of articles. Actually, thinking about it just now, is it possible to make a script and run it through a bot to convert them (all English date formats) to "D. M. YYYY"? If this is actually doable, then we can just get rid of all other formats except "D. M. YYYY" and the ISO 8601 format. I actually wanna hear your input on if this can be done because it would probably make this module business a lot simpler.
Srdjan m (talk) 20:51, 17 January 2016 (UTC)
I don't see an answer there to my dotted dates questions 2 and 3. If I'm going to write rules that evaluate dates, I need to understand what bs.wiki considers to be valid date formats.
Were we at en.wiki to try to implement a bot that wandered around converting date formats to one particular format, there would be an uprising against the bot operator. Sure, it is possible to right a bot that converts dates. That is something best handled by someone who primarily works on bs.wiki; someone who understands the local 'politics'.
Trappist the monk (talk) 22:23, 17 January 2016 (UTC)
Yeah, I didn't answer those because you brought up an interesting point about the use of English date formats – I want to see if the community would like to keep that format or use the Bosnian exclusive ones and the points kind of tie to if we want to mix the two or just use a single one (especially in the ranges). I hope you don't mind if I put this "on hold" for some time just to see what the community thinks we (our community) should keep using? By the way, thanks for the help so far. You're awesome.
Srdjan m (talk) 22:52, 17 January 2016 (UTC)
Not a problem. I was about to let you know that I'll be away on wikibreak from about mid-week until the first week of February. I may continue to pick at it. There has to be a better way of doing this.
Trappist the monk (talk) 23:04, 17 January 2016 (UTC)
I might help:
  • Date formats (those 29 on .sr) should be applicable to .bs too (consider copy-paste). Differences: 1) No Cyrillic since .bs doesn’t support Bosnian language other script (so string library can be used, not ustring). 2) Endash – is used instead of emdash —.
  • Those lists for long, short dotted, short non-dotted etc. month names on .sr should be applicable to .bs too. Differences: 1) No Cyrillic since .bs doesn’t support Bosnian language other script (so string library can be used, not ustring). 2) No "jun" and "jul". There are only "juni" and "juli" which are always long months, and "jun." and "jul." which are always short dotted months (reasons: since long month "mart" is also being short-dotted as "mar."; and since there are no "jun" and "jul" which prevent 6th and 7th months on .sr from being short-dotted in their short form).
  • Both examples Trappist wrote above are incorrect:
  • "17. jan. 2016 – 5 maj 2016" should be disabled because: 1) it’s a mix of only one existing short non-dotted Bosnian month ("maj", same form, both long and short month) 2) I’m sure we have to use "17. jan. 2016. – 5 mar. 2016", for example, ALWAYS WITH DOT after first year (that is followed by space and endash) since Bosnian grammar is not as strict as Serbian when we’re talking about dot followed by other punctuation symbol (in Serbian "17.—19." is not allowed, but in Bosnian "17.–19." is allowed and is recommended for use rather than "17–19." etc.).
  • "17. jan. 2016 – 15 februar 2016" should be disabled because: of same reasons stated above (must be dot after first mentioning of 2016 + must be no mixing of short "jan." and long "februar")
Hope this helps. IMPORTANT: Maybe there are more differences from 29 date formats used on .sr and maybe there are more differences from lists used on .sr when compared to .bs needs than those I’ve just mentioned above.
Consider copying .sr module and adapting it to .bs needs rather than copying .en module and adapting it to .bs needs; reasons for that are obvious... --Obsuser (talk) 22:46, 17 January 2016 (UTC)
Thank you. I've already stolen the sr.wiki fix for is_valid_accessdate() and have been thinking about stealing is_valid_month_range_style()
Trappist the monk (talk) 23:04, 17 January 2016 (UTC)

Editor display

Hi Trappist: Just wondering about this edit, which has removed the 4th listed editor from the citation display. Are you saying that editor shouldn't be listed? If so, I'm just curious as to why. MeegsC (talk) 14:28, 17 January 2016 (UTC)

(talk page stalker) The edit removed |display-editors=4 from the citation, and the citation continues to display all four editors. The citation templates have recently been updated to show all editors by default. – Jonesey95 (talk) 15:05, 17 January 2016 (UTC)
Ah! I must have looked at the wrong Cade reference; yes, I see they're all there. Thanks — I can't keep up with all of these citation changes! :P MeegsC (talk) 15:38, 17 January 2016 (UTC)

hey

hey there Ahbalayad (talk) 16:24, 17 January 2016 (UTC)

Cite web

TtM, I had a question regarding CS1 errors. When utilizing the Cite web template, I usually fill in both |url= for the specific website it lists to as well as |website= which generically lists the main web page. For example, it would look like |url=http://website.com/cited_story and with |website=http://website.com to show as the main source of the information, similar I'd suppose to the Cite news template and |url= with |newspaper=. I've noticed that when |website= is now filled out, it's returning many CS1 errors. Am I citing information incorrectly or has a change been made? Thanks for your insight in advance! GauchoDude (talk) 17:04, 23 January 2016 (UTC)

(talk page watcher) @GauchoDude: |website= is an alias for |work=. You will receive an error if you try to put a URL in |website=. I stick with |work= if it should be italicized, and |publisher= if not. See this edit and this edit for examples of how I changed references to remove the errors. Hope this helps! GoingBatty (talk) 19:54, 23 January 2016 (UTC)

Thanks

WikiProject Ships Barnstar
I've been watching the impressive work you have been doing on "templates to implement shipwreck lists" at Wikipedia talk:WikiProject Ships and wanted to thank you for your efforts. Cheers - theWOLFchild 02:46, 12 February 2016 (UTC)

Shipwreck lists

Not sure how far back you intend to go this evening, but I'll be editing the 1802 and 1801 lists. Give me 6 hrs before you do them please. Mjroots (talk) 17:28, 13 February 2016 (UTC)

Calling it a night. list is all yours. Mjroots (talk) 20:41, 13 February 2016 (UTC)

Reference errors on 14 February

Hello, I'm ReferenceBot. I have automatically detected that an edit performed by you may have introduced errors in referencing. It is as follows:

Please check this page and fix the errors highlighted. If you think this is a false positive, you can report it to my operator. Thanks, ReferenceBot (talk) 00:23, 15 February 2016 (UTC)

awb

I noticed that your AWB et al fixes are touching some closed arbcom cases (https://en.wikipedia.org/w/index.php?title=Wikipedia:Arbitration/Requests/Case/Lightbreather/Evidence&curid=46592752&diff=705279693&oldid=671801324)

You might want to adjust your filters to only do these changes in mainspace. Gaijin42 (talk) 15:58, 16 February 2016 (UTC)

Yep, that AWB script did that change. I'm of two minds here. On the one hand, the 'closed' discussion wrapper instructs us to not modify the content which I take to mean: don't add new comments; don't remove comments already present; don't make visible changes – I agree with all of these strictures. On the other hand, the malformed cs1 template in that discussion caused the page to be part of the maintenance category Category:CS1 maint: Explicit use of et al., where, if changes were not made to the template, the page would exist forever. I don't believe that pages with cs1|2 templates that are in need of maintenance or that show errors should be required to stand unmodified forever. The change I made did not break the citation; the metadata from that citation are now cleaner than they were before the change, and visibly, the page is unmolested.
Trappist the monk (talk) 17:16, 16 February 2016 (UTC)

Reference errors on 16 February

Hello, I'm ReferenceBot. I have automatically detected that an edit performed by you may have introduced errors in referencing. It is as follows:

Please check this page and fix the errors highlighted. If you think this is a false positive, you can report it to my operator. Thanks, ReferenceBot (talk) 00:23, 17 February 2016 (UTC)