Научить подключаемый .js-файл понимать синонимизацию

Цена договорная • электронные деньги
5 откликов • 1 просмотр
Всем привет. У меня есть программка, к ней подключается .js файл, в котором реализуется определенная логика. Вот образец:
function getMsg(quotes) {
// заданное число цитат var chislo_ishod = quotes.getMessagesFromLocal().size(); // готовим рандом var chmin = 1, chmax = 2; var chrand = chmin - 0.5 + Math.random()*(chmax-chmin+1) chrand = Math.round(chrand); switch (chrand) //первая развилка, рандомно выбирает кейс из нужной области { case 1: //вторая развилка, выдает нужную цитату switch (chislo_ishod) { case 0: return "У всякого безумия есть своя логика."; case 1: return "Наши сомнения — это наши предатели. Они заставляют нас терять то, что мы, возможно, могли бы выиграть, если бы не боялись попробовать."; } case 2: switch (chislo_ishod) { case 0: return "Ничто так не выдает человека, как то, над чем он смеётся."; case 1: return "Иногда надо рассмешить людей, чтобы отвлечь их от намерения вас повесить."; } } return null; }

То есть как мы видим скрипт спускается по "дереву" развилок и выбирает случайную цитату. Вопрос не стоит в том, как это реализовано (были причины реализовать именно так).

Собственно задача

Нужно сделать так, чтобы конечная фраза, которую мы получим на выходе, могла быть синонимизирована. 

Например, если у нас в скрипте указано:

У {всякого|каждого} {безумия|помешательства|отклонения} {есть|существует} {своя|собственная|персональная} логика.


То  в результате работы (при условии, что выбрана именно эта фраза) функция должна возвращать рандомный вариант этой цитаты, например:

У всякого отклонения существует собственная логика.

Или

У каждого помешательства есть персональная логика.

То есть еще раз. Есть скрипт, он работает, нужно научить его понимать синтаксис синонимизации. Синтаксис может быть любым {1|2|3|4} или [1|2|3|4] или каким-то другим, понятным и доступным для воспроизведения. 

Я не представляю, сколько это может стоить и как это делается.
Пишите, пожалуйста, в комментарии. Прошу сразу же указывать, как вы будете решать задачу (в общих чертах), сколько вам понадобится времени и сколько бы вы хотели получить за работающее решение.

Приоритет отдается простым и оптимальным решениям, потребляющим минимум ресурсов. Спасибо :)