Template:Localized link
More actions
{{#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:|
|
}}
Warning | This template is used on approximately 35,000 pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them. |
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 the "nsp
" parameter is not defined, as link text this displays the full pagename (including the namespace); otherwise — if the "nsp
" parameter is defined to any value the link text displays the short pagename (without the namespace).
When linking to a section within a page, the section is not displayed in the link text.
Examples of simple usage
Template:(| class="wikitable"
|-
! Use
! Becomes
|-
| {{ll|Communication}}
| {{#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|
|
}}{{ll|Communication|コミュニケーション}}
| {{#ifeq:Communication|
|
}}{{#if:コミュニケーション |コミュニケーション |コミュニケーション}}{{#ifeq:Communication|
|
}}{{ll|Project:About}}
| {{#ifeq:Mechsploit.me Wiki:About|
|
}}[[Special:MyLanguage/Project:About|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Mechsploit.me Wiki|Mechsploit.me 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:Mechsploit.me Wiki:About|
|
}}{{ll|Project:About#See_also}}
| {{#ifeq:Mechsploit.me Wiki:About|
|
}}[[Special:MyLanguage/Project:About#See_also|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Mechsploit.me Wiki|Mechsploit.me 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#See_also }} }} }} |{{ Template:TNTN }} }} |{{#if: |{{#if:About |About |Project:About#See_also }} |Project:About#See_also }}
}}}}]]{{#ifeq:Mechsploit.me Wiki:About|
|
}}{{ll|Project:About|nsp=0}}
| {{#ifeq:Mechsploit.me Wiki:About|
|
}}[[Special:MyLanguage/Project:About|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Mechsploit.me Wiki|Mechsploit.me 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:Mechsploit.me 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
|{{#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|
|
}}
extension, this template may be used in three ways.- Substitute this template, then embed the wikilink target in a <syntaxhighlight lang="html" inline="1">Template:^(tvar name=idTemplate:)^...Template:^(/tvarTemplate:)^</syntaxhighlight>, separate from the translatable text of the link.
- For example: <syntaxhighlight lang="html" inline="1">Learn more {{Template:^(tvar name=1Template:)^ll|CommunicationTemplate:^(/tvarTemplate:)^|about communication}}.</syntaxhighlight>
- If link text is the same as the name of the target page, all of the code could also be embedded into Template:Tag.
- For example: <syntaxhighlight lang="html" inline="1">Learn more about Template:^(tvar name=1Template:)^{{ll|Communication}}Template:^(/tvarTemplate:)^.</syntaxhighlight>
- For standalone links, such as in a list or table, translate only the link text if it differs from the name of the target page. This is useful for bulleted lists of links, e.g. in the "See also:" sections. Make sure to include the parameter name when adding translate tags inside template syntax.
- For example:
- <syntaxhighlight lang="html" inline="1">* Template:((ll|Project:AboutTemplate:))</syntaxhighlight>
- <syntaxhighlight lang="html" inline="1">* Template:((ll|Communication|2=Template:^(translateTemplate:)^About communicationTemplate:^(/translateTemplate:)^Template:))</syntaxhighlight>
Test cases
Template:Localized link/testcases
See also
- Template:Localized link/messagedoc — should be used for message documentation in translatable pages that use this template.
- {{Translatable template}} - alias {{TNT}} or {{tnt}}
- {{Translatable template name}} - alias {{TNTN}} or {{tntn}}
- {{Page language link}} - alias {{pll}} - add a link from a translatable page to another translatable page in the same language
{{#if:
Warning | This template is used on approximately 35,000 pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them. |
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 the "nsp
" parameter is not defined, as link text this displays the full pagename (including the namespace); otherwise — if the "nsp
" parameter is defined to any value the link text displays the short pagename (without the namespace).
When linking to a section within a page, the section is not displayed in the link text.
Examples of simple usage
Template:(| class="wikitable"
|-
! Use
! Becomes
|-
| {{ll|Communication}}
| {{#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|
|
}}{{ll|Communication|コミュニケーション}}
| {{#ifeq:Communication|
|
}}{{#if:コミュニケーション |コミュニケーション |コミュニケーション}}{{#ifeq:Communication|
|
}}{{ll|Project:About}}
| {{#ifeq:Mechsploit.me Wiki:About|
|
}}[[Special:MyLanguage/Project:About|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Mechsploit.me Wiki|Mechsploit.me 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:Mechsploit.me Wiki:About|
|
}}{{ll|Project:About#See_also}}
| {{#ifeq:Mechsploit.me Wiki:About|
|
}}[[Special:MyLanguage/Project:About#See_also|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Mechsploit.me Wiki|Mechsploit.me 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#See_also }} }} }} |{{ Template:TNTN }} }} |{{#if: |{{#if:About |About |Project:About#See_also }} |Project:About#See_also }}
}}}}]]{{#ifeq:Mechsploit.me Wiki:About|
|
}}{{ll|Project:About|nsp=0}}
| {{#ifeq:Mechsploit.me Wiki:About|
|
}}[[Special:MyLanguage/Project:About|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Mechsploit.me Wiki|Mechsploit.me 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:Mechsploit.me 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
|{{#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|
|
}}
extension, this template may be used in three ways.- Substitute this template, then embed the wikilink target in a <syntaxhighlight lang="html" inline="1">Template:^(tvar name=idTemplate:)^...Template:^(/tvarTemplate:)^</syntaxhighlight>, separate from the translatable text of the link.
- For example: <syntaxhighlight lang="html" inline="1">Learn more {{Template:^(tvar name=1Template:)^ll|CommunicationTemplate:^(/tvarTemplate:)^|about communication}}.</syntaxhighlight>
- If link text is the same as the name of the target page, all of the code could also be embedded into Template:Tag.
- For example: <syntaxhighlight lang="html" inline="1">Learn more about Template:^(tvar name=1Template:)^{{ll|Communication}}Template:^(/tvarTemplate:)^.</syntaxhighlight>
- For standalone links, such as in a list or table, translate only the link text if it differs from the name of the target page. This is useful for bulleted lists of links, e.g. in the "See also:" sections. Make sure to include the parameter name when adding translate tags inside template syntax.
- For example:
- <syntaxhighlight lang="html" inline="1">* Template:((ll|Project:AboutTemplate:))</syntaxhighlight>
- <syntaxhighlight lang="html" inline="1">* Template:((ll|Communication|2=Template:^(translateTemplate:)^About communicationTemplate:^(/translateTemplate:)^Template:))</syntaxhighlight>
Test cases
Template:Localized link/testcases
See also
- Template:Localized link/messagedoc — should be used for message documentation in translatable pages that use this template.
- {{Translatable template}} - alias {{TNT}} or {{tnt}}
- {{Translatable template name}} - alias {{TNTN}} or {{tntn}}
- {{Page language link}} - alias {{pll}} - add a link from a translatable page to another translatable page in the same language|
}}