Changes
this should use a Lua module (possibly part of the Translate MW-extension also based on Lua) for full and faster processing of many possible parameter names (lang codes) and full support of fallbacks (still missing)
{{{
{{#switch: {{{ {{#if:Uselang|lang={{{lang|}}}|{{{lang}}}|{{int:Lang}}}} |}}}
| ~ = empty
| = {{#switch: {{{ {{GetFallback| {{#if:Uselang|lang={{{lang|}}}|{{{lang}}}|{{int:Lang}}}} |default=default}} |}}}
| ~ = empty
| = {{#switch: {{{ {{GetFallback2| {{#if:Uselang|lang={{{lang|}}}|{{{lang}}}|{{int:Lang}}}} |default=default}} |}}}
| ~ = empty
| = {{#if: {{{default|}}} | default | en }}
| #default = {{GetFallback2| {{#if:Uselang|lang={{{lang|}}}|{{{lang}}}|{{int:Lang}}}} |default=default}} }} | #default = {{GetFallback| {{#if:Uselang|lang={{{lang|}}}|{{{lang}}}|{{int:Lang}}}} |default=default}}
}}
| #default = {{#if:Uselang|lang={{{lang|}}}|{{{lang}}}|{{int:Lang}}}}
}}
|}}}