Template:Localized link

Revision as of 14:21, 28 July 2022 by Michi (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


{{#ifeq:|

 |

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

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

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

 |

}}[[:{{{1}}}| ]]

Template documentation

Template:Tsh

Purpose

This helper template can be used to link to translatable pages in the user's language. It uses the special page prefix Special:MyLanguage/, 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.

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

Template:Localized link/doc

If "nsp" parameter is not defined, as link text displays the full pagename (including namespace); otherwise — if "nsp" parameter is defined by any value — link text displays the short pagename, without namespace.

Examples of simple usage

Use Becomes
{{Template:Localized link}}

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

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

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

}}

{{Template:Localized link}}

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

}}

{{Template:Localized link}}

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

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

}}}}]]{{#ifeq:LPFM Wiki:About|

}}

{{Template:Localized link}}

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

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

}}}}]]{{#ifeq:LPFM Wiki:About|

}}

Usage in translatable pages

On pages prepared for translation with the {{#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|

 |

}} extension, this template may be used in three ways.

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

|

}}.

  1. As example, instead {{Template:Localized link}}, translation markup in translatable page will be <source lang="html" inline="1">Template:^(tvar name=1Template:)^{{ll|Communication}}Template:^(/tvarTemplate:)^</source>.

See also

<source style="display:none"></source>