Difference between revisions of "Template:Localize"
| DesignerThan (talk | contribs) | DesignerThan (talk | contribs)  | ||
| Line 1: | Line 1: | ||
| − | <includeonly>{{#vardefine:lang|{{{language|{{PAGELANGUAGE}} }}} }}{{#iferror:{{#expr:{{{1}}}+0}} | + | <includeonly>{{#vardefine:lang|{{#invoke:String|replace|{{{language|{{PAGELANGUAGE}}}}}|/||}}}}{{#iferror:{{#expr:{{{1}}}+0}} | 
|    |{{#vardefine:result|{{#cargo_query:tables=Localizations_{{{2|All}}} |    |{{#vardefine:result|{{#cargo_query:tables=Localizations_{{{2|All}}} | ||
|        |fields=text |        |fields=text | ||
| Line 36: | Line 36: | ||
| <nowiki>{{</nowiki>Localize|Lorem ipsum}} → {{Localize|Lorem ipsum}} | <nowiki>{{</nowiki>Localize|Lorem ipsum}} → {{Localize|Lorem ipsum}} | ||
| − | <nowiki>{{</nowiki>Localize|Switzerland|Countries}} → {{Localize|Switzerland|Countries}} | + | <nowiki>{{</nowiki>Localize|Switzerland|Countries|language=/es}} → {{Localize|Switzerland|Countries|language=/es}} | 
| + | |||
| + | <nowiki>{{</nowiki>Localize|Switzerland|Countries|language=es}} → {{Localize|Switzerland|Countries|language=es}} | ||
| {{PrintLocalizationErrors}} | {{PrintLocalizationErrors}} | ||
Revision as of 14:44, 4 February 2022
This template defines the table "UsageOfLocalizations". View table.
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 called 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 are some examples: {{Localize|2021}} → 2021
{{Localize|Answer Key}} → Answer Key
{{Localize|Lorem ipsum}} →
{{Localize|Switzerland|Countries|language=/es}} → Suiza
{{Localize|Switzerland|Countries|language=es}} → Suiza


