Template:Siwa-n/ina: Difference between revisions

From Linguifex
Jump to navigation Jump to search
(Created page with "{{#if:{{{irr|{{{4|}}}}}}|{{{irr|{{{4|}}}}}}<!-- == If the irr(egular) parameter is used (i.e. it's filled), its value supersedes the whole algorithm below == -->|{{#swi...")
 
No edit summary
 
Line 1: Line 1:
{{#vardefine: {{#if: {{{waff|{{{5|}}}}}}<!--
-->|{{{waff|{{{5|}}}}}}<!--
-->|{{PAGENAME}}<!--
-->}}}}
<!-- Tells apart vowel- from consonant-final words -->
{{#vardefine: finalLetter<!--
-->|{{#switch: {{str rightmost|{{PAGENAME}}|1}}<!--
  -->|a|e|i|o|u|y|ů=vf<!--
  -->|cf<!--
-->}}}}
<!-- Extracts declensional information from final and stressed letters -->
{{#vardefine: declension<!--
-->|{{#switch: {{#var: finalLetter}}<!--
  -->|vf={{#switch: {{#regex: {{{s|{{{2|}}}}}}|/(a{{!}}ả{{!}}au{{!}}ai{{!}}oa{{!}}e{{!}}ẻ{{!}}ę{{!}}ei{{!}}ay{{!}}i{{!}}ỉ{{!}}ie{{!}}ia{{!}}o{{!}}ỏ{{!}}ou{{!}}oi{{!}}u{{!}}ủ{{!}}uo{{!}}ui{{!}}y{{!}}ỷ{{!}}ů{{!}}ẻu{{!}}eu{{!}}ůi{{!}}ůa)/u}}<!--
      -->|a|ả|au|ai|oa=A<!--
      -->|e|ẻ|ę|ei|ay=E<!--
      -->|i|ỉ|ie|ia=I<!--
      -->|o|ỏ|ou|oi=O<!--
      -->|u|ủ|uo|ui=U<!--
      -->|y|ỷ|ů|ẻu|eu|ůi|ůa=Y<!--
      -->|}}<!--
  -->|cf={{#switch: {{str rightmost|{{PAGENAME}}|1}}<!--
      -->|s=S<!--
      -->|n=N<!--
      -->|t=T<!--
      -->|ả|ẻ|ỉ|ỏ|ủ|ỷ=L<!--
      -->|{{#switch: {{str rightmost|{{PAGENAME}}|2}}<!--
        -->|ẻu|au|eu|iu|iů|ou|ul|yl|ůl|al|el|il|ir|ol=L<!--
        -->|{{#switch: {{strl rightmost|{{PAGENAME}}|3}}<!--
            -->|ẻul=L<!--
            -->|}}<!--
        -->}}<!--
      -->}}<!--
-->|}}}}
{{#vardefine: wsl<!--
-->|{{#if: {{{manual|{{{3|}}}}}}|{{{manual|{{{3|}}}}}}<!--
  -->|{{#switch: {{#regex: {{{s|{{{2|}}}}}}|/(ả{{!}}ẻ{{!}}ỉ{{!}}ỏ{{!}}ủ{{!}}ỷ{{!}}ẻu{{!}}õu{{!}}ai{{!}}au{{!}}ay{{!}}ei{{!}}eu{{!}}ey{{!}}ia{{!}}ie{{!}}io{{!}}iu{{!}}iů{{!}}oa{{!}}oi{{!}}ou{{!}}ua{{!}}ui{{!}}uo{{!}}ůa{{!}}ůi)/u}}<!--
      -->|ả|ẻ|ỉ|ỏ|ủ|ỷ|ẻu|õu|ai|au|ay|ei|eu|ey|ia|ie|io|iu|iů|oa|oi|ou|ua|ui|uo|ůa|ůi=w<!--
      -->|s}}<!--
-->}}}}
{{#vardefine: lenitionPattern|/(bb{{!}}dd{{!}}gg{{!}}ġġ{{!}}gį{{!}}mm{{!}}ll{{!}}nn{{!}}rr{{!}}bġ{{!}}pr{{!}}dġ{{!}}tr{{!}}ḍb{{!}}ḍḍ{{!}}ḍg{{!}}bm{{!}}dn{{!}}kn{{!}}dl{{!}}lpp{{!}}ltt{{!}}lkk{{!}}rpp{{!}}rtt{{!}}rkk{{!}}mkk{{!}}skk{{!}}kl{{!}}kv{{!}}ks{{!}}ps{{!}}v{{!}}ų{{!}}b{{!}}h{{!}}ḥ{{!}}g{{!}}da{{!}}do{{!}}du{{!}}de{{!}}di{{!}}dů{{!}}dy{{!}}ġa{{!}}ġo{{!}}ġu{{!}}ġe{{!}}ġů{{!}}ġy{{!}}ri{{!}}ġi{{!}}nįi{{!}}hhį{{!}}oų{{!}}uų)/u}}
{{#vardefine: lenitedStem<!--
-->|{{#invoke: string|replace|source={{{s|{{{2|}}}}}}|count=1<!--
    -->|pattern={{#regex: {{{s|{{{2|}}}}}}|{{#var: lenitionPattern}}}}<!--
    -->|replace={{#switch: {{#regex: {{{s|{{{2|}}}}}}|{{#var:lenitionPattern}}}}<!--
      -->|bb=b<!--
      -->|dd=d<!--
      -->|gg=g<!--
      -->|ġġ=ġ<!--
      -->|gį=į<!--
      -->|mm|bm=m<!--
      -->|ll|dl|da|do|du=l<!--
      -->|nn|dn=n<!--
      -->|rr=r<!--
      -->|bġ|pr|ḍb=p<!--
      -->|dġ|tr=t<!--
      -->|ḍḍ=hh<!--
      -->|ḍg=k<!--
      -->|kn=ng<!--
      -->|lpp=lp<!--
      -->|ltt=lt<!--
      -->|rpp=rp<!--
      -->|rtt=rt<!--
      -->|rkk=rk<!--
      -->|mkk=mk<!--
      -->|skk=sk<!--
      -->|kl=gl<!--
      -->|kv=gv<!--
      -->|ks=gs<!--
      -->|ps=bs<!--
      -->|v|b|ų|h|ḥ|de|di|dů|dy|ġe|ġů|ġy=<!--
      -->|ġa=v|<!--
      -->|ġo|ġu=vv<!--
      -->|ri|ġi=ṡi<!--
      -->|nįi=gįi<!--
      -->|hhį=ṡ<!--
      -->|oų|uų=ů<!--
      -->|}}<!--
-->}}}}
{{#if:{{{irr|{{{4|}}}}}}|{{{irr|{{{4|}}}}}}<!--
{{#if:{{{irr|{{{4|}}}}}}|{{{irr|{{{4|}}}}}}<!--
   == If the irr(egular) parameter is used (i.e. it's filled), its value supersedes the whole algorithm below ==
   == If the irr(egular) parameter is used (i.e. it's filled), its value supersedes the whole algorithm below ==

Latest revision as of 22:12, 10 December 2020