Template:Lang-x2/doc

The purpose of this template is to indicate that two spans of text belong to a particular language; one in non-Latin script and the other in a Latin script that is not a transliteration or romanization of the non-Latin text. This template finds application with languages that have native alphabets that are equal in status; for example.

Syntax and usage
The minimal implementation has the form:

where the three required parameters are:
 * – ISO-639 language code (click here for list of most codes); unlike, this template does not accept IETF language tags
 * – the Latin-script text; must be written only using Latin Unicode characters
 * – the non-Latin-script text; must not be written using Latin Unicode characters


 * → She said: "Je suis française."

Because all languages represented by two-letter codes in ISO 639-1 can also be represented by their three-letter equivalents in ISO 639-2 and above, it is recommended to use the shortest language tag possible that sufficiently describes the target language. So while French could be represented by 639‑2's  code, use the 639‑1 code   instead. Likewise, script, region, and variant information should be included only when they provide a necessary distinction. For an up-to-date list of available language, script, region, and variant codes, please refer to the IANA's language subtag registry.

By default, this template will place articles into the relevant subcategory of. To suppress this – e.g. when using within a wikilink or the title parameter of a citation – add the parameter true.

Parameters
In addition to the three required positional parameters, this template accepts several parameters that are the same as or similar to those supported by and.
 * cat – takes the value  to inhibit language categorization; inverse of yes
 * italic1 – italic control for the ; see  for details
 * italic2 – italic control for the
 * label – label to be used instead of template-provided language label; may be wikilinked; special keyword  causes the template to render without a label
 * link – takes the value  to prevent the language-name label from being linked; no does not unlink wikilinked labels set by label
 * nocat – takes the value  to inhibit language categorization; inverse of no
 * region1 – used to create an IETF language tag for the
 * region2 – used to create an IETF language tag for the
 * script1 – used to create an IETF language tag for the
 * script2 – used to create an IETF language tag for the
 * size1 – specifies font size of the ; use a value suitable for use with the CSS   property; this should almost always be a relative value supplied in   or   units, not a fixed   value
 * size2 – specifies font size of the
 * variant1 – used to create an IETF language tag for the
 * variant2 – used to create an IETF language tag for

There are two unique parameters:
 * separator – accepts  (comma; default),   (semicolon),   (solidus), or a quoted string of text; see §Examples
 * swap – takes the value  so that the template renders   first

Examples
The basic form:

to invert the rendered order, set yes

to use a different separator, use /:

the same but with spaces around the solidus, use " / ":

templates may include quote marks in their output so when using a template in separator, make sure that the wrapping quote marks are of the other flavor

so write:

fidget with italics:

to create IETF language tags for the html:

to hide the automatic language label, use none:

to use a different label, use label:

to unlink the automatic language label, use no:

Error messages
This template calls and the appropriate  templates. When those templates encounter errors, they will render their own error messages; for assistance, see the help text linked from thier error messages.

There are error messages unique to this template. These are:
 * – one or more of,  , or   is missing or empty; all three are required
 * –  must be Latin-script text
 * –  must not be Latin-script text
 * – template expects a ISO 639-1, -2, or -3 language code in