Actions

Template

Template:Localized link

From Convention Master Documentation

Revision as of 13:23, 6 October 2022 by Template>Dinoguy1000 (update #tag:source instances too)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

<languages/> {{#ifeq:|

 |

}}[[Special:MyLanguage/{{{1}}}|{{#if:|{{{2}}}|{{#ifexist:Translations:{{#if:|:}}/Page display title/en

 |{{#if:
   |
   |{{ Template:TNTN }}
 }}
 |{{#if:
   |
   |{{{1}}}
 }}

}}}}]]{{#ifeq:|

 |

}}[[:{{{1}}}| ]] Lua error: bad argument #1 to "get" (not a valid title).{{#if:Template:Tsh {{#switch:<translate></translate> | =

| #default=

 {{#switch:

| =

| #default=

 Lua error: expandTemplate: template loop detected.

}} }}

<translate>

Purpose

</translate> <translate> This helper template can be used to link to [[<tvar name=1>Special:LanguageStats</tvar>|translatable pages]] in the user's language.</translate> <translate> It uses the special page prefix <tvar name=1>Special:MyLanguage/</tvar>, which checks if there is a translated version of a page in the user's language, and links to it if there is one, and links to a fallback language where available, or the default wiki language version (English in MediaWiki) if there isn't.</translate>

<translate> It should be used in translated pages, so that they link to the right page even if there is no translated page in that language.

Usage

</translate> Template:Localized link/doc

<translate> If "<tvar name=1>nsp</tvar>" parameter is not defined, as link text displays the full pagename (including namespace); otherwise — if "<tvar name=1>nsp</tvar>" parameter is defined by any value — link text displays the short pagename, without namespace.

Examples of simple usage

