Template:Localized link: Difference between revisions
mediawiki>Jarekt m Changed protection level for "Template:Localized link": Widely used template ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) |
Richardpruen (talk | contribs) m 1 revision imported: Licence templates |
||
| (4 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
<noinclude>{{ | <noinclude> | ||
{{ | <languages/> | ||
</noinclude><!-- | |||
-->{{#ifeq:{{FULLPAGENAME:{{{1}}}}}|{{FULLPAGENAME:{{translatable}}}}<!--self link (including translation pages)--> | |||
|<b> | |||
}}[[Special:MyLanguage/{{{1}}}|{{#if:{{{2|}}}|{{{2}}}|{{{2|{{#ifexist:Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page display title/{{PAGELANGUAGE}}<!--if the source page, PAGELANGUAGE returns en--> | |||
|{{#if:{{{nsp|}}} | |||
|{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }} | |||
|{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} | |||
}} | |||
<!--if the translation page does not exist (or called from the source page), output as is--> | |||
|{{#if:{{{nsp|}}} | |||
|{{PAGENAME:{{{1}}}}} | |||
|{{{1}}} | |||
}} | |||
}}}}}}}]]{{#ifeq:{{FULLPAGENAME:{{{1}}}}}|{{FULLPAGENAME:{{translatable}}}}<!--self link (including translation pages)--> | |||
|</b> | |||
}}<span style="display:none">[[:{{{1}}}| ]]</span><!-- T63547 --><noinclude> | |||
{{documentation|content= | |||
{{tsh|ll|LL}} | |||
{{High-use|35000}} | |||
<translate> | |||
== Purpose == <!--T:1--> | |||
</translate> | |||
<translate><!--T:8--> This helper template can be used to link to [[<tvar name=1>Special:LanguageStats</tvar>|translatable pages]] in the user's language.</translate> | |||
<translate><!--T:9--> It uses the special page prefix <tvar name=1><code>Special:MyLanguage/</code></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> | |||
<!--T:10--> | |||
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 == <!--T:2--> | |||
</translate> | |||
{{Localized link/doc}} | |||
<translate> | |||
<!--T:11--> | |||
If "<tvar name=1><code>nsp</code></tvar>" parameter is not defined, as link text displays the full pagename (including namespace); otherwise — if "<tvar name=1><code>nsp</code></tvar>" parameter is defined by any value — link text displays the short pagename, without namespace. | |||
=== Examples of simple usage === <!--T:3--> | |||
</translate> | |||
{{(}}{{!}} class="wikitable" | |||
{{!}}- | |||
! <translate><!--T:4--> Use</translate> | |||
! <translate><!--T:5--> Becomes</translate> | |||
{{!}}- | |||
{{!}} {{Tlx|ll|Communication}} | |||
{{!}} {{ll|Communication}} | |||
{{!}}- | |||
{{!}} {{Tlx|ll|Communication|コミュニケーション}} | |||
{{!}} {{ll|Communication|コミュニケーション}} | |||
{{!}}- | |||
{{!}} {{Tlx|ll|Project:About}} | |||
{{!}} {{ll|Project:About}} | |||
{{!}}- | |||
{{!}} {{Tlx|ll|Project:About|nsp{{=}}0}} | |||
{{!}} {{ll|Project:About|nsp=0}} | |||
{{!}}{{)}} | |||
<translate> | |||
== Usage in translatable pages == <!--T:6--> | |||
<!--T:12--> | |||
On pages prepared for translation with the <tvar name=1>{{ll|Extension:Translate|nsp=0}}</tvar> extension, this template may be used in three ways. | |||
</translate> | |||
# <translate><!--T:13--> Should better be substitute this template, and then the wikilink target embedded in a <tvar name=1>{{#tag:syntaxhighlight|{{^(}}tvar name=id{{)^}}...{{^(}}/tvar{{)^}}|lang=html|inline=1}}</tvar>, separately from the translatable displayed text of the link.</translate> | |||
#: <translate><!--T:22--> As example, instead <tvar name=1><code><nowiki>{{ll|Communication|About communication}}</nowiki></code></tvar>, translation markup in translatable page will be <tvar name=2>{{#tag:syntaxhighlight|[[{{^(}}tvar name=1{{)^}}Special:MyLanguage/Communication{{^(}}/tvar{{)^}}|About communication]]|lang=html|inline=1}}</tvar>.</translate> | |||
# <translate><!--T:14--> Alternatively, may be exclude this code from translatable section.</translate> | |||
#: <translate><!--T:23--> As example, for <tvar name=1><code>some text <nowiki>{{ll|Communication|About communication}}</nowiki> some text</code></tvar>, translation markup in translatable page will be:</translate> | |||
#: {{#tag:syntaxhighlight|{{^(}}translate{{)^}}some text{{^(}}/translate{{)^}} {{((}}ll{{!}}Communication{{!}}2={{^(}}translate{{)^}}About communication{{^(}}/translate{{)^}}{{))}} {{^(}}translate{{)^}}some text{{^(}}/translate{{)^}}|lang=html|inline=1}} | |||
#: <translate><!--T:15--> This is useful for bulleted lists of links, e.g. in the "See also:" sections.</translate> | |||
# <translate><!--T:16--> 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>{{tag|tvar|open}}</tvar>.</translate> | |||
#: <translate><!--T:24--> As example, instead <tvar name=1>{{Tlx|ll|Communication}}</tvar>, translation markup in translatable page will be <tvar name=2>{{#tag:syntaxhighlight|{{^(}}tvar name=1{{)^}}{{((}}ll{{!}}Communication{{))}}{{^(}}/tvar{{)^}}|lang=html|inline=1}}</tvar>.</translate> | |||
<translate> | |||
== See also == <!--T:7--> | |||
</translate> | |||
* [[Template:Localized link/messagedoc]] — <translate><!--T:17--> should be used for message documentation in translatable pages that use this template.</translate> | |||
* {{tl|Translatable template}} - <translate><!--T:18--> alias <tvar name=1>{{tl|TNT}}</tvar> or <tvar name=2>{{tl|tnt}}</tvar></translate> | |||
* {{tl|Translatable template name}} - <translate><!--T:19--> alias <tvar name=1>{{tl|TNTN}}</tvar> or <tvar name=2>{{tl|tntn}}</tvar></translate> | |||
* {{tl|Page language link}} - <translate><!--T:20--> alias <tvar name=1>{{tl|pll}}</tvar></translate> - <translate><!--T:21--> add a link from a translatable page to another translatable page in the same language</translate> | |||
}} | |||
[[Category:Internationalization templates]] | |||
</noinclude> | </noinclude> | ||
Latest revision as of 14:15, 28 October 2022
[[Special:MyLanguage/{{{1}}}|{{{1}}}]]
| 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
TemplateData for Localized link
Link to translatable page in the user’s language. It uses the special page prefix “Special:MyLanguage/”.
| Parameter | Description | Type | Status | |
|---|---|---|---|---|
| Page name | 1 | Linked page | Page name | required |
| Displayed text | 2 | Display text for this link | Line | suggested |
| Display the namespace | nsp | 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.
| String | optional |
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 |
|---|---|
| {{ll|Communication}} | Communication |
| {{ll|Communication|コミュニケーション}} | コミュニケーション |
| {{ll|Project:About}} | Project:About |
| {{ll|Project:About|nsp=0}} | About |
Usage in translatable pages
On pages prepared for translation with the 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
<tvar name=id>...</tvar>, separately from the translatable displayed text of the link.- As example, instead
{{ll|Communication|About communication}}, translation markup in translatable page will be[[<tvar name=1>Special:MyLanguage/Communication</tvar>|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: <translate>some text</translate> {{ll|Communication|2=<translate>About communication</translate>}} <translate>some text</translate>- 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
<tvar>.- As example, instead {{ll|Communication}}, translation markup in translatable page will be
<tvar name=1>{{ll|Communication}}</tvar>.
- As example, instead {{ll|Communication}}, translation markup in translatable page will be
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