Template:Localized link: Difference between revisions
From Test Wiki
Content deleted Content added
{{PAGELANGUAGE}} per talk page |
m 1 revision imported |
||
| (2 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
<noinclude> |
|||
<onlyinclude>{{#if:{{{iw|}}}||<!-- |
|||
<languages/> |
|||
</noinclude><!-- |
|||
-->{{#ifeq:{{FULLPAGENAME:{{{1}}}}}|{{FULLPAGENAME:{{translatable}}}}<!--self link (including translation pages)--> |
-->{{#ifeq:{{FULLPAGENAME:{{{1}}}}}|{{FULLPAGENAME:{{translatable}}}}<!--self link (including translation pages)--> |
||
|<b> |
|<b> |
||
}} |
}}<!---->[[Special:MyLanguage/{{{1}}}|{{#if:{{{2|}}} |
||
|{{{2}}} |
|||
<!--interwiki link, output as is--> |
|||
|{{{2|{{#ifexist:Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page display title/{{PAGELANGUAGE}}<!--if the source page, PAGELANGUAGE returns en--> |
|||
|{{#if:{{yesno|{{{nsp|1}}}}} |
|||
|{{#ifexpr:{{#if:{{{nsp|}}}|1|0}} and {{NAMESPACENUMBER:{{{1}}}}}!=0 |
|||
|{{ |
|{{#ifeq:{{PAGELANGUAGE}}|en |
||
|{{PAGENAME:{{{1}}}}} |
|||
}} |
|||
|<!-- check whether the string is not empty --><!-- |
|||
|{{#ifexist:Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page display title/{{PAGELANGUAGE}}<!----> |
|||
-->{{#if:{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }} |
|||
|{{#if:{{yesno|{{{nsp|1}}}}} |
|||
|{{#ifeq:{{#invoke:string|find|{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }}|:}}|0 |
|||
|{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }} |
|||
| {{#invoke:string|match|{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }}|:(.*)}} |
|||
}} |
|||
|<!-- pass parameter to, e.g., "Template:LC zh"; check whether the string is not empty --><!-- |
|||
-->{{#if:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} | nsp = 0 }} |
|||
|{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} | nsp = 0 }} |
|||
|{{{1}}} |
|||
}} |
|||
}} |
|||
}} |
|||
|{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} |
|{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} |
||
|{{PAGENAME:{{ {{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 the translation page does not exist (or called from the source page), output as is--> |
||
|{{#if: |
|{{#if:{{{nsp|}}} |
||
|{{#if:{{PAGENAME:{{{1}}}}} |
|||
|{{PAGENAME:{{{1}}}}} |
|||
|{{{1}}} |
|||
}} |
|||
|{{{1}}} |
|{{{1}}} |
||
|{{PAGENAME:{{{1}}}}} |
|||
}} |
}} |
||
}}<!--#ifexist--><!-- |
|||
}}}}}}]]{{#if:{{{iw|}}}| |
|||
-->}}}<!--{{{2|--><!-- |
|||
|{{#ifeq:{{FULLPAGENAME:{{{1}}}}}|{{FULLPAGENAME:{{translatable}}}}<!--self link (including translation pages)--> |
|||
-->}}<!--#if:{{{2|}}}--><!-- |
|||
-->]]<!-- |
|||
-->{{#ifeq:{{FULLPAGENAME:{{{1}}}}}|{{FULLPAGENAME:{{translatable}}}}<!--self link (including translation pages)--> |
|||
|</b> |
|</b> |
||
}} |
}}<span style="display:none">[[:{{{1}}}| ]]</span><!-- T63547 --><noinclude> |
||
{{documentation|content= |
|||
{{Documentation}} |
|||
<!-- Add categories to the /doc subpage and interwikis in Wikidata, not here! --> |
|||
{{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 the "<tvar name=1><code>nsp</code></tvar>" parameter is not defined, as link text this displays the full pagename (including the namespace); otherwise — if the "<tvar name=1><code>nsp</code></tvar>" parameter is defined to any value the link text displays the short pagename (without the namespace). |
|||
<!--T:25--> |
|||
When linking to a section within a page, the section is not displayed in the link text. |
|||
=== 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#See_also}} |
|||
{{!}} {{ll|Project:About#See_also}} |
|||
{{!}}- |
|||
{{!}} {{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--> Substitute this template, then embed the wikilink target in a <tvar name=1>{{#tag:syntaxhighlight|{{^(}}tvar name=id{{)^}}...{{^(}}/tvar{{)^}}|lang=html|inline=1}}</tvar>, separate from the translatable text of the link.</translate> |
|||
#: <translate><!--T:26--> For example:</translate> {{#tag:syntaxhighlight|Learn more {{{{^(}}tvar name=1{{)^}}ll|Communication{{^(}}/tvar{{)^}}|about communication}}.|lang=html|inline=1}} |
|||
# <translate><!--T:16--> 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>{{tag|tvar|open}}</tvar>.</translate> |
|||
#: <translate><!--T:27--> For example:</translate> {{#tag:syntaxhighlight|Learn more about {{^(}}tvar name=1{{)^}}<nowiki>{{ll|Communication}}</nowiki>{{^(}}/tvar{{)^}}.|lang=html|inline=1}} |
|||
# <translate><!--T:28--> 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.</translate> <translate><!--T:15--> This is useful for bulleted lists of links, e.g. in the "See also:" sections.</translate> <translate><!--T:29--> Make sure to include the parameter name when adding translate tags inside template syntax.</translate> |
|||
#: <translate><!--T:30--> For example:</translate> |
|||
::: {{#tag:syntaxhighlight|* {{((}}ll{{!}}Project:About{{))}}|lang=html|inline=1}} |
|||
::: {{#tag:syntaxhighlight|* {{((}}ll{{!}}Communication{{!}}2={{^(}}translate{{)^}}About communication{{^(}}/translate{{)^}}{{))}}|lang=html|inline=1}} |
|||
== Test cases == |
|||
{{Localized link/testcases}} |
|||
<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{{#translation:}}]] |
|||
</noinclude> |
|||