summaryrefslogtreecommitdiff
path: root/data/extensions/{b7f9d2cd-d772-4302-8c3f-eb941af36f76}/assets/javascripts/localise.js
diff options
context:
space:
mode:
Diffstat (limited to 'data/extensions/{b7f9d2cd-d772-4302-8c3f-eb941af36f76}/assets/javascripts/localise.js')
-rw-r--r--data/extensions/{b7f9d2cd-d772-4302-8c3f-eb941af36f76}/assets/javascripts/localise.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/data/extensions/{b7f9d2cd-d772-4302-8c3f-eb941af36f76}/assets/javascripts/localise.js b/data/extensions/{b7f9d2cd-d772-4302-8c3f-eb941af36f76}/assets/javascripts/localise.js
new file mode 100644
index 0000000..78e4c90
--- /dev/null
+++ b/data/extensions/{b7f9d2cd-d772-4302-8c3f-eb941af36f76}/assets/javascripts/localise.js
@@ -0,0 +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() {
+ let elements = document.querySelectorAll("[data-localise]");
+
+ for (let i in elements)
+ if (elements.hasOwnProperty(i)) {
+ let obj = elements[i];
+ let tag = obj.getAttribute("data-localise").toString();
+
+ 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();