Wikipedia:Templates for discussion/Log/2019 July 5

July 5 edit

Link language wrappers edit

The following discussion is an archived debate of the proposed deletion of the template below. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

The result of the discussion was merge to Template:Link language. There are many points here which require addressing:

  • "Remove usage of link language wrappers" - support for this proposal.
  • "Use {{LL}} as shorthand" - this shortcut template is already in use; if those opposed want to nominate it for deletion WP:RFD is the place to go. No one is being forced to use it.
  • "Use {{in lang}}" - anyone who wants to create this template redirect is welcome to, but there was no consensus here to change the existing template's name. Also slightly out of the purview of this discussion, so RM would be the best course of action (and really if any name change is desired).
  • "Deprecation or deletion" - with the nomination being changed part-way through, and with this project likely taking a lengthy time, and with a lot of different opinions on either side of the choice, there is no consensus towards outright deletion once the "mainspace removal of the wrapper templates" phase is completed. This issue can be addressed at a future discussion.

Much of the opposition to this proposal involved either concerns with the new syntax (i.e. "I have to learn a new set of codes now?") or the template redirect {{LL}} being unintuitive, or that because the current system works it shouldn't be messed with. The first holds little weight, the second is reasonable (though the counter-argument was that one didn't have to use the shortcut), and the third is a reasonable concern (though the counter-argument is that in the future if changes needed to be made, a change to a singular template is easier than changes to hundreds).

This is going to be listed at the Holding Cell for review. I've created WP:LLWRAP for ease of getting to the nominated templates. There is no requirement for the "delete or deprecate" discussions to happen for all templates at once - little-used templates such as {{aa icon}} or {{ab icon}} may find an easy consensus to delete as unused/unnecessary as a group, while larger-use templates such as {{fr icon}} will definitely require their own discussion after orphaning. Primefac (talk) 15:31, 4 August 2019 (UTC)[reply]


The explanation of this nomination has become very long, so I have collapsed the main nomination content. These templates have survived two previous nominations (2010, 2013) so I would like to present a more comprehensive analysis and that addresses concerns from the previous discussions.

I request those participating minimally peruse the questions in the FAQ section below before !voting; preferably read the whole nomination.

For convenience, I have included a brief summary below that lays out what this nomination is proposing (but mostly not why it is being proposed, hence why reading at least part of the whole nomination is requested).

Full nomination rationale.

Background/nomination rationale: These templates are all wrapper templates of {{Link language}} that don't accept any parameters. Their naming convention is not optimal: it's a relic of the original version of {{Link language}} (then-titled "Template:Languageicon") that would display an icon. The image-displaying functionality was removed in the second edit to the template. This naming can cause conflicts with actual icon templates (e.g. {{cricon}} vs. {{cr icon}}, {{ruicon}} vs. {{ru icon}}).

Unnecessary wrapper templates are inideal is because they split template code across multiple pages. This has multiple disadvantages:

Basically, consolidation creates a form of DRY design.

Replacement strategy: As far as I can tell, the only reason these templates exist separately are is to allow convenient usage; it is understandably more convenient to type {{langcode icon}} than {{Link language|langcode}}.

Therefore, I would like to suggest template transclusions be replaced with a template redirecting to {{Link language}}. There are several possibilities, but I'd like to suggest {{LL|langcode}} as one good alternative title; it's even shorter than {{langcode icon}}.

This naming suggestion is not intended to be the "one true format"; other redirects and the template itself could still be used. But since there are many transclusions, the replacement is probably a task for a bot to do, so this would be deciding how the bot replaced the preexisting template transclusions.

Template redirects: But it would be negligent to discuss replacements while not bringing up the {{langcode}} redirects, which are even shorter than any suggested replacement, and will also be deleted if these wrappers are deleted.

For these to be retained, they would need to be converted into wrapper templates and would retain all the problems that wrapper templates have. However, name-wise, these are less problematic than the misleadingly named "icon" series, so I am slightly more amicable to keeping them and turning them into the canonical wrappers.

In general, though, it seems best to discourage wrapper templates and prefer redirects because it's a more centralized method of design that's more likely to remain consistent. There's also a greater consistency of expectations: with wrapper templates, similarly named templates can do totally different things, but this is not true of parameterized redirects. And this consistency of expectations holds true here too: {{langcode}} redirects are not consistently implemented, and some names are reserved for other uses, like Template:yo, which has significant usage as a redirect to {{Reply to}}. I don't think it makes sense to retain inconsistently present redirects to just to save 3 characters of typing for certain cases; consistency will ultimately make these templates easier to use, even if there is a tiny bit more typing involved.

FAQ:

  • {{langcode icon}} is so much shorter to type than {{Link language|langcode}}!
    As discussed above, I am not suggesting replacing current transclusions with {{Link language|langcode}}, but a shortened name redirect like {{LL|langcode}}; the shortened name could be even shorter than the current convention!
  • Why delete instead of merging and redirecting?
    Redirecting would be misleading. A redirect would not render like the previous version if used in article; it would simply display the default state of {{Link language}} when given no parameters.

    "Merging" doesn't really have any particular meaning in the context of this discussion, since they are already wrapper templates.

    See my summary below; I've changed the planned handling to deprecate, rather than immediately deleting after transclusions are gone.

  • What about the red links in the article history?
    This concern seems misplaced. If we thought red-linked template transclusions in article history were problematic, we would never delete any templates ever.

    However, since this nomination suggests the deletion of widely-transcluded templates, one could argue the number of potential red links to be encountered in article history is larger than the standard TfD discussion. But here's the thing: as long as T36244 remain unimplemented, article history will always be fundamentally misleading about how templates worked because it does not show the state of the template at the time it was transcluded; it shows a transclusion of the current version of the template. It should not be our responsibility to create the illusion that page histories display prior template transclusions reliably.

    And the purpose of this template won't be some huge mystery: this discussion will be linked in the deletion log shown on all deleted pages. The red-links actually do the job of conveying the message that the template no longer serves the original purpose.

  • How will I be able to search for links in a specific language if these templates are deleted?
    Every language has a specific category listing articles in that language, e.g. Category:Articles with French-language external links (there are also more sophisticated methods of searching like Quarry's database replicate, and you could ask at Wikipedia:Bot requests (and other places, like certain editor's talk pages) if you want help finding something more specific).
  • Why fix what's not broken?
    Why not improve the existing format so it's just as easy to use if not easier, while ensuring it's less likely to be broken in the future?

    I will note I do consider these templates to be "broken" in certain respects, but it depends on your definition of "broken".

Background: {{Link language}} is a template that is placed near an external link to note its language. There are currently several options for using it, each involving an ISO 639-1, ISO 639-2, or IETF language tag, which I will denote here as langcode (basically a shortened form of the language name, examples being "en" for English, "fr" for French, "de" for German, and "ja" for Japanese). There are currently several options for using this template, depending on the language: {{Link language|langcode}}, {{langcode icon}} (and often 2-3 redirects: {{langcode}}, {{langcode-icon}}, and rarely {{Ref-langcode}})

Proposal: I am proposing template transclusions of the form {{langcode icon}} (and their corresponding redirects {{langcode}}, {{langcode-icon}}, and rarely {{Ref-langcode}}) be replaced by something like {{LL|langcode}}. To clarify, this proposal aims to eliminate support for forms where the langcode is not parameterized, not to determine a single definitive form. Regarding specific alternatives for shortened names, "LL" has not been well-received in the discussion below, but alternative options like "In lang" or usurping "In" have been looked upon more favorably.

In practice, this would mean a bot would replace, for example, all occurrences of {{fr icon}} and {{fr}} with a templated form like {{LL|fr}}. {{fr icon}} and {{fr}} would no longer be usable by editors going forward. be deprecated and discouraged from use, to be further evaluated at a later date. See this edit explaining why I made this change to the proposal.