</translate> Template:(| class="wikitable" |- ! <translate> Use</translate> ! <translate> Becomes</translate> |- | {{#if:{{safesubst:#switch:

|no
|n
|false
|0        = 
|         = 
|¬        = 
|yes
|y
|true
|1        = yes
|#default = yes

}}|}}{{[[{{#if:|{{{SISTER}}}Template|Template}}:ll|ll]]{{#if:Communication||Communication}}{{#if:||{{{3}}}}}{{#if:||{{{4}}}}}{{#if:||{{{5}}}}}{{#if:||{{{6}}}}}{{#if:||{{{7}}}}}{{#if:||...}}}} | {{#ifeq:Communication|

 |

}}[[Special:MyLanguage/Communication|{{#if:|{{{2}}}|{{#ifexist:Translations:{{#if:|:}}Communication/Page display title/en

 |{{#if:
   |
   |{{ Template:TNTN }}
 }}
 |{{#if:
   |Communication
   |Communication
 }}

}}}}]]{{#ifeq:Communication|

 |

}} |- | {{#if:{{safesubst:#switch:

|no
|n
|false
|0        = 
|         = 
|¬        = 
|yes
|y
|true
|1        = yes
|#default = yes

}}|}}{{[[{{#if:|{{{SISTER}}}Template|Template}}:ll|ll]]{{#if:Communication||Communication}}{{#if:コミュニケーション||コミュニケーション}}{{#if:||{{{4}}}}}{{#if:||{{{5}}}}}{{#if:||{{{6}}}}}{{#if:||{{{7}}}}}{{#if:||...}}}} | {{#ifeq:Communication|

 |

}}{{#if:コミュニケーション|コミュニケーション|コミュニケーション}}{{#ifeq:Communication|

 |

}} |- | {{#if:{{safesubst:#switch:

|no
|n
|false
|0        = 
|         = 
|¬        = 
|yes
|y
|true
|1        = yes
|#default = yes

}}|}}{{[[{{#if:|{{{SISTER}}}Template|Template}}:ll|ll]]{{#if:Project:About||Project:About}}{{#if:||{{{3}}}}}{{#if:||{{{4}}}}}{{#if:||{{{5}}}}}{{#if:||{{{6}}}}}{{#if:||{{{7}}}}}{{#if:||...}}}} | {{#ifeq:CM:About|

 |

}}[[Special:MyLanguage/Project:About|{{#if:|{{{2}}}|{{#ifexist:Translations:{{#if:CM|CM:}}About/Page display title/en

 |{{#if:
   |
   |{{ Template:TNTN }}
 }}
 |{{#if:
   |About
   |Project:About
 }}

}}}}]]{{#ifeq:CM:About|

 |

}} |- | {{#if:{{safesubst:#switch:

|no
|n
|false
|0        = 
|         = 
|¬        = 
|yes
|y
|true
|1        = yes
|#default = yes

}}|}}{{[[{{#if:|{{{SISTER}}}Template|Template}}:ll|ll]]{{#if:Project:About||Project:About}}{{#if:nsp=0||nsp=0}}{{#if:||{{{4}}}}}{{#if:||{{{5}}}}}{{#if:||{{{6}}}}}{{#if:||{{{7}}}}}{{#if:||...}}}} | {{#ifeq:CM:About|

 |

}}[[Special:MyLanguage/Project:About|{{#if:|{{{2}}}|{{#ifexist:Translations:{{#if:CM|CM:}}About/Page display title/en

 |{{#if:0
   |
   |{{ Template:TNTN }}
 }}
 |{{#if:0
   |About
   |Project:About
 }}

}}}}]]{{#ifeq:CM:About|

 |

}} |Template:)

<translate>

Usage in translatable pages

On pages prepared for translation with the <tvar name=1>{{#ifeq:Extension:Translate|

 |

}}[[Special:MyLanguage/Extension:Translate|{{#if:|{{{2}}}|{{#ifexist:Translations:{{#if:|:}}Extension:Translate/Page display title/en

 |{{#if:0
   |
   |{{ Template:TNTN }}
 }}
 |{{#if:0
   |Extension:Translate
   |Extension:Translate
 }}

}}}}]]{{#ifeq:Extension:Translate|

 |

}} </tvar> extension, this template may be used in three ways. </translate>

  1. <translate> Should better be substitute this template, and then the wikilink target embedded in a <tvar name=1>[[:Template:^(]]tvar name=id[[:Template:)^]]...[[:Template:^(]]/tvar[[:Template:)^]]</tvar>, separately from the translatable displayed text of the link.</translate>
    <translate> As example, instead <tvar name=1>{{ll|Communication|About communication}}</tvar>, translation markup in translatable page will be <tvar name=2>[[[[:Template:^(]]tvar name=1[[:Template:)^]]Special:MyLanguage/Communication[[:Template:^(]]/tvar[[:Template:)^]]|About communication]]</tvar>.</translate>
  2. <translate> Alternatively, may be exclude this code from translatable section.</translate>
    <translate> As example, for <tvar name=1>some text {{ll|Communication|About communication}} some text</tvar>, translation markup in translatable page will be:</translate>
    [[:Template:^(]]translate[[:Template:)^]]some text[[:Template:^(]]/translate[[:Template:)^]] {{ll|Communication|2=[[:Template:^(]]translate[[:Template:)^]]About communication[[:Template:^(]]/translate[[:Template:)^]]}} [[:Template:^(]]translate[[:Template:)^]]some text[[:Template:^(]]/translate[[:Template:)^]]
    <translate> This is useful for bulleted lists of links, e.g. in the "See also:" sections.</translate>
  3. <translate> If link text does not have to be different from the name of landing page, will be better to embed all this code into <tvar name=1>{{#if:|
|

}}{{#switch:open

|c|close  = 
|s|single
|o|open
|p|pair   = ‎<tvar{{#if:| {{{params}}}}}

}}{{#switch:open

|c|close  = 
|s|single =  />
|o|open   = >
|p|pair   = >...

}}{{#switch:open

|s|single
|o|open   = 
|c|close
|p|pair   = ‎</tvar>

}}{{#if:|

|

}}</tvar>.</translate>

  1. <translate> As example, instead <tvar name=1>{{#if:{{safesubst:#switch:
|no
|n
|false
|0        = 
|         = 
|¬        = 
|yes
|y
|true
|1        = yes
|#default = yes

}}|}}{{[[{{#if:|{{{SISTER}}}Template|Template}}:ll|ll]]{{#if:Communication||Communication}}{{#if:||{{{3}}}}}{{#if:||{{{4}}}}}{{#if:||{{{5}}}}}{{#if:||{{{6}}}}}{{#if:||{{{7}}}}}{{#if:||...}}}}</tvar>, translation markup in translatable page will be <tvar name=2>[[:Template:^(]]tvar name=1[[:Template:)^]]{{ll|Communication}}[[:Template:^(]]/tvar[[:Template:)^]]</tvar>.</translate>

<translate>

See also

</translate>

[[Category:Template documentation pages{{#translation:}}]] }}