|
|
(One intermediate revision by the same user not shown) |
Line 1: |
Line 1: |
− | <!-- Documentation of code Snippet:
| + | <includeonly>{{#invoke: fallback|langSwitch}}</includeonly><noinclude> |
− | 1) "{{#if:{{{lang|}}}|{{{lang}}}|{{int:Lang}}}}" - is the chosen language, either set by parameter "lang=xx"
| |
− | or by language of the user "{{int:Lang}}"
| |
− | 2) "{{{ {{#if:{{{lang|}}}|{{{lang}}}|{{int:Lang}}}} |}}}" - is the input parameter matching the language for example {{{xx|}}}
| |
− | 3) Without the fallback templates the LangSwitch template would be
| |
− | {{{
| |
− | {{#switch: {{{ {{#if:{{{lang|}}}|{{{lang}}}|{{int:Lang}}}} |}}} // switch based on input parameter matching the language ie. xx
| |
− | | ~ = empty // if |xx=~| than the template will return {{{empty}}} which is empty
| |
− | | = {{#if: {{{default|}}} | default | en }} // if xx is undefined or empty |xx=| than return {{{default}}} or {{{en}}}
| |
− | | #default = {{#if:{{{lang|}}}|{{{lang}}}|{{int:Lang}}}} // for all other cases return {{{xx|}}}
| |
− | }}
| |
− | |}}}
| |
− | | |
− | The actual template is bit more complicated calling templates {{GetFallback}} and {{GetFallback2}} to allow language fallback. For example if desired encoding is "sr-ec" (Serbian using Cyrillic alphabet) than the fall back would be "sr" (Serbian))
| |
− | -->{{{
| |
− | {{#switch: {{{ {{#if:{{{lang|}}}|{{{lang}}}|{{int:Lang}}}} |}}}
| |
− | | ~ = empty
| |
− | | = {{#switch: {{{ {{GetFallback| {{#if:{{{lang|}}}|{{{lang}}}|{{int:Lang}}}} |default=default}} |}}}
| |
− | | ~ = empty
| |
− | | = {{#switch: {{{ {{GetFallback2| {{#if:{{{lang|}}}|{{{lang}}}|{{int:Lang}}}} |default=default}} |}}}
| |
− | | ~ = empty
| |
− | | = {{#if: {{{default|}}} | default | en }}
| |
− | | #default = {{GetFallback2| {{#if:{{{lang|}}}|{{{lang}}}|{{int:Lang}}}} |default=default}}
| |
− | }}
| |
− | | #default = {{GetFallback| {{#if:{{{lang|}}}|{{{lang}}}|{{int:Lang}}}} |default=default}}
| |
− | }}
| |
− | | #default = {{#if:{{{lang|}}}|{{{lang}}}|{{int:Lang}}}}
| |
− | }}
| |
− | |}}}<includeonly>{{#ifeq:{{NAMESPACE}}|File||{{#if:{{{en|}}}{{{default|}}}{{{nocat|<noinclude>1</noinclude>}}}||[[Category:LangSwitch template without English version]]}}}}</includeonly><noinclude>
| |
| | | |
| + | {{heavily used template}} |
| {{Documentation}} | | {{Documentation}} |
| | | |
| </noinclude> | | </noinclude> |