1
0
Fork 0
mirror of https://github.com/Ylianst/MeshCentral.git synced 2025-03-09 15:40:18 +00:00

Translation tools improvements.

This commit is contained in:
Ylian Saint-Hilaire 2020-01-07 15:10:12 -08:00
parent 3582c7b409
commit a9259feee7
7 changed files with 8334 additions and 8283 deletions

View file

@ -90,8 +90,14 @@ function decode_utf8(s) { return decodeURIComponent(escape(s)); }
function data2blob(data) {
var bytes = new Array(data.length);
for (var i = 0; i < data.length; i++) bytes[i] = data.charCodeAt(i);
var blob = new Blob([new Uint8Array(bytes)]);
return blob;
return new Blob([new Uint8Array(bytes)]);
}
// Convert a UTF8 string into a blob
function utf2blob(str) {
var bytes = [], utf8 = unescape(encodeURIComponent(str));
for (var i = 0; i < utf8.length; i++) { bytes.push(utf8.charCodeAt(i)); }
return new Blob([new Uint8Array(bytes)]);
}
// Generate random numbers

View file

@ -383,8 +383,23 @@
xdr.send(JSON.stringify({ 'action': 'setTranslations', strings: translations }));
}
// Convert the translations to a standardized JSON we can use in GitHub
// Strings are sorder by english source and object keys are sorted
function translationsToJson(t) {
var arr2 = [], arr = t.strings;
for (var i in arr) {
var names = []; el = arr[i], el2 = {};
for (var j in el) { names.push(j); }
names.sort();
for (var j in names) { el2[names[j]] = el[names[j]]; }
arr2.push(el2);
}
arr2.sort(function (a, b) { if (a.en > b.en) return 1; if (a.en < b.en) return -1; return 0; });
return JSON.stringify({ strings: arr2 }, null, ' ');
}
function saveToFile() {
saveAs(data2blob(JSON.stringify({ strings: translations })), 'translate.json');
saveAs(utf2blob(translationsToJson({ strings: translations })), 'translate.json');
}
function setTranslation() {