« Modèle:Localized link » : différence entre les versions
Marked this version for translation |
m 54 versions importées |
||
(21 versions intermédiaires par 8 utilisateurs non affichées) | |||
Ligne 4 : | Ligne 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> | ||
Ligne 38 : | Ligne 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--> | ||
Ligne 47 : | Ligne 70 : | ||
! <translate><!--T:5--> Becomes</translate> | ! <translate><!--T:5--> Becomes</translate> | ||
{{!}}- | {{!}}- | ||
{{!}} {{Tlx | {{!}} {{Tlx|ll|Communication}} | ||
{{!}} {{ll | {{!}} {{ll|Communication}} | ||
{{!}}- | {{!}}- | ||
{{!}} {{Tlx | {{!}} {{Tlx|ll|Communication|コミュニケーション}} | ||
{{!}} {{ll | {{!}} {{ll|Communication|コミュニケーション}} | ||
{{!}}- | {{!}}- | ||
{{!}} {{Tlx | {{!}} {{Tlx|ll|Project:About}} | ||
{{!}} {{ll | {{!}} {{ll|Project:About}} | ||
{{!}}- | {{!}}- | ||
{{!}} {{Tlx | {{!}} {{Tlx|ll|Project:About|nsp{{=}}0}} | ||
{{!}} {{ll | {{!}} {{ll|Project:About|nsp=0}} | ||
{{!}}{{)}} | {{!}}{{)}} | ||
Ligne 67 : | Ligne 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--> 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--> 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--> 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> | ||
Ligne 83 : | Ligne 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> |
Dernière version du 8 décembre 2024 à 19:00
<languages/> {{#ifeq:|
|
}}[[Special:MyLanguage/{{{1}}}|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:|:}}/Page display title/fr
|{{#ifexpr:{{#if:|1|0}} and !=0 |{{#ifeq:fr|en | |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |{{{1}}} }} }} }} |{{ Modèle:TNTN }} }} |{{#if: |{{#if: | |{{{1}}} }} |{{{1}}} }}
}}}}]]{{#ifeq:|
|
}}
<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> Modèle: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> Modèle:(| class="wikitable" |- ! <translate> Use</translate> ! <translate> Becomes</translate> |- | Modèle:Tlx | {{#ifeq:Communication|
|
}}[[Special:MyLanguage/Communication|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:|:}}Communication/Page display title/fr
|{{#ifexpr:{{#if:|1|0}} and 0!=0 |{{#ifeq:fr|en |Communication |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Communication }} }} }} |{{ Modèle:TNTN }} }} |{{#if: |{{#if:Communication |Communication |Communication }} |Communication }}
}}}}]]{{#ifeq:Communication|
|
}}Modèle:Tlx | {{#ifeq:Communication|
|- ||
}}{{#if:コミュニケーション |コミュニケーション |コミュニケーション}}{{#ifeq:Communication|
|
}}Modèle:Tlx | {{#ifeq:Wikarphy:About|
|- ||
}}[[Special:MyLanguage/Project:About|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Wikarphy|Wikarphy:}}About/Page display title/fr
|{{#ifexpr:{{#if:|1|0}} and 4!=0 |{{#ifeq:fr|en |About |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Project:About }} }} }} |{{ Modèle:TNTN }} }} |{{#if: |{{#if:About |About |Project:About }} |Project:About }}
}}}}]]{{#ifeq:Wikarphy:About|
|
}}Modèle:Tlx | {{#ifeq:Wikarphy:About|
|- ||
}}[[Special:MyLanguage/Project:About|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Wikarphy|Wikarphy:}}About/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 4!=0 |{{#ifeq:fr|en |About |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Project:About }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:About |About |Project:About }} |Project:About }}
}}}}]]{{#ifeq:Wikarphy:About|
|
}}Modèle:)
|<translate>
Usage in translatable pages
On pages prepared for translation with the <tvar name=1>{{#ifeq:Extension:Translate|
|
}}[[Special:MyLanguage/Extension:Translate|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:|:}}Extension:Translate/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 0!=0 |{{#ifeq:fr|en |Extension:Translate |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Extension:Translate }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:Extension:Translate |Extension:Translate |Extension:Translate }} |Extension:Translate }}
}}}}]]{{#ifeq: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>
[[:Modèle:^(]]tvar name=id[[:Modèle:)^]]...[[:Modèle:^(]]/tvar[[:Modèle:)^]]
</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>[[[[:Modèle:^(]]tvar name=1[[:Modèle:)^]]Special:MyLanguage/Communication[[:Modèle:^(]]/tvar[[:Modèle:)^]]|About communication]]
</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> [[:Modèle:^(]]translate[[:Modèle:)^]]some text[[:Modèle:^(]]/translate[[:Modèle:)^]] {{ll|Communication|2=[[:Modèle:^(]]translate[[:Modèle:)^]]About communication[[:Modèle:^(]]/translate[[:Modèle:)^]]}} [[:Modèle:^(]]translate[[:Modèle:)^]]some text[[:Modèle:^(]]/translate[[:Modèle:)^]]
- <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>Modèle:Tag</tvar>.</translate>
- <translate> For example, instead of <tvar name=1>Modèle:Tlx</tvar>, the wikicode in the translatable page will be <tvar name=2>
[[:Modèle:^(]]tvar name=1[[:Modèle:)^]]{{ll|Communication}}[[:Modèle:^(]]/tvar[[:Modèle:)^]]
</tvar>.</translate>
- <translate> For example, instead of <tvar name=1>Modèle:Tlx</tvar>, the wikicode in the translatable page will be <tvar name=2>
Test cases
Modèle: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>
- {{{{#ifeq:Modèle:Translatable template|
|
}}[[Special:MyLanguage/Template:Translatable template|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}Translatable template/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |Translatable template |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:Translatable template }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:Translatable template |Translatable template |Template:Translatable template }} |Template:Translatable template }}
}}}}]]{{#ifeq:Modèle:Translatable template|
|
}}
}} - <translate> alias <tvar name=1>{{{{#ifeq:Modèle:TNT||
}}[[Special:MyLanguage/Template:TNT|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}TNT/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |TNT |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:TNT }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:TNT |TNT |Template:TNT }} |Template:TNT }}
}}}}]]{{#ifeq:Modèle:TNT|
|
}}
}}</tvar> or <tvar name=2>{{{{#ifeq:Modèle:Tnt||
}}[[Special:MyLanguage/Template:tnt|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}Tnt/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |Tnt |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:tnt }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:Tnt |Tnt |Template:tnt }} |Template:tnt }}
}}}}]]{{#ifeq:Modèle:Tnt|
|
}}
}}</tvar></translate>- {{{{#ifeq:Modèle:Translatable template name|
|
}}[[Special:MyLanguage/Template:Translatable template name|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}Translatable template name/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |Translatable template name |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:Translatable template name }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:Translatable template name |Translatable template name |Template:Translatable template name }} |Template:Translatable template name }}
}}}}]]{{#ifeq:Modèle:Translatable template name|
|
}}
}} - <translate> alias <tvar name=1>{{{{#ifeq:Modèle:TNTN||
}}[[Special:MyLanguage/Template:TNTN|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}TNTN/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |TNTN |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:TNTN }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:TNTN |TNTN |Template:TNTN }} |Template:TNTN }}
}}}}]]{{#ifeq:Modèle:TNTN|
|
}}
}}</tvar> or <tvar name=2>{{{{#ifeq:Modèle:Tntn||
}}[[Special:MyLanguage/Template:tntn|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}Tntn/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |Tntn |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:tntn }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:Tntn |Tntn |Template:tntn }} |Template:tntn }}
}}}}]]{{#ifeq:Modèle:Tntn|
|
}}
}}</tvar></translate>- {{{{#ifeq:Modèle:Page language link|
|
}}[[Special:MyLanguage/Template:Page language link|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}Page language link/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |Page language link |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:Page language link }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:Page language link |Page language link |Template:Page language link }} |Template:Page language link }}
}}}}]]{{#ifeq:Modèle:Page language link|
|
}}
}} - <translate> alias <tvar name=1>{{{{#ifeq:Modèle:Pll||
}}[[Special:MyLanguage/Template:pll|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}Pll/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |Pll |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:pll }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:Pll |Pll |Template:pll }} |Template:pll }}
}}}}]]{{#ifeq:Modèle:Pll|
|
}}
}}</tvar></translate> - <translate> add a link from a translatable page to another translatable page in the same language</translate>{{#if:Modèle: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> Modèle: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> Modèle:(| class="wikitable" |- ! <translate> Use</translate> ! <translate> Becomes</translate> |- | Modèle:Tlx | {{#ifeq:Communication|
|
}}[[Special:MyLanguage/Communication|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:|:}}Communication/Page display title/fr
|{{#ifexpr:{{#if:|1|0}} and 0!=0 |{{#ifeq:fr|en |Communication |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Communication }} }} }} |{{ Modèle:TNTN }} }} |{{#if: |{{#if:Communication |Communication |Communication }} |Communication }}
}}}}]]{{#ifeq:Communication|
|
}}Modèle:Tlx | {{#ifeq:Communication|
|- ||
}}{{#if:コミュニケーション |コミュニケーション |コミュニケーション}}{{#ifeq:Communication|
|
}}Modèle:Tlx | {{#ifeq:Wikarphy:About|
|- ||
}}[[Special:MyLanguage/Project:About|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Wikarphy|Wikarphy:}}About/Page display title/fr
|{{#ifexpr:{{#if:|1|0}} and 4!=0 |{{#ifeq:fr|en |About |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Project:About }} }} }} |{{ Modèle:TNTN }} }} |{{#if: |{{#if:About |About |Project:About }} |Project:About }}
}}}}]]{{#ifeq:Wikarphy:About|
|
}}Modèle:Tlx | {{#ifeq:Wikarphy:About|
|- ||
}}[[Special:MyLanguage/Project:About|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Wikarphy|Wikarphy:}}About/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 4!=0 |{{#ifeq:fr|en |About |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Project:About }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:About |About |Project:About }} |Project:About }}
}}}}]]{{#ifeq:Wikarphy:About|
|
}}Modèle:)
|<translate>
Usage in translatable pages
On pages prepared for translation with the <tvar name=1>{{#ifeq:Extension:Translate|
|
}}[[Special:MyLanguage/Extension:Translate|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:|:}}Extension:Translate/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 0!=0 |{{#ifeq:fr|en |Extension:Translate |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Extension:Translate }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:Extension:Translate |Extension:Translate |Extension:Translate }} |Extension:Translate }}
}}}}]]{{#ifeq: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>
[[:Modèle:^(]]tvar name=id[[:Modèle:)^]]...[[:Modèle:^(]]/tvar[[:Modèle:)^]]
</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>[[[[:Modèle:^(]]tvar name=1[[:Modèle:)^]]Special:MyLanguage/Communication[[:Modèle:^(]]/tvar[[:Modèle:)^]]|About communication]]
</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> [[:Modèle:^(]]translate[[:Modèle:)^]]some text[[:Modèle:^(]]/translate[[:Modèle:)^]] {{ll|Communication|2=[[:Modèle:^(]]translate[[:Modèle:)^]]About communication[[:Modèle:^(]]/translate[[:Modèle:)^]]}} [[:Modèle:^(]]translate[[:Modèle:)^]]some text[[:Modèle:^(]]/translate[[:Modèle:)^]]
- <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>Modèle:Tag</tvar>.</translate>
- <translate> For example, instead of <tvar name=1>Modèle:Tlx</tvar>, the wikicode in the translatable page will be <tvar name=2>
[[:Modèle:^(]]tvar name=1[[:Modèle:)^]]{{ll|Communication}}[[:Modèle:^(]]/tvar[[:Modèle:)^]]
</tvar>.</translate>
- <translate> For example, instead of <tvar name=1>Modèle:Tlx</tvar>, the wikicode in the translatable page will be <tvar name=2>
Test cases
Modèle: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>
- {{{{#ifeq:Modèle:Translatable template|
|
}}[[Special:MyLanguage/Template:Translatable template|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}Translatable template/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |Translatable template |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:Translatable template }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:Translatable template |Translatable template |Template:Translatable template }} |Template:Translatable template }}
}}}}]]{{#ifeq:Modèle:Translatable template|
|
}}
}} - <translate> alias <tvar name=1>{{{{#ifeq:Modèle:TNT||
}}[[Special:MyLanguage/Template:TNT|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}TNT/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |TNT |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:TNT }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:TNT |TNT |Template:TNT }} |Template:TNT }}
}}}}]]{{#ifeq:Modèle:TNT|
|
}}
}}</tvar> or <tvar name=2>{{{{#ifeq:Modèle:Tnt||
}}[[Special:MyLanguage/Template:tnt|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}Tnt/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |Tnt |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:tnt }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:Tnt |Tnt |Template:tnt }} |Template:tnt }}
}}}}]]{{#ifeq:Modèle:Tnt|
|
}}
}}</tvar></translate>- {{{{#ifeq:Modèle:Translatable template name|
|
}}[[Special:MyLanguage/Template:Translatable template name|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}Translatable template name/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |Translatable template name |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:Translatable template name }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:Translatable template name |Translatable template name |Template:Translatable template name }} |Template:Translatable template name }}
}}}}]]{{#ifeq:Modèle:Translatable template name|
|
}}
}} - <translate> alias <tvar name=1>{{{{#ifeq:Modèle:TNTN||
}}[[Special:MyLanguage/Template:TNTN|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}TNTN/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |TNTN |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:TNTN }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:TNTN |TNTN |Template:TNTN }} |Template:TNTN }}
}}}}]]{{#ifeq:Modèle:TNTN|
|
}}
}}</tvar> or <tvar name=2>{{{{#ifeq:Modèle:Tntn||
}}[[Special:MyLanguage/Template:tntn|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}Tntn/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |Tntn |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:tntn }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:Tntn |Tntn |Template:tntn }} |Template:tntn }}
}}}}]]{{#ifeq:Modèle:Tntn|
|
}}
}}</tvar></translate>- {{{{#ifeq:Modèle:Page language link|
|
}}[[Special:MyLanguage/Template:Page language link|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}Page language link/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |Page language link |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:Page language link }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:Page language link |Page language link |Template:Page language link }} |Template:Page language link }}
}}}}]]{{#ifeq:Modèle:Page language link|
|
}}
}} - <translate> alias <tvar name=1>{{{{#ifeq:Modèle:Pll||
}}[[Special:MyLanguage/Template:pll|{{#if: |{{{2}}} |{{#ifexist:Translations:{{#if:Modèle|Modèle:}}Pll/Page display title/fr
|{{#ifexpr:{{#if:0|1|0}} and 10!=0 |{{#ifeq:fr|en |Pll |{{#if: |{{#ifeq:0|0 | | String Module Error: Target string is empty }} |{{#if:{{ Modèle:TNTN | nsp = 0 }} |{{ Modèle:TNTN | nsp = 0 }} |Template:pll }} }} }} |{{ Modèle:TNTN }} }} |{{#if:0 |{{#if:Pll |Pll |Template:pll }} |Template:pll }}
}}}}]]{{#ifeq:Modèle:Pll|
|
}}
}}</tvar></translate> - <translate> add a link from a translatable page to another translatable page in the same language</translate>| [[Category:Template documentation pages{{#translation:}}]] }}