diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index da518d36..1dce07bd 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -138,5 +138,9 @@ "bibliogramRandomPool": { "message": "Bibliogram random instance pool (comma-separated)", "description": "Label for 'Bibliogram random instance pool (comma-separated)' option (options)." + }, + "randomInstancePlaceholder": { + "message": "Random instance (none selected)", + "description": "Input placeholder for provider instance settings that select a random instance from a pool when none is selected" } } diff --git a/src/assets/javascripts/localise.js b/src/assets/javascripts/localise.js index cbe5c191..78e4c907 100644 --- a/src/assets/javascripts/localise.js +++ b/src/assets/javascripts/localise.js @@ -1,19 +1,35 @@ window.browser = window.browser || window.chrome; +function getMessage(tag) { + return tag.replace(/__MSG_(\w+)__/g, function (_match, v1) { + return v1 ? browser.i18n.getMessage(v1) : null; + }); +} + function localisePage() { - var data = document.querySelectorAll("[data-localise]"); + let elements = document.querySelectorAll("[data-localise]"); - for (var i in data) - if (data.hasOwnProperty(i)) { - var obj = data[i]; - var tag = obj.getAttribute("data-localise").toString(); + for (let i in elements) + if (elements.hasOwnProperty(i)) { + let obj = elements[i]; + let tag = obj.getAttribute("data-localise").toString(); - var msg = tag.replace(/__MSG_(\w+)__/g, function (_match, v1) { - return v1 ? browser.i18n.getMessage(v1) : null; - }); + let msg = getMessage(tag); if (msg && msg !== tag) obj.textContent = msg; } + + let placeholders = document.querySelectorAll("[data-localise-placeholder]"); + + for (let i in placeholders) + if (placeholders.hasOwnProperty(i)) { + let obj = placeholders[i]; + let tag = obj.getAttribute("data-localise-placeholder").toString(); + + let msg = getMessage(tag); + + if (msg && msg !== tag) obj.placeholder = msg; + } } localisePage(); diff --git a/src/manifest.json b/src/manifest.json index 5f9ff8c6..2e7d5a83 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,7 +1,7 @@ { "name": "__MSG_extensionName__", "description": "__MSG_extensionDescription__", - "version": "1.1.45", + "version": "1.1.46", "manifest_version": 2, "background": { "page": "pages/background/background.html", diff --git a/src/pages/options/options.html b/src/pages/options/options.html index dbb1406e..6473f2ff 100644 --- a/src/pages/options/options.html +++ b/src/pages/options/options.html @@ -171,6 +171,7 @@ id="nitter-instance" type="url" name="nitter-instance" + data-localise-placeholder="__MSG_randomInstancePlaceholder__" placeholder="Random instance (none selected)" /> @@ -181,6 +182,7 @@ @@ -191,6 +193,7 @@ @@ -221,6 +224,7 @@