Template:Lang/doc: Difference between revisions

From The Deadlock Wiki
Jump to navigation Jump to search
Added detail on language selection and improved general formatting
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
== Overview ==
== Overview ==
Template for retrieving localized strings from their relevant JSON file, based on the language code in the URL. If no language code is found in the URL, it defaults to English.
This template retrieves localized strings from their relevant JSON file, based on the language code. If no language code is found in the URL, it defaults to english.


Localizations of this type come from the game files and have a file per language, such as [[Data:Lang_en.json]] for English.
Localizations of this type come from the game files and have a file (Data:Lang xx.json) per language, such as [[Data:Lang en.json]].


== Usage ==
=== Usage ===
Use of the <code>Lang</code> template comes in two forms, either by setting the <code>key</code> argument or the <code>label</code> argument '''(but not both!)'''.
Use of the {{tl|Lang}} template comes in two forms, either by setting the <code>key</code> argument or the <code>label</code> argument '''(but not both!)'''.


=== Language Selection ===
=== Language selection ===
Selection of the language is based off of the URL sub-page name, defaulting to English if none is found. For example, <code>Abrams/es</code> will use language code "es", which is Spanish.
Selection of the language is based off of the URL sub-page name, defaulting to english if none is found. For example, <code>Abrams/es</code> will use language code "es" (spanish).


Alternatively, <code>lang_code</code> can be used to override of the automated language selection.
Alternatively, <code>lang_code</code> can be used to override of the automated language selection.
Line 14: Line 14:
=== Examples ===
=== Examples ===
==== Retrieve word by key ====
==== Retrieve word by key ====
English string: <code><nowiki>{{Lang|key=BonusClipSize_label}} -></nowiki></code> {{Lang|key=BonusClipSize_label}}<br><br>
English string: <code><nowiki>{{Lang|key=BonusClipSize_label}}</nowiki></code> Output: {{Lang|key=BonusClipSize_label}}
Spanish string: <code><nowiki>{{Lang|key=BonusClipSize_label|lang_code=es}} -></nowiki></code> {{Lang|key=BonusClipSize_label|lang_code=es}}<br><br>
 
Spanish string: <code><nowiki>{{Lang|key=BonusClipSize_label|lang_code=es}}</nowiki></code> Output: {{Lang|key=BonusClipSize_label|lang_code=es}}


==== Retrieve string by label ====
==== Retrieve string by label ====
English string: <code><nowiki>{{Lang|label=Ammo}} -></nowiki></code> {{Lang|label=Ammo}}<br><br>
English string: <code><nowiki>{{Lang|label=Ammo}}</nowiki></code> Ouput: {{Lang|label=Ammo}}
Spanish string: <code><nowiki>{{Lang|label=Ammo|lang_code=es}} -></nowiki></code> {{Lang|label=Ammo|lang_code=es}}<br><br>
 
Spanish string: <code><nowiki>{{Lang|label=Ammo|lang_code=es}}</nowiki></code> Output: {{Lang|label=Ammo|lang_code=es}}


<templatedata>
<templatedata>
{
{
"params": {
"params": {
"lang_code": {
"description": "Optional language code to override the language. See Data:LangCodes.json.",
"example": "es, cs, pt-br",
"type": "string"
},
"key": {
"key": {
"description": "Attribute key to directly retrieve the localized string from its JSON file",
"description": "Attribute key to directly retrieve the localized string from its JSON file.",
"example": "BonusClipSize_label",
"example": "BonusClipSize_label",
"type": "string"
},
"lang_code": {
"description": "Two-letter language code for selecting language of string. Note that this should not usually be used, as the lang code will be pulled from the URL subpage.",
"example": "en",
"type": "string",
"type": "string",
"default": "Defaults to \"en\" (English), or if the URL has the code at the end, it will use that"
"required": true
},
},
"label": {
"label": {
"description": "Used to search for the string by its English localized string instead of using the attribute key directly",
"description": "Used to search for the string by its english localized string instead of using the attribute key directly.",
"example": "Ammo",
"example": "Ammo",
"type": "string"
"type": "string"
}
}
},
},
    "description": "",
"paramOrder": [
"paramOrder": [
"key",
"key",
"label",
"label",
"lang_code"
"lang_code"
]
],
"description": " ",
"format": "inline"
}
}
</templatedata>
</templatedata>
<noinclude>[[Category:Template documentation]]</noinclude>
<includeonly>[[Category:Language templates]]</includeonly><noinclude>[[Category:Template documentation]]</noinclude>

Latest revision as of 21:27, 6 June 2026

Overview

[edit source]

This template retrieves localized strings from their relevant JSON file, based on the language code. If no language code is found in the URL, it defaults to english.

Localizations of this type come from the game files and have a file (Data:Lang xx.json) per language, such as Data:Lang en.json.

Use of the {{Lang}} template comes in two forms, either by setting the key argument or the label argument (but not both!).

Language selection

[edit source]

Selection of the language is based off of the URL sub-page name, defaulting to english if none is found. For example, Abrams/es will use language code "es" (spanish).

Alternatively, lang_code can be used to override of the automated language selection.

Examples

[edit source]

Retrieve word by key

[edit source]

English string: {{Lang|key=BonusClipSize_label}} Output: Ammo

Spanish string: {{Lang|key=BonusClipSize_label|lang_code=es}} Output: Munición

Retrieve string by label

[edit source]

English string: {{Lang|label=Ammo}} Ouput: Ammo

Spanish string: {{Lang|label=Ammo|lang_code=es}} Output: Munición

Template parameters

This template prefers inline formatting of parameters.

ParameterDescriptionTypeStatus
keykey

Attribute key to directly retrieve the localized string from its JSON file.

Example
BonusClipSize_label
Stringrequired
labellabel

Used to search for the string by its english localized string instead of using the attribute key directly.

Example
Ammo
Stringoptional
lang_codelang_code

Optional language code to override the language. See Data:LangCodes.json.

Example
es, cs, pt-br
Stringoptional