This template is within the scope of WikiProject Languages, a collaborative effort to improve the coverage of languages on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.LanguagesWikipedia:WikiProject LanguagesTemplate:WikiProject Languageslanguage
Template:Lang is permanently protected from editing because it is a heavily used or highly visible template. Substantial changes should first be proposed and discussed here on this page. If the proposal is uncontroversial or has been discussed and is supported by consensus, editors may use {{edit template-protected}} to notify an administrator or template editor to make the requested edit. Usually, any contributor may edit the template's documentation to add usage notes or categories.
Any contributor may edit the template's sandbox. Functionality of the template can be checked using test cases.
This template was considered for deletion on 2006 February 20. The result of the discussion was "keep".
To help centralize discussions and keep related topics together, the talk pages for all help pages, categories, MediaWiki messages and templates related to cite errors redirect here.
The lone {{transl|ar|ʾ}} (U+02BEʾMODIFIER LETTER RIGHT HALF RING) triggers the error as in DIN 31635. Looks like it works okay in longer words with other letters present, but not alone. – MwGamera (talk) 21:02, 28 November 2024 (UTC)[reply]
For a Latn determination, the <text> must contain at least one Latn-script character and then may contain one or more characters from Zinh (Code for inherited script) Zyyy (Code for undetermined script), Zzzz (Code for uncoded script) scripts.
Giving {{transliteration}} an okina (U+02BB), an apostrophe (U+0027) – or any other punctuation – will cause the same error message return:
I mean, I can see that this is happening, that's why I mentioned it being of the Common script (aliased to the ISO code Zyyy here), but the result is clearly undesirable. Maybe the template wasn't meant to be used with single letters, but if the usage is appropriate (and it seems to be to me) then the check is incorrect. I'm sure it might help catching some mistakes, but the Script property of characters used and the language tag to mark it up with are conceptually related but different things. Since I'm not sure what exactly was intended, I'm just pointing out another place where the current solution fails short and needs someone's attention. – MwGamera (talk) 13:26, 29 November 2024 (UTC)[reply]
I have no idea what screen readers do with symbols like that, but it affects font choice and other styling. I would consider it desirable to have all transliterations (or transcriptions) consistently marked up the same way no matter if they are of just a single letter (or phoneme) or of a longer word. – MwGamera (talk) 14:31, 1 December 2024 (UTC)[reply]
I agree. I wrote the original is_Latin function (back when Module:Unicode data wasn't restricted to template editors) and I think in view of the cases of lone modifier letters, Module:lang should use a different function that checks that there are no non-Latin characters (for instance, no Cyrillic or Greek characters), but permits Common and Inherited characters. That might not be sufficient as I think some Greek characters are used in orthography of Latin-script languages and have no Latin-script equivalents (I can look for specific cases if there is interest), but it's an improvement. Lone Common-script characters should have the correct markup, and I should have thought of these cases when I was creating the function. — Eru·tuon05:40, 29 December 2024 (UTC)[reply]
In fact, I believe that when I wrote the is_Latin function, it was only being used to decide whether to italicize foreign-language text (MOS:FOREIGN). I didn't intend it to decide whether {{transl}} should display an error. — Eru·tuon00:36, 30 December 2024 (UTC)[reply]
Another example of the same problem with {{lang|zh-Bopo|ˊ}} in Special:Diff/1270491769 which will need to be reverted once the module is fixed. Like Remsense noted, the bogus error misleads editors into removing the template despite it being used correctly. – MwGamera (talk) 10:46, 21 January 2025 (UTC)[reply]
Include punctuation and any descriptive text as you see fit. Of course, if you do sommat like that, some helpful editor is likely to come along and 'fix' your carefully crafted non-literal translation...
I see. It's strange that the parameter automatically defaults to "literal translation". I think most of the useful translations included on Wikipedia aren't literal, but are cited to sources which make thoughtful decisions on how to translate something (e.g. Haravijaya, the reason I asked this question). Having a "lit." parameter seems like a magnet inviting original research from editors to translate something themselves.
That is exactly what we do on Wiktionary, so I agree that it's a good idea. The difference is especially relevant if you're dealing with idioms: e.g. Greek ξεβράκωτος στ' αγγούρια (xevrákotos st’ angoúria, "caught with one's pants down; unprepared", lit. "pantsless among the cucumbers"). Theknightwho (talk) 02:22, 4 January 2025 (UTC)[reply]
I am working with surname articles. There are quite a few surnames of East Slavic origin and I do not want to single out any lang. Moreover, many Bulgarian surnames are in Cyrillic an are exactly as Russian ones.
I was politely advised by @SMcCandlish: to share the issue with RSK language code at this place after some initial discussion took place HERE and HERE. In short, it concerns the ISO 639-3 language code RSK, which currently redirects to Ruthenian language in Wikipedia infobox templates. However, RSK actually refers to Pannonian Rusyn, while Ruthenian is a historical East Slavic language. Some editors suggest clarifying this by adding a disambiguation note to the Ruthenian language article or linking to a broader explanation. Yet, it may have not resolved the whole confusion as you can see on the talk page of the article about the city of Novi Sad. MirkoS18 (talk) 20:45, 17 March 2025 (UTC)[reply]
So that leaves us with at least two options, I think:
override the IANA/ISO 639-3 language name 'Ruthenian' with 'Pannonian Rusyn'
leave rsk pointing to the IANA/ISO 639-3 language name 'Ruthenian' and create an IETF private use tag, perhaps rsk-x-pannonia, to point to 'Pannonian Rusyn'
I can't say which of these would be best; if it is necessary to refer to the no-longer-existent language group, keeping rsk → 'Ruthenian' might be desirable; and will, match the ISO 639-3 custodian's 'Ruthenian' -to-rsk link.
I leave the choice to others. When you-all decide what to do, let me know.
I guess the first option is the better one since the nametag Ruthenian in ISO code RSK is actually exclusively linked to Pannonian Rusyn - with that language being named differently than here on Wikipedia for some reason.--MirkoS18 (talk) 09:16, 18 March 2025 (UTC)[reply]
Ruthenian in ISO code RSK is actually exclusively linked to Pannonian Rusyn Really?
At the ISO 639-3 custodian website, 639 Identifier Documentation: rsk identifies rsk as 'Ruthenian'. If you follow the links in that page you end up at a pair of pdf documents:
Neither of those documents use 'Pannonian' to name the language for which the proposers are seeking a language tag. The name does appear in the title of a referenced poem: The Ballad of the Pannonian Boatman but nowhere else. So, clearly the proposers did not intend rsk for 'Pannonian Rusyn'. It is also interesting that the proposers referenced Wikipedia; not a reliable source...
Are you sure that overriding the IANA/ISO 639-3 language name 'Ruthenian' with 'Pannonian Rusyn' is the correct thing to do? If we do that then when it comes to marking up Ruthenian text (ISO does not think that Ruthenian is no-longer-existent) what language tag should we use?
Yes, RSK in the code is related to Pannonian Rusyn and not to the historical language we have under the name Ruthenian. It is just that they use different name for Pannonian Rusyn (they call it Ruthenian, keep in mind that the name for Pannonian Rusyn is not entirely fixed in English) and this is creating the entire confusion. It is certainly wrong to link RSK to what we have under the name Ruthenian language and the right destination is Pannonian Rusyn. Maybe we should respect the naming, but the link should certainly lead to Pannonian Rusyn. As for Wikipedia, relatively recently new Wikipedia in Pannonian Rusyn was established after people around this initiative (some of them working in Rusyn minority institutions and at universities) managed to get RSK language code for the language. Mind that it is a very small language community and no many insiders to explain every single detail unfortunately but from what I know as an outsider I think we have a mistake we should look how to fix. What we have under Ruthenian language article is certainly historical language no more in use and nobody claims otherwise (they may use it's name for something else as we can see).--MirkoS18 (talk) 14:33, 18 March 2025 (UTC)[reply]
additional note, if you check in detail two PDF documents you quoted both of them clearly referred to language spoken primarily in Vojvodina/Croatia. That language is on English language Wikipedia named Pannonian Rusyn. We may say that Pannonian Rusyn obviously can be called Ruthenian but then we should see how to distinguish it from historical (and related language) for which the same name is used. However, even if link will call it Ruthenu, it should appropriately lead to Pannonian Rusyn.--MirkoS18 (talk) 14:44, 18 March 2025 (UTC)[reply]
So what should be the resolution for this situation if we are unwilling to use the RSK code for the language for which it was provided? RSK is Pannonian Rusyn being called Ruthenian (and this overlap with something else we call Ruthenian here). What would be the best approach?--MirkoS18 (talk) 08:15, 20 March 2025 (UTC)[reply]
What you wrote does not make the issue clearer for me. Perhaps what you should do is consult with editors at WT:LANG to see if you and they can disentangle Pannonian Rusyn / Ruthenian language and among you decide how each of those two languages should be tagged.
What I wrote, to be very blunt, is that you are misreading the documents you quoted. RSK code is given for Pannonian Rusyn, its only that they called THAT language Ruthenian. We have another historical language which is also called Ruthenian (two things for which the same name is used, not that uncommon - see Galicia and Galicia - it does not help here that Pannonian Rusyn (or let's maybe call it modern Ruthenian) and (historical) Ruthenian are related). Here is how you can see that the name Ruthenian in question is just a different name of Pannonian Rusyn. The reference for the name in first document is Department of Ruthenian Studies at the University of Novi Sad. This is actually department of what we call Pannonian Rusyn. They further use references from Charles E. Bidwell and his article The Language of the Bačka Ruthenians in Yugoslavia and those Rurhenians are here named Pannonian Rusyns on this project... and if you follow the references they are all about Pannonian Rusyn. The person submitting the request is from Kucura, a village where the Ruthenians (Rusnaks) constitute the majority population and he completed primary and secondary school in Ruthenian (all of this means Pannonian Rusyn and hot 18th century language where we now link RSK)... Basically, situation is absolutely clear and not that complicated at all. ISO code uses the word Ruthenian to name Pannonian Rusyn, English language Wikipedia uses the word Ruthenian to name 15th–18th–century East Slavic language varieties. It is clear how it could have easily created the confusion and my proposal is for this mistake (which now should be obvious after it is pointed out) to be corrected.--MirkoS18 (talk) 15:15, 20 March 2025 (UTC)[reply]
I am not a linguist or language specialist. Your new wall of text does not make the issue any clearer for me. WT:LANG is that way →. Go find a consensus for what we should do so that both Pannonian Rusyn and Ruthenian language can be marked-up by {{lang}} and {{langx}}. When you have started a discussion there, post a link to it here.
I find your last reply almost intentionally unhelpful and dismissive. There is no any disagreement here. There is obvious mistake to be corrected.--MirkoS18 (talk) 17:09, 20 March 2025 (UTC)[reply]
I am also confused by Trappist the monk's responses. I posted external links at the top of the section verifying that rsk is the code for Pannonian Rusyn, also called Pannonian Ruthenian and sometimes Rusnak. "Pannonian Rusyn" is perhaps not the best article title, but that's for talk page consensus to sort out with references to reliable sources. Having rsk point to our article called "Ruthenian language", which again is perhaps not the best title, is not valid. That article might also benefit from a talk page discussion about its title, but that is not a call for us to make here. We follow article title consensus. – Jonesey95 (talk) 17:28, 20 March 2025 (UTC)[reply]
In the past, when we have overridden the ISO 639 language names there has been only the one article name. In this case there are at least two: Ruthenian language and Pannonian Rusyn. Right now, rsk causes Module:Lang to refer to Ruthenian language because that is the language name supplied by the IANA language-subtag-registry file which got the name from ISO 639-3.
If we are to believe our article about Ruthenian, that language was a 15th–18th century language. Even were it extinct, that does not mean that Module:lang should be prevented from marking up Ruthenian text from that period as Ruthenian and, for {{langx}}, linking to the Ruthenian language article. That leaves Pannonian Rusyn which, according to our article is a living language.
So the question is still: If we repoint rsk from Ruthenian language to Pannonian Rusyn, what do we do about Ruthenian language so that Module:lang can provide proper markup for text in that language? I suggested keeping rsk → Ruthenian language because it already points there and matches the name defined by ISO 639. At the same time I suggested that we create an IETF private-use-tag: rsk-x-pannonia → Pannonian Rusyn. That suggestion was more-or-less ignored.
If we were to repoint rsk → Pannonian Rusyn, I asked what we should do for a Ruthenian language tag. That question also went unanswered. So here's another suggestion: rsk → Pannonian Rusyn and a private-use-tag for Ruthenian language; perhaps zle-x-ruthenia (zle is the ISO 639-5 tag for East Slavic languages collective – is there a better base language tag?).
If I have not said all of this before it is because Editor MirkoS18 wrote walls of text that make my eyes glaze over.
I apologize for writing too much. The second option seems to be the best one since RSK will then lead to the proper topic article. If you want to, and if it is really needed and possible, the link for Pannonian Rusyn via RSK can also work something like this Нови Сад (Ruthenian) so that the name is kept but the destination is the correct one.--MirkoS18 (talk) 19:28, 20 March 2025 (UTC)[reply]
Editors may choose to write something like: '''Нови Сад ([[Pannonian Rusyn|Ruthenian]])'''. That has nothing to do with {{lang}} or {{langx}}.
For the avoidance of confusion, what option do you think is the second option?
The article prose at Pannonian Rusyn does a good job of explaining about the naming confusion. The family tree at glottolog shows that Pannonian Rusyn is part of the Rusyn language, which gives Wikipedia's article title some additional support. Please direct rsk to Pannonian Rusyn. I support the use of zle-x-ruthenia or zle-x-ruthenian here at Wikipedia for the extinct Ruthenian language family, since there is apparently no ISO code for that family. – Jonesey95 (talk) 20:46, 20 March 2025 (UTC)[reply]
Are either ('''{{lang|grc|[[ΑΣΦ]]}}''') or {{lang|grc|'''ΔΨ'''}} correct uses of lang? If not, how should these be done?Naraht (talk) 18:51, 19 March 2025 (UTC)[reply]
Italic? For non-Latn-script Greek? If you want to italicize those Greek letters, use |italic=yes:
thank you. Didn't now if either bold use as a problem. I've also seen ({{lang|grc|'''[[ΑΣΦ]]'''}}) , I think. But if how bolding occurs doesn't really matter. I'll keep an eye out for Italics.Naraht (talk) 00:51, 20 March 2025 (UTC)[reply]
@Fgnievinski, regarding my revert of your edit that added bold, I've been trying to find an article where the German title is bolded in addition to the English title, but I haven't found anything so far, and now I'm down a rabbit hole where I'm currently trying to fix up the article Reich :P I do like the idea behind your edit, it's just a bad example. If you know a better one, please LMK, or just go ahead and add it. Thanks! :) — W.andrea (talk) 20:12, 19 March 2025 (UTC)[reply]
Wiki articles using foreign terms have a variety of markup for the terms, translations, transliterations and pronunciations. I propose that Wikipedia recommend a style and provide a template that automatically renders in that style. Before making a concrete proposal I'd like to see some discussion on, e.g., numbered parameters versus keyword parameters, typefaces, punctuation, affixes.
The most obvious approach is to add parameters to the existing {{lang}} and {{langx}} templates. Thus {{lang|he|גָּמָל|gamal|camel}} might render as "גָּמָל (gamal transl. camel)"
Please this post for an RfC on two new related templates that were recently developed: {{Korean/auto}} and {{Infobox Korean name/auto}}. These templates have semi-automatic romanization of Korean, among other new features.
What is the purpose of bs, hr and sr templates, when every now and then some (Yugo-nostalgic) editor comes and changes it to sh? Please change all these from bs, hr, sr => sh, and that's it. GoodBosnian (talk) 16:55, 1 May 2025 (UTC)[reply]
@Jonesey95 @Trappist the monk Thank you for replies. Correct, it's true that bs, hr and sr are valid languages, per ISO 639, but many editors here disrespect it, and when I say bs, hr, or sr template I mean {{lang|bs}}, {{lang|hr}}, and {{lang|sr}}. For example, in this edit: [1] user changed bs to sh, and in many articles regarding Bosnia or Bosnian people they do the same. Even Wikipedia considers these 3 languages just "varieties" of SerboCroatian language (and I don't care if it is correct way or that's "just" the name they call it), if we consider it one language here, and editors are allowed to change such things, then let's remove "varieties" altogether, and switch to "sh" everywhere. Otherwise, we are making grounds for edit-warring, blocks, etc. Or create a rule how to use these "varieties" here to know who is right, and who is wrong during edits. GoodBosnian (talk) 10:04, 2 May 2025 (UTC)[reply]
This is the wrong venue. If an editor is making changes that you disagree with, that editor's talk page is the place to begin a discussion. – Jonesey95 (talk) 13:14, 2 May 2025 (UTC)[reply]
I don't think that this talk page is the place to establish language-tagging best-practice for bs, hr, sr, and sh. Seems to me that the most likely place to discuss that would be at a cognizant wikiproject or perhaps one of the MOS pages. I do not think that the templates supported by Module:Lang should redirect bs, hr, and sr to sh.
I've commented at the previous discussion and have no more insights to add. If no one adds anything else, do whatever you feel is correct, as that is still better than leaving these templates. Gonnym (talk) 10:58, 12 May 2025 (UTC)[reply]
I would like to propose that in instances where you may need to translate a large amount of text strings from one language to another, maybe we should use a template that makes it a little bit easier to do so such as Template:Translation table. That template (albeit a WIP) calls the Langx template.
At Wikipedia:Templates for discussion/Log/2025 April 17#Template:Lang-rus it was proposed to replace {{Lang-rus}} with {{lang}} and {{langx}} templates. The discussion ended with the result of merging the features of {{Lang-rus}}, which mostly means enabling {{lang}} to have access to the additional features {{langx}} has leaving the only difference between the two templates the language name appearance vs tooltip. The only parameter left that both don't use is an IPA parameter, but since both don't use it, this could probably either be handled as we do now, or added as a new feature. Gonnym (talk) 08:30, 15 May 2025 (UTC)[reply]
For situations where space is tight, it would be nice to have the option to indicate the use of language codes (probably ISO 639-3) instead of the written-out language name. DeklinCaban (talk) 13:42, 3 June 2025 (UTC)[reply]
Your post is somewhat vague. I presume that you are talking about {{langx}} which normally outputs a language-name label:
The ISO 639-6 standard has been withdrawn and is not included in the IANA language-subtag-registry file. Browsers and screen readers use the data defined in the language-subtag-registry file to properly render and/or pronounce non-English text. For them to do that, {{lang}}, {{langx}}, and other templates must use the same data to markup non-English text at en.wiki.
Since Standard Chinese appears to be a descendant of Mandarin Chinese, you might use cmn → {{lang|fn=name_from_tag|cmn}} → Mandarin Chinese.