Help talk:Template

From ArchWiki
Jump to: navigation, search

Grouped Notes/Warnings/Tips and numbered parameter

According to Help:Style#Notes.2C_Warnings.2C_Tips, we should use unnumbered list to group successive Notes/Warnings/Tips into a single template. However, this can't be (easily) done when it's necessary to use numbered parameter, e.g. when some note contains URL with "=" symbol. See:

Note: * first note
  • second note

-- Lahwaacz (talk) 08:01, 14 July 2014 (UTC)

It's funny how this trick would fix that :)
* first note = 1
* second note = 2
  • first note = 1
  • second note = 2
However I don't think we should recommend it (too hacky), maybe this is one of the cases where the "recommended only when the solutions above are not practicable" note in Help:Template#HTML entities can be rightfully applied. Other ideas? Avoid recommending to merge stacked note templates? The problem would persist in note templates that have to start with a list anyway...
-- Kynikos (talk) 14:47, 15 July 2014 (UTC)

Should administrative templates be translated?

I have coincidentally encountered a stub page (Яндекс Диск (Русский), now deleted) with wrong localized title, which was marked for deletion using a localized template, Template:Deletion (Русский). This was obviously wrong, because the page was not listed under Special:WhatLinksHere/Template:Deletion, which is the list which is systematically checked.

I admit that localized "administrative templates" can be useful for coordinating the effort of a translation team, and having English messages on localized pages might be considered ugly, but there are considerable downsides in splitting the Special:WhatLinksHere by language this way.

Another step deeper, maybe we should put together a list of templates that should not be translated?

-- Lahwaacz (talk) 19:59, 10 September 2014 (UTC)

I think what you're saying makes sense (and a lot) only for Template:Deletion; the admins (like any other user) can't expand, merge or update articles written in languages they don't speak, right? :) What other templates were you thinking about? -- Kynikos (talk) 10:43, 11 September 2014 (UTC)
True, every other article status template could be used in localized form by the maintenance team. Regardless, there will always be fragmentation of the Special:WhatLinksHere: for example when fulfilling the requests, it is common to use English message (and template) on localized pages if the editor does not speak the language. This should be definitely considered by the translation teams.
Personally, I find it strange that outdated or inaccurate content from English pages can be spread by translation (see [1]).
-- Lahwaacz (talk) 11:36, 11 September 2014 (UTC)
About the first point on "fragmentation" of WLH pages, do you mean that it inevitably happens that some localized articles are marked with localized templates and some with English templates? In what cases is it possible that somebody adds a status template to an article without being able to understand its language? And if (s)he does, is that really the right thing to do? And if it is, maybe we could recommend to use the localized version of the template even if the message is then written in English?
About the second point on template "spreading", I don't find it "strange" if it happens when somebody translates from an article that is marked with such status template: he's adding the localized template not only to remind to the team that the article contains outdated content, but also to notify all non-contributing readers about possible inaccuracies. But maybe I haven't understood what you meant exactly?
Just to come back to the original topic, isn't it a good thing that the WLH pages for the English status templates are not (ideally) "polluted" by non-English articles? (Doesn't apply to Template:Deletion, I know)
-- Kynikos (talk) 14:33, 12 September 2014 (UTC)
For example when fulfilling ArchWiki:Requests, there is often some unique keyword or phrase to identify the relevant section, even in localized pages. Google translate can be used to partially understand the surrounding text, even if the translation is grammatically incorrect. This makes it pretty easy to mark the section with English message (translating the message from English would be risky, the grammar mistakes might alter the meaning), which I think is an improvement (any warning should be better than none). Using a localized template in this case would require checking if such template exists, and even if it does, combining localized template and English message is even more weird.
About fragmentation and using localized article status templates generally, its advantage is that it filters out other languages in the WLH lists, but this only partial (the global list will always contain some localized pages, unless we want to create the necessary templates for each language and do some mass cleanup, and the localized lists will not point out localized pages marked with global templates). The disadvantage is that global maintenance, if only marking as outdated as per ArchWiki:Requests, will be harder.
-- Lahwaacz (talk) 21:51, 12 September 2014 (UTC)
Ok, of course each solution has pros and cons (will we need a summary table for this issue too?): honestly I wouldn't find it too weird if a localized template had an English message, which could also be translated afterwards by somebody else. Yes, adding a localized status template requires a bit more typing, sometimes even copy-pasting if there are non-Latin chars in the language name: this could be mitigated in the future by Help talk:i18n#Language namespace(s) in place of suffixes?; I understand this could effectively discourage adding status templates to translations. On the other hand, a bot would be able to convert the templates to the proper localized versions very easily, so that's a task that could be performed periodically (it could be used to check also other templates). And yes, having a translated version for each template would be required if we enforced such a policy. Finally, let's not forget that localized templates would be more useful to casual readers than English templates.
-- Kynikos (talk) 05:03, 14 September 2014 (UTC)
About the template spreading, it is safe to assume that Template:Poor writing will never be translated. Instead, the translator will probably fix the English article prior to translating it, which is happening a lot, even when the style issues are not marked with a template, and this is absolutely great. On the other hand, I have never noticed any other article status template being resolved during translation. Admittedly, sometimes it is best to just translate the inaccurate content along with the template, or the translator might be unable to resolve it, but in terms of statistics I think that I should have noticed at least some effort by now.
-- Lahwaacz (talk) 21:51, 12 September 2014 (UTC)
Well, Template:Poor writing does have a translation already with some backtransclusions, I'm not sure if you'd delete it (I wouldn't). -- Kynikos (talk) 05:03, 14 September 2014 (UTC)
As the discussion about other article status templates is getting slightly off-topic, let's take a list of one item for now, Template:Deletion. How do we mark it as non-translatable? The translated versions could then be redirected to the English template and deleted when there are no backlinks. -- Lahwaacz (talk) 22:01, 12 September 2014 (UTC)
I think the EAFP approach is better in this case, I can think of 2 implementations:
  1. Create a redirect for each Template:Deletion_(Language) title and protect them from editing with an exhaustive justification in the summary (this solution would A) be more consistent with the usage of the other status templates and B) allow us grouping the backtransclusions of Template:Deletion by language in its WLH page).
  2. Redirect the existing translations temporarily, convert them all with a bot, then delete them and finally protect all the Template:Deletion_(Language) titles from creation with an exhaustive justification in the summary.
