Template:LangSwitch: Difference between revisions
Content deleted Content added
add visible error for no default case |
No edit summary |
||
Line 1: | Line 1: | ||
{{#if:{{{ {{uselang}}|}}}|{{{ {{uselang}}}}}|{{{en|}}}}}<noinclude> |
|||
<!-- Documentation of code Snippet: |
|||
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>}}}||<span style="color:red">'''LangSwitch Error: no default'''</span>[[Category:LangSwitch template without default version]]}}}}</includeonly><noinclude> |
|||
{{Documentation}} |
{{Documentation}} |
||
[[Category:formatting and function templates]] |
|||
[[Category:User interface language dependent templates|LangSwitch]]</noinclude> |
|||
</noinclude> |
Revision as of 18:44, 20 February 2013
This template has a duplicate on Meta-Wiki. Please visit its documentation on Meta-Wiki for usage details and any additional information. Please keep the content and translations synchronized as much as possible. Thank you! |