add start of language dictionaries

This commit is contained in:
Stewart Allen 2019-04-11 10:47:58 -04:00
commit c533119b01
3 changed files with 61 additions and 5 deletions

51
js/kiri-lang.js Normal file
View file

@ -0,0 +1,51 @@
/** Copyright 2014-2019 Stewart Allen -- All Rights Reserved */
"use strict";
var gs_kiri_lang = exports;
(function() {
if (!self.kiri) self.kiri = {};
if (self.kiri.lang) return;
var KIRI = self.kiri,
LANG = self.kiri.lang = {};
LANG.set = (key) => {
if (LANG[key]) {
let map = LANG[key];
// default to EN values when missing
Object.keys(LANG.en).forEach(key => {
if (!map[key]) {
map[key] = LANG.en[key];
}
});
// update current map from chosen map
Object.keys(map).forEach(key => {
LANG.current[key] = map[key];
});
}
}
// english. other language maps will defer to english
// map for any missing key/value pairs
LANG.en = {
version: "version",
dev_name: "name",
dev_filament: "filament",
dev_fil_desc: "diameter in millimeters",
dev_nozzle: "nozzle",
dev_noz_desc: "diameter in millimeters"
};
LANG.test = {
version: "_version_",
dev_name: "_name_"
};
LANG.current = {};
LANG.set('en');
})();

View file

@ -459,6 +459,7 @@ self.kiri.license = exports.LICENSE;
BASE = SELF.base, BASE = SELF.base,
UTIL = BASE.util, UTIL = BASE.util,
DBUG = BASE.debug, DBUG = BASE.debug,
LANG = KIRI.lang.current,
// --------------- // ---------------
WIN = SELF.window, WIN = SELF.window,
DOC = SELF.document, DOC = SELF.document,
@ -518,12 +519,14 @@ self.kiri.license = exports.LICENSE;
local = SETUP.local, local = SETUP.local,
mouseMoved = false, mouseMoved = false,
camStock = null, camStock = null,
camTopZ = 0, camTopZ = 0;
alerts = [ [ "version " + kiri.version, Date.now() ] ];
DBUG.enable(); DBUG.enable();
if (SETUP.rm) renderMode = parseInt(SETUP.rm[0]); if (SETUP.rm) renderMode = parseInt(SETUP.rm[0]);
if (SETUP.ln) KIRI.lang.set(SETUP.ln[0]);
var alerts = [ [ `${LANG.version} ${kiri.version}`, Date.now() ] ];
KIRI.api = { KIRI.api = {
ui : UI, ui : UI,
@ -2296,9 +2299,9 @@ self.kiri.license = exports.LICENSE;
deviceSelect: $('device-select'), deviceSelect: $('device-select'),
device: UC.newGroup("device", $('device')), device: UC.newGroup("device", $('device')),
deviceName: UC.newInput("name", {size:20}), deviceName: UC.newInput(LANG.dev_name, {size:20}),
setDeviceFilament: UC.newInput("filament", {title:"diameter in millimeters", convert:UC.toFloat, modes:FDM}), setDeviceFilament: UC.newInput(LANG.dev_filament, {title:LANG.dev_fil_desc, convert:UC.toFloat, modes:FDM}),
setDeviceNozzle: UC.newInput("nozzle", {title:"diameter in millimeters", convert:UC.toFloat, modes:FDM}), setDeviceNozzle: UC.newInput(LANG.dev_nozzle, {title:LANG.dev_noz_desc, convert:UC.toFloat, modes:FDM}),
setDeviceWidth: UC.newInput("bed width", {title:"millimeters", convert:UC.toInt}), setDeviceWidth: UC.newInput("bed width", {title:"millimeters", convert:UC.toInt}),
setDeviceDepth: UC.newInput("bed depth", {title:"millimeters", convert:UC.toInt}), setDeviceDepth: UC.newInput("bed depth", {title:"millimeters", convert:UC.toInt}),
setDeviceHeight: UC.newInput("max height", {title:"max build height\nin millimeters", convert:UC.toInt, modes:FDM}), setDeviceHeight: UC.newInput("max height", {title:"max build height\nin millimeters", convert:UC.toInt, modes:FDM}),

View file

@ -754,6 +754,7 @@ var ver = require('../js/license.js'),
"moto-load-stl", "moto-load-stl",
"moto-db", "moto-db",
"moto-ui", "moto-ui",
"kiri-lang",
"kiri-db", "kiri-db",
"kiri-slice", "kiri-slice",
"kiri-slicer", "kiri-slicer",
@ -799,6 +800,7 @@ var ver = require('../js/license.js'),
"geo-polygon", "geo-polygon",
"geo-polygons", "geo-polygons",
"geo-gyroid", "geo-gyroid",
"kiri-lang",
"kiri-slice", "kiri-slice",
"kiri-slicer", "kiri-slicer",
"kiri-driver-fdm", "kiri-driver-fdm",