Template:Localized link/en: Difference between revisions

From WWII Archives

m (1 revision imported)
(Updating to match new version of source page)
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/{{PAGELANGUAGE}}<!--if the source page, PAGELANGUAGE returns en-->
}}[[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|}}}
   |{{#if:{{{nsp|}}}
     |{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }}
     |{{#if:{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} | nsp = 0 }} }}
      |{{PAGENAME:{{ {{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 }}
    }}
     |{{ {{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 31: Line 43:
{{Localized link/doc}}
{{Localized link/doc}}


If "<code>nsp</code>" parameter is not defined, as link text displays the full pagename (including namespace); otherwise — if "<code>nsp</code>" parameter is defined by any value link text displays the short pagename, without namespace.
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).


=== Examples of simple usage ===
=== Examples of simple usage ===
Line 56: Line 68:
On pages prepared for translation with the {{ll|Extension:Translate|nsp=0}} extension, this template may be used in three ways.
On pages prepared for translation with the {{ll|Extension:Translate|nsp=0}} extension, this template may be used in three ways.


# Should better be substitute this template, and then the wikilink target embedded in a {{#tag:syntaxhighlight|{{^(}}tvar name=id{{)^}}...{{^(}}/tvar{{)^}}|lang=html|inline=1}}, separately from the translatable displayed text of the link.
# 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.
#: As example, instead <code><nowiki>{{ll|Communication|About communication}}</nowiki></code>, translation markup in translatable page will be {{#tag:syntaxhighlight|[[{{^(}}tvar name=1{{)^}}Special:MyLanguage/Communication{{^(}}/tvar{{)^}}|About communication]]|lang=html|inline=1}}.
#: 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{{)^}}Special:MyLanguage/Communication{{^(}}/tvar{{)^}}|About communication]]|lang=html|inline=1}}.
# Alternatively, may be exclude this code from translatable section.
# Alternatively, exclude this code from the translatable section.
#: As example, for <code>some text <nowiki>{{ll|Communication|About communication}}</nowiki> some text</code>, translation markup in translatable page will be:
#: 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}}
#: {{#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.
#: This is useful for bulleted lists of links, e.g. in the "See also:" sections.
# If link text does not have to be different from the name of landing page, will be better to embed all this code into {{tag|tvar|open}}.
# 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}}.
#: As example, instead {{Tlx|ll|Communication}}, translation markup in translatable page will be {{#tag:syntaxhighlight|{{^(}}tvar name=1{{)^}}{{((}}ll{{!}}Communication{{))}}{{^(}}/tvar{{)^}}|lang=html|inline=1}}.
#: 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 ==
{{Localized link/testcases}}


== See also ==
== See also ==

Revision as of 00:29, 25 May 2024

<languages/> [[Special:MyLanguage/{{{1}}}|{{{1}}}]][[:{{{1}}}| ]]

File:Test Template Info-Icon.svg Template documentationpurge ]

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

Template:Localized link/doc

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

Template:(| class="wikitable" |- ! Use ! Becomes |- | {{ll|Communication}} | Communication |- | {{ll|Communication|コミュニケーション}} | コミュニケーション |- | {{ll|Project:About}} | Project:About |- | {{ll|Project:About|nsp=0}} | About |Template:)

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:)^Special:MyLanguage/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.
  3. 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

See also