Template:Localized link: Difference between revisions

From Wings of Fire: The New World Wiki
Template>Pppery
Undo revision 6537619 by Ciencia Al Poder (talk) per talk
 
Rusty (talk | contribs)
rm cats
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<noinclude>
<!--
<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|}}}
}}<!---->[[/{{{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}} | nsp = 0 }} }}
     |{{#ifeq:{{PAGELANGUAGE}}|en
      |{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} | nsp = 0 }} }}
      |{{PAGENAME:{{{1}}}}}
      |{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} | nsp = 0 }}
      |<!-- 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}} }}
Line 32: Line 41:


{{tsh|ll|LL}}
{{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>
== Purpose == 
<!--T:10-->
This helper template can be used to link to [[Special:LanguageStats|translatable pages]] in the user's language. It uses the special page prefix <code>/</code>, 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.
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-->
== Usage ==  
</translate>
If the "<code>nsp</code>" parameter is not defined, as link text this displays the full pagename (including the namespace); otherwise — if the "<code>nsp</code>" parameter is defined to any value the link text displays the short pagename (without the namespace).
{{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).


=== Examples of simple usage === <!--T:3-->
=== Examples of simple usage ===  
</translate>
{{(}}{{!}} class="wikitable"
{{(}}{{!}} class="wikitable"
{{!}}-
{{!}}-
! <translate><!--T:4--> Use</translate>
! Use! Becomes{{!}}-
! <translate><!--T:5--> Becomes</translate>
{{!}}-
{{!}} {{Tlx|ll|Communication}}
{{!}} {{Tlx|ll|Communication}}
{{!}} {{ll|Communication}}
{{!}} {{ll|Communication}}
Line 72: Line 66:
{{!}}{{)}}
{{!}}{{)}}


<translate>
== Usage in translatable pages ==  
== Usage in translatable pages == <!--T:6-->
On pages prepared for translation with the {{ll|Extension:Translate|nsp=0}} extension, this template may be used in three ways.
 
<!--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: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, exclude this code from the translatable section.</translate>
#: <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: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--> 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>


# Substitute this template, then embed the wikilink target in a {{#tag:syntaxhighlight|{{^(}}tvar name=id{{)^}}...{{^(}}/tvar{{)^}}|lang=html|inline=1}}, separate from the translatable text of the link.#:  For example, instead of <code><nowiki>{{ll|Communication|About communication}}</nowiki></code>, the translation markup in the translatable page will be {{#tag:syntaxhighlight|[[{{^(}}tvar name=1{{)^}}/Communication{{^(}}/tvar{{)^}}|About communication]]|lang=html|inline=1}}.
# Alternatively, exclude this code from the translatable section.
#:For example, for <code>some text <nowiki>{{ll|Communication|About communication}}</nowiki> some text</code>, the translation markup in the translatable page will be:#: {{#tag:syntaxhighlight|{{^(}}translate{{)^}}some text{{^(}}/translate{{)^}} {{((}}ll{{!}}Communication{{!}}2={{^(}}translate{{)^}}About communication{{^(}}/translate{{)^}}{{))}} {{^(}}translate{{)^}}some text{{^(}}/translate{{)^}}|lang=html|inline=1}}
#:This is useful for bulleted lists of links, e.g. in the "See also:" sections.#  If link text is the same as the name of the target page, all of the code could also be embedded into {{tag|tvar|open}}.#:  For example, instead of {{Tlx|ll|Communication}}, the wikicode in the translatable page will be {{#tag:syntaxhighlight|{{^(}}tvar name=1{{)^}}{{((}}ll{{!}}Communication{{))}}{{^(}}/tvar{{)^}}|lang=html|inline=1}}.
== Test cases ==
== Test cases ==
{{Localized link/testcases}}
{{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]]
</noinclude>
</noinclude>

Latest revision as of 01:43, 27 November 2024

[[/{{{1}}}|{{{1}}}]][[:{{{1}}}| ]] {{documentation|content=

Template:Tsh

Purpose

This helper template can be used to link to translatable pages in the user's language. It uses the special page prefix /, 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).

Examples of simple usage

- {{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.

  1. 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, instead of {{ll|Communication|About communication}}, the translation markup in the translatable page will be <syntaxhighlight lang="html" inline="1">[[Template:^(tvar name=1Template:)^/CommunicationTemplate:^(/tvarTemplate:)^|About communication]]</syntaxhighlight>.
  2. Alternatively, exclude this code from the translatable section.
    For example, for some text {{ll|Communication|About communication}} some text, the translation markup in the translatable page will be:#: <syntaxhighlight lang="html" inline="1">Template:^(translateTemplate:)^some textTemplate:^(/translateTemplate:)^ {{ll|Communication|2=Template:^(translateTemplate:)^About communicationTemplate:^(/translateTemplate:)^}} Template:^(translateTemplate:)^some textTemplate:^(/translateTemplate:)^</syntaxhighlight>
    This is useful for bulleted lists of links, e.g. in the "See also:" sections.# If link text is the same as the name of the target page, all of the code could also be embedded into <tvar>.#: For example, instead of {{ll|Communication}}, the wikicode in the translatable page will be <syntaxhighlight lang="html" inline="1">Template:^(tvar name=1Template:)^{{ll|Communication}}Template:^(/tvarTemplate:)^</syntaxhighlight>.

Test cases

Template:Localized link/testcases