From 6e25dc83b8b9d6ea3821b5252d9eaa2b755d3d47 Mon Sep 17 00:00:00 2001 From: Stewart Allen Date: Tue, 17 Mar 2020 10:44:42 -0400 Subject: [PATCH] allow language dictionary to load from url or localstorage setting --- js/kiri-init.js | 3 +++ js/kiri.js | 24 ++++++++++++++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/js/kiri-init.js b/js/kiri-init.js index 8e1ec8e4..76b7665e 100644 --- a/js/kiri-init.js +++ b/js/kiri-init.js @@ -1678,6 +1678,9 @@ var gs_kiri_init = exports; }; API.view.set(VIEWS.ARRANGE); + + // show version on startup + API.show.alert(`${LANG.version} ${KIRI.version}`); } // schedule init_one to run after all page content is loaded diff --git a/js/kiri.js b/js/kiri.js index a2240d95..29850a7f 100644 --- a/js/kiri.js +++ b/js/kiri.js @@ -69,7 +69,7 @@ self.kiri.license = exports.LICENSE; camStock = null, camTopZ = 0, topZ = 0, - showFavorites = SDB['dev-favorites'] === 'true', + showFavorites = SDB.getItem('dev-favorites') === 'true', alerts = []; // seed defaults. will get culled on save @@ -346,7 +346,9 @@ self.kiri.license = exports.LICENSE; function getShowFavorites(bool) { if (bool !== undefined) { - return SDB['dev-favorites'] = showFavorites = bool; + SDB.setItem('dev-favorites', bool); + showFavorites = bool; + return bool; } return showFavorites; } @@ -1824,10 +1826,20 @@ self.kiri.license = exports.LICENSE; } // allow language modules to load first - if (SETUP.ln) KIRI.lang.set(SETUP.ln[0]); if (SETUP.rm) renderMode = parseInt(SETUP.rm[0]); - // show version on startup - API.show.alert(`${LANG.version} ${KIRI.version}`); - + // inject language script + if (SETUP.ln || SDB.getItem('kiri-lang')) { + let lang = SETUP.ln ? SETUP.ln[0] : SDB.getItem('kiri-lang'); + if (lang !== 'en') { + let scr = DOC.createElement('script'); + scr.setAttribute('defer',true); + scr.setAttribute('src',`/kiri/lang/${lang}.js`); + DOC.body.appendChild(scr); + STATS.set('ll',lang); + scr.onload = function() { + KIRI.lang.set(lang); + } + } + } })();