I prefer 1), do you agree/disagree or have additional options?
-- Kynikos (talk) 05:08, 14 September 2014 (UTC)

Workaround templates

Does anybody have an idea how {{!}} from this edit can work, even if Template:! doesn't exist? The other common mw:Category:Workaround templates don't work...

| Template:) Template:)) Template:( Template:(( Template:=

Kynikos (talk) 03:14, 6 July 2015 (UTC)

It seems to be incorporated into the parser, commit is linked from mw:Template:!. -- Lahwaacz (talk) 06:31, 6 July 2015 (UTC)
Yep, it's become an official magic word, do we want to document it as a supported workaround in this page? I would be in favor. — Kynikos (talk) 15:21, 7 July 2015 (UTC)

Template "nowrap"

I would like to ask for opinions about adding a wiki template like Wikipedia's "nowrap".

Although there are already some alternative solutions available for specific cases (e.g. &nbsp; for non-breaking space, &#8209; for non-breaking hyphen), the "nowrap" template (and/or other similar templates) covers additional cases.

For example, you might find one line of text presented as ending with the word package and the same sentence continues in the next line, presented as starting with (s). By using the "nowrap" template on this expression, you get package(s) all together, either at the end of one line or at the beginning of the next one, but never separated in 2 lines.

This is just an example. Other cases can be (more) relevant (too). Obviously, the "nowrap" template can also be used instead of (multiple) non-breaking spaces and non-breaking hyphens.

Without a "nowrap" (or similar) template, the alternatives are either to not care about these things, or to use one of the following (please note that some alternatives might be more appropriate than others):

<span class="nowrap">This text will not wrap.</span>
Some sentence... <span class="nowrap">package(s)</span> and the sentence continues.
<span style="white-space:nowrap">This text will not wrap.</span>
Some sentence... <span style="white-space:nowrap">package(s)</span> and the sentence continues.

The "nowrap" template also has some "alias" (or redirection) names in Wikipedia, or we could use a new different name for this same template.

Is this kind of situation worth a template for the ArchLinux wiki? Any thoughts? Ady (talk) 15:39, 27 March 2016 (UTC)

I don't know, it seems a bit overcomplicated to me... What browser are you using that wraps "package(s)" at the parenthesis? At least Firefox correctly interprets it as a single word, since I do believe that these cases should be handled by the browser. The same goes for e.g. "package-s". Can you give more examples where this template would be needed (and would be a clearly better solution than using non-breaking spaces etc.)? — Kynikos (talk) 06:57, 30 March 2016 (UTC)
Hmm, perhaps I have not used the best example - I know I have seen this "package(s)" example somewhere, but currently I cannot recall where / when exactly.
I should point out that users could see an unwanted (word) wrapping, depending on the width of the wiki text area (e.g. screen resolution, web browser's zoom, fonts...).
As for "better" (or common) examples, please see [2] for brevity.
BTW, using space characters and hyphens are the (most) common word-separators in certain languages, but not in all of them (e.g. CJK languages), so a "nowrap" template might be even more helpful in some translated wiki pages than in the English ones.
I want to be clear. I am also not completely sure this type of template is "essential" for the ArchLinux wiki. It is potentially helpful; the question would be whether it is worth it. Ady (talk) 02:51, 31 March 2016 (UTC)
I see, I should have been more specific, but what I meant with "more examples" is existing samples of the ArchWiki (in any language) where such template would improve the page rendering and/or the source text. To put it in other words: after creating the template, where exactly is it going to be used?
In general I'm against creating templates (or Categories, etc.) "just in case they come in handy one day", although in this case I admit the idea can make somewhat sense, so if you really feel you want to create the template, I won't object further, maybe somebody else will find good uses for it and we'll start appreciating its existence ^^
— Kynikos (talk) 03:23, 31 March 2016 (UTC)
I am a contributor to other wiki sites (in addition to the ArchLinux wiki). As editor(s) of wiki text, it is usually recommended to be aware that readers might use very different setups. While I/we might not see a certain behavior in the presentation of the wiki text / page, others might.
Although the ArchLinux wiki would not (need to) consider older versions of web browsers (or web browsers being used in non-Linux OSes), I am used to test the results of my editions with at least a couple of different setups.
I found a web page about word wrapping in HTML that might be of interest to (some) wiki editors. Some notes about it:
  • Most of its content mentions Internet Explorer, but it also mentions Firefox, Opera and others.
  • In theory, it is somewhat outdated (at the time of this writing, its last update was during 2013).
  • In spite of its date, I am convinced that at least some of the issues are still relevant (with potential improvements and regressions in each new version / variant of web browser).
  • The part of that web page that is relevant to our discussion here is that there are several alternative methods so to achieve the desired wrapping result, whether it is about preventing word-wrapping, imposing word-wrapping, or allowing optional wrapping at certain specific positions within an expression / word.
Some of the simpler alternatives, (probably with a varying degree of effective results): &nbsp;, &#8209;, &#xfeff;, &#8288;, wbc, and for generic wiki text, a "nowrap" (or, one of its alias names, "nobr") templates.
The advantage of a "nowrap" template over its non-template alternatives is that it is more generic; editors can avoid having to use different tricks according to the specific character (space, hyphen, minus sign, em/en dash...) and it covers potential cases that have no alternative or that would make the source of the wiki text less-readable.
So, without a "nowrap" template, I guess that most of the relevant cases in Latin-like languages would be covered by some non-template alternative, or by using the full "span style expression". Although perhaps there might be some cases in which a "nowrap" template would not have an alternative in Latin-like languages, I am also guessing that such (few?) cases would probably not be worth a template in the ArchLinux wiki.
But then there are the CJK languages, in which wrapping styles / rules might be more important / complex than some form of "hyphen" and/or space characters.
Maybe User:Fengchao and/or other members that are fluent in CJK languages might have a different / relevant perspective?
Ady (talk) 13:40, 1 April 2016 (UTC)

Problems with Template:ic

I think that the most common typography defect on Arch wiki is that punctuation following Template:ic can end up at the beginning of the next line if the code was not wrapped. For example (from nsd; you should see the content rendered on two lines):

(... user must be able to read /var/db/nsd/nsd.db):

Without Template:ic, the closing parenthesis seems to always take the preceding word with it when it has to be wrapped (feel free to tune the width of the artificial <div> tag):

(... user must be able to read /var/db/nsd/nsd.db):

Is there a way to solve this or are the browsers' rendering engines so "dumb" and ignorant about typography?

-- Lahwaacz (talk) 17:48, 16 April 2016 (UTC)

I guess your ideal behavior here (at least it would be mine) would be to have the browser always keep the whole "/var/db/nsd/nsd.db):" string on the same line, i.e. neither wrap at the parenthesis nor at a slash. On Firefox I can do that by adding white-space:pre to the <code> element (I haven't tested it on other browsers):
(... user must be able to read /var/db/nsd/nsd.db):
Note however that we should also remove the display:inline-block style, which is what is currently causing the typography defect you mentioned above. On the other hand, display:inline-block wasn't put there for no reason: its main purpose would indeed be fulfilled by white-space:pre, but its secondary purpose, i.e. allowing easy triple-click selection of the content, would be lost. History of display:inline-block in Template:ic:
  1. It was there in its first revision, probably inherited by the older Template:Codeline
  2. I removed it once after Help talk:Style#Font weight
  3. I soon restored it after Help talk:Style#inline-block?
  4. I made it optionally "disableable" after Help_talk:Style/Migration_to_new_Code_formatting_templates#New_inline_option_for_Ic
  5. I removed the optional feature, but forgetting to also remove the releated commented note, which is still there
Since at least one edit must be done to the template in any case, i.e. remove the commented note, does anybody have an opinion about replacing display:inline-block with white-space:pre? Can somebody test it on other browsers (easy but I don't have time now)? Do we want to restore the optional argument to turn display:inline-block off instead?
Kynikos (talk) 03:34, 17 April 2016 (UTC)
Lahwaacz, I have to admit that I don't really understand the problem you presented. Do you want to force the closing parenthesis to be in the next line, independently of the width of the display area?
Kynikos, I think the problem presented by Lahwaacz is not related to the "inline code template", but rather to normal text. I _think_ (but I'm not sure) that Lahwaacz used the "ic" template just so to show us what is the text just before the closing parenthesis.
Lahwaacz, perhaps you could clarify?
-- Ady (talk) 15:18, 18 April 2016 (UTC)
The nsd example, Lahwaacz refers to got edited away meanwhile :) You can see it in this revision (no indent on purpose):

(the daemon runs as nsd and that user must be able to read /var/db/nsd/nsd.db):

If I resize the browser, I get one wrap where only the closing bracket "):" is wrapped, such is an unelegant wrap we often see in mainspace (english) and what he refers to.
(@Kynikos: also in firefox here your version with white-space:pre does not wrap at all, I only get a bottom scroll bar). --Indigo (talk) 17:49, 18 April 2016 (UTC)
Thanks for the explanation, Indigo, couldn't do it better myself.
@Kynikos: the tripple-click selection seems to work in Firefox, but not in Chromium or any QtWebkit browser, where it selects the whole line.
-- Lahwaacz (talk) 20:30, 18 April 2016 (UTC)
@Indigo: my example (and Lahwaacz's) is in a width-constrained div element, meant to be resized with Firebug or the like. Here are the same examples in a version that can be tested by resizing the browser's window:

A: (lorem ipsum lorem ipsum ... user must be able to read /var/db/nsd/nsd.db):

B: (lorem ipsum lorem ipsum ... user must be able to read /var/db/nsd/nsd.db):

C: (lorem ipsum lorem ipsum ... user must be able to read /var/db/nsd/nsd.db):

Case A) is the current template, case C) is my proposal. True, I now remember that the triple-click thing was working only on Firefox, I think we can do without it then. Can somebody else confirm that C) is the most common expected behavior and that it works in other browsers as well? (and therefore we can apply the patch to MediaWiki:Common.css)
Kynikos (talk) 07:55, 19 April 2016 (UTC)
Thanks, yes (C) wraps well in current chromium & web (both with default font settings) here. --Indigo (talk) 08:09, 19 April 2016 (UTC)
So, I assume that the C) behavior is indeed what most people expect, therefore I've implemented it. — Kynikos (talk) 03:00, 20 April 2016 (UTC)
The most generic solution for this type of issues is the nowrap template. Without the usage of a template, the equivalent would be, either (please read my note after these 2 alternatives):
... and that user must be able to read <span class="nowrap">/var/db/nsd/nsd.db):</span>


... and that user must be able to read <span style="white-space:nowrap">/var/db/nsd/nsd.db):</span>
Please note that, for simplicity, I am not adding the code for the "ic" template, and instead I am just writing all as normal text. My intention is to emphasize the relevant code that should achieve the "no-wrapping" result.
The use of the nowrap template avoids the need to know which exact character / code might work in each case / web browser, and it is also independent of using some kind of template (as Lahwaacz's case), or pre-formatted text or normal text.
-- Ady (talk) 16:19, 19 April 2016 (UTC)
But if you don't use the "ic" template, then of course the code that you didn't want to wrap, wraps ^^' This section is specifically about Template:ic, and the Help:Style articles are there to tell us that your example can't happen in this wiki. As I said in #Template_.22nowrap.22, please provide a real example where a nowrap template would be necessary. — Kynikos (talk) 02:51, 20 April 2016 (UTC)
My point was that the solution doesn't need to be specific to one particular template (or specific to normal text only). I guess that if you happen to find some other case (e.g. another (future) template), you could try a similar approach as proposed for the "ic" template in this discussion. And, of course that if a change to the "ic" template already avoids the undesired behavior, that's even better than an editor having to add more code just to avoid some quirk. All this is valid, unless there is some unwanted consequence or regression after editing the "ic" template (or whichever other case that might be found in the future); in such case, the generic code (or using it as a "nowrap" template) would still be an (independent) option.
-- Ady (talk) 15:01, 20 April 2016 (UTC)
Ok, yes. As is the "ic" template was brought as an issue we are aware of at current and it seems to be fixed well by Kynikos' tuning. One regression that may exist would be side-effects on other languages for example. Such can also be handled in conjunction with your CJK question in #Template .22nowrap.22. So, I suggest we close this subitem and wait for follow-up / response by Fengchao or another experienced CJK editor for the other item. If they encounter particular wrapping issues that may be helped with a general approach you have in mind, there may be a way to use it complementary, I suppose. --Indigo (talk) 17:06, 20 April 2016 (UTC)