Template:Siwa-noun: Difference between revisions

From Linguifex
Jump to navigation Jump to search
No edit summary
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
<!-- Tells apart vowel- from consonant-final words -->
{{#invoke: siwa-noun|show}}<noinclude>{{documentation}}[[Category:Contionary templates]][[Category:Siwa noun inflection-table templates|&nbsp;]][[Category:Siwa inflection-table templates|n]][[Category:Siwa templates|n]][[Category:Templates]]</noinclude>
{{#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: {{str 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={{#explode: {{#regexall: {{{s|{{{2|}}}}}}|{{#var: lenitionPattern}}|/}}|/|-1}}<!--
    -->|replace={{#switch: {{#explode: {{#regexall: {{{s|{{{2|}}}}}}|{{#var: lenitionPattern}}|/}}|/|-1}}<!--
      -->|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ų=ů<!--
      -->|}}<!--
-->}}}}
 
{{#vardefine: output|{{str left|{{PAGENAME}}|{{#expr:{{#invoke: string|find|source={{PAGENAME}}|target={{{s|{{{2|}}}}}}}}-1}}}}{{#var: lenitedStem}}{{#invoke: string|sub|s={{PAGENAME}}|i={{#expr:{{#invoke: string|find|source={{PAGENAME}}|target={{{s|{{{2|}}}}}}}}+{{#invoke: string|len|{{{s|{{{2|}}}}}}}}}}}}}}
 
{{#var: output}}
 
<div class="" style="border-collapse: collapse; margin: 0px 0px -1px 0px; padding: 2px; border: 1px solid #aaaaaa; text-align: center; font-size: 95%; overflow: auto; width: 70%;">
<div style="min-height: 1.6em; font-weight:bold; font-size: 100%; text-align: left; background-color:#efefef; padding-left: 10px; background-image: -webkit-gradient(linear, left top, left bottom, from(#EFEFEF), to(#DFDFDF), color-stop(0.6, #E3E3E3)); background-image: -moz-linear-gradient(top, #EFEFEF, #E3E3E3 60%, #DFDFDF);  background-image: -o-linear-gradient(top, #EFEFEF, #E3E3E3 60%, #DFDFDF);">{{PAGENAME}} — {{#switch: {{{a|{{{1|}}}}}}|i=inanimate|a=animate|b=ambiguous|}} noun, {{#var: declension}}-declension
</div>
<div class="mw-collapsible-content" style="font-size: 100%;">
{| border="1px solid #000000" style="border-collapse:collapse; background:#fafafa; text-align:center; width:100%"
|-
! rowspan=2 | Unmarked<br>''agentive/dative'' !! rowspan=2 | Marked<br>''patientive/genitive'' !! colspan="6" | Locative
|-
! Inessive !! Illative !! Elative !! Adessive !! Allative !! Ablative
|-
| {{term|{{PAGENAME}}}}
| {{term|<!--
-->{{#if:{{{irr|{{{4|}}}}}}|{{{irr|{{{4|}}}}}}<!--
  == If the irr(egular) parameter is used (i.e. it's filled), its value supersedes the whole algorithm below ==
    -->|{{#switch: {{{a|{{{1|}}}}}}<!--
        -->|i={{#switch: {{#var: declension}}<!--
                -->|A={{#switch:{{#invoke: string|sub|{{PAGENAME}}|-3|-2}}<!--
                    -->|mm={{str crop|{{PAGENAME}}|3}}{{#switch:{{#var: wsl}}<!--
                      -->|s=mġa<!--
                      -->|}}<!--
                    -->|nn={{str crop|{{PAGENAME}}|3}}{{#switch:{{#var: wsl}}<!--
                      -->|s=nka<!--
                      -->|}}<!--
                    -->|vv={{str crop|{{PAGENAME}}|3}}gga<!--
                    -->|lk={{str crop|{{PAGENAME}}|3}}lkka<!--
                    -->|rk={{str crop|{{PAGENAME}}|3}}rkka<!--
                    -->|sk={{str crop|{{PAGENAME}}|3}}skka<!--
                    -->|{{#switch:{{#invoke: string|pos|{{PAGENAME}}|-2}}<!--
                      -->|m={{str crop|{{PAGENAME}}|2}}{{#switch:{{#var: wsl}}<!--
                          -->|s=mġa<!--
                          -->|l=mka<!--
                          -->|w=kka<!--
                          -->|}}<!--
                      -->|n={{str crop|{{PAGENAME}}|2}}{{#switch:{{#var: wsl}}<!--
                          -->|s=nka<!--
                          -->|w=kka<!--
                          -->|}}<!--
                      -->|p|b={{str crop|{{PAGENAME}}|2}}{{#switch:{{#var: wsl}}<!--
                          -->|s=pra<!--
                          -->|w=ḍba<!--
                          -->|}}<!--
                      -->|d={{str crop|{{PAGENAME}}|2}}tra<!--
                      -->|t={{str crop|{{PAGENAME}}|2}}{{#switch:{{#var: wsl}}<!--
                          -->|s=tra<!--
                          -->|w=tka<!--
                          -->|}}<!--
                      -->|r={{str crop|{{PAGENAME}}|2}}{{#switch:{{#var: wsl}}<!--
                          -->|w=hka<!--
                          -->|}}<!--
                      -->|{{#var: output}}ka}}<!--
                    -->}}<!--       
                -->|E={{#switch:{{str rightmost|{{PAGENAME}}|1}}<!--
                    -->|a|e={{#switch:{{#invoke: string|sub|{{PAGENAME}}|-3|-2}}<!--
                          -->|ts={{str crop|{{PAGENAME}}|3}}tsġi<!--
                          -->|{{#switch:{{#invoke: string|pos|{{PAGENAME}}|-2}}<!--
                            -->|n={{str crop|{{PAGENAME}}|2}}di<!--
                            -->|b={{str crop|{{PAGENAME}}|2}}pri<!--
                            -->|k={{str crop|{{PAGENAME}}|2}}ġi<!--
                            -->|m={{str crop|{{PAGENAME}}|2}}mmi<!--
                            -->|v={{str crop|{{PAGENAME}}|2}}rri<!--
                            -->|s={{str crop|{{PAGENAME}}|2}}sġi<!--
                            -->|l={{str crop|{{PAGENAME}}|2}}lli<!--
                            -->|ri}}<!--
                          -->}}<!--
                    -->|i={{#switch:{{#invoke: string|pos|{{PAGENAME}}|-2}}<!--
                      -->|m={{str crop|{{PAGENAME}}|2}}mme<!--
                      -->|p|b={{str crop|{{PAGENAME}}|2}}bbe<!--
                      -->|v={{str crop|{{PAGENAME}}|2}}vve<!--
                      -->|n={{str crop|{{PAGENAME}}|2}}nne<!--
                      -->|r={{str crop|{{PAGENAME}}|2}}rre<!--
                      -->|l={{str crop|{{PAGENAME}}|2}}lle<!--
                      -->|k|g={{str crop|{{PAGENAME}}|2}}gge<!--
                      -->|e}}<!--
                    -->|o={{str crop|{{PAGENAME}}|1}}e<!--
                    -->|u|y|ů={{#switch:{{#invoke: string|pos|{{PAGENAME}}|-2}}<!--
                      -->|m|n={{str crop|{{PAGENAME}}|2}}{{#ifeq:{{#invoke: string|sub|{{PAGENAME}}|-3|-2}}|mm||m}}me<!--
                      -->|k={{#switch:{{#var: wsl}}<!--
                          -->|s={{str crop|{{PAGENAME}}|2}}gme<!--
                          -->|w={{str crop|{{PAGENAME}}|2}}hme<!--
                          -->|}}<!--
                      -->|}}<!--
                    -->|}}<!--
                -->|I={{#switch:{{str rightmost|{{PAGENAME}}|1}}<!--
                    -->|i={{PAGENAME}}d<!--
                    -->|{{#switch:{{#invoke: string|sub|{{PAGENAME}}|-3|-2}}<!--
                      -->|um|om|un|on={{str crop|{{PAGENAME}}|3}}õdi<!--
                      -->|{{#switch:{{#invoke: string|pos|{{PAGENAME}}|-2}}<!--
                          -->|m|n={{str crop|{{PAGENAME}}|2}}ndi<!--
                          -->|di}}<!--
                      -->}}<!--
                    -->}}<!--
                -->|O=<!--
                -->|U=<!--
                -->|Y=<!--
                -->|S=<!--
                -->|N=<!--
                -->|T=<!--
                -->|L=<!--
                -->|}}<!--
        -->|a=<!--
        -->|b=<!--
        -->|}}<!--
  -->}}}}
|
|
|
|
|
|
|-
|}</div></div>
{{#var: lenitedStem}}

Latest revision as of 19:47, 1 August 2021

sivi — inanimate noun, i-declension
Unmarked
agentive/dative
Marked
patientive/genitive
Locative
inessive illative elative adessive allative ablative
Siwa-noun sỉd sivva, sỉdia sỉhta sỉhka sỉhma siddįibma, sỉbma siddįiska, sỉska