As a weaker proposal, I have also suggested only eliminating the {{langcode icon}} form, while retaining the shortened form {{langcode}}, but this seems less ideal because {{langcode}} isn't consistently implemented for every langcode (and probably shouldn't be, as certain names like Template:yo are commonly used for other purposes). Retro (talk | contribs) 22:40, 9 June 2019 (UTC)[reply]

  •   Comment: Because this is an extensive nomination, it will take me a bit of time to use AWB to tag all the affected templates with TfD notices. I'll make a note here when I'm done. Retro (talk | contribs) 22:40, 9 June 2019 (UTC)[reply]
      Done Except for the template protected pages (which I've requested be edited here). Retro (talk | contribs) 23:33, 9 June 2019 (UTC)[reply]
      Note: All templates on the list are now tagged. — JJMC89(T·C) 23:58, 9 June 2019 (UTC)[reply]
  •   Comment: So this is replacing a zero parameter template with a single parameter template, where the parameter is directly derived from the old instance? Thus little/no chance of errors during replacement? Hence a bot _could_ be trusted?
When replacing {{langcode icon}}, would you ask the bot to replace with {{Link language|langcode}} or with {{LL|langcode}} ? I could argue both ways. Obviously {{Link language}} is less overhead, more direct, and demonstrates "best usage". However, advertising the new shortcut usage {{LL}} quickly in several thousands of places might better gain future editor adherence. (cat herding 'taint nothing to the butterfly herding done rightchere)
When peeking at {{Link language}} it nervously chitters 230,000+ usages! (288610 at the moment) When I do a scientific poll of your list of templates (sampling 'transclusions' for the last 10 entries) I see some have 0 usages, some have <~10 usages, three have hundreds, and one has 9,000+ usages. Do you have any idea how many of the 280,000+ usages are represented by the combination of your set?
I think it is worth noting that the proliferation of these continues. Just randomly probing I came across Template:Azb icon created in April. Shenme (talk) 02:54, 10 June 2019 (UTC)[reply]
  • (edit conflict) @Shenme and Tom (LT): Yes, I believe substitution could make bot replacement rather straightforward; we just put what we want into the template and then the bot will substitutes it verbatim. As for whether to use {{LL|langcode}} or {{Link language|langcode}}, I would lean towards "LL", as I assume it's the standard people will want to conform to. It's obviously not as clear as {{Link language}}. There are other compromises though; we could create new redirects like {{In lang|langcode}} or {{Link lang|langcode}} if we wanted to balanced typing ergonomics with clarity.

    By your question, I assume you mean how many of the transclusions use the wrapper templates as opposed to the {{Link language}} directly? I assume only a negligible amount use {{Link language}} directly, but I can back to you with harder data in a moment if you want. Retro (talk | contribs) 03:25, 10 June 2019 (UTC) (edited 03:29, 10 June 2019 (UTC))[reply]

It wasn't entirely an idle question, since quantity sometimes overwhelms the system. But I _was_ worried someone would object based on numbers. Yet if a tuned bot does this, overload doesn't happen? I was thinking of just using wget or curl and processing the text responses down into counts (though I wonder if I'd get blocked for, um, overloading the toolserver?). If you have a better way, though, it'd save me from a block? :-) Shenme (talk) 03:37, 10 June 2019 (UTC)[reply]
Nah, CirrusSearch seems like a much better way that work within the system: 3101 results. That won't count redirects (and weird transclusion that use too many explicit numbered parameters), but it should be a fairly accurate ballpark. Retro (talk | contribs) 03:45, 10 June 2019 (UTC)[reply]
  • Support Overall, I think this is a good idea conceptually. These are a huge set of templates and a single template is easier to maintain, easier to add new languages to, decreases overhead, helps standardise the appearance of things and any changes, and I think is also in the direction where other language templates are heading. In terms of the implementation, we would have to be careful that no errors are induced as Shenme points above. Also, I do not like the title 'LL' as I feel a plain language title that may be easier for new editors to understand, however would respect the majority opinion on this. --Tom (LT) (talk) 03:15, 10 June 2019 (UTC)[reply]
  • Question. Is substituting the templates not an option? –MJLTalk 03:42, 10 June 2019 (UTC)[reply]
    @MJL: I'm not sure if I completely understand your question; apologies for my lack of understanding.
    Substituting the templates is one potential method of eliminating these template transclusions, and probably the ideal method of elimination if this discussion is in favor of deleting the wrapper templates. We will probably want to do a few tweaks before substituting, though, but it should be fairly straightforward. Retro (talk | contribs) 03:49, 10 June 2019 (UTC)[reply]
    @Retro: Looks like you did understand my question lol. It was in reference to Shenme's comment above. Thank you for the answer!   (edit conflict)MJLTalk 03:54, 10 June 2019 (UTC)[reply]
Discussion of {{zh-classical icon}} being broken, caused by zh-classical not being a valid IETF language tag.
  •   Comment: When this is done, would you please include the options for upper and lower case versions? "in [language]" [sic] is irksome to me when the template is placed at the beginning of/in front of a link, etc. I'd like to be able to have "In [language]" as an option, and possibly the default option. —DocWatson42 (talk) 03:51, 10 June 2019 (UTC)[reply]
    @DocWatson42: That could certainly be added as a parameter, perhaps |cap=yes. However, it is my understanding from something I read elsewhere while constructing this nomination (I'll link when/if I find it) that the existing MOS consensus is to only use template after the link. Retro (talk | contribs) 03:57, 10 June 2019 (UTC)[reply]
    Reading some discussions, I'm getting the sense that I may be mistaken. But I'll get back to this. Retro (talk | contribs) 04:09, 10 June 2019 (UTC)[reply]
    @Retro: I request the option because so often I find the template placed at the beginning of a link, etc., or just after the bullet. —DocWatson42 (talk) 04:12, 10 June 2019 (UTC)[reply]
  • Oppose I read the rationale and I understand there are maintenance issues with the current system and also vandalism concerns, but the proposed change would be another step in making Wikipedia hard to edit because of having to remember template syntax. There is already too much of this and I do not see the concerns raised as justifying yet another step in the direction of making editing difficult for anyone but the technologically highly educated. Yngvadottir (talk) 04:14, 10 June 2019 (UTC)[reply]
    @Yngvadottir: As I mentioned above, I'm open to other names besides {{LL|langcode}}. I don't know if you consider {{langcode icon}} easy to remember, but I personally consider it an unintuitive naming scheme. If we standardize one one naming format, I see these templates as being easier to use, because they're more consistent. Retro (talk | contribs) 04:18, 10 June 2019 (UTC)[reply]
    Yes, I do consider "icon" easier to remember than "LL|" because it's a word. I don't think there's a way around the fact your proposal will add yet another code string that editors have to remember. It could be argued that only highly motivated and savvy editors use these anyway, as opposed to not noting the language, just typing the language name or 2-letter code, or leaving a bare link for someone to run a script over, but this hits precisely the editors with relatively shaky English who want to cite websites in their native language. Words are easier to remember (and teach) than code. (There are days I flub "ill" or the "As of" template, and "sfn" is still too much for me.) It's a cumulative memory load, and the essence of the project is that those with knowledge and willingness can help build the encyclopedia. Yngvadottir (talk) 04:28, 10 June 2019 (UTC)[reply]
    @Yngvadottir: Would you be more amicable to replacing with {{in lang|langcode}}, since that's also a word (and hopefully relatively clear to the template's purpose, thus probably being likely to become memorable)?

    I don't think it's a foregone conclusion that my proposal has to create increased complexity for the average editor. I think this can even be an opportunity to increase usability.

    Honestly, I don't find the current limitations of {{Link language}} particularly helpful myself. For instance, it would be nice if I could do {{Link language|French}}, but that is not currently supported. But this TfD can't really fix that problem; that will require some dedicated tweaks to {{Link language}}. Retro (talk | contribs) 04:40, 10 June 2019 (UTC)[reply]

    That would be easier to remember, yes. Yngvadottir (talk) 05:15, 10 June 2019 (UTC)[reply]
    @Yngvadottir: Does that mean your oppose is only conditional on whether the replacement is {{LL|langcode}}? Or would you prefer status quo regardless? Retro (talk | contribs) 12:17, 10 June 2019 (UTC)[reply]
    No, as per my previous edit summary here, I'm still opposed because I am not persuaded the change is justified. Any change will contribute to the barriers to editing, and tempt long-standing editors to not try—not noting the language, or just slapping in a bare URL, are things borne of frustration that we already see. But if it is decided that a change is desirable, I appreciate your suggestion as being less of a deterrent. Yngvadottir (talk) 12:38, 10 June 2019 (UTC)[reply]
    Literal argument display doesn’t seem difficult to implement here, and I could see it done one of 2 ways: 1) add a fourth set of data linking fully spelled out names; 2) display literal argument as a final fallback when no language is found. But, honestly, in either case, the decrease in consistency could be good reason for people to oppose. While being able to spell out a name is definitely nice, there’s a lot of value in the system established now. My biggest concern for either option would be a clash between a 2/3 letter code and a language with a short common name. A good solution regardless of changes to the template would be an autogenerated table that displays every possible output with a list of accepted inputs in a highly visible location. There are several sources for varying standards linked in the template documentation, but something built specifically for this template would be much better. I don’t have a stance either way, but from a technical glance, such a change seems rather trivial. 1F6😎E 08:07, 10 June 2019 (UTC)[reply]
    @U 0x1F60E: I appreciate your comment. I am certainly not proposing that new argument functionality be added as a result of this discussion; it was only an example, and can be discussed further at a later time. Retro (talk | contribs) 12:17, 10 June 2019 (UTC)[reply]
  • Support This will be much easier. Thanks. ―Justin (koavf)TCM 04:23, 10 June 2019 (UTC)[reply]
  • SupportOwenBlacker (talk; please {{ping}} me in replies) 06:02, 10 June 2019 (UTC)[reply]
  • Support Oppose— I would prefer {{langcode icon}} or the shortened form {{langcode}}, but not {{LL|langcode}}. Shorter language code, will be easier for new editors and reduce in pagesize when linking many non-English literature or weblink to an article. Fiipchip (talk) 07:13, 10 June 2019 (UTC)[reply]
