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 markup – this error message currently disabled –
{2}
has italic markup; use|italic=
to control italics in the rendering; accepted parameter values areyes
andno
; default isno
; 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 areyes
andno
; default isyes
; 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:
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>}
- in this example, Ancient Greek with a Latin script transliteration (also called Romanization)
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=
toyes
orno
so that the template includes the correct html markup in the rendering)
- (it is prudent to set
- 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