Category:Lang and lang-xx template errors

This category is used to track {lang} and {lang-??} template errors. This category is used only by Module:Lang.

error messages

At the time of this writing (2017-11-07) Module:Lang is in development to consolidate the processing of {lang} and the many {lang-xx} templates. As part of that, the module emits the error messages defined here:

for {lang}
unknown language code: <code> – where <code> is the IETF language tag specified in parameter {1}; this error message indicates that the code is malformed or not listed in the module's data set. The old version of {lang} would accept non-standard codes; this version will not; you must use a valid IETF language tag.
unknown language code: missing{1} is empty; this parameter is required
no text{2} is empty; this parameter is required
text has italic markupthis error message currently disabled{2} has italic markup; use |italic= to control italics in the rendering; accepted parameter values are yes and no; default is no; in general, only Latin script should be italicized; see §italic markup errors
for {lang-xx}
unknown language code: <code> – where <code> is the IETF language tag specified in parameter |code= in the template's module {#invoke:}; this error message indicates that the code is malformed or not listed in the module's data set
unknown language code: missing|code= in the template's module {#invoke:} is empty
no text{1} is empty; this parameter is required
text has italic markup{1} has italic markup; use |italic= to control italics in the rendering; accepted parameter values are yes and no; default is yes; in general, only Latin script should be italicized; see §italic markup errors
code / script mismatch: <code> / <script> – where <code> is the IETF language tag specified in parameter |code= in the template's module {#invoke:} and <script> is the content of the template's |script= parameter. If an IETF script subtag is part of <code>, |script= is superfluous; however, templates should not 'hard code' a script in its language code; this is especially important for languages that use more than one script.
conflicting: {1} and |text= – this error occurs when positional and named parameters are used together
conflicting: {2} and |translit= – as above
conflicting: |lit= and |translation= – only one of these aliases is permitted
conflicting: |links= and |link= – only one of these aliases is permitted

italic markup errors

The text has italic markup error commonly occurs for these reasons:

  1. text includes text written with more than one alphabet
    in this example, Ancient Greek with a Latin script transliteration (also called Romanization)
    {lang-grc|Ἀθῆναι, ''Athênai''}
    the above should be rewritten
    {lang-grc|Ἀθῆναι|translit=Athênai}Ancient Greek: Ἀθῆναι, romanized: Athênai
    A similar condition may exist for languages that have multiple writing systems, where the second is not a transliteration of the first but the actual text as written in the 'other' writing system. For such templates, consider writing:
    {lang-xx|<first text>|italic=<yes|no>|rtl=<yes|no>} {lang|xx|<second text>}
  2. text includes italic markup to override default italic markup set by the {lang-xx} template (see the settings box in the template doc §Usage section)
    {lang-sco|''Dumbairton''} – 'Dumbairton' is a proper name so should not be italicized
    the above should be rewritten
    {lang-sco|Dumbairton|italic=no}Scots: Dumbairton
    for languages like Kurdish that use more than one script and where the template default is to italicize
    {lang-ku|هه‌ڵپه‌ركێ}text holds a script that should not be italicized
    the above should be rewritten:
    {lang-ku|هه‌ڵپه‌ركێ|italic=no|rtl=yes}Kurdish: هه‌ڵپه‌ركێ
    (it is prudent to set |rtl= to yes or no so that the template includes the correct html markup in the rendering)
    when text holds Latin transliterations of right-to-left languages like Arabic (no Arabic script), consider setting |script=Latn so that the template removes the default right-to-left html markup from the rendering; use |italic=:
    {lang-ar|''min sallaf es-sabt lāqā el-ḥadd qiddāmūh''}
    the above could be rewritten:
    {lang-ar|min sallaf es-sabt lāqā el-ḥadd qiddāmūh|script=Latn|italic=yes}Arabic: min sallaf es-sabt lāqā el-ḥadd qiddāmūh
    but, consider using the perhaps more semantically correct {transl} instead:
    [[Romanization of Arabic|Arabic]]: ''{transl|ar|min sallaf es-sabt lāqā el-ḥadd qiddāmūh}'' → Arabic: min sallaf es-sabt lāqā el-ḥadd qiddāmūh