dooooooduo

Anki - back template for Latin words

Feb 17th, 2016
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 3.03 KB | None | 0 0
  1. {{FrontSide}}
  2. <div id="latin-syllable"></div>
  3. <div id="latin-word" style="display:none">{{Latin}}</div>
  4. {{Gender}}, {{Declension}}
  5. <br>
  6. {{Notes}}
  7. <br>
  8. Tags: {{Tags}}
  9. <br>
  10. {{Sound}}
  11.  
  12. <script>function stressify(t){var n=t.length,i=["ā","ē","ī","ō","ū"],s=!1;if(n>1){t.reverse();for(var e in i)if(-1!==t[1].text.indexOf(i[e])){s=!0;break}latin.isVowel(t[1].text.substr(-1))||latin.isVowel(t[0][0])||(s=!0),!s&&n>2?t[2].text="<b>"+t[2].text+"</b>":s&&(t[1].text="<b>"+t[1].text+"</b>"),t.reverse()}return t}function syllabify(){var t=stressify(latin.syllabifyWord(document.getElementById("latin-word").innerHTML).syllables),n="-",i=t.join(n);document.getElementById("latin-syllable").innerHTML="/"+i+"/"}var Syllable=function(t,n){this.text=t,this.word=n,this.toString=function(){return this.text},this.isLastInWord=function(){return this.word.syllables[this.word.length-1]==this}},Word=function(t){this.syllables=t,this.toString=function(){for(var t="",n=0,i=this.syllables.length;i>n;n++)t+=this.syllables[n].text;return t};for(var n=0,i=this.syllables.length;i>n;n++)this.syllables[n].word=this},Latin=function(){this.name="Latin",this.syllableConnector="-",this.diphthongs=["ae","au","oe"];var t=new Object;t.huius=new Word(["hui","us"]),t.cuius=new Word(["cui","us"]),t.huic=new Word(["huic"]),t.cui=new Word(["cui"]),t.hui=new Word(["hui"]),this.vowels=["a","e","i","o","u","á","é","í","ó","ú","ā","ē","ī","ō","ū","æ","œ","ǽ","y"],this.muteConsonantsAndF=["b","c","d","g","p","t","f"],this.liquidConsonants=["l","r"]};Latin.prototype={isVowel:function(t){for(var n=0,i=this.vowels.length;i>n;n++)if(this.vowels[n]==t)return!0;return!1},isMuteConsonantOrF:function(t){for(var n=0,i=this.muteConsonantsAndF.length;i>n;n++)if(this.muteConsonantsAndF[n]==t)return!0;return!1},isLiquidConsonant:function(t){for(var n=0,i=this.liquidConsonants.length;i>n;n++)if(this.liquidConsonants[n]==t)return!0;return!1},isDiphthong:function(t){for(var n=0,i=this.diphthongs.length;i>n;n++)if(this.diphthongs[n]==t)return!0;return!1},syllabifyWord:function(t){var n,i,s,e=[],o=!1,r=!1,l=t.toLowerCase(),h=0,u=function(n){o&&(e.push(new Syllable(t.substr(h,n))),h+=n),o=!1};n=" ";for(var a=0,f=l.length;f>a;a++){n=l[a],i="*",s=f>a+1,s&&(i=l[a+1]);var d=this.isVowel(n);"i"==n&&(0==a&&s&&this.isVowel(i)?d=!1:r&&s&&this.isVowel(i)&&(d=!1)),"-"==n?(o=!0,r=!1,u(a-h),h++):d?(o=!0,r&&!this.isDiphthong(l[a-1]+""+n)&&(u(a-h),o=!0),r=!0):s&&("q"==n&&"u"==i||"h"==i&&("c"==n||"p"==n||"t"==n)?(u(a-h),a++):r&&this.isVowel(i)?u(a-h):this.isMuteConsonantOrF(n)&&this.isLiquidConsonant(i)?u(a-h):o&&u(a+1-h),r=!1)}return o?e.push(new Syllable(t.substr(h))):h>0&&(e[e.length-1].text+=t.substr(h)),new Word(e)},findVowelSegment:function(t,n){var i,s,e,o=t.toLowerCase();for(i=0,s=this.diphthongs.length;s>i;i++){var r=this.diphthongs[i];if(e=o.indexOf(r,n),e>=0)return{found:!0,startIndex:e,length:r.length}}for(i=0,s=this.vowels.length;s>i;i++)if(e=o.indexOf(this.vowels[i],n),e>=0)return{found:!0,startIndex:e,length:1};return{found:!1,startIndex:-1,length:-1}}};var latin=new Latin;syllabify()</script>
Advertisement
Add Comment
Please, Sign In to add comment