Clarified Fiipchip's above !vote.
  • @Fiipchip: My proposal is to replace {{langcode icon}} and {{langcode}} with {{LL|langcode}}, so your vote should probably be an oppose.

    But if even though you're not okay with replacing with {{LL}} (a common concern; the inclarity of the name seems to be a bit of a sticking point in the previous discussion), would you be okay if they were instead replaced with {{In lang|langcode}}? Retro (talk | contribs) 12:03, 10 June 2019 (UTC)[reply]

    @Retro:thank you, I have updated to oppose. I would still prefer the shorten version of langcode. Let's face it, reducing the wordings can reduce the pagesize and at the same time minimise errors. If there is a maintenance issue due to shortening of the codes, I would vote for {{LL|langcode}}. Fiipchip (talk) 13:25, 10 June 2019 (UTC)[reply]
    @Fiichip: I have updated the summary, so hopefully it's a bit more clear (if you have any other questions, feel free to ask them!)

    Based on your previous comments, it seems like you might generally be in favor of my proposal to remove the {{langcode icon}} while keeping {{langcode}} as an option (the "weaker proposal" noted above in the summary). Retro (talk | contribs) 14:00, 10 June 2019 (UTC)[reply]

    @Fiipchip: And I misspelled your name, so it didn't ping correctly :-P. This ping should work. Retro (talk | contribs) 14:07, 10 June 2019 (UTC)[reply]
  • A few comments. I firmly oppose the end result being a template name with the word "icon" in it. "Icon" has a meaning, and from checking some of the templates, none of them have any icon in it (as was pointed by nom). Yngvadottir has expressed concern that editors will have to remember another piece of code string, I'm assuming they meant the country code, but how is that different from remembering what XX icon template to use? Those are the same parameters. --Gonnym (talk) 10:44, 10 June 2019 (UTC)[reply]
    @Gonnym: So basically, you support getting rid of the {{langcode icon}} wrappers, but you're neutral towards the {{langcode}} template redirects?

    Regarding Yngvadottir's concerns, I think you've misunderstood: Yngvadottir is concerned about another codeword like the shortened form "LL" in my suggested redirect replacement {{LL|langcode}}. Retro (talk | contribs) 12:03, 10 June 2019 (UTC)[reply]

    Leaning support, which is why I didn't vote. Waiting to see more comments first. If that is Yngvadottir's concern that is basically a non-issue, as that is like opposing RM for that reason. --Gonnym (talk) 12:07, 10 June 2019 (UTC)[reply]
  • Oppose. I am already used to using {{ja icon}} {{de icon}} etc., and if the change is seamless, i. e., if I use the legacy name and it just gets redirected to the new template name that takes parameter, that's fine. But proposing to get rid of it so I would wind up getting warning message would be imposing and annoying.
  Comment: As for "icon". This template {{Link language}} used to appear in a shade of gray and slightly smaller size: "(in Japanese)". Visually not all that different from the   icon used by {{translator}}. I would have preferred to have this css style "icon" but certain users mobilized to get rid of it. --Kiyoweap (talk) 16:34, 10 June 2019 (UTC)[reply]
  • Support per given reasons (long-term maintenance, current template names are deceptive). howcheng {chat} 16:50, 10 June 2019 (UTC)[reply]
  • Oppose and Keep the {{xx icon}} method alive. A change for what appears only the sake of it, and a deletion of this present template, will only cause disruption, no matter how insignificant it appears to be for fellow editors. Ref (chew)(do) 17:20, 10 June 2019 (UTC)[reply]
  • Strong support for the change because it will decrease maintanence load. Slight support for keeping current syntax when it is already heavily used for a specific language. StudiesWorld (talk) 17:39, 10 June 2019 (UTC)[reply]
  • Weak oppose and keep the existing method alive. It's not broken. Also, can we please do something so that <see Tfd> doesn't appear against every single instance of the templates used. That's doing more damage to the encyclopedia than this change would whether implemented or not. Gricehead (talk) 08:20, 11 June 2019 (UTC)[reply]
Brief discussion about whether these templates should display the TfD notices.
  • @Gricehead: I don't mean to be a bother, but I was wondering what kind of damage having the notice does? I don't feel it compromises the purpose of the template; it's a bit more visual clutter, but it might encourage editors who would not otherwise participate in this TfD to come, and it will only be there temporarily.

    I take full responsibility for adding those notices; it was done intentionally so that it would display in the manner you note. Retro (talk | contribs) 12:21, 11 June 2019 (UTC)[reply]

