Как вычислить количество слогов в слове в javascript?

Есть ли библиотека javascript для подсчета количества слогов в слове? Как считать?

Спасибо

Edit

Спасибо Sydenam и zozo за полезную информацию и возможные ответы.

Я нашел код Pesto на этом форуме, но он находится в Ruby. Ниже приведена его краткая версия:

def new_count(word)
  word.downcase!
  return 1 if word.length <= 3
  word.sub!(/(?:[^laeiouy]es|ed|[^laeiouy]e)$/, '')
  word.sub!(/^y/, '')
  word.scan(/[aeiouy]{1,2}/).size
end 

Это кажется коротким, но сложным. Можете ли вы перевести эту функцию в javascript? Еще раз спасибо.

Ответы

Ответ 1

Переведено на javascript:

function new_count(word) {
  word = word.toLowerCase();                                     //word.downcase!
  if(word.length <= 3) { return 1; }                             //return 1 if word.length <= 3
    word = word.replace(/(?:[^laeiouy]es|ed|[^laeiouy]e)$/, '');   //word.sub!(/(?:[^laeiouy]es|ed|[^laeiouy]e)$/, '')
    word = word.replace(/^y/, '');                                 //word.sub!(/^y/, '')
    return word.match(/[aeiouy]{1,2}/g).length;                    //word.scan(/[aeiouy]{1,2}/).size
}

console.log(new_count('she'));
console.log(new_count('spain'))
console.log(new_count('softball'))
console.log(new_count('contagion'))

Ответ 3

Хорошо... вы берете грамматическую книгу и начинаете читать строчную букву буквой, если одно из правил соответствует, то вы добавляете +1 к счетчику. Поскольку правила отличаются от языка к языку, я не могу сказать вам, как это сделать. Я сделал это для румын... но я сомневаюсь, что это поможет вам.