Assert translation now outputs JavaScript which is easier to edit for translators

This commit is contained in:
Pierre Bondoerffer 2017-02-21 14:23:58 +01:00
parent 20b08a7847
commit a84f8e2808
No known key found for this signature in database
GPG Key ID: C0C7C0C5063F2236
1 changed files with 29 additions and 2 deletions

View File

@ -10,13 +10,40 @@ define([
return $('<pre>', opt).text(text);
};
var addSlashes = function (text) {
return (text + '').replace(/[\\']/g, '\\\'');
}
var todo = function (missing) {
var str = "";;
var need = 1;
if (missing.length) {
$body.append(pre(missing.map(function (msg) {
return '* ' + msg;
var res = "";
var code = msg[0];
var key = msg[1];
var needed = msg[2];
if (str !== code) {
if (str !== "")
res += '\n';
str = code;
res += '/*\n *\n * ' + code + '\n *\n */\n\n';
}
if (need !== needed) {
need = needed;
if (need === 0)
res += '\n// TODO: These keys are not needed anymore and should be removed ('+ code + ')\n\n';
}
res += (need ? '' : '// ') + 'out.' + key + ' = \'\';';
if (need)
res += ' // \'' + addSlashes(Cryptpad.Messages._getKey(key, [])) + '\'';
return res;
}).join('\n')));
} else {
$body.text('All keys are present in all translations');
$body.text('// All keys are present in all translations');
}
};
Cryptpad.Messages._checkTranslationState(todo);