@Retro: In my opinion it's visual clutter that adds no value to the encyclopedia for our readers. I agree it might well bring editors to this discussion (like it did me), but I suspect many many more people read than edit (I have no stats to back this up). Gricehead (talk) 13:13, 11 June 2019 (UTC)[reply]
There is not consensus to noinclude templates for reasons other than them being substituted. * Pppery * it has begun... 21:08, 11 June 2019 (UTC)[reply]
@Pppery: I appreciate the archived discussion, though I'm not sure why you immediately reverted your mention of it. Retro (talk | contribs) 12:41, 12 June 2019 (UTC)[reply]
A belief that my initial commentare came across as unnecessarily hostile. I've restored that post. * Pppery * it has begun... 16:02, 12 June 2019 (UTC)[reply]
  • Oppose. Yet another non-problem not needing fixing. StevenJ81 (talk) 15:47, 11 June 2019 (UTC)[reply]
    On reading further comments in the week-plus since I wrote, I'm still not convinced it's really a problem needing fixing. That said, if people are bound and determined to make this change, I'm comfortable enough with deprecating the use of, rather than deleting, the current templates, with a view that two years or so down the road we can reconsider what to do. StevenJ81 (talk) 15:03, 19 June 2019 (UTC)[reply]
    Since the proposal is now to deprecate rather than delete, I am willing to support that idea. StevenJ81 (talk) 21:21, 24 June 2019 (UTC)[reply]
  • This tfd prompted me to dust off User:Monkbot/Task 6: CS1 language support. That task was developed to add |script-title=, where appropriate, based upon either the content of |language= in the cs1|2 template or upon an appropriate {{<xx> icon}} template directly adjacent to the cs1|2 template. To get the most complete coverage, it made sense to normalize the {{xx icon}} templates and their redirects to a consistent form before making the decision to add (or not) |script-title=. Further, even when not appropriate to add |script-title=, in the cases where there is an adjacent {{<xx> icon}} template, it makes sense to add |language=<xx> and remove the {{<xx> icon}} template. If this tfd is successful, there will be work for me to remove the normalization code and add support for the new template (this is an observation, not a complaint). So, having dusted off task 6, I am running the bot to cleanup uses of {{<xx> icon}} templates adjacent to cs1|2 templates.

    When initially writing task 6, I wrote some test code that became the basis for the {{<xx> icon}} normalization used by task 6. I've dusted that off too, updated to the list of templates for this tfd, tossed out most of the original code in favor of code based on my most recent bots, and voilà, most of a bot done. It does need to be checked for data accuracy, and it does need a new-template name, but should suffice as a starting point if this tfd is approved. Code is here.

    When deciding on a name for the new template, beware {{llink}}, yet another language template, this one strictly for ISO 639 codes. Some advantage may be gained by using the {{LL|langcode}} form (regardless of whatever it is named, if it is named). A single template like this can produce a nice rendering of a list of languages; much nicer than the lists of languages at Moravia § External links, for example (ignore the tfd messages and look at the list).
    Trappist the monk (talk) 18:32, 11 June 2019 (UTC)[reply]
    @Trappist the monk: The multiple languages is actually potentially a huge benefit in terms of widening options, and definitely not scaleable to wrapper templates (imagine: {{en fr icon}}, {{en de icon}}, {{fr de icon}}, plus another 1.67 * 10^96 such templates). I don't expect people would really create such templates, but it is simply an analogy to show the limiting mindset of defaulting to a set of wrapper templates.

    I wish I had focused more on things like that in my rationale (I also wish I had pared down its extreme verbosity). This sort of thing is really the reason why I think it's better to utilize the primary template, because it opens room for editors to have more options within the better structured framework, rather than to be deceived by a pseudo-consistency of wrapper templates that narrows ones' potential options. Retro (talk | contribs) 12:41, 12 June 2019 (UTC)[reply]

    I have tweaked Module:Lang/sandbox and {{link language/sandbox}} so instead of this:
    (in Czech) (in English) (in German) (in French) (in Spanish) (in Italian) (in Polish) (in Russian) (in Japanese) (in Chinese)
    this:
    {{link language/sandbox|cs|en|de|fr|es|it|pl|ru|ja|zh}}
    Categorization (mainspace only) and error messaging works. Probably not completely proper to keep this in Module:lang because it is too tied to a specific template (in this case primarily because of categorization) so some (all?) of the new code should probably be moved into Module:Lang/utilities. I may go ahead and do that because this seems a handy thing to have around.
    As I was writing this message I mis-typed the template name and wrote {{language link/sandbox}}. That experience suggests to me that the base name of the template is too confusing (yeah, we have a redirect for the live template and could create one for the ~/sandbox ...). But I begin to agree with those who have have suggested {{in lang}} as the template name simply because {{in lang}} matches the function of the template.
    Trappist the monk (talk) 15:27, 12 June 2019 (UTC)[reply]
      Moved to Template talk:Link language#Title of this template and its categories
  • Support It was a bad idea in the first place to have individual templates for each language code, on top of associated redirects. I understand change can be hard for many, but the new syntax will not be that difficult to learn and is still succinct, if even more so. This change is necessary to standardize these templates and easily allow changing them consistently in the future, instead of in many places (if, for example, we want to display a notice for languages with rare font support, this can be done in a central location). As another user mentioned, the name is also deceiving, and we should say what we mean: there is no icon. This isn't just change for change's sake as many non-technical users will see from their perspective, but important semantically and structurally. Opencooper (talk) 05:50, 12 June 2019 (UTC)[reply]
  • Oppose out-right deletion. unfortunately, the two-letter templates are used on commons and many other non-English WPs, so this would create endless problems with broken transclusions of deleted templates. however, I would support making them auto-substituted by bot. this would be a more graceful way to deprecate them. for an example of the complexity, see Template:en which is namespace dependent to behave like the commons template in file space. Files are frequently temporarily copied over to facilitate protection. Frietjes (talk) 13:22, 12 June 2019 (UTC)[reply]
    @Frietjes: Your note about Template:en actually seems to slighly support my proposal. {{en}} is not one of the template I propose to delete in my proposal because it is actually an exception case; a {{lancode}} template that does not redirect to the corresponding {{en icon}} wrapper template. This demonstrates the naming here is ultimately an inconsistent patchwork (and fundamentally so: wrapper templates reserve extra pages by their nature). Under the current model, it seems conceivably easy that one could accidentally use {{en}} when they really intended to get the output "(in English)". Retro (talk | contribs) 15:23, 12 June 2019 (UTC)[reply]
    Because I was curious, I've added a list of two-character redirects to {{<xx> icon}} templates to the template list. Also added links to see what redirects are available for each of the nominated templates.
    Trappist the monk (talk) 23:00, 12 June 2019 (UTC)[reply]
    @Frietjes: For the long-term, I see even the {{langcode}} templates as being ambiguous, because I've sampled a few different language wikis and found them being used in a variety of ways. However, in the short term, I can see the benefits for a deprecation period where the templates are still supported (I'm going to post a comment about this soon).
    In the long term, it might be ideal to turn the {{langcode}} templates into redirects to a langcode disambiguation page, but we'll have to see how they get used in the long term. Retro (talk | contribs) 13:48, 13 June 2019 (UTC)[reply]
    More curiosity, I've added a list of all ISO 639-1 codes as template calls to the template list. This covers the lowercase and mixed-case versions ({{<xx>}} and {{<Xx>}}). For completeness, I'll do another list of upper case codes ({{<XX>}}).
    In the list there is only one other like {{en}}: {{ka}}.
    Trappist the monk (talk) 14:50, 13 June 2019 (UTC)[reply]
    @Trappist the monk: Out of curiousity, what is your approach for generating these lists? I was thinking about throwing together a Python script to generate a comprehensive table and it made me curious about your methodology. Retro (talk | contribs) 15:50, 13 June 2019 (UTC)[reply]
    Manual, assisted by the regex facilities of my editor when simple repeatable tasks are more quickly done that way. I didn't want some sort of automated thing; I wanted to look at each template call to see what it was and then comment or not depending on what I saw.
    Trappist the monk (talk) 16:28, 13 June 2019 (UTC)[reply]
    Upper case list done.
    Trappist the monk (talk) 16:28, 13 June 2019 (UTC)[reply]
  • I agree that a bot should be allowed to replace all the usage of {{foo icon}} because these templates do not render icons, nor should they AFAICT. There's certainly some of us editors who happen to know the existing syntax, but there is no actual big loss if we're forced to convert to having to know some other piece of syntax that is less counter-intuitive. --Joy [shallot] (talk) 14:49, 12 June 2019 (UTC)[reply]
  • Delete all A clear, in my mind, instance of hundreds of templates doing a task that could be (and is, to some degree) done by one template. * Pppery * it has begun... 16:34, 12 June 2019 (UTC)[reply]
  • Question. What is to prevent the recreation of one or many of these templates by someone ignorant of their previous creation and deletion? Hyacinth (talk) 13:44, 13 June 2019 (UTC)[reply]
  • @Yngvadottir, Kiyoweap, Refsworldlee, StudiesWorld, Frietjes, and Hyacinth: You all have, in one form or another, expressed concerns that outright deletion may leave behind those used to the existing way of using these templates.

    So here's my suggestion: instead of deleting the templates immediately after all the transclusions are replaced, we let the templates remain usable and deprecated for a time. If new transclusions arise, they can be replaced (probably by bot). Perhaps they can eventually be deleted in a later discussion if everyone has become used to the new model, but that can be a discussion for another time.

    Of course, some of you have also expressed that you feel replacement is unnecessary, and you are welcome to repeat or elaborate on that here, but I don't necessarily see that as productive in furthering the discussion. For me, this discussion has shown that a primary benefit of centralizing (in addition to my rationale about name ambiguity) is to allow future renovation to {{Link language}} without requiring hundreds of templates be edited to be able to use those renovations; Here, I'm referring specifically to DocWatson42's suggestion to add support for capitalization and Trappist the monk's sandboxing to allow support for a compact list of multiple languages. Retro (talk | contribs) 14:29, 13 June 2019 (UTC)[reply]

    I think that plan makes sense. However, I think that if any of the templates continue to see significant transclusions going forward, we should consider maintaining them specifically, while deleting the rest in the class. StudiesWorld (talk) 14:33, 13 June 2019 (UTC)[reply]
    That will be good to consider after we see how usage counts settle. I don't really think we'll continue to see signficant usage, because I suspect many people look at existing pages to remember how to use a template (I certainly do on occasion). On the flipside, there are certain templates that have never been used and that are similar existing template names, so those might eventually be good targets for redirecting or deleting. Retro (talk | contribs) 15:02, 13 June 2019 (UTC)[reply]
    If the decision is to deprecate the templates in the template list (and their redirects?) then each of the deprecated templates should be marked with {{deprecated template}}. I mean if (if) anyone ever reads the documentation, there will be the don't-use-this-deprecated-template message glaring at them which might go some way in reducing the use of old-style templates. Or not.
    Trappist the monk (talk) 16:37, 13 June 2019 (UTC)[reply]
    @Trappist the monk: {{Deprecated template-inline}} would probably be better, so it doesn't break the formatting around it by inserting a giant box. But I seem to remember another template that might be even better...
    On a side note to this TfD discussion, I've been looking at some of the depreaction templates, and I'm starting to think they should all be merged into {{Deprecated template}} with a |type= parameter, in the style of {{Template for discussion/dated}} Retro (talk | contribs) 12:06, 14 June 2019 (UTC)[reply]
    I do not mean that every instance of the deprecated templates in article space should be marked with {{deprecated template}} which is why I wrote: I mean if (if) anyone ever reads the documentation, there will be the don't-use-this-deprecated-template message glaring at them which might go some way in reducing the use of old-style templates. Or not. Given the push-back that happened because the templates in the list are/were marked with the tfd annotation, I suspect more of the same could be expected from use of {{deprecated template-inline}}.
    Trappist the monk (talk) 12:57, 14 June 2019 (UTC)[reply]
    Oh, sorry I misunderstood. So your suggestion is more along the lines of editing the documentation metatemplate that all the wrapper templates use to note the wrapper templates are deprecated. I think that suggestion makes sense. Retro (talk | contribs) 15:32, 14 June 2019 (UTC)[reply]
  • Strong, decisive support. The arguments of Retro are too formidable for me to doubt. Getting rid of the LIE that is the Langcode "icon" templates will do much good for new editors. Retro has been so patient with you guys, and yet they've been met with petty complaints. Too much of the opposition to this proposal is motivated by sheer resistance to change. The Wikipedia community has accomplished much larger, much more complicated tasks that this. — Mr. Guye (talk) (contribs)  00:55, 14 June 2019 (UTC)[reply]
  •   Comment: Retro says his suggestion will "allow future renovation to {{Link language}} without requiring hundreds of templates be edited" but this maintenance issue he claims seems nonexistent to me.
  • I've looked at {{ja icon}} and it calls on {{Link language}}. Presumably the "hundreds of templates" are the same. So whatever changes to {{Link language}} is updated on the hundreds of templates it calls, n'est-ce pas? --Kiyoweap (talk) 01:39, 14 June 2019 (UTC)[reply]
    @Kiyoweap: Template parameters have to be explicitly invoked through wikicode like {{{arg name}}}. Therefore, if one wants to add to a new parameter to multiple templates, each template has to be edited to add each new parameter's name. In this case, it would be code like |arg name={{{arg name}}}.

    Though technically, explicit argument declaration wouldn't be necessary if the entire code was turned into a Lua module. But such is not the case currently: as you note, all of the modules call {{Link language}} directly. There would still be the initial maintenance with the Lua module: the template code invoking the module would have to be copied and individually tweaked for each of the 300+ template titles. Retro (talk | contribs) 02:08, 14 June 2019 (UTC)[reply]

  • Support Though I think language full names are easier to remember than language codes. Masum Reza📞 02:15, 15 June 2019 (UTC)[reply]
  • Support. per above. I really can't see a reason why we need to call them icon templates nor why we need {{fr}} when (in French) works just as well and would be much more consistent with other languages. Honestly, this template should just be a magic word to make them consistent across all projects, but I digress.MJLTalk 02:49, 15 June 2019 (UTC)[reply]
  •   Comment: Retro's point is that if future somebody wants to give {{Link language}} an additional parameter/option, we would need to edit the hundreds of {{xx icon}}s IF we want to give that parameter/option to all of them.
  • Well what if we don't bother. It just means {{xx icon}} will render only in the default "(in xx language)". Would that necessarily be a problem? I think not. --Kiyoweap (talk) 20:40, 17 June 2019 (UTC)[reply]
    @Kiyoweap: That is basically why I shifted the planned handling to deprecate as opposed to delete. With the current plan, the existing templates will still work.

    This does leave a more fundamental question of whether the proposed replacement passes the threshold to favor replacement instead of leaving existing transclusions. As I see it, the strongest argument against replacement appears to be that these are long-standing templates that people are already familiar with. My altered plan to deprecate takes the editing precedent into account. But on the flipside, the advantage in replacement is that it conceptually combines related functionality so that utilizing this functionality is straightforward; it avoids the level of indirection and complexity that maintaining (or navigating through the docs of) the wrapper templates would be. To put it simply, I see deprecation and replacement making these templates easier to use for everyone in the long term.

    Is there a particular reason you think mass replacement would be harmful? Retro (talk | contribs) 23:22, 17 June 2019 (UTC)[reply]

    @Retro: If the proposal has shifted, shouldn't you have indicated that shift in the the proposal's description? Or, perhaps better, restated the proposal as a separate item (Proposal2) or as a separate subsection of this tfd? All of this is, of course, problematic because there are !votes opposing and supporting the original Proposal that may or may not be invalidated if you shift the goal posts.
    Trappist the monk (talk) 11:20, 23 June 2019 (UTC)[reply]
    @Trappist the monk: I've edited the original description to try to clarify that ambiguity.
    I originally suggested this tweak to the proposal in this edit. For my part, I saw it as a small tweak (hence I have now integrated into the current proposal, rather than creating a separate proposal), but I did notify most of the opposing !votes because it was directly addressing them. For fairness sake, I will make a similar comment addressing those supporting in case this has changed their minds about the proposal.
    Sorry for the (small) delay in response; I've been away for a few days, as can be seen by my contributions history.
    If there's anything else I should fix with this TfD, I'm open to hearing about it. Retro (talk | contribs) 19:36, 24 June 2019 (UTC)[reply]
  • Oppose as there is no particular benefit, and it will cause trouble to the hundreds of people that use them. Instead of the proposed bot replacement, it should go much further in converting the links into cite templates, using the language= parameter based on the above template. In the long run this will be more constructive, than busywork that makes it harder to edit. Graeme Bartlett (talk) 04:01, 19 June 2019 (UTC)[reply]
    Trappist the monk can probably address the merging idea more competently than I can (relatedly, this makes me wonder if the CS1|2 templates support enumerated |language= parameters?). Another thing is, I'm not sure how many of these templates are next to citation templates vs. bare links. Retro (talk | contribs) 12:27, 20 June 2019 (UTC)[reply]
    I agree that converting links to the appropriate cs1|2 template with |language= (WP:CITEVAR permitting) should be considered. But, the tools available to do that routinely produce crap that I revert on a regular basis (reFill for example, produces a lot of crap cs1 citations – much of the blame for that falls on lazy editors who blithely accept whatever the tool suggests). The task becomes much more difficult when a {{<xx> icon}} template is coupled with free-form text that may or may not be commentary, may or may not be bibliographic detail that may or may not be a mix of plain text, links, and templates ({{isbn}} etc). The free-form text may have a more-or-less consistent format within an article but, article-to-article, it is unlikely that free-form text will have much in the way of a consistent format which makes it extraordinarily difficult to design a tool to convert the plain-text + {{<xx> icon}} template to cs1|2 template.
    There are {{<xx> icon}} templates adjacent to cs1|2 templates. My recent run of Monkbot/Task 6 fixed several thousand of those; it did not find them all because I ran the bot against only the subcategories in Category:Articles with non-English-language external links that have 1000+ articles.
    cs1|2 |language= isn't an enumerated parameter; it will accept a comma-separated-list of language names and codes understood by MediaWiki.
    Trappist the monk (talk) 13:32, 20 June 2019 (UTC)[reply]
  • Support. Delete all of them. They have no functional purpose and degrade the quality of articles. 37.254.78.42 (talk) 04:47, 23 June 2019 (UTC)[reply]
  •   Comment: If Retro is saying he's shifted from delete to deprecate, users like the IP user above should stfu and stop saying 'I vote for delete', etc.
