Difference between revisions of "Template:Localize"

From Pathfinder Wiki
m
 
(One intermediate revision by the same user not shown)
Line 10: Line 10:
 
   |{{#vardefine:result|{{{1}}}}}
 
   |{{#vardefine:result|{{{1}}}}}
 
}}{{#if:{{#var:result}}
 
}}{{#if:{{#var:result}}
   |{{#var:result}}{{#cargo_store:_table=UsageOfLocalizations|uniqueID={{PAGEID}}/{{{1}}}/{{#var:lang}}|id={{{1}}}|locPage={{{2|All}}}|lang={{#var:lang}}}}
+
   |{{#var:result}}
 
   |{{#vardefine:localizationErrorCategories|{{#var:localizationErrorCategories}}[[Category:Missing Localization/{{{2|All}}}/{{{1|unsupplied}}}/{{#var:lang}}]]}}
 
   |{{#vardefine:localizationErrorCategories|{{#var:localizationErrorCategories}}[[Category:Missing Localization/{{{2|All}}}/{{{1|unsupplied}}}/{{#var:lang}}]]}}
 
}}</includeonly><noinclude>
 
}}</includeonly><noinclude>
{{#cargo_declare:_table=UsageOfLocalizations
 
|uniqueID=String (mandatory;unique)
 
|id=String (mandatory)
 
|locPage=String (mandatory)
 
|lang=String (mandatory)
 
}}
 
  
 
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  

Latest revision as of 02:21, 1 August 2024


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}} →

Cannot access the database: :real_connect(): (08004/1040): Too many connections

{{Localize|Lorem ipsum}} →

{{Localize|Switzerland|Countries|language=/es}} → Suiza

{{Localize|Switzerland|Countries|language=es}} → Suiza