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

change

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

change

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