diff --git a/resources/report/js/custom.js b/resources/report/js/custom.js index 8696ed53..bf41df4b 100644 --- a/resources/report/js/custom.js +++ b/resources/report/js/custom.js @@ -700,7 +700,7 @@ var messageDialogProto = Object.create(HTMLDialogElement.prototype, { this.getElementsByClassName('cancel')[0].addEventListener('click', this.onButtonClick, false); if (type == 'error' || type == 'info') { - this.getElementsByClassName('accept')[0].textContent = l10n.translate("OK").fetch(); + this.getElementsByClassName('accept')[0].textContent = l10n.jed.translate("OK").fetch(); this.getElementsByClassName('cancel')[0].classList.toggle('hidden', true); } @@ -728,12 +728,12 @@ var messageDialogProto = Object.create(HTMLDialogElement.prototype, { var accept = document.createElement('button'); accept.className = 'accept'; - accept.textContent = l10n.translate("Yes").fetch(); + accept.textContent = l10n.jed.translate("Yes").fetch(); buttons.appendChild(accept); var cancel = document.createElement('button'); cancel.className = 'cancel'; - cancel.textContent = l10n.translate("Cancel").fetch(); + cancel.textContent = l10n.jed.translate("Cancel").fetch(); buttons.appendChild(cancel); } }, diff --git a/resources/report/js/l10n.js b/resources/report/js/l10n.js index d22173eb..a46b8f8d 100644 --- a/resources/report/js/l10n.js +++ b/resources/report/js/l10n.js @@ -96,29 +96,29 @@ pluginCard.getElementById('cancel').textContent = l10n.translate("Cancel").fetch(); /* Plugin List Item Template */ - var pluginLI = document.getElementById('pluginLI'); - pluginLI.getElementsByClassName('dummyPlugin')[0].title = l10n.translate("Dummy Plugin").fetch(); - pluginLI.getElementsByClassName('loadsBSA')[0].title = l10n.translate("Loads BSA").fetch(); - pluginLI.getElementsByClassName('hasUserEdits')[0].title = l10n.translate("Has User Metadata").fetch(); - pluginLI.getElementsByClassName('hasGlobalPriority')[0].title = l10n.translate("Priority Is Global").fetch(); + var pluginLI = document.getElementById('pluginLI').content; + pluginLI.querySelector('.dummyPlugin').title = l10n.translate("Dummy Plugin").fetch(); + pluginLI.querySelector('.loadsBSA').title = l10n.translate("Loads BSA").fetch(); + pluginLI.querySelector('.hasUserEdits').title = l10n.translate("Has User Metadata").fetch(); + pluginLI.querySelector('.hasGlobalPriority').title = l10n.translate("Priority Is Global").fetch(); /* Plugin menu template */ - var pluginMenu = document.getElementById('pluginMenu'); + var pluginMenu = document.getElementById('pluginMenu').content; pluginMenu.getElementById('showOnlyConflicts').nextSibling.textContent = l10n.translate("Show Only Conflicts").fetch(); pluginMenu.getElementById('editMetadata').firstChild.nextSibling.textContent = l10n.translate("Edit Metadata").fetch(); pluginMenu.getElementById('copyMetadata').firstChild.nextSibling.textContent = l10n.translate("Copy Metadata As Text").fetch(); pluginMenu.getElementById('clearMetadata').firstChild.nextSibling.textContent = l10n.translate("Clear User Metadata").fetch(); /* Message row template */ - var messageRow = document.getElementById('messageRow'); - messageRow.getElementsByClassName('type')[0].children[0].textContent = l10n.translate("Note").fetch(); - messageRow.getElementsByClassName('type')[0].children[1].textContent = l10n.translate("Warning").fetch(); - messageRow.getElementsByClassName('type')[0].children[2].textContent = l10n.translate("Error").fetch(); + var messageRow = document.getElementById('messageRow').content; + messageRow.querySelector('.type').children[0].textContent = l10n.translate("Note").fetch(); + messageRow.querySelector('.type').children[1].textContent = l10n.translate("Warning").fetch(); + messageRow.querySelector('.type').children[2].textContent = l10n.translate("Error").fetch(); /* Tag row template */ - var tagRow = document.getElementById('tagRow'); - tagRow.getElementsByClassName('type')[0].children[0].textContent = l10n.translate("Add").fetch(); - tagRow.getElementsByClassName('type')[0].children[1].textContent = l10n.translate("Remove").fetch(); + var tagRow = document.getElementById('tagRow').content; + tagRow.querySelector('.type').children[0].textContent = l10n.translate("Add").fetch(); + tagRow.querySelector('.type').children[1].textContent = l10n.translate("Remove").fetch(); /* File menu */ document.getElementById('fileMenu').firstChild.textContent = l10n.translate("File").fetch(); @@ -144,8 +144,8 @@ document.getElementById('cancelSortButton').firstChild.nextSibling.textContent = l10n.translate("Cancel").fetch(); /* Nav items */ - document.getElementById('container').querySelector('nav > ol li > a[href=#summary]').textContent = l10n.translate("Summary").fetch(); - document.getElementById('container').querySelector('nav > ol li > a[href=#generalMessages]').textContent = l10n.translate("General Messages").fetch(); + document.getElementById('container').querySelector('nav > ol li > a[href$=summary]').textContent = l10n.translate("Summary").fetch(); + document.getElementById('container').querySelector('nav > ol li > a[href$=generalMessages]').textContent = l10n.translate("General Messages").fetch(); document.getElementById('filtersToggle').firstChild.nextSibling.textContent = l10n.translate("Filters").fetch(); document.getElementById('searchBox').parentElement.title = l10n.translate("Press Enter when searching to select the next match.").fetch(); @@ -217,7 +217,19 @@ }, getJedInstance: function(locale) { - return this.loadLocaleData(locale).then(function(result){ + return this.loadLocaleData(locale).catch(function(error){ + console.log(error); + return { + messages: { + "": { + // Domain name + "domain" : "messages", + "lang" : "en", + "plural_forms" : "nplurals=2; plural=(n != 1);" + } + } + } + }).then(function(result){ return new jed({ 'locale_data': result, 'domain': 'messages' diff --git a/resources/report/js/script.js b/resources/report/js/script.js index 60794002..cd7a5da9 100644 --- a/resources/report/js/script.js +++ b/resources/report/js/script.js @@ -241,12 +241,12 @@ var loot = { if (change.object[change.name] && change.object[change.name].revision) { document.getElementById('masterlistRevision').textContent = change.object[change.name].revision; } else { - document.getElementById('masterlistRevision').textContent = l10n.translate("N/A").fetch(); + document.getElementById('masterlistRevision').textContent = l10n.jed.translate("N/A").fetch(); } if (change.object[change.name] && change.object[change.name].date) { document.getElementById('masterlistDate').textContent = change.object[change.name].date; } else { - document.getElementById('masterlistDate').textContent = l10n.translate("N/A").fetch(); + document.getElementById('masterlistDate').textContent = l10n.jed.translate("N/A").fetch(); } } else if (change.name == 'globalMessages') { /* For the messages, they don't have a JS 'class' so need to everything @@ -517,7 +517,7 @@ function applyFilters(evt) { if (messages[j].className.indexOf('say') != -1) { hasNotes = true; } - if (messages[j].textContent.indexOf(l10n.translate("Do not clean.").fetch()) != -1) { + if (messages[j].textContent.indexOf(l10n.jed.translate("Do not clean.").fetch()) != -1) { hasDoNotCleanMessages = true; } if ((document.getElementById('hideAllPluginMessages').checked && hasPluginMessages) @@ -1344,12 +1344,10 @@ function initVars() { try { loot.settings = JSON.parse(results[2]); - if (loot.settings.language != 'en') { - l10n.getJedInstance(loot.settings.language).then(function(jed){ - l10n.translateStaticText(jed); - l10n = jed; - }); - } + l10n.getJedInstance(loot.settings.language).then(function(jed){ + l10n.translateStaticText(jed); + l10n.jed = jed; + }); } catch (e) { console.log(e); console.log('getSettings response: ' + results[2]);