Template:Lang/doc: Difference between revisions

Sur (talk | contribs)
m minor phrasing for label's description
mNo edit summary
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Overview ==
== Overview ==
Template for retrieving localized strings from their relevant json file, such as '''Data:Lang_en.json''' for English. Note that localized strings are all pulled from raw game files.
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.


Supports retrieval via the JSON '''key''' or by referencing it using the English '''label'''
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 ===
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 ===
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.


=== Examples ===
=== Examples ===
==== Retrieve word by the attribute key ====
==== Retrieve word by key ====
<pre>English string: {{Lang|key=BonusClipSize_label}} -> "Ammo"</pre>
English string: <code><nowiki>{{Lang|key=BonusClipSize_label}}</nowiki></code> Output: {{Lang|key=BonusClipSize_label}}
<pre>French string:  {{Lang|key=BonusClipSize_label|lang_code=fr}} -> "Munitions"</pre>
 
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 ====
<pre>English string: {{Lang|label=Ammo}} -> "Ammo"</pre>
English string: <code><nowiki>{{Lang|label=Ammo}}</nowiki></code> Ouput: {{Lang|label=Ammo}}
<pre>French string:  {{Lang|label=Ammo|lang_code=fr}} -> "Munitions"</pre>
 
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"
Line 37: Line 47:
"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>