mirror of
https://github.com/eliasstepanik/vdo.ninja.git
synced 2026-01-24 11:58:37 +00:00
Format code
This commit is contained in:
parent
b1b5d7f0ff
commit
e9a4ffa3c8
@ -1,143 +1,143 @@
|
|||||||
// Copy and paste this code into OBS.Ninja's developer's console to generate new Translation files
|
// Copy and paste this code into OBS.Ninja's developer's console to generate new Translation files
|
||||||
|
|
||||||
function downloadTranslation(filename, trans={}){ // downloads the current translation to a file
|
function downloadTranslation(filename, trans = {}) { // downloads the current translation to a file
|
||||||
|
|
||||||
const textDoc = JSON.stringify(trans, null, 2);
|
const textDoc = JSON.stringify(trans, null, 2);
|
||||||
|
|
||||||
const hiddenElement = document.createElement('a');
|
const hiddenElement = document.createElement('a');
|
||||||
|
|
||||||
hiddenElement.href = `data:text/html,${encodeURIComponent(textDoc)}`;
|
hiddenElement.href = `data:text/html,${encodeURIComponent(textDoc)}`;
|
||||||
hiddenElement.target = '_blank';
|
hiddenElement.target = '_blank';
|
||||||
hiddenElement.download = `${filename}.json`;
|
hiddenElement.download = `${filename}.json`;
|
||||||
hiddenElement.click();
|
hiddenElement.click();
|
||||||
|
|
||||||
return trans;
|
return trans;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function updateTranslation(filename){ // updates the website with a specific translation
|
function updateTranslation(filename) { // updates the website with a specific translation
|
||||||
const request = new XMLHttpRequest();
|
const request = new XMLHttpRequest();
|
||||||
request.open('GET', `./translations/${filename}.json?${(Math.random() * 100).toString()}`, false); // `false` makes the request synchronous
|
request.open('GET', `./translations/${filename}.json?${(Math.random() * 100).toString()}`, false); // `false` makes the request synchronous
|
||||||
request.send(null);
|
request.send(null);
|
||||||
|
|
||||||
if (request.status !== 200) {
|
if (request.status !== 200) {
|
||||||
return false, {};
|
return false, {};
|
||||||
}
|
}
|
||||||
try{
|
try {
|
||||||
var data = JSON.parse(request.responseText);
|
var data = JSON.parse(request.responseText);
|
||||||
} catch(e){
|
} catch (e) {
|
||||||
console.log(request.responseText);
|
console.log(request.responseText);
|
||||||
console.error(e);
|
console.error(e);
|
||||||
return false, {};
|
return false, {};
|
||||||
}
|
}
|
||||||
|
|
||||||
const oldTransItems = data.innerHTML;
|
const oldTransItems = data.innerHTML;
|
||||||
const allItems1 = document.querySelectorAll('[data-translate]');
|
const allItems1 = document.querySelectorAll('[data-translate]');
|
||||||
|
|
||||||
allItems1.forEach(function(ele){
|
allItems1.forEach(function (ele) {
|
||||||
if (ele.dataset.translate in oldTransItems){
|
if (ele.dataset.translate in oldTransItems) {
|
||||||
ele.innerHTML = oldTransItems[ele.dataset.translate];
|
ele.innerHTML = oldTransItems[ele.dataset.translate];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const oldTransTitles = data.titles;
|
const oldTransTitles = data.titles;
|
||||||
const allTitles1 = document.querySelectorAll('[title]');
|
const allTitles1 = document.querySelectorAll('[title]');
|
||||||
allTitles1.forEach(function(ele){
|
allTitles1.forEach(function (ele) {
|
||||||
const key = ele.title.replace(/[\W]+/g,"-").toLowerCase();
|
const key = ele.title.replace(/[\W]+/g, "-").toLowerCase();
|
||||||
if (key in oldTransTitles){
|
if (key in oldTransTitles) {
|
||||||
ele.title = oldTransTitles[key];
|
ele.title = oldTransTitles[key];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const oldTransPlaceholders = data.placeholders;
|
const oldTransPlaceholders = data.placeholders;
|
||||||
const allPlaceholders1 = document.querySelectorAll('[placeholder]');
|
const allPlaceholders1 = document.querySelectorAll('[placeholder]');
|
||||||
allPlaceholders1.forEach(function(ele){
|
allPlaceholders1.forEach(function (ele) {
|
||||||
const key = ele.placeholder.replace(/[\W]+/g,"-").toLowerCase();
|
const key = ele.placeholder.replace(/[\W]+/g, "-").toLowerCase();
|
||||||
if (key in oldTransPlaceholders){
|
if (key in oldTransPlaceholders) {
|
||||||
ele.placeholder = oldTransPlaceholders[key];
|
ele.placeholder = oldTransPlaceholders[key];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return [true, data];
|
return [true, data];
|
||||||
}
|
}
|
||||||
|
|
||||||
const updateList = ["cs","de", "en", "es", "fr", "it", "ja", "nl", "pig", "pt", "ru", "tr", "blank" ]; // list of languages to update. Update this if you add a new language.
|
const updateList = ["cs", "de", "en", "es", "fr", "it", "ja", "nl", "pig", "pt", "ru", "tr", "blank"]; // list of languages to update. Update this if you add a new language.
|
||||||
|
|
||||||
const allItems = document.querySelectorAll('[data-translate]');
|
const allItems = document.querySelectorAll('[data-translate]');
|
||||||
const defaultTrans = {};
|
const defaultTrans = {};
|
||||||
allItems.forEach(function(ele){
|
allItems.forEach(function (ele) {
|
||||||
const key = ele.dataset.translate.replace(/[\W]+/g,"-").toLowerCase();
|
const key = ele.dataset.translate.replace(/[\W]+/g, "-").toLowerCase();
|
||||||
defaultTrans[key] = ele.innerHTML;
|
defaultTrans[key] = ele.innerHTML;
|
||||||
});
|
});
|
||||||
|
|
||||||
const defaultTransTitles = {};
|
const defaultTransTitles = {};
|
||||||
const allTitles = document.querySelectorAll('[title]');
|
const allTitles = document.querySelectorAll('[title]');
|
||||||
allTitles.forEach(function(ele){
|
allTitles.forEach(function (ele) {
|
||||||
defaultTransTitles[ele.title] = ele.title;
|
defaultTransTitles[ele.title] = ele.title;
|
||||||
});
|
});
|
||||||
|
|
||||||
const defaultTransPlaceholders = {};
|
const defaultTransPlaceholders = {};
|
||||||
const allPlaceholders = document.querySelectorAll('[placeholder]');
|
const allPlaceholders = document.querySelectorAll('[placeholder]');
|
||||||
allPlaceholders.forEach(function(ele){
|
allPlaceholders.forEach(function (ele) {
|
||||||
defaultTransPlaceholders[ele.placeholder] = ele.placeholder;
|
defaultTransPlaceholders[ele.placeholder] = ele.placeholder;
|
||||||
});
|
});
|
||||||
|
|
||||||
const combinedTrans = {}
|
const combinedTrans = {}
|
||||||
combinedTrans.titles = defaultTransTitles;
|
combinedTrans.titles = defaultTransTitles;
|
||||||
combinedTrans.innerHTML = defaultTrans;
|
combinedTrans.innerHTML = defaultTrans;
|
||||||
combinedTrans.placeholders = defaultTransPlaceholders;
|
combinedTrans.placeholders = defaultTransPlaceholders;
|
||||||
var counter=0;
|
var counter = 0;
|
||||||
for (const i in updateList){
|
for (const i in updateList) {
|
||||||
const lang = updateList[i];
|
const lang = updateList[i];
|
||||||
setTimeout(function(ln){
|
setTimeout(function (ln) {
|
||||||
var suceess = updateTranslation(ln); // we don't need to worry about DATA.
|
var suceess = updateTranslation(ln); // we don't need to worry about DATA.
|
||||||
if (suceess[0]==true){
|
if (suceess[0] == true) {
|
||||||
const newTrans = suceess[1].innerHTML;
|
const newTrans = suceess[1].innerHTML;
|
||||||
const allItems = document.querySelectorAll('[data-translate]');
|
const allItems = document.querySelectorAll('[data-translate]');
|
||||||
allItems.forEach(function(ele){
|
allItems.forEach(function (ele) {
|
||||||
const key = ele.dataset.translate;
|
const key = ele.dataset.translate;
|
||||||
newTrans[key] = ele.innerHTML;
|
newTrans[key] = ele.innerHTML;
|
||||||
});
|
});
|
||||||
|
|
||||||
const newTransTitles = suceess[1].titles;
|
const newTransTitles = suceess[1].titles;
|
||||||
const allTitles = document.querySelectorAll('[title]');
|
const allTitles = document.querySelectorAll('[title]');
|
||||||
allTitles.forEach(function(ele){
|
allTitles.forEach(function (ele) {
|
||||||
const key = ele.title.replace(/[\W]+/g,"-").toLowerCase();
|
const key = ele.title.replace(/[\W]+/g, "-").toLowerCase();
|
||||||
newTransTitles[key] = ele.title;
|
newTransTitles[key] = ele.title;
|
||||||
});
|
});
|
||||||
|
|
||||||
const newPlaceholders = suceess[1].placeholders;
|
const newPlaceholders = suceess[1].placeholders;
|
||||||
const allPlaceholders = document.querySelectorAll('[placeholder]');
|
const allPlaceholders = document.querySelectorAll('[placeholder]');
|
||||||
allPlaceholders.forEach(function(ele){
|
allPlaceholders.forEach(function (ele) {
|
||||||
const key = ele.placeholder.replace(/[\W]+/g,"-").toLowerCase();
|
const key = ele.placeholder.replace(/[\W]+/g, "-").toLowerCase();
|
||||||
newPlaceholders[key] = ele.placeholder;
|
newPlaceholders[key] = ele.placeholder;
|
||||||
});
|
});
|
||||||
|
|
||||||
////// DOWNLOAD UPDATED TRANSLATION
|
////// DOWNLOAD UPDATED TRANSLATION
|
||||||
const outputTrans = {}
|
const outputTrans = {}
|
||||||
outputTrans.titles = newTransTitles;
|
outputTrans.titles = newTransTitles;
|
||||||
outputTrans.innerHTML = newTrans;
|
outputTrans.innerHTML = newTrans;
|
||||||
outputTrans.placeholders = newPlaceholders;
|
outputTrans.placeholders = newPlaceholders;
|
||||||
downloadTranslation(ln, outputTrans);
|
downloadTranslation(ln, outputTrans);
|
||||||
}
|
}
|
||||||
////////// RESET THING BACK
|
////////// RESET THING BACK
|
||||||
allItems.forEach(function(ele){
|
allItems.forEach(function (ele) {
|
||||||
if (ele.dataset.translate in defaultTrans){
|
if (ele.dataset.translate in defaultTrans) {
|
||||||
ele.innerHTML = defaultTrans[ele.dataset.translate];
|
ele.innerHTML = defaultTrans[ele.dataset.translate];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
allTitles.forEach(function(ele){
|
allTitles.forEach(function (ele) {
|
||||||
const key = ele.title.replace(/[\W]+/g,"-").toLowerCase();
|
const key = ele.title.replace(/[\W]+/g, "-").toLowerCase();
|
||||||
if (key in defaultTransTitles){
|
if (key in defaultTransTitles) {
|
||||||
ele.title = defaultTransTitles[key];
|
ele.title = defaultTransTitles[key];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
allPlaceholders.forEach(function(ele){
|
allPlaceholders.forEach(function (ele) {
|
||||||
const key = ele.placeholder.replace(/[\W]+/g,"-").toLowerCase();
|
const key = ele.placeholder.replace(/[\W]+/g, "-").toLowerCase();
|
||||||
if (key in defaultTransPlaceholders){
|
if (key in defaultTransPlaceholders) {
|
||||||
ele.placeholder = defaultTransPlaceholders[key];
|
ele.placeholder = defaultTransPlaceholders[key];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},counter,lang);
|
}, counter, lang);
|
||||||
counter+=300;
|
counter += 300;
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user