Template:Lang/doc: Difference between revisions

Added detail on language selection and improved general formatting
m mc.
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": " "
}
}
</templatedata>
</templatedata>
<noinclude>[[Category:Template documentation]]</noinclude>
<includeonly>[[Category:Language templates]]</includeonly><noinclude>[[Category:Template documentation]]</noinclude>