Template:Localized link
<languages/> {{#ifeq:|
|
}}[[Special:MyLanguage/{{{1}}}|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:|:}}/Page display title/en
|{{#ifexpr:{{#if:|1|0}} and !=0 |{{#ifeq:en|en | |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Template:TNTN | nsp = 0 }} |{{ Template:TNTN | nsp = 0 }} |{{{1}}} }} }} }} |{{ Template:TNTN }} }} |{{#if: |{{#if: | |{{{1}}} }} |{{{1}}} }}
}}}}]]{{#ifeq:|
|
}}Script error: The module returned a nil value. It is supposed to return an export table.{{#if:Template:Tsh {{#switch:<translate></translate> | =
TemplateStyles' src
attribute must not be empty.
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:Localized link|doc|sandbox=Template:Localized link|#default=Template:Localized link}}/sandbox</tvar>|/sandbox]] or [[<tvar name=5>{{#switch:Localized link|doc|sandbox=Template:Localized link|#default=Template:Localized link}}/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:Localized link|doc|sandbox=Template:Localized link|#default=Template:Localized link}}/sandbox</tvar>|/sandbox]] or [[<tvar name=5>{{#switch:Localized link|doc|sandbox=Template:Localized link|#default=Template:Localized link}}/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:Localized link|doc|sandbox=Template talk:Localized link|#default=Template talk:Localized link}}</tvar>|talk page]] before implementing them.</translate>}} |
| #default=
{{#switch:
| =
TemplateStyles' src
attribute must not be empty.
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:Localized link|doc|sandbox=Template:Localized link|#default=Template:Localized link}}/sandbox|/sandbox]] or [[{{#switch:Localized link|doc|sandbox=Template:Localized link|#default=Template:Localized link}}/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:Localized link|doc|sandbox=Template:Localized link|#default=Template:Localized link}}/sandbox|/sandbox]] or [[{{#switch:Localized link|doc|sandbox=Template:Localized link|#default=Template:Localized link}}/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:Localized link|doc|sandbox=Template talk:Localized link|#default=Template talk:Localized link}}|talk page]] before implementing them.}} |
| #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 the "<tvar name=1>nsp
</tvar>" parameter is not defined, as link text this displays the full pagename (including the namespace); otherwise — if the "<tvar name=1>nsp
</tvar>" parameter is defined to any value the link text displays the short pagename (without the 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
}}|Page Template:Nowrap/styles.css has no content.}}{{[[{{#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
|{{#ifexpr:{{#if:|1|0}} and 0!=0 |{{#ifeq:en|en |Communication |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Template:TNTN | nsp = 0 }} |{{ Template:TNTN | nsp = 0 }} |Communication }} }} }} |{{ Template:TNTN }} }} |{{#if: |{{#if:Communication |Communication |Communication }} |Communication }}
}}}}]]{{#ifeq:Communication|
|
}}
|- | {{#if:{{safesubst:#switch:|no |n |false |0 = | = |¬ = |yes |y |true |1 = yes |#default = yes
}}|Page Template:Nowrap/styles.css has no content.}}{{[[{{#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
}}|Page Template:Nowrap/styles.css has no content.}}{{[[{{#if:|{{{SISTER}}}Template|Template}}:ll|ll]]{{#if:Project:About||Project:About}}{{#if:||{{{3}}}}}{{#if:||{{{4}}}}}{{#if:||{{{5}}}}}{{#if:||{{{6}}}}}{{#if:||{{{7}}}}}{{#if:||...}}}} | {{#ifeq:Intrusive Gardening Wiki:About|
|
}}[[Special:MyLanguage/Project:About|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Intrusive Gardening Wiki|Intrusive Gardening Wiki:}}About/Page display title/en
|{{#ifexpr:{{#if:|1|0}} and 4!=0 |{{#ifeq:en|en |About |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Template:TNTN | nsp = 0 }} |{{ Template:TNTN | nsp = 0 }} |Project:About }} }} }} |{{ Template:TNTN }} }} |{{#if: |{{#if:About |About |Project:About }} |Project:About }}
}}}}]]{{#ifeq:Intrusive Gardening Wiki:About|
|
}}
|- | {{#if:{{safesubst:#switch:|no |n |false |0 = | = |¬ = |yes |y |true |1 = yes |#default = yes
}}|Page Template:Nowrap/styles.css has no content.}}{{[[{{#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:Intrusive Gardening Wiki:About|
|
}}[[Special:MyLanguage/Project:About|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Intrusive Gardening Wiki|Intrusive Gardening Wiki:}}About/Page display title/en
|{{#ifexpr:{{#if:0|1|0}} and 4!=0 |{{#ifeq:en|en |About |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Template:TNTN | nsp = 0 }} |{{ Template:TNTN | nsp = 0 }} |Project:About }} }} }} |{{ Template:TNTN }} }} |{{#if:0 |{{#if:About |About |Project:About }} |Project:About }}
}}}}]]{{#ifeq:Intrusive Gardening Wiki:About|
||
<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
|{{#ifexpr:{{#if:0|1|0}} and 0!=0 |{{#ifeq:en|en |Extension:Translate |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Template:TNTN | nsp = 0 }} |{{ Template:TNTN | nsp = 0 }} |Extension:Translate }} }} }} |{{ Template:TNTN }} }} |{{#if:0 |{{#if:Extension:Translate |Extension:Translate |Extension:Translate }} |Extension:Translate }}
}}}}]]{{#ifeq:Extension:Translate|
|
}}
</tvar> extension, this template may be used in three ways. </translate>- <translate> Substitute this template, then embed the wikilink target in a <tvar name=1><syntaxhighlight lang="html" inline="1">Template:^(tvar name=idTemplate:)^...Template:^(/tvarTemplate:)^</syntaxhighlight></tvar>, separate from the translatable text of the link.</translate>
- <translate> For example, instead of <tvar name=1>
{{ll|Communication|About communication}}
</tvar>, the translation markup in the translatable page will be <tvar name=2><syntaxhighlight lang="html" inline="1">[[Template:^(tvar name=1Template:)^Special:MyLanguage/CommunicationTemplate:^(/tvarTemplate:)^|About communication]]</syntaxhighlight></tvar>.</translate>
- <translate> For example, instead of <tvar name=1>
- <translate> Alternatively, exclude this code from the translatable section.</translate>
- <translate> For example, for <tvar name=1>
some text {{ll|Communication|About communication}} some text
</tvar>, the translation markup in the translatable page will be:</translate> - <syntaxhighlight lang="html" inline="1">Template:^(translateTemplate:)^some textTemplate:^(/translateTemplate:)^ {{ll|Communication|2=Template:^(translateTemplate:)^About communicationTemplate:^(/translateTemplate:)^}} Template:^(translateTemplate:)^some textTemplate:^(/translateTemplate:)^</syntaxhighlight>
- <translate> This is useful for bulleted lists of links, e.g. in the "See also:" sections.</translate>
- <translate> For example, for <tvar name=1>
- <translate> If link text is the same as the name of the target page, all of the code could also be embedded into <tvar name=1>Template:Tag</tvar>.</translate>
- <translate> For example, instead of <tvar name=1>{{#if:{{safesubst:#switch:
|no |n |false |0 = | = |¬ = |yes |y |true |1 = yes |#default = yes
}}|Page Template:Nowrap/styles.css has no content.}}{{[[{{#if:|{{{SISTER}}}Template|Template}}:ll|ll]]{{#if:Communication||Communication}}{{#if:||{{{3}}}}}{{#if:||{{{4}}}}}{{#if:||{{{5}}}}}{{#if:||{{{6}}}}}{{#if:||{{{7}}}}}{{#if:||...}}}}</tvar>, the wikicode in the translatable page will be <tvar name=2><syntaxhighlight lang="html" inline="1">Template:^(tvar name=1Template:)^{{ll|Communication}}Template:^(/tvarTemplate:)^</syntaxhighlight></tvar>.</translate>
Test cases
Template:Localized link/testcases
<translate>
See also
</translate>
- Template:Localized link/messagedoc — <translate> should be used for message documentation in translatable pages that use this template.</translate>
- {{{{#ifeq:Template:Translatable template|
|
}}[[Special:MyLanguage/Template:Translatable template|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Template|Template:}}Translatable template/Page display title/en
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:en|en |Translatable template |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Template:TNTN | nsp = 0 }} |{{ Template:TNTN | nsp = 0 }} |Template:Translatable template }} }} }} |{{ Template:TNTN }} }} |{{#if:0 |{{#if:Translatable template |Translatable template |Template:Translatable template }} |Template:Translatable template }}
}}}}]]{{#ifeq:Template:Translatable template|
|
}}
}} - <translate> alias <tvar name=1>{{{{#ifeq:Template:TNT||
}}[[Special:MyLanguage/Template:TNT|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Template|Template:}}TNT/Page display title/en
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:en|en |TNT |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Template:TNTN | nsp = 0 }} |{{ Template:TNTN | nsp = 0 }} |Template:TNT }} }} }} |{{ Template:TNTN }} }} |{{#if:0 |{{#if:TNT |TNT |Template:TNT }} |Template:TNT }}
}}}}]]{{#ifeq:Template:TNT|
|
}}
}}</tvar> or <tvar name=2>{{{{#ifeq:Template:Tnt||
}}[[Special:MyLanguage/Template:tnt|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Template|Template:}}Tnt/Page display title/en
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:en|en |Tnt |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Template:TNTN | nsp = 0 }} |{{ Template:TNTN | nsp = 0 }} |Template:tnt }} }} }} |{{ Template:TNTN }} }} |{{#if:0 |{{#if:Tnt |Tnt |Template:tnt }} |Template:tnt }}
}}}}]]{{#ifeq:Template:Tnt|
|
}}
}}</tvar></translate>- {{{{#ifeq:Template:Translatable template name|
|
}}[[Special:MyLanguage/Template:Translatable template name|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Template|Template:}}Translatable template name/Page display title/en
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:en|en |Translatable template name |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Template:TNTN | nsp = 0 }} |{{ Template:TNTN | nsp = 0 }} |Template:Translatable template name }} }} }} |{{ Template:TNTN }} }} |{{#if:0 |{{#if:Translatable template name |Translatable template name |Template:Translatable template name }} |Template:Translatable template name }}
}}}}]]{{#ifeq:Template:Translatable template name|
|
}}
}} - <translate> alias <tvar name=1>{{{{#ifeq:Template:TNTN||
}}[[Special:MyLanguage/Template:TNTN|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Template|Template:}}TNTN/Page display title/en
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:en|en |TNTN |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Template:TNTN | nsp = 0 }} |{{ Template:TNTN | nsp = 0 }} |Template:TNTN }} }} }} |{{ Template:TNTN }} }} |{{#if:0 |{{#if:TNTN |TNTN |Template:TNTN }} |Template:TNTN }}
}}}}]]{{#ifeq:Template:TNTN|
|
}}
}}</tvar> or <tvar name=2>{{{{#ifeq:Template:Tntn||
}}[[Special:MyLanguage/Template:tntn|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Template|Template:}}Tntn/Page display title/en
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:en|en |Tntn |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Template:TNTN | nsp = 0 }} |{{ Template:TNTN | nsp = 0 }} |Template:tntn }} }} }} |{{ Template:TNTN }} }} |{{#if:0 |{{#if:Tntn |Tntn |Template:tntn }} |Template:tntn }}
}}}}]]{{#ifeq:Template:Tntn|
|
}}
}}</tvar></translate>- {{{{#ifeq:Template:Page language link|
|
}}[[Special:MyLanguage/Template:Page language link|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Template|Template:}}Page language link/Page display title/en
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:en|en |Page language link |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Template:TNTN | nsp = 0 }} |{{ Template:TNTN | nsp = 0 }} |Template:Page language link }} }} }} |{{ Template:TNTN }} }} |{{#if:0 |{{#if:Page language link |Page language link |Template:Page language link }} |Template:Page language link }}
}}}}]]{{#ifeq:Template:Page language link|
|
}}
}} - <translate> alias <tvar name=1>{{{{#ifeq:Template:Pll||
}}[[Special:MyLanguage/Template:pll|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Template|Template:}}Pll/Page display title/en
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:en|en |Pll |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Template:TNTN | nsp = 0 }} |{{ Template:TNTN | nsp = 0 }} |Template:pll }} }} }} |{{ Template:TNTN }} }} |{{#if:0 |{{#if:Pll |Pll |Template:pll }} |Template:pll }}
}}}}]]{{#ifeq:Template:Pll|
|
}}
}}</tvar></translate> - <translate> add a link from a translatable page to another translatable page in the same language</translate>| [[Category:Template documentation pages{{#translation:}}]] }}