Difference between revisions of "Template:Localize"
DesignerThan (talk | contribs) (changed from using Template:GetLangSuffix to {{PAGELANGUAGE}} because that one also return's the suffix for source pages) |
DesignerThan (talk | contribs) |
||
Line 1: | Line 1: | ||
− | <includeonly><nowiki/>{{#iferror:{{#expr:{{{1}}}+0}}|{{#vardefine:result|{{#lst:Localization:{{{2|All}}} | + | <includeonly><nowiki/>{{#vardefine:langSuffix|/{{PAGELANGUAGE}}}}{{#iferror:{{#expr:{{{1}}}+0}}|{{#vardefine:result|{{#lst:Localization:{{{2|All}}}{{#var:langSuffix}}|{{{1}}}}}}}|{{#vardefine:result|{{{1}}}}}}}{{#if:{{#var:result}}|{{#var:result}}|{{#vardefine:localizationErrorCategories|{{#var:localizationErrorCategories}}[[Category:Missing Localization/{{{2|All}}}/{{{1|unsupplied}}{{#var:langSuffix}}]]}}}}</includeonly><noinclude> |
− | |||
This template returns a localized version of a "canned" phrase that we use in the interfaces. The phrase is in the language of the page that invokes it, so if we call the template from | This template returns a localized version of a "canned" phrase that we use in the interfaces. The phrase is in the language of the page that invokes it, so if we call the template from | ||
<nowiki>[[</nowiki>some page<nowiki>[[</nowiki>some page]], we'd get the English version of the page, but if we call it from <nowiki>[[</nowiki>some page/es]], we would get the Spanish version of the phrase. | <nowiki>[[</nowiki>some page<nowiki>[[</nowiki>some page]], we'd get the English version of the page, but if we call it from <nowiki>[[</nowiki>some page/es]], we would get the Spanish version of the phrase. |
Revision as of 18:00, 17 July 2021
This template returns a localized version of a "canned" phrase that we use in the interfaces. The phrase is in the language of the page that invokes it, so if we call the template from [[some page[[some page]], we'd get the English version of the page, but if we call it from [[some page/es]], we would get the Spanish version of the phrase.
The template can also take a second argument to specify a different page in the Localization namespace. If omitted, the template defaults to searching Localization:All. We may wish to use additional pages for things like honors, or the names of honor variants.
If no localization can be found (unless the argument is a number), the invoking page is added to a Category:Missing_Localization/page/key/language. This category is saved in a variable callde localizationErrorCategories. This variable can be printed to the page by calling the Template Template:PrintLocalizationErrors at the end of the page. In case of a missing localization the template will return an empty string, in other words, nothing.
We don't throw an error on a numeric argument so that we can pass in a year - sometimes the year is a number, and sometimes it's "Unknown". We want to localize "Unknown" but pass the number through instead of returning a blank string.
Here is an example: {{Localize|2021}} → 2021
{{Localize|Answer Key}} →
{{Localize|Lorem ipsum}} →
{{Localize|Switzerland|Countries}} →
[[Category:Missing Localization/All/{Template:1/en]][[Category:Missing Localization/All/{Template:1/en]][[Category:Missing Localization/Countries/{Template:1/en]]