# HG changeset patch # User Aleksej Bobylev # Date 1334184169 -10800 # Node ID bc85a363a4ba9a18e105d2f1e2cc29ce0d3db677 # Parent 72e9955ebdffe0c7047b80584d0a53b0181f5bec user.js is translateable; translated to ru diff -r 72e9955ebdff -r bc85a363a4ba lib/user.js --- a/lib/user.js Wed Apr 11 20:12:41 2012 +0300 +++ b/lib/user.js Thu Apr 12 01:42:49 2012 +0300 @@ -4,41 +4,75 @@ */ //// +// i18n for this javascript + +function i18n(text){ + var lang = document.getElementsByTagName("html")[0].getAttribute("lang"); + var orig = ["Too short!", "Too long!", "Invalid chars!", "(No Password!)", "(Strong)", "(Medium!)", "(Weak!)", "Do Not Match!"]; + var translate = ["es", "fr", "pt", "ru"]; + translate['ru'] = ["Слишком короткий!", "Слишком длинный!", "Недопустимые символы!", "(Нет пароля!)", "(Сильный)", "(Средний!)", "(Слабый!)", "Не совпадает!"]; + translate['fr'] = [ ]; + + var output = text; + for (var i=0; i // function checkLogin(user,message){ var login = document.getElementById(user); - var msg = document.getElementById(message); + var msg = document.getElementById(message); var enoughRegex = new RegExp("(?=.{3,}).*", "g"); var incharRegex = new RegExp("^[A-Za-z0-9_-]{3,32}$"); - if (false == enoughRegex.test(login.value)) { - msg.innerHTML ="✖ Too short"; + // html fragments + var nok='✖ '; + var s=''; + + if (login.value == '') { + msg.innerHTML = ''; + } else if (false == enoughRegex.test(login.value)) { + msg.innerHTML = nok + i18n('Too short!') + s; return false; - } else if (login.value > 32) { - msg.innerHTML ="✖ Too long"; + } else if (login.value.length > 32) { + msg.innerHTML = nok + i18n('Too long!') + s; return false; } else if (false == incharRegex.test(login.value)) { - msg.innerHTML ="✖ Invalid chars"; - return false; + msg.innerHTML = nok + i18n('Invalid chars!') + s; + return false; } else { - msg.innerHTML = "✔ -// +// +// // function checkPwd(password,confirm,message){ var pwd1 = document.getElementById(password); var pwd2 = document.getElementById(confirm); - var msg = document.getElementById(message); + var msg = document.getElementById(message); + // html fragments + var nok = '✖ '; + var okw = ''; + var s = ''; + if(pwd1.value == pwd2.value){ - // passwords match. + // passwords match. pwd2.classList.remove('alert'); // various checks var enoughRegex = new RegExp("(?=.{3,}).*", "g"); @@ -46,27 +80,27 @@ var strongRegex = new RegExp("^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g"); var mediumRegex = new RegExp("^(?=.{7,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g"); if (pwd1.value.length==0) { - msg.innerHTML = "(No Password!)"; + msg.innerHTML = okw + i18n('(No Password!)') + s; } else if (pwd1.value.length > 40) { - msg.innerHTML ="✖ Too long!"; + msg.innerHTML = nok + i18n('Too long!') + s; return false; } else if (false == enoughRegex.test(pwd1.value)) { - msg.innerHTML ="✖ Too short!"; + msg.innerHTML = nok + i18n('Too short!') + s; return false; } else if (false == incharRegex.test(pwd1.value)) { - msg.innerHTML ="✖ Invalid chars!"; + msg.innerHTML = nok + i18n('Invalid chars!') + s; return false; } else if (strongRegex.test(pwd1.value)) { - msg.innerHTML = "✔ (Strong)"; + msg.innerHTML = '✔ ' + i18n('(Strong)') + s; } else if (mediumRegex.test(pwd1.value)) { - msg.innerHTML = "(Medium!)"; + msg.innerHTML = okw + i18n('(Medium!)') + s; } else { - msg.innerHTML = "(Weak!)"; + msg.innerHTML = okw + i18n('(Weak!)') + s; } } else { // passwords do not match. pwd2.classList.add('alert'); - msg.innerHTML = "✖ Do Not Match!" + msg.innerHTML = nok + i18n('Do Not Match!') + s; return false; } -} \ No newline at end of file +}