Igor пре 5 година
родитељ
комит
d4ca7ddbee
8 измењених фајлова са 1161 додато и 268 уклоњено
  1. 0 39
      i18n/i18n-engine.js
  2. 1 1
      index.html
  3. 4 3
      js/main.js
  4. 22 0
      js/services/i18nHelper.js
  5. 5 4
      js/services/languageService.js
  6. 1124 217
      package-lock.json
  7. 3 3
      package.json
  8. 2 1
      webpack.config.js

+ 0 - 39
i18n/i18n-engine.js

@@ -1,39 +0,0 @@
-
-var LocalizedStrings = ivprogCore.LocalizedStrings;
-var StringTypes = ivprogCore.StringTypes;
-
-function i18n(identifier) {
-  var opts = identifier.split(':');
-  var type = opts[0].toLowerCase();
-  var id = opts[1];
-  if (StringTypes.ERROR === type) {
-    return LocalizedStrings.getError(id);
-  } else if (StringTypes.MESSAGE === type) {
-    return LocalizedStrings.getMessage(id); 
-  } else if (StringTypes.UI === type) {
-    return LocalizedStrings.getUI(id);
-  } else {
-    console.warn(" A string has been passed to the i18n helper function that was not in the form type:id -> " + identifier);
-    return LocalizedStrings.getString(id, type);
-  }
-}
-
-i18n.set = function(locale, identifier, translate) {
-  if (!i18n.db[locale]) {
-    i18n.db[locale] = {};
-  }
-  i18n.db[locale][identifier] = translate;
-}
-
-i18n.updateLocale = function(new_locale) {
-  localStorage.setItem('ivprog.lang', new_locale);
-  $( "data.i18n" ).each(function() {
-    $( this ).text(i18n($( this ).val()));
-  });
-}
-
-$( document ).ready(function() {
-  $( "data.i18n" ).each(function() {
-    $( this ).text(i18n($( this ).val()));
-  });
-});

+ 1 - 1
index.html

@@ -14,7 +14,6 @@
     <script src="js/jquery-3.3.1.min.js"></script>
     <script src="js/iassign-integration-functions.js"></script>
     <script src="build/ivprog.bundle.js"></script>
-    <script src="i18n/i18n-engine.js"></script>
     <script src="js/semantic/semantic.min.js"></script>
     <script src="js/semantic/semantic-buttons.js"></script>
 
@@ -128,6 +127,7 @@
 
     <script>
       $(document).ready(() => {
+        ivprogCore.LocalizedStrings.updateTagText();
         ivprogCore.initVisualUI();
         prepareEnvironment();
       });

+ 4 - 3
js/main.js

@@ -1,12 +1,13 @@
 import { runner } from './runner';
 import { initVisualUI } from './visualUI/functions';
 import { LocalizedStrings} from './services/localizedStringsService';
-import line_i18n from 'line-i18n';
+import { i18nHelper } from "./services/i18nHelper";
+
+const i18n = i18nHelper.i18n
 
-const StringTypes = line_i18n.StringTypes;
 export {
   runner,
   initVisualUI,
   LocalizedStrings,
-  StringTypes
+  i18n
 }

+ 22 - 0
js/services/i18nHelper.js

@@ -0,0 +1,22 @@
+import line_i18n from "line-i18n";
+import { LocalizedStrings } from "./localizedStringsService";
+
+const StringTypes = line_i18n.StringTypes;
+
+export const i18nHelper = Object.freeze({
+  i18n: (identifier) => {
+    var opts = identifier.split(':');
+    var type = opts[0].toLowerCase();
+    var id = opts[1];
+    if (StringTypes.ERROR === type) {
+      return LocalizedStrings.getError(id);
+    } else if (StringTypes.MESSAGE === type) {
+      return LocalizedStrings.getMessage(id); 
+    } else if (StringTypes.UI === type) {
+      return LocalizedStrings.getUI(id);
+    } else {
+      console.warn("A string has been passed to the i18n helper function that was not in the form type:id -> " + identifier);
+      return LocalizedStrings.getString(identifier, type);
+    }
+  }
+});

+ 5 - 4
js/services/languageService.js

@@ -1,12 +1,13 @@
 import Lexers from './../../grammar/';
 import line_i18n from 'line-i18n';
 
-const DEFAULT_LANG = "pt";
+// This is for LanguageService with localStorage
+// const DEFAULT_LANG = "pt";
 
-class LanguageServiceExtended extends line_i18n.LanguageService {
+class LanguageServiceExtended extends line_i18n.LanguageServiceNoLS {
 
   constructor () {
-    super("ivprog.lang", DEFAULT_LANG);
+    super(iLMparameters.lang);
   }
 
   getCurrentLexer () {
@@ -36,4 +37,4 @@ class LanguageServiceExtended extends line_i18n.LanguageService {
   }
 }
 
-export const LanguageService  = Object.freeze(new LanguageServiceExtended());
+export const LanguageService  = new LanguageServiceExtended();

Разлика између датотеке није приказан због своје велике величине
+ 1124 - 217
package-lock.json


+ 3 - 3
package.json

@@ -46,10 +46,10 @@
   },
   "dependencies": {
     "antlr4": "^4.7.1",
+    "decimal.js": "^10.0.1",
     "jquery": "^3.3.1",
+    "line-i18n": "git+https://git.lcalion.com/LInE/line-i18n.git",
     "melanke-watchjs": "^1.5.0",
-    "server": "^1.0.18",
-    "decimal.js": "^10.0.1",
-    "line-i18n": "git+https://git.lcalion.com/LInE/line-i18n.git"
+    "server": "^1.0.18"
   }
 }

+ 2 - 1
webpack.config.js

@@ -7,7 +7,8 @@ module.exports = {
     output: {
         path: path.resolve(__dirname, 'build'),
         filename: 'ivprog.bundle.js',
-        library: 'ivprogCore'
+        library: 'ivprogCore',
+        libraryTarget: 'umd'
     },
     node: {
         fs: 'empty',