From 9abcdd724985709ca70ffed66520ead543a2bfbf Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Thu, 7 Feb 2019 23:24:03 +0200 Subject: [PATCH 01/52] Update dev version to 0.11.1 --- npm-shrinkwrap.json | 2 +- package.json | 2 +- swagger.json | 2 +- swagger.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index d3286afb2eb..242edc20ac5 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,6 +1,6 @@ { "name": "nightscout", - "version": "0.11.0+release+20190207", + "version": "0.11.1+dev+20190207", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index af6ddbcd868..c5b7dc0b23c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nightscout", - "version": "0.11.0+release+20190207", + "version": "0.11.1+dev+20190207", "description": "Nightscout acts as a web-based CGM (Continuous Glucose Montinor) to allow multiple caregivers to remotely view a patients glucose data in realtime.", "license": "AGPL-3.0", "author": "Nightscout Team", diff --git a/swagger.json b/swagger.json index eb9014f159c..c0178e4c626 100755 --- a/swagger.json +++ b/swagger.json @@ -8,7 +8,7 @@ "info": { "title": "Nightscout API", "description": "Own your DData with the Nightscout API", - "version": "0.11.0+release+20190207", + "version": "0.11.1+dev+20190207", "license": { "name": "AGPL 3", "url": "https://www.gnu.org/licenses/agpl.txt" diff --git a/swagger.yaml b/swagger.yaml index 96d2449f2a1..7d12256be7a 100755 --- a/swagger.yaml +++ b/swagger.yaml @@ -4,7 +4,7 @@ servers: info: title: Nightscout API description: Own your DData with the Nightscout API - version: 0.11.0+release+20190207 + version: 0.11.1+dev+20190207 license: name: AGPL 3 url: 'https://www.gnu.org/licenses/agpl.txt' From f8410ab4eea0a85bf55fb0efb5034e7a383a2e58 Mon Sep 17 00:00:00 2001 From: PieterGit <6500826+PieterGit@users.noreply.github.com> Date: Fri, 8 Feb 2019 00:53:30 +0100 Subject: [PATCH 02/52] remove + from version, make way for 0.11.1, upgrade webpack (#4277) --- npm-shrinkwrap.json | 665 ++++---------------------------------------- package.json | 8 +- swagger.json | 4 +- swagger.yaml | 2 +- 4 files changed, 59 insertions(+), 620 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 242edc20ac5..faa7b310f6d 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,6 +1,6 @@ { "name": "nightscout", - "version": "0.11.1+dev+20190207", + "version": "0.11.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -293,6 +293,17 @@ "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } } }, "aproba": { @@ -896,24 +907,22 @@ "dev": true }, "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.0.tgz", + "integrity": "sha512-5t6G2SH8eO6lCvYOoUpaRnF5Qfd//gd7qJAkwRUw9qlGVkiQ13uwQngqbWWaurOsaAm9+kUGbITADxt6H0XFNQ==", "dev": true, "requires": { "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", + "async-each": "^1.0.1", + "braces": "^2.3.2", "glob-parent": "^3.1.0", - "inherits": "^2.0.1", + "inherits": "^2.0.3", "is-binary-path": "^1.0.0", "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", + "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "readdirp": "^2.2.1", + "upath": "^1.1.0" }, "dependencies": { "array-unique": { @@ -1787,17 +1796,17 @@ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, "event-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-4.0.1.tgz", - "integrity": "sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", "requires": { - "duplexer": "^0.1.1", - "from": "^0.1.7", - "map-stream": "0.0.7", - "pause-stream": "^0.0.11", - "split": "^1.0.1", - "stream-combiner": "^0.2.2", - "through": "^2.3.8" + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" } }, "events": { @@ -2331,535 +2340,6 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fsevents": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", - "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true - } - } - }, "get-caller-file": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", @@ -2934,12 +2414,6 @@ "resolve-dir": "^1.0.0" } }, - "global-modules-path": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.3.1.tgz", - "integrity": "sha512-y+shkf4InI7mPRHSo2b/k6ix6+NLDtyccYv86whhxrSGX9wjPX1VMITmrDbE1eh7zkzhiWtW2sHklJYoQ62Cxg==", - "dev": true - }, "global-prefix": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", @@ -3757,12 +3231,6 @@ "type-check": "~0.3.2" } }, - "lightercollective": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/lightercollective/-/lightercollective-0.1.0.tgz", - "integrity": "sha512-J9tg5uraYoQKaWbmrzDDexbG6hHnMcWS1qLYgJSWE+mpA3U5OCSeMUhb+K55otgZJ34oFdR0ECvdIb3xuO5JOQ==", - "dev": true - }, "loader-runner": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", @@ -3794,12 +3262,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, "lodash.difference": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", @@ -3880,9 +3342,9 @@ "dev": true }, "map-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.0.7.tgz", - "integrity": "sha1-ih8HiW2CsQkmvTdEokIACfiJdKg=" + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=" }, "map-visit": { "version": "1.0.0", @@ -4761,13 +4223,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "nan": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", - "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==", - "dev": true, - "optional": true - }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -4875,13 +4330,10 @@ } }, "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true }, "npm-run-path": { "version": "2.0.2", @@ -6593,9 +6045,9 @@ } }, "split": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", "requires": { "through": "2" } @@ -6682,12 +6134,11 @@ } }, "stream-combiner": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", - "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", "requires": { - "duplexer": "~0.1.1", - "through": "~2.3.4" + "duplexer": "~0.1.1" } }, "stream-each": { @@ -7311,9 +6762,9 @@ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" }, "webpack": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.29.1.tgz", - "integrity": "sha512-dY3KyQIVeg6cDPj9G5Bnjy9Pt9SoCpbNWl0RDKHstbd3MWe0dG9ri4RQRpCm43iToy3zoA1IMOpFkJ8Clnc7FQ==", + "version": "4.29.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.29.3.tgz", + "integrity": "sha512-xPJvFeB+8tUflXFq+OgdpiSnsCD5EANyv56co5q8q8+YtEasn5Sj3kzY44mta+csCIEB0vneSxnuaHkOL2h94A==", "dev": true, "requires": { "@webassemblyjs/ast": "1.7.11", @@ -7335,7 +6786,7 @@ "mkdirp": "~0.5.0", "neo-async": "^2.5.0", "node-libs-browser": "^2.0.0", - "schema-utils": "^0.4.4", + "schema-utils": "^1.0.0", "tapable": "^1.1.0", "terser-webpack-plugin": "^1.1.0", "watchpack": "^1.5.0", @@ -7347,16 +6798,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.7.tgz", "integrity": "sha512-HNJNgE60C9eOTgn974Tlp3dpLZdUr+SoxxDwPaY9J/kDNOLQTkaDgwBUXAF4SSsrAwD9RpdxuHK/EbuF+W9Ahw==", "dev": true - }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } } } }, @@ -7427,9 +6868,9 @@ } }, "webpack-cli": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.2.1.tgz", - "integrity": "sha512-jeJveHwz/vwpJ3B8bxEL5a/rVKIpRNJDsKggfKnxuYeohNDW4Y/wB9N/XHJA093qZyS0r6mYL+/crLsIol4WKA==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.2.3.tgz", + "integrity": "sha512-Ik3SjV6uJtWIAN5jp5ZuBMWEAaP5E4V78XJ2nI+paFPh8v4HPSwo/myN0r29Xc/6ZKnd2IdrAlpSgNOu2CDQ6Q==", "dev": true, "requires": { "chalk": "^2.4.1", @@ -7437,10 +6878,8 @@ "enhanced-resolve": "^4.1.0", "findup-sync": "^2.0.0", "global-modules": "^1.0.0", - "global-modules-path": "^2.3.0", "import-local": "^2.0.0", "interpret": "^1.1.0", - "lightercollective": "^0.1.0", "loader-utils": "^1.1.0", "supports-color": "^5.5.0", "v8-compile-cache": "^2.0.2", diff --git a/package.json b/package.json index c5b7dc0b23c..c72a2d15341 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nightscout", - "version": "0.11.1+dev+20190207", + "version": "0.11.1", "description": "Nightscout acts as a web-based CGM (Continuous Glucose Montinor) to allow multiple caregivers to remotely view a patients glucose data in realtime.", "license": "AGPL-3.0", "author": "Nightscout Team", @@ -61,7 +61,7 @@ "d3": "^3.5.17", "ejs": "^2.6.1", "errorhandler": "^1.5.0", - "event-stream": "^4.0.1", + "event-stream": "3.3.4", "expand-braces": "^0.1.2", "express": "^4.16.4", "express-minify": "^1.0.0", @@ -106,8 +106,8 @@ "style-loader": "^0.23.1", "supertest": "^3.4.2", "terser-webpack-plugin": "^1.2.2", - "webpack": "^4.29.1", + "webpack": "^4.29.3", "webpack-bundle-analyzer": "^3.0.3", - "webpack-cli": "^3.2.1" + "webpack-cli": "^3.2.3" } } diff --git a/swagger.json b/swagger.json index c0178e4c626..4e5fbe80a57 100755 --- a/swagger.json +++ b/swagger.json @@ -8,7 +8,7 @@ "info": { "title": "Nightscout API", "description": "Own your DData with the Nightscout API", - "version": "0.11.1+dev+20190207", + "version": "0.11.1", "license": { "name": "AGPL 3", "url": "https://www.gnu.org/licenses/agpl.txt" @@ -1431,4 +1431,4 @@ } } } -} \ No newline at end of file +} diff --git a/swagger.yaml b/swagger.yaml index 7d12256be7a..44d98be8001 100755 --- a/swagger.yaml +++ b/swagger.yaml @@ -4,7 +4,7 @@ servers: info: title: Nightscout API description: Own your DData with the Nightscout API - version: 0.11.1+dev+20190207 + version: 0.11.1 license: name: AGPL 3 url: 'https://www.gnu.org/licenses/agpl.txt' From 42feacc73425c566899b932976775a847fba0308 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Sun, 17 Feb 2019 14:52:13 +0200 Subject: [PATCH 03/52] Improvement: causes client to say Ok Ok when the alarm test button is pressed, needed for speech to work on mobile browsers --- lib/client/index.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/client/index.js b/lib/client/index.js index 354901bc899..81dff1c9aae 100644 --- a/lib/client/index.js +++ b/lib/client/index.js @@ -1046,6 +1046,14 @@ client.load = function load(serverSettings, callback) { }); $('#testAlarms').click(function(event) { + + // Speech synthesis also requires on iOS that user triggers a speech event for it to speak anything + if (client.plugins('speech').isEnabled) { + var msg = new SpeechSynthesisUtterance('Ok ok.'); + msg.lang = 'en-US'; + window.speechSynthesis.speak(msg); + } + d3.selectAll('.audio.alarms audio').each(function () { var audio = this; playAlarm(audio); From 3ee22d4221bac6e2ff105eea3884571eada9c498 Mon Sep 17 00:00:00 2001 From: janrpn <40420150+janrpn@users.noreply.github.com> Date: Thu, 21 Feb 2019 09:15:21 +0100 Subject: [PATCH 04/52] Added janrpn as maintainer of the Danish language (#4379) * Update CONTRIBUTING.md Added myself as maintainer of the Danish language * Revert "Update CONTRIBUTING.md" This reverts commit 4864a672dc74444b8368a55e5ded5dec758126ad. * Added myself as maintainer of the Danish language --- CONTRIBUTING.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4e248b4f963..83ff0f5019d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -197,6 +197,7 @@ Also if you can't code, it's possible to contribute by improving the documentati [@tynbendad]: https://github.com/tynbendad [@unsoluble]: https://github.com/unsoluble [@viderehh]: https://github.com/viderehh +[@janrpn]: https://github.com/janrpn | Contribution area | List of contributors | | ------------------------------------- | ---------------------------------- | @@ -255,7 +256,7 @@ Languages with less than 90% coverage will be removed in a future Nightscout ver | Български (`bg`) |Please volunteer| OK | | Čeština (`cs`) |Please volunteer|OK | | Deutsch (`de`) |[@viderehh] [@herzogmedia] |OK | -| Dansk (`dk`) |Please volunteer|OK | +| Dansk (`dk`) | [@janrpn] |OK | | Ελληνικά `(el`)|Please volunteer|Needs attention: 68.5%| | English (`en`)|Please volunteer|OK| | Español (`es`) |Please volunteer|OK| From 83a8deab4ecda0a7b8f71c7c84ec7aaea7bfe244 Mon Sep 17 00:00:00 2001 From: Sascha Scandella Date: Sun, 24 Feb 2019 22:13:24 +0100 Subject: [PATCH 05/52] Changed base image to node:10-alpine (#4409) --- Dockerfile.example | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfile.example b/Dockerfile.example index d4c13c0ecd9..89a43f43c15 100644 --- a/Dockerfile.example +++ b/Dockerfile.example @@ -1,17 +1,17 @@ -FROM node:8.9.1 +FROM node:10-alpine MAINTAINER Nightscout Contributors -RUN apt-get update && \ - apt-get -y dist-upgrade - RUN mkdir -p /opt/app ADD . /opt/app WORKDIR /opt/app +RUN chown -R node:node /opt/app +USER node RUN npm install && \ npm run postinstall && \ - npm run env + npm run env && \ + npm audit fix EXPOSE 1337 From 762fec6251d8102e46d1f0e4b05416a12c226766 Mon Sep 17 00:00:00 2001 From: jungsomyeong Date: Mon, 25 Feb 2019 06:17:33 +0900 Subject: [PATCH 06/52] Wrong Korean translation update (#4407) Korean translation update --- lib/language.js | 186 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 147 insertions(+), 39 deletions(-) diff --git a/lib/language.js b/lib/language.js index 875582c6298..8d4e21ebd21 100644 --- a/lib/language.js +++ b/lib/language.js @@ -488,7 +488,7 @@ function init() { ,ru: 'Имя' ,sk: 'Meno' ,nl: 'Naam' - ,ko: '이름' + ,ko: '프로파일 명' ,tr: 'İsim' ,zh_cn: '名称' } @@ -914,7 +914,7 @@ function init() { ,ru: 'Показать' ,sk: 'Ukáž' ,nl: 'Laat zien' - ,ko: '보여 주세요~' + ,ko: '확인' ,tr: 'Göster' ,zh_cn: '生成' } @@ -1316,7 +1316,7 @@ function init() { ,ru: 'Ежедневно' ,sk: 'Deň po dni' ,nl: 'Dag tot Dag' - ,ko: '날짜' + ,ko: '일별 그래프' ,tr: 'Günden Güne' ,zh_cn: '日到日' } @@ -1340,7 +1340,7 @@ function init() { ,ru: 'Week to week' ,sk: 'Week to week' ,nl: 'Week to week' - ,ko: 'Week to week' + ,ko: '주별 그래프' ,zh_cn: 'Week to week' } ,'Daily Stats' : { @@ -1364,7 +1364,7 @@ function init() { ,ru: 'Ежедневная статистика' ,sk: 'Denné štatistiky' ,nl: 'Dagelijkse statistiek' - ,ko: '날짜 통계' + ,ko: '일간 통계' ,tr: 'Günlük İstatistikler' ,zh_cn: '每日状态' } @@ -1439,7 +1439,7 @@ function init() { ,ru: 'Почасовая статистика' ,sk: 'Hodinové štatistiky' ,nl: 'Statistieken per uur' - ,ko: '시간 통계' + ,ko: '시간대별 통계' ,tr: 'Saatlik istatistikler' ,zh_cn: '每小时状态' } @@ -1863,7 +1863,7 @@ function init() { ,ru: 'Суточная статистика' ,sk: 'Denné štatistiky' ,nl: 'Dagelijkse statistieken' - ,ko: '날짜 통계 보고서' + ,ko: '일간 통계 보고서' ,tr: 'Günlük istatistikler raporu' ,zh_cn: '每日状态报表' } @@ -1939,7 +1939,7 @@ function init() { ,ru: 'всего дней' ,sk: 'dní celkom' ,nl: 'Totaal dagen' - ,ko: '날짜 전체' + ,ko: '일 전체' ,tr: 'toplam gün' ,zh_cn: '天总计' } @@ -1963,7 +1963,7 @@ function init() { ,ru: 'всего за сутки' ,sk: 'dní celkom' ,nl: 'Totaal dagen' - ,ko: '날짜 전체' + ,ko: '하루 총량' ,tr: 'Günlük toplam' ,zh_cn: '天总计' } @@ -2038,7 +2038,7 @@ function init() { ,ru: '% измерений' ,sk: '% záznamov' ,nl: '% metingen' - ,ko: '% 읽는 중' + ,ko: '수신된 혈당 비율(%)' ,tr: '% Okumaların' ,zh_cn: '%已读取' } @@ -2063,7 +2063,7 @@ function init() { ,ru: 'кол-во измерений' ,sk: 'Počet záznamov' ,nl: 'Aantal metingen' - ,ko: '# 읽는 중' + ,ko: '수신된 혈당 개수(#)' ,tr: '# Okumaların' ,zh_cn: '#已读取' } @@ -2520,7 +2520,7 @@ function init() { ,ru: 'Редактировать запись' ,sk: 'Upraviť záznam' ,nl: 'Bewerk invoer' - ,ko: '편집' + ,ko: '편집기록' ,tr: 'Kaydı düzenle' ,zh_cn: '编辑记录' } @@ -2545,7 +2545,7 @@ function init() { ,ru: 'Стереть запись' ,sk: 'Zmazať záznam' ,nl: 'Verwijder invoer' - ,ko: '삭제' + ,ko: '삭제기록' ,tr: 'Kaydı sil' ,zh_cn: '删除记录' } @@ -2778,7 +2778,7 @@ function init() { ,ru: 'Редактор еды' ,sk: 'Editor jedál' ,nl: 'Voeding beheer' - ,ko: '음식 편집기' + ,ko: '음식 편집' ,tr: 'Gıda Editörü' ,zh_cn: '食物编辑器' } @@ -3033,7 +3033,7 @@ function init() { ,ru: 'Лечение' ,sk: 'Ošetrenie' ,nl: 'Behandelingen' - ,ko: '대처' + ,ko: '관리' ,tr: 'Tedaviler' ,zh_cn: '操作' } @@ -3134,7 +3134,7 @@ function init() { ,ru: 'Введено от' ,sk: 'Zadal' ,nl: 'Ingevoerd door' - ,ko: '입력됨' + ,ko: '입력 내용' ,tr: 'Tarafından girildi' ,zh_cn: '输入人' } @@ -3709,7 +3709,7 @@ function init() { ,ru: 'Скорость базала' ,sk: 'Bazál' ,nl: 'Basaal snelheid' - ,ko: '기초량 비율' + ,ko: 'Basal 단위' ,tr: 'Basal oranı' ,zh_cn: '基础率' } @@ -4133,7 +4133,7 @@ function init() { ,ru: 'Редактор профиля' ,sk: 'Editor profilu' ,nl: 'Profiel beheer' - ,ko: '프로 편집기' + ,ko: '프로파일 편집' ,tr: 'Profil Düzenleyicisi' ,zh_cn: '配置文件编辑器' ,zh_tw: '配置文件編輯器' @@ -4542,7 +4542,7 @@ function init() { ,ru: 'Масштаб' ,sk: 'Mierka' ,nl: 'Schaal' - ,ko: '규모' + ,ko: '스케일' ,tr: 'Ölçek' ,zh_cn: '函数' ,zh_tw: '函數' @@ -4594,7 +4594,7 @@ function init() { ,ru: 'Логарифмический' ,sk: 'Logaritmické' ,nl: 'Logaritmisch' - ,ko: '다수' + ,ko: 'Logarithmic' ,tr: 'Logaritmik' ,zh_cn: '对数' ,zh_tw: '對數' @@ -4719,7 +4719,7 @@ function init() { ,ru: 'Величина загружена' ,nl: 'Waarde geladen' ,sk: 'Hodnoty načítané' - ,ko: '값이 로드됨' + ,ko: '데이터가 로드됨' ,tr: 'Yüklenen Değer' ,zh_cn: '数值已读取' ,zh_tw: '數值已讀取' @@ -6364,7 +6364,7 @@ function init() { ,sk: 'Resetovať do pôvodného nastavenia' ,nl: 'Herstel standaard waardes' ,ko: '초기화 그리고 초기설정으로 사용' - ,tr: 'Sıfırla ve varsayılanları kullan' + ,tr: 'Sıfırla ve varsayılanları kullan' ,zh_cn: '使用默认值重置' ,zh_tw: '使用默認值重置' } @@ -6950,7 +6950,7 @@ function init() { ,ru: 'О приложении' ,sk: 'O aplikácii' ,nl: 'Over' - ,ko: '대하여' + ,ko: '정보' ,tr: 'Hakkında' ,zh_cn: '关于' ,zh_tw: '關於' @@ -8259,7 +8259,7 @@ function init() { ,ru: 'Статистика Nightscout' ,sk: 'Nightscout výkazy' ,nl: 'Nightscout rapportages' - ,ko: 'Nightscout 보고하기' + ,ko: 'Nightscout 보고서' ,tr: 'NightScout raporları' ,zh_cn: 'Nightscout报表生成器' } @@ -8783,7 +8783,7 @@ function init() { ,ru: 'Запись действительна от' ,sk: 'Záznam platný od' ,nl: 'Geldig van' - ,ko: '유효 기록' + ,ko: '기록을 시작한 날짜' ,it: 'Record valido da' ,tr: 'Buradan geçerli giriş' ,zh_cn: '有效记录,从' @@ -8898,7 +8898,7 @@ function init() { ,ru: 'Соотношение инсулин/углеводы I:C' ,sk: 'Inzulín-sacharidový pomer (I:C)' ,nl: 'Insuline - Koolhydraat ratio (I:C)' - ,ko: '탄수화물에 대한 인슐린 비율(I:C)' + ,ko: '인슐린에 대한 탄수화물 비율(I:C)' ,it: 'Rapporto Insulina-Carboidrati (I:C)' ,tr: 'İnsülin/Karbonhidrat oranı (I:C)' ,zh_cn: '碳水化合物系数(ICR)' @@ -9360,7 +9360,7 @@ function init() { ,nl: 'Geldig van:' ,ko: '유효' ,it: 'Valido da:' - ,tr: 'Tarihinden itibaren geçerli' + ,tr: 'Tarihinden itibaren geçerli' ,zh_cn: '生效从:' } ,'Save current record before switching to new?' : { @@ -10538,7 +10538,7 @@ function init() { ,ro: 'Fiecare rol va avea cel puțin o permisiune. Permisiunea * este totală, permisiunile sunt ierarhice utilizând : pe post de separator.' ,ru: 'Каждая роль имеет 1 или более разрешений. Разрешение * это подстановочный символ, разрешения это иерархия, использующая : как разделитель.' ,sv: 'Varje roll kommer få en eller flera rättigheter. * är en wildcard, rättigheter sätts hirarkiskt med : som avgränsare.' - ,dk: 'Hver rolle vil have en eller flere rettigheder. Rollen * fungere som wildcard / joker, rettigheder sættes hierakisk med : som skilletegn.' + ,dk: 'Hver rolle vil have en eller flere rettigheder. Rollen * fungere som wildcard / joker, rettigheder sættes hierakisk med : som skilletegn.' ,nb: 'Hver enkelt rolle vil ha en eller flere rettigheter. *-rettigheten er wildcard. Rettigheter settes hierarkisk med : som separator.' ,fi: 'Jokaisella roolilla on yksi tai useampia oikeuksia. * on jokeri (tunnistuu kaikkina oikeuksina), oikeudet ovat hierarkia joka käyttää : merkkiä erottimena.' ,de: 'Jede Rolle hat eine oder mehrere Berechtigungen. Die * Berechtigung ist ein Platzhalter, Berechtigungen sind hierachrchisch mit : als Separator.' @@ -10676,7 +10676,7 @@ function init() { ,nb: 'Hver enkelt ressurs får en unik sikkerhetsnøkkel og en eller flere roller. Klikk på sikkerhetsnøkkelen for å åpne valgte ressurs, den hemmelige lenken kan så deles.' ,fi: 'Jokaisella käyttäjällä on uniikki pääsytunniste ja yksi tai useampi rooli. Klikkaa pääsytunnistetta nähdäksesi käyttäjän, jolloin saat jaettavan osoitteen tämän käyttäjän oikeuksilla.' ,de: 'Jedes Subjekt erhält einen einzigartigen Zugriffsschlüssel und eine oder mehrere Rollen. Klicke auf den Zugriffsschlüssel, um eine neue Ansicht mit dem ausgewählten Subjekt zu erhalten. Dieser geheime Link kann geteilt werden.' - ,dk: 'Hvert emne vil have en unik sikkerhedsnøgle samt en eller flere roller. Klik på sikkerhedsnøglen for at åbne et nyt view med det valgte emne, dette hemmelige link kan derefter blive delt.' + ,dk: 'Hvert emne vil have en unik sikkerhedsnøgle samt en eller flere roller. Klik på sikkerhedsnøglen for at åbne et nyt view med det valgte emne, dette hemmelige link kan derefter blive delt.' ,pt: 'Cada assunto terá um único token de acesso e uma ou mais Funções. Clique no token de acesso para abrir uma nova visualização com o assunto selecionado. Este link secreto poderá então ser compartilhado' ,sk: 'Každý objekt má svoj unikátny prístupový token a 1 alebo viac rolí. Klikni na prístupový token pre otvorenie nového okna pre tento subjekt. Tento link je možné zdielať.' ,ko: '각 주제는 유일한 access token을 가지고 1 또는 그 이상의 역할을 가질 것이다. 선택된 주제와 새로운 뷰를 열기 위해 access token을 클릭하세요. 이 비밀 링크는 공유되어질 수 있다.' @@ -11571,6 +11571,7 @@ function init() { ,fi: 'Korkean sokerin varoitus poistettu riittävän insuliinin vuoksi' ,pt: 'Ignorar alarme de hiper em função de IOB suficiente' ,sk: 'Odloženie alarmu vysokej glykémie, pretože je dostatok IOB' + ,ko: '충분한 IOB가 남아 있기 때문에 고혈당 알람을 스누즈' ,it: 'Addormenta allarme alto poiché non vi è sufficiente IOB' ,nl: 'Snooze hoog alarm, er is genoeg IOB' ,tr: 'Yeterli IOB(Aktif İnsülin) olduğundan KŞ yüksek uyarımını ertele' @@ -11592,6 +11593,7 @@ function init() { ,pt: 'Meça a glicemia, hora de bolus de correção?' ,es: 'Controle su glucemia, ¿quizás un bolo Insulina?' ,sk: 'Skontrolovať glykémiu, čas na bolus?' + ,ko: 'Bolus를 주입할 시간입니다. 혈당 체크 하시겠습니까?' ,it: 'Controllare BG, il tempo del bolo?' ,nl: 'Controleer BG, tijd om te bolussen?' ,tr: 'KŞine bakın, gerekirse bolus verin?' @@ -11614,6 +11616,7 @@ function init() { ,nl: 'Notitie' ,pt: 'Nota' ,sk: 'Poznámka' + ,ko: '알림' ,it: 'Preavviso' ,tr: 'Not' ,zh_cn: '提示' @@ -11634,6 +11637,7 @@ function init() { ,fi: 'tarvittava tieto puuttuu' ,pt: 'Informação essencial faltando' ,sk: 'chýbajúca informácia' + ,ko: '요청한 정보 손실' ,it: 'richiesta informazioni mancanti' ,nl: 'vereiste gegevens ontbreken' ,tr: 'gerekli bilgi eksik' @@ -11655,6 +11659,7 @@ function init() { ,pt: 'Insulina ativa' ,es: 'Insulina activa (IOB)' ,sk: 'Aktívny inzulín (IOB)' + ,ko: '활성 인슐린(IOB)' ,it: 'IOB - Insulina Attiva' ,nl: 'IOB - Inuline on board' ,tr: '(IOB) Aktif İnsülin' @@ -11676,6 +11681,7 @@ function init() { ,es: 'Objetivo actual' ,pt: 'Meta atual' ,sk: 'Aktuálny cieľ' + ,ko: '현재 목표' ,it: 'Obiettivo attuale' ,nl: 'huidig doel' ,tr: 'Mevcut hedef' @@ -11697,6 +11703,7 @@ function init() { ,pt: 'Efeito esperado' ,es: 'Efecto previsto' ,sk: 'Očakávaný efekt' + ,ko: '예상 효과' ,it: 'Effetto Previsto' ,nl: 'verwacht effect' ,tr: 'Beklenen etki' @@ -11718,6 +11725,7 @@ function init() { ,pt: 'Resultado esperado' ,es: 'Resultado previsto' ,sk: 'Očakávaný výsledok' + ,ko: '예상 결과' ,it: 'Risultato previsto' ,nl: 'Veracht resultaat' ,tr: 'Beklenen sonuç' @@ -11740,6 +11748,7 @@ function init() { ,es: 'Equivalencia en Carbohidratos' ,pt: 'Equivalente em carboidratos' ,sk: 'Sacharidový ekvivalent' + ,ko: '탄수화물 양' ,it: 'Carb equivalenti' ,tr: 'Karbonhidrat eşdeğeri' ,zh_cn: '碳水当量' @@ -11761,6 +11770,7 @@ function init() { ,fi: 'Liikaa insuliinia: %1U enemmän kuin tarvitaan tavoitteeseen pääsyyn (huomioimatta hiilihydraatteja)' ,pt: 'Excesso de insulina equivalente a %1U além do necessário para atingir a meta inferior, sem levar em conta carboidratos' ,sk: 'Nadbytok inzulínu o %1U viac ako je potrebné na dosiahnutie spodnej cieľovej hranice. Neráta sa so sacharidmi.' + ,ko: '낮은 혈당 목표에 도달하기 위해 필요한 인슐린양보다 %1U의 인슐린 양이 초과 되었고 탄수화물 양이 초과되지 않았습니다.' ,it: 'L\'eccesso d\'insulina equivalente %1U più che necessari per raggiungere l\'obiettivo basso, non rappresentano i carboidrati.' ,nl: 'Overschot insuline %1U meer dan nodig om het laag doel te bereiken, geen rekening gehouden met KH' ,tr: 'Fazla insülin: Karbonhidratları dikkate alınmadan, alt hedefe ulaşmak için gerekenden %1U\'den daha fazla' //??? @@ -11783,6 +11793,7 @@ function init() { ,fi: 'Liikaa insuliinia: %1U enemmän kuin tarvitaan tavoitteeseen pääsyyn, VARMISTA RIITTÄVÄ HIILIHYDRAATTIEN SAANTI' ,pt: 'Excesso de insulina equivalente a %1U além do necessário para atingir a meta inferior. ASSEGURE-SE DE QUE A IOB ESTEJA COBERTA POR CARBOIDRATOS' ,sk: 'Nadbytok inzulínu o %1U viac ako je potrebné na dosiahnutie spodnej cieľovej hranice. UISTITE SA, ŽE JE TO POKRYTÉ SACHARIDMI' + ,ko: '낮은 혈당 목표에 도달하기 위해 필요한 인슐린양보다 %1U의 인슐린 양이 초과 되었습니다. 탄수화물로 IOB를 커버하세요.' ,it: 'L\'eccesso d\'insulina equivalente %1U più che necessario per raggiungere l\'obiettivo basso, ASSICURARSI IOB SIA COPERTO DA CARBOIDRATI' ,tr: 'Fazla insülin: Alt KŞ hedefine ulaşmak için gerekenden %1 daha fazla insülin.IOB(Aktif İnsülin) Karbonhidrat tarafından karşılandığından emin olun.' ,zh_cn: '胰岛素超过至血糖下限目标所需剂量%1单位,确认IOB(活性胰岛素)被碳水化合物覆盖' @@ -11804,6 +11815,7 @@ function init() { ,pt: 'Necessária redução de %1U na insulina ativa para atingir a meta inferior, excesso de basal?' ,nl: '%1U reductie vereist in actieve insuline om laag doel te bereiken, teveel basaal?' ,sk: 'Nutné zníženie aktívneho inzulínu o %1U pre dosiahnutie spodnej cieľovej hranice. Príliš veľa bazálu?' + ,ko: '낮은 혈당 목표에 도달하기 위해 활성 인슐린 양을 %1U 줄일 필요가 있습니다. basal양이 너무 많습니까?' ,it: 'Riduzione 1U% necessaria d\'insulina attiva per raggiungere l\'obiettivo basso, troppa basale?' ,tr: 'Alt KŞ hedefi için %1U aktif insülin azaltılmalı, bazal oranı çok mu yüksek?' ,zh_cn: '活性胰岛素已可至血糖下限目标,需减少%1单位,基础率过高?' @@ -11824,6 +11836,7 @@ function init() { ,fi: 'säätö liian suuri, anna hiilihydraatteja?' ,pt: 'ajuste de basal fora da meta, dar carboidrato?' ,sk: 'úprava pomocou zmeny bazálu nie je možná. Podať sacharidy?' + ,ko: '적정 basal 양의 범위를 초과했습니다. 탄수화물 보충 하시겠습니까?' ,it: 'regolazione basale fuori campo, dare carboidrati?' ,nl: 'basaal aanpassing buiten bereik, geef KH?' ,tr: 'Bazal oran ayarlaması limit dışı, karbonhidrat alınsın mı?' @@ -11845,6 +11858,7 @@ function init() { ,es: 'Ajuste de basal fuera de rango, corregir con insulina?' ,pt: 'ajuste de basal fora da meta, dar bolus de correção?' ,sk: 'úprava pomocou zmeny bazálu nie je možná. Podať bolus?' + ,ko: '적정 basal 양의 범위를 초과했습니다. bolus를 추가하시겠습니까?' ,it: 'regolazione basale fuori campo, dare bolo?' ,nl: 'basaal aanpassing buiten bereik, bolus?' ,tr: 'Bazal oran ayarlaması limit dışı, bolus alınsın mı?' @@ -11866,6 +11880,7 @@ function init() { ,pt: 'acima do limite superior' ,sk: 'nad horným' ,es: 'por encima límite superior' + ,ko: '고혈당 초과' ,it: 'sopra alto' ,nl: 'boven hoog' ,tr: 'üzerinde yüksek' @@ -11888,6 +11903,7 @@ function init() { ,es: 'por debajo límite inferior' ,pt: 'abaixo do limite inferior' ,sk: 'pod spodným' + ,ko: '저혈당 미만' ,it: 'sotto bassa' ,nl: 'onder laag' ,tr: 'altında düşük' @@ -11909,6 +11925,7 @@ function init() { ,fi: 'Laskettu VS %1 tavoitteen' ,pt: 'Meta de glicemia estimada %1' ,sk: 'Predpokladaná glykémia %1 cieľ' + ,ko: '목표된 혈당 %1' ,it: 'Proiezione BG %1 obiettivo' ,es: 'Glucemia estimada %1 en objetivo' ,nl: 'Verwachte BG %1 doel' @@ -11931,6 +11948,7 @@ function init() { ,es: 'resultado deseado' ,pt: 'meta' ,sk: 'cieľom' + ,ko: '목표' ,it: 'puntare a' ,nl: 'doel is' ,tr: 'istenen sonuç' @@ -11952,6 +11970,7 @@ function init() { ,pt: 'Bolus %1 unidades' ,es: 'Bolus %1 unidades' ,sk: 'Bolus %1 jednotiek' + ,ko: 'Bolus %1 단위' ,it: 'Bolo %1 unità' ,nl: 'Bolus %1 eenheden' ,tr: 'Bolus %1 Ünite' @@ -11973,6 +11992,7 @@ function init() { ,pt: 'ou ajuste basal' ,es: 'o ajustar basal' ,sk: 'alebo úprava bazálu' + ,ko: '또는 조절 basal' ,it: 'o regolare basale' ,nl: 'of pas basaal aan' ,tr: 'ya da bazal ayarlama' @@ -11994,6 +12014,7 @@ function init() { ,pt: 'Verifique glicemia de ponta de dedo antes de corrigir!' ,es: 'Verifique glucemia antes de corregir!' ,sk: 'Pred korekciou skontrolujte glykémiu glukometrom!' + ,ko: '수정하기 전에 혈당체크기를 사용하여 혈당을 체크하세요!' ,it: 'Controllare BG utilizzando glucometro prima di correggere!' ,nl: 'Controleer BG met bloeddruppel voor correctie!' ,zh_cn: '校正前请使用血糖仪测量血糖!' @@ -12015,6 +12036,7 @@ function init() { ,pt: 'Redução de basal para compensar %1 unidades:' ,es: 'Reducir basal para compesar %1 unidades:' ,sk: 'Úprava bazálu pre výpočet %1 jednotiek:' + ,ko: '%1 단위로 계산하기 위해 Basal 감소' ,it: 'Riduzione basale per conto %1 unità:' ,nl: 'Basaal verlaagd voor %1 eenheden' ,zh_cn: '基础率减少到%1单位' @@ -12036,6 +12058,7 @@ function init() { ,pt: 'Basal temp 30m' ,es: '30 min. temporal basal' ,sk: '30 minutový dočasný bazál' + ,ko: '30분 임시 basal' ,it: '30m basale temp' ,nl: '30 minuten tijdelijke basaal' ,zh_cn: '30分钟临时基础率' @@ -12057,6 +12080,7 @@ function init() { ,es: '1h temporal Basasl' ,pt: 'Basal temp 1h' ,sk: 'hodinový dočasný bazál' + ,ko: '1시간 임시 basal' ,it: '1h basale temp' ,nl: '1 uur tijdelijke basaal' ,zh_cn: '1小时临时基础率' @@ -12078,6 +12102,7 @@ function init() { ,pt: 'Substituição de catéter vencida!' ,es: '¡Cambio de agujas vencido!' ,sk: 'Výmena kanyli po lehote!' + ,ko: '주입세트(cannula) 기한이 지났습니다. 변경하세요!' ,it: 'Cambio Cannula in ritardo!' ,nl: 'Cannule te oud!' ,zh_cn: '超过更换管路的时间' @@ -12099,6 +12124,7 @@ function init() { ,es:' Hora sustituir cánula' ,pt: 'Hora de subistituir catéter' ,sk: 'Čas na výmenu kanyli' + ,ko: '주입세트(cannula)를 변경할 시간' ,it: 'Tempo di cambiare la cannula' ,nl: 'Verwissel canule' ,zh_cn: '已到更换管路的时间' @@ -12119,6 +12145,7 @@ function init() { ,fi: 'Vaihda kanyyli pian' ,pt: 'Substituir catéter em breve' ,sk: 'Čoskoro bude potrebné vymeniť kanylu' + ,ko: '주입세트(cannula)를 곧 변경하세요.' ,it: 'Cambio cannula prossimamente' ,nl: 'Verwissel canule binnenkort' ,zh_cn: '接近更换管路的时间' @@ -12140,6 +12167,7 @@ function init() { ,pt: 'Idade do catéter %1 horas' ,es: 'Cánula usada %1 horas' ,sk: 'Vek kanyli %1 hodín' + ,ko: '주입세트(cannula) %1시간 사용' ,it: 'Durata Cannula %1 ore' ,nl: 'Canule leeftijd %1 uren' ,zh_cn: '管路已使用%1小时' @@ -12161,6 +12189,7 @@ function init() { ,es: 'Insertar' ,pt: 'Inserido' ,sk: 'Zavedený' + ,ko: '삽입된' ,it: 'Inserito' ,nl: 'Ingezet' ,zh_cn: '已植入' @@ -12184,6 +12213,7 @@ function init() { ,pt: 'ICAT' ,es: 'Carb.desde' ,sk: 'SET' + ,ko: '주입세트사용기간' ,it: 'CAGE' ,nl: 'CAGE' ,zh_cn: '管路' @@ -12206,6 +12236,7 @@ function init() { ,pt: 'COB' ,es: 'Carbohidratos activos' ,sk: 'SACH' + ,ko: 'COB' ,it: 'COB' ,nl: 'COB' ,zh_cn: '活性碳水COB' @@ -12227,6 +12258,7 @@ function init() { ,pt: 'Último carboidrato' ,es: 'último carbohidrato' ,sk: 'Posledné sacharidy' + ,ko: '마지막 탄수화물' ,it: 'Ultimi carboidrati' ,nl: 'Laatse KH' ,zh_cn: '上次碳水' @@ -12248,6 +12280,7 @@ function init() { ,pt: 'IddI' ,es: 'Insul.desde' ,sk: 'INZ' + ,ko: '인슐린사용기간' ,it: 'IAGE' ,nl: 'IAGE' ,zh_cn: '胰岛素' @@ -12270,6 +12303,7 @@ function init() { ,pt: 'Substituição de reservatório vencida!' ,es: 'Excedido plazo del cambio depósito de insulina!' ,sk: 'Čas na výmenu inzulínu po lehote!' + ,ko: '레저보(펌프 주사기)의 사용기한이 지났습니다. 변경하세요!' ,it: 'Cambio serbatoio d\'insulina in ritardo!' ,nl: 'Verwissel insulinereservoir nu!' ,zh_cn: '超过更换胰岛素储液器的时间' @@ -12291,6 +12325,7 @@ function init() { ,pt: 'Hora de substituir reservatório' ,es: 'Hora de sustituir depósito insulina' ,sk: 'Čas na výmenu inzulínu' + ,ko: '레저보(펌프 주사기)를 변경할 시간' ,it: 'Momento di cambiare serbatoio d\'insulina' ,nl: 'Verwissel insuline reservoir' ,zh_cn: '已到更换胰岛素储液器的时间' @@ -12312,6 +12347,7 @@ function init() { ,pt: 'Substituir reservatório em brave' ,es: 'Sustituir depósito insulina en breve' ,sk: 'Čoskoro bude potrebné vymeniť inzulín' + ,ko: '레저보(펌프 주사기)안의 인슐린을 곧 변경하세요.' ,it: 'Cambiare serbatoio d\'insulina prossimamente' ,nl: 'Verwissel insuline reservoir binnenkort' ,zh_cn: '接近更换胰岛素储液器的时间' @@ -12333,6 +12369,7 @@ function init() { ,pt: 'Idade do reservatório %1 horas' ,sk: 'Vek inzulínu %1 hodín' ,es: 'Depósito insulina desde %1 horas' + ,ko: '레저보(펌프 주사기) %1시간 사용' ,it: 'IAGE - Durata Serbatoio d\'insulina %1 ore' ,nl: 'Insuline reservoir leeftijd %1 uren' ,zh_cn: '胰岛素储液器已使用%1小时' @@ -12354,6 +12391,7 @@ function init() { ,pt: 'Substituído' ,es: 'Cambiado' ,sk: 'Vymenený' + ,ko: '변경됨' ,it: 'Cambiato' ,nl: 'veranderd' ,zh_cn: '已更换' @@ -12375,6 +12413,7 @@ function init() { ,fi: 'IOB' ,pt: 'IOB' ,sk: 'IOB' + ,ko: 'IOB' ,it: 'IOB' ,nl: 'IOB' ,zh_cn: '活性胰岛素IOB' @@ -12396,6 +12435,7 @@ function init() { ,es: 'Insulina activa en Careportal' ,pt: 'IOB do Careportal' ,sk: 'IOB z portálu starostlivosti' + ,ko: '케어포털 IOB' ,it: 'IOB Somministrazioni' ,nl: 'Careportal IOB' ,zh_cn: '服务面板IOB(活性胰岛素)' @@ -12417,6 +12457,7 @@ function init() { ,pt: 'Último bolus' ,es: 'Último bolo' ,sk: 'Posledný bolus' + ,ko: '마지막 Bolus' ,it: 'Ultimo bolo' ,nl: 'Laatste bolus' ,zh_cn: '上次大剂量' @@ -12438,6 +12479,7 @@ function init() { ,pt: 'IOB basal' ,es: 'Basal Insulina activa' ,sk: 'Bazálny IOB' + ,ko: 'Basal IOB' ,it: 'Basale IOB' ,nl: 'Basaal IOB' ,zh_cn: '基础率IOB(活性胰岛素)' @@ -12459,6 +12501,7 @@ function init() { ,pt: 'Fonte' ,es: 'Fuente' ,sk: 'Zdroj' + ,ko: '출처' ,it: 'Fonte' ,nl: 'bron' ,zh_cn: '来源' @@ -12480,6 +12523,7 @@ function init() { ,fi: 'Tiedot vanhoja, tarkista lähetin?' ,pt: 'Dados antigos, verificar uploader?' ,sk: 'Zastaralé dáta, skontrolujte uploader' + ,ko: '오래된 데이터입니다. 확인해 보시겠습니까?' ,it: 'dati non aggiornati, controllare il telefono?' ,nl: 'Geen data, controleer uploader' ,zh_cn: '数据过期,检查一下设备?' @@ -12501,6 +12545,7 @@ function init() { ,pt: 'Último recebido:' ,es: 'Último recibido:' ,sk: 'Naposledy prijaté:' + ,ko: '마지막 수신' ,it: 'Ultime ricevute:' ,nl: 'laatste ontvangen' ,zh_cn: '上次接收:' @@ -12522,6 +12567,7 @@ function init() { ,es: '%1min. atrás' ,pt: '%1m atrás' ,sk: 'pred %1m' + ,ko: '%1분 전' ,it: '%1m fa' ,nl: '%1m geleden' ,zh_cn: '%1分钟前' @@ -12543,6 +12589,7 @@ function init() { ,pt: '%1h atrás' ,es: '%1h. atrás' ,sk: 'pred %1h' + ,ko: '%1시간 전' ,it: '%1h fa' ,nl: '%1u geleden' ,zh_cn: '%1小时前' @@ -12564,6 +12611,7 @@ function init() { ,pt: '%1d atrás' ,es: '%1d atrás' ,sk: 'pred %1d' + ,ko: '%1일 전' ,it: '%1d fa' ,nl: '%1d geleden' ,zh_cn: '%1天前' @@ -12585,6 +12633,7 @@ function init() { ,pt: 'RETRO' ,es: 'RETRO' ,sk: 'RETRO' + ,ko: 'RETRO' ,it: 'RETRO' ,nl: 'RETRO' ,zh_cn: '历史数据' @@ -12606,6 +12655,7 @@ function init() { ,pt: 'IddS' ,sk: 'SENZ' ,es: 'Sensor desde' + ,ko: '센서사용기간' ,it: 'SAGE' ,nl: 'SAGE' ,zh_cn: '探头' @@ -12628,6 +12678,7 @@ function init() { ,pt: 'Substituição/reinício de sensor vencido' ,es: 'Sustituir/reiniciar, sensor vencido' ,sk: 'Čas na výmenu/reštart sensoru uplynul!' + ,ko: '센서 사용기한이 지났습니다. 센서를 교체/재시작 하세요!' ,it: 'Cambio/riavvio del sensore in ritardo!' ,nl: 'Sensor vevang/hertstart tijd gepasseerd' ,zh_cn: '超过更换/重启探头的时间' @@ -12649,6 +12700,7 @@ function init() { ,pt: 'Hora de substituir/reiniciar sensor' ,es: 'Hora de sustituir/reiniciar sensor' ,sk: 'Čas na výmenu/reštart senzoru' + ,ko: '센서 교체/재시작 시간' ,it: 'Tempo di cambiare/riavvio sensore' ,nl: 'Sensor vervangen of herstarten' ,zh_cn: '已到更换/重启探头的时间' @@ -12670,6 +12722,7 @@ function init() { ,pt: 'Mudar/reiniciar sensor em breve' ,es: 'Cambiar/Reiniciar sensor en breve' ,sk: 'Čoskoro bude potrebné vymeniť/reštartovať senzor' + ,ko: '센서를 곧 교체/재시작 하세요' ,it: 'Modifica/riavvio sensore prossimamente' ,nl: 'Herstart of vervang sensor binnenkort' ,zh_cn: '接近更换/重启探头的时间' @@ -12691,6 +12744,7 @@ function init() { ,pt: 'Idade do sensor %1 dias %2 horas' ,es: 'Sensor desde %1 días %2 horas' ,sk: 'Vek senzoru %1 dní %2 hodín' + ,ko: '센서사용기간 %1일 %2시간' ,it: 'Durata Sensore %1 giorni %2 ore' ,nl: 'Sensor leeftijd %1 dag(en) en %2 uur' ,zh_cn: '探头使用了%1天%2小时' @@ -12712,6 +12766,7 @@ function init() { ,es: 'Insertar sensor' ,pt: 'Inserção de sensor' ,sk: 'Výmena senzoru' + ,ko: '센서삽입' ,it: 'SAGE - inserimento sensore' ,nl: 'Sensor ingebracht' ,zh_cn: '植入探头' @@ -12733,6 +12788,7 @@ function init() { ,pt: 'Início de sensor' ,es: 'Inicio del sensor' ,sk: 'Štart senzoru' + ,ko: '센서시작' ,it: 'SAGE - partenza sensore' ,nl: 'Sensor start' ,zh_cn: '启动探头' @@ -12754,6 +12810,7 @@ function init() { ,pt: 'dias' ,es: 'días' ,sk: 'dní' + ,ko: '일' ,it: 'giorni' ,nl: 'dagen' ,zh_cn: '天' @@ -12770,6 +12827,7 @@ function init() { ,ru: 'распределение инсулина' ,fi: 'Insuliinijakauma' ,sv: 'Insulindistribution' + ,ko: '인슐린주입' ,it: 'Distribuzione di insulina' ,es: 'Distribución de la insulina' ,nl: 'Insuline verdeling' @@ -12787,6 +12845,7 @@ function init() { ,ro: 'Pentru a vedea acest raport, apăsați butonul SHOW' ,ru: 'чтобы увидеть отчет, нажмите show/показать' ,fi: 'Nähdäksesi tämän raportin, paina NÄYTÄ tässä näkymässä' + ,ko: '이 보고서를 보려면 "확인"을 누르세요' ,it: 'Per guardare questo report, premere SHOW all\'interno della finestra' ,es: 'Presione SHOW para mostrar el informe en esta vista' ,nl: 'Om dit rapport te zien, druk op "Laat zien"' @@ -12806,6 +12865,7 @@ function init() { ,ru: 'прогноз AR2' ,es: 'Pronóstico AR2' ,fi: 'AR2 Ennusteet' + ,ko: 'AR2 예측' ,it: 'Previsione AR2' ,nl: 'AR2 Voorspelling' ,zh_cn: 'AR2 预测' @@ -12824,6 +12884,7 @@ function init() { ,ru: 'прогнозы OpenAPS' ,es: 'Pronóstico OpenAPS' ,fi: 'OpenAPS Ennusteet' + ,ko: 'OpenAPS 예측' ,it: 'Previsione OpenAPS' ,nl: 'OpenAPS Voorspelling' ,zh_cn: 'OpenAPS 预测' @@ -12842,6 +12903,7 @@ function init() { ,ru: 'промежуточная цель' ,fi: 'Tilapäinen tavoite' ,es: 'Objetivo temporal' + ,ko: '임시목표' ,it: 'Obbiettivo temporaneo' ,nl: 'Tijdelijk doel' ,zh_cn: '临时目标' @@ -12860,6 +12922,7 @@ function init() { ,ru: 'отмена промежуточной цели' ,fi: 'Peruuta tilapäinen tavoite' ,es: 'Objetivo temporal cancelado' + ,ko: '임시목표취소' ,it: 'Obbiettivo temporaneo cancellato' ,nl: 'Annuleer tijdelijk doel' ,zh_cn: '临时目标取消' @@ -12877,6 +12940,7 @@ function init() { ,fr: 'OpenAPS déconnecté' ,ru: 'OpenAPS вне сети' ,fi: 'OpenAPS poissa verkosta' + ,ko: 'OpenAPS Offline' ,it: 'OpenAPS disconnesso' ,es: 'OpenAPS desconectado' ,nl: 'OpenAPS Offline' @@ -12895,6 +12959,7 @@ function init() { ,ro: 'Profile' ,ru: 'профили' ,fi: 'Profiilit' + ,ko: '프로파일' ,it: 'Profili' ,es: 'Perfil' ,nl: 'Profielen' @@ -12909,6 +12974,7 @@ function init() { ,he: 'זמן בתנודות ' ,fi: 'Aika muutoksessa' ,fr: 'Temps passé en fluctuation' + ,ko: '변동시간' ,it: 'Tempo in fluttuazione' ,ro: 'Timp în fluctuație' ,es: 'Tiempo fluctuando' @@ -12927,6 +12993,7 @@ function init() { ,he: 'זמן בתנודות מהירות ' ,fi: 'Aika nopeassa muutoksessa' ,fr: 'Temps passé en fluctuation rapide' + ,ko: '빠른변동시간' ,it: 'Tempo in rapida fluttuazione' ,ro: 'Timp în fluctuație rapidă' ,es: 'Tiempo fluctuando rápido' @@ -12945,6 +13012,7 @@ function init() { ,he: 'זוהי רק הערכה גסה שיכולה להיות מאוד לא מדויקת ואינה מחליפה את בדיקת הדם בפועל. הנוסחה המשמשת נלקחת מ: ' ,fi: 'Tämä on epätarkka arvio joka saattaa heittää huomattavasti mittaustuloksesta, eikä korvaa laboratoriotestiä. Laskentakaava on otettu artikkelista: ' ,fr: 'Ceci est seulement une estimation grossière qui peut être très imprécise et ne remplace pas une mesure sanguine adéquate. La formule est empruntée à l\'article:' + ,ko: '이것은 대충 예측한 것이기 때문에 부정확할 수 있고 실제 혈당으로 대체되지 않습니다. 사용된 공식:' ,it: 'Questa è solo un\'approssimazione che può essere molto inaccurata e che non sostituisce la misurazione capillare. La formula usata è presa da:' ,ro: 'Aceasta este doar o aproximare brută, care poate fi foarte imprecisă și nu ține loc de testare capilară. Formula matematică folosită este luată din:' ,es: 'Esto es sólo una estimación apróximada que puede ser muy inexacta y no reemplaza las pruebas de sangre reales. La fórmula utilizada está tomada de: ' @@ -12961,6 +13029,7 @@ function init() { , 'Filter by hours' : { cs: ' Filtr podle hodin' ,fi: 'Huomioi raportissa seuraavat tunnit' + ,ko: '시간으로 정렬' ,it: 'Filtra per ore' ,fr: 'Filtrer par heures' ,ro: 'Filtrare pe ore' @@ -12979,6 +13048,7 @@ function init() { cs: 'Doba měnící se glykémie a rapidně se měnící glykémie měří % času ve zkoumaném období, během kterého se glykémie měnila relativně rychle nebo rapidně. Nižší hodnota je lepší.' ,fi: 'Aika Muutoksessa ja Aika Nopeassa Muutoksessa mittaa osuutta tarkkailtavasta aikaperiodista, jolloin glukoosi on ollut nopeassa tai hyvin nopeassa muutoksessa. Pienempi arvo on parempi.' ,fr: 'Le Temps passé en fluctuation et le temps passé en fluctuation rapide mesurent la part de temps durant la période examinée, pendant laquelle la glycémie a évolué relativement ou très rapidement. Les valeurs basses sont les meilleures.' + ,ko: '변동시간과 빠른 변동시간은 조사된 기간 동안 %의 시간으로 측정되었습니다.혈당은 비교적 빠르게 변화되었습니다. 낮을수록 좋습니다.' ,it: 'Tempo in fluttuazione e Tempo in rapida fluttuazione misurano la % di tempo durante il periodo esaminato, durante il quale la glicemia stà variando velocemente o rapidamente. Bassi valori sono migliori.' ,ro: 'Timpul în fluctuație și timpul în fluctuație rapidă măsoară procentul de timp, din perioada examinată, în care glicemia din sânge a avut o variație relativ rapidă sau rapidă. Valorile mici sunt de preferat.' ,es: 'Tiempo en fluctuación y Tiempo en fluctuación rápida miden el % de tiempo del período exáminado, durante la cual la glucosa en sangre ha estado cambiando relativamente rápido o rápidamente. Valores más bajos son mejores.' @@ -12996,6 +13066,7 @@ function init() { cs: 'Průměrná celková denní změna je součet absolutních hodnoty všech glykémií za sledované období, děleno počtem dní. Nižší hodnota je lepší.' ,fi: 'Keskimääräinen Kokonaismuutos kertoo kerkimääräisen päivätason verensokerimuutoksien yhteenlasketun arvon. Pienempi arvo on parempi.' ,fr: 'La Variation Totale Journalière Moyenne est la somme de toute les excursions glycémiques absolues pour une période analysée, divisée par le nombre de jours. Les valeurs basses sont les meilleures.' + ,ko: '전체 일일 변동 평균은 조사된 기간동안 전체 혈당 절대값의 합을 전체 일수로 나눈 값입니다. 낮을수록 좋습니다.' ,it: 'Media Totale Giornaliera Variazioni è la somma dei valori assoluti di tutte le escursioni glicemiche per il periodo esaminato, diviso per il numero di giorni. Bassi valori sono migliori.' ,ro: 'Schimbarea medie totală zilnică este suma valorilor absolute ale tuturor excursiilor glicemice din perioada examinată, împărțite la numărul de zile. Valorile mici sunt de preferat.' ,ru: 'усредненное ежедневное изменение это сумма абсолютных величин всех отклонений СК в рассматриваемый период, деленное на количество дней. Меньшая величина предпочтительней' @@ -13013,6 +13084,7 @@ function init() { cs: 'Průměrná hodinová změna je součet absolutní hodnoty všech glykémií za sledované období, dělených počtem hodin v daném období. Nižší hodnota je lepší.' ,fi: 'Keskimääräinen tunti kertoo keskimääräisen tuntitason verensokerimuutoksien yhteenlasketun arvon. Pienempi arvo on parempi.' ,fr: 'La Variation Horaire Moyenne est la somme de toute les excursions glycémiques absolues pour une période analysée, divisée par le nombre d\'heures dans la période. Les valeures basses sont les meilleures.' + ,ko: '시간당 변동 평균은 조사된 기간 동안 전체 혈당 절대값의 합을 기간의 시간으로 나눈 값입니다.낮을수록 좋습니다.' ,it: 'Media Oraria Variazioni è la somma del valore assoluto di tutte le escursioni glicemiche per il periodo esaminato, diviso per il numero di ore. Bassi valori sono migliori.' ,ro: 'Variația media orară este suma valorilor absolute ale tuturor excursiilor glicemice din perioada examinată, împărțite la numărul de ore din aceeași perioadă. Valorile mici sunt de preferat.' ,ru: 'усредненное часовое изменение это сумма абсолютных величин всех отклонений СК в рассматриваемый период, деленное на количество часов в этот период. Более низкое предпочтительней' @@ -13026,10 +13098,11 @@ function init() { ,pl: 'Sednia całkowita godzinnych zmian jest sumą wszystkich zmian glikemii w badanym okresie, podzielonym przez liczbę godzin. Mniejsze są lepsze' ,tr: 'Saat başına ortalama değişim, gözlem periyodu üzerindeki tüm glikoz değişikliklerinin mutlak değerlerinin saat sayısına bölünmesiyle elde edilen toplam değerdir. Düşük değerler daha iyidir.' } - , 'GVI (Glycemic Variability Index) and PGS (Patient Glycemic Status) are measures developed by Dexcom, detailed can be found here.' : { + , '">can be found here.' : { cs: '">zde.' ,he: '">here.' ,fi: '">here.' + ,ko: '">here.' ,it: '">qui.' ,es: '">here.' ,fr: '">ici.' @@ -13067,12 +13141,13 @@ function init() { ,he: 'שינוי יומי ממוצע ' ,fi: 'Keskimääräinen Kokonaismuutos' ,fr: 'Variation Totale Journalière Moyenne' + ,ko: '전체 일일 변동 평균' ,it: 'Media Totale Giornaliera Variazioni' ,ro: 'Variația medie totală zilnică' ,ru: 'усредненное изменение за день' ,es: 'Variación media total diaria' ,nl: 'Gemiddelde veranderingen per dag' - ,zh_cn: '平均每日总变化' + ,zh_cn: '平均每日总变化' ,sv: 'Medel Total Daglig Förändring' ,de: 'Gesamte mittlere Änderung pro Tag' ,dk: 'Middel Total Daglig Ændring' @@ -13085,12 +13160,13 @@ function init() { ,he: 'שינוי ממוצע לשעה ' ,fi: 'Keskimääräinen tuntimuutos' ,fr: 'Variation Horaire Moyenne' + ,ko: '시간당 변동 평균' ,it: 'Media Oraria Variazioni' ,ro: 'Variația medie orară' ,es: 'Variación media total por horas' ,ru: 'усредненное изменение за час' ,nl: 'Gemiddelde veranderingen per uur' - ,zh_cn: '平均每小时变化' + ,zh_cn: '平均每小时变化' ,sv: 'Medelvärde per timme' ,de: 'Mittlere Änderung pro Stunde' ,dk: 'Middelværdier per time' @@ -13110,8 +13186,8 @@ function init() { , fr: 'en chute lente' , he: 'slightly dropping' , hr: 'slightly dropping' - , it: 'leggera diminuzione' , ko: 'slightly dropping' + , it: 'leggera diminuzione' , nb: 'svakt fallende' , pl: 'niewielki spadek' , pt: 'slightly dropping' @@ -13123,7 +13199,7 @@ function init() { , tr: 'biraz düşen' , zh_cn: '缓慢下降' , zh_tw: 'slightly dropping' - + }, 'FortyFiveUp': { bg: 'slightly rising' @@ -13521,6 +13597,7 @@ function init() { , en: 'Your uploader battery is at %1' , de: 'Der Akku deines Uploader Handys ist bei %1' , dk: 'Din uploaders batteri er %1' + , ko: 'Your uploader battery is at %1' , nl: 'De batterij van je mobiel is bij %l' ,zh_cn: '你的手机电池电量是 %1 ' , sv: 'Din uppladdares batteri är %1' @@ -13536,6 +13613,7 @@ function init() { , en: 'You have %1 units remaining' , de: 'Du hast %1 Einheiten übrig' , dk: 'Du har %1 enheder tilbage' + , ko: 'You have %1 units remaining' , nl: 'Je hebt nog %l eenheden in je reservoir' ,zh_cn: '你剩余%1 U的胰岛素' , sv: 'Du har %1 enheter kvar' @@ -13551,6 +13629,7 @@ function init() { , en: 'Your pump battery is at %1 %2' , de: 'Der Batteriestand deiner Pumpe ist bei %1 %2' , dk: 'Din pumpes batteri er %1 %2' + , ko: 'Your pump battery is at %1 %2' , nl: 'Je pomp batterij is bij %1 %2' ,zh_cn: '你的泵电池电量是%1 %2' , sv: 'Din pumps batteri är %1 %2' @@ -13566,6 +13645,7 @@ function init() { , en: 'The last successful loop was %1' , de: 'Der letzte erfolgreiche Loop war %1' , dk: 'Seneste successfulde loop var %1' + , ko: 'The last successful loop was %1' , nl: 'De meest recente goede loop was %1' ,zh_cn: '最后一次成功闭环的是在%1' , sv: 'Senaste lyckade loop var %1' @@ -13581,6 +13661,7 @@ function init() { , en: 'Loop plugin does not seem to be enabled' , de: 'Das Loop Plugin scheint nicht aktiviert zu sein' , dk: 'Loop plugin lader ikke til at være slået til' + , ko: 'Loop plugin does not seem to be enabled' , nl: 'De Loop plugin is niet geactiveerd' ,zh_cn: 'Loop插件看起来没有被启用' , sv: 'Loop plugin verkar inte vara aktiverad' @@ -13596,6 +13677,7 @@ function init() { , en: 'According to the loop forecast you are expected to be %1 over the next %2' , de: 'Entsprechend der Loop Vorhersage landest du bei %1 während der nächsten %2' , dk: 'Ifølge Loops forudsigelse forventes du at blive %1 i den næste %2' + , ko: 'According to the loop forecast you are expected to be %1 over the next %2' , nl: 'Volgens de Loop voorspelling is je waarde %1 over de volgnede %2' ,zh_cn: '根据loop的预测,在接下来的%2你的血糖将会是%1' , sv: 'Enligt Loops förutsägelse förväntas du bli %1 inom %2' @@ -13611,6 +13693,7 @@ function init() { , en: 'Unable to forecast with the data that is available' , de: 'Mit den verfügbaren Daten ist eine Loop Vorhersage nicht möglich' , dk: 'Det er ikke muligt at forudsige md de tilgængelige data' + , ko: 'Unable to forecast with the data that is available' , nl: 'Niet mogelijk om een voorspelling te doen met de data die beschikbaar is' ,zh_cn: '血糖数据不可用,无法预测未来走势' , sv: 'Förutsägelse ej möjlig med tillgänlig data' @@ -13625,6 +13708,7 @@ function init() { , cs: 'Raw glykémie je %1' , de: 'Dein Rohblutzucker ist %1' , dk: 'Dit raw blodsukker er %1' + , ko: 'Your raw bg is %1' , nl: 'Je raw bloedwaarde is %1' ,zh_cn: '你的血糖是 %1' , sv: 'Ditt raw blodsocker är %1' @@ -13640,6 +13724,7 @@ function init() { , cs: 'OpenAPS Eventual BG je %1' , de: 'Der von OpenAPS vorhergesagte Blutzucker ist %1' , dk: 'OpenAPS forventet blodsukker er %1' + , ko: 'The OpenAPS Eventual BG is %1' , nl: 'OpenAPS uiteindelijke bloedglucose van %1' ,zh_cn: 'OpenAPS 预测最终血糖是 %1' , sv: 'OpenAPS slutgiltigt blodsocker är %1' @@ -13655,6 +13740,7 @@ function init() { , cs: '%1 %2 aktivních sachridů' , de: '%1 %2 Gramm Kohlenhydrate wirkend.' , dk: '%1 %2 gram aktive kulhydrater' + , ko: '%1 %2 carbohydrates on board' , nl: '%1 %2 actieve koolhydraten' ,zh_cn: '%1 %2 活性碳水化合物' , sv: '%1 %2 gram aktiva kolhydrater' @@ -13672,6 +13758,7 @@ function init() { ,es: 'Grasas [g]' ,fi: 'Rasva [g]' ,fr: 'Graisses [g]' + ,ko: 'Fat [g]' ,nl: 'Vet [g]' ,zh_cn: '脂肪[g]' ,ro: 'Grăsimi [g]' @@ -13689,6 +13776,7 @@ function init() { ,es: 'Proteina [g]' ,fi: 'Proteiini [g]' ,fr: 'Protéines [g]' + ,ko: 'Protein [g]' ,nl: 'Proteine [g]' ,zh_cn: '蛋白质[g]' ,ro: 'Proteine [g]' @@ -13709,7 +13797,8 @@ function init() { ,ro: 'Energie [g]' ,ru: 'энергия [kJ' ,it: 'Energia [kJ]' - ,zh_cn: '能量 [kJ]' + ,zh_cn: '能量 [kJ]' + ,ko: 'Energy [kJ]' ,nl: 'Energie [kJ]' ,sv: 'Energi [kJ]' ,bg: 'Енергия [kJ]' @@ -13719,6 +13808,7 @@ function init() { 'Clock Views:': { cs: 'Hodiny:' ,fi: 'Kellonäkymä:' + ,ko: '시계 보기' ,nl: 'Klokweergave:' ,es: 'Vista del reloj:' ,fr: 'Vue Horloge:' @@ -13736,8 +13826,9 @@ function init() { 'Clock': { cs: 'Hodiny' ,fr: 'L\'horloge' + ,ko: '시계모드' ,nl: 'Klok' - ,zh_cn: '时钟' + ,zh_cn: '时钟' ,sv: 'Klocka' ,de: 'Uhr' ,dk: 'Klokken' @@ -13752,8 +13843,9 @@ function init() { 'Color': { cs: 'Barva' ,fr: 'Couleur' + ,ko: '색상모드' ,nl: 'Kleur' - ,zh_cn: '彩色' + ,zh_cn: '彩色' ,sv: 'Färg' ,de: 'Farbe' ,dk: 'Farve' @@ -13768,8 +13860,9 @@ function init() { 'Simple': { cs: 'Jednoduchý' ,fr: 'Simple' + ,ko: '간편 모드' ,nl: 'Simpel' - ,zh_cn: '简单' + ,zh_cn: '简单' ,sv: 'Simpel' ,de: 'Einfach' ,dk: 'Simpel' @@ -13784,6 +13877,7 @@ function init() { 'TDD average': { cs: 'Průměrná denní dávka' , fi: 'Päivän kokonaisinsuliinin keskiarvo' + , ko: 'TDD average' , nl: 'Gemiddelde dagelijkse insuline (TDD)' ,zh_cn: '日胰岛素用量平均值' , sv: 'Genomsnittlig daglig mängd insulin' @@ -13799,6 +13893,7 @@ function init() { 'Carbs average': { cs: 'Průměrné množství sacharidů' , fi: 'Hiilihydraatit keskiarvo' + , ko: 'Carbs average' , nl: 'Gemiddelde koolhydraten per dag' ,zh_cn: '碳水化合物平均值' , sv: 'Genomsnittlig mängd kolhydrater per dag' @@ -13814,6 +13909,7 @@ function init() { 'Eating Soon': { cs: 'Blížící se jídlo' , fi: 'Ruokailu pian' + , ko: 'Eating Soon' , nl: 'Pre-maaltijd modus' ,zh_cn: '过会吃饭' , sv: 'Äter snart' @@ -13829,6 +13925,7 @@ function init() { 'Last entry {0} minutes ago': { cs: 'Poslední hodnota {0} minut zpět' , fi: 'Edellinen verensokeri {0} minuuttia sitten' + , ko: 'Last entry {0} minutes ago' , nl: 'Laatste waarde {0} minuten geleden' ,zh_cn: '最后一个条目 {0} 分钟之前' , sv: 'Senaste värde {0} minuter sedan' @@ -13844,6 +13941,7 @@ function init() { 'change': { cs: 'změna' , fi: 'muutos' + , ko: 'change' , nl: 'wijziging' ,zh_cn: '改变' , sv: 'byta' @@ -13859,6 +13957,7 @@ function init() { 'Speech': { cs: 'Hlas' , fi: 'Puhe' + , ko: 'Speech' , nl: 'Spraak' ,zh_cn: '朗读' , sv: 'Tal' @@ -13875,6 +13974,7 @@ function init() { cs: 'Horní cíl' , dk: 'Højt mål' , fi: 'Tavoite ylä' + , ko: 'Target Top' , nl: 'Hoog tijdelijk doel' , ro: 'Țintă superioară' , it: 'Limite superiore' @@ -13890,6 +13990,7 @@ function init() { cs: 'Dolní cíl' , dk: 'Lavt mål' , fi: 'Tavoite ala' + , ko: 'Target Bottom' , nl: 'Laag tijdelijk doel' ,zh_cn: '目标低值' , ro: 'Țintă inferioară' @@ -13905,6 +14006,7 @@ function init() { cs: 'Zrušený' , dk: 'Afbrudt' , fi: 'Peruutettu' + , ko: 'Canceled' , nl: 'Geannuleerd' ,zh_cn: '被取消了' , ro: 'Anulat' @@ -13920,6 +14022,7 @@ function init() { cs: 'Hodnota z glukoměru' , dk: 'Blodsukkermåler BS' , fi: 'Mittarin VS' + , ko: 'Meter BG' , nl: 'Bloedglucosemeter waarde' ,zh_cn: '指血血糖值' , ro: 'Glicemie din glucometru' @@ -13935,6 +14038,7 @@ function init() { cs: 'přepověď' , dk: 'forudset' , fi: 'ennuste' + , ko: 'predicted' , nl: 'verwachting' ,zh_cn: '预测' , ro: 'estimat' @@ -13950,6 +14054,7 @@ function init() { cs: 'budoucnost' , dk: 'fremtidige' , fi: 'tulevaisuudessa' + , ko: 'future' , nl: 'toekomstig' ,zh_cn: '将来' , ro: 'viitor' @@ -13965,6 +14070,7 @@ function init() { cs: 'zpět' , dk: 'siden' , fi: 'sitten' + , ko: 'ago' , nl: 'geleden' ,zh_cn: '之前' , ro: 'în trecut' @@ -13979,6 +14085,7 @@ function init() { cs: 'Poslední data přiajata' , dk: 'Sidste data modtaget' , fi: 'Tietoa vastaanotettu viimeksi' + , ko: 'Last data received' , nl: 'Laatste gegevens ontvangen' ,zh_cn: '上次收到数据' , ro: 'Ultimele date primite' @@ -13998,6 +14105,7 @@ function init() { ,fr: 'Vue Horloge' ,ro: 'Vedere tip ceas' ,ru: 'вид циферблата' + ,ko: 'Clock View' ,it: 'Vista orologio' ,sv: 'Visa klocka' ,bg: 'Изглед часовник' From 219aea1551f4cf9875076b46056bf96c86d05626 Mon Sep 17 00:00:00 2001 From: Diabetlum <44998140+diabetlum@users.noreply.github.com> Date: Sun, 24 Feb 2019 23:14:44 +0100 Subject: [PATCH 07/52] @diabetlum added in the list (#4328) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add @diabetlum as a maintainer for Türkçe / Turkish language --- CONTRIBUTING.md | 43 ++++--------------------------------------- 1 file changed, 4 insertions(+), 39 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 83ff0f5019d..81f2659acd0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -76,15 +76,7 @@ If in doubt, format your code with `js-beautify --indent-size 2 --comma-first - ## Create a prototype -<<<<<<< HEAD -Fork cgm-remote-monitor and create a branch. -You can create a branch using `git checkout -b wip/add-my-widget`. -This creates a new branch called `wip/add-my-widget`. The `wip` -stands for work in progress and is a common prefix so that we know -what to expect when reviewing many branches. -======= Fork cgm-remote-monitor and create a branch. You can create a branch using `git checkout -b wip/add-my-widget`. This creates a new branch called `wip/add-my-widget`. The `wip` stands for work in progress and is a common prefix so that when know what to expect when reviewing many branches. ->>>>>>> master ## Submit a pull request @@ -95,8 +87,6 @@ This can be done by checking your code `git commit -avm 'my improvements are her Now that the commits are available on github, you can click on the compare buttons on your fork to create a pull request. Make sure to select [Nightscout's `dev` branch](https://github.com/nightscout/cgm-remote-monitor/tree/dev). We assume all new Pull Requests are at least smoke tested by the author and all code in the PR actually works. -<<<<<<< HEAD - Please include a description of what the features do and rationalize why the changes are needed. If you add any new NPM module dependencies, you have to rationalize why there are needed - we prefer pull requests that reduce dependencies, not add them. @@ -106,26 +96,13 @@ When adding new features that add confugration options, please ensure the `READM ## Bug fixing If you've fixed a bug, please consider adding a unit test to the `/tests` folder that reproduces the original bug without the change. + Try to identify the root cause of the issue and fix the issue. Pull requests that simply add null checks to hide issues are unlikely to be accepted. This can be done by committing your code `git commit -avm 'my improvements are here'`, and pushing it to the branch you created on your own fork. This will probably look something like `git push -u origin wip/add-my-widget`. -======= - -Please include a description of what the features do and rationalize why the changes are needed. - -If you add any new NPM module dependencies, you have to rationalize why there are needed - we prefer pull requests that reduce dependencies, not add them. - -When adding new features that add confugration options, please ensure the `README` document is amended with information on the new configuration. - -## Bug fixing - -If you've fixed a bug, please consider adding a unit test to the `/tests` folder that reproduces the original bug without the change. - -Try to identify the root cause of the issue and fix the issue. Pull requests that simply add null checks to hide issues are unlikely to be accepted. ->>>>>>> master Please include instructions how to test the changes. @@ -137,25 +114,11 @@ We encourage liberal use of the comments, including images where appropriate. Most cgm-remote-monitor hackers use github's ticketing system, along with Facebook cgm-in-the-cloud, and gitter. -<<<<<<< HEAD -We use [git-flow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow), with `master` as our production, stable branch, and -`dev` is used to queue changes for upcoming releases. Everything else is -done on branches, hopefully with names that indicate what to expect. - -Once `dev` has been reviewed and people feel it's time to release, we -follow the git-flow release process, which creates a new tag and bumps -the version correctly. See [sem-ver](https://semver.org/) for versioning strategy. - -Every commit is tested by Travis CI. We encourage adding tests to -validate your design. We encourage discussing your use cases to help -everyone get a better understanding of your design. -======= We use git-flow, with `master` as our production, stable branch, and `dev` is used to queue up for upcoming releases. Everything else is done on branches, hopefully with names that indicate what to expect. Once `dev` has been reviewed and people feel it's time to release, we follow the git-flow release process, which creates a new tag and bumps the version correctly. See sem-ver for versioning strategy. Every commit is tested by travis. We encourage adding tests to validate your design. We encourage discussing your use cases to help everyone get a better understanding of your design. ->>>>>>> master ## Other Dev Tips @@ -177,8 +140,10 @@ Also if you can't code, it's possible to contribute by improving the documentati [@apanasef]: https://github.com/apanasef [@bewest]: https://github.com/bewest [@danamlewis]: https://github.com/danamlewis +[@diabetlum]: https://github.com/diabetlum [@herzogmedia]: https://github.com/herzogmedia [@jamieowendexcom ]: https://github.com/jamieowendexcom +[@janrpn]: https://github.com/janrpn [@jasoncalabrese]: https://github.com/jasoncalabrese [@jizhongwen]: https://github.com/jizhongwen [@jpcunningh]: https://github.com/jpcunningh @@ -197,7 +162,6 @@ Also if you can't code, it's possible to contribute by improving the documentati [@tynbendad]: https://github.com/tynbendad [@unsoluble]: https://github.com/unsoluble [@viderehh]: https://github.com/viderehh -[@janrpn]: https://github.com/janrpn | Contribution area | List of contributors | | ------------------------------------- | ---------------------------------- | @@ -275,6 +239,7 @@ Languages with less than 90% coverage will be removed in a future Nightscout ver | Русский (`ru`)|[@apanasef]|OK| | Slovenčina (`sk`)|Please volunteer|OK| | Svenska (`sv`)|Please volunteer|OK| +| Türkçe (`tr`)|[@diabetlum]|OK| | 中文(简体) (`zh_cn`) | [@jizhongwen]|OK| | 中文(繁體) (`zh_tw`) | [@jizhongwen]|Needs attention: 25.0% | 日本語 (`ja_jp`) | [@LuminaryXion]| From 9445996bbf5d327845243b4fdcf6c09d2a3e66d0 Mon Sep 17 00:00:00 2001 From: Diabetlum <44998140+diabetlum@users.noreply.github.com> Date: Sun, 24 Feb 2019 23:16:00 +0100 Subject: [PATCH 08/52] Turkish language updates (#4271) * required correction * required correction2 * @diabetlum added in the list @diabetlum added in the list --- lib/language.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/language.js b/lib/language.js index 8d4e21ebd21..819acae5cfc 100644 --- a/lib/language.js +++ b/lib/language.js @@ -6545,7 +6545,7 @@ function init() { ,sk: 'hod. pred' ,nl: 'uren geleden' ,ko: '시간 전' - ,tr: 'saatler önce' + ,tr: 'saat önce' ,zh_cn: '小时前' ,zh_tw: '小時前' } @@ -8785,7 +8785,7 @@ function init() { ,nl: 'Geldig van' ,ko: '기록을 시작한 날짜' ,it: 'Record valido da' - ,tr: 'Buradan geçerli giriş' + ,tr: 'Kayıt itibaren geçerli' ,zh_cn: '有效记录,从' } ,'Stored profiles' : { @@ -10968,7 +10968,7 @@ function init() { ,ko: '시간 후' ,it: 'ore fa' ,nl: 'uren geleden' - ,tr: 'saatler önce' + ,tr: 'saat önce' ,zh_cn: '小时前' ,pl: 'Godzin temu' } From 546b0f6ba2e2afc5fadf24b539037ea5f891d547 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Sun, 3 Mar 2019 12:01:28 +0200 Subject: [PATCH 09/52] Testing if recent changes have fixed builds in Linux-based Travis instances --- .travis.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 421eae39990..31d639ef8c8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,11 @@ language: node_js +sudo: required +dist: xenial node_js: - "10" - "8" -os: - - osx +#os: +# - osx before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi # https://github.com/Homebrew/homebrew-core/issues/26358 From 59e79b1fb044974a61be4e5773a246e5e6c040c6 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Sun, 3 Mar 2019 12:06:53 +0200 Subject: [PATCH 10/52] Make sure NPM is up to date --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 31d639ef8c8..f1b9b4c900b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,7 @@ node_js: #os: # - osx before_install: + - if [[ `npm --version` != "6.4.1" ]]; then npm install -g npm@latest; npm --version; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi # https://github.com/Homebrew/homebrew-core/issues/26358 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink python; fi From ad338bfdb7738a4c178a0ce8b6ef7cd2a09f0db0 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Sun, 3 Mar 2019 12:20:05 +0200 Subject: [PATCH 11/52] Protein and Fat logging support (#3830) * Add protein and fat logging to CarePortal, simple sums to day to day reporting, grams in graphs * Add fat and protein to swagger * Fix aggregate report sometimes considering logged carbs, protein and fat as a string. Add editing of protein and fat to reports. Show protein and carbs on daily reports --- lib/client/careportal.js | 12 +++++++++- lib/client/renderer.js | 10 ++++++++ lib/language.js | 25 ++++++++++++++++++-- lib/plugins/careportal.js | 40 ++++++++++++++++---------------- lib/report_plugins/daytoday.js | 29 +++++++++++++++++++---- lib/report_plugins/treatments.js | 20 ++++++++++++++++ static/report/js/report.js | 11 ++++++++- swagger.json | 10 +++++++- swagger.yaml | 8 ++++++- views/index.html | 18 ++++++++++---- 10 files changed, 149 insertions(+), 34 deletions(-) diff --git a/lib/client/careportal.js b/lib/client/careportal.js index f6c73c2abb3..0d08980a29f 100644 --- a/lib/client/careportal.js +++ b/lib/client/careportal.js @@ -46,7 +46,7 @@ function init (client, $) { var inputMatrix = {}; _.forEach(careportal.allEventTypes, function each (event) { - inputMatrix[event.val] = _.pick(event, ['bg', 'insulin', 'carbs', 'prebolus', 'duration', 'percent', 'absolute', 'profile', 'split', 'reasons', 'targets']); + inputMatrix[event.val] = _.pick(event, ['bg', 'insulin', 'carbs', 'protein', 'fat', 'prebolus', 'duration', 'percent', 'absolute', 'profile', 'split', 'reasons', 'targets']); }); careportal.filterInputs = function filterInputs ( event ) { @@ -73,6 +73,8 @@ function init (client, $) { $('#bg').css('display',displayType(inputMatrix[eventType]['bg'])); $('#insulinGivenLabel').css('display',displayType(inputMatrix[eventType]['insulin'])); $('#carbsGivenLabel').css('display',displayType(inputMatrix[eventType]['carbs'])); + $('#proteinGivenLabel').css('display',displayType(inputMatrix[eventType]['protein'])); + $('#fatGivenLabel').css('display',displayType(inputMatrix[eventType]['fat'])); $('#durationLabel').css('display',displayType(inputMatrix[eventType]['duration'])); $('#percentLabel').css('display',displayType(inputMatrix[eventType]['percent'] && $('#absolute').val() === '')); $('#absoluteLabel').css('display',displayType(inputMatrix[eventType]['absolute'] && $('#percent').val() === '')); @@ -89,6 +91,8 @@ function init (client, $) { resetIfHidden(inputMatrix[eventType]['insulin'], '#insulinGiven'); resetIfHidden(inputMatrix[eventType]['carbs'], '#carbsGiven'); + resetIfHidden(inputMatrix[eventType]['protein'], '#proteinGiven'); + resetIfHidden(inputMatrix[eventType]['fat'], '#fatGiven'); resetIfHidden(inputMatrix[eventType]['duration'], '#duration'); resetIfHidden(inputMatrix[eventType]['absolute'], '#absolute'); resetIfHidden(inputMatrix[eventType]['percent'], '#percent'); @@ -177,6 +181,8 @@ function init (client, $) { $('#glucoseValue').val('').attr('placeholder', translate('Value in') + ' ' + client.settings.units); $('#meter').prop('checked', true); $('#carbsGiven').val(''); + $('#proteinGiven').val(''); + $('#fatGiven').val(''); $('#insulinGiven').val(''); $('#duration').val(''); $('#percent').val(''); @@ -199,6 +205,8 @@ function init (client, $) { , targetBottom: $('#targetBottom').val().replace(',','.') , glucoseType: $('#treatment-form').find('input[name=glucoseType]:checked').val() , carbs: $('#carbsGiven').val() + , protein: $('#proteinGiven').val() + , fat: $('#fatGiven').val() , insulin: $('#insulinGiven').val() , duration: times.msecs(parse_duration($('#duration').val())).mins < 1 ? $('#duration').val() : times.msecs(parse_duration($('#duration').val())).mins , percent: $('#percent').val() @@ -283,6 +291,8 @@ function init (client, $) { pushIf(data.targetBottom, translate('Target Bottom') + ': ' + targetBottom); pushIf(data.carbs, translate('Carbs Given') + ': ' + data.carbs); + pushIf(data.protein, translate('Protein Given') + ': ' + data.protein); + pushIf(data.fat, translate('Fat Given') + ': ' + data.fat); pushIf(data.insulin, translate('Insulin Given') + ': ' + data.insulin); pushIf(data.eventType === 'Combo Bolus', translate('Combo Bolus') + ': ' + data.splitNow + '% : ' + data.splitExt + '%'); pushIf(data.duration, translate('Duration') + ': ' + data.duration + ' ' + translate('mins')); diff --git a/lib/client/renderer.js b/lib/client/renderer.js index bcb605e3bc1..463595b18a7 100644 --- a/lib/client/renderer.js +++ b/lib/client/renderer.js @@ -438,6 +438,14 @@ function init (client, d3) { arc_data[1].element = Math.round(treatment.carbs) + ' g'; } + if (treatment.protein > 0) { + arc_data[1].element = arc_data[1].element + " / " + Math.round(treatment.protein) + ' g'; + } + + if (treatment.fat > 0) { + arc_data[1].element = arc_data[1].element + " / " + Math.round(treatment.fat) + ' g'; + } + if (treatment.foodType) { arc_data[1].element = arc_data[1].element + " " + treatment.foodType; } @@ -513,6 +521,8 @@ function init (client, d3) { client.tooltip.transition().duration(TOOLTIP_TRANS_MS).style('opacity', .9); client.tooltip.html('' + translate('Time') + ': ' + client.formatTime(new Date(treatment.mills)) + '
' + '' + translate('Treatment type') + ': ' + translate(client.careportal.resolveEventName(treatment.eventType)) + '
' + (treatment.carbs ? '' + translate('Carbs') + ': ' + treatment.carbs + '
' : '') + + (treatment.protein ? '' + translate('Protein') + ': ' + treatment.protein + '
' : '') + + (treatment.fat ? '' + translate('Fat') + ': ' + treatment.fat + '
' : '') + (treatment.absorptionTime > 0 ? '' + translate('Absorption Time') + ': ' + (Math.round( treatment.absorptionTime / 60.0 * 10) / 10) + 'h' + '
' : '') + (treatment.insulin ? '' + translate('Insulin') + ': ' + treatment.insulin + '
' : '') + (treatment.enteredinsulin ? '' + translate('Combo Bolus') + ': ' + treatment.enteredinsulin + 'U, ' + treatment.splitNow + '% : ' + treatment.splitExt + '%, ' + translate('Duration') + ': ' + treatment.duration + '
' : '') + diff --git a/lib/language.js b/lib/language.js index 819acae5cfc..d7dd3e973f7 100644 --- a/lib/language.js +++ b/lib/language.js @@ -14112,9 +14112,30 @@ function init() { ,nl: 'Klokweergave' ,zh_cn: '时钟视图' ,de: 'Uhr-Anzeigen' - , pl: 'Widok zegara' + ,pl: 'Widok zegara' ,tr: 'Saat Görünümü' - } + }, + 'Protein': { + fi: 'Proteiini' + }, + 'Fat': { + fi: 'Rasva' + }, + 'Protein average': { + fi: 'Proteiini keskiarvo' + }, + 'Fat average': { + fi: 'Rasva keskiarvo' + }, + 'Total carbs': { + fi: 'Hiilihydraatit yhteensä' + }, + 'Total protein': { + fi: 'Proteiini yhteensä' + }, + 'Total fat': { + fi: 'Rasva yhteensä' + } }; language.translations = translations; diff --git a/lib/plugins/careportal.js b/lib/plugins/careportal.js index b3149f73555..1e53d03b48c 100644 --- a/lib/plugins/careportal.js +++ b/lib/plugins/careportal.js @@ -15,59 +15,59 @@ function init() { return [ { val: '' , name: '' - , bg: true, insulin: true, carbs: true, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: true, carbs: true, protein: false, fat: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false } , { val: 'BG Check' , name: 'BG Check' - , bg: true, insulin: false, carbs: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: false, carbs: false, protein: false, fat: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false } , { val: 'Snack Bolus' , name: 'Snack Bolus' - , bg: true, insulin: true, carbs: true, prebolus: true, duration: false, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: true, carbs: true, protein: true, fat: true, prebolus: true, duration: false, percent: false, absolute: false, profile: false, split: false } , { val: 'Meal Bolus' , name: 'Meal Bolus' - , bg: true, insulin: true, carbs: true, prebolus: true, duration: false, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: true, carbs: true, protein: true, fat: true, prebolus: true, duration: false, percent: false, absolute: false, profile: false, split: false } , { val: 'Correction Bolus' , name: 'Correction Bolus' - , bg: true, insulin: true, carbs: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: true, carbs: false, protein: false, fat: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false } , { val: 'Carb Correction' , name: 'Carb Correction' - , bg: true, insulin: false, carbs: true, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: false, carbs: true, protein: true, fat: true, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false } , { val: 'Combo Bolus' , name: 'Combo Bolus' - , bg: true, insulin: true, carbs: true, prebolus: true, duration: true, percent: false, absolute: false, profile: false, split: true + , bg: true, insulin: true, carbs: true, protein: true, fat: true, prebolus: true, duration: true, percent: false, absolute: false, profile: false, split: true } , { val: 'Announcement' , name: 'Announcement' - , bg: true, insulin: false, carbs: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: false, carbs: false, protein: false, fat: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false } , { val: 'Note' , name: 'Note' - , bg: true, insulin: false, carbs: false, prebolus: false, duration: true, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: false, carbs: false, protein: false, fat: false, prebolus: false, duration: true, percent: false, absolute: false, profile: false, split: false } , { val: 'Question' , name: 'Question' - , bg: true, insulin: false, carbs: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: false, carbs: false, protein: false, fat: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false } , { val: 'Exercise' , name: 'Exercise' - , bg: false, insulin: false, carbs: false, prebolus: false, duration: true, percent: false, absolute: false, profile: false, split: false + , bg: false, insulin: false, carbs: false, protein: false, fat: false, prebolus: false, duration: true, percent: false, absolute: false, profile: false, split: false } , { val: 'Site Change' , name: 'Pump Site Change' - , bg: true, insulin: true, carbs: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: true, carbs: false, protein: false, fat: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false } , { val: 'Sensor Start' , name: 'CGM Sensor Start' - , bg: true, insulin: false, carbs: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: false, carbs: false, protein: false, fat: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false } , { val: 'Sensor Change' , name: 'CGM Sensor Insert' - , bg: true, insulin: false, carbs: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: false, carbs: false, protein: false, fat: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false } , { val: 'Sensor Stop' , name: 'CGM Sensor Stop' @@ -75,27 +75,27 @@ function init() { } , { val: 'Pump Battery Change' , name: 'Pump Battery Change' - , bg: true, insulin: false, carbs: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: false, carbs: false, protein: false, fat: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false } , { val: 'Insulin Change' , name: 'Insulin Cartridge Change' - , bg: true, insulin: false, carbs: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: false, carbs: false, protein: false, fat: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false } , { val: 'Temp Basal Start' , name: 'Temp Basal Start' - , bg: true, insulin: false, carbs: false, prebolus: false, duration: true, percent: true, absolute: true, profile: false, split: false + , bg: true, insulin: false, carbs: false, protein: false, fat: false, prebolus: false, duration: true, percent: true, absolute: true, profile: false, split: false } , { val: 'Temp Basal End' , name: 'Temp Basal End' - , bg: true, insulin: false, carbs: false, prebolus: false, duration: true, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: false, carbs: false, protein: false, fat: false, prebolus: false, duration: true, percent: false, absolute: false, profile: false, split: false } , { val: 'Profile Switch' , name: 'Profile Switch' - , bg: true, insulin: false, carbs: false, prebolus: false, duration: true, percent: false, absolute: false, profile: true, split: false + , bg: true, insulin: false, carbs: false, protein: false, fat: false, prebolus: false, duration: true, percent: false, absolute: false, profile: true, split: false } , { val: 'D.A.D. Alert' , name: 'D.A.D. Alert' - , bg: true, insulin: false, carbs: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false + , bg: true, insulin: false, carbs: false, protein: false, fat: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false } ]; diff --git a/lib/report_plugins/daytoday.js b/lib/report_plugins/daytoday.js index b071706899b..c0960576c6d 100644 --- a/lib/report_plugins/daytoday.js +++ b/lib/report_plugins/daytoday.js @@ -26,14 +26,14 @@ daytoday.html = function html(client) { + ''+translate('Insulin')+'' + ''+translate('Carbs')+'' + ''+translate('Basal rate')+'' - + ''+translate('Notes') + + ''+translate('Notes') + ''+translate('Food') + ''+translate('Raw')+'' + ''+translate('IOB')+'' + ''+translate('COB')+'' + ''+translate('Predictions')+'' + ''+translate('OpenAPS')+'' - + ''+translate('Insulin distribution')+'' + + ''+translate('Insulin distribution')+'' + ' '+translate('Size') + ' ' + ' ' + '
' + + ' ' + + '
' + + ' ' + + '
' + ' - +
+ + + +