From f79f7d062ad8dcf89116da8faba456c4519d3d2a Mon Sep 17 00:00:00 2001 From: marvin-borner@live.com Date: Thu, 12 Apr 2018 19:21:00 +0200 Subject: Finalized multilanguage support -- need to add text etc --- assets/js/language.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 assets/js/language.js (limited to 'assets/js/language.js') diff --git a/assets/js/language.js b/assets/js/language.js new file mode 100644 index 0000000..9448ae3 --- /dev/null +++ b/assets/js/language.js @@ -0,0 +1,36 @@ +function Translate() { + //initialization + this.init = function (lng) { + this.attribute = 'data-lang'; + this.lng = lng; + }; + //translate + this.process = function () { + var _self = this; + var xrhFile = new XMLHttpRequest(); + //load content data + xrhFile.open("GET", "assets/languages/json/Translations.json", true); + xrhFile.onreadystatechange = function () { + if (xrhFile.readyState === 4) { + if (xrhFile.status === 200 || xrhFile.status === 0) { + var LngObject = JSON.parse(xrhFile.responseText); + var allDom = document.getElementsByTagName("*"); + for (var i = 0; i < allDom.length; i++) { + var elem = allDom[i]; + var key = elem.getAttribute(_self.attribute); + + if (key != null) { + console.log("Language initialized with language pack: " + _self.lng); + elem.innerHTML = LngObject[_self.lng][key]; + } + } + } + } + }; + xrhFile.send(); + } +} + +$(document).ready(function () { + initiateLanguage(); +}); -- cgit v1.2.3