I am against the bot in this sense: Bot activity causes annoying extra work when it intervenes while you are consecutively editing. Less of it the better. So I don't want to encourage bot activity on flimsy excuses of the 'I think this syntax should be used' variety, especially when the end result isn't going to render any different.
I disagree with Graeme Bartlett's language= parameter suggestion because if my memory serves this does not reliably tag "(in xx language)" at the end of the citation, which is why using xx icon (Link language xx) was preferable for me.--Kiyoweap (talk) 06:27, 23 June 2019 (UTC)[reply]
  • Comment: @Tom (LT), Koavf, OwenBlacker, Howcheng, Opencooper, Joy, and Pppery: Just a heads-up: I tweaked the proposal from delete to deprecate (see this comment for more details). If you would like to change your !vote as a result, feel free to do so. Retro (talk | contribs) 19:36, 24 June 2019 (UTC)[reply]
    @Retro: Thanks for the heads-up. I am still happy to !support either way. — OwenBlacker (talk; please {{ping}} me in replies) 19:50, 24 June 2019 (UTC)[reply]
    If !vote means not vote; does your !support mean that you have changed to not support and therefor oppose?
    Trappist the monk (talk) 20:00, 24 June 2019 (UTC)[reply]
    Given their previous vote was support, I'm sure they meant they're continuing to support.
    Still, OwenBlacker: I would recommend rephrasing from !support to just plain support if that's what you mean. As Trappist points out, ! means "not". Retro (talk | contribs) 00:09, 25 June 2019 (UTC)[reply]
    Sorry, I didn't realise that was going to be taken as ambiguous. Yes, I continue to support the proposal — and I am happy to support deletion or deprecation, whichever is more likely to achieve consensus. — OwenBlacker (talk; please {{ping}} me in replies) 10:25, 25 June 2019 (UTC)[reply]
    What Owen said. howcheng {chat} 19:52, 24 June 2019 (UTC)[reply]
Link language wrappers section break edit

  • Support using {{in}} The current name scheme makes no sense, but {{LL|lang}} also doesn't make sense. {{in|lang}} does make sense on the other hand, as it would be used as [https://en.wikipedia.org link] {{in|lang}} and would render as link (in language), and it's still as short as {{LL}}. I would also support {{in lang}}, but it an extra 5 characters and is longer than the current method. The current usage of {{in}} could be replaced with {{contains}} (or something similar) as it is only used on a few pages.BrandonXLF (t@lk) 02:18, 26 June 2019 (UTC)[reply]
    We just removed |in= from the list of parameters supported by CS1 as editors were not using it correctly. This seems like a Bad Idea. --Izno (talk) 18:22, 16 July 2019 (UTC)[reply]
  • Support using {{in}} per BrandonXLF. Easy to remember, and even more logical than xx icon. A caution about the current usage of {{in}}, though: it's supposed to be subst:ed, so whatlinkshere is not useful. And most of the transclusions are completely erroneous (not looking for the ∈ symbol at all). "Contains" isn't appropriate, but perhaps "isin" would work, following &isin;. Wikiacc () 18:03, 26 June 2019 (UTC)[reply]
  • Support {{in}} with redirect from current names so it doesn't break pages like Burgenland Croatian. T3h 1337 b0y 00:24, 1 July 2019 (UTC)[reply]
    @BrandonXLF, Wikiacc, and T3h 1337 b0y: I'm relisting this t0 accommodate this new proposal. I'll just suggest though, we name the template {{in lang}} with a redirect from {{in}}. That would make it similar to {{re}}/{{RE}} and {{Reply to}}. I'll also push back a little say that {{LL}} to me did make sense as {{Link Language}}. However, I want to give other users a chance to weigh in, but I do concede {{in}}/{{IN}}Which is currently salted would make just as much sense (if not moreso). {{in}} could easily be replaced with {{SetMember}}/{{setmember}} (shortcut:{{SetM}}/{{setm}}) per our article. –MJLTalk 22:07, 5 July 2019 (UTC)[reply]
  • Support. Well, sort of. You see, I am in favor of deleting them all, and having a bot removing all its instances. They seem like pollution to me. All they do is to write, e.g., "(in Japanese)" in a fashion that says "it's okay to make articles that look like slapdash henhouses". I prefer writing, e.g. "Japanese article about the involvement of Oda Nobunaga in the conflict". 5.75.14.56 (talk) 10:08, 1 July 2019 (UTC)[reply]
    This is entirely incompatible with the nature of this proposal. Retro (talk | contribs) 17:28, 6 July 2019 (UTC)[reply]
