Browse Source

Merge remote-tracking branch 'upstream/update2018'

Nikolay Suslov 7 years ago
parent
commit
211969a784

+ 10 - 2
support/client/lib/index.html

@@ -62,8 +62,9 @@ SOFTWARE.
     <script type="text/javascript" src="vwf/view/lib/he.js"></script>
     <script type="text/javascript" src="vwf/view/lib/draggabilly.pkgd.js"></script>
     <script type="text/javascript" src="js/screenfull.min.js"></script>
-    <!-- <script type="text/javascript" src="vwf/view/lib/polyglot/polyglot.min.js"></script> -->
 
+    <script type="text/javascript" src="vwf/view/lib/polyglot/polyglot.min.js"></script>
+    <script type="text/javascript" src="vwf/view/lib/polyglot/language.js"></script>
 
     <link rel="stylesheet" href="vwf/view/lib/mdc/dist/material-components-web.css">
     <script src="vwf/view/lib/mdc/dist/material-components-web.js"></script>
@@ -99,7 +100,14 @@ SOFTWARE.
 
         var userLibraries = { model: {}, view: {} };
         var application;
-        vwf.loadConfiguration(application, userLibraries, compatibilityCheck);
+
+        window._LangManager = new Lang;
+        _LangManager.setLanguage().then(res => {
+
+            vwf.loadConfiguration(application, userLibraries, compatibilityCheck);
+
+        })
+ 
     </script>
 
     <!-- This is the common view implementation and an example view that summarizes the          -->

+ 2 - 3
support/client/lib/vwf/view/editor-new.js

@@ -27,9 +27,8 @@ define([
     "vwf/utility",
     "vwf/view/lib/ace/ace",
     "vwf/view/lib/colorpicker/colorpicker.min",
-    "vwf/view/polyglot-editor",
     "vwf/view/widgets"
-], function (module, version, view, utility, ace, colorpicker, lang, widgets) {
+], function (module, version, view, utility, ace, colorpicker, widgets) {
 
     var self;
 
@@ -41,7 +40,7 @@ define([
             self = this;
             this.ace = window.ace;
             this.widgets = widgets;
-            this.lang = lang.language;
+            this.lang = _LangManager.language;
 
             this.nodes = {};
             this.scenes = {};

+ 50 - 0
support/client/lib/vwf/view/lib/polyglot/language.js

@@ -0,0 +1,50 @@
+class Lang {
+    constructor() {
+        console.log("lang constructor");
+        this.polyglot = Polyglot;
+
+        if (localStorage.getItem('krestianstvo_locale')) {
+        } else {
+            localStorage.setItem('krestianstvo_locale', 'en');
+        }
+        this.locale = localStorage.getItem('krestianstvo_locale');
+        //this.setLanguage(this.locale);
+
+    }
+
+    async getLang(langID) {
+        let response = await fetch("/web/locale/" + langID + ".json");
+        let data = await response.json();
+        return data
+    }
+
+   async setLanguage(langID) {
+       var currentLang = localStorage.getItem('krestianstvo_locale');
+      if (langID) {
+        currentLang = langID
+      }
+       let phrases = await this.getLang(currentLang);
+       this.language = new Polyglot({ phrases });
+
+        // this.getLang(langID).then(phrases => {
+        //     this.language = new polyglot({ phrases });
+        //     return phrases
+        // });
+    }
+
+    getLocale() {
+        return this.locale
+    }
+
+    setLocale(langID){
+        localStorage.setItem('krestianstvo_locale', langID);
+        this.locale = langID;
+    }
+
+    async changeLanguageTo(langID){
+        this.setLocale(langID);
+        await this.setLanguage(langID);
+    }
+
+}
+

+ 0 - 48
support/client/lib/vwf/view/polyglot-editor.js

@@ -1,48 +0,0 @@
-'use strict';
-
-define([
-    "vwf/view/lib/polyglot/polyglot.min",
-], function (polyglot) {
-
-    var self;
-
-    class Lang {
-        constructor() {
-            console.log("lang constructor");
-            this.polyglot = polyglot;
-
-            if (localStorage.getItem('krestianstvo_locale')) {
-            } else {
-                localStorage.setItem('krestianstvo_locale', 'en');
-            }
-            this.locale = localStorage.getItem('krestianstvo_locale');
-            this.setLanguage(this.locale);
-
-        }
-
-        async getLang(langID) {
-            let response = await fetch("/web/locale/" + langID + ".json");
-            let data = await response.json();
-            return data
-        }
-
-        setLanguage(langID) {
-            this.getLang(langID).then(phrases => {
-                this.language = new polyglot({ phrases });
-            });
-        }
-
-        setLocale(langID){
-            localStorage.setItem('krestianstvo_locale', langID);
-            this.locale = langID;
-        }
-
-        changeLanguageTo(langID){
-            this.setLocale(langID);
-            this.setLanguage(langID);
-        }
-
-    }
-
-    return new Lang;
-})