Difference between revisions of "Template:GetHonorName"

From Pathfinder Wiki
(Undo revision 527332 by Jomegat (talk))
Tag: Undo
(Undo revision 527333 by Jomegat (talk))
Tag: Undo
Line 4: Line 4:
 
<nowiki>{{GetHonorName|page=AY Honors/Alternative Fuels/Requirements}}</nowiki><br/>
 
<nowiki>{{GetHonorName|page=AY Honors/Alternative Fuels/Requirements}}</nowiki><br/>
 
{{GetHonorName|page=AY Honors/Alternative Fuels/Requirements}}<br/>
 
{{GetHonorName|page=AY Honors/Alternative Fuels/Requirements}}<br/>
 +
<nowiki>{{GetHonorName|page=AY Honors/Alternative Fuels/Requirements/es}}</nowiki><br/>
 +
{{GetHonorName|page=AY Honors/Alternative Fuels/Requirements/es}}
 +
<nowiki>{{GetHonorName|page=AY Honors/Alternative Fuels (United States)/Requirements}}</nowiki><br/>
 +
{{GetHonorName|page=AY Honors/Alternative Fuels (United States)/Requirements}}
  
</noinclude><includeonly>{{Localize|{{#titleparts:{{{page|{{PAGENAME}}}}}|1|2}}|Honors}}</includeonly>
+
==How does it work?==
 +
When a page is translated, the page title is also (usually) translated.  This translation is saved at <nowiki>[[</nowiki>Translations:''source_page_name''/Page display title/''language'']].  This template first uses <nowiki>{{GetLanguageSuffix}}</nowiki> to determine the language of the page.  That template will return an empty string if this is the English page (or source page).
 +
 
 +
The output of <nowiki>GetLangSuffix</nowiki> is passed to an #if parser.  If it returns a non-empty string, this template will strip the last element (the language code) off the invoking page, prepends the Translations: name space to it, and then appends "Page display title" and the language code.  This give us the name of the page that has the translated title.  The contents of that page is passed to the outer #titleparts which extracts the second element from that page name.
 +
 
 +
This assumes that the second element of the page title is the honor name (as in "AY Honors/honorname/subpages/language").
 +
 
 +
</noinclude><includeonly>{{#if:{{GetLangSuffix|page={{{page|{{PAGENAME}}}}}}}
 +
|{{#titleparts:{{:{{#titleparts:Translations:{{{page|{{PAGENAME}}}}}|-1}}/Page display title{{GetLangSuffix|page={{{page|{{PAGENAME}}}}}}}}}|1|2}}
 +
|{{#titleparts:{{{page|{{PAGENAME}}}}}|1|2}}}}</includeonly>

Revision as of 23:35, 23 July 2021

This template will return the translated honor name of the specified page. If no page parameter is supplied, it operates on the page invoking the template.

{{GetHonorName|page=AY Honors/Alternative Fuels/Requirements}}
Alternative Fuels
{{GetHonorName|page=AY Honors/Alternative Fuels/Requirements/es}}
Combustibles alternativos {{GetHonorName|page=AY Honors/Alternative Fuels (United States)/Requirements}}
Alternative Fuels (United States)

How does it work?

When a page is translated, the page title is also (usually) translated. This translation is saved at [[Translations:source_page_name/Page display title/language]]. This template first uses {{GetLanguageSuffix}} to determine the language of the page. That template will return an empty string if this is the English page (or source page).

The output of GetLangSuffix is passed to an #if parser. If it returns a non-empty string, this template will strip the last element (the language code) off the invoking page, prepends the Translations: name space to it, and then appends "Page display title" and the language code. This give us the name of the page that has the translated title. The contents of that page is passed to the outer #titleparts which extracts the second element from that page name.

This assumes that the second element of the page title is the honor name (as in "AY Honors/honorname/subpages/language").