Template:Translatable template: Difference between revisions
Jump to navigation
Jump to search
no edit summary
imported>Hb1290 (Created page with "<includeonly>{{#invoke:Template translation{{{sandbox|}}}|renderTranslatedTemplate|uselang={{{uselang|}}}|tntns={{{namespace|{{{tntns|}}}}}}|template={{#if:{{{noshift|}}}|{{{t...") |
imported>Hb1290 No edit summary |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<includeonly>{{#invoke:Template translation{{{sandbox|}}}|renderTranslatedTemplate|uselang={{{uselang|}}}|tntns={{{namespace|{{{tntns|}}}}}}|template={{#if:{{{noshift|}}}|{{{template}}}|{{{1}}}}}|noshift={{{noshift|}}}<!-- all other numbered or named parameters are found by the module using the parent frame -->}}</includeonly><noinclude> | <includeonly>{{#invoke:Template translation{{{sandbox|}}}|renderTranslatedTemplate|uselang={{{uselang|}}}|tntns={{{namespace|{{{tntns|}}}}}}|template={{#if:{{{noshift|}}}|{{{template}}}|{{{1}}}}}|noshift={{{noshift|}}}<!-- all other numbered or named parameters are found by the module using the parent frame -->}}</includeonly><noinclude> | ||
{{Shortcut|Template:TNT}} | |||
''The following is from [[mw:Template:Translatable template/doc]] | |||
== Purpose == | |||
This template is used to show translatable templates in the language of the current page. Templates, like all other MediaWiki pages, can be translated using the [[Special:MyLanguage/Extension:Translate|Translate extension]], which creates subpages with the form "''pagename/language code''". The template first checks if the name of the page contains a language code. If it does, it then checks if the template name given as a first parameter has a translation in that language. If the page name does not contain a language code, or if the navigation template doesn't exist in that language, it will display the English template. | |||
== How to use == | |||
* {{tlx|Translatable template|''name of template''|''parameters....''}} | |||
* {{tlx|TNT|''name of template''|''parameters....''}} | |||
* {{tlx|tnt|''name of template''|''parameters....''}} | |||
The above simplified syntax cannot work if the named template also needs to be transcluded in other translatable templates, because it would cause self-recursion of {{tl|Translatable template}}. An alternative is to use {{tl|Translatable template name}} which does not expand the template with its parameters, but only returns the resolved template name, which can then be | |||
transcluded normally: | |||
* <code><nowiki>{{ {{</nowiki>Translatable template name|''name of template''<nowiki>}}</nowiki> |''parameters....''<nowiki>}}</nowiki></code> | |||
* <code><nowiki>{{ {{</nowiki>TNTN|''name of template''<nowiki>}}</nowiki> |''parameters....''<nowiki>}}</nowiki></code> | |||
* <code><nowiki>{{ {{</nowiki>tntn|''name of template''<nowiki>}}</nowiki> |''parameters....''<nowiki>}}</nowiki></code> | |||
Example (from {{ll|Help:Extension:Translate}}): | |||
:{{tlx|Translatable template|Extension-Translate}} or {{tlx|TNT|Extension-Translate}} | |||
which includes translated versions of {{tl|Extension-Translate}} if it exists, or the English version if translations don't exist. | |||
== Parameters == | |||
The current version of the template may now include any kind of named or numbered parameters, whose values will be transferred into the called template (with the exception of parameter 1 containing the basename of the translatable template to transclude). Numbered parameters will be shifted down by one position, all named parameters will be passed unchanged. | |||
When that's problematic, you can use the special <code>template</code> and <code>noshift</code> parameters: | |||
* {{tlx|Translatable template|template{{=}}''name of template''|noshift{{=}}1|1{{=}}''first parameter of called template''|...}} | |||
One named parameter is treated specially: | |||
* {{tlx|Translatable template|template{{=}}''name of template''|noshift{{=}}1|1{{=}}''first parameter of called template''|...}} | |||
* {{tlx|TNT|template{{=}}''name of template''|noshift{{=}}1|1{{=}}''first parameter of called template''|...}} | |||
* {{tlx|tnt|template{{=}}''name of template''|noshift{{=}}1|1{{=}}''first parameter of called template''|...}} | |||
This <code>tntns</code> will be used to specify another namespace from which the translatable pagename will be transcluded, instead of referencing the page name from the default <code>:Template:</code> namespace. Note that this parameter is also passed (without modification) within the parameters of the transclusion. | |||
Example with one parameters (from [[m:Special:MyLanguage/Global sysops]]): | |||
* {{tlx|TNT|Special global permissions/Seealso|Global sysops}} | |||
where the second parameter "Global sysops" is the value of the first numbered parameter transferred into called page "Special global permissions/Seealso". | |||
== Dependency == | |||
* [[Module:Template translation]] (standard version) | |||
* [[m:Module:Template translation/sandbox]] (used when this template is called with optional dummy parameter <code>sandbox=/sandbox</code>, for testing only | |||
For other wikis: [{{canonicalurl:Template:Translatable_template|oldid=868147}} this revision] does not require LUA and is simple. | |||
== See also == | |||
* {{tl|Translatable template name}}, alias {{tl|TNTN}} or {{tl|tntn}} | |||
* {{tl|Localized link}}, alias {{tl|ll}} | |||
<includeonly> | |||
<templatedata> | |||
{ | |||
"params": { | |||
"1": { | |||
"label": { | |||
"be-tarask": "Назва шаблёну", | |||
"en": "Template name", | |||
"fr": "Nom du modèle" | |||
}, | |||
"description": { | |||
"be-tarask": "Назва шаблёну да перакладу", | |||
"en": "Name of the template to be translated.", | |||
"fr": "Nom du modèle à traduire." | |||
}, | |||
"type": "wiki-template-name", | |||
"required": true | |||
}, | |||
"sandbox": {}, | |||
"uselang": { | |||
"label": { | |||
"be-tarask": "Мова", | |||
"en": "Language", | |||
"fr": "Langue" | |||
}, | |||
"description": { | |||
"be-tarask": "Мова, на якую перакладацьмецца шаблён", | |||
"en": "Language in which the template will be translated.", | |||
"fr": "Langue dans laquelle le modèle sera traduit." | |||
}, | |||
"type": "string", | |||
"default": { | |||
"be-tarask": "Мова цяперашняй старонкі", | |||
"en": "language of the current page", | |||
"fr": "langue de la page actuelle" | |||
} | |||
}, | |||
"tntns": { | |||
"description": { | |||
"be-tarask": "Замест спасылкі на старонку з дапомнай прасторы назваў :Шаблён: пазначце іншую прастору назваў, зь якой будзе ўключацца перакладаная назва старонкі.", | |||
"en": "Specify another namespace from which the translatable pagename will be transcluded, instead of referencing the page name from the default :Template: namespace." | |||
} | |||
}, | |||
"noshift": { | |||
"description": { | |||
"be-tarask": "Адключыць дапомныя паводзіны рухомых нумараваных парамэтраў на адну пазыцыю ўніз. Калі гэта ўключана, трэба таксама дадаваць «шаблён».", | |||
"en": "Disable default behavior of shifting numbered parameters down by one position. 'template' must also be used if this is enabled." | |||
}, | |||
"type": "boolean" | |||
}, | |||
"template": { | |||
"description": { | |||
"be-tarask": "Назва шаблёну для пошуку перакладзенай вэрсіі. Калі ўключаны «noshift=1», замест $1 для пошуку шаблёну на абранай мове карыстальніка будзе выкарыстаны гэты парамэтар.", | |||
"en": "Name of template to find translated version of. When 'noshift=1' is also present, this parameter will be used instead of $1 to lookup the template in the user's selected language." | |||
}, | |||
"type": "wiki-page-name" | |||
} | |||
}, | |||
"description": { | |||
"be-tarask": "Перакладае шаблён", | |||
"en": "Translates a template.", | |||
"fr": "Traduit un modèle." | |||
}, | |||
"paramOrder": [ | |||
"1", | |||
"uselang", | |||
"tntns", | |||
"template", | |||
"noshift", | |||
"sandbox" | |||
] | |||
} | |||
</templatedata> |