Template:-mul-
-mul- template test
[edit]Purpose: verify
-mul- template test
Purpose: verify Template loop detected: Template:-mul- rendering consistency in multilingual contexts, minimal single-word inputs compatibility, and interactions with other multilingual templates.
Basic cases (single-word input)
- Input:
Template loop detected: Template:-mul-→ Expectation: multilingual label mul wrapping "Hello" - Input:
Template loop detected: Template:-mul-→ Expectation: multilingual label mul wrapping "Bonjour" - Input:
Template loop detected: Template:-mul-→ Expectation: multilingual label mul wrapping "你好"
With language parameter (override)
- Input:
Template loop detected: Template:-mul-→ Expectation: if override allowed, use es; otherwise fallback to mul - Input:
Template loop detected: Template:-mul-→ Expectation: same logic as above
Empty and whitespace
- Input:
Template loop detected: Template:-mul-→ Expectation: no render or empty placeholder; log a warning if applicable - Input:
Template loop detected: Template:-mul-→ Expectation: same; template should avoid throwing errors
Special characters
- Input:
Template loop detected: Template:-mul-→ Expectation: diacritics rendered correctly - Input:
Template loop detected: Template:-mul-→ Expectation: diaeresis preserved - Input:
Template loop detected: Template:-mul-→ Expectation: full-width characters preserved
Interaction with other multilingual templates
- Input:
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
Help:Multilingual – guidance on handling multilingual content→ Compare rendering (Meta’s
Template:Template documentation
| The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes. |
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=,|lang2=,|lang3=, …- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation): Template loop detected: Template:Mul
Optional parameters
|sep=- Custom separator between language items.
* If omitted, a default such as•(space–middle dot–space) is used. * You can set it to any text, for example/,,or a localized word.
|wrap=- Controls optional wrapping around the whole list. Suggested values:
*brackets– wrap with fullwidth square brackets, such as [...] *parentheses– wrap with round brackets, such as (...) *none(or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as: (Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as: Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx">tags; - It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
- Help:Multilingual – guidance on handling multilingual content )
- Input:
Template:For-multi is a small test template used to demonstrate how non‑Latin characters and inline HTML can be handled in wikitext.
Minimal example:
α
γ A
In raw wikitext, this is simply:
α
γ <span lang="de">A</span>
α is the Greek small letter alpha, written directly as a Unicode character.
γ is an HTML character entity for the Greek small letter gamma.
<span lang="de">A</span> wraps the character A in a <span> with a language attribute (lang="de" for German).
Usage
A typical usage on a test page might be:
{{For-multi}}
which could expand, for testing purposes, to something like:
α
γ A
This is useful to verify that:
- Greek characters display correctly;
- HTML entities like
γ render as expected;
- language‑tagged spans are preserved and interpreted correctly by the software and by assistive technologies.
See also
- Help:HTML in wikitext
Help:Special characters→ Verify hatnote templates do not conflict with -mul- styling
Internal data container reference
- Input:
ffnonesenseword catapult pickles anotherword
Usage
This template is used to define a short description for the current page.
The description is typically:
- brief – usually fewer than 40 characters;
- neutral and descriptive;
- supplementary to the article title, not simply a repeat of it.
Short descriptions are mainly consumed by tools and skins (for example, mobile views and search interfaces) and are not always shown in the normal desktop view.
Basic usage
To add a short description to a page:
{{Short description|Encyclopedia of free educational textbooks}}
This stores the description Encyclopedia of free educational textbooks for the current page.
Preventing replacement
If a description is already supplied (for example, from a higher level template) and you want to make sure that a local call does not overwrite it, use the noreplace parameter:
{{Short description|Free-content textbook project|noreplace=yes}}
In this case, if a short description has already been set elsewhere on the page, this call will be ignored.
Specifying a page type
You may optionally supply a page type.
This can be helpful for tools that group or filter pages:
{{Short description|Open-content textbook collection|pagetype=project}}
or
{{Short description|Polynomial invariant measuring multiple roots|pagetype=mathematics}}
Notes
- The short description should normally be in sentence case, without a final period:
Correct: Online free-content textbook collection
Avoid: online FREE-CONTENT TEXTBOOK COLLECTION.
- Avoid adding links, HTML tags or wikicode. The value is intended to be plain text.
- Do not add maintenance notes, talk-page comments or other discussion content to the short description.
See also
UCI team code is a short alphanumeric identifier used to uniquely represent a team in certain sports, especially in cycling disciplines such as Road bicycle racing and Track cycling. The code appears in entry lists, official results, rankings and technical documents to provide a language‑independent way to identify the same team across different events and data systems.[1]
Purpose
UCI‑style team codes are primarily used to:[2]
- uniquely identify a team in registration systems;
- shorten long team names in official results;
- serve as a stable key in rankings and statistical databases;
- appear on on‑screen graphics and scoreboards alongside rider names.
While spectators usually see full team names or commercial names, officials, Sports data providers and technical officials rely heavily on a consistent team code in order to avoid ambiguity.
Format
The exact format can vary between governing bodies, but common characteristics include:[3]
- composed mainly of uppercase Latin letters, often 2–4 characters long;
- chosen to avoid collisions with existing team or country codes;
- designed to have some mnemonic link to the team name, sponsor or home country;
- kept stable within a season so that statistics remain comparable.
In some frameworks, digits or prefixes may be added to distinguish different levels of teams or to separate codes used in different disciplines with similar team names.
Allocation and management
Team codes are usually assigned and maintained by a central authority to prevent conflicts:[4]
- teams propose one or more preferred codes during registration;
- the governing body checks for conflicts with existing codes;
- once approved, the code is entered into the official registry;
- when a team changes its commercial name, the original code may be kept to preserve historical continuity in statistics.
Event organizers frequently reproduce the official list of valid team codes in their technical guides so that delegations, commentators and media can rely on the same identifiers.
Relation to other identifiers
UCI‑style team codes are distinct from several other commonly used codes:[5]
- National Olympic Committee (NOC) codes such as the three‑letter codes used at the Olympic Games, which represent delegations or countries rather than professional teams;
- internal numerical IDs used inside a specific registration or timing system, which are not intended for public display;
- marketing abbreviations or sponsor‑driven short names that may change more frequently than technical identifiers.
In detailed technical documents, it is common to list the full team name, nationality, country code and team code together so that readers can cross‑reference them.
Example
The following is a purely illustrative example showing how a team code might be used:
- Full team name: Example Cycling Team
- Country: France
- Country code: FRA
- Team code: EXC
In an official result sheet, only "EXC" might appear in the team column, while a separate legend or team list maps EXC to the full team name.
See also
Notes
- ↑ International cycling federation technical regulations, section on team registration and code allocation.
- ↑ Example international event technical guide, teams and registration chapter.
- ↑ Sample competition management system user manual.
- ↑ Yearly registration guidelines from an international sports federation.
- ↑ Sports terminology and coding glossary published by an international federation.
→ Expectation: no conflict with the data-container template Cycling data MUL (namespace isolation)
Regression test script (pseudo)
- Word list: Hello/Bonjour/Hola/Hallo/Café/naïve/日本語/مرحبا
- Batch rendering: inject
Template loop detected: Template:-mul-sequentially; compare DOM fragment class/lang attributes - Assertions:
- Output contains lang="mul" attribute
- No error when lang parameter omitted
- Special characters rendered via entities or UTF-8 correctly
Compatibility and fallback
- If Template loop detected: Template:-mul- does not exist: fallback to plain text output
- If site does not support lang="mul": fallback to a without lang attribute
Maintenance recommendations
- Document: purpose, parameters (text, lang), examples, common issues
- Avoid name collisions with other language-label templates
- Keep this “StemmingSingleWords style” testcase set in template sandbox and testcases pages for CI
References:
- Template:-mul- (Wiktionary-om) alignment of multilingual label usage
- Template:Mul (Meta) as a comparator
- For-multi (hatnote) for interaction regression rendering consistency in multilingual contexts, minimal single-word inputs compatibility, and interactions with other multilingual templates.
Basic cases (single-word input)
[edit]- Input:
-mul- template test
Purpose: verify Template loop detected: Template:-mul- rendering consistency in multilingual contexts, minimal single-word inputs compatibility, and interactions with other multilingual templates.
Basic cases (single-word input)
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Hello"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Bonjour"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "你好"
With language parameter (override)
- Input:
Template loop detected: Template:-mul- → Expectation: if override allowed, use es; otherwise fallback to mul
- Input:
Template loop detected: Template:-mul- → Expectation: same logic as above
Empty and whitespace
- Input:
Template loop detected: Template:-mul- → Expectation: no render or empty placeholder; log a warning if applicable
- Input:
Template loop detected: Template:-mul- → Expectation: same; template should avoid throwing errors
Special characters
- Input:
Template loop detected: Template:-mul- → Expectation: diacritics rendered correctly
- Input:
Template loop detected: Template:-mul- → Expectation: diaeresis preserved
- Input:
Template loop detected: Template:-mul- → Expectation: full-width characters preserved
Interaction with other multilingual templates
- Input:
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
Help:Multilingual – guidance on handling multilingual content
→ Compare rendering (Meta’s
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
- Help:Multilingual – guidance on handling multilingual content
)
- Input:
Template:For-multi is a small test template used to demonstrate how non‑Latin characters and inline HTML can be handled in wikitext.
Minimal example:
α
γ A
In raw wikitext, this is simply:
α
γ <span lang="de">A</span>
α is the Greek small letter alpha, written directly as a Unicode character.
γ is an HTML character entity for the Greek small letter gamma.
<span lang="de">A</span> wraps the character A in a <span> with a language attribute (lang="de" for German).
Usage
A typical usage on a test page might be:
{{For-multi}}
which could expand, for testing purposes, to something like:
α
γ A
This is useful to verify that:
- Greek characters display correctly;
- HTML entities like
γ render as expected;
- language‑tagged spans are preserved and interpreted correctly by the software and by assistive technologies.
See also
- Help:HTML in wikitext
Help:Special characters → Verify hatnote templates do not conflict with -mul- styling
Internal data container reference
- Input:
ffnonesenseword catapult pickles anotherword
Usage
This template is used to define a short description for the current page.
The description is typically:
- brief – usually fewer than 40 characters;
- neutral and descriptive;
- supplementary to the article title, not simply a repeat of it.
Short descriptions are mainly consumed by tools and skins (for example, mobile views and search interfaces) and are not always shown in the normal desktop view.
Basic usage
To add a short description to a page:
{{Short description|Encyclopedia of free educational textbooks}}
This stores the description Encyclopedia of free educational textbooks for the current page.
Preventing replacement
If a description is already supplied (for example, from a higher level template) and you want to make sure that a local call does not overwrite it, use the noreplace parameter:
{{Short description|Free-content textbook project|noreplace=yes}}
In this case, if a short description has already been set elsewhere on the page, this call will be ignored.
Specifying a page type
You may optionally supply a page type.
This can be helpful for tools that group or filter pages:
{{Short description|Open-content textbook collection|pagetype=project}}
or
{{Short description|Polynomial invariant measuring multiple roots|pagetype=mathematics}}
Notes
- The short description should normally be in sentence case, without a final period:
Correct: Online free-content textbook collection
Avoid: online FREE-CONTENT TEXTBOOK COLLECTION.
- Avoid adding links, HTML tags or wikicode. The value is intended to be plain text.
- Do not add maintenance notes, talk-page comments or other discussion content to the short description.
See also
UCI team code is a short alphanumeric identifier used to uniquely represent a team in certain sports, especially in cycling disciplines such as Road bicycle racing and Track cycling. The code appears in entry lists, official results, rankings and technical documents to provide a language‑independent way to identify the same team across different events and data systems.[1]
Purpose
UCI‑style team codes are primarily used to:[2]
- uniquely identify a team in registration systems;
- shorten long team names in official results;
- serve as a stable key in rankings and statistical databases;
- appear on on‑screen graphics and scoreboards alongside rider names.
While spectators usually see full team names or commercial names, officials, Sports data providers and technical officials rely heavily on a consistent team code in order to avoid ambiguity.
Format
The exact format can vary between governing bodies, but common characteristics include:[3]
- composed mainly of uppercase Latin letters, often 2–4 characters long;
- chosen to avoid collisions with existing team or country codes;
- designed to have some mnemonic link to the team name, sponsor or home country;
- kept stable within a season so that statistics remain comparable.
In some frameworks, digits or prefixes may be added to distinguish different levels of teams or to separate codes used in different disciplines with similar team names.
Allocation and management
Team codes are usually assigned and maintained by a central authority to prevent conflicts:[4]
- teams propose one or more preferred codes during registration;
- the governing body checks for conflicts with existing codes;
- once approved, the code is entered into the official registry;
- when a team changes its commercial name, the original code may be kept to preserve historical continuity in statistics.
Event organizers frequently reproduce the official list of valid team codes in their technical guides so that delegations, commentators and media can rely on the same identifiers.
Relation to other identifiers
UCI‑style team codes are distinct from several other commonly used codes:[5]
- National Olympic Committee (NOC) codes such as the three‑letter codes used at the Olympic Games, which represent delegations or countries rather than professional teams;
- internal numerical IDs used inside a specific registration or timing system, which are not intended for public display;
- marketing abbreviations or sponsor‑driven short names that may change more frequently than technical identifiers.
In detailed technical documents, it is common to list the full team name, nationality, country code and team code together so that readers can cross‑reference them.
Example
The following is a purely illustrative example showing how a team code might be used:
- Full team name: Example Cycling Team
- Country: France
- Country code: FRA
- Team code: EXC
In an official result sheet, only "EXC" might appear in the team column, while a separate legend or team list maps EXC to the full team name.
See also
Notes
- ↑ International cycling federation technical regulations, section on team registration and code allocation.
- ↑ Example international event technical guide, teams and registration chapter.
- ↑ Sample competition management system user manual.
- ↑ Yearly registration guidelines from an international sports federation.
- ↑ Sports terminology and coding glossary published by an international federation.
→ Expectation: no conflict with the data-container template Cycling data MUL (namespace isolation)
Regression test script (pseudo)
- Word list: Hello/Bonjour/Hola/Hallo/Café/naïve/日本語/مرحبا
- Batch rendering: inject
Template loop detected: Template:-mul- sequentially; compare DOM fragment class/lang attributes
- Assertions:
- Output contains lang="mul" attribute
- No error when lang parameter omitted
- Special characters rendered via entities or UTF-8 correctly
Compatibility and fallback
- If Template loop detected: Template:-mul- does not exist: fallback to plain text output
- If site does not support lang="mul": fallback to a without lang attribute
Maintenance recommendations
- Document: purpose, parameters (text, lang), examples, common issues
- Avoid name collisions with other language-label templates
- Keep this “StemmingSingleWords style” testcase set in template sandbox and testcases pages for CI
References:
- Template:-mul- (Wiktionary-om) alignment of multilingual label usage
- Template:Mul (Meta) as a comparator
For-multi (hatnote) for interaction regression→ Expectation: multilingual label mul wrapping "Hello"- Input:
-mul- template test
Purpose: verify Template loop detected: Template:-mul- rendering consistency in multilingual contexts, minimal single-word inputs compatibility, and interactions with other multilingual templates.
Basic cases (single-word input)
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Hello"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Bonjour"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "你好"
With language parameter (override)
- Input:
Template loop detected: Template:-mul- → Expectation: if override allowed, use es; otherwise fallback to mul
- Input:
Template loop detected: Template:-mul- → Expectation: same logic as above
Empty and whitespace
- Input:
Template loop detected: Template:-mul- → Expectation: no render or empty placeholder; log a warning if applicable
- Input:
Template loop detected: Template:-mul- → Expectation: same; template should avoid throwing errors
Special characters
- Input:
Template loop detected: Template:-mul- → Expectation: diacritics rendered correctly
- Input:
Template loop detected: Template:-mul- → Expectation: diaeresis preserved
- Input:
Template loop detected: Template:-mul- → Expectation: full-width characters preserved
Interaction with other multilingual templates
- Input:
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
Help:Multilingual – guidance on handling multilingual content
→ Compare rendering (Meta’s
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
- Help:Multilingual – guidance on handling multilingual content
)
- Input:
Template:For-multi is a small test template used to demonstrate how non‑Latin characters and inline HTML can be handled in wikitext.
Minimal example:
α
γ A
In raw wikitext, this is simply:
α
γ <span lang="de">A</span>
α is the Greek small letter alpha, written directly as a Unicode character.
γ is an HTML character entity for the Greek small letter gamma.
<span lang="de">A</span> wraps the character A in a <span> with a language attribute (lang="de" for German).
Usage
A typical usage on a test page might be:
{{For-multi}}
which could expand, for testing purposes, to something like:
α
γ A
This is useful to verify that:
- Greek characters display correctly;
- HTML entities like
γ render as expected;
- language‑tagged spans are preserved and interpreted correctly by the software and by assistive technologies.
See also
- Help:HTML in wikitext
Help:Special characters → Verify hatnote templates do not conflict with -mul- styling
Internal data container reference
- Input:
ffnonesenseword catapult pickles anotherword
Usage
This template is used to define a short description for the current page.
The description is typically:
- brief – usually fewer than 40 characters;
- neutral and descriptive;
- supplementary to the article title, not simply a repeat of it.
Short descriptions are mainly consumed by tools and skins (for example, mobile views and search interfaces) and are not always shown in the normal desktop view.
Basic usage
To add a short description to a page:
{{Short description|Encyclopedia of free educational textbooks}}
This stores the description Encyclopedia of free educational textbooks for the current page.
Preventing replacement
If a description is already supplied (for example, from a higher level template) and you want to make sure that a local call does not overwrite it, use the noreplace parameter:
{{Short description|Free-content textbook project|noreplace=yes}}
In this case, if a short description has already been set elsewhere on the page, this call will be ignored.
Specifying a page type
You may optionally supply a page type.
This can be helpful for tools that group or filter pages:
{{Short description|Open-content textbook collection|pagetype=project}}
or
{{Short description|Polynomial invariant measuring multiple roots|pagetype=mathematics}}
Notes
- The short description should normally be in sentence case, without a final period:
Correct: Online free-content textbook collection
Avoid: online FREE-CONTENT TEXTBOOK COLLECTION.
- Avoid adding links, HTML tags or wikicode. The value is intended to be plain text.
- Do not add maintenance notes, talk-page comments or other discussion content to the short description.
See also
UCI team code is a short alphanumeric identifier used to uniquely represent a team in certain sports, especially in cycling disciplines such as Road bicycle racing and Track cycling. The code appears in entry lists, official results, rankings and technical documents to provide a language‑independent way to identify the same team across different events and data systems.[1]
Purpose
UCI‑style team codes are primarily used to:[2]
- uniquely identify a team in registration systems;
- shorten long team names in official results;
- serve as a stable key in rankings and statistical databases;
- appear on on‑screen graphics and scoreboards alongside rider names.
While spectators usually see full team names or commercial names, officials, Sports data providers and technical officials rely heavily on a consistent team code in order to avoid ambiguity.
Format
The exact format can vary between governing bodies, but common characteristics include:[3]
- composed mainly of uppercase Latin letters, often 2–4 characters long;
- chosen to avoid collisions with existing team or country codes;
- designed to have some mnemonic link to the team name, sponsor or home country;
- kept stable within a season so that statistics remain comparable.
In some frameworks, digits or prefixes may be added to distinguish different levels of teams or to separate codes used in different disciplines with similar team names.
Allocation and management
Team codes are usually assigned and maintained by a central authority to prevent conflicts:[4]
- teams propose one or more preferred codes during registration;
- the governing body checks for conflicts with existing codes;
- once approved, the code is entered into the official registry;
- when a team changes its commercial name, the original code may be kept to preserve historical continuity in statistics.
Event organizers frequently reproduce the official list of valid team codes in their technical guides so that delegations, commentators and media can rely on the same identifiers.
Relation to other identifiers
UCI‑style team codes are distinct from several other commonly used codes:[5]
- National Olympic Committee (NOC) codes such as the three‑letter codes used at the Olympic Games, which represent delegations or countries rather than professional teams;
- internal numerical IDs used inside a specific registration or timing system, which are not intended for public display;
- marketing abbreviations or sponsor‑driven short names that may change more frequently than technical identifiers.
In detailed technical documents, it is common to list the full team name, nationality, country code and team code together so that readers can cross‑reference them.
Example
The following is a purely illustrative example showing how a team code might be used:
- Full team name: Example Cycling Team
- Country: France
- Country code: FRA
- Team code: EXC
In an official result sheet, only "EXC" might appear in the team column, while a separate legend or team list maps EXC to the full team name.
See also
Notes
- ↑ International cycling federation technical regulations, section on team registration and code allocation.
- ↑ Example international event technical guide, teams and registration chapter.
- ↑ Sample competition management system user manual.
- ↑ Yearly registration guidelines from an international sports federation.
- ↑ Sports terminology and coding glossary published by an international federation.
→ Expectation: no conflict with the data-container template Cycling data MUL (namespace isolation)
Regression test script (pseudo)
- Word list: Hello/Bonjour/Hola/Hallo/Café/naïve/日本語/مرحبا
- Batch rendering: inject
Template loop detected: Template:-mul- sequentially; compare DOM fragment class/lang attributes
- Assertions:
- Output contains lang="mul" attribute
- No error when lang parameter omitted
- Special characters rendered via entities or UTF-8 correctly
Compatibility and fallback
- If Template loop detected: Template:-mul- does not exist: fallback to plain text output
- If site does not support lang="mul": fallback to a without lang attribute
Maintenance recommendations
- Document: purpose, parameters (text, lang), examples, common issues
- Avoid name collisions with other language-label templates
- Keep this “StemmingSingleWords style” testcase set in template sandbox and testcases pages for CI
References:
- Template:-mul- (Wiktionary-om) alignment of multilingual label usage
- Template:Mul (Meta) as a comparator
For-multi (hatnote) for interaction regression→ Expectation: multilingual label mul wrapping "Bonjour"- Input:
-mul- template test
Purpose: verify Template loop detected: Template:-mul- rendering consistency in multilingual contexts, minimal single-word inputs compatibility, and interactions with other multilingual templates.
Basic cases (single-word input)
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Hello"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Bonjour"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "你好"
With language parameter (override)
- Input:
Template loop detected: Template:-mul- → Expectation: if override allowed, use es; otherwise fallback to mul
- Input:
Template loop detected: Template:-mul- → Expectation: same logic as above
Empty and whitespace
- Input:
Template loop detected: Template:-mul- → Expectation: no render or empty placeholder; log a warning if applicable
- Input:
Template loop detected: Template:-mul- → Expectation: same; template should avoid throwing errors
Special characters
- Input:
Template loop detected: Template:-mul- → Expectation: diacritics rendered correctly
- Input:
Template loop detected: Template:-mul- → Expectation: diaeresis preserved
- Input:
Template loop detected: Template:-mul- → Expectation: full-width characters preserved
Interaction with other multilingual templates
- Input:
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
Help:Multilingual – guidance on handling multilingual content
→ Compare rendering (Meta’s
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
- Help:Multilingual – guidance on handling multilingual content
)
- Input:
Template:For-multi is a small test template used to demonstrate how non‑Latin characters and inline HTML can be handled in wikitext.
Minimal example:
α
γ A
In raw wikitext, this is simply:
α
γ <span lang="de">A</span>
α is the Greek small letter alpha, written directly as a Unicode character.
γ is an HTML character entity for the Greek small letter gamma.
<span lang="de">A</span> wraps the character A in a <span> with a language attribute (lang="de" for German).
Usage
A typical usage on a test page might be:
{{For-multi}}
which could expand, for testing purposes, to something like:
α
γ A
This is useful to verify that:
- Greek characters display correctly;
- HTML entities like
γ render as expected;
- language‑tagged spans are preserved and interpreted correctly by the software and by assistive technologies.
See also
- Help:HTML in wikitext
Help:Special characters → Verify hatnote templates do not conflict with -mul- styling
Internal data container reference
- Input:
ffnonesenseword catapult pickles anotherword
Usage
This template is used to define a short description for the current page.
The description is typically:
- brief – usually fewer than 40 characters;
- neutral and descriptive;
- supplementary to the article title, not simply a repeat of it.
Short descriptions are mainly consumed by tools and skins (for example, mobile views and search interfaces) and are not always shown in the normal desktop view.
Basic usage
To add a short description to a page:
{{Short description|Encyclopedia of free educational textbooks}}
This stores the description Encyclopedia of free educational textbooks for the current page.
Preventing replacement
If a description is already supplied (for example, from a higher level template) and you want to make sure that a local call does not overwrite it, use the noreplace parameter:
{{Short description|Free-content textbook project|noreplace=yes}}
In this case, if a short description has already been set elsewhere on the page, this call will be ignored.
Specifying a page type
You may optionally supply a page type.
This can be helpful for tools that group or filter pages:
{{Short description|Open-content textbook collection|pagetype=project}}
or
{{Short description|Polynomial invariant measuring multiple roots|pagetype=mathematics}}
Notes
- The short description should normally be in sentence case, without a final period:
Correct: Online free-content textbook collection
Avoid: online FREE-CONTENT TEXTBOOK COLLECTION.
- Avoid adding links, HTML tags or wikicode. The value is intended to be plain text.
- Do not add maintenance notes, talk-page comments or other discussion content to the short description.
See also
UCI team code is a short alphanumeric identifier used to uniquely represent a team in certain sports, especially in cycling disciplines such as Road bicycle racing and Track cycling. The code appears in entry lists, official results, rankings and technical documents to provide a language‑independent way to identify the same team across different events and data systems.[1]
Purpose
UCI‑style team codes are primarily used to:[2]
- uniquely identify a team in registration systems;
- shorten long team names in official results;
- serve as a stable key in rankings and statistical databases;
- appear on on‑screen graphics and scoreboards alongside rider names.
While spectators usually see full team names or commercial names, officials, Sports data providers and technical officials rely heavily on a consistent team code in order to avoid ambiguity.
Format
The exact format can vary between governing bodies, but common characteristics include:[3]
- composed mainly of uppercase Latin letters, often 2–4 characters long;
- chosen to avoid collisions with existing team or country codes;
- designed to have some mnemonic link to the team name, sponsor or home country;
- kept stable within a season so that statistics remain comparable.
In some frameworks, digits or prefixes may be added to distinguish different levels of teams or to separate codes used in different disciplines with similar team names.
Allocation and management
Team codes are usually assigned and maintained by a central authority to prevent conflicts:[4]
- teams propose one or more preferred codes during registration;
- the governing body checks for conflicts with existing codes;
- once approved, the code is entered into the official registry;
- when a team changes its commercial name, the original code may be kept to preserve historical continuity in statistics.
Event organizers frequently reproduce the official list of valid team codes in their technical guides so that delegations, commentators and media can rely on the same identifiers.
Relation to other identifiers
UCI‑style team codes are distinct from several other commonly used codes:[5]
- National Olympic Committee (NOC) codes such as the three‑letter codes used at the Olympic Games, which represent delegations or countries rather than professional teams;
- internal numerical IDs used inside a specific registration or timing system, which are not intended for public display;
- marketing abbreviations or sponsor‑driven short names that may change more frequently than technical identifiers.
In detailed technical documents, it is common to list the full team name, nationality, country code and team code together so that readers can cross‑reference them.
Example
The following is a purely illustrative example showing how a team code might be used:
- Full team name: Example Cycling Team
- Country: France
- Country code: FRA
- Team code: EXC
In an official result sheet, only "EXC" might appear in the team column, while a separate legend or team list maps EXC to the full team name.
See also
Notes
- ↑ International cycling federation technical regulations, section on team registration and code allocation.
- ↑ Example international event technical guide, teams and registration chapter.
- ↑ Sample competition management system user manual.
- ↑ Yearly registration guidelines from an international sports federation.
- ↑ Sports terminology and coding glossary published by an international federation.
→ Expectation: no conflict with the data-container template Cycling data MUL (namespace isolation)
Regression test script (pseudo)
- Word list: Hello/Bonjour/Hola/Hallo/Café/naïve/日本語/مرحبا
- Batch rendering: inject
Template loop detected: Template:-mul- sequentially; compare DOM fragment class/lang attributes
- Assertions:
- Output contains lang="mul" attribute
- No error when lang parameter omitted
- Special characters rendered via entities or UTF-8 correctly
Compatibility and fallback
- If Template loop detected: Template:-mul- does not exist: fallback to plain text output
- If site does not support lang="mul": fallback to a without lang attribute
Maintenance recommendations
- Document: purpose, parameters (text, lang), examples, common issues
- Avoid name collisions with other language-label templates
- Keep this “StemmingSingleWords style” testcase set in template sandbox and testcases pages for CI
References:
- Template:-mul- (Wiktionary-om) alignment of multilingual label usage
- Template:Mul (Meta) as a comparator
For-multi (hatnote) for interaction regression→ Expectation: multilingual label mul wrapping "你好"
With language parameter (override)
[edit]- Input:
-mul- template test
Purpose: verify Template loop detected: Template:-mul- rendering consistency in multilingual contexts, minimal single-word inputs compatibility, and interactions with other multilingual templates.
Basic cases (single-word input)
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Hello"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Bonjour"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "你好"
With language parameter (override)
- Input:
Template loop detected: Template:-mul- → Expectation: if override allowed, use es; otherwise fallback to mul
- Input:
Template loop detected: Template:-mul- → Expectation: same logic as above
Empty and whitespace
- Input:
Template loop detected: Template:-mul- → Expectation: no render or empty placeholder; log a warning if applicable
- Input:
Template loop detected: Template:-mul- → Expectation: same; template should avoid throwing errors
Special characters
- Input:
Template loop detected: Template:-mul- → Expectation: diacritics rendered correctly
- Input:
Template loop detected: Template:-mul- → Expectation: diaeresis preserved
- Input:
Template loop detected: Template:-mul- → Expectation: full-width characters preserved
Interaction with other multilingual templates
- Input:
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
Help:Multilingual – guidance on handling multilingual content
→ Compare rendering (Meta’s
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
- Help:Multilingual – guidance on handling multilingual content
)
- Input:
Template:For-multi is a small test template used to demonstrate how non‑Latin characters and inline HTML can be handled in wikitext.
Minimal example:
α
γ A
In raw wikitext, this is simply:
α
γ <span lang="de">A</span>
α is the Greek small letter alpha, written directly as a Unicode character.
γ is an HTML character entity for the Greek small letter gamma.
<span lang="de">A</span> wraps the character A in a <span> with a language attribute (lang="de" for German).
Usage
A typical usage on a test page might be:
{{For-multi}}
which could expand, for testing purposes, to something like:
α
γ A
This is useful to verify that:
- Greek characters display correctly;
- HTML entities like
γ render as expected;
- language‑tagged spans are preserved and interpreted correctly by the software and by assistive technologies.
See also
- Help:HTML in wikitext
Help:Special characters → Verify hatnote templates do not conflict with -mul- styling
Internal data container reference
- Input:
ffnonesenseword catapult pickles anotherword
Usage
This template is used to define a short description for the current page.
The description is typically:
- brief – usually fewer than 40 characters;
- neutral and descriptive;
- supplementary to the article title, not simply a repeat of it.
Short descriptions are mainly consumed by tools and skins (for example, mobile views and search interfaces) and are not always shown in the normal desktop view.
Basic usage
To add a short description to a page:
{{Short description|Encyclopedia of free educational textbooks}}
This stores the description Encyclopedia of free educational textbooks for the current page.
Preventing replacement
If a description is already supplied (for example, from a higher level template) and you want to make sure that a local call does not overwrite it, use the noreplace parameter:
{{Short description|Free-content textbook project|noreplace=yes}}
In this case, if a short description has already been set elsewhere on the page, this call will be ignored.
Specifying a page type
You may optionally supply a page type.
This can be helpful for tools that group or filter pages:
{{Short description|Open-content textbook collection|pagetype=project}}
or
{{Short description|Polynomial invariant measuring multiple roots|pagetype=mathematics}}
Notes
- The short description should normally be in sentence case, without a final period:
Correct: Online free-content textbook collection
Avoid: online FREE-CONTENT TEXTBOOK COLLECTION.
- Avoid adding links, HTML tags or wikicode. The value is intended to be plain text.
- Do not add maintenance notes, talk-page comments or other discussion content to the short description.
See also
UCI team code is a short alphanumeric identifier used to uniquely represent a team in certain sports, especially in cycling disciplines such as Road bicycle racing and Track cycling. The code appears in entry lists, official results, rankings and technical documents to provide a language‑independent way to identify the same team across different events and data systems.[1]
Purpose
UCI‑style team codes are primarily used to:[2]
- uniquely identify a team in registration systems;
- shorten long team names in official results;
- serve as a stable key in rankings and statistical databases;
- appear on on‑screen graphics and scoreboards alongside rider names.
While spectators usually see full team names or commercial names, officials, Sports data providers and technical officials rely heavily on a consistent team code in order to avoid ambiguity.
Format
The exact format can vary between governing bodies, but common characteristics include:[3]
- composed mainly of uppercase Latin letters, often 2–4 characters long;
- chosen to avoid collisions with existing team or country codes;
- designed to have some mnemonic link to the team name, sponsor or home country;
- kept stable within a season so that statistics remain comparable.
In some frameworks, digits or prefixes may be added to distinguish different levels of teams or to separate codes used in different disciplines with similar team names.
Allocation and management
Team codes are usually assigned and maintained by a central authority to prevent conflicts:[4]
- teams propose one or more preferred codes during registration;
- the governing body checks for conflicts with existing codes;
- once approved, the code is entered into the official registry;
- when a team changes its commercial name, the original code may be kept to preserve historical continuity in statistics.
Event organizers frequently reproduce the official list of valid team codes in their technical guides so that delegations, commentators and media can rely on the same identifiers.
Relation to other identifiers
UCI‑style team codes are distinct from several other commonly used codes:[5]
- National Olympic Committee (NOC) codes such as the three‑letter codes used at the Olympic Games, which represent delegations or countries rather than professional teams;
- internal numerical IDs used inside a specific registration or timing system, which are not intended for public display;
- marketing abbreviations or sponsor‑driven short names that may change more frequently than technical identifiers.
In detailed technical documents, it is common to list the full team name, nationality, country code and team code together so that readers can cross‑reference them.
Example
The following is a purely illustrative example showing how a team code might be used:
- Full team name: Example Cycling Team
- Country: France
- Country code: FRA
- Team code: EXC
In an official result sheet, only "EXC" might appear in the team column, while a separate legend or team list maps EXC to the full team name.
See also
Notes
- ↑ International cycling federation technical regulations, section on team registration and code allocation.
- ↑ Example international event technical guide, teams and registration chapter.
- ↑ Sample competition management system user manual.
- ↑ Yearly registration guidelines from an international sports federation.
- ↑ Sports terminology and coding glossary published by an international federation.
→ Expectation: no conflict with the data-container template Cycling data MUL (namespace isolation)
Regression test script (pseudo)
- Word list: Hello/Bonjour/Hola/Hallo/Café/naïve/日本語/مرحبا
- Batch rendering: inject
Template loop detected: Template:-mul- sequentially; compare DOM fragment class/lang attributes
- Assertions:
- Output contains lang="mul" attribute
- No error when lang parameter omitted
- Special characters rendered via entities or UTF-8 correctly
Compatibility and fallback
- If Template loop detected: Template:-mul- does not exist: fallback to plain text output
- If site does not support lang="mul": fallback to a without lang attribute
Maintenance recommendations
- Document: purpose, parameters (text, lang), examples, common issues
- Avoid name collisions with other language-label templates
- Keep this “StemmingSingleWords style” testcase set in template sandbox and testcases pages for CI
References:
- Template:-mul- (Wiktionary-om) alignment of multilingual label usage
- Template:Mul (Meta) as a comparator
For-multi (hatnote) for interaction regression→ Expectation: if override allowed, use es; otherwise fallback to mul- Input:
-mul- template test
Purpose: verify Template loop detected: Template:-mul- rendering consistency in multilingual contexts, minimal single-word inputs compatibility, and interactions with other multilingual templates.
Basic cases (single-word input)
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Hello"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Bonjour"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "你好"
With language parameter (override)
- Input:
Template loop detected: Template:-mul- → Expectation: if override allowed, use es; otherwise fallback to mul
- Input:
Template loop detected: Template:-mul- → Expectation: same logic as above
Empty and whitespace
- Input:
Template loop detected: Template:-mul- → Expectation: no render or empty placeholder; log a warning if applicable
- Input:
Template loop detected: Template:-mul- → Expectation: same; template should avoid throwing errors
Special characters
- Input:
Template loop detected: Template:-mul- → Expectation: diacritics rendered correctly
- Input:
Template loop detected: Template:-mul- → Expectation: diaeresis preserved
- Input:
Template loop detected: Template:-mul- → Expectation: full-width characters preserved
Interaction with other multilingual templates
- Input:
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
Help:Multilingual – guidance on handling multilingual content
→ Compare rendering (Meta’s
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
- Help:Multilingual – guidance on handling multilingual content
)
- Input:
Template:For-multi is a small test template used to demonstrate how non‑Latin characters and inline HTML can be handled in wikitext.
Minimal example:
α
γ A
In raw wikitext, this is simply:
α
γ <span lang="de">A</span>
α is the Greek small letter alpha, written directly as a Unicode character.
γ is an HTML character entity for the Greek small letter gamma.
<span lang="de">A</span> wraps the character A in a <span> with a language attribute (lang="de" for German).
Usage
A typical usage on a test page might be:
{{For-multi}}
which could expand, for testing purposes, to something like:
α
γ A
This is useful to verify that:
- Greek characters display correctly;
- HTML entities like
γ render as expected;
- language‑tagged spans are preserved and interpreted correctly by the software and by assistive technologies.
See also
- Help:HTML in wikitext
Help:Special characters → Verify hatnote templates do not conflict with -mul- styling
Internal data container reference
- Input:
ffnonesenseword catapult pickles anotherword
Usage
This template is used to define a short description for the current page.
The description is typically:
- brief – usually fewer than 40 characters;
- neutral and descriptive;
- supplementary to the article title, not simply a repeat of it.
Short descriptions are mainly consumed by tools and skins (for example, mobile views and search interfaces) and are not always shown in the normal desktop view.
Basic usage
To add a short description to a page:
{{Short description|Encyclopedia of free educational textbooks}}
This stores the description Encyclopedia of free educational textbooks for the current page.
Preventing replacement
If a description is already supplied (for example, from a higher level template) and you want to make sure that a local call does not overwrite it, use the noreplace parameter:
{{Short description|Free-content textbook project|noreplace=yes}}
In this case, if a short description has already been set elsewhere on the page, this call will be ignored.
Specifying a page type
You may optionally supply a page type.
This can be helpful for tools that group or filter pages:
{{Short description|Open-content textbook collection|pagetype=project}}
or
{{Short description|Polynomial invariant measuring multiple roots|pagetype=mathematics}}
Notes
- The short description should normally be in sentence case, without a final period:
Correct: Online free-content textbook collection
Avoid: online FREE-CONTENT TEXTBOOK COLLECTION.
- Avoid adding links, HTML tags or wikicode. The value is intended to be plain text.
- Do not add maintenance notes, talk-page comments or other discussion content to the short description.
See also
UCI team code is a short alphanumeric identifier used to uniquely represent a team in certain sports, especially in cycling disciplines such as Road bicycle racing and Track cycling. The code appears in entry lists, official results, rankings and technical documents to provide a language‑independent way to identify the same team across different events and data systems.[1]
Purpose
UCI‑style team codes are primarily used to:[2]
- uniquely identify a team in registration systems;
- shorten long team names in official results;
- serve as a stable key in rankings and statistical databases;
- appear on on‑screen graphics and scoreboards alongside rider names.
While spectators usually see full team names or commercial names, officials, Sports data providers and technical officials rely heavily on a consistent team code in order to avoid ambiguity.
Format
The exact format can vary between governing bodies, but common characteristics include:[3]
- composed mainly of uppercase Latin letters, often 2–4 characters long;
- chosen to avoid collisions with existing team or country codes;
- designed to have some mnemonic link to the team name, sponsor or home country;
- kept stable within a season so that statistics remain comparable.
In some frameworks, digits or prefixes may be added to distinguish different levels of teams or to separate codes used in different disciplines with similar team names.
Allocation and management
Team codes are usually assigned and maintained by a central authority to prevent conflicts:[4]
- teams propose one or more preferred codes during registration;
- the governing body checks for conflicts with existing codes;
- once approved, the code is entered into the official registry;
- when a team changes its commercial name, the original code may be kept to preserve historical continuity in statistics.
Event organizers frequently reproduce the official list of valid team codes in their technical guides so that delegations, commentators and media can rely on the same identifiers.
Relation to other identifiers
UCI‑style team codes are distinct from several other commonly used codes:[5]
- National Olympic Committee (NOC) codes such as the three‑letter codes used at the Olympic Games, which represent delegations or countries rather than professional teams;
- internal numerical IDs used inside a specific registration or timing system, which are not intended for public display;
- marketing abbreviations or sponsor‑driven short names that may change more frequently than technical identifiers.
In detailed technical documents, it is common to list the full team name, nationality, country code and team code together so that readers can cross‑reference them.
Example
The following is a purely illustrative example showing how a team code might be used:
- Full team name: Example Cycling Team
- Country: France
- Country code: FRA
- Team code: EXC
In an official result sheet, only "EXC" might appear in the team column, while a separate legend or team list maps EXC to the full team name.
See also
Notes
- ↑ International cycling federation technical regulations, section on team registration and code allocation.
- ↑ Example international event technical guide, teams and registration chapter.
- ↑ Sample competition management system user manual.
- ↑ Yearly registration guidelines from an international sports federation.
- ↑ Sports terminology and coding glossary published by an international federation.
→ Expectation: no conflict with the data-container template Cycling data MUL (namespace isolation)
Regression test script (pseudo)
- Word list: Hello/Bonjour/Hola/Hallo/Café/naïve/日本語/مرحبا
- Batch rendering: inject
Template loop detected: Template:-mul- sequentially; compare DOM fragment class/lang attributes
- Assertions:
- Output contains lang="mul" attribute
- No error when lang parameter omitted
- Special characters rendered via entities or UTF-8 correctly
Compatibility and fallback
- If Template loop detected: Template:-mul- does not exist: fallback to plain text output
- If site does not support lang="mul": fallback to a without lang attribute
Maintenance recommendations
- Document: purpose, parameters (text, lang), examples, common issues
- Avoid name collisions with other language-label templates
- Keep this “StemmingSingleWords style” testcase set in template sandbox and testcases pages for CI
References:
- Template:-mul- (Wiktionary-om) alignment of multilingual label usage
- Template:Mul (Meta) as a comparator
For-multi (hatnote) for interaction regression→ Expectation: same logic as above
Empty and whitespace
[edit]- Input:
-mul- template test
Purpose: verify Template loop detected: Template:-mul- rendering consistency in multilingual contexts, minimal single-word inputs compatibility, and interactions with other multilingual templates.
Basic cases (single-word input)
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Hello"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Bonjour"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "你好"
With language parameter (override)
- Input:
Template loop detected: Template:-mul- → Expectation: if override allowed, use es; otherwise fallback to mul
- Input:
Template loop detected: Template:-mul- → Expectation: same logic as above
Empty and whitespace
- Input:
Template loop detected: Template:-mul- → Expectation: no render or empty placeholder; log a warning if applicable
- Input:
Template loop detected: Template:-mul- → Expectation: same; template should avoid throwing errors
Special characters
- Input:
Template loop detected: Template:-mul- → Expectation: diacritics rendered correctly
- Input:
Template loop detected: Template:-mul- → Expectation: diaeresis preserved
- Input:
Template loop detected: Template:-mul- → Expectation: full-width characters preserved
Interaction with other multilingual templates
- Input:
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
Help:Multilingual – guidance on handling multilingual content
→ Compare rendering (Meta’s
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
- Help:Multilingual – guidance on handling multilingual content
)
- Input:
Template:For-multi is a small test template used to demonstrate how non‑Latin characters and inline HTML can be handled in wikitext.
Minimal example:
α
γ A
In raw wikitext, this is simply:
α
γ <span lang="de">A</span>
α is the Greek small letter alpha, written directly as a Unicode character.
γ is an HTML character entity for the Greek small letter gamma.
<span lang="de">A</span> wraps the character A in a <span> with a language attribute (lang="de" for German).
Usage
A typical usage on a test page might be:
{{For-multi}}
which could expand, for testing purposes, to something like:
α
γ A
This is useful to verify that:
- Greek characters display correctly;
- HTML entities like
γ render as expected;
- language‑tagged spans are preserved and interpreted correctly by the software and by assistive technologies.
See also
- Help:HTML in wikitext
Help:Special characters → Verify hatnote templates do not conflict with -mul- styling
Internal data container reference
- Input:
ffnonesenseword catapult pickles anotherword
Usage
This template is used to define a short description for the current page.
The description is typically:
- brief – usually fewer than 40 characters;
- neutral and descriptive;
- supplementary to the article title, not simply a repeat of it.
Short descriptions are mainly consumed by tools and skins (for example, mobile views and search interfaces) and are not always shown in the normal desktop view.
Basic usage
To add a short description to a page:
{{Short description|Encyclopedia of free educational textbooks}}
This stores the description Encyclopedia of free educational textbooks for the current page.
Preventing replacement
If a description is already supplied (for example, from a higher level template) and you want to make sure that a local call does not overwrite it, use the noreplace parameter:
{{Short description|Free-content textbook project|noreplace=yes}}
In this case, if a short description has already been set elsewhere on the page, this call will be ignored.
Specifying a page type
You may optionally supply a page type.
This can be helpful for tools that group or filter pages:
{{Short description|Open-content textbook collection|pagetype=project}}
or
{{Short description|Polynomial invariant measuring multiple roots|pagetype=mathematics}}
Notes
- The short description should normally be in sentence case, without a final period:
Correct: Online free-content textbook collection
Avoid: online FREE-CONTENT TEXTBOOK COLLECTION.
- Avoid adding links, HTML tags or wikicode. The value is intended to be plain text.
- Do not add maintenance notes, talk-page comments or other discussion content to the short description.
See also
UCI team code is a short alphanumeric identifier used to uniquely represent a team in certain sports, especially in cycling disciplines such as Road bicycle racing and Track cycling. The code appears in entry lists, official results, rankings and technical documents to provide a language‑independent way to identify the same team across different events and data systems.[1]
Purpose
UCI‑style team codes are primarily used to:[2]
- uniquely identify a team in registration systems;
- shorten long team names in official results;
- serve as a stable key in rankings and statistical databases;
- appear on on‑screen graphics and scoreboards alongside rider names.
While spectators usually see full team names or commercial names, officials, Sports data providers and technical officials rely heavily on a consistent team code in order to avoid ambiguity.
Format
The exact format can vary between governing bodies, but common characteristics include:[3]
- composed mainly of uppercase Latin letters, often 2–4 characters long;
- chosen to avoid collisions with existing team or country codes;
- designed to have some mnemonic link to the team name, sponsor or home country;
- kept stable within a season so that statistics remain comparable.
In some frameworks, digits or prefixes may be added to distinguish different levels of teams or to separate codes used in different disciplines with similar team names.
Allocation and management
Team codes are usually assigned and maintained by a central authority to prevent conflicts:[4]
- teams propose one or more preferred codes during registration;
- the governing body checks for conflicts with existing codes;
- once approved, the code is entered into the official registry;
- when a team changes its commercial name, the original code may be kept to preserve historical continuity in statistics.
Event organizers frequently reproduce the official list of valid team codes in their technical guides so that delegations, commentators and media can rely on the same identifiers.
Relation to other identifiers
UCI‑style team codes are distinct from several other commonly used codes:[5]
- National Olympic Committee (NOC) codes such as the three‑letter codes used at the Olympic Games, which represent delegations or countries rather than professional teams;
- internal numerical IDs used inside a specific registration or timing system, which are not intended for public display;
- marketing abbreviations or sponsor‑driven short names that may change more frequently than technical identifiers.
In detailed technical documents, it is common to list the full team name, nationality, country code and team code together so that readers can cross‑reference them.
Example
The following is a purely illustrative example showing how a team code might be used:
- Full team name: Example Cycling Team
- Country: France
- Country code: FRA
- Team code: EXC
In an official result sheet, only "EXC" might appear in the team column, while a separate legend or team list maps EXC to the full team name.
See also
Notes
- ↑ International cycling federation technical regulations, section on team registration and code allocation.
- ↑ Example international event technical guide, teams and registration chapter.
- ↑ Sample competition management system user manual.
- ↑ Yearly registration guidelines from an international sports federation.
- ↑ Sports terminology and coding glossary published by an international federation.
→ Expectation: no conflict with the data-container template Cycling data MUL (namespace isolation)
Regression test script (pseudo)
- Word list: Hello/Bonjour/Hola/Hallo/Café/naïve/日本語/مرحبا
- Batch rendering: inject
Template loop detected: Template:-mul- sequentially; compare DOM fragment class/lang attributes
- Assertions:
- Output contains lang="mul" attribute
- No error when lang parameter omitted
- Special characters rendered via entities or UTF-8 correctly
Compatibility and fallback
- If Template loop detected: Template:-mul- does not exist: fallback to plain text output
- If site does not support lang="mul": fallback to a without lang attribute
Maintenance recommendations
- Document: purpose, parameters (text, lang), examples, common issues
- Avoid name collisions with other language-label templates
- Keep this “StemmingSingleWords style” testcase set in template sandbox and testcases pages for CI
References:
- Template:-mul- (Wiktionary-om) alignment of multilingual label usage
- Template:Mul (Meta) as a comparator
For-multi (hatnote) for interaction regression→ Expectation: no render or empty placeholder; log a warning if applicable- Input:
-mul- template test
Purpose: verify Template loop detected: Template:-mul- rendering consistency in multilingual contexts, minimal single-word inputs compatibility, and interactions with other multilingual templates.
Basic cases (single-word input)
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Hello"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Bonjour"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "你好"
With language parameter (override)
- Input:
Template loop detected: Template:-mul- → Expectation: if override allowed, use es; otherwise fallback to mul
- Input:
Template loop detected: Template:-mul- → Expectation: same logic as above
Empty and whitespace
- Input:
Template loop detected: Template:-mul- → Expectation: no render or empty placeholder; log a warning if applicable
- Input:
Template loop detected: Template:-mul- → Expectation: same; template should avoid throwing errors
Special characters
- Input:
Template loop detected: Template:-mul- → Expectation: diacritics rendered correctly
- Input:
Template loop detected: Template:-mul- → Expectation: diaeresis preserved
- Input:
Template loop detected: Template:-mul- → Expectation: full-width characters preserved
Interaction with other multilingual templates
- Input:
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
Help:Multilingual – guidance on handling multilingual content
→ Compare rendering (Meta’s
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
- Help:Multilingual – guidance on handling multilingual content
)
- Input:
Template:For-multi is a small test template used to demonstrate how non‑Latin characters and inline HTML can be handled in wikitext.
Minimal example:
α
γ A
In raw wikitext, this is simply:
α
γ <span lang="de">A</span>
α is the Greek small letter alpha, written directly as a Unicode character.
γ is an HTML character entity for the Greek small letter gamma.
<span lang="de">A</span> wraps the character A in a <span> with a language attribute (lang="de" for German).
Usage
A typical usage on a test page might be:
{{For-multi}}
which could expand, for testing purposes, to something like:
α
γ A
This is useful to verify that:
- Greek characters display correctly;
- HTML entities like
γ render as expected;
- language‑tagged spans are preserved and interpreted correctly by the software and by assistive technologies.
See also
- Help:HTML in wikitext
Help:Special characters → Verify hatnote templates do not conflict with -mul- styling
Internal data container reference
- Input:
ffnonesenseword catapult pickles anotherword
Usage
This template is used to define a short description for the current page.
The description is typically:
- brief – usually fewer than 40 characters;
- neutral and descriptive;
- supplementary to the article title, not simply a repeat of it.
Short descriptions are mainly consumed by tools and skins (for example, mobile views and search interfaces) and are not always shown in the normal desktop view.
Basic usage
To add a short description to a page:
{{Short description|Encyclopedia of free educational textbooks}}
This stores the description Encyclopedia of free educational textbooks for the current page.
Preventing replacement
If a description is already supplied (for example, from a higher level template) and you want to make sure that a local call does not overwrite it, use the noreplace parameter:
{{Short description|Free-content textbook project|noreplace=yes}}
In this case, if a short description has already been set elsewhere on the page, this call will be ignored.
Specifying a page type
You may optionally supply a page type.
This can be helpful for tools that group or filter pages:
{{Short description|Open-content textbook collection|pagetype=project}}
or
{{Short description|Polynomial invariant measuring multiple roots|pagetype=mathematics}}
Notes
- The short description should normally be in sentence case, without a final period:
Correct: Online free-content textbook collection
Avoid: online FREE-CONTENT TEXTBOOK COLLECTION.
- Avoid adding links, HTML tags or wikicode. The value is intended to be plain text.
- Do not add maintenance notes, talk-page comments or other discussion content to the short description.
See also
UCI team code is a short alphanumeric identifier used to uniquely represent a team in certain sports, especially in cycling disciplines such as Road bicycle racing and Track cycling. The code appears in entry lists, official results, rankings and technical documents to provide a language‑independent way to identify the same team across different events and data systems.[1]
Purpose
UCI‑style team codes are primarily used to:[2]
- uniquely identify a team in registration systems;
- shorten long team names in official results;
- serve as a stable key in rankings and statistical databases;
- appear on on‑screen graphics and scoreboards alongside rider names.
While spectators usually see full team names or commercial names, officials, Sports data providers and technical officials rely heavily on a consistent team code in order to avoid ambiguity.
Format
The exact format can vary between governing bodies, but common characteristics include:[3]
- composed mainly of uppercase Latin letters, often 2–4 characters long;
- chosen to avoid collisions with existing team or country codes;
- designed to have some mnemonic link to the team name, sponsor or home country;
- kept stable within a season so that statistics remain comparable.
In some frameworks, digits or prefixes may be added to distinguish different levels of teams or to separate codes used in different disciplines with similar team names.
Allocation and management
Team codes are usually assigned and maintained by a central authority to prevent conflicts:[4]
- teams propose one or more preferred codes during registration;
- the governing body checks for conflicts with existing codes;
- once approved, the code is entered into the official registry;
- when a team changes its commercial name, the original code may be kept to preserve historical continuity in statistics.
Event organizers frequently reproduce the official list of valid team codes in their technical guides so that delegations, commentators and media can rely on the same identifiers.
Relation to other identifiers
UCI‑style team codes are distinct from several other commonly used codes:[5]
- National Olympic Committee (NOC) codes such as the three‑letter codes used at the Olympic Games, which represent delegations or countries rather than professional teams;
- internal numerical IDs used inside a specific registration or timing system, which are not intended for public display;
- marketing abbreviations or sponsor‑driven short names that may change more frequently than technical identifiers.
In detailed technical documents, it is common to list the full team name, nationality, country code and team code together so that readers can cross‑reference them.
Example
The following is a purely illustrative example showing how a team code might be used:
- Full team name: Example Cycling Team
- Country: France
- Country code: FRA
- Team code: EXC
In an official result sheet, only "EXC" might appear in the team column, while a separate legend or team list maps EXC to the full team name.
See also
Notes
- ↑ International cycling federation technical regulations, section on team registration and code allocation.
- ↑ Example international event technical guide, teams and registration chapter.
- ↑ Sample competition management system user manual.
- ↑ Yearly registration guidelines from an international sports federation.
- ↑ Sports terminology and coding glossary published by an international federation.
→ Expectation: no conflict with the data-container template Cycling data MUL (namespace isolation)
Regression test script (pseudo)
- Word list: Hello/Bonjour/Hola/Hallo/Café/naïve/日本語/مرحبا
- Batch rendering: inject
Template loop detected: Template:-mul- sequentially; compare DOM fragment class/lang attributes
- Assertions:
- Output contains lang="mul" attribute
- No error when lang parameter omitted
- Special characters rendered via entities or UTF-8 correctly
Compatibility and fallback
- If Template loop detected: Template:-mul- does not exist: fallback to plain text output
- If site does not support lang="mul": fallback to a without lang attribute
Maintenance recommendations
- Document: purpose, parameters (text, lang), examples, common issues
- Avoid name collisions with other language-label templates
- Keep this “StemmingSingleWords style” testcase set in template sandbox and testcases pages for CI
References:
- Template:-mul- (Wiktionary-om) alignment of multilingual label usage
- Template:Mul (Meta) as a comparator
For-multi (hatnote) for interaction regression→ Expectation: same; template should avoid throwing errors
Special characters
[edit]- Input:
-mul- template test
Purpose: verify Template loop detected: Template:-mul- rendering consistency in multilingual contexts, minimal single-word inputs compatibility, and interactions with other multilingual templates.
Basic cases (single-word input)
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Hello"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Bonjour"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "你好"
With language parameter (override)
- Input:
Template loop detected: Template:-mul- → Expectation: if override allowed, use es; otherwise fallback to mul
- Input:
Template loop detected: Template:-mul- → Expectation: same logic as above
Empty and whitespace
- Input:
Template loop detected: Template:-mul- → Expectation: no render or empty placeholder; log a warning if applicable
- Input:
Template loop detected: Template:-mul- → Expectation: same; template should avoid throwing errors
Special characters
- Input:
Template loop detected: Template:-mul- → Expectation: diacritics rendered correctly
- Input:
Template loop detected: Template:-mul- → Expectation: diaeresis preserved
- Input:
Template loop detected: Template:-mul- → Expectation: full-width characters preserved
Interaction with other multilingual templates
- Input:
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
Help:Multilingual – guidance on handling multilingual content
→ Compare rendering (Meta’s
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
- Help:Multilingual – guidance on handling multilingual content
)
- Input:
Template:For-multi is a small test template used to demonstrate how non‑Latin characters and inline HTML can be handled in wikitext.
Minimal example:
α
γ A
In raw wikitext, this is simply:
α
γ <span lang="de">A</span>
α is the Greek small letter alpha, written directly as a Unicode character.
γ is an HTML character entity for the Greek small letter gamma.
<span lang="de">A</span> wraps the character A in a <span> with a language attribute (lang="de" for German).
Usage
A typical usage on a test page might be:
{{For-multi}}
which could expand, for testing purposes, to something like:
α
γ A
This is useful to verify that:
- Greek characters display correctly;
- HTML entities like
γ render as expected;
- language‑tagged spans are preserved and interpreted correctly by the software and by assistive technologies.
See also
- Help:HTML in wikitext
Help:Special characters → Verify hatnote templates do not conflict with -mul- styling
Internal data container reference
- Input:
ffnonesenseword catapult pickles anotherword
Usage
This template is used to define a short description for the current page.
The description is typically:
- brief – usually fewer than 40 characters;
- neutral and descriptive;
- supplementary to the article title, not simply a repeat of it.
Short descriptions are mainly consumed by tools and skins (for example, mobile views and search interfaces) and are not always shown in the normal desktop view.
Basic usage
To add a short description to a page:
{{Short description|Encyclopedia of free educational textbooks}}
This stores the description Encyclopedia of free educational textbooks for the current page.
Preventing replacement
If a description is already supplied (for example, from a higher level template) and you want to make sure that a local call does not overwrite it, use the noreplace parameter:
{{Short description|Free-content textbook project|noreplace=yes}}
In this case, if a short description has already been set elsewhere on the page, this call will be ignored.
Specifying a page type
You may optionally supply a page type.
This can be helpful for tools that group or filter pages:
{{Short description|Open-content textbook collection|pagetype=project}}
or
{{Short description|Polynomial invariant measuring multiple roots|pagetype=mathematics}}
Notes
- The short description should normally be in sentence case, without a final period:
Correct: Online free-content textbook collection
Avoid: online FREE-CONTENT TEXTBOOK COLLECTION.
- Avoid adding links, HTML tags or wikicode. The value is intended to be plain text.
- Do not add maintenance notes, talk-page comments or other discussion content to the short description.
See also
UCI team code is a short alphanumeric identifier used to uniquely represent a team in certain sports, especially in cycling disciplines such as Road bicycle racing and Track cycling. The code appears in entry lists, official results, rankings and technical documents to provide a language‑independent way to identify the same team across different events and data systems.[1]
Purpose
UCI‑style team codes are primarily used to:[2]
- uniquely identify a team in registration systems;
- shorten long team names in official results;
- serve as a stable key in rankings and statistical databases;
- appear on on‑screen graphics and scoreboards alongside rider names.
While spectators usually see full team names or commercial names, officials, Sports data providers and technical officials rely heavily on a consistent team code in order to avoid ambiguity.
Format
The exact format can vary between governing bodies, but common characteristics include:[3]
- composed mainly of uppercase Latin letters, often 2–4 characters long;
- chosen to avoid collisions with existing team or country codes;
- designed to have some mnemonic link to the team name, sponsor or home country;
- kept stable within a season so that statistics remain comparable.
In some frameworks, digits or prefixes may be added to distinguish different levels of teams or to separate codes used in different disciplines with similar team names.
Allocation and management
Team codes are usually assigned and maintained by a central authority to prevent conflicts:[4]
- teams propose one or more preferred codes during registration;
- the governing body checks for conflicts with existing codes;
- once approved, the code is entered into the official registry;
- when a team changes its commercial name, the original code may be kept to preserve historical continuity in statistics.
Event organizers frequently reproduce the official list of valid team codes in their technical guides so that delegations, commentators and media can rely on the same identifiers.
Relation to other identifiers
UCI‑style team codes are distinct from several other commonly used codes:[5]
- National Olympic Committee (NOC) codes such as the three‑letter codes used at the Olympic Games, which represent delegations or countries rather than professional teams;
- internal numerical IDs used inside a specific registration or timing system, which are not intended for public display;
- marketing abbreviations or sponsor‑driven short names that may change more frequently than technical identifiers.
In detailed technical documents, it is common to list the full team name, nationality, country code and team code together so that readers can cross‑reference them.
Example
The following is a purely illustrative example showing how a team code might be used:
- Full team name: Example Cycling Team
- Country: France
- Country code: FRA
- Team code: EXC
In an official result sheet, only "EXC" might appear in the team column, while a separate legend or team list maps EXC to the full team name.
See also
Notes
- ↑ International cycling federation technical regulations, section on team registration and code allocation.
- ↑ Example international event technical guide, teams and registration chapter.
- ↑ Sample competition management system user manual.
- ↑ Yearly registration guidelines from an international sports federation.
- ↑ Sports terminology and coding glossary published by an international federation.
→ Expectation: no conflict with the data-container template Cycling data MUL (namespace isolation)
Regression test script (pseudo)
- Word list: Hello/Bonjour/Hola/Hallo/Café/naïve/日本語/مرحبا
- Batch rendering: inject
Template loop detected: Template:-mul- sequentially; compare DOM fragment class/lang attributes
- Assertions:
- Output contains lang="mul" attribute
- No error when lang parameter omitted
- Special characters rendered via entities or UTF-8 correctly
Compatibility and fallback
- If Template loop detected: Template:-mul- does not exist: fallback to plain text output
- If site does not support lang="mul": fallback to a without lang attribute
Maintenance recommendations
- Document: purpose, parameters (text, lang), examples, common issues
- Avoid name collisions with other language-label templates
- Keep this “StemmingSingleWords style” testcase set in template sandbox and testcases pages for CI
References:
- Template:-mul- (Wiktionary-om) alignment of multilingual label usage
- Template:Mul (Meta) as a comparator
For-multi (hatnote) for interaction regression→ Expectation: diacritics rendered correctly- Input:
-mul- template test
Purpose: verify Template loop detected: Template:-mul- rendering consistency in multilingual contexts, minimal single-word inputs compatibility, and interactions with other multilingual templates.
Basic cases (single-word input)
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Hello"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Bonjour"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "你好"
With language parameter (override)
- Input:
Template loop detected: Template:-mul- → Expectation: if override allowed, use es; otherwise fallback to mul
- Input:
Template loop detected: Template:-mul- → Expectation: same logic as above
Empty and whitespace
- Input:
Template loop detected: Template:-mul- → Expectation: no render or empty placeholder; log a warning if applicable
- Input:
Template loop detected: Template:-mul- → Expectation: same; template should avoid throwing errors
Special characters
- Input:
Template loop detected: Template:-mul- → Expectation: diacritics rendered correctly
- Input:
Template loop detected: Template:-mul- → Expectation: diaeresis preserved
- Input:
Template loop detected: Template:-mul- → Expectation: full-width characters preserved
Interaction with other multilingual templates
- Input:
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
Help:Multilingual – guidance on handling multilingual content
→ Compare rendering (Meta’s
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
- Help:Multilingual – guidance on handling multilingual content
)
- Input:
Template:For-multi is a small test template used to demonstrate how non‑Latin characters and inline HTML can be handled in wikitext.
Minimal example:
α
γ A
In raw wikitext, this is simply:
α
γ <span lang="de">A</span>
α is the Greek small letter alpha, written directly as a Unicode character.
γ is an HTML character entity for the Greek small letter gamma.
<span lang="de">A</span> wraps the character A in a <span> with a language attribute (lang="de" for German).
Usage
A typical usage on a test page might be:
{{For-multi}}
which could expand, for testing purposes, to something like:
α
γ A
This is useful to verify that:
- Greek characters display correctly;
- HTML entities like
γ render as expected;
- language‑tagged spans are preserved and interpreted correctly by the software and by assistive technologies.
See also
- Help:HTML in wikitext
Help:Special characters → Verify hatnote templates do not conflict with -mul- styling
Internal data container reference
- Input:
ffnonesenseword catapult pickles anotherword
Usage
This template is used to define a short description for the current page.
The description is typically:
- brief – usually fewer than 40 characters;
- neutral and descriptive;
- supplementary to the article title, not simply a repeat of it.
Short descriptions are mainly consumed by tools and skins (for example, mobile views and search interfaces) and are not always shown in the normal desktop view.
Basic usage
To add a short description to a page:
{{Short description|Encyclopedia of free educational textbooks}}
This stores the description Encyclopedia of free educational textbooks for the current page.
Preventing replacement
If a description is already supplied (for example, from a higher level template) and you want to make sure that a local call does not overwrite it, use the noreplace parameter:
{{Short description|Free-content textbook project|noreplace=yes}}
In this case, if a short description has already been set elsewhere on the page, this call will be ignored.
Specifying a page type
You may optionally supply a page type.
This can be helpful for tools that group or filter pages:
{{Short description|Open-content textbook collection|pagetype=project}}
or
{{Short description|Polynomial invariant measuring multiple roots|pagetype=mathematics}}
Notes
- The short description should normally be in sentence case, without a final period:
Correct: Online free-content textbook collection
Avoid: online FREE-CONTENT TEXTBOOK COLLECTION.
- Avoid adding links, HTML tags or wikicode. The value is intended to be plain text.
- Do not add maintenance notes, talk-page comments or other discussion content to the short description.
See also
UCI team code is a short alphanumeric identifier used to uniquely represent a team in certain sports, especially in cycling disciplines such as Road bicycle racing and Track cycling. The code appears in entry lists, official results, rankings and technical documents to provide a language‑independent way to identify the same team across different events and data systems.[1]
Purpose
UCI‑style team codes are primarily used to:[2]
- uniquely identify a team in registration systems;
- shorten long team names in official results;
- serve as a stable key in rankings and statistical databases;
- appear on on‑screen graphics and scoreboards alongside rider names.
While spectators usually see full team names or commercial names, officials, Sports data providers and technical officials rely heavily on a consistent team code in order to avoid ambiguity.
Format
The exact format can vary between governing bodies, but common characteristics include:[3]
- composed mainly of uppercase Latin letters, often 2–4 characters long;
- chosen to avoid collisions with existing team or country codes;
- designed to have some mnemonic link to the team name, sponsor or home country;
- kept stable within a season so that statistics remain comparable.
In some frameworks, digits or prefixes may be added to distinguish different levels of teams or to separate codes used in different disciplines with similar team names.
Allocation and management
Team codes are usually assigned and maintained by a central authority to prevent conflicts:[4]
- teams propose one or more preferred codes during registration;
- the governing body checks for conflicts with existing codes;
- once approved, the code is entered into the official registry;
- when a team changes its commercial name, the original code may be kept to preserve historical continuity in statistics.
Event organizers frequently reproduce the official list of valid team codes in their technical guides so that delegations, commentators and media can rely on the same identifiers.
Relation to other identifiers
UCI‑style team codes are distinct from several other commonly used codes:[5]
- National Olympic Committee (NOC) codes such as the three‑letter codes used at the Olympic Games, which represent delegations or countries rather than professional teams;
- internal numerical IDs used inside a specific registration or timing system, which are not intended for public display;
- marketing abbreviations or sponsor‑driven short names that may change more frequently than technical identifiers.
In detailed technical documents, it is common to list the full team name, nationality, country code and team code together so that readers can cross‑reference them.
Example
The following is a purely illustrative example showing how a team code might be used:
- Full team name: Example Cycling Team
- Country: France
- Country code: FRA
- Team code: EXC
In an official result sheet, only "EXC" might appear in the team column, while a separate legend or team list maps EXC to the full team name.
See also
Notes
- ↑ International cycling federation technical regulations, section on team registration and code allocation.
- ↑ Example international event technical guide, teams and registration chapter.
- ↑ Sample competition management system user manual.
- ↑ Yearly registration guidelines from an international sports federation.
- ↑ Sports terminology and coding glossary published by an international federation.
→ Expectation: no conflict with the data-container template Cycling data MUL (namespace isolation)
Regression test script (pseudo)
- Word list: Hello/Bonjour/Hola/Hallo/Café/naïve/日本語/مرحبا
- Batch rendering: inject
Template loop detected: Template:-mul- sequentially; compare DOM fragment class/lang attributes
- Assertions:
- Output contains lang="mul" attribute
- No error when lang parameter omitted
- Special characters rendered via entities or UTF-8 correctly
Compatibility and fallback
- If Template loop detected: Template:-mul- does not exist: fallback to plain text output
- If site does not support lang="mul": fallback to a without lang attribute
Maintenance recommendations
- Document: purpose, parameters (text, lang), examples, common issues
- Avoid name collisions with other language-label templates
- Keep this “StemmingSingleWords style” testcase set in template sandbox and testcases pages for CI
References:
- Template:-mul- (Wiktionary-om) alignment of multilingual label usage
- Template:Mul (Meta) as a comparator
For-multi (hatnote) for interaction regression→ Expectation: diaeresis preserved- Input:
-mul- template test
Purpose: verify Template loop detected: Template:-mul- rendering consistency in multilingual contexts, minimal single-word inputs compatibility, and interactions with other multilingual templates.
Basic cases (single-word input)
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Hello"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Bonjour"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "你好"
With language parameter (override)
- Input:
Template loop detected: Template:-mul- → Expectation: if override allowed, use es; otherwise fallback to mul
- Input:
Template loop detected: Template:-mul- → Expectation: same logic as above
Empty and whitespace
- Input:
Template loop detected: Template:-mul- → Expectation: no render or empty placeholder; log a warning if applicable
- Input:
Template loop detected: Template:-mul- → Expectation: same; template should avoid throwing errors
Special characters
- Input:
Template loop detected: Template:-mul- → Expectation: diacritics rendered correctly
- Input:
Template loop detected: Template:-mul- → Expectation: diaeresis preserved
- Input:
Template loop detected: Template:-mul- → Expectation: full-width characters preserved
Interaction with other multilingual templates
- Input:
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
Help:Multilingual – guidance on handling multilingual content
→ Compare rendering (Meta’s
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
- Help:Multilingual – guidance on handling multilingual content
)
- Input:
Template:For-multi is a small test template used to demonstrate how non‑Latin characters and inline HTML can be handled in wikitext.
Minimal example:
α
γ A
In raw wikitext, this is simply:
α
γ <span lang="de">A</span>
α is the Greek small letter alpha, written directly as a Unicode character.
γ is an HTML character entity for the Greek small letter gamma.
<span lang="de">A</span> wraps the character A in a <span> with a language attribute (lang="de" for German).
Usage
A typical usage on a test page might be:
{{For-multi}}
which could expand, for testing purposes, to something like:
α
γ A
This is useful to verify that:
- Greek characters display correctly;
- HTML entities like
γ render as expected;
- language‑tagged spans are preserved and interpreted correctly by the software and by assistive technologies.
See also
- Help:HTML in wikitext
Help:Special characters → Verify hatnote templates do not conflict with -mul- styling
Internal data container reference
- Input:
ffnonesenseword catapult pickles anotherword
Usage
This template is used to define a short description for the current page.
The description is typically:
- brief – usually fewer than 40 characters;
- neutral and descriptive;
- supplementary to the article title, not simply a repeat of it.
Short descriptions are mainly consumed by tools and skins (for example, mobile views and search interfaces) and are not always shown in the normal desktop view.
Basic usage
To add a short description to a page:
{{Short description|Encyclopedia of free educational textbooks}}
This stores the description Encyclopedia of free educational textbooks for the current page.
Preventing replacement
If a description is already supplied (for example, from a higher level template) and you want to make sure that a local call does not overwrite it, use the noreplace parameter:
{{Short description|Free-content textbook project|noreplace=yes}}
In this case, if a short description has already been set elsewhere on the page, this call will be ignored.
Specifying a page type
You may optionally supply a page type.
This can be helpful for tools that group or filter pages:
{{Short description|Open-content textbook collection|pagetype=project}}
or
{{Short description|Polynomial invariant measuring multiple roots|pagetype=mathematics}}
Notes
- The short description should normally be in sentence case, without a final period:
Correct: Online free-content textbook collection
Avoid: online FREE-CONTENT TEXTBOOK COLLECTION.
- Avoid adding links, HTML tags or wikicode. The value is intended to be plain text.
- Do not add maintenance notes, talk-page comments or other discussion content to the short description.
See also
UCI team code is a short alphanumeric identifier used to uniquely represent a team in certain sports, especially in cycling disciplines such as Road bicycle racing and Track cycling. The code appears in entry lists, official results, rankings and technical documents to provide a language‑independent way to identify the same team across different events and data systems.[1]
Purpose
UCI‑style team codes are primarily used to:[2]
- uniquely identify a team in registration systems;
- shorten long team names in official results;
- serve as a stable key in rankings and statistical databases;
- appear on on‑screen graphics and scoreboards alongside rider names.
While spectators usually see full team names or commercial names, officials, Sports data providers and technical officials rely heavily on a consistent team code in order to avoid ambiguity.
Format
The exact format can vary between governing bodies, but common characteristics include:[3]
- composed mainly of uppercase Latin letters, often 2–4 characters long;
- chosen to avoid collisions with existing team or country codes;
- designed to have some mnemonic link to the team name, sponsor or home country;
- kept stable within a season so that statistics remain comparable.
In some frameworks, digits or prefixes may be added to distinguish different levels of teams or to separate codes used in different disciplines with similar team names.
Allocation and management
Team codes are usually assigned and maintained by a central authority to prevent conflicts:[4]
- teams propose one or more preferred codes during registration;
- the governing body checks for conflicts with existing codes;
- once approved, the code is entered into the official registry;
- when a team changes its commercial name, the original code may be kept to preserve historical continuity in statistics.
Event organizers frequently reproduce the official list of valid team codes in their technical guides so that delegations, commentators and media can rely on the same identifiers.
Relation to other identifiers
UCI‑style team codes are distinct from several other commonly used codes:[5]
- National Olympic Committee (NOC) codes such as the three‑letter codes used at the Olympic Games, which represent delegations or countries rather than professional teams;
- internal numerical IDs used inside a specific registration or timing system, which are not intended for public display;
- marketing abbreviations or sponsor‑driven short names that may change more frequently than technical identifiers.
In detailed technical documents, it is common to list the full team name, nationality, country code and team code together so that readers can cross‑reference them.
Example
The following is a purely illustrative example showing how a team code might be used:
- Full team name: Example Cycling Team
- Country: France
- Country code: FRA
- Team code: EXC
In an official result sheet, only "EXC" might appear in the team column, while a separate legend or team list maps EXC to the full team name.
See also
Notes
- ↑ International cycling federation technical regulations, section on team registration and code allocation.
- ↑ Example international event technical guide, teams and registration chapter.
- ↑ Sample competition management system user manual.
- ↑ Yearly registration guidelines from an international sports federation.
- ↑ Sports terminology and coding glossary published by an international federation.
→ Expectation: no conflict with the data-container template Cycling data MUL (namespace isolation)
Regression test script (pseudo)
- Word list: Hello/Bonjour/Hola/Hallo/Café/naïve/日本語/مرحبا
- Batch rendering: inject
Template loop detected: Template:-mul- sequentially; compare DOM fragment class/lang attributes
- Assertions:
- Output contains lang="mul" attribute
- No error when lang parameter omitted
- Special characters rendered via entities or UTF-8 correctly
Compatibility and fallback
- If Template loop detected: Template:-mul- does not exist: fallback to plain text output
- If site does not support lang="mul": fallback to a without lang attribute
Maintenance recommendations
- Document: purpose, parameters (text, lang), examples, common issues
- Avoid name collisions with other language-label templates
- Keep this “StemmingSingleWords style” testcase set in template sandbox and testcases pages for CI
References:
- Template:-mul- (Wiktionary-om) alignment of multilingual label usage
- Template:Mul (Meta) as a comparator
For-multi (hatnote) for interaction regression→ Expectation: full-width characters preserved
Interaction with other multilingual templates
[edit]- Input:
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
Help:Multilingual – guidance on handling multilingual content→ Compare rendering (Meta’s
Template:Template documentation
| The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes. |
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=,|lang2=,|lang3=, …- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation): Template loop detected: Template:Mul
Optional parameters
|sep=- Custom separator between language items.
* If omitted, a default such as•(space–middle dot–space) is used. * You can set it to any text, for example/,,or a localized word.
|wrap=- Controls optional wrapping around the whole list. Suggested values:
*brackets– wrap with fullwidth square brackets, such as [...] *parentheses– wrap with round brackets, such as (...) *none(or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as: (Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as: Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx">tags; - It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
- Help:Multilingual – guidance on handling multilingual content )
- Input:
Template:For-multi is a small test template used to demonstrate how non‑Latin characters and inline HTML can be handled in wikitext.
Minimal example:
α
γ A
In raw wikitext, this is simply:
α
γ <span lang="de">A</span>
α is the Greek small letter alpha, written directly as a Unicode character.
γ is an HTML character entity for the Greek small letter gamma.
<span lang="de">A</span> wraps the character A in a <span> with a language attribute (lang="de" for German).
Usage
A typical usage on a test page might be:
{{For-multi}}
which could expand, for testing purposes, to something like:
α
γ A
This is useful to verify that:
- Greek characters display correctly;
- HTML entities like
γ render as expected;
- language‑tagged spans are preserved and interpreted correctly by the software and by assistive technologies.
See also
- Help:HTML in wikitext
Help:Special characters→ Verify hatnote templates do not conflict with -mul- styling
Internal data container reference
[edit]- Input:
ffnonesenseword catapult pickles anotherword
Usage
This template is used to define a short description for the current page.
The description is typically:
- brief – usually fewer than 40 characters;
- neutral and descriptive;
- supplementary to the article title, not simply a repeat of it.
Short descriptions are mainly consumed by tools and skins (for example, mobile views and search interfaces) and are not always shown in the normal desktop view.
Basic usage
To add a short description to a page:
{{Short description|Encyclopedia of free educational textbooks}}
This stores the description Encyclopedia of free educational textbooks for the current page.
Preventing replacement
If a description is already supplied (for example, from a higher level template) and you want to make sure that a local call does not overwrite it, use the noreplace parameter:
{{Short description|Free-content textbook project|noreplace=yes}}
In this case, if a short description has already been set elsewhere on the page, this call will be ignored.
Specifying a page type
You may optionally supply a page type.
This can be helpful for tools that group or filter pages:
{{Short description|Open-content textbook collection|pagetype=project}}
or
{{Short description|Polynomial invariant measuring multiple roots|pagetype=mathematics}}
Notes
- The short description should normally be in sentence case, without a final period:
Correct: Online free-content textbook collection
Avoid: online FREE-CONTENT TEXTBOOK COLLECTION.
- Avoid adding links, HTML tags or wikicode. The value is intended to be plain text.
- Do not add maintenance notes, talk-page comments or other discussion content to the short description.
See also
UCI team code is a short alphanumeric identifier used to uniquely represent a team in certain sports, especially in cycling disciplines such as Road bicycle racing and Track cycling. The code appears in entry lists, official results, rankings and technical documents to provide a language‑independent way to identify the same team across different events and data systems.[1]
Purpose
UCI‑style team codes are primarily used to:[2]
- uniquely identify a team in registration systems;
- shorten long team names in official results;
- serve as a stable key in rankings and statistical databases;
- appear on on‑screen graphics and scoreboards alongside rider names.
While spectators usually see full team names or commercial names, officials, Sports data providers and technical officials rely heavily on a consistent team code in order to avoid ambiguity.
Format
The exact format can vary between governing bodies, but common characteristics include:[3]
- composed mainly of uppercase Latin letters, often 2–4 characters long;
- chosen to avoid collisions with existing team or country codes;
- designed to have some mnemonic link to the team name, sponsor or home country;
- kept stable within a season so that statistics remain comparable.
In some frameworks, digits or prefixes may be added to distinguish different levels of teams or to separate codes used in different disciplines with similar team names.
Allocation and management
Team codes are usually assigned and maintained by a central authority to prevent conflicts:[4]
- teams propose one or more preferred codes during registration;
- the governing body checks for conflicts with existing codes;
- once approved, the code is entered into the official registry;
- when a team changes its commercial name, the original code may be kept to preserve historical continuity in statistics.
Event organizers frequently reproduce the official list of valid team codes in their technical guides so that delegations, commentators and media can rely on the same identifiers.
Relation to other identifiers
UCI‑style team codes are distinct from several other commonly used codes:[5]
- National Olympic Committee (NOC) codes such as the three‑letter codes used at the Olympic Games, which represent delegations or countries rather than professional teams;
- internal numerical IDs used inside a specific registration or timing system, which are not intended for public display;
- marketing abbreviations or sponsor‑driven short names that may change more frequently than technical identifiers.
In detailed technical documents, it is common to list the full team name, nationality, country code and team code together so that readers can cross‑reference them.
Example
The following is a purely illustrative example showing how a team code might be used:
- Full team name: Example Cycling Team
- Country: France
- Country code: FRA
- Team code: EXC
In an official result sheet, only "EXC" might appear in the team column, while a separate legend or team list maps EXC to the full team name.
See also
Notes
- ↑ International cycling federation technical regulations, section on team registration and code allocation.
- ↑ Example international event technical guide, teams and registration chapter.
- ↑ Sample competition management system user manual.
- ↑ Yearly registration guidelines from an international sports federation.
- ↑ Sports terminology and coding glossary published by an international federation.
→ Expectation: no conflict with the data-container template Cycling data MUL (namespace isolation)
Regression test script (pseudo)
[edit]- Word list: Hello/Bonjour/Hola/Hallo/Café/naïve/日本語/مرحبا
- Batch rendering: inject
-mul- template test
Purpose: verify Template loop detected: Template:-mul- rendering consistency in multilingual contexts, minimal single-word inputs compatibility, and interactions with other multilingual templates.
Basic cases (single-word input)
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Hello"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "Bonjour"
- Input:
Template loop detected: Template:-mul- → Expectation: multilingual label mul wrapping "你好"
With language parameter (override)
- Input:
Template loop detected: Template:-mul- → Expectation: if override allowed, use es; otherwise fallback to mul
- Input:
Template loop detected: Template:-mul- → Expectation: same logic as above
Empty and whitespace
- Input:
Template loop detected: Template:-mul- → Expectation: no render or empty placeholder; log a warning if applicable
- Input:
Template loop detected: Template:-mul- → Expectation: same; template should avoid throwing errors
Special characters
- Input:
Template loop detected: Template:-mul- → Expectation: diacritics rendered correctly
- Input:
Template loop detected: Template:-mul- → Expectation: diaeresis preserved
- Input:
Template loop detected: Template:-mul- → Expectation: full-width characters preserved
Interaction with other multilingual templates
- Input:
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
Help:Multilingual – guidance on handling multilingual content
→ Compare rendering (Meta’s
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
- Help:Multilingual – guidance on handling multilingual content
)
- Input:
Template:For-multi is a small test template used to demonstrate how non‑Latin characters and inline HTML can be handled in wikitext.
Minimal example:
α
γ A
In raw wikitext, this is simply:
α
γ <span lang="de">A</span>
α is the Greek small letter alpha, written directly as a Unicode character.
γ is an HTML character entity for the Greek small letter gamma.
<span lang="de">A</span> wraps the character A in a <span> with a language attribute (lang="de" for German).
Usage
A typical usage on a test page might be:
{{For-multi}}
which could expand, for testing purposes, to something like:
α
γ A
This is useful to verify that:
- Greek characters display correctly;
- HTML entities like
γ render as expected;
- language‑tagged spans are preserved and interpreted correctly by the software and by assistive technologies.
See also
- Help:HTML in wikitext
Help:Special characters → Verify hatnote templates do not conflict with -mul- styling
Internal data container reference
- Input:
ffnonesenseword catapult pickles anotherword
Usage
This template is used to define a short description for the current page.
The description is typically:
- brief – usually fewer than 40 characters;
- neutral and descriptive;
- supplementary to the article title, not simply a repeat of it.
Short descriptions are mainly consumed by tools and skins (for example, mobile views and search interfaces) and are not always shown in the normal desktop view.
Basic usage
To add a short description to a page:
{{Short description|Encyclopedia of free educational textbooks}}
This stores the description Encyclopedia of free educational textbooks for the current page.
Preventing replacement
If a description is already supplied (for example, from a higher level template) and you want to make sure that a local call does not overwrite it, use the noreplace parameter:
{{Short description|Free-content textbook project|noreplace=yes}}
In this case, if a short description has already been set elsewhere on the page, this call will be ignored.
Specifying a page type
You may optionally supply a page type.
This can be helpful for tools that group or filter pages:
{{Short description|Open-content textbook collection|pagetype=project}}
or
{{Short description|Polynomial invariant measuring multiple roots|pagetype=mathematics}}
Notes
- The short description should normally be in sentence case, without a final period:
Correct: Online free-content textbook collection
Avoid: online FREE-CONTENT TEXTBOOK COLLECTION.
- Avoid adding links, HTML tags or wikicode. The value is intended to be plain text.
- Do not add maintenance notes, talk-page comments or other discussion content to the short description.
See also
UCI team code is a short alphanumeric identifier used to uniquely represent a team in certain sports, especially in cycling disciplines such as Road bicycle racing and Track cycling. The code appears in entry lists, official results, rankings and technical documents to provide a language‑independent way to identify the same team across different events and data systems.[1]
Purpose
UCI‑style team codes are primarily used to:[2]
- uniquely identify a team in registration systems;
- shorten long team names in official results;
- serve as a stable key in rankings and statistical databases;
- appear on on‑screen graphics and scoreboards alongside rider names.
While spectators usually see full team names or commercial names, officials, Sports data providers and technical officials rely heavily on a consistent team code in order to avoid ambiguity.
Format
The exact format can vary between governing bodies, but common characteristics include:[3]
- composed mainly of uppercase Latin letters, often 2–4 characters long;
- chosen to avoid collisions with existing team or country codes;
- designed to have some mnemonic link to the team name, sponsor or home country;
- kept stable within a season so that statistics remain comparable.
In some frameworks, digits or prefixes may be added to distinguish different levels of teams or to separate codes used in different disciplines with similar team names.
Allocation and management
Team codes are usually assigned and maintained by a central authority to prevent conflicts:[4]
- teams propose one or more preferred codes during registration;
- the governing body checks for conflicts with existing codes;
- once approved, the code is entered into the official registry;
- when a team changes its commercial name, the original code may be kept to preserve historical continuity in statistics.
Event organizers frequently reproduce the official list of valid team codes in their technical guides so that delegations, commentators and media can rely on the same identifiers.
Relation to other identifiers
UCI‑style team codes are distinct from several other commonly used codes:[5]
- National Olympic Committee (NOC) codes such as the three‑letter codes used at the Olympic Games, which represent delegations or countries rather than professional teams;
- internal numerical IDs used inside a specific registration or timing system, which are not intended for public display;
- marketing abbreviations or sponsor‑driven short names that may change more frequently than technical identifiers.
In detailed technical documents, it is common to list the full team name, nationality, country code and team code together so that readers can cross‑reference them.
Example
The following is a purely illustrative example showing how a team code might be used:
- Full team name: Example Cycling Team
- Country: France
- Country code: FRA
- Team code: EXC
In an official result sheet, only "EXC" might appear in the team column, while a separate legend or team list maps EXC to the full team name.
See also
Notes
- ↑ International cycling federation technical regulations, section on team registration and code allocation.
- ↑ Example international event technical guide, teams and registration chapter.
- ↑ Sample competition management system user manual.
- ↑ Yearly registration guidelines from an international sports federation.
- ↑ Sports terminology and coding glossary published by an international federation.
→ Expectation: no conflict with the data-container template Cycling data MUL (namespace isolation)
Regression test script (pseudo)
- Word list: Hello/Bonjour/Hola/Hallo/Café/naïve/日本語/مرحبا
- Batch rendering: inject
Template loop detected: Template:-mul- sequentially; compare DOM fragment class/lang attributes
- Assertions:
- Output contains lang="mul" attribute
- No error when lang parameter omitted
- Special characters rendered via entities or UTF-8 correctly
Compatibility and fallback
- If Template loop detected: Template:-mul- does not exist: fallback to plain text output
- If site does not support lang="mul": fallback to a without lang attribute
Maintenance recommendations
- Document: purpose, parameters (text, lang), examples, common issues
- Avoid name collisions with other language-label templates
- Keep this “StemmingSingleWords style” testcase set in template sandbox and testcases pages for CI
References:
- Template:-mul- (Wiktionary-om) alignment of multilingual label usage
- Template:Mul (Meta) as a comparator
For-multi (hatnote) for interaction regressionsequentially; compare DOM fragment class/lang attributes- Assertions:
- Output contains lang="mul" attribute
- No error when lang parameter omitted
- Special characters rendered via entities or UTF-8 correctly
Compatibility and fallback
[edit]- If
-mul- template test
Purpose: verify Template loop detected: Template:-mul- rendering consistency in multilingual contexts, minimal single-word inputs compatibility, and interactions with other multilingual templates.
Basic cases (single-word input)
- Input:
Template loop detected: Template:-mul-→ Expectation: multilingual label mul wrapping "Hello" - Input:
Template loop detected: Template:-mul-→ Expectation: multilingual label mul wrapping "Bonjour" - Input:
Template loop detected: Template:-mul-→ Expectation: multilingual label mul wrapping "你好"
With language parameter (override)
- Input:
Template loop detected: Template:-mul-→ Expectation: if override allowed, use es; otherwise fallback to mul - Input:
Template loop detected: Template:-mul-→ Expectation: same logic as above
Empty and whitespace
- Input:
Template loop detected: Template:-mul-→ Expectation: no render or empty placeholder; log a warning if applicable - Input:
Template loop detected: Template:-mul-→ Expectation: same; template should avoid throwing errors
Special characters
- Input:
Template loop detected: Template:-mul-→ Expectation: diacritics rendered correctly - Input:
Template loop detected: Template:-mul-→ Expectation: diaeresis preserved - Input:
Template loop detected: Template:-mul-→ Expectation: full-width characters preserved
Interaction with other multilingual templates
- Input:
Template:Template documentation

The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes.
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=, |lang2=, |lang3=, …
- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation):
Template loop detected: Template:Mul
Optional parameters
|sep=
- Custom separator between language items.
* If omitted, a default such as • (space–middle dot–space) is used.
* You can set it to any text, for example /, , or a localized word.
|wrap=
- Controls optional wrapping around the whole list. Suggested values:
* brackets – wrap with fullwidth square brackets, such as [...]
* parentheses – wrap with round brackets, such as (...)
* none (or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as:
(Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as:
Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx"> tags;
- It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
Help:Multilingual – guidance on handling multilingual content→ Compare rendering (Meta’s
Template:Template documentation
| The {{Mul}} template is used to display multiple language forms of the same name or term in a single, compact line, for example in article leads, infoboxes, or small notes. |
Purpose
The {{Mul}} template is a lightweight tool for listing several language versions of the same name or expression side by side. Typical use cases include:
- Giving a person's name in the original language and in common transliterations;
- Showing multiple names for a place in different languages;
- Listing original and translated titles of works, institutions or organizations.
Compared with manually writing brackets and separators in every article, {{Mul}} helps to:
- Keep formatting and ordering consistent across pages;
- Make it easier to change the separator or style globally;
- Keep article wikitext cleaner and more readable.
Basic syntax
The general syntax is:
{{Mul
|lang1 = text 1
|lang2 = text 2
|lang3 = text 3
|sep = custom separator (optional)
|wrap = wrapping style (optional)
}}
This template is intentionally generic. It does not force specific languages into specific parameters. Instead, you fill in numbered parameters with any content you need, including your own language labels if desired.
Parameters
Required parameters
At least one language-text parameter is required:
|lang1=,|lang2=,|lang3=, …- The actual text to be displayed (for example, an Arabic form of a name, an English form, a Chinese form, etc.).
The parameter number does not itself indicate a language – you may include labels such as "Arabic:", "English:" directly in the text.
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
}}
Renders as (depending on local implementation): Template loop detected: Template:Mul
Optional parameters
|sep=- Custom separator between language items.
* If omitted, a default such as•(space–middle dot–space) is used. * You can set it to any text, for example/,,or a localized word.
|wrap=- Controls optional wrapping around the whole list. Suggested values:
*brackets– wrap with fullwidth square brackets, such as [...] *parentheses– wrap with round brackets, such as (...) *none(or left empty) – no extra wrapping
Example:
{{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = English: Maher al-Assad
|sep = /
|wrap = parentheses
}}
Might display as: (Arabic: ماهر الأسد / English: Maher al-Assad)
Examples
Person name example
In the lead of a biographical article, you might write:
'''Maher al-Assad''' ({{Mul
|lang1 = Arabic: ماهر الأسد
|lang2 = Transliteration: Maher al-Assad
|wrap = parentheses
}}; born 8 December 1967) is a Syrian military officer...
This keeps all language forms neatly grouped after the bolded name, in a style commonly used for biographies.
Place name example
'''Damascus''' ({{Mul
|lang1 = Arabic: دمشق
|lang2 = English: Damascus
|wrap = brackets
}}) is the capital of Syria...
Which may display as: Damascus[Arabic: دمشق • English: Damascus]
Work title example
The novel ''Example Book'' ({{Mul
|lang1 = Original title: عنوان مثال
|lang2 = English title: Example Book
}}) was first published in...
Behaviour and design
The {{Mul}} template is designed to be:
- **Inline** – it does not introduce line breaks by itself;
- **Lightweight** – it does not perform complex logic or language detection;
- **Flexible** – it does not enforce any particular language codes or ordering.
Important characteristics:
- It does not automatically add
<span lang="xx">tags; - It does not automatically link to language help pages;
- It does not assume which languages are being used – all visible labeling is up to the editor.
If you need strict language markup (for screen readers, accessibility, or typography reasons), consider combining {{Mul}} with other language-specific templates or modules, or using explicit HTML language tags in the parameter contents.
Template code
The following is a sample implementation. Local wikis may adapt this to their own conventions, add more parameters, or integrate with Lua modules if needed.
{{#vardefine:sep|{{#if:{{{sep|}}}|{{{sep}}}| • }} }}
{{#vardefine:wrap-open|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = [
|parentheses = (
|#default =
}}
}}
{{#vardefine:wrap-close|
{{#switch:{{lc:{{{wrap|none}}}}}
|brackets = ]
|parentheses = )
|#default =
}}
}}
{{#if:{{{lang1|}}}|
{{#var:wrap-open}}
{{{lang1}}}
{{#if:{{{lang2|}}}|{{#var:sep}}{{{lang2}}}|}}
{{#if:{{{lang3|}}}|{{#var:sep}}{{{lang3}}}|}}
{{#if:{{{lang4|}}}|{{#var:sep}}{{{lang4}}}|}}
{{#if:{{{lang5|}}}|{{#var:sep}}{{{lang5}}}|}}
{{#var:wrap-close}}
}}
This sample supports |lang1= through |lang5=.
To support more languages, extend the pattern with additional lang6, lang7, etc., lines.
See also
- {{Lang}} – commonly used to tag text with a specific language
- {{IPA}} – for displaying the International Phonetic Alphabet
- {{Tnavbar}} – template navigation bar
- Help:Template – general help on templates
- Help:Multilingual – guidance on handling multilingual content )
- Input:
Template:For-multi is a small test template used to demonstrate how non‑Latin characters and inline HTML can be handled in wikitext.
Minimal example:
α
γ A
In raw wikitext, this is simply:
α
γ <span lang="de">A</span>
α is the Greek small letter alpha, written directly as a Unicode character.
γ is an HTML character entity for the Greek small letter gamma.
<span lang="de">A</span> wraps the character A in a <span> with a language attribute (lang="de" for German).
Usage
A typical usage on a test page might be:
{{For-multi}}
which could expand, for testing purposes, to something like:
α
γ A
This is useful to verify that:
- Greek characters display correctly;
- HTML entities like
γ render as expected;
- language‑tagged spans are preserved and interpreted correctly by the software and by assistive technologies.
See also
- Help:HTML in wikitext
Help:Special characters→ Verify hatnote templates do not conflict with -mul- styling
Internal data container reference
- Input:
ffnonesenseword catapult pickles anotherword
Usage
This template is used to define a short description for the current page.
The description is typically:
- brief – usually fewer than 40 characters;
- neutral and descriptive;
- supplementary to the article title, not simply a repeat of it.
Short descriptions are mainly consumed by tools and skins (for example, mobile views and search interfaces) and are not always shown in the normal desktop view.
Basic usage
To add a short description to a page:
{{Short description|Encyclopedia of free educational textbooks}}
This stores the description Encyclopedia of free educational textbooks for the current page.
Preventing replacement
If a description is already supplied (for example, from a higher level template) and you want to make sure that a local call does not overwrite it, use the noreplace parameter:
{{Short description|Free-content textbook project|noreplace=yes}}
In this case, if a short description has already been set elsewhere on the page, this call will be ignored.
Specifying a page type
You may optionally supply a page type.
This can be helpful for tools that group or filter pages:
{{Short description|Open-content textbook collection|pagetype=project}}
or
{{Short description|Polynomial invariant measuring multiple roots|pagetype=mathematics}}
Notes
- The short description should normally be in sentence case, without a final period:
Correct: Online free-content textbook collection
Avoid: online FREE-CONTENT TEXTBOOK COLLECTION.
- Avoid adding links, HTML tags or wikicode. The value is intended to be plain text.
- Do not add maintenance notes, talk-page comments or other discussion content to the short description.
See also
UCI team code is a short alphanumeric identifier used to uniquely represent a team in certain sports, especially in cycling disciplines such as Road bicycle racing and Track cycling. The code appears in entry lists, official results, rankings and technical documents to provide a language‑independent way to identify the same team across different events and data systems.[1]
Purpose
UCI‑style team codes are primarily used to:[2]
- uniquely identify a team in registration systems;
- shorten long team names in official results;
- serve as a stable key in rankings and statistical databases;
- appear on on‑screen graphics and scoreboards alongside rider names.
While spectators usually see full team names or commercial names, officials, Sports data providers and technical officials rely heavily on a consistent team code in order to avoid ambiguity.
Format
The exact format can vary between governing bodies, but common characteristics include:[3]
- composed mainly of uppercase Latin letters, often 2–4 characters long;
- chosen to avoid collisions with existing team or country codes;
- designed to have some mnemonic link to the team name, sponsor or home country;
- kept stable within a season so that statistics remain comparable.
In some frameworks, digits or prefixes may be added to distinguish different levels of teams or to separate codes used in different disciplines with similar team names.
Allocation and management
Team codes are usually assigned and maintained by a central authority to prevent conflicts:[4]
- teams propose one or more preferred codes during registration;
- the governing body checks for conflicts with existing codes;
- once approved, the code is entered into the official registry;
- when a team changes its commercial name, the original code may be kept to preserve historical continuity in statistics.
Event organizers frequently reproduce the official list of valid team codes in their technical guides so that delegations, commentators and media can rely on the same identifiers.
Relation to other identifiers
UCI‑style team codes are distinct from several other commonly used codes:[5]
- National Olympic Committee (NOC) codes such as the three‑letter codes used at the Olympic Games, which represent delegations or countries rather than professional teams;
- internal numerical IDs used inside a specific registration or timing system, which are not intended for public display;
- marketing abbreviations or sponsor‑driven short names that may change more frequently than technical identifiers.
In detailed technical documents, it is common to list the full team name, nationality, country code and team code together so that readers can cross‑reference them.
Example
The following is a purely illustrative example showing how a team code might be used:
- Full team name: Example Cycling Team
- Country: France
- Country code: FRA
- Team code: EXC
In an official result sheet, only "EXC" might appear in the team column, while a separate legend or team list maps EXC to the full team name.
See also
Notes
- ↑ International cycling federation technical regulations, section on team registration and code allocation.
- ↑ Example international event technical guide, teams and registration chapter.
- ↑ Sample competition management system user manual.
- ↑ Yearly registration guidelines from an international sports federation.
- ↑ Sports terminology and coding glossary published by an international federation.
→ Expectation: no conflict with the data-container template Cycling data MUL (namespace isolation)
Regression test script (pseudo)
- Word list: Hello/Bonjour/Hola/Hallo/Café/naïve/日本語/مرحبا
- Batch rendering: inject
Template loop detected: Template:-mul-sequentially; compare DOM fragment class/lang attributes - Assertions:
- Output contains lang="mul" attribute
- No error when lang parameter omitted
- Special characters rendered via entities or UTF-8 correctly
Compatibility and fallback
- If Template loop detected: Template:-mul- does not exist: fallback to plain text output
- If site does not support lang="mul": fallback to a without lang attribute
Maintenance recommendations
- Document: purpose, parameters (text, lang), examples, common issues
- Avoid name collisions with other language-label templates
- Keep this “StemmingSingleWords style” testcase set in template sandbox and testcases pages for CI
References:
- Template:-mul- (Wiktionary-om) alignment of multilingual label usage
- Template:Mul (Meta) as a comparator
- For-multi (hatnote) for interaction regression does not exist: fallback to plain text output
- If site does not support lang="mul": fallback to a without lang attribute
Maintenance recommendations
[edit]- Document: purpose, parameters (text, lang), examples, common issues
- Avoid name collisions with other language-label templates
- Keep this “StemmingSingleWords style” testcase set in template sandbox and testcases pages for CI
References:
- Template:-mul- (Wiktionary-om) alignment of multilingual label usage
- Template:Mul (Meta) as a comparator
- For-multi (hatnote) for interaction regression