about summary refs log tree commit diff stats
path: root/src/assets/javascripts
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/assets/javascripts
parentMerge pull request #157 from TotalCaesar659/patch-1 (diff)
downloadlibredirect-bd783485a8063f470ae2aeb61de7d95c8091e1aa.zip
Translate "Random instance (none selected)" (#158)
Diffstat (limited to 'src/assets/javascripts')
-rw-r--r--src/assets/javascripts/localise.js32
1 files changed, 24 insertions, 8 deletions
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();