JSFiddle - React, Tailwind, and code Playground
HTML
<input type="text" />
<button>Evaluate</button>
<div></div>
JavaScript
$("button").click(function() {
var value = $("input").val(),
log = $("div"),
html = log.html();
html += "<br />Value:" + value + translate(value);
log.html(html);
});
function translate(value) {
var text = "";
if(value == 0) {
text = "nula";
} else if(num[value]) {
text = num[value];
} else {
var data = [];
while(value > 0) {
data.push(value % 10);
value = ~~(value / 10);
}
var length = data.length,
idx = length;
while(--idx >= 0) {
var currentNumber = data[idx],
currentNumberText = num[currentNumber ];
switch(idx){
case 0:
if(currentNumber != 0) {
text += AND + currentNumberText;
}
break;
case 1:
if(currentNumber != 0) {
if (length - idx > 1 && (currentNumber == 1 || data[idx - 1] == 0)) {
text += AND;
if (num[currentNumber + "" + data[idx - 1]]) {
text += num[currentNumber + "" + data[--idx]];
} else {
text += currentNumberText + "deset";
}
} else {
text += length - idx == 1 ? "" : SPACE;
text += currentNumberText + "deset";
}
}
break;
case 2:
text += length - idx == 1 ? "" : SPACE;
if(currentNumber == 1) {
text += "sto";
} else if(currentNumber == 2) {
text += "dwesta";
} else if(currentNumber == 3) {
text +=...