|
|
Line 1: |
Line 1: |
| <noinclude>{{Documentation subpage}}</noinclude>
| | {{Infobox| |
| {{high-use|5500}}
| | |title = SPAMAYL |
| {{TNT|Shortcut|Template:TNT|Template:tnt}}
| | |image = [[File:SPAMAYL default.png|center|thumb|SPAMAYL [https://napchart.com/yqh6s (Napchart)]]] |
| {{lua|Module:Template translation}}
| | |above = Sleep Polyphasically As Much As You Like |
| | | |label1 = Total sleep |
| == Purpose ==
| | |data1 = Undefined, but usually 2.5-3 hours |
| 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 [[mw: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.
| | |label2 = Proposed by |
| | | |data2 = [[Rasmus]] |
| == How to use ==
| | |label3 = Difficulty |
| * <code><nowiki>{{</nowiki>Translatable template|''name of template''|''parameters....''<nowiki>}}</nowiki></code>
| | |data3 = Extremely difficult |
| * <code><nowiki>{{</nowiki>TNT|''name of template''|''parameters....<nowiki>}}</nowiki></code>
| | |label4 = Specification |
| * <code><nowiki>{{</nowiki>tnt|''name of template''|''parameters....<nowiki>}}</nowiki></code>
| | |data4 = Any number of 20-minute naps throughout the day |
| | | }} |
| 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
| | [[Category:Schedule Template]] |
| 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 [[Help:Extension:Translate]]):
| |
| | |
| :<code><nowiki>{{Translatable template|Extension-Translate}}</nowiki></code> or <code><nowiki>{{TNT|Extension-Translate}}</nowiki></code>
| |
| 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:
| |
| * <code><nowiki>{{</nowiki>Translatable template|template=''name of template''|noshift=1|1=''first parameter of called template''|...<nowiki>}}</nowiki></code>
| |
| | |
| One named parameter is treated specially:
| |
| * <code><nowiki>{{Translatable template|tntns=</nowiki>'':somename:''<nowiki>|</nowiki>''page name''<nowiki>|</nowiki>''parameters....''<nowiki>}}</nowiki></code>
| |
| * <code><nowiki>{{TNT|tntns=</nowiki>'':somename:''<nowiki>|</nowiki>''page name''<nowiki>|</nowiki>''parameters....<nowiki>}}</nowiki></code>
| |
| * <code><nowiki>{{tnt|tntns=</nowiki>'':somename:''<nowiki>|</nowiki>''page name''<nowiki>|</nowiki>''parameters....<nowiki>}}</nowiki></code>
| |
| 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 [[meta:Global sysops]]):
| |
| * <code><nowiki>{{TNT|Special global permissions/Seealso|Global sysops}}</nowiki></code>
| |
| 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)
| |
| * [[meta: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>
| |
| | |
| <!-- PUT HERE THE CATEGORIES OF THE TEMPLATE -->
| |
| [[Category:Navigation templates|* {{PAGENAME}}]] | |
| [[Category:Internationalization templates|{{PAGENAME}}]]
| |
| [[Category:Lua-based templates]]
| |
| </includeonly>
| |