aboutsummaryrefslogtreecommitdiffhomepage
path: root/assets/js
diff options
context:
space:
mode:
authormarvin-borner@live.com2018-04-12 19:21:00 +0200
committermarvin-borner@live.com2018-04-12 19:21:00 +0200
commitf79f7d062ad8dcf89116da8faba456c4519d3d2a (patch)
tree140b026ee64d8a1407de819a6dc0b79ecc40452c /assets/js
parent2a221f180ebf6f86e3709401804108fcda65184f (diff)
Finalized multilanguage support -- need to add text etc
Diffstat (limited to 'assets/js')
-rw-r--r--assets/js/chat.js2
-rw-r--r--assets/js/language.js36
-rw-r--r--assets/js/main.js47
3 files changed, 61 insertions, 24 deletions
diff --git a/assets/js/chat.js b/assets/js/chat.js
index 9acff1d..96be014 100644
--- a/assets/js/chat.js
+++ b/assets/js/chat.js
@@ -2,7 +2,7 @@
GENERATE KEYS
************/
if (localStorage.getItem('KeysGenerated') === null || localStorage.getItem('KeysGenerated') !== "true") {
- // GENERATE
+ // GENERATE -- LATER ON LOGIN!
var EncryptionPhrase = "PASSWORD 123"; // THE USERS PASSWORD
var RSABitLength = 1024;
var PrivateKeyString = cryptico.generateRSAKey(EncryptionPhrase, RSABitLength);
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();
+});
diff --git a/assets/js/main.js b/assets/js/main.js
index aa0f76b..1aefdf4 100644
--- a/assets/js/main.js
+++ b/assets/js/main.js
@@ -1,33 +1,34 @@
-/*****
-NAVBAR
-*****/
-var $el, leftPos, newWidth,
- $mainNav = $(".Navbar");
-$mainNav.append("<span class='NavbarLine'></span>");
-var $magicLine = $(".NavbarLine");
-$magicLine
+var MainTabWindows = $(".MainTabWindows");
+var NavbarIconWrap = $(".NavbarIconWrap");
+var Navbar = $(".Navbar");
+var NavbarLine = $(".NavbarLine");
+
+/******
+ NAVBAR
+ *****/
+var $el, leftPos, newWidth;
+NavbarLine
.css("left", $(".ActiveTab").position().left)
- .data("origLeft", $magicLine.position().left)
- .data("origWidth", $magicLine.width());
-$(".NavbarIconWrap").on("click", function () {
- $(".NavbarIconWrap").removeClass("ActiveTab");
+ .data("origLeft", NavbarLine.position().left)
+ .data("origWidth", NavbarLine.width());
+NavbarIconWrap.on("click", function () {
+ NavbarIconWrap.removeClass("ActiveTab");
$(this).addClass("ActiveTab");
var index = $(this).attr('id');
- $('.MainTabWindows').slick('slickGoTo',index);
+ MainTabWindows.slick('slickGoTo', index);
//$('.MainTabWindows').flickity().flickity('select', index);
-
$el = $(this);
leftPos = $el.position().left;
- $magicLine.stop().animate({
+ NavbarLine.stop().animate({
left: leftPos,
- width: newWidth,
+ width: newWidth
}, 300);
});
-/*******
-FLICKITY
-*******/
-$('.MainTabWindows').slick({
+/********
+ FLICKITY
+ *******/
+MainTabWindows.slick({
initialSlide: 2,
mobileFirst: true,
nextArrow: "",
@@ -36,13 +37,13 @@ $('.MainTabWindows').slick({
zIndex: 500
});
-$('.MainTabWindows').on('beforeChange', function(event, slick, currentSlide, nextSlide){
+MainTabWindows.on('beforeChange', function (event, slick, currentSlide, nextSlide) {
//console.log(nextSlide);
- $(".NavbarIconWrap").removeClass("ActiveTab");
+ NavbarIconWrap.removeClass("ActiveTab");
$el = $("#" + nextSlide);
$el.addClass("ActiveTab");
leftPos = $el.position().left;
- $magicLine.stop().animate({
+ NavbarLine.stop().animate({
left: leftPos,
width: newWidth
}, 300);