Template:Localized link: Difference between revisions

From Wings of Fire: The New World Wiki
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}} | 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}} }}

Latest revision as of 08:29, 13 July 2024

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

Template documentation

Template:Tsh

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

  1. <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>
  2. <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>
  3. <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>