Template:Localized link: Difference between revisions
m (1 revision imported) |
m (1 revision imported: Add quote block template.) |
||
(One intermediate revision by one other user not shown) | |||
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|}}} | }}<!---->[[Special:MyLanguage/{{{1}}}|{{#if:{{{2|}}} | ||
|{{{2}}} | |{{{2}}} | ||
|{{{2|{{#ifexist:Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page display title/{{PAGELANGUAGE}}<!--if the source page, PAGELANGUAGE returns en--> | |{{{2|{{#ifexist:Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page display title/{{PAGELANGUAGE}}<!--if the source page, PAGELANGUAGE returns en--> | ||
|{{#if:{{{nsp|}}} | |{{#ifexpr:{{#if:{{{nsp|}}}|1|0}} and {{NAMESPACENUMBER:{{{1}}}}}!=0 | ||
|{{#if:{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} | | |{{#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}} }} |
Latest revision as of 08:29, 13 July 2024
<languages/> [[Special:MyLanguage/{{{1}}}|{{{1}}}]]
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. |
<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>
<translate> Use</translate> | <translate> Becomes</translate> |
---|---|
{{ll|Communication}} | Communication |
{{ll|Communication|コミュニケーション}} | コミュニケーション |
{{ll|Project:About}} | Project:About |
{{ll|Project:About|nsp=0}} | About |
<translate>
Usage in translatable pages
On pages prepared for translation with the <tvar name=1>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>
<tvar>
</tvar>.</translate>- <translate> For example, instead of <tvar name=1>{{ll|Communication}}</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>
- {{Translatable template }} - <translate> alias <tvar name=1>{{TNT }}</tvar> or <tvar name=2>{{Tnt }}</tvar></translate>
- {{Translatable template name }} - <translate> alias <tvar name=1>{{TNTN }}</tvar> or <tvar name=2>{{Tntn }}</tvar></translate>
- {{Page language link }} - <translate> alias <tvar name=1>{{Pll }}</tvar></translate> - <translate> add a link from a translatable page to another translatable page in the same language</translate>