Template:Localized link/en
From Convention Master Documentation
< Template:Localized link<languages/> {{#ifeq:|
|
}}[[Special:MyLanguage/{{{1}}}|{{#if:|{{{2}}}|{{#ifexist:Translations:{{#if:|:}}/Page display title/en
|{{#if: | |{{ Template:TNTN }} }} |{{#if: | |{{{1}}} }}
}}}}]]{{#ifeq:|
|
}}Lua error: bad argument #1 to "get" (not a valid title).{{#if:Template:Tsh {{#switch:<translate></translate> | =
File:OOjs UI icon alert-warning.svg | {{#switch:Template
|Module={{#if:35000 |<translate> This Lua module is used on approximately <tvar name=5>35,000</tvar> pages.</translate> |<translate> This Lua module is used on many pages.</translate> }} |#default={{#if:35000 |<translate> This template is used on approximately <tvar name=5>35,000</tvar> pages.</translate> |<translate> This template is used on many pages.</translate> }} }} {{#switch:Template |Module=<translate> To avoid large-scale disruption and unnecessary server load, any changes to this module should first be tested in its [[<tvar name=4>{{#switch:en|doc|sandbox=Template:Localized link|#default=Template:Localized link/en}}/sandbox</tvar>|/sandbox]] or [[<tvar name=5>{{#switch:en|doc|sandbox=Template:Localized link|#default=Template:Localized link/en}}/testcases</tvar>|/testcases]] subpages.</translate> |#default=<translate> To avoid large-scale disruption and unnecessary server load, any changes to this template should first be tested in its [[<tvar name=4>{{#switch:en|doc|sandbox=Template:Localized link|#default=Template:Localized link/en}}/sandbox</tvar>|/sandbox]] or [[<tvar name=5>{{#switch:en|doc|sandbox=Template:Localized link|#default=Template:Localized link/en}}/testcases</tvar>|/testcases]] subpages or in your own [[<tvar name=9>Special:MyLanguage/Help:Subpages#Use of subpages</tvar>|user subpage]].</translate> }} <translate> The tested changes can then be added to this page in one single edit.</translate> {{#if: |<translate> Please consider discussing any changes at <tvar name=2>[[Template:Trim]]</tvar> before implementing them.</translate> |<translate> Please consider discussing any changes on the [[<tvar name=3>{{#switch:en|doc|sandbox=Template talk:Localized link|#default=Template talk:Localized link/en}}</tvar>|talk page]] before implementing them.</translate>}} |
| #default=
{{#switch:
| =
File:OOjs UI icon alert-warning.svg | {{#switch:Template
|Module={{#if:35000 |This Lua module is used on approximately 35,000 pages. |This Lua module is used on many pages. }} |#default={{#if:35000 |This template is used on approximately 35,000 pages. |This template is used on many pages. }} }} {{#switch:Template |Module=To avoid large-scale disruption and unnecessary server load, any changes to this module should first be tested in its [[{{#switch:en|doc|sandbox=Template:Localized link|#default=Template:Localized link/en}}/sandbox|/sandbox]] or [[{{#switch:en|doc|sandbox=Template:Localized link|#default=Template:Localized link/en}}/testcases|/testcases]] subpages. |#default=To avoid large-scale disruption and unnecessary server load, any changes to this template should first be tested in its [[{{#switch:en|doc|sandbox=Template:Localized link|#default=Template:Localized link/en}}/sandbox|/sandbox]] or [[{{#switch:en|doc|sandbox=Template:Localized link|#default=Template:Localized link/en}}/testcases|/testcases]] subpages or in your own user subpage. }} The tested changes can then be added to this page in one single edit. {{#if: |Please consider discussing any changes at [[Template:Trim]] before implementing them. |Please consider discussing any changes on the [[{{#switch:en|doc|sandbox=Template talk:Localized link|#default=Template talk:Localized link/en}}|talk page]] before implementing them.}} |
| #default=
Lua error: expandTemplate: template loop detected.
}} }}
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
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
Template:(| class="wikitable" |- ! Use ! Becomes |- | {{#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|
||
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.- Should better be substitute this template, and then the wikilink target embedded in a
[[:Template:^(]]tvar name=id[[:Template:)^]]...[[:Template:^(]]/tvar[[:Template:)^]]
, separately from the translatable displayed text of the link.- As example, instead
{{ll|Communication|About communication}}
, translation markup in translatable page will be[[[[:Template:^(]]tvar name=1[[:Template:)^]]Special:MyLanguage/Communication[[:Template:^(]]/tvar[[:Template:)^]]|About communication]]
.
- As example, instead
- 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: [[: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:)^]]
- This is useful for bulleted lists of links, e.g. in the "See also:" sections.
- As example, for
- 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:|
|
}}.
- As example, instead {{#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:||...}}}}, translation markup in translatable page will be [[:Template:^(]]tvar name=1[[:Template:)^]]{{ll|Communication}}[[:Template:^(]]/tvar[[:Template:)^]]
.
See also
- Template:Localized link/messagedoc — should be used for message documentation in translatable pages that use this template.
- Template:Tl - alias Template:Tl or Template:Tl
- Template:Tl - alias Template:Tl or Template:Tl
- Template:Tl - alias Template:Tl - add a link from a translatable page to another translatable page in the same language|
[[Category:Template documentation pages{{#translation:}}]] }}