luci-base: validation.js: rework translation labels

Rework validation error translations for compount operators such
as list() or neg() to not rely that much on specific native language
grammar.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2019-06-13 15:16:12 +02:00
parent 0560858380
commit 1bd9ee91af

View file

@ -56,7 +56,7 @@ var Validator = L.Class.extend({
valid = this.vstack[0].apply(this, this.vstack[1]); valid = this.vstack[0].apply(this, this.vstack[1]);
if (valid !== true) { if (valid !== true) {
this.field.setAttribute('data-tooltip', _('Expecting %s').format(this.error)); this.field.setAttribute('data-tooltip', _('Expecting: %s').format(this.error));
this.field.setAttribute('data-tooltip-style', 'error'); this.field.setAttribute('data-tooltip-style', 'error');
this.field.dispatchEvent(new CustomEvent('validation-failure', { bubbles: true })); this.field.dispatchEvent(new CustomEvent('validation-failure', { bubbles: true }));
return false; return false;
@ -453,7 +453,9 @@ var ValidatorFactory = L.Class.extend({
} }
} }
return this.assert(false, _('one of:\n - %s'.format(errors.join('\n - ')))); var t = _('One of the following: %s');
return this.assert(false, t.format('\n - ' + errors.join('\n - ')));
}, },
and: function() { and: function() {
@ -472,7 +474,12 @@ var ValidatorFactory = L.Class.extend({
}, },
neg: function() { neg: function() {
return this.apply('or', this.value.replace(/^[ \t]*![ \t]*/, ''), arguments); this.value = this.value.replace(/^[ \t]*![ \t]*/, '');
if (arguments[0].apply(this, arguments[1]))
return this.assert(true);
return this.assert(false, _('Potential negation of: %s').format(this.error));
}, },
list: function(subvalidator, subargs) { list: function(subvalidator, subargs) {