about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorSimonBrazell <simon@brazell.com.au>2021-01-12 20:29:26 +1100
committerSimonBrazell <simon@brazell.com.au>2021-01-12 20:29:26 +1100
commitbd783485a8063f470ae2aeb61de7d95c8091e1aa (patch)
tree2f442682aa73a7288764e66186fa2022b4ac0a42 /src
parentMerge pull request #157 from TotalCaesar659/patch-1 (diff)
downloadlibredirect-bd783485a8063f470ae2aeb61de7d95c8091e1aa.zip
Translate "Random instance (none selected)" (#158)
Diffstat (limited to 'src')
-rw-r--r--src/_locales/en/messages.json4
-rw-r--r--src/assets/javascripts/localise.js32
-rw-r--r--src/manifest.json2
-rw-r--r--src/pages/options/options.html4
4 files changed, 33 insertions, 9 deletions
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)"
           />
         </div>
@@ -181,6 +182,7 @@
           <input
             id="invidious-instance"
             type="url"
+            data-localise-placeholder="__MSG_randomInstancePlaceholder__"
             placeholder="Random instance (none selected)"
           />
         </div>
@@ -191,6 +193,7 @@
           <input
             id="bibliogram-instance"
             type="url"
+            data-localise-placeholder="__MSG_randomInstancePlaceholder__"
             placeholder="Random instance (none selected)"
           />
         </div>
@@ -221,6 +224,7 @@
           <input
             id="search-engine-instance"
             type="url"
+            data-localise-placeholder="__MSG_randomInstancePlaceholder__"
             placeholder="Random instance (none selected)"
           />
         </div>