javascript 西班牙语图形重音背后的逻辑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 西班牙语图形重音背后的逻辑相关的知识,希望对你有一定的参考价值。

const endingLetters = ['n', 's', 'a', 'e', 'i', 'o', 'u']

const accentWord = myWord => {
	let syllables = WordUtils.splitIntoSyllables(myWord)
	let numberOfSyllables = syllables.length

	if ( WordUtils.getWordType(myWord) === 'esdrújula' ) {
		syllables[numberOfSyllables - 3].addAccent() // example: o RÉ ga no || bo LÍ gra fo
		return syllables.join('')
	}

	if ( WordUtils.getWordType(myWord) === 'grave' && !endingLetters.includes(myWord.split('')[0]) ) {
		syllables[numberOfSyllables - 2].addAccent() // examples: ven-TA-na !== MÁS-ter
		return syllables.join('')
	}

	if ( WordUtils.getWordType(myWord) === 'aguda' && endingLetters.includes(myWord.split('')[0]) ) {
		syllables[numberOfSyllables - 1].addAccent() // examples ca-ra-COL !== ra-TÓN
	}
}

const WordUtils = {
	getWordType: word => {
		let syllablesArr = this.splitIntoSyllables(word)
		let numberOfSyllables = syllablesArr.length
		let tonic

		syllablesArr.forEach(syllable, i) {
			tonic = syllable.isTonic() && syllable
		}

		switch (i) {
			case: numberOfSyllables - 1:
				return 'aguda'
				break
			case: numberOfSyllables - 2:
				return 'grave'
				break
			case: numberOfSyllables - 3:
				return 'esdrújula'
				break
			default:
				return 'sobreesdrújula'
		}
	},
	splitIntoSyllables: word => {
		// weird things here
	}
}

以上是关于javascript 西班牙语图形重音背后的逻辑的主要内容,如果未能解决你的问题,请参考以下文章

如何解码 base64 字符串并获取正确的字符,包括重音符号?

xlsx to plist in Spanish - 重音字符丢失

编码特殊字符以传入url并由javascript读取[重复]

BundleDisplayName 中的西班牙口音

西班牙语语法术语

如何使用 elasticsearch nest api 创建自定义分析器以忽略重音和 pt-br 停用词?