Relisted to generate a more thorough discussion and clearer consensus.
Relisting comment: Edited: Let's generate the final bit of consensus on a few matters. Are there any more thoughts? It has been proposed that {{in}}/{{IN}} (Full name: {{in lang}}) be used instead of {{LL}}/{{ll}} (Full name: {{Link language}}). What name for the new merged template is prefered?
Please add new comments below this notice. Thanks, –MJLTalk 22:07, 5 July 2019 (UTC) 17:42, 6 July 2019 (UTC)[reply]
  • Comment. Since this is a highly visible set of templates, I've begun the process of updating the link to the discussion using AWB. –MJLTalk 22:37, 5 July 2019 (UTC)[reply]
    @MJL: I will caveat by noting I am certainly the most involved party here, but I disagree with the rationale for this relisting because I think it unreasonably enlarges the scope of this discussion.

    You relisted this template with the comment: What name for the new merged template is preferred? I respond by quoting from my original proposal: This naming suggestion is not intended to be the "one true format"; other redirects and the template itself could still be used. The main reason titles are involved in this proposal is to determine if there are acceptable alternatives to the current titles, not to require a definitive format. I see no reason why the closer should have to decide on the preferred name. Because of this, I have removed your addition of {{in}} that you included with the relisting.

    @BrandonXLF, Wikiacc, and T3h 1337 b0y: You are welcome to open an RM to usurp {{in}}. You are also welcome to make your vote strictly conditional that {{in}} be used (though I think that would be a bit silly, as I explained above). Retro (talk | contribs) 17:28, 6 July 2019 (UTC)[reply]

    @MJL: Also, I encourage you to strike your relisting comment if you think my objection makes sense. (Sorry for the double-ping, but I wanted to make sure you read this addition). Retro (talk | contribs) 17:39, 6 July 2019 (UTC)[reply]
    @Retro: No need to apologize for the ping. I really like them. If people pinged me in random conversations just to ask what I thought about it, I'd probably die early from happiness. Pings are so great, and I'll never understand why people on this site hate being notified of stuff. ¯\_(ツ)_/¯MJLTalk 17:45, 6 July 2019 (UTC)[reply]
    @Retro: Thank you for pinging me. I've now stricken that portion of the relisting comment and replaced it with something more generic. Thank you for the feedback and the review on my relist.   (edit conflict)MJLTalk 17:42, 6 July 2019 (UTC)[reply]
  • Support the original proposal of complete deletion of the templates, without any deprecation period. I've read the complete thread and had time to understand the issue presented by both sides. It is obvious that (a) the current name is just plain wrong. There is no icon involved here. (b) having templates and redirects with the same style but for different proposes is also bad (like in the {{en}} example). (c) Having hundreds of templates and redirects doing the same thing, is counter-productive. If a change is wanted, it will take a massive amount of editorial time and a spam of watchlists, for something that should only happen in one place. Having taken into account these points, the result is pretty clear that the templates should be gone. Now the question is whether they should be deprecated or deleted. From my experience with TfD discussions and past deprecated templates, I've seen that even if a consensus has been reached to deprecate them, they might still be used and even more problematic, this exact same discussion will have to be re-done just to delete them. I haven't seen any compelling argument as to why these need to be deprecated first for a significant period of time. If we are we afraid editors might not know where to look, then we could set the deprecation period for a month or two, after-which they would be deleted. But an open-ended time frame is a big no from me. Also side comment to Kiyoweap, the IP can support the original delete proposal without you telling them to "stfu". --Gonnym (talk) 13:40, 6 July 2019 (UTC)[reply]
    @Gonnym: Above, you said If we are we afraid editors might not know where to look, then we could set the deprecation period for a month or two, after-which they would be deleted. This exact concern was raised in various forms multiple times in the above discussion, and is exactly what prompted me to shift the main proposal to deprecation.

    To address your then-conditional suggestion of explicit time-limited deprecation, mandating deletion after an exact amount of time seems very robotic to me: it creates a hard line where deletion must occur, without regard for context of usage.

    For me, requiring a second discussion for the deletion is very much by-design to allow usage patterns following deprecation to be evaluated, so we can avoid a situation where someone using this template is left in the dark about the deprecation. I don't think there does have to be a significant deprecation period; depending on usage, it will probably make sense to have the follow-up discussion in a 1-3 months. I also don't think such a discussion will be this exact same discussion; most of the issues raised are particular to the current state of these templates, so they will become irrelevant after these templates are deprecated.

    I cannot see how the harm of having another discussion in a few months outweighs the potential harm to users of this template if this template is deleted without their knowledge. I invite to elaborate on why you think it does, or otherwise revise your comment. Retro (talk | contribs) 18:20, 6 July 2019 (UTC)[reply]

    Deprecation usually means that a piece of code is no longer supported and is going to be removed at a certain date. In this discussion, not only are we not stopping support for the templates (as I'm sure that if needed, they will be edited), we are also not removing them later. So what is the purpose of this discussion? To tag them with the shiny deprecation template? I'm not interested in rehashing this same discussion at a later date. I'm supporting complete deletion. If this isn't deleted, then there is no point in deprecation with a maybe discussion later. --Gonnym (talk) 22:56, 6 July 2019 (UTC)[reply]
    @Gonnym: The purpose of this discussion is to gain consensus to replace all existing transclusions of the {{<langcode> icon}} templates (and redirects) with a single parameterized template using a bot. This will be a substantial task in-itself and I suspect it will go most of the way towards discouraging future usage. But future usage remains to be seen.

    From your comment of maybe discussion, I feel you may misunderstand my plan. I'm not wavering on whether these should eventually be deleted, I would just like to play it by ear to determine when the next discussion should be had. I will start the second discussion if no one else beats me to it, and start it in a year at most (that is not to say I won't start it much sooner.)

    Furthermore, I will be actively be involved in replacement and notifying people still using the templates about the deprecation after these templates are deprecated. Retro (talk | contribs) 02:41, 7 July 2019 (UTC) (expanded 03:00, 7 July 2019 (UTC))[reply]

  • Support for simplicity and clarity, with the {{in}} syntax preferred (indeed the mathematical use of "in" can be switched to another template name). — JFG talk 23:17, 11 July 2019 (UTC)[reply]
  • Oppose the name introduction of a yet another wikilogism which meaning is not what the words mean. It is NOT a link. It is a display of language code. Wht not call it langcode? - Altenmann >talk 23:01, 13 July 2019 (UTC)[reply]
    @Altenmann: The proposal is not for a specific name, it is simply to determine whether there is consensus to cease support for the split code between the templates.
    In regards to what a more usable name could be, in later discussion I have suggested {{in lang}} as an alternative, which is succinct enough to be easily used, but hopefully understandable enough to not be confusing. I also agree that {{Link language}} is confusing, and I commented further on this issue here: Template talk:Link language § Title of this template and its categories. Retro (talk | contribs) 23:54, 13 July 2019 (UTC)[reply]
    Fix ping: Altenmann Retro (talk | contribs) 23:55, 13 July 2019 (UTC)[reply]
    But upon closer inspection, I suspect you did not intend this comment to be in direct opposition to the proposal's core, but more of a general consideration when assessing how to solve the problem. I'm quite happy to receive feedback in this area; I definitely would like to carefully design all changes so they're as accessible as possible to Wikipedians of all experience levels and backgrounds. Retro (talk | contribs) 00:03, 14 July 2019 (UTC)[reply]
  • Oppose any new shortening such as "LL". It's fine however to pick one preferred syntax and deprecate the others, especially if it's self-explanatory and/or used on other wikis too, like {{en}} etc. which is used on Wikimedia Commons. Nemo 21:25, 14 July 2019 (UTC)[reply]
    @Nemo bis: Would you be fine with a reformulation like {{in lang|<langcode>}}? Am I correct as understanding your opposition being towards creating potentially ambiguous abbreviations like "LL" that would not be immediately clear? Retro (talk | contribs) 15:39, 15 July 2019 (UTC)[reply]
  • The way it was before, was perfectly fine. Introducing abbreviations will just confuse our readers even more.:(--Biografer (talk) 17:58, 15 July 2019 (UTC)[reply]
    @Biografer: I am unsure what you are concerned about. This TfD only concerns an editor-side change, so it should not affect readers at all. Retro (talk | contribs) 23:01, 15 July 2019 (UTC)[reply]
    Let me rephrase it: I was referring to this: {{link language/sandbox|cs|en|de|fr|es|it|pl|ru|ja|zh}}. How is this better then {{xx icon}}? Like, what if a specific language is not present? All sites have English, but not all foreign sites have other languages. For example, if the site is Polish, it wont have Chinese option. What's the point?--Biografer (talk) 23:29, 15 July 2019 (UTC)[reply]
    That was an example (codes taken from Moravia § External links) so a single template:
    {{link language/sandbox|cs|en|de|fr|es|it|pl|ru|ja|zh}}
    {{link language/sandbox|cs|en|de|fr|es|it|pl|ru|ja|zh}}
    instead of writing (as is done at Moravia § External links):
    {{tlx|cs icon}}, {{tlx|en icon}}, {{tlx|de icon}}, {{tlx|fr icon}}, {{tlx|es icon}}, {{tlx|it icon}}, {{tlx|pl icon}}, {{tlx|ru icon}}, {{tlx|ja icon}}, and {{tlx|zh icon}}
    (in Czech), (in English), (in German), (in French), (in Spanish), (in Italian), (in Polish), (in Russian), (in Japanese), and (in Chinese)
    We don't need all of those parentheses – that just looks very unprofessional.
    Trappist the monk (talk) 23:48, 15 July 2019 (UTC)[reply]
    @Trappist the monk: What so unprofessional about parentheses? I see nothing wrong with {{xx icon}}. We use the same parentheses in {{cite web}}. Putting {{link language/sandbox|cs|en|de|fr|es|it|pl|ru|ja|zh}} will be more confusing. That is, what if the language that site is suppose to be in is not present. Say for example, the site is in English but not Polish, then the English will lit up while the other languages will not.--Biografer (talk) 16:42, 16 July 2019 (UTC)[reply]
    Not to mention that we have external links in far more then those ten languages. We have external links that are: (in Bosnian), {{bs icon}} (in Croatian) {{hr icon}}, (in Serbian) {{sr icon}}, (in Ukrainian) {{uk icon}} and in (in Vietnamese) {{vi icon}} as well as (in Norwegian) {{no icon}}, (in Dutch) {{nl icon}} and (in Swedish) {{sv icon}}. Do you all really think that introducing this looooong template will be better?--Biografer (talk) 16:59, 16 July 2019 (UTC)[reply]
    @Biografer: I'm still not sure I understand your concern. Is the problem that multiple sets of parenthesis would be turned into one?

    What do you mean by the language that site is suppose to be in? Do you mean the default language for the site?

    What do you mean by the English will lit up?

    Also, you mention that it will be a looooong template, and I'm not sure what you mean by that. The only measure by which allowing multiple language parameters into one template would be longer would be if you're comparing content per individual template transclusion. However, overall, the wikitext will be much shorter because a combined form will require only one template transclusion, while the current form requires N tranclusions, where N is the number of languages. Are you talking about the template code itself?

    Regardless, the combined form is only one potential effect of the proposal, not the main base of it (which is to deprecate the templates that repeat the same code across hundreds of separate pages).

    I apologize for not understanding. Retro (talk | contribs) 17:12, 16 July 2019 (UTC)[reply]

    @Retro: the language that site is suppose to be in? Do you mean the default language for the site? - Yes. What I mean by lighting up, is that when you click on any link it is either red or blue. Will it be the same with this template? If so, how will it affect our readers and/or editors?--Biografer (talk) 17:27, 16 July 2019 (UTC)[reply]
    @Biografer: The change that is proposed to this template isn't related to changing links at all. This template doesn't link to the languages that it lists, it merely annotates an existing external link. Changing this template won't affect the external link.
    @Biografer: Are you talking about this link: ‹See Tfd›? This link will be gone when the discussion is over. Retro (talk | contribs) 17:33, 16 July 2019 (UTC)[reply]
    @Retro: No. What will change in appearance then? Either way, I guess I will need to wait and see what will come off of it. :)--Biografer (talk) 18:02, 16 July 2019 (UTC)[reply]
    @Biografer: No appearance changes will be a direct result of this TfD. Two changes that may occur indirectly are the a capitalization modifier so that the annotation will be properly capitalized if placed prior to a link and the combining of multiple parentheticals into one grouped parenthetical. Retro (talk | contribs) 19:03, 16 July 2019 (UTC)[reply]
    @Retro: So instead of the {{xx icon}} we will use {{LL}}. If so, how would we know which external link is in which language?--Biografer (talk) 19:07, 16 July 2019 (UTC)[reply]
    @Biografer: Let me give a concrete example. Let's say there's a link to a source in French. Currently, the wikicode would look like this:
    • French source {{fr icon}}
    This proposal would deprecate that form and replace it with a paramerized form (a form where the <langcode> is not part of the template's title, and is instead given as an argument). The replaced wikicode would look something like this:
    • French source {{in lang|fr}}
    Retro (talk | contribs) 19:24, 16 July 2019 (UTC)[reply]
    @Retro: Makes sense as an example. Then what will be the difference between {{fr icon}} and {{in lang|fr}} if they will all say the same thing: (in French)? Seems like we are fixing something that isn't broken. PS, the link that I provided is for the redirects, but I hope you understand what I am trying to say.--Biografer (talk) 19:36, 16 July 2019 (UTC)[reply]
    @Biografer: You are not alone in expressing that sentiment. The comparison to redirects is an interesting one, but I do not quite think it fits. The key here is that these are wrappers, not redirects, which is relevant for the sake of maintenance: in the current situation, adding a new parameter requires individually editing each of the 300+ templates. Then there is the matter of routine maintenance: 300+ templates is a large attack surface, whether an individual change to one of the templates is done in bad faith or not. Centralizing the template code simplifies future maintenance and ensures individual languages do not become out of sync with the main template (as Trappist pointed out in the case of language categories). Another benefit is we have an opportunity to replace the misleading "icon" title with a more accurate title. Retro (talk | contribs) 20:01, 16 July 2019 (UTC)[reply]
    @Retro: My analogy have nothing to do with redirects, all that I expressed was that the template wasn't broken and fixing it is an erroneous task. Unfortunately, at the time I was writing the comment I found no guidelines for "fixing not broken templates" and therefore was forced to use a "redirect" version instead. I don't see anything misleading in the "icon" title. If it is misleading, then what are the alternatives?--Biografer (talk) 20:22, 16 July 2019 (UTC)[reply]
    @Biografer: Regarding icon being misleading, an icon is an image, but this template merely formats text. See the Wiktionary entry: definitions 1 and 4 are relevant, 2 and 3 are completely unrelated, and 5 is an unrelated linguistic concept. "In lang" seems like a clearer title suitable for a template redirect, while an even more descriptive title could be used for the main template title (something along the lines of "Language of source" would probably be better, at least based on this discussion).
    I did not intend to straw man your statement; I generally meant to convey that the "not broken" argument seems to apply more cleanly to redirects than it does to separate templates. But I can see your point. It is true that the template is "not broken" in the most literal sense of still transcluding the annotation as expected, but a major goal of this proposal is to better organize the template's backend to ensure it will continue to function in a consistent manner, and also make future changes straightforward to implement. Retro (talk | contribs) 21:39, 16 July 2019 (UTC)[reply]
  • Comment. I'd have written "The only reason is" rather than "The only reason are." Michael Hardy (talk) 19:20, 17 July 2019 (UTC)[reply]
    Good catch! My subject-verb agreement was off. Retro (talk | contribs) 02:23, 20 July 2019 (UTC)[reply]
  • Off-topic comment Can I go out on a limb and ask whether we really need to have a template (any template at all) for this job? Using a template made sense with the elaborate formatting of this string of text in the early days of wikipedia, but now the visual output of the templates consists entirely in plain text. Wouldn't it be a lot simpler for everybody involved if instead of requiring people to memorise ISO 639 codes and write template calls, people wrote just ... ermm.... in plain text? I don't think strings like (in Swedish) are used often enough to justify having a template as a shortcut. As far as I can see, the only two additional things that the template does is to add a css class so that editors can customise the output (apparently only two editors are using this functionality [1]), and to add maintenance categories like Category:Articles with Portuguese-language external links. Is this categorisation (added to the main template in 2011) needed for any maintenance tasks at all? – Uanfala (talk) 13:11, 24 July 2019 (UTC)[reply]
    I have a crude AWB script that I use to periodically troll through Category:CS1 maint: Unrecognized language. That script has nearly 50 misspellings of Portuguese. A template {{in lang|pt}} produces consistent use-to-use formatting and gets the spelling right. I have written elsewhere that editors don't always use {{<xx> icon}} with linked sources so the categories should probably be moved to Category:Articles with <language name>-language sources (if this tfd is ever decided).
    Trappist the monk (talk) 14:52, 24 July 2019 (UTC)[reply]
    But wouldn't that be an argument for templatefiying every mention of "Portuguese" (or other language names) anywhere in articles? – Uanfala (talk) 20:53, 25 July 2019 (UTC)[reply]
    You would think that with modern browsers and spell checking, Portuguese and other language names would never be misspelled, yet they are.
    Trappist the monk (talk) 11:01, 26 July 2019 (UTC)[reply]
  • Support; the proposed changes would ultimately make the templates easier to use. Jc86035 (talk) 10:33, 26 July 2019 (UTC)[reply]
  • Support; I support deprecating the {{langcode icon}} templates and replacing them with {{In lang|langcode}} (and {{In lang|language}}) with no other parameters. Please, no |cap=yes, my English teachers would turn over in their graves if I started a sentence with a parenthetical phrase.
I do not support {{Link lang|langcode}}. First, it does not create a link. Second, it is not intuitive. I have done 10,000+ plus edits and I still expect to see an "icon" generated by {{es icon}}.
I do not support {{langcode}}; There is nothing intuitive about {{de}}, {{es}}, {{fr}}, {{pt}}, {{so}}, etc.
I found the "Portuguese" discussion interesting. I "learned" that the language code for Portuguese is "pt", and I am getting better at looking them up, but it is still quite a chore. I believe one of the reasons for the templates is to add the item to the hidden language categories. Being able to use Language as the parameter value would encourage the use of the template by new editors. (I still consider myself a "new" editor.)
User-duck (talk) 18:08, 26 July 2019 (UTC)[reply]
  • Weak Support for any solution with one template and the langcode as a parameter, I guess the proposal would make things easier, one template is easier than hundreds. I just hope someone makes a call on this TfD soon, as the obnoxious "See Tfd" next to every other bit of foreign text has been making Wikipedia look extremely ugly for the last month and this would have been much better to discuss in an RfC IMHO.– filelakeshoe (t / c) 🐱 20:52, 26 July 2019 (UTC)[reply]
  • Support as I agree this is a maintenance nightmare (and I will let others decide what is the best naming of {{link language}} and its possible redirects), however, something else will need to be done for cases where {{langcode icon}} uses |cat-lang= from {{link language}}. Examples (taken from Template:Link language/doc) include: {{bla icon}}, {{ilo icon}}, {{ksh icon}}, {{nan icon}}, and {{prs icon}}. I would not want to force users to have to specify that for each instantiation (that would be an even larger maintenance nightmare). Luckily, this appears to currently affect few actual articles (based on a manual preliminary assessment) but this could grow in the future and a solution is needed. The issue would need to be evaluated (add some parameter tracking) and a solution found first (perhaps this could be added to Module:Lang and friends). Make |cat-lang= from {{link language}} go away first (note {{link language/Notes}} also uses this parameter) and this becomes much more plausible direction to adopt. I believe a similar argument could be made for {{lang-langcode}} (but one thing at a time right?). 50.53.21.2 (talk) 09:41, 27 July 2019 (UTC)[reply]
    If this tfd is ever closed in favor of a single parameterized template, appropriate content from {{link language/Notes}} might be merged into the 'new' template's documentation. After that, {{link language/Notes}} becomes unused and a candidate for deletion.
    With regard to |cat-lang=, there has been some discussion at Template talk:Link language § the cat-lang parameter. I would prefer that that parameter go away.
    I'm not quite clear what you mean by I believe a similar argument could be made for {{lang-langcode}}. Issues with those templates (unless specific to one particular template only) should be taken up at Template talk:Lang and not here.
    Trappist the monk (talk) 10:43, 27 July 2019 (UTC)[reply]
    I quite agree with the directions you have proposed under Template talk:Link language § the cat-lang parameter. What I meant by the comment you quoted above is just the proliferation of langcode in template names vs. template parameters. Both {{langcode icon}} and {{lang-langcode}} have this construction and cause the proliferation a large number of templates and that in turn becomes a maintenance issue. I have no idea how hard it would be to fold {{lang-langcode}} into {{lang}} (or even if there would be enough support for that), but I see both issues in much the same way and why I drew the correlation. 50.53.21.2 (talk) 17:31, 31 July 2019 (UTC)[reply]
  • Support I support deprecating the many {{langcode icon}} templates and replacing them with {{In lang|langcode}} because this will standardize hundreds of templates into 1 template with many parameters. I do not support {{LL|langcode}}, {{Link lang|langcode}}, or {{langcode}} because they are not as intuitive for editors. --jay1279 (talk) 00:29, 28 July 2019 (UTC)[reply]
  • Comment Would someone close this discussion already? It's been over one and half month. Masum Reza📞 23:22, 28 July 2019 (UTC)[reply]
  • Support all forms of the proposal. As I wrote above, I'm not convinced we need a template at all for this job, but if it is to be done via templates, then it's better if that's a single one rather than a family of hundreds. Furthermore, the titles ending in "icon" just ought to go: they might have made sense in the early days of wikipedia, and some editors who are used to them don't mind them, but they add unnecessarily to the learning curve for new editors and their names are downright misleading. – Uanfala (talk) 12:57, 29 July 2019 (UTC)[reply]
  • Oppose, particularly the utterly unintuitive {{LL}} replacement.

    Aside from there not actually being a problem beside some editors' distaste for typing "icon" to get what is now text, the valid argument is that we need a one-stop shop for future changes. Well, what is the proposed change that necessitates this bother in the first place? It seems entirely speculative and the existing tags seem to work just fine.

    I don't mind coding some new better-named template that the current templates can redirect to (replacing {{in}} with something useful and intuitive seems like a very good idea) but opposing the lack of problems requiring any change is the REAL and SERIOUS problem (utterly ignored by most posters here) of forcing our editors to relearn and rehash some new code for something we can already do perfectly well. There's also existing templates like {{citation}} that auto-generate these templates. — LlywelynII 09:32, 30 July 2019 (UTC)[reply]
  • Oppose replacements requiring use of the pipe character, mainly for the same reason as the removal of the ISBN magic word. Easier on the server, easier on the programmer, easier on the template maintainer. Not easier on the editor. DaßWölf 03:00, 2 August 2019 (UTC)[reply]
  • Oppose First - WP:NOTBROKE. Second - some templates on Wikipedia use other templates and this is a whole system. If you can redo the templates so that you don’t have to change the old inclusions, then maybe this is worth doing, but you don’t need to destroy completely old templates to create a new one.·Carn !? 12:42, 2 August 2019 (UTC)[reply]
    Because the templates that transclude {{link language}} have been mentioned, I have created a list. The list excludes all of the {{<xx> icon}} templates, excludes ~/sandbox templates, excludes ~/testcases pages, and excludes ~/doc pages.
    Trappist the monk (talk) 13:51, 2 August 2019 (UTC)[reply]
  • Support Sure some experienced editors will have to take a minute to learn the new syntax, but this proposal just makes so much sense. The potential to extend support for full language names ("german" rather than "de") would be a huge benefit to editors who haven't memorized every two letter code! Preference to naming "In lang" with "In" as a shortcut. BLAIXX 17:05, 2 August 2019 (UTC)[reply]
  • Comment It would be good to expedite your discussions, important though they are. The tfd tags are somewhat intrusive. Thincat (talk) 20:25, 3 August 2019 (UTC)[reply]
The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

REM s-line templates edit

The following discussion is an archived debate of the proposed deletion of the template below. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

The result of the discussion was delete. — JJMC89(T·C) 04:37, 13 July 2019 (UTC)[reply]

{{S-line}} templates for the Réseau express métropolitain. Superseded by Module:Adjacent stations/REM. All transclusions replaced. BLAIXX 17:32, 5 July 2019 (UTC)[reply]

The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

NMRX s-line templates edit

The following discussion is an archived debate of the proposed deletion of the template below. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

The result of the discussion was delete. — JJMC89(T·C) 04:36, 13 July 2019 (UTC)[reply]

{{S-line}} templates for the New Mexico Rail Runner Express. Superseded by Module:Adjacent stations/New Mexico Rail Runner Express. All transclusions replaced. There are also two dependent s-line data modules to be deleted. Mackensen (talk) 14:46, 5 July 2019 (UTC)[reply]

The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

Santa Fe Southern Railway s-line templates edit

The following discussion is an archived debate of the proposed deletion of the template below. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

The result of the discussion was delete. — JJMC89(T·C) 04:36, 13 July 2019 (UTC)[reply]

{{S-line}} templates for the defunct Santa Fe Southern Railway. Superseded by Module:Adjacent stations/Santa Fe Southern Railway. Both transclusions replaced. There are also two dependent s-line data modules to be deleted. Mackensen (talk) 14:05, 5 July 2019 (UTC)[reply]

The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

Template:Infobox rocket launch/stage edit

The following discussion is an archived debate of the proposed deletion of the template below. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

The result of the discussion was Delete; deleted by Fastily (talk · contribs · blocks · protections · deletions · page moves · rights · RfA) AnomieBOT 07:05, 13 July 2019 (UTC)[reply]

Over-engineered template which sought to resolve the absence of support to input a serial number for a rocket's fourth stage. This problem had a much simpler solution with the addition of a "fourth stage" parameter to the main {{Infobox rocket launch}} template. It's a much simpler solution for both the intended streamlined design of the template itself, and for editors working with the template, while achieving the same exact goal that the sub-template nominated here tried to achieve through a more complicated method. There is no launch vehicle, past, present, or future, with more than four stages, and thus a {{#switch:}}-based sub-template is not needed. A relevant discussion can be found on the template's talk page. – PhilipTerryGraham (talk · articles · reviews) 04:53, 5 July 2019 (UTC)[reply]

The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

CDOT s-line templates edit

The following discussion is an archived debate of the proposed deletion of the template below. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).

The result of the discussion was delete. — JJMC89(T·C) 05:25, 12 July 2019 (UTC)[reply]

{{S-line}} templates for various services operated by the Connecticut Department of Transportation (ConnDOT). Superseded by Module:Adjacent stations/ConnDOT. All transclusions replaced. There are also six dependent s-line data modules to be deleted. Mackensen (talk) 04:06, 5 July 2019 (UTC)[reply]

The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made on the appropriate discussion page (such as the template's talk page or in a deletion review).