Template:Localized link: Difference between revisions
m (1 revision imported: Updating the languages template to see if it fixes the language support) |
MediaWiki>Shirayuki m (restore) |
||
Line 4: | Line 4: | ||
-->{{#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}}}|{{{2|{{#ifexist:Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page display title/{{ | }}<!---->[[Special:MyLanguage/{{{1}}}|{{#if:{{{2|}}} | ||
|{{#if:{{{nsp|}}} | |{{{2}}} | ||
|{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }} | |{{{2|{{#ifexist:Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page display title/{{PAGELANGUAGE}}<!--if the source page, PAGELANGUAGE returns en--> | ||
|{{#ifexpr:{{#if:{{{nsp|}}}|1|0}} and {{NAMESPACENUMBER:{{{1}}}}}!=0 | |||
|{{#ifeq:{{PAGELANGUAGE}}|en | |||
|{{PAGENAME:{{{1}}}}} | |||
|<!-- check whether the string is not empty --><!-- | |||
-->{{#if:{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }} | |||
|{{#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}} }} | ||
}} | }} | ||
<!--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:{{{nsp|}}} | |{{#if:{{{nsp|}}} | ||
|{{PAGENAME:{{{1}}}}} | |{{#if:{{PAGENAME:{{{1}}}}} | ||
|{{PAGENAME:{{{1}}}}} | |||
|{{{1}}} | |||
}} | |||
|{{{1}}} | |{{{1}}} | ||
}} | }} | ||
}}}}}}}]]{{#ifeq:{{FULLPAGENAME:{{{1}}}}}|{{FULLPAGENAME:{{translatable}}}}<!--self link (including translation pages)--> | }}<!--#ifexist--><!-- | ||
-->}}}<!--{{{2|--><!-- | |||
-->}}<!--#if:{{{2|}}}--><!-- | |||
-->]]<!-- | |||
-->{{#ifeq:{{FULLPAGENAME:{{{1}}}}}|{{FULLPAGENAME:{{translatable}}}}<!--self link (including translation pages)--> | |||
|</b> | |</b> | ||
}}<span style="display:none">[[:{{{1}}}| ]]</span><!-- T63547 --><noinclude> | }}<span style="display:none">[[:{{{1}}}| ]]</span><!-- T63547 --><noinclude> | ||
Line 38: | Line 61: | ||
<translate> | <translate> | ||
<!--T:11--> | <!--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 | 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). | ||
=== Examples of simple usage === <!--T:3--> | === Examples of simple usage === <!--T:3--> | ||
Line 67: | Line 90: | ||
</translate> | </translate> | ||
# <translate><!--T:13--> | # <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:22--> | #: <translate><!--T:22--> For example, instead of <tvar name=1><code><nowiki>{{ll|Communication|About communication}}</nowiki></code></tvar>, the translation markup in the 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, | # <translate><!--T:14--> Alternatively, exclude this code from the translatable section.</translate> | ||
#: <translate><!--T:23--> | #: <translate><!--T:23--> For example, for <tvar name=1><code>some text <nowiki>{{ll|Communication|About communication}}</nowiki> some text</code></tvar>, the translation markup in the 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:15--> This is useful for bulleted lists of links, e.g. in the "See also:" sections.</translate> | ||
# <translate><!--T:16--> If link text | # <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:24--> | #: <translate><!--T:24--> For example, instead of <tvar name=1>{{Tlx|ll|Communication}}</tvar>, the wikicode in the translatable page will be <tvar name=2>{{#tag:syntaxhighlight|{{^(}}tvar name=1{{)^}}{{((}}ll{{!}}Communication{{))}}{{^(}}/tvar{{)^}}|lang=html|inline=1}}</tvar>.</translate> | ||
== Test cases == | |||
{{Localized link/testcases}} | |||
<translate> | <translate> | ||
Line 83: | Line 109: | ||
* {{tl|Translatable template name}} - <translate><!--T:19--> alias <tvar name=1>{{tl|TNTN}}</tvar> or <tvar name=2>{{tl|tntn}}</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> | * {{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]] | [[Category:Internationalization templates]] | ||
</noinclude> | </noinclude> |
Revision as of 04:16, 27 June 2024
<languages/> [[Special:MyLanguage/{{{1}}}|{{{1}}}]]Lua error: Module:TNT:172: '''Missing JsonConfig extension, or not properly configured; Cannot load https://commons.wikimedia.org/wiki/Data:I18n/Documentation.tab. See https://www.mediawiki.org/wiki/Extension:JsonConfig#Supporting_Wikimedia_templates'''.[[Category:Template documentation pages{{#translation:}}]]