From 24b2ab37ac264e4f2577e72b170bb221b2432cd8 Mon Sep 17 00:00:00 2001 From: Morten Skjelland Date: Mon, 21 Dec 2015 23:19:59 +0100 Subject: [PATCH 001/158] Add serverTimeNum, needed for wifi uploader --- lib/api/status.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/api/status.js b/lib/api/status.js index 1debeac785d..ea39e00f113 100644 --- a/lib/api/status.js +++ b/lib/api/status.js @@ -10,10 +10,12 @@ function configure (app, wares, env) { ])); // Status badge/text/json api.get('/status', function (req, res) { + var date = new Date(); var info = { status: 'ok' , name: app.get('name') , version: app.get('version') - , serverTime: new Date().toISOString() + , serverTime: date.toISOString() + , serverTimeNum: date.getTime() , apiEnabled: app.enabled('api') , careportalEnabled: app.enabled('api') && env.settings.enable.indexOf('careportal') > -1 , boluscalcEnabled: app.enabled('api') && env.settings.enable.indexOf('boluscalc') > -1 From b524a74f520e60598eee45a283ebadfb371c75df Mon Sep 17 00:00:00 2001 From: davidebbo Date: Mon, 28 Dec 2015 22:06:20 -0800 Subject: [PATCH 002/158] Add Deploy To Azure button and ARM template --- README.md | 2 +- azuredeploy.json | 106 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 azuredeploy.json diff --git a/README.md b/README.md index f02346f25fc..4a777754fcf 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Nightscout Web Monitor (a.k.a. cgm-remote-monitor) [![Stories in Ready][ready-img]][waffle] [![Stories in Progress][progress-img]][waffle] -[![Deploy to Heroku][heroku-img]][heroku-url] +[![Deploy to Azure](http://azuredeploy.net/deploybutton.png)](https://azuredeploy.net/) [![Deploy to Heroku][heroku-img]][heroku-url] This acts as a web-based CGM (Continuous Glucose Monitor) to allow multiple caregivers to remotely view a patient's glucose data in diff --git a/azuredeploy.json b/azuredeploy.json new file mode 100644 index 00000000000..db07289b635 --- /dev/null +++ b/azuredeploy.json @@ -0,0 +1,106 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "siteName": { + "type": "string" + }, + "hostingPlanName": { + "type": "string" + }, + "siteLocation": { + "type": "string" + }, + "sku": { + "type": "string", + "allowedValues": [ + "Free", + "Shared", + "Basic", + "Standard" + ], + "defaultValue": "Free" + }, + "workerSize": { + "type": "string", + "allowedValues": [ + "0", + "1", + "2" + ], + "defaultValue": "0" + }, + "repoUrl": { + "type": "string" + }, + "branch": { + "type": "string" + }, + "mongoConnection": { + "type": "string" + }, + "displayUnits": { + "type": "string", + "allowedValues": [ + "mg/dl", + "mmol" + ], + "defaultValue": "mg/dl" + } + }, + "resources": [ + { + "apiVersion": "2015-04-01", + "name": "[parameters('hostingPlanName')]", + "type": "Microsoft.Web/serverFarms", + "location": "[parameters('siteLocation')]", + "properties": { + "sku": "[parameters('sku')]", + "workerSize": "[parameters('workerSize')]", + "numberOfWorkers": 1 + } + }, + { + "apiVersion": "2015-08-01", + "name": "[parameters('siteName')]", + "type": "Microsoft.Web/Sites", + "location": "[parameters('siteLocation')]", + "dependsOn": [ + "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]" + ], + "tags": { + "[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]": "empty" + }, + "properties": { + "serverFarmId": "[parameters('hostingPlanName')]", + "siteConfig": { + "appSettings": [ + { + "name": "MONGO_CONNECTION", + "value": "[parameters('mongoConnection')]" + }, + { + "name": "DISPLAY_UNITS", + "value": "[parameters('displayUnits')]" + } + ] + } + }, + "resources": [ + { + "apiVersion": "2015-08-01", + "name": "web", + "type": "sourcecontrols", + "dependsOn": [ + "[resourceId('Microsoft.Web/Sites', parameters('siteName'))]" + ], + "properties": { + "RepoUrl": "[parameters('repoUrl')]", + "branch": "[parameters('branch')]", + "IsManualIntegration": true + } + } + ] + } + ] +} From cb49d70e6d024b00c2c71022cdd1feb71434798e Mon Sep 17 00:00:00 2001 From: davidebbo Date: Tue, 29 Dec 2015 09:00:40 -0800 Subject: [PATCH 003/158] Add API_SECRET to Azure template --- azuredeploy.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/azuredeploy.json b/azuredeploy.json index db07289b635..bda593d3972 100644 --- a/azuredeploy.json +++ b/azuredeploy.json @@ -46,6 +46,10 @@ "mmol" ], "defaultValue": "mg/dl" + }, + "apiSecret": { + "type": "string", + "defaultValue": "Enter an API secret. Must be at least 12 characters" } }, "resources": [ @@ -82,6 +86,10 @@ { "name": "DISPLAY_UNITS", "value": "[parameters('displayUnits')]" + }, + { + "name": "API_SECRET", + "value": "[parameters('apiSecret')]" } ] } From 47aa01b05a6a9301993851a88c3e09b998adafaf Mon Sep 17 00:00:00 2001 From: Turbo Fart Date: Wed, 17 Feb 2016 02:13:18 +0100 Subject: [PATCH 004/158] Added pl translation. --- lib/language.js | 303 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 303 insertions(+) diff --git a/lib/language.js b/lib/language.js index f0480b253b1..30b648cbce0 100644 --- a/lib/language.js +++ b/lib/language.js @@ -19,6 +19,7 @@ function init() { , { code: 'hr', language: 'Hrvatski' } , { code: 'it', language: 'Italiano' } , { code: 'nb', language: 'Norsk (Bokmål)' } + , { code: 'pl', language: 'Polski' } , { code: 'pt', language: 'Português (Brasil)' } , { code: 'ro', language: 'Română' } , { code: 'sv', language: 'Svenska' } @@ -31,6 +32,7 @@ function init() { cs: 'Poslouchám na portu' ,es: 'Escuchando en el puerto' ,fr: 'Ecoute sur port' + ,pl: 'Nasłuchiwanie na porcie' ,pt: 'Escutando porta' ,sv: 'Lyssnar på port' ,ro: 'Activ pe portul' @@ -48,6 +50,7 @@ function init() { ,de: 'Mo' ,es: 'Lu' ,fr: 'Lu' + ,pl: 'Pon' ,pt: 'Seg' ,sv: 'Mån' ,ro: 'Lu' @@ -64,6 +67,7 @@ function init() { ,de: 'Di' ,es: 'Mar' ,fr: 'Ma' + ,pl: 'Wt' ,pt: 'Ter' ,sv: 'Tis' ,ro: 'Ma' @@ -80,6 +84,7 @@ function init() { ,de: 'Mi' ,es: 'Mie' ,fr: 'Me' + ,pl: 'Śr' ,pt: 'Qua' ,sv: 'Ons' ,ro: 'Mie' @@ -96,6 +101,7 @@ function init() { ,de: 'Do' ,es: 'Jue' ,fr: 'Je' + ,pl: 'Czw' ,pt: 'Qui' ,sv: 'Tor' ,ro: 'Jo' @@ -112,6 +118,7 @@ function init() { ,de: 'Fr' ,es: 'Vie' ,fr: 'Ve' + ,pl: 'Pt' ,pt: 'Sex' ,sv: 'Fre' ,ro: 'Vi' @@ -128,6 +135,7 @@ function init() { ,de: 'Sa' ,es: 'Sab' ,fr: 'Sa' + ,pl: 'So' ,pt: 'Sab' ,sv: 'Lör' ,ro: 'Sa' @@ -144,6 +152,7 @@ function init() { ,de: 'So' ,es: 'Dom' ,fr: 'Di' + ,pl: 'Nd' ,pt: 'Dom' ,sv: 'Sön' ,ro: 'Du' @@ -160,6 +169,7 @@ function init() { ,de: 'Montag' ,es: 'Lunes' ,fr: 'Lundi' + ,pl: 'Poniedziałek' ,pt: 'Segunda' ,sv: 'Måndag' ,ro: 'Luni' @@ -176,6 +186,7 @@ function init() { ,de: 'Dienstag' ,es: 'Martes' ,fr: 'Mardi' + ,pl: 'Wtorek' ,pt: 'Terça' ,ro: 'Marți' ,bg: 'Вторник' @@ -192,6 +203,7 @@ function init() { ,de: 'Mittwoch' ,es: 'Miércoles' ,fr: 'Mercredi' + ,pl: 'Środa' ,pt: 'Quarta' ,sv: 'Onsdag' ,ro: 'Miercuri' @@ -208,6 +220,7 @@ function init() { ,de: 'Donnerstag' ,es: 'Jueves' ,fr: 'Jeudi' + ,pl: 'Czwartek' ,pt: 'Quinta' ,sv: 'Torsdag' ,ro: 'Joi' @@ -223,6 +236,7 @@ function init() { cs: 'Pátek' ,de: 'Freitag' ,fr: 'Vendredi' + ,pl: 'Piątek' ,pt: 'Sexta' ,sv: 'Fredag' ,ro: 'Vineri' @@ -240,6 +254,7 @@ function init() { ,de: 'Samstag' ,es: 'Sábado' ,fr: 'Samedi' + ,pl: 'Sobota' ,pt: 'Sábado' ,ro: 'Sâmbătă' ,bg: 'Събота' @@ -256,6 +271,7 @@ function init() { ,de: 'Sonntag' ,es: 'Domingo' ,fr: 'Dimanche' + ,pl: 'Niedziela' ,pt: 'Domingo' ,ro: 'Duminică' ,bg: 'Неделя' @@ -272,6 +288,7 @@ function init() { ,de: 'Kategorie' ,es: 'Categoría' ,fr: 'Catégorie' + ,pl: 'Kategoria' ,pt: 'Categoria' ,sv: 'Kategori' ,ro: 'Categorie' @@ -288,6 +305,7 @@ function init() { ,de: 'Unterkategorie' ,es: 'Subcategoría' ,fr: 'Sous-catégorie' + ,pl: 'Podkategoria' ,pt: 'Subcategoria' ,sv: 'Underkategori' ,ro: 'Subcategorie' @@ -304,6 +322,7 @@ function init() { ,de: 'Name' ,es: 'Nombre' ,fr: 'Nom' + ,pl: 'Imię' ,pt: 'Nome' ,sv: 'Namn' ,ro: 'Nume' @@ -320,6 +339,7 @@ function init() { ,de: 'Heute' ,es: 'Hoy' ,fr: 'Aujourd\'hui' + ,pl: 'Dziś' ,pt: 'Hoje' ,ro: 'Astăzi' ,bg: 'Днес' @@ -336,6 +356,7 @@ function init() { ,de: 'letzten 2 Tage' ,es: 'Últimos 2 días' ,fr: '2 derniers jours' + ,pl: 'Ostatnie 2 dni' ,pt: 'Últimos 2 dias' ,ro: 'Ultimele 2 zile' ,bg: 'Последните 2 дни' @@ -352,6 +373,7 @@ function init() { ,de: 'letzten 3 Tage' ,es: 'Últimos 3 días' ,fr: '3 derniers jours' + ,pl: 'Ostatnie 3 dni' ,pt: 'Últimos 3 dias' ,sv: 'Senaste 3 dagarna' ,ro: 'Ultimele 3 zile' @@ -368,6 +390,7 @@ function init() { ,de: 'letzte Woche' ,es: 'Semana pasada' ,fr: 'Semaine Dernière' + ,pl: 'Ostatni tydzień' ,pt: 'Semana passada' ,ro: 'Săptămâna trecută' ,bg: 'Последната седмица' @@ -384,6 +407,7 @@ function init() { ,de: 'letzten 2 Wochen' ,es: 'Últimas 2 semanas' ,fr: '2 dernières semaines' + ,pl: 'Ostatnie 2 tygodnie' ,pt: 'Últimas 2 semanas' ,ro: 'Ultimele 2 săptămâni' ,bg: 'Последните 2 седмици' @@ -400,6 +424,7 @@ function init() { ,de: 'letzter Monat' ,es: 'Mes pasado' ,fr: 'Mois dernier' + ,pl: 'Ostatni miesiąc' ,pt: 'Mês passado' ,ro: 'Ultima lună' ,bg: 'Последният месец' @@ -416,6 +441,7 @@ function init() { ,de: 'letzten 3 Monate' ,es: 'Últimos 3 meses' ,fr: '3 derniers mois' + ,pl: 'Ostatnie 3 miesiące' ,pt: 'Últimos 3 meses' ,ro: 'Ultimele 3 luni' ,bg: 'Последните 3 месеца' @@ -432,6 +458,7 @@ function init() { ,de: 'Von' ,es: 'Desde' ,fr: 'De' + ,pl: 'Od' ,pt: 'De' ,sv: 'Från' ,ro: 'De la' @@ -448,6 +475,7 @@ function init() { ,de: 'Bis' ,es: 'Hasta' ,fr: 'À' + ,pl: 'Do' ,pt: 'a' ,ro: 'La' ,bg: 'До' @@ -464,6 +492,7 @@ function init() { ,de: 'Notiz' ,es: 'Notas' ,fr: 'Notes' + ,pl: 'Notatki' ,pt: 'Notas' ,sv: 'Notering' ,ro: 'Note' @@ -480,6 +509,7 @@ function init() { ,de: 'Essen' ,es: 'Comida' ,fr: 'Nourriture' + ,pl: 'Jedzenie' ,pt: 'Comida' ,sv: 'Föda' ,ro: 'Mâncare' @@ -496,6 +526,7 @@ function init() { ,de: 'Insulin' ,es: 'Insulina' ,fr: 'Insuline' + ,pl: 'Insulina' ,pt: 'Insulina' ,ro: 'Insulină' ,bg: 'Инсулин' @@ -512,6 +543,7 @@ function init() { ,de: 'Kohlenhydrate' ,es: 'Hidratos de carbono' ,fr: 'Glucides' + ,pl: 'Węglowodany' ,pt: 'Carboidrato' ,ro: 'Carbohidrați' ,bg: 'Въглехидрати' @@ -528,6 +560,7 @@ function init() { ,de: 'Erläuterungen' ,es: 'Contenido de las notas' ,fr: 'Notes contiennent' + ,pt: 'Notatki zawierają' ,pt: 'Notas contém' ,ro: 'Conținut note' ,bg: 'бележките съдържат' @@ -543,6 +576,7 @@ function init() { ,de: 'Untergrenze des Blutzuckerzielbereiches' ,es: 'Objetivo inferior de glucemia' ,fr: 'Limite inférieure glycémie' + ,pl: 'Dolny zakres glikemii' ,pt: 'Limite inferior de glicemia' ,ro: 'Limită de jos a glicemiei' ,bg: 'Долна граница на КЗ' @@ -559,6 +593,7 @@ function init() { ,de: 'oben' ,es: 'Superior' ,fr: 'Supérieur' + ,pl: 'górny' ,pt: 'Superior' ,ro: 'Sus' ,bg: 'горна' @@ -575,6 +610,7 @@ function init() { ,de: 'Zeigen' ,es: 'Mostrar' ,fr: 'Montrer' + ,pl: 'Pokaż' ,pt: 'Mostrar' ,ro: 'Arată' ,sv: 'Visa' @@ -591,6 +627,7 @@ function init() { ,de: 'Darstellen' ,es: 'Visualizar' ,fr: 'Afficher' + ,pl: 'Pokaż' ,pt: 'Visualizar' ,ro: 'Afișează' ,bg: 'Покажи' @@ -607,6 +644,7 @@ function init() { ,de: 'Laden' ,es: 'Cargando' ,fr: 'Chargement' + ,pl: 'Ładowanie' ,pt: 'Carregando' ,ro: 'Se încarcă' ,bg: 'Зареждане' @@ -623,6 +661,7 @@ function init() { ,de: 'Lade Profil' ,es: 'Cargando perfil' ,fr: 'Chargement du profil' + ,pl: 'Ładowanie profilu' ,pt: 'Carregando perfil' ,sv: 'Laddar profil' ,ro: 'Încarc profilul' @@ -639,6 +678,7 @@ function init() { ,de: 'Lade Status' ,es: 'Cargando estado' ,fr: 'Statut du chargement' + ,pl: 'Ładowanie statusu' ,pt: 'Carregando status' ,sv: 'Laddar status' ,ro: 'Încarc statusul' @@ -655,6 +695,7 @@ function init() { ,de: 'Lade Nahrungsmittel-Datenbank' ,es: 'Cargando base de datos de alimentos' ,fr: 'Chargement de la base de données alimentaire' + ,pl: 'Ładowanie bazy danych pożywienia' ,pt: 'Carregando dados de alimentos' ,sv: 'Laddar födoämnesdatabas' ,ro: 'Încarc baza de date de alimente' @@ -671,6 +712,7 @@ function init() { ,de: 'nicht angezeigt' ,es: 'No mostrado' ,fr: 'non affiché' + ,pl: 'nie pokazane' ,pt: 'não mostrado' ,ro: 'neafișat' ,bg: 'Не се показва' @@ -687,6 +729,7 @@ function init() { ,de: 'Lade CGM-Daten von' ,es: 'Cargando datos de CGM de' ,fr: 'Chargement données CGM de' + ,pl: 'Ładowanie danych CGM' ,pt: 'Carregando dados de CGM de' ,sv: 'Laddar CGM-data för' ,ro: 'Încarc datele CGM ale lui' @@ -703,6 +746,7 @@ function init() { ,de: 'Lade Behandlungsdaten von' ,es: 'Cargando datos de tratamientos de' ,fr: 'Chargement données traitement de' + ,pl: 'Ładowanie danych kuracji' ,pt: 'Carregando dados de tratamento de' ,sv: 'Laddar behandlingsdata för' ,ro: 'Încarc datele despre tratament pentru' @@ -719,6 +763,7 @@ function init() { ,de: 'Verarbeite Daten von' ,es: 'Procesando datos de' ,fr: 'Traitement des données de' + ,pl: 'Przetwarzanie danych' ,pt: 'Processando dados de' ,sv: 'Behandlar data för' ,ro: 'Procesez datele lui' @@ -735,6 +780,7 @@ function init() { ,de: 'Portion' ,es: 'Porción' ,fr: 'Portion' + ,pl: 'Porcja' ,pt: 'Porção' ,ro: 'Porție' ,bg: 'Порция' @@ -751,6 +797,7 @@ function init() { ,de: 'Größe' ,es: 'Tamaño' ,fr: 'Taille' + ,pl: 'Rozmiar' ,pt: 'Tamanho' ,ro: 'Mărime' ,sv: 'Storlek' @@ -767,6 +814,7 @@ function init() { ,de: '(nichts)' ,es: '(ninguno)' ,fr: '(aucun)' + ,pl: '(brak)' ,pt: '(nenhum)' ,sv: '(tom)' ,ro: '(fără)' @@ -783,6 +831,7 @@ function init() { ,de: '' ,es: '' ,fr: '' + ,pl: '' ,pt: '' ,sv: '' ,ro: '' @@ -799,6 +848,7 @@ function init() { ,de: 'Leeres Ergebnis' ,es: 'Resultado vacío' ,fr: 'Pas de résultat' + ,pl: 'Pusty rezultat' ,pt: 'Resultado vazio' ,sv: 'Resultat saknas' ,ro: 'Fără rezultat' @@ -816,6 +866,7 @@ function init() { ,de: 'Von Tag zu Tag' ,es: 'Día a día' ,fr: 'jour par jour' + ,pl: 'Dzień po dniu' ,pt: 'Dia a dia' ,sv: 'Dag för dag' ,ro: 'Zi cu zi' @@ -832,6 +883,7 @@ function init() { ,de: 'Tägliche Statistik' ,es: 'Estadísticas diarias' ,fr: 'Stats quotidiennes' + ,pl: 'Dzienne statystyki' ,pt: 'Estatísticas diárias' ,sv: 'Dygnsstatistik' ,ro: 'Statistici zilnice' @@ -848,6 +900,7 @@ function init() { ,de: 'Durchschnittswert' ,es: 'Percentiles' ,fr: 'Percentiles' + ,pl: 'Percentyl' ,pt: 'Percentis' ,ro: 'Grafic percentile' ,bg: 'Процентна графика' @@ -864,6 +917,7 @@ function init() { ,de: 'Streuung' ,es: 'Distribución' ,fr: 'Distribution' + ,pl: 'Rozkład' ,pt: 'Distribuição' ,ro: 'Distribuție' ,bg: 'Разпределение' @@ -880,6 +934,7 @@ function init() { ,de: 'Stündliche Statistik' ,es: 'Estadísticas por hora' ,fr: 'Statistiques horaires' + ,pl: 'Godzinne statystyki' ,pt: 'Estatísticas por hora' ,sv: 'Timmstatistik' ,ro: 'Statistici orare' @@ -896,6 +951,7 @@ function init() { ,de: 'Wöchentlicher Erfolg' ,es: 'Resultados semanales' ,fr: 'Résultat hebdomadaire' + ,pl: 'Tygodniowy sukces' ,pt: 'Resultados semanais' ,ro: 'Rezultate săptămânale' ,bg: 'Седмичен успех' @@ -911,6 +967,7 @@ function init() { ,de: 'Keine Daten verfügbar' ,es: 'No hay datos disponibles' ,fr: 'Pas de données disponibles' + ,pl: 'Brak dostępnych danych' ,pt: 'Não há dados' ,ro: 'Fără date' ,bg: 'Няма данни за показване' @@ -927,6 +984,7 @@ function init() { ,de: 'Tief' ,es: 'Bajo' ,fr: 'Bas' + ,pl: 'Niski' ,pt: 'Baixo' ,sv: 'Låg' ,ro: 'Prea jos' @@ -943,6 +1001,7 @@ function init() { ,de: 'Im Zielbereich' ,es: 'En rango' ,fr: 'dans la norme' + ,pl: 'W zakresie' ,pt: 'Na meta' ,sv: 'Inom intervallet' ,ro: 'În interval' @@ -959,6 +1018,7 @@ function init() { ,de: 'Zeitraum' ,es: 'Periodo' ,fr: 'Période' + ,pl: 'Zakres' ,pt: 'Período' ,sv: 'Period' ,ro: 'Perioada' @@ -975,6 +1035,7 @@ function init() { ,de: 'Hoch' ,es: 'Alto' ,fr: 'Haut' + ,pl: 'Wysoki' ,pt: 'Alto' ,sv: 'Hög' ,ro: 'Prea sus' @@ -991,6 +1052,7 @@ function init() { ,de: 'Mittelwert' ,es: 'Media' ,fr: 'Moyenne' + ,pl: 'Średni' ,pt: 'Média' ,sv: 'Genomsnittligt' ,ro: 'Media' @@ -1007,6 +1069,7 @@ function init() { ,de: 'Unteres Quartil' ,es: 'Cuartil inferior' ,fr: 'Quartile inférieur' + ,pl: 'Dolny kwartyl' ,pt: 'Quartil inferior' ,ro: 'Pătrime inferioară' ,bg: 'Ниска четвъртинка' @@ -1023,6 +1086,7 @@ function init() { ,de: 'Oberes Quartil' ,es: 'Cuartil superior' ,fr: 'Quartile supérieur' + ,pl: 'Górny kwartyl' ,pt: 'Quartil superior' ,ro: 'Pătrime superioară' ,bg: 'Висока четвъртинка' @@ -1039,6 +1103,7 @@ function init() { ,de: 'Quartil' ,es: 'Cuartil' ,fr: 'Quartile' + ,pl: 'Kwartyl' ,pt: 'Quartil' ,ro: 'Pătrime' ,bg: 'Четвъртинка' @@ -1055,6 +1120,7 @@ function init() { ,de: 'Datum' ,es: 'Fecha' ,fr: 'Date' + ,pl: 'Data' ,pt: 'Data' ,sv: 'Datum' ,ro: 'Data' @@ -1071,6 +1137,7 @@ function init() { ,de: 'Normal' ,es: 'Normal' ,fr: 'Normale' + ,pl: 'Normalny' ,pt: 'Normal' ,sv: 'Normal' ,ro: 'Normal' @@ -1086,6 +1153,7 @@ function init() { ,de: 'Median' ,es: 'Mediana' ,fr: 'Médiane' + ,pl: 'Mediana' ,pt: 'Mediana' ,ro: 'Mediană' ,bg: 'Средно' @@ -1102,6 +1170,7 @@ function init() { ,de: 'Messwerte' ,es: 'Valores' ,fr: 'Valeurs' + ,pl: 'Odczyty' ,pt: 'Valores' ,sv: 'Avläsningar' ,ro: 'Valori' @@ -1118,6 +1187,7 @@ function init() { ,de: 'Standardabweichung' ,es: 'Desviación estándar' ,fr: 'Déviation St.' + ,pl: 'St. odchylenie' ,pt: 'DesvPadr' ,sv: 'StdDev' ,ro: 'Standarddeviation' @@ -1134,6 +1204,7 @@ function init() { ,de: 'Tagesstatistik Bericht' ,es: 'Informe de estadísticas diarias' ,fr: 'Rapport quotidien' + ,pl: 'Dzienne statystyki' ,pt: 'Relatório diário' ,ro: 'Raport statistică zilnică' ,bg: 'Дневна статистика' @@ -1150,6 +1221,7 @@ function init() { ,de: 'Glukose-Prozent Bericht' ,es: 'Informe de percetiles de glucemia' ,fr: 'Rapport percentiles Glycémie' + ,pl: 'Raport procentowy glikemii' ,pt: 'Relatório de Percentis de Glicemia' ,sv: 'Glukosrapport i procent' ,ro: 'Raport percentile glicemii' @@ -1165,6 +1237,7 @@ function init() { ,de: 'Glukuse Verteilung' ,es: 'Distribución de glucemias' ,fr: 'Distribution glycémies' + ,pl: 'Rozkład glikemii' ,pt: 'Distribuição de glicemias' ,ro: 'Distribuție glicemie' ,bg: 'Разпределение на КЗ' @@ -1181,6 +1254,7 @@ function init() { ,de: 'Gesamttage' ,es: 'Total de días' ,fr: 'jours totaux' + ,pl: 'dni razem' ,pt: 'dias no total' ,sv: 'antal dagar' ,ro: 'total zile' @@ -1197,6 +1271,7 @@ function init() { ,de: 'Insgesamt' ,es: 'General' ,fr: 'En général' + ,pl: 'Razem' ,pt: 'Geral' ,sv: 'Genomsnitt' ,ro: 'General' @@ -1213,6 +1288,7 @@ function init() { ,de: 'Bereich' ,es: 'Intervalo' ,fr: 'Intervalle' + ,pl: 'Zakres' ,pt: 'intervalo' ,sv: 'Intervall' ,ro: 'Interval' @@ -1229,6 +1305,7 @@ function init() { ,de: '% der Messwerte' ,es: '% de valores' ,fr: '% de valeurs' + ,pl: '% odczytów' ,pt: '% de valores' ,sv: '& av avläsningar' ,ro: '% de valori' @@ -1245,6 +1322,7 @@ function init() { ,de: '# der Messwerte' ,es: 'N° de valores' ,fr: 'nbr de valeurs' + ,pl: 'ilość odczytów' ,pt: 'N° de valores' ,sv: '# av avläsningar' ,ro: 'nr. de valori' @@ -1261,6 +1339,7 @@ function init() { ,de: 'Durchschnittlich' ,es: 'Media' ,fr: 'Moyenne' + ,pl: 'Mediana' ,pt: 'Média' ,sv: 'Genomsnitt' ,ro: 'Medie' @@ -1277,6 +1356,7 @@ function init() { ,de: 'Standardabweichung' ,es: 'Desviación estándar' ,fr: 'Déviation Standard' + ,pl: 'Odchylenie standardowe' ,pt: 'Desvio padrão' ,ro: 'Deviație standard' ,bg: 'Стандартно отклонение' @@ -1293,6 +1373,7 @@ function init() { ,de: 'Max' ,es: 'Max' ,fr: 'Max' + ,pl: 'Max' ,pt: 'Máx' ,sv: 'Max' ,ro: 'Max' @@ -1309,6 +1390,7 @@ function init() { ,de: 'Min' ,es: 'Min' ,fr: 'Min' + ,pl: 'Min' ,pt: 'Mín' ,sv: 'Min' ,ro: 'Min' @@ -1325,6 +1407,7 @@ function init() { ,de: 'Prognose HbA1c*' ,es: 'Estimación de HbA1c*' ,fr: 'Estimation HbA1c*' + ,pl: 'Szacowana HBA1c*' ,pt: 'HbA1c estimada*' ,ro: 'HbA1C estimată' ,bg: 'Очакван HbA1c' @@ -1341,6 +1424,7 @@ function init() { ,de: 'Wöchtlicher Erfolg' ,es: 'Resultados semanales' ,fr: 'Réussite hebdomadaire' + ,pl: 'Tygodniowy sukces' ,pt: 'Resultados semanais' ,ro: 'Rezultate săptămânale' ,bg: 'Седмичен успех' @@ -1356,6 +1440,7 @@ function init() { ,de: 'Für diesen Bericht sind nicht genug Daten verfügbar. Bitte weitere Tage auswählen' ,es: 'No hay datos suficientes para generar este informe. Seleccione más días.' ,fr: 'Pas assez de données pour un rapport. Sélectionnez plus de jours.' + ,pl: 'Brak wystarczającej ilości danych aby sporządzić raport. Wybierz więcej dni.' ,pt: 'Não há dados suficientes. Selecione mais dias' ,ro: 'Nu sunt sufieciente date pentru acest raport. Selectați mai multe zile.' ,bg: 'Няма достатъчно данни за показване. Изберете повече дни.' @@ -1373,6 +1458,7 @@ function init() { ,de: 'Gespeicherte API-Prüfsumme verwenden' ,es: 'Usando el hash del API pre-almacenado' ,fr: 'Utilisation du hash API existant' + ,pl: 'Używam zapisanego sekretnego hasha API' ,pt: 'Usando o hash de API existente' ,ro: 'Utilizez cheie API secretă' ,bg: 'Използване на запаметена API парола' @@ -1388,6 +1474,7 @@ function init() { ,de: 'Keine API-Prüfsumme gespeichert. Bitte API-Prüfsumme eingeben.' ,es: 'No se ha almacenado ningún hash todavía. Debe introducir su secreto API.' ,fr: 'Pas de secret API existant. Vous devez l\'en entrer.' + ,pl: 'Nie zapisano sekretnego hasha API. Musisz wprowadzić sekret API.' ,pt: 'Hash de segredo de API inexistente. Insira um segredo de API.' ,ro: 'Încă nu există cheie API secretă. Aceasta trebuie introdusă.' ,bg: 'Няма запаметена API парола. Tрябва да въведете API парола' @@ -1403,6 +1490,7 @@ function init() { ,de: 'Datenbank geladen' ,es: 'Base de datos cargada' ,fr: 'Base de données chargée' + ,pl: 'Baza załadowana' ,pt: 'Banco de dados carregado' ,ro: 'Baza de date încărcată' ,bg: 'База с данни заредена' @@ -1418,6 +1506,7 @@ function init() { ,de: 'Fehler: Datenbank konnte nicht geladen werden' ,es: 'Error: Carga de base de datos fallida' ,fr: 'Erreur: le chargement de la base de données a échoué' + ,pl: 'Błąd: Nie udało się załadować bazy' ,pt: 'Erro: Banco de dados não carregado' ,ro: 'Eroare: Nu s-a încărcat baza de date' ,bg: 'ГРЕШКА. Базата с данни не успя да се зареди' @@ -1434,6 +1523,7 @@ function init() { ,de: 'Erstelle neuen Datensatz' ,es: 'Crear nuevo registro' ,fr: 'Créer nouvel enregistrement' + ,pl: 'Utwórz nowy rekord' ,pt: 'Criar novo registro' ,ro: 'Crează înregistrare nouă' ,bg: 'Създаване на нов запис' @@ -1450,6 +1540,7 @@ function init() { ,de: 'Speichere Datensatz' ,es: 'Guardar registro' ,fr: 'Sauver enregistrement' + ,pl: 'Zapisz rekord' ,pt: 'Salvar registro' ,ro: 'Salvează înregistrarea' ,bg: 'Запази запис' @@ -1466,6 +1557,7 @@ function init() { ,de: 'Portionen' ,es: 'Porciones' ,fr: 'Portions' + ,pl: 'Porcje' ,pt: 'Porções' ,ro: 'Porții' ,bg: 'Порции' @@ -1482,6 +1574,7 @@ function init() { ,de: 'Einheit' ,es: 'Unidades' ,fr: 'Unités' + ,pl: 'Jednostki' ,pt: 'Unidade' ,ro: 'Unități' ,bg: 'Единици' @@ -1498,6 +1591,7 @@ function init() { ,de: 'GI' ,es: 'IG' ,fr: 'IG' + ,pl: 'IG' ,pt: 'IG' ,sv: 'GI' ,ro: 'CI' @@ -1513,6 +1607,7 @@ function init() { ,de: 'Bearbeite Datensatz' ,es: 'Editar registro' ,fr: 'Modifier enregistrement' + ,pl: 'Edytuj rekord' ,pt: 'Editar registro' ,ro: 'Editează înregistrarea' ,bg: 'Редактирай запис' @@ -1529,6 +1624,7 @@ function init() { ,de: 'Lösche Datensatz' ,es: 'Borrar registro' ,fr: 'Effacer enregistrement' + ,pl: 'Usuń rekord' ,pt: 'Apagar registro' ,ro: 'Șterge înregistrarea' ,bg: 'Изтрий запис' @@ -1545,6 +1641,7 @@ function init() { ,de: 'Gehe zum Anfang' ,es: 'Mover arriba' ,fr: 'Déplacer au sommet' + ,pl: 'Przesuń na górę' ,pt: 'Mover para o topo' ,sv: 'Gå till toppen' ,ro: 'Mergi la început' @@ -1561,6 +1658,7 @@ function init() { ,de: 'Versteckt' ,es: 'Oculto' ,fr: 'Caché' + ,pl: 'Ukryty' ,pt: 'Oculto' ,sv: 'Dold' ,ro: 'Ascuns' @@ -1577,6 +1675,7 @@ function init() { ,de: 'Verberge nach Gebrauch' ,es: 'Ocultar después de utilizar' ,fr: 'Cacher après utilisation' + ,pl: 'Ukryj po użyciu' ,pt: 'Ocultar após uso' ,ro: 'Ascunde după folosireaa' ,bg: 'Скрий след употреба' @@ -1593,6 +1692,7 @@ function init() { ,de: 'Deine API-Prüfsumme muss mindestens 12 Zeichen lang sein' ,es: 'Su secreo API debe contener al menos 12 caracteres' ,fr: 'Votre secret API doit contenir au moins 12 caractères' + ,pl: 'Twój sekret API musi mieć przynajmniej 12 znaków' ,pt: 'Seu segredo de API deve conter no mínimo 12 caracteres' ,ro: 'Cheia API trebuie să aibă mai mult de 12 caractere' ,bg: 'Вашата АPI парола трябва да е дълга поне 12 символа' @@ -1608,6 +1708,7 @@ function init() { ,de: 'Fehlerhafte API-Prüfsumme' ,es: 'Secreto API incorrecto' ,fr: 'Secret API erroné' + ,pl: 'Zły sekret API' ,pt: 'Segredo de API incorreto' ,ro: 'Cheie API greșită' ,bg: 'Некоректна API парола' @@ -1623,6 +1724,7 @@ function init() { ,de: 'API-Prüfsumme gespeichert' ,es: 'Hash de secreto API guardado' ,fr: 'Hash API secret sauvegardé' + ,pl: 'Sekretny hash API zapisany' ,pt: 'Segredo de API guardado' ,ro: 'Cheie API înregistrată' ,bg: 'УРА! API парола запаметена' @@ -1638,6 +1740,7 @@ function init() { ,de: 'Status' ,es: 'Estado' ,fr: 'Statut' + ,pl: 'Status' ,pt: 'Status' ,sv: 'Status' ,ro: 'Status' @@ -1654,6 +1757,7 @@ function init() { ,de: 'Nicht geladen' ,es: 'No cargado' ,fr: 'Non chargé' + ,pl: 'Nie załadowany' ,pt: 'Não carregado' ,ro: 'Neîncărcat' ,bg: 'Не е заредено' @@ -1669,6 +1773,7 @@ function init() { ,de: 'Nahrungsmittel Editor' ,es: 'Editor de alimentos' ,fr: 'Editeur aliments' + ,pl: 'Edytor pokarmu' ,pt: 'Editor de alimentos' ,ro: 'Editor alimente' ,bg: 'Редактор за храна' @@ -1684,6 +1789,7 @@ function init() { ,de: 'Deine Datenbank' ,es: 'Su base de datos' ,fr: 'Votre base de données' + ,pl: 'Twoja baza' ,pt: 'Seu banco de dados' ,sv: 'Din databas' ,ro: 'Baza de date' @@ -1700,6 +1806,7 @@ function init() { ,de: 'Filter' ,es: 'Filtro' ,fr: 'Filtre' + ,pl: 'Filtr' ,pt: 'Filtro' ,sv: 'Filter' ,ro: 'Filtru' @@ -1716,6 +1823,7 @@ function init() { ,de: 'Speichern' ,es: 'Salvar' ,fr: 'Sauver' + ,pl: 'Zapisz' ,pt: 'Salvar' ,ro: 'Salvează' ,bg: 'Запази' @@ -1732,6 +1840,7 @@ function init() { ,de: 'Löschen' ,es: 'Limpiar' ,fr: 'Effacer' + ,pl: 'Wyczyść' ,pt: 'Apagar' ,ro: 'Inițializare' ,bg: 'Изчисти' @@ -1748,6 +1857,7 @@ function init() { ,de: 'Datensatz' ,es: 'Guardar' ,fr: 'Enregistrement' + ,pl: 'Rekord' ,pt: 'Gravar' ,sv: 'Post' ,ro: 'Înregistrare' @@ -1764,6 +1874,7 @@ function init() { ,de: 'Schnellauswahl' ,es: 'Selección rápida' ,fr: 'Sélection rapide' + ,pl: 'Szybki wybór' ,pt: 'Seleção rápida' ,ro: 'Selecție rapidă' ,bg: 'Бърз избор' @@ -1780,6 +1891,7 @@ function init() { ,de: 'Zeige verborgen' ,es: 'Mostrar ocultos' ,fr: 'Montrer cachés' + ,pl: 'Pokaż ukryte' ,pt: 'Mostrar ocultos' ,ro: 'Arată înregistrările ascunse' ,bg: 'Покажи скритото' @@ -1796,6 +1908,7 @@ function init() { ,de: 'Deine API Prüfsumme' ,es: 'Su secreto API' ,fr: 'Votre secret API' + ,pl: 'Twoj sekret API' ,pt: 'Seu segredo de API' ,sv: 'Din API-nyckel' ,ro: 'Cheia API' @@ -1811,6 +1924,7 @@ function init() { ,de: 'Speichere Prüfsumme auf diesem Computer (nur auf privaten Computern anwenden)' ,es: 'Guardar hash en este ordenador (Usar solo en ordenadores privados)' ,fr: 'Sauver le hash sur cet ordinateur (privé uniquement)' + ,pl: 'Zapisz hash na tym komputerze (Używaj tylko na prywatnych komputerach)' ,pt: 'Salvar hash nesse computador (Somente em computadores privados)' ,ro: 'Salvează cheia pe acest PC (Folosiți doar PC de încredere)' ,bg: 'Запамети данните на този компютър. ( Използвай само на собствен компютър)' @@ -1826,6 +1940,7 @@ function init() { ,de: 'Bearbeitung' ,es: 'Tratamientos' ,fr: 'Traitements' + ,pl: 'Leczenie' ,pt: 'Procedimentos' ,sv: 'Behandling' ,ro: 'Tratamente' @@ -1842,6 +1957,7 @@ function init() { ,de: 'Zeit' ,es: 'Hora' ,fr: 'Heure' + ,pl: 'Czas' ,pt: 'Hora' ,sv: 'Tid' ,ro: 'Ora' @@ -1858,6 +1974,7 @@ function init() { ,de: 'Ereignis-Typ' ,es: 'Tipo de evento' ,fr: 'Type d\'événement' + ,pl: 'Rodzaj zdarzenia' ,pt: 'Tipo de evento' ,sv: 'Händelsetyp' ,ro: 'Tip eveniment' @@ -1874,6 +1991,7 @@ function init() { ,de: 'Blutglukose' ,es: 'Glucemia' ,fr: 'Glycémie' + ,pl: 'Glikemia' ,pt: 'Glicemia' ,sv: 'Glukosvärde' ,ro: 'Glicemie' @@ -1890,6 +2008,7 @@ function init() { ,de: 'Eingabe durch' ,es: 'Introducido por' ,fr: 'Entré par' + ,pl: 'Wprowadzone przez' ,pt: 'Inserido por' ,sv: 'Inlagt av' ,ro: 'Introdus de' @@ -1906,6 +2025,7 @@ function init() { ,de: 'Bearbeitung löschen' ,es: '¿Borrar este tratamiento?' ,fr: 'Effacer ce traitement?' + ,pl: 'Usunąć leczenie?' ,pt: 'Apagar este procedimento?' ,ro: 'Șterge acest eveniment?' ,bg: 'Изтрий това събитие' @@ -1922,6 +2042,7 @@ function init() { ,de: 'Kohlenhydratgabe' ,es: 'Hidratos de carbono dados' ,fr: 'Glucides donnés' + ,pl: 'Cukry podane' ,pt: 'Carboidratos' ,ro: 'Carbohidrați' ,bg: 'ВХ' @@ -1938,6 +2059,7 @@ function init() { ,de: 'Insulingabe' ,es: 'Insulina dada' ,fr: 'Insuline donnée' + ,pl: 'Insulina podana' ,pt: 'Insulina' ,ro: 'Insulină administrată' ,bg: 'Инсулин' @@ -1954,6 +2076,7 @@ function init() { ,de: 'Ereignis Zeit' ,es: 'Hora del evento' ,fr: 'Heure de l\'événement' + ,pl: 'Czas zdarzenia' ,pt: 'Hora do evento' ,sv: 'Klockslag' ,ro: 'Ora evenimentului' @@ -1970,6 +2093,7 @@ function init() { ,de: 'Bitte Daten auf Plausibilität prüfen' ,es: 'Por favor, verifique que los datos introducidos son correctos' ,fr: 'Merci de vérifier la correction des données entrées' + ,pl: 'Proszę zweryfikować prawidłowość wprowadzonych danych' ,pt: 'Favor verificar se os dados estão corretos' ,ro: 'Verificați conexiunea datelor introduse' ,bg: 'Моля проверете, че датата е въведена правилно' @@ -1986,6 +2110,7 @@ function init() { ,de: 'Blutglukose' ,es: 'Glucemia en sangre' ,fr: 'Glycémie' + ,pl: 'Glikemia' ,pt: 'Glicemia' ,sv: 'BS' ,ro: 'Glicemie' @@ -2001,6 +2126,7 @@ function init() { ,de: 'Verwende Blutglukose-Korrektur zur Kalkulation' ,es: 'Usar la corrección de glucemia en los cálculos' ,fr: 'Utiliser la correction de glycémie dans les calculs' + ,pl: 'Używaj korekcji glikemii przy kalkulacji' ,pt: 'Usar correção de glicemia nos cálculos' ,ro: 'Folosește corecția de glicemie în calcule' ,bg: 'Използвай корекцията за КЗ в изчислението' @@ -2016,6 +2142,7 @@ function init() { ,de: 'Blutglukose vom CGM (Autoupdate)' ,es: 'Glucemia del sensor (Actualizado automáticamente)' ,fr: 'Glycémie CGM (automatique)' + ,pl: 'Glikemia z CGM (autoaktualizacja)' ,pt: 'Glicemia do sensor (Automático)' ,sv: 'BS från CGM (automatiskt)' ,ro: 'Glicemie în senzor (automat)' @@ -2031,6 +2158,7 @@ function init() { ,de: 'Blutzucker vom Messgerät' ,es: 'Glucemia del glucómetro' ,fr: 'Glycémie de glucomètre' + ,pl: 'Glikemia z glukometru' ,pt: 'Glicemia do glicosímetro' ,sv: 'BS från blodsockermätare' ,ro: 'Glicemie în glucometru' @@ -2046,6 +2174,7 @@ function init() { ,de: 'Blutzucker händisch' ,es: 'Glucemia manual' ,fr: 'Glycémie manuelle' + ,pl: 'Ręczna glikemia' ,pt: 'Glicemia Manual' ,ro: 'Glicemie manuală' ,bg: 'Ръчно въведена КЗ' @@ -2061,6 +2190,7 @@ function init() { ,de: 'Schnellauswahl' ,es: 'Selección rápida' ,fr: 'Sélection rapide' + ,pl: 'Szybki wybór' ,pt: 'Seleção rápida' ,ro: 'Selecție rapidă' ,bg: 'Бърз избор' @@ -2076,6 +2206,7 @@ function init() { ,de: 'oder' ,es: 'o' ,fr: 'ou' + ,pl: 'lub' ,pt: 'or' ,sv: 'Eller' ,ro: 'sau' @@ -2092,6 +2223,7 @@ function init() { ,de: 'Ergänzt aus Datenbank' ,es: 'Añadir desde la base de datos' ,fr: 'Ajouter à partir de la base de données' + ,pl: 'Dodaj z bazy danych' ,pt: 'Adicionar do banco de dados' ,ro: 'Adaugă din baza de date' ,bg: 'Добави от базата с данни' @@ -2108,6 +2240,7 @@ function init() { ,de: 'Verwende Kohlenhydrate-Korrektur zur Kalkulation' ,es: 'Usar la corrección de hidratos de carbono en los cálculos' ,fr: 'Utiliser la correction en glucides dans les calculs' + ,pl: 'Używaj poprawki cukrów w kalkulacji' ,pt: 'Usar correção com carboidratos no cálculo' ,ro: 'Folosește corecția de carbohidrați în calcule' ,bg: 'Включи корекцията чрез ВХ в изчислението' @@ -2123,6 +2256,7 @@ function init() { ,de: 'Verwende verzehrte Kohlenhydrate zur Kalkulation' ,es: 'Usar la corrección de COB en los cálculos' ,fr: 'Utiliser les COB dans les calculs' + ,pl: 'Użyj korekcji COB w kalkulacji' ,pt: 'Usar correção de COB no cálculo' ,ro: 'Folosește COB în calcule' ,bg: 'Включи активните ВХ в изчислението' @@ -2138,6 +2272,7 @@ function init() { ,de: 'Verwende gespritzes Insulin zur Kalkulation' ,es: 'Usar la IOB en los cálculos' ,fr: 'Utiliser l\'IOB dans les calculs' + ,pl: 'Użyj IOB w kalkulacji' ,pt: 'Usar IOB no cálculo' ,ro: 'Folosește IOB în calcule' ,bg: 'Включи активния инсулин в изчислението' @@ -2153,6 +2288,7 @@ function init() { ,de: 'Weitere Korrektur' ,es: 'Otra correción' ,fr: 'Autre correction' + ,pl: 'Inna korekcja' ,pt: 'Outra correção' ,ro: 'Alte corecții' ,bg: 'Друга корекция' @@ -2168,6 +2304,7 @@ function init() { ,de: 'Gerundet' ,es: 'Redondeo' ,fr: 'Arrondi' + ,pl: 'Zaokrąglanie' ,pt: 'Arredondamento' ,sv: 'Avrundning' ,ro: 'Rotunjire' @@ -2183,6 +2320,7 @@ function init() { ,de: 'Insulin Korrektur zur Behandlung eingeben' ,es: 'Introducir correción de insulina en tratamiento' ,fr: 'Entrer correction insuline dans le traitement' + ,pl: 'Wprowadź korektę insulinową w leczeniu' ,pt: 'Inserir correção de insulina no tratamento' ,ro: 'Introdu corecția de insulină în tratament' ,bg: 'Въведи корекция с инсулин като лечение' @@ -2198,6 +2336,7 @@ function init() { ,de: 'Benötigtes Insulin' ,es: 'Insulina necesaria' ,fr: 'Insuline nécessaire' + ,pl: 'Insulina potrzebna' ,pt: 'Insulina necessária' ,ro: 'Necesar insulină' ,bg: 'Необходим инсулин' @@ -2214,6 +2353,7 @@ function init() { ,de: 'Benötigte Kohlenhydrate' ,es: 'Hidratos de carbono necesarios' ,fr: 'Glucides nécessaires' + ,pl: 'Cukry potrzebne' ,pt: 'Carboidratos necessários' ,ro: 'Necesar carbohidrați' ,bg: 'Необходими въглехидрати' @@ -2230,6 +2370,7 @@ function init() { ,de: 'Benötigte Kohlenhydrate sofern Gesamtinsulin einen negativen Wert aufweist' ,es: 'Hidratos de carbono necesarios si el total de insulina es un valor negativo' ,fr: 'Glucides nécessaires si insuline totale est un valeur négative' + ,pl: 'Brakuje węglowodanów jeśli wynik jest ujemny' ,pt: 'Carboidratos necessários se Insulina total for negativa' ,ro: 'Carbohidrați când necesarul de insulină este negativ' ,bg: 'Необходими въглехидрати, ако няма инсулин' @@ -2245,6 +2386,7 @@ function init() { ,de: 'Basalrate' ,es: 'Tasa basal' ,fr: 'Taux basal' + ,pl: 'Podstawa' ,pt: 'Taxa basal' ,ro: 'Rata bazală' ,bg: 'Базален инсулин' @@ -2260,6 +2402,7 @@ function init() { ,de: '60 Min. früher' ,es: '60 min antes' ,fr: '60 min avant' + ,pl: '60 min wcześniej' ,pt: '60 min antes' ,sv: '60 min tidigare' ,ro: 'acum 60 min' @@ -2275,6 +2418,7 @@ function init() { ,de: '45 Min. früher' ,es: '45 min antes' ,fr: '45 min avant' + ,pl: '45 min wcześniej' ,pt: '45 min antes' ,sv: '45 min tidigare' ,ro: 'acum 45 min' @@ -2290,6 +2434,7 @@ function init() { ,de: '30 Min früher' ,es: '30 min antes' ,fr: '30 min avant' + ,pl: '30 min wcześniej' ,pt: '30 min antes' ,sv: '30 min tidigare' ,ro: 'acum 30 min' @@ -2305,6 +2450,7 @@ function init() { ,de: '20 Min. früher' ,es: '20 min antes' ,fr: '20 min avant' + ,pl: '20 min wcześniej' ,pt: '20 min antes' ,sv: '20 min tidigare' ,ro: 'acum 20 min' @@ -2320,6 +2466,7 @@ function init() { ,de: '15 Min. früher' ,es: '15 min antes' ,fr: '15 min avant' + ,pl: '15 min wcześniej' ,pt: '15 min antes' ,sv: '15 min tidigare' ,ro: 'acum 15 min' @@ -2335,6 +2482,7 @@ function init() { ,de: 'Zeit in Minuten' ,es: 'Tiempo en minutos' ,fr: 'Durée en minutes' + ,pl: 'Czas w minutach' ,pt: 'Tempo em minutos' ,sv: 'Tid i minuter' ,ro: 'Timp în minute' @@ -2351,6 +2499,7 @@ function init() { ,de: '15 Min. später' ,es: '15 min más tarde' ,fr: '15 min après' + ,pl: '15 min później' ,pt: '15 min depois' ,ro: 'după 15 min' ,bg: 'След 15 минути' @@ -2367,6 +2516,7 @@ function init() { ,de: '20 Min. später' ,es: '20 min más tarde' ,fr: '20 min après' + ,pl: '20 min później' ,pt: '20 min depois' ,ro: 'după 20 min' ,bg: 'След 20 минути' @@ -2383,6 +2533,7 @@ function init() { ,de: '30 Min. später' ,es: '30 min más tarde' ,fr: '30 min après' + ,pl: '30 min później' ,pt: '30 min depois' ,ro: 'după 30 min' ,bg: 'След 30 минути' @@ -2399,6 +2550,7 @@ function init() { ,de: '45 Min. später' ,es: '45 min más tarde' ,fr: '45 min après' + ,pl: '45 min później' ,pt: '45 min depois' ,ro: 'după 45 min' ,bg: 'След 45 минути' @@ -2415,6 +2567,7 @@ function init() { ,de: '60 Min. später' ,es: '60 min más tarde' ,fr: '60 min après' + ,pl: '60 min później' ,pt: '60 min depois' ,ro: 'după 60 min' ,bg: 'След 60 минути' @@ -2431,6 +2584,7 @@ function init() { ,de: 'Ergänzende Hinweise / Kommentare' ,es: 'Notas adicionales, Comentarios' ,fr: 'Notes additionnelles, commentaires' + ,pl: 'Dodatkowe notatki, komentarze' ,pt: 'Notas adicionais e comentários' ,ro: 'Note adiționale, comentarii' ,bg: 'Допълнителни бележки, коментари' @@ -2447,6 +2601,7 @@ function init() { ,de: 'RETRO MODUS' ,es: 'Modo Retrospectivo' ,fr: 'MODE RETROSPECTIF' + ,pl: 'TRYB RETRO' ,pt: 'Modo Retrospectivo' ,sv: 'Retroläge' ,ro: 'MOD RETROSPECTIV' @@ -2462,6 +2617,7 @@ function init() { ,de: 'Jetzt' ,es: 'Ahora' ,fr: 'Maintenant' + ,pl: 'Teraz' ,pt: 'Agora' ,sv: 'Nu' ,ro: 'Acum' @@ -2478,6 +2634,7 @@ function init() { ,de: 'Weitere' ,es: 'Otro' ,fr: 'Autre' + ,pl: 'Inny' ,pt: 'Outro' ,sv: 'Övrigt' ,ro: 'Altul' @@ -2494,6 +2651,7 @@ function init() { ,de: 'Eingabe senden' ,es: 'Enviar formulario' ,fr: 'Formulaire de soumission' + ,pl: 'Prześlij formularz' ,pt: 'Enviar formulário' ,sv: 'Överför händelse' ,ro: 'Trimite formularul' @@ -2510,6 +2668,7 @@ function init() { ,de: 'Profil-Einstellungen' ,es: 'Editor de perfil' ,fr: 'Editeur de profil' + ,pl: 'Edytor Profilu' ,pt: 'Editor de perfil' ,sv: 'Editera profil' ,ro: 'Editare profil' @@ -2526,6 +2685,7 @@ function init() { ,de: 'Berichte' ,es: 'Herramienta de informes' ,fr: 'Outil de rapport' + ,pl: 'Raporty' ,pt: 'Relatórios' ,sv: 'Rapportverktyg' ,ro: 'Instrument de rapoarte' @@ -2541,6 +2701,7 @@ function init() { ,de: 'Ergänzt durch deine Datenbank' ,es: 'Añadir alimento a su base de datos' ,fr: 'Ajouter aliment de votre base de données' + ,pl: 'Dodaj pożywienie z Twojej bazy' ,pt: 'Incluir alimento do seu banco de dados' ,ro: 'Adaugă alimente din baza de date' ,bg: 'Добави храна от твоята база с данни' @@ -2556,6 +2717,7 @@ function init() { ,de: 'Datenbank nachladen' ,es: 'Recargar base de datos' ,fr: 'Recharger la base de données' + ,pl: 'Przeładuj bazę' ,pt: 'Recarregar banco de dados' ,ro: 'Reîncarcă baza de date' ,bg: 'Презареди базата с данни' @@ -2571,6 +2733,7 @@ function init() { ,de: 'Hinzufügen' ,es: 'Añadir' ,fr: 'Ajouter' + ,pl: 'Dodaj' ,pt: 'Adicionar' ,ro: 'Adaugă' ,bg: 'Добави' @@ -2586,6 +2749,7 @@ function init() { ,de: 'Unbestätigt' ,es: 'No autorizado' ,fr: 'Non autorisé' + ,pl: 'Nieuwierzytelniony' ,pt: 'Não autorizado' ,sv: 'Ej behörig' ,ro: 'Neautorizat' @@ -2601,6 +2765,7 @@ function init() { ,de: 'Eingabe Datensatz fehlerhaft' ,es: 'Entrada de registro fallida' ,fr: 'Entrée enregistrement a échoué' + ,pl: 'Błąd wprowadzania rekordu' ,pt: 'Entrada de registro falhou' ,ro: 'Înregistrare eșuată' ,bg: 'Въвеждане на записа не се осъществи' @@ -2616,6 +2781,7 @@ function init() { ,de: 'Gerät authentifiziert' ,es: 'Dispositivo autenticado' ,fr: 'Appareil authentifié' + ,pl: 'Urządzenie uwierzytelnione' ,pt: 'Dispositivo autenticado' ,sv: 'Enhet autentiserad' ,ro: 'Dispozitiv autentificat' @@ -2631,6 +2797,7 @@ function init() { ,de: 'Gerät nicht authentifiziert' ,es: 'Dispositivo no autenticado' ,fr: 'Appareil non authentifié' + ,pl: 'Urządzenie nieuwierzytelnione' ,pt: 'Dispositivo não autenticado' ,sv: 'Enhet EJ autentiserad' ,ro: 'Dispozitiv neautentificat' @@ -2646,6 +2813,7 @@ function init() { ,de: 'Authentifications Status' ,es: 'Estado de autenticación' ,fr: 'Status de l\'authentification' + ,pl: 'Status uwierzytelniania' ,pt: 'Status de autenticação' ,ro: 'Starea autentificării' ,bg: 'Статус на удостоверяване' @@ -2661,6 +2829,7 @@ function init() { ,de: 'Authentifizieren' ,es: 'Autenticar' ,fr: 'Authentifier' + ,pl: 'Uwierzytelnij' ,pt: 'Autenticar' ,sv: 'Autentiserar' ,ro: 'Autentificare' @@ -2676,6 +2845,7 @@ function init() { ,de: 'Entfernen' ,es: 'Eliminar' ,fr: 'Retirer' + ,pl: 'Usuń' ,pt: 'Remover' ,ro: 'Șterge' ,bg: 'Премахни' @@ -2691,6 +2861,7 @@ function init() { ,de: 'Dein Gerät ist derzeit nicht authentifiziert' ,es: 'Su dispositivo no ha sido autenticado todavía' ,fr: 'Votre appareil n\'est pas encore authentifié' + ,pl: 'Twoje urządzenie nie jest jeszcze uwierzytelnione' ,pt: 'Seu dispositivo ainda não foi autenticado' ,ro: 'Dispozitivul nu este autentificat încă' ,bg: 'Вашето устройство все още не е удостоверено' @@ -2706,6 +2877,7 @@ function init() { ,de: 'Sensor' ,es: 'Sensor' ,fr: 'Senseur' + ,pl: 'Sensor' ,pt: 'Sensor' ,sv: 'Sensor' ,ro: 'Senzor' @@ -2722,6 +2894,7 @@ function init() { ,de: 'Finger' ,es: 'Dedo' ,fr: 'Doigt' + ,pl: 'Palec' ,pt: 'Ponta de dedo' ,sv: 'Finger' ,ro: 'Deget' @@ -2738,6 +2911,7 @@ function init() { ,de: 'Händisch' ,es: 'Manual' ,fr: 'Manuel' + ,pl: 'Ręczny' ,pt: 'Manual' ,sv: 'Manuell' ,ro: 'Manual' @@ -2754,6 +2928,7 @@ function init() { ,de: 'Messen' ,es: 'Escala' ,fr: 'Echelle' + ,pl: 'Skala' ,pt: 'Escala' ,ro: 'Scală' ,bg: 'Скала' @@ -2769,6 +2944,7 @@ function init() { ,de: 'Linear' ,es: 'Lineal' ,fr: 'Linéaire' + ,pl: 'Liniowy' ,pt: 'Linear' ,sv: 'Linjär' ,ro: 'Liniar' @@ -2785,6 +2961,7 @@ function init() { ,de: 'Logarithmisch' ,es: 'Logarítmica' ,fr: 'Logarithmique' + ,pl: 'Logarytmiczny' ,pt: 'Logarítmica' ,sv: 'Logaritmisk' ,ro: 'Logaritmic' @@ -2799,12 +2976,14 @@ function init() { ,'Logarithmic (Dynamic)' : { it: 'Logaritmica (Dinamica)' ,ro: 'Logaritmic (Dinamic)' + ,pl: 'Logarytmiczny (Dynamiczny)' } ,'Silence for 30 minutes' : { cs: 'Ztlumit na 30 minut' ,de: 'Ausschalten für 30 Minuten' ,es: 'Silenciar durante 30 minutos' ,fr: 'Silence pendant 30 minutes' + ,pl: 'Cisza przez 30 minut' ,pt: 'Silenciar por 30 minutos' ,ro: 'Ignoră pentru 30 minute' ,bg: 'Заглуши за 30 минути' @@ -2820,6 +2999,7 @@ function init() { ,de: 'Ausschalten für 60 Minuten' ,es: 'Silenciar durante 60 minutos' ,fr: 'Silence pendant 60 minutes' + ,pl: 'Cisza przez 60 minut' ,pt: 'Silenciar por 60 minutos' ,ro: 'Ignoră pentru 60 minute' ,bg: 'Заглуши за 60 минути' @@ -2835,6 +3015,7 @@ function init() { ,de: 'Ausschalten für 90 Minuten' ,es: 'Silenciar durante 90 minutos' ,fr: 'Silence pendant 90 minutes' + ,pl: 'Cisza przez 90 minut' ,pt: 'Silenciar por 90 minutos' ,ro: 'Ignoră pentru 90 minure' ,bg: 'Заглуши за 90 минути' @@ -2850,6 +3031,7 @@ function init() { ,de: 'Ausschalten für 120 Minuten' ,es: 'Silenciar durante 120 minutos' ,fr: 'Silence pendant 120 minutes' + ,pl: 'Cisza przez 120 minut' ,pt: 'Silenciar por 120 minutos' ,ro: 'Ignoră pentru 120 minute' ,bg: 'Заглуши за 120 минути' @@ -2865,6 +3047,7 @@ function init() { ,de: '3h' ,es: '3h' ,fr: '3hr' + ,pl: '3G' ,pt: '3h' ,sv: '3tim' ,ro: '3h' @@ -2880,6 +3063,7 @@ function init() { ,de: '6h' ,es: '6h' ,fr: '6hr' + ,pl: '6G' ,pt: '6h' ,sv: '6tim' ,ro: '6h' @@ -2895,6 +3079,7 @@ function init() { ,de: '12h' ,es: '12h' ,fr: '12hr' + ,pl: '12G' ,pt: '12h' ,sv: '12tim' ,ro: '12h' @@ -2910,6 +3095,7 @@ function init() { ,de: '24h' ,es: '24h' ,fr: '24hr' + ,pl: '24G' ,pt: '24h' ,sv: '24tim' ,ro: '24h' @@ -2925,6 +3111,7 @@ function init() { ,de: 'Einstellungen' ,es: 'Ajustes' ,fr: 'Paramètres' + ,pl: 'Ustawienia' ,pt: 'Ajustes' ,sv: 'Inställningar' ,ro: 'Setări' @@ -2940,6 +3127,7 @@ function init() { ,de: 'Einheiten' ,es: 'Unidades' ,fr: 'Unités' + ,pl: 'Jednostki' ,pt: 'Unidades' ,ro: 'Unități' ,bg: 'Единици' @@ -2955,6 +3143,7 @@ function init() { ,de: 'Datum Format' ,es: 'Formato de fecha' ,fr: 'Format Date' + ,pl: 'Format daty' ,pt: 'Formato de data' ,sv: 'Datumformat' ,ro: 'Formatul datei' @@ -2970,6 +3159,7 @@ function init() { ,de: '12 Stunden' ,es: '12 horas' ,fr: '12hr' + ,pl: '12 godzin' ,pt: '12 horas' ,sv: '12-timmars' ,ro: '12 ore' @@ -2985,6 +3175,7 @@ function init() { ,de: '24 Stunden' ,es: '24 horas' ,fr: '24hr' + ,pl: '24 godzin' ,pt: '24 horas' ,sv: '24-timmars' ,ro: '24 ore' @@ -3000,6 +3191,7 @@ function init() { ,de: 'Dateneingabe' ,es: 'Apuntar un tratamiento' ,fr: 'Entrer un traitement' + ,pl: 'Zaloguj leczenie' ,pt: 'Entre um procedimento' ,ro: 'Înregistrează un eveniment' ,bg: 'Въвеждане на събитие' @@ -3016,6 +3208,7 @@ function init() { ,de: 'Blutglukose-Prüfung' ,es: 'Control de glucemia' ,fr: 'Contrôle glycémie' + ,pl: 'Kontrola glikemii' ,pt: 'Medida de glicemia' ,sv: 'Blodsockerkontroll' ,ro: 'Verificare glicemie' @@ -3032,6 +3225,7 @@ function init() { ,de: 'Mahlzeiten Bolus' ,es: 'Bolo de comida' ,fr: 'Bolus repas' + ,pl: 'Bolus posiłku' ,pt: 'Bolus de refeição' ,ro: 'Bolus masă' ,bg: 'Болус-основно хранене' @@ -3048,6 +3242,7 @@ function init() { ,de: 'Snack Bolus' ,es: 'Bolo de aperitivo' ,fr: 'Bolus friandise' + ,pl: 'Bolus przekąski' ,pt: 'Bolus de lanche' ,sv: 'Mellanmålsbolus' ,ro: 'Bolus gustare' @@ -3064,6 +3259,7 @@ function init() { ,de: 'Korrektur Bolus' ,es: 'Bolo corrector' ,fr: 'Bolus de correction' + ,pl: 'Bolus korekcji' ,pt: 'Bolus de correção' ,ro: 'Bolus corecție' ,bg: 'Болус корекция' @@ -3080,6 +3276,7 @@ function init() { ,de: 'Kohlenhydrate Korrektur' ,es: 'Hidratos de carbono de corrección' ,fr: 'Correction glucide' + ,pl: 'Korekcja cukru' ,pt: 'Correção com carboidrato' ,ro: 'Corecție de carbohidrați' ,bg: 'Корекция чрез въглехидрати' @@ -3096,6 +3293,7 @@ function init() { ,de: 'Bemerkungen' ,es: 'Nota' ,fr: 'Note' + ,pl: 'Notatka' ,pt: 'Nota' ,ro: 'Notă' ,sv: 'Notering' @@ -3112,6 +3310,7 @@ function init() { ,de: 'Frage' ,es: 'Pregunta' ,fr: 'Question' + ,pl: 'Pytanie' ,pt: 'Pergunta' ,ro: 'Întrebare' ,sv: 'Fråga' @@ -3128,6 +3327,7 @@ function init() { ,de: 'Bewegung' ,es: 'Ejercicio' ,fr: 'Exercice' + ,pl: 'Ćwiczenia' ,pt: 'Exercício' ,sv: 'Aktivitet' ,ro: 'Activitate fizică' @@ -3144,6 +3344,7 @@ function init() { ,de: 'Pumpen-Katheter Wechsel' ,es: 'Cambio de catéter' ,fr: 'Changement de site pompe' + ,pl: 'Wymiana zestawu' ,pt: 'Troca de catéter' ,sv: 'Pump/nålbyte' ,ro: 'Schimbare loc pompă' @@ -3160,6 +3361,7 @@ function init() { ,de: 'Sensor Start' ,es: 'Inicio de sensor' ,fr: 'Démarrage senseur' + ,pl: 'Start sensora' ,pt: 'Início de sensor' ,sv: 'Sensorstart' ,ro: 'Start senzor' @@ -3176,6 +3378,7 @@ function init() { ,de: 'Sensor Wechsel' ,es: 'Cambio de sensor' ,fr: 'Changement senseur' + ,pl: 'Wymiana sensora' ,pt: 'Troca de sensor' ,sv: 'Sensorbyte' ,ro: 'Schimbare senzor' @@ -3192,6 +3395,7 @@ function init() { ,de: 'Dexcom Sensor Start' ,es: 'Inicio de sensor Dexcom' ,fr: 'Démarrage senseur Dexcom' + ,pl: 'Start sensora Dexcom' ,pt: 'Início de sensor' ,sv: 'Dexcom sensorstart' ,ro: 'Pornire senzor Dexcom' @@ -3208,6 +3412,7 @@ function init() { ,de: 'Dexcom Sensor Wechsel' ,es: 'Cambio de sensor Dexcom' ,fr: 'Changement senseur Dexcom' + ,pl: 'Wymiana sensora Dexcom' ,pt: 'Troca de sensor' ,sv: 'Dexcom sensorbyte' ,ro: 'Schimbare senzor Dexcom' @@ -3224,6 +3429,7 @@ function init() { ,de: 'Insulin Ampullen Wechsel' ,es: 'Cambio de reservorio de insulina' ,fr: 'Changement cartouche d\'insuline' + ,pl: 'Wymiana kartridża insuliny' ,pt: 'Troca de reservatório de insulina' ,sv: 'Insulinreservoarbyte' ,ro: 'Schimbare cartuș insulină' @@ -3240,6 +3446,7 @@ function init() { ,de: 'Diabetes-Hund Alarm' ,es: 'Alerta de perro de alerta diabética' ,fr: 'Wouf! Wouf! Chien d\'alerte diabète' + ,pl: 'D.A.D. Alert' ,pt: 'Alerta de cão sentinela de diabetes' ,sv: 'Diabeteshundlarm (Duktig vovve!)' ,ro: 'Alertă câine de serviciu' @@ -3256,6 +3463,7 @@ function init() { ,de: 'Glukose Messwert' ,es: 'Valor de glucemia' ,fr: 'Valeur de glycémie' + ,pl: 'Odczyt glukozy' ,pt: 'Valor de glicemia' ,sv: 'Glukosvärde' ,ro: 'Valoare glicemie' @@ -3272,6 +3480,7 @@ function init() { ,de: 'Messmethode' ,es: 'Método de medida' ,fr: 'Méthode de mesure' + ,pl: 'Metora pomiaru' ,pt: 'Método de medida' ,sv: 'Mätmetod' ,ro: 'Metodă măsurare' @@ -3287,6 +3496,7 @@ function init() { cs: 'Glukoměr' ,de: 'BZ-Messgerät' ,fr: 'Glucomètre' + ,pl: 'Glukometr' ,pt: 'Glicosímetro' ,sv: 'Mätare' ,ro: 'Glucometru' @@ -3304,6 +3514,7 @@ function init() { ,de: 'Insulingabe' ,es: 'Insulina' ,fr: 'Insuline donnée' + ,pl: 'Insulina podana' ,pt: 'Insulina' ,sv: 'Insulindos' ,ro: 'Insulină administrată' @@ -3320,6 +3531,7 @@ function init() { ,de: 'Menge in Gramm' ,es: 'Cantidad en gramos' ,fr: 'Quantité en grammes' + ,pl: 'Ilość w gramach' ,pt: 'Quantidade em gramas' ,sv: 'Antal gram' ,ro: 'Cantitate în grame' @@ -3336,6 +3548,7 @@ function init() { ,de: 'Anzahl in Einheiten' ,es: 'Cantidad en unidades' ,fr: 'Quantité en unités' + ,pl: 'Ilość w jednostkach' ,pt: 'Quantidade em unidades' ,ro: 'Cantitate în unități' ,bg: 'К-во в единици' @@ -3352,6 +3565,7 @@ function init() { ,de: 'Zeige alle Eingaben' ,es: 'Visualizar todos los tratamientos' ,fr: 'Voir tous les traitements' + ,pl: 'Pokaż wszystkie leczenia' ,pt: 'Visualizar todos os procedimentos' ,sv: 'Visa behandlingar' ,ro: 'Vezi toate evenimentele' @@ -3368,6 +3582,7 @@ function init() { ,de: 'Alarm einschalten' ,es: 'Activar las alarmas' ,fr: 'Activer les alarmes' + ,pl: 'Włącz alarmy' ,pt: 'Ativar alarmes' ,sv: 'Aktivera larm' ,ro: 'Activează alarmele' @@ -3384,6 +3599,7 @@ function init() { ,de: 'Sofern eingeschaltet ertönt ein Alarm' ,es: 'Cuando estén activas, una alarma podrá sonar' ,fr: 'Si activée, un alarme peut sonner.' + ,pl: 'Gdy włączone możliwy słyszalny alarm.' ,pt: 'Quando ativado, um alarme poderá soar' ,ro: 'Când este activ, poate suna o alarmă.' ,sv: 'När markerad är ljudlarm aktivt' @@ -3400,6 +3616,7 @@ function init() { ,de: 'Achtung Hoch Alarm' ,es: 'Alarma de glucemia alta urgente' ,fr: 'Alarme haute urgente' + ,pl: 'Ważny Wysoki Alarm' ,pt: 'URGENTE: Alarme de glicemia alta' ,sv: 'Brådskande högt larmvärde' ,ro: 'Alarmă urgentă hiper' @@ -3416,6 +3633,7 @@ function init() { ,de: 'Hoch Alarm' ,es: 'Alarma de glucemia alta' ,fr: 'Alarme haute' + ,pl: 'Wysoki Alarm' ,pt: 'Alarme de glicemia alta' ,sv: 'Högt larmvärde' ,ro: 'Alarmă hiper' @@ -3432,6 +3650,7 @@ function init() { ,de: 'Tief Alarm' ,es: 'Alarma de glucemia baja' ,fr: 'Alarme basse' + ,pl: 'Niski Alarm' ,pt: 'Alarme de glicemia baixa' ,sv: 'Lågt larmvärde' ,ro: 'Alarmă hipo' @@ -3448,6 +3667,7 @@ function init() { ,de: 'Achtung Tief Alarm' ,es: 'Alarma de glucemia baja urgente' ,fr: 'Alarme basse urgente' + ,pl: 'Ważny Niski Alarm' ,pt: 'URGENTE: Alarme de glicemia baixa' ,sv: 'Brådskande lågt larmvärde' ,ro: 'Alarmă urgentă hipo' @@ -3464,6 +3684,7 @@ function init() { ,de: 'Warnung: Daten nicht mehr gültig' ,es: 'Datos obsoletos: aviso' ,fr: 'Données dépassées: avis' + ,pl: 'Nieaktualne dane: Uwaga' ,pt: 'Dados antigos: aviso' ,sv: 'Förfluten data: Varning!' ,ro: 'Date învechite: alertă' @@ -3479,6 +3700,7 @@ function init() { ,de: 'Achtung: Daten nicht mehr gültig' ,es: 'Datos obsoletos: Urgente' ,fr: 'Données dépassées urgentes' + ,pl: 'Nieaktualne dane: Ważne' ,pt: 'Dados antigos: Urgente' ,sv: 'Brådskande varning, inaktuell data' ,ro: 'Date învechite: urgent' @@ -3494,6 +3716,7 @@ function init() { ,de: 'min' ,es: 'min' ,fr: 'mins' + ,pl: 'min' ,pt: 'min' ,sv: 'min' ,ro: 'min' @@ -3509,6 +3732,7 @@ function init() { ,de: 'Nacht Modus' ,es: 'Modo nocturno' ,fr: 'Mode nocturne' + ,pl: 'Tryb nocny' ,pt: 'Modo noturno' ,sv: 'Nattläge' ,ro: 'Mod nocturn' @@ -3524,6 +3748,7 @@ function init() { ,de: 'Wenn aktiviert wird die Anzeige von 22 Uhr - 6 Uhr gedimmt' ,es: 'Cuando esté activo, el brillo de la página bajará de 10pm a 6am.' ,fr: 'Si activé, la page sera assombire de 22:00 à 6:00' + ,pl: 'Gdy włączony, strona będzie przyciemniona pomiędzy 22 a 6 rano' ,pt: 'Se ativado, a página será escurecida entre 22h e 6h' ,sv: 'När aktiverad dimmas sidan mellan 22:00 - 06:00' ,ro: 'La activare va scădea iluminarea între 22 și 6' @@ -3539,6 +3764,7 @@ function init() { ,de: 'Eingeschaltet' ,es: 'Activar' ,fr: 'Activer' + ,pl: 'Włącz' ,pt: 'Ativar' ,sv: 'Aktivera' ,ro: 'Activează' @@ -3554,6 +3780,7 @@ function init() { ,de: 'Zeige Roh-Blutglukose Daten' ,es: 'Mostrat datos en glucemia en crudo' ,fr: 'Montrer les données BG brutes' + ,pl: 'Pokaż surowe (RAW) dane glikemii' ,pt: 'Mostrar dados de glicemia não processados' ,sv: 'Visa RAW-data' ,ro: 'Afișează date primare glicemie' @@ -3569,6 +3796,7 @@ function init() { ,de: 'Nie' ,es: 'Nunca' ,fr: 'Jamais' + ,pl: 'Nigdy' ,pt: 'Nunca' ,sv: 'Aldrig' ,ro: 'Niciodată' @@ -3584,6 +3812,7 @@ function init() { ,de: 'Immer' ,es: 'Siempre' ,fr: 'Toujours' + ,pl: 'Zawsze' ,pt: 'Sempre' ,sv: 'Alltid' ,ro: 'Întotdeauna' @@ -3599,6 +3828,7 @@ function init() { ,de: 'Sofern Störgeräusch vorhanden' ,es: 'Cuando hay ruido' ,fr: 'Quand il y a du bruit' + ,pl: 'Gdy jest szum' ,pt: 'Quando houver ruído' ,sv: 'Endast vid brus' ,ro: 'Atunci când este diferență' @@ -3614,6 +3844,7 @@ function init() { ,de: 'Bei Aktivierung erscheinen kleine weiße Punkte für Roh-Blutglukose Daten' ,es: 'Cuando esté activo, pequeños puntos blancos mostrarán los datos en crudo' ,fr: 'Si activé, des points blancs représenteront les données brutes' + ,pl: 'Gdy włączone, małe białe kropki będą widoczne dla danych surowych (RAW) glikemii' ,pt: 'Se ativado, pontos brancos representarão os dados de glicemia não processados' ,sv: 'När aktiverad visar de vita punkterna RAW-blodglukosevärden' ,ro: 'La activare vor apărea puncte albe reprezentând citirea brută a glicemiei' @@ -3629,6 +3860,7 @@ function init() { ,de: 'Benutzerdefiniert' ,es: 'Título personalizado' ,fr: 'Titre sur mesure' + ,pl: 'Własny tytuł' ,pt: 'Customizar Título' ,sv: 'Egen titel' ,ro: 'Titlu particularizat' @@ -3644,6 +3876,7 @@ function init() { ,de: 'Thema' ,es: 'Tema' ,fr: 'Thème' + ,pl: 'Schemat' ,pt: 'tema' ,ro: 'Temă' ,bg: 'Тема' @@ -3659,6 +3892,7 @@ function init() { ,de: 'Voreingestellt' ,es: 'Por defecto' ,fr: 'Par défaut' + ,pl: 'Domyślny' ,pt: 'Padrão' ,sv: 'Standard' ,ro: 'Implicită' @@ -3674,6 +3908,7 @@ function init() { ,de: 'Farben' ,es: 'Colores' ,fr: 'Couleurs' + ,pl: 'Kolorowy' ,pt: 'Colorido' ,sv: 'Färg' ,ro: 'Colorată' @@ -3689,6 +3924,7 @@ function init() { ,de: 'Zurücksetzen und Voreinstellungen verwenden' ,es: 'Inicializar y utilizar los valores por defecto' ,fr: 'Remise à zéro et utiliser des valeurs par défaut' + ,pl: 'Zresetuj i użyj wartości domyślnych' ,pt: 'Zerar e usar padrões' ,sv: 'Återställ standardvärden' ,ro: 'Resetează și folosește setările implicite' @@ -3704,6 +3940,7 @@ function init() { ,de: 'Kalibrierung' ,es: 'Calibraciones' ,fr: 'Calibration' + ,pl: 'Kalibracje' ,pt: 'Calibraçôes' ,sv: 'Kalibreringar' ,ro: 'Calibrări' @@ -3719,6 +3956,7 @@ function init() { ,de: 'Alarm Test / Smartphone aktivieren' ,es: 'Test de Alarma / Activar teléfono' ,fr: 'Test alarme / Activer Smartphone' + ,pl: 'Test alarmu / Włącz smartfon' ,pt: 'Testar Alarme / Ativar Smartphone' ,sv: 'Testa alarm / Aktivera Smatphone' ,ro: 'Teste alarme / Activează pe smartphone' @@ -3734,6 +3972,7 @@ function init() { ,de: 'Bolus Kalkulator' ,es: 'Bolus Wizard' ,fr: 'Calculateur de bolus' + ,pl: 'Kalkulator bolusowy' ,pt: 'Calculadora de bolus' ,sv: 'Boluskalkylator' ,ro: 'Calculator sugestie bolus' @@ -3749,6 +3988,7 @@ function init() { ,de: 'in der Zuknft' ,es: 'en el futuro' ,fr: 'dans le futur' + ,pl: 'w przyszłości' ,pt: 'no futuro' ,sv: 'framtida' ,ro: 'în viitor' @@ -3764,6 +4004,7 @@ function init() { ,de: 'Aktualisiert' ,es: 'tiempo atrás' ,fr: 'temps avant' + ,pl: 'czasu temu' ,pt: 'tempo atrás' ,sv: 'förfluten tid' ,ro: 'în trecut' @@ -3779,6 +4020,7 @@ function init() { ,de: 'Std. vorher' ,es: 'hr atrás' ,fr: 'hr avant' + ,pl: 'godzina temu' ,pt: 'h atrás' ,sv: 'timmar sedan' ,ro: 'oră în trecut' @@ -3794,6 +4036,7 @@ function init() { ,de: 'Std. vorher' ,es: 'hr atrás' ,fr: 'hrs avant' + ,pl: 'godzin temu' ,pt: 'h atrás' ,sv: 'Timmar sedan' ,ro: 'h în trecut' @@ -3809,6 +4052,7 @@ function init() { ,de: 'Min. vorher' ,es: 'min atrás' ,fr: 'min avant' + ,pl: 'min temu' ,pt: 'min atrás' ,sv: 'minut sedan' ,ro: 'minut în trecut' @@ -3824,6 +4068,7 @@ function init() { ,de: 'Min. vorher' ,es: 'min atrás' ,fr: 'mins avant' + ,pl: 'minut temu' ,pt: 'min atrás' ,sv: 'minuter sedan' ,ro: 'minute în trecut' @@ -3839,6 +4084,7 @@ function init() { ,de: 'Tag vorher' ,es: 'día atrás' ,fr: 'jour avant' + ,pl: 'dzień temu' ,pt: 'dia atrás' ,sv: 'dag sedan' ,ro: 'zi în trecut' @@ -3854,6 +4100,7 @@ function init() { ,de: 'Tage vorher' ,es: 'días atrás' ,fr: 'jours avant' + ,pl: 'dni temu' ,pt: 'dias atrás' ,sv: 'dagar sedan' ,ro: 'zile în trecut' @@ -3869,6 +4116,7 @@ function init() { ,de: 'Lange her' ,es: 'Hace mucho tiempo' ,fr: 'il y a longtemps' + ,pl: 'dawno temu' ,pt: 'muito tempo atrás' ,sv: 'länge sedan' ,ro: 'timp în trecut' @@ -3884,6 +4132,7 @@ function init() { ,de: 'Komplett' ,es: 'Limpio' ,fr: 'Propre' + ,pl: 'Wyczyść' ,pt: 'Limpo' ,sv: 'Rent' ,ro: 'Curat' @@ -3899,6 +4148,7 @@ function init() { ,de: 'Leicht' ,es: 'Ligero' ,fr: 'Léger' + ,pl: 'Światło' ,pt: 'Leve' ,sv: 'Lätt' ,ro: 'Ușor' @@ -3914,6 +4164,7 @@ function init() { ,de: 'Mittel' ,es: 'Medio' ,fr: 'Moyen' + ,pl: 'Średni' ,pt: 'Médio' ,sv: 'Måttligt' ,ro: 'Mediu' @@ -3929,6 +4180,7 @@ function init() { ,de: 'Schwer' ,es: 'Fuerte' ,fr: 'Important' + ,pl: 'Ciężki' ,pt: 'Pesado' ,sv: 'Rikligt' ,ro: 'Puternic' @@ -3944,6 +4196,7 @@ function init() { ,de: 'Eingabe Typ' ,es: 'Tipo de tratamiento' ,fr: 'Type de traitement' + ,pl: 'Rodzaj leczenia' ,pt: 'Tipo de procedimento' ,sv: 'Behandlingstyp' ,ro: 'Tip tratament' @@ -3959,6 +4212,7 @@ function init() { ,de: 'Roh Blutglukose' ,es: 'Glucemia en crudo' ,fr: 'Glycémie brut' + ,pl: 'Surowa (RAW) glikemia' ,pt: 'Glicemia sem processamento' ,sv: 'RAW-BS' ,ro: 'Citire brută a glicemiei' @@ -3974,6 +4228,7 @@ function init() { ,de: 'Gerät' ,es: 'Dispositivo' ,fr: 'Appareil' + ,pl: 'Urządzenie' ,pt: 'Dispositivo' ,ro: 'Dispozitiv' ,bg: 'Устройство' @@ -3989,6 +4244,7 @@ function init() { ,de: 'Störgeräusch' ,es: 'Ruido' ,fr: 'Bruit' + ,pl: 'Szum' ,pt: 'Ruído' ,sv: 'Brus' ,ro: 'Zgomot' @@ -4004,6 +4260,7 @@ function init() { ,de: 'Kalibrierung' ,es: 'Calibración' ,fr: 'Calibration' + ,pl: 'Kalibracja' ,pt: 'Calibração' ,sv: 'Kalibrering' ,ro: 'Calibrare' @@ -4019,6 +4276,7 @@ function init() { ,de: 'Zeige Plugins' ,es: 'Mostrar Plugins' ,fr: 'Montrer Plugins' + ,pl: 'Pokaż pluginy' ,pt: 'Mostrar Plugins' ,ro: 'Arată plugin-urile' ,bg: 'Покажи добавките' @@ -4034,6 +4292,7 @@ function init() { ,de: 'Über' ,es: 'Sobre' ,fr: 'À propos de' + ,pl: 'O aplikacji' ,pt: 'Sobre' ,ro: 'Despre' ,bg: 'Относно' @@ -4049,6 +4308,7 @@ function init() { ,de: 'Wert in' ,es: 'Valor en' ,fr: 'Valeur en' + ,pl: 'Wartość w' ,pt: 'Valor em' ,ro: 'Valoare în' ,bg: 'Стойност в' @@ -4064,6 +4324,7 @@ function init() { ,de: 'Kohlenhydrate Zeit' ,es: 'Momento de la ingesta' ,fr: 'Moment de Glucide' + ,pl: 'Czas na cukier' ,pt: 'Hora do carboidrato' ,ro: 'Ora carbohidrați' ,bg: 'Ядене след' @@ -4080,6 +4341,7 @@ function init() { ,sv: 'Språk' ,nb: 'Språk' ,fi: 'Kieli' + ,pl: 'Język' ,pt: 'Língua' ,ro: 'Limba' ,bg: 'Език' @@ -4089,6 +4351,7 @@ function init() { cs: 'Aktualizovat' ,sv: 'Uppdatera' ,nb: 'Oppdater' + ,pl: 'Aktualizuj' ,pt: 'Atualizar' ,ro: 'Actualizare' ,bg: 'Актуализирай' @@ -4101,6 +4364,7 @@ function init() { ,ro: 'Sortare' ,bg: 'Ред' ,it: 'Ordina' + ,pl: 'Kolejność' } ,'oldest on top' : { cs: 'nejstarší nahoře' @@ -4109,6 +4373,7 @@ function init() { ,ro: 'mai vechi primele' ,bg: 'Старите най-отгоре' ,it: 'più vecchio in alto' + ,pl: 'najstarszy na górze' } ,'newest on top' : { cs: 'nejnovější nahoře' @@ -4117,6 +4382,7 @@ function init() { ,ro: 'mai noi primele' ,bg: 'Новите най-отгоре' ,it: 'più recente in alto' + ,pl: 'najnowszy na górze' } ,'All sensor events' : { cs: 'Všechny události sensoru' @@ -4124,6 +4390,7 @@ function init() { ,ro: 'Evenimente legate de senzor' ,bg: 'Всички събития от сензора' ,it: 'Tutti gli eventi del sensore' + ,pl: 'Wszystkie zdarzenia sensora' } ,'Remove future items from mongo database' : { cs: 'Odebrání položek v budoucnosti z Mongo databáze' @@ -4131,6 +4398,7 @@ function init() { ,ro: 'Șterge date din viitor din baza de date mongo' ,bg: 'Премахни бъдещите точки от Монго базата с данни' ,it: 'Rimuovere gli oggetti dal database di mongo (prossimamente)' + ,pl: 'Usuń przyszłe pozycje z bazy mongo' } ,'Find and remove treatments in the future' : { cs: 'Najít a odstranit záznamy ošetření v budoucnosti' @@ -4138,6 +4406,7 @@ function init() { ,ro: 'Caută și elimină tratamente din viiotr' ,bg: 'Намери и премахни събития в бъдещето' ,it: 'Individuare e rimuovere le somministrazioni (prossimamente)' + ,pl: 'Znajdź i usuń leczenia w przyszłości' } ,'This task find and remove treatments in the future.' : { cs: 'Tento úkol najde a odstraní ošetření v budoucnosti.' @@ -4145,6 +4414,7 @@ function init() { ,ro: 'Acest instrument curăță tratamentele din viitor.' ,bg: 'Тази опция намира и премахва събития в бъдещето.' ,it: 'Trovare e rimuovere le somministrazioni (prossimamente)' + ,pl: 'To zadanie znajduje i usuwa leczenia w przyszłości' } ,'Remove treatments in the future' : { cs: 'Odstraň ošetření v budoucnosti' @@ -4152,6 +4422,7 @@ function init() { ,ro: 'Șterge tratamentele din viitor' ,bg: 'Премахни събитията в бъдешето' ,it: 'Rimuovere somministrazioni (prossimamente)' + ,pl: 'Usuń leczenia w przyszłości' } ,'Find and remove entries in the future' : { cs: 'Najít a odstranit CGM data v budoucnosti' @@ -4159,6 +4430,7 @@ function init() { ,bg: 'Намери и премахни данни от сензора в бъдещето' ,ro: 'Caută și elimină valorile din viitor' ,it: 'Trovare e rimuovere le voci (prossimamente)' + ,pl: 'Znajdź i usuń wpisy w przyszłości' } ,'This task find and remove CGM data in the future created by uploader with wrong date/time.' : { cs: 'Tento úkol najde a odstraní CGM data v budoucnosti vzniklé špatně nastaveným datem v uploaderu.' @@ -4166,6 +4438,7 @@ function init() { ,bg: 'Тази опция ще намери и премахне данни от сензора в бъдещето, създадени поради грешна дата/време.' ,ro: 'Instrument de căutare și eliminare a datelor din viitor, create de uploader cu ora setată greșit' ,it: 'Trovare e rimuovere i dati CGM creato da uploader/xdrip con data / ora sbagliato (prossimamente)' + ,pl: 'To zadanie znajduje i usuwa dane CGM w przyszłości utworzone przez uploader ze złą datą/czasem.' } ,'Remove entries in the future' : { cs: 'Odstraň CGM data v budoucnosti' @@ -4173,6 +4446,7 @@ function init() { ,bg: 'Премахни данните от сензора в бъдещето' ,ro: 'Elimină înregistrările din viitor' ,it: 'Rimuovere le voci (prossimamente)' + ,pl: 'Usuń wpisy w przyszłości' } ,'Loading database ...' : { cs: 'Nahrávám databázi ...' @@ -4180,6 +4454,7 @@ function init() { ,bg: 'Зареждане на базата с данни ...' ,ro: 'Încarc baza de date' ,it: 'Caricamento Database ...' + ,pl: 'Ładowanie bazy ...' } ,'Database contains %1 future records' : { cs: 'Databáze obsahuje %1 záznamů v budoucnosti' @@ -4187,6 +4462,7 @@ function init() { ,ro: 'Baza de date conține %1 înregistrări din viitor' ,bg: 'Базата с дани съдържа %1 бъдещи записи' ,it: 'Contiene Database %1 record (prossimamente)' + ,pl: 'Baza zawiera %1 przyszłych rekordów' } ,'Remove %1 selected records?' : { cs: 'Odstranit %1 vybraných záznamů' @@ -4194,6 +4470,7 @@ function init() { ,ro: 'Șterg %1 înregistrări selectate?' ,bg: 'Премахване на %1 от избраните записи?' ,it: 'Rimuovere %1 record selezionati?' + ,pl: 'Usunąc %1 wybranych rekordów?' } ,'Error loading database' : { cs: 'Chyba při nahrávání databáze' @@ -4201,6 +4478,7 @@ function init() { ,ro: 'Eroare la încărcarea bazei de date' ,bg: 'Грешка при зареждане на базата с данни' ,it: 'Errore di caricamento del database' + ,pl: 'Błąd ładowania bazy' } ,'Record %1 removed ...' : { cs: 'Záznam %1 odstraněn ...' @@ -4208,6 +4486,7 @@ function init() { ,ro: 'Înregistrarea %1 a fost ștearsă...' ,bg: '%1 записи премахнати' ,it: 'Record %1 rimosso ...' + ,pl: 'Rekord %1 usunięty ...' } ,'Error removing record %1' : { cs: 'Chyba při odstaňování záznamu %1' @@ -4215,6 +4494,7 @@ function init() { ,ro: 'Eroare la ștergerea înregistrării %1' ,bg: 'Грешка при премахването на %1 от записите' ,it: 'Errore rimozione record %1' + ,pl: 'Błąd podczas usuwania rekordu %1' } ,'Deleting records ...' : { cs: 'Odstraňování záznamů ...' @@ -4222,6 +4502,7 @@ function init() { ,ro: 'Se șterg înregistrările...' ,bg: 'Изтриване на записите...' ,it: 'Eliminazione dei record ...' + ,pl: 'Usuwanie rekordów ...' } ,'Clean Mongo status database' : { cs: 'Vyčištění Mongo databáze statusů' @@ -4229,6 +4510,7 @@ function init() { ,ro: 'Curăță tabela despre status din Mongo' ,bg: 'Изчисти статуса на Монго базата с данни' ,it: 'Pulire database di Mongo' + ,pl: 'Czyszczenie bazy Mongo status' } ,'Delete all documents from devicestatus collection' : { cs: 'Odstranění všech záznamů z kolekce devicestatus' @@ -4236,6 +4518,7 @@ function init() { ,ro: 'Șterge toate documentele din colecția de status dispozitiv' ,bg: 'Изтрий всички документи от папката статус-устройство' ,it: 'Eliminare tutti i documenti dalla collezione "devicestatus"' + ,pl: 'Usunąć wszystkie dokumenty z kolekcji devicestatus' } ,'This task removes all documents from devicestatus collection. Useful when uploader battery status is not properly updated.' : { cs: 'Tento úkol odstraní všechny dokumenty z kolekce devicestatus. Je to vhodné udělat, pokud se ukazatel stavu baterie neobnovuje správně.' @@ -4243,6 +4526,7 @@ function init() { ,ro: 'Acest instrument șterge toate documentele din colecția devicestatus. Se folosește când încărcarea bateriei nu se afișează corect.' ,bg: 'Тази опция премахва всички документи от папката статус-устройство. Полезно е, когато статусът на батерията не се обновява.' ,it: 'Questa attività elimina tutti i documenti dalla collezione "devicestatus". Utile quando lo stato della batteria uploader/xdrip non si aggiorna.' + ,pl: 'To zadanie usuwa wszystkie dokumenty z kolekcji devicestatus. Użyteczne gdy status baterii uploadera nie jest prawidłowo zaktualizowany.' } ,'Delete all documents' : { cs: 'Odstranit všechny dokumenty' @@ -4250,6 +4534,7 @@ function init() { ,ro: 'Șterge toate documentele' ,bg: 'Изтрий всички документи' ,it: 'Eliminare tutti i documenti' + ,pl: 'Usuń wszystkie dokumenty' } ,'Delete all documents from devicestatus collection?' : { cs: 'Odstranit všechny dokumenty z kolekce devicestatus?' @@ -4257,6 +4542,7 @@ function init() { ,ro: 'Șterg toate documentele din colecția devicestatus?' ,bg: 'Изтриване на всички документи от папката статус-устройство?' ,it: 'Eliminare tutti i documenti dalla collezione devicestatus?' + ,pl: 'Usunąć wszystkie dokumenty z kolekcji devicestatus?' } ,'Database contains %1 records' : { cs: 'Databáze obsahuje %1 záznamů' @@ -4264,6 +4550,7 @@ function init() { ,ro: 'Baza de date conține %1 înregistrări' ,bg: 'Базата с данни съдържа %1 записи' ,it: 'Contiene Database record%1' + ,pl: 'Baza zawiera %1 rekordów' } ,'All records removed ...' : { cs: 'Všechny záznamy odstraněny ...' @@ -4271,6 +4558,7 @@ function init() { ,ro: 'Toate înregistrările au fost șterse.' ,bg: 'Всички записи премахнати ...' ,it: 'Tutti i record rimossi ...' + ,pl: 'Wszystkie rekordy usunięte ...' } ,'Admin Tools' : { cs: 'Nástroje pro správu' @@ -4278,6 +4566,7 @@ function init() { ,ro: 'Instrumente de administrare' ,bg: 'Настройки на администратора' ,it: 'NS - Dati Mongo' + ,pl: 'Narzędznia Administracyjne' } ,'Nightscout reporting' : { cs: 'Nightscout - Výkazy' @@ -4285,6 +4574,7 @@ function init() { ,ro: 'Rapoarte Nightscout' ,bg: 'Найтскаут статистика' ,it: 'Nightscout - Statistiche' + ,pl: 'Nightscout - Raporty' } ,'Cancel' : { cs: 'Zrušit' @@ -4292,6 +4582,7 @@ function init() { ,ro: 'Renunță' ,bg: 'Откажи' ,it: 'Cancellare' + ,pl: 'Anuluj' } ,'Edit treatment' : { cs: 'Upravit ošetření' @@ -4299,64 +4590,75 @@ function init() { ,ro: 'Modifică înregistrarea' ,bg: 'Редакция на събитие' ,it: 'Modifica Somministrazione' + ,pl: 'Edytuj leczenie' } ,'Duration' : { cs: 'Doba trvání' ,ro: 'Durata' ,bg: 'Времетраене' ,it: 'Tempo' + ,pl: 'Czas trwania' } ,'Duration in minutes' : { cs: 'Doba trvání v minutách' ,ro: 'Durata în minute' ,bg: 'Времетраене в мин.' ,it: 'Tempo in minuti' + ,pl: 'Czas trwania w minutach' } ,'Temp Basal' : { cs: 'Dočasný bazál' ,ro: 'Bazală temporară' ,bg: 'Временен базал' ,it: 'Basale Temp' + ,pl: 'Tymczasowa dawka' } ,'Temp Basal Start' : { cs: 'Dočasný bazál začátek' ,ro: 'Start bazală temporară' ,bg: 'Начало на временен базал' ,it: 'Inizio Basale Temp' + ,pl: 'Początek tymczasowej dawki' } ,'Temp Basal End' : { cs: 'Dočasný bazál konec' ,ro: 'Sfârșit bazală temporară' ,bg: 'Край на временен базал' ,it: 'Fine Basale Temp' + ,pl: 'Koniec tymczasowej dawki' } ,'Percent' : { // value in % for temp basal cs: 'Procenta' ,ro: 'Procent' ,bg: 'Процент' ,it: 'Percentuale' + ,pl: 'Procent' } ,'Basal change in %' : { cs: 'Změna bazálu v %' ,ro: 'Bazală schimbată în %' ,bg: 'Промяна на базала с %' ,it: 'Variazione basale in %' + ,pl: 'Zmiana dawki w %' } ,'Basal value' : { // absolute value for temp basal cs: 'Hodnota bazálu' ,ro: 'Valoare bazală' ,bg: 'Временен базал' ,it: 'Valore Basale temp' + ,pl: 'Wartość dawki' } ,'Absolute basal value' : { cs: 'Hodnota bazálu' ,bg: 'Базална стойност' ,it: 'Valore Basale' + ,pl: 'Absolutna wartość dawki' } ,'Announcement' : { cs: 'Oznámení' ,bg: 'Известяване' ,fi: 'Tiedoitus' + ,pl: 'Ogłoszenie' ,pt: 'Aviso' ,ro: 'Anunț' ,he: 'הודעה' @@ -4366,6 +4668,7 @@ function init() { cs: 'Nahrávám dočasné bazály' ,it: 'Caricamento basale temporanea' ,ro: 'Se încarcă date bazală temporară' + ,pl: 'Ładowanie danych tymczasowych dawek' } }; From a6ca998081096c822b523736d4166bd83606abfe Mon Sep 17 00:00:00 2001 From: Turbo Fart Date: Wed, 17 Feb 2016 02:27:06 +0100 Subject: [PATCH 005/158] Fixed typo in language shortcut. --- lib/language.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/language.js b/lib/language.js index 30b648cbce0..5180e18b217 100644 --- a/lib/language.js +++ b/lib/language.js @@ -560,7 +560,7 @@ function init() { ,de: 'Erläuterungen' ,es: 'Contenido de las notas' ,fr: 'Notes contiennent' - ,pt: 'Notatki zawierają' + ,pl: 'Notatki zawierają' ,pt: 'Notas contém' ,ro: 'Conținut note' ,bg: 'бележките съдържат' From 26f8078bd4b79e21d778279468162f237af73182 Mon Sep 17 00:00:00 2001 From: Turbo Fart Date: Wed, 17 Feb 2016 02:49:39 +0100 Subject: [PATCH 006/158] Fixed minor grammar. --- lib/language.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/language.js b/lib/language.js index 5180e18b217..0c168e49146 100644 --- a/lib/language.js +++ b/lib/language.js @@ -2928,7 +2928,7 @@ function init() { ,de: 'Messen' ,es: 'Escala' ,fr: 'Echelle' - ,pl: 'Skala' + ,pl: 'Wykres' ,pt: 'Escala' ,ro: 'Scală' ,bg: 'Скала' @@ -3159,7 +3159,7 @@ function init() { ,de: '12 Stunden' ,es: '12 horas' ,fr: '12hr' - ,pl: '12 godzin' + ,pl: '12 godzinny' ,pt: '12 horas' ,sv: '12-timmars' ,ro: '12 ore' @@ -3175,7 +3175,7 @@ function init() { ,de: '24 Stunden' ,es: '24 horas' ,fr: '24hr' - ,pl: '24 godzin' + ,pl: '24 godzinny' ,pt: '24 horas' ,sv: '24-timmars' ,ro: '24 ore' @@ -3599,7 +3599,7 @@ function init() { ,de: 'Sofern eingeschaltet ertönt ein Alarm' ,es: 'Cuando estén activas, una alarma podrá sonar' ,fr: 'Si activée, un alarme peut sonner.' - ,pl: 'Gdy włączone możliwy słyszalny alarm.' + ,pl: 'Gdy włączone, będzie słychać alarm.' ,pt: 'Quando ativado, um alarme poderá soar' ,ro: 'Când este activ, poate suna o alarmă.' ,sv: 'När markerad är ljudlarm aktivt' @@ -3616,7 +3616,7 @@ function init() { ,de: 'Achtung Hoch Alarm' ,es: 'Alarma de glucemia alta urgente' ,fr: 'Alarme haute urgente' - ,pl: 'Ważny Wysoki Alarm' + ,pl: 'Pilny Wysoki Alarm' ,pt: 'URGENTE: Alarme de glicemia alta' ,sv: 'Brådskande högt larmvärde' ,ro: 'Alarmă urgentă hiper' @@ -3667,7 +3667,7 @@ function init() { ,de: 'Achtung Tief Alarm' ,es: 'Alarma de glucemia baja urgente' ,fr: 'Alarme basse urgente' - ,pl: 'Ważny Niski Alarm' + ,pl: 'Pilny Niski Alarm' ,pt: 'URGENTE: Alarme de glicemia baixa' ,sv: 'Brådskande lågt larmvärde' ,ro: 'Alarmă urgentă hipo' @@ -3684,7 +3684,7 @@ function init() { ,de: 'Warnung: Daten nicht mehr gültig' ,es: 'Datos obsoletos: aviso' ,fr: 'Données dépassées: avis' - ,pl: 'Nieaktualne dane: Uwaga' + ,pl: 'Nieaktualne dane: Ostrzegaj' ,pt: 'Dados antigos: aviso' ,sv: 'Förfluten data: Varning!' ,ro: 'Date învechite: alertă' @@ -3700,7 +3700,7 @@ function init() { ,de: 'Achtung: Daten nicht mehr gültig' ,es: 'Datos obsoletos: Urgente' ,fr: 'Données dépassées urgentes' - ,pl: 'Nieaktualne dane: Ważne' + ,pl: 'Nieaktualne dane: Pilne' ,pt: 'Dados antigos: Urgente' ,sv: 'Brådskande varning, inaktuell data' ,ro: 'Date învechite: urgent' From 9aab137b16353b7d78b19eb860266934d4b14cc1 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Wed, 17 Feb 2016 06:53:50 -0800 Subject: [PATCH 007/158] give up on trying to use only the chart area for drawers (for now) on some screen sizes since the android keyboard messes it up --- lib/client/browser-utils.js | 18 +++++++++--------- lib/client/chart.js | 8 ++++++-- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/lib/client/browser-utils.js b/lib/client/browser-utils.js index 28f2e779e94..6f6df6d0a7d 100644 --- a/lib/client/browser-utils.js +++ b/lib/client/browser-utils.js @@ -97,17 +97,17 @@ function init ($) { var windowWidth = $(window).width(); var windowHeight = $(window).height(); - var chartTop = $('#chartContainer').offset().top - 45; - var chartHeight = windowHeight - chartTop - 45; + //var chartTop = $('#chartContainer').offset().top - 45; + //var chartHeight = windowHeight - chartTop - 45; if (windowWidth < SMALL_SCREEN || (windowHeight < SMALL_SCREEN) && windowWidth < 800) { + style.top = '0px'; + style.height = windowHeight + 'px'; style.width = windowWidth + 'px'; - if (chartHeight > windowHeight * 0.4) { - style.top = chartTop + 'px'; - style.height = chartHeight + 'px'; - } else { - style.top = '0px'; - style.height = windowHeight + 'px'; - } + //TODO: maybe detect iOS and do this, doesn't work good with android + //if (chartHeight > windowHeight * 0.4) { + // style.top = chartTop + 'px'; + // style.height = chartHeight + 'px'; + //} } else { style.top = '0px'; style.height = (windowHeight - 45) + 'px'; diff --git a/lib/client/chart.js b/lib/client/chart.js index a51c0eade73..30ef88899d0 100644 --- a/lib/client/chart.js +++ b/lib/client/chart.js @@ -237,9 +237,13 @@ function init (client, d3, $) { var currentBrushExtent = createAdjustedRange(); // only redraw chart if chart size has changed - if ((chart.prevChartWidth !== chartWidth) || (chart.prevChartHeight !== chartHeight)) { + var widthChanged = (chart.prevChartWidth !== chartWidth); + if (widthChanged || (chart.prevChartHeight !== chartHeight)) { - client.browserUtils.closeLastOpenedDrawer(); + //if rotated + if (widthChanged) { + client.browserUtils.closeLastOpenedDrawer(); + } chart.prevChartWidth = chartWidth; chart.prevChartHeight = chartHeight; From 98078668a235c2fef57a7bf0f8de520bce9f4ad0 Mon Sep 17 00:00:00 2001 From: Turbo Fart Date: Wed, 17 Feb 2016 19:32:58 +0100 Subject: [PATCH 008/158] Fixed typo. --- lib/language.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/language.js b/lib/language.js index 0c168e49146..44f4b6c05ec 100644 --- a/lib/language.js +++ b/lib/language.js @@ -4566,7 +4566,7 @@ function init() { ,ro: 'Instrumente de administrare' ,bg: 'Настройки на администратора' ,it: 'NS - Dati Mongo' - ,pl: 'Narzędznia Administracyjne' + ,pl: 'Narzędzia Administracyjne' } ,'Nightscout reporting' : { cs: 'Nightscout - Výkazy' From f59ded0fa9e407663409d3d1ae22f80c089c145a Mon Sep 17 00:00:00 2001 From: Turbo Fart Date: Wed, 17 Feb 2016 20:32:41 +0100 Subject: [PATCH 009/158] Changed grammar. --- lib/language.js | 190 ++++++++++++++++++++++++------------------------ 1 file changed, 95 insertions(+), 95 deletions(-) diff --git a/lib/language.js b/lib/language.js index 44f4b6c05ec..cefebe1711a 100644 --- a/lib/language.js +++ b/lib/language.js @@ -50,7 +50,7 @@ function init() { ,de: 'Mo' ,es: 'Lu' ,fr: 'Lu' - ,pl: 'Pon' + ,pl: 'Pn' ,pt: 'Seg' ,sv: 'Mån' ,ro: 'Lu' @@ -101,7 +101,7 @@ function init() { ,de: 'Do' ,es: 'Jue' ,fr: 'Je' - ,pl: 'Czw' + ,pl: 'Cz' ,pt: 'Qui' ,sv: 'Tor' ,ro: 'Jo' @@ -576,7 +576,7 @@ function init() { ,de: 'Untergrenze des Blutzuckerzielbereiches' ,es: 'Objetivo inferior de glucemia' ,fr: 'Limite inférieure glycémie' - ,pl: 'Dolny zakres glikemii' + ,pl: 'Docelowy dolny zakres glikemii' ,pt: 'Limite inferior de glicemia' ,ro: 'Limită de jos a glicemiei' ,bg: 'Долна граница на КЗ' @@ -627,7 +627,7 @@ function init() { ,de: 'Darstellen' ,es: 'Visualizar' ,fr: 'Afficher' - ,pl: 'Pokaż' + ,pl: 'Wyświetl' ,pt: 'Visualizar' ,ro: 'Afișează' ,bg: 'Покажи' @@ -678,7 +678,7 @@ function init() { ,de: 'Lade Status' ,es: 'Cargando estado' ,fr: 'Statut du chargement' - ,pl: 'Ładowanie statusu' + ,pl: 'Status ładowania' ,pt: 'Carregando status' ,sv: 'Laddar status' ,ro: 'Încarc statusul' @@ -695,7 +695,7 @@ function init() { ,de: 'Lade Nahrungsmittel-Datenbank' ,es: 'Cargando base de datos de alimentos' ,fr: 'Chargement de la base de données alimentaire' - ,pl: 'Ładowanie bazy danych pożywienia' + ,pl: 'Ładowanie bazy posiłków' ,pt: 'Carregando dados de alimentos' ,sv: 'Laddar födoämnesdatabas' ,ro: 'Încarc baza de date de alimente' @@ -746,7 +746,7 @@ function init() { ,de: 'Lade Behandlungsdaten von' ,es: 'Cargando datos de tratamientos de' ,fr: 'Chargement données traitement de' - ,pl: 'Ładowanie danych kuracji' + ,pl: 'Ładowanie danych leczenia' ,pt: 'Carregando dados de tratamento de' ,sv: 'Laddar behandlingsdata för' ,ro: 'Încarc datele despre tratament pentru' @@ -900,7 +900,7 @@ function init() { ,de: 'Durchschnittswert' ,es: 'Percentiles' ,fr: 'Percentiles' - ,pl: 'Percentyl' + ,pl: 'Wykres percentylowy' ,pt: 'Percentis' ,ro: 'Grafic percentile' ,bg: 'Процентна графика' @@ -934,7 +934,7 @@ function init() { ,de: 'Stündliche Statistik' ,es: 'Estadísticas por hora' ,fr: 'Statistiques horaires' - ,pl: 'Godzinne statystyki' + ,pl: 'Statystyki godzinowe' ,pt: 'Estatísticas por hora' ,sv: 'Timmstatistik' ,ro: 'Statistici orare' @@ -951,7 +951,7 @@ function init() { ,de: 'Wöchentlicher Erfolg' ,es: 'Resultados semanales' ,fr: 'Résultat hebdomadaire' - ,pl: 'Tygodniowy sukces' + ,pl: 'Tygodniowe sukcesy' ,pt: 'Resultados semanais' ,ro: 'Rezultate săptămânale' ,bg: 'Седмичен успех' @@ -1018,7 +1018,7 @@ function init() { ,de: 'Zeitraum' ,es: 'Periodo' ,fr: 'Période' - ,pl: 'Zakres' + ,pl: 'Okres' ,pt: 'Período' ,sv: 'Period' ,ro: 'Perioada' @@ -1254,7 +1254,7 @@ function init() { ,de: 'Gesamttage' ,es: 'Total de días' ,fr: 'jours totaux' - ,pl: 'dni razem' + ,pl: 'dni łącznie' ,pt: 'dias no total' ,sv: 'antal dagar' ,ro: 'total zile' @@ -1271,7 +1271,7 @@ function init() { ,de: 'Insgesamt' ,es: 'General' ,fr: 'En général' - ,pl: 'Razem' + ,pl: 'Ogółem' ,pt: 'Geral' ,sv: 'Genomsnitt' ,ro: 'General' @@ -1407,7 +1407,7 @@ function init() { ,de: 'Prognose HbA1c*' ,es: 'Estimación de HbA1c*' ,fr: 'Estimation HbA1c*' - ,pl: 'Szacowana HBA1c*' + ,pl: 'Szacowany A1c*' ,pt: 'HbA1c estimada*' ,ro: 'HbA1C estimată' ,bg: 'Очакван HbA1c' @@ -1424,7 +1424,7 @@ function init() { ,de: 'Wöchtlicher Erfolg' ,es: 'Resultados semanales' ,fr: 'Réussite hebdomadaire' - ,pl: 'Tygodniowy sukces' + ,pl: 'Tygodniowe sukcesy' ,pt: 'Resultados semanais' ,ro: 'Rezultate săptămânale' ,bg: 'Седмичен успех' @@ -1458,7 +1458,7 @@ function init() { ,de: 'Gespeicherte API-Prüfsumme verwenden' ,es: 'Usando el hash del API pre-almacenado' ,fr: 'Utilisation du hash API existant' - ,pl: 'Używam zapisanego sekretnego hasha API' + ,pl: 'Używam zapisanego poufnego hasha API' ,pt: 'Usando o hash de API existente' ,ro: 'Utilizez cheie API secretă' ,bg: 'Използване на запаметена API парола' @@ -1474,7 +1474,7 @@ function init() { ,de: 'Keine API-Prüfsumme gespeichert. Bitte API-Prüfsumme eingeben.' ,es: 'No se ha almacenado ningún hash todavía. Debe introducir su secreto API.' ,fr: 'Pas de secret API existant. Vous devez l\'en entrer.' - ,pl: 'Nie zapisano sekretnego hasha API. Musisz wprowadzić sekret API.' + ,pl: 'Nie zapisano poufnego hasha API. Należy wprowadzić poufne API.' ,pt: 'Hash de segredo de API inexistente. Insira um segredo de API.' ,ro: 'Încă nu există cheie API secretă. Aceasta trebuie introdusă.' ,bg: 'Няма запаметена API парола. Tрябва да въведете API парола' @@ -1574,7 +1574,7 @@ function init() { ,de: 'Einheit' ,es: 'Unidades' ,fr: 'Unités' - ,pl: 'Jednostki' + ,pl: 'Jednostka' ,pt: 'Unidade' ,ro: 'Unități' ,bg: 'Единици' @@ -1692,7 +1692,7 @@ function init() { ,de: 'Deine API-Prüfsumme muss mindestens 12 Zeichen lang sein' ,es: 'Su secreo API debe contener al menos 12 caracteres' ,fr: 'Votre secret API doit contenir au moins 12 caractères' - ,pl: 'Twój sekret API musi mieć przynajmniej 12 znaków' + ,pl: 'Twoje poufne API musi składać się z przynajmniej 12 znaków' ,pt: 'Seu segredo de API deve conter no mínimo 12 caracteres' ,ro: 'Cheia API trebuie să aibă mai mult de 12 caractere' ,bg: 'Вашата АPI парола трябва да е дълга поне 12 символа' @@ -1708,7 +1708,7 @@ function init() { ,de: 'Fehlerhafte API-Prüfsumme' ,es: 'Secreto API incorrecto' ,fr: 'Secret API erroné' - ,pl: 'Zły sekret API' + ,pl: 'Błędne poufane API' ,pt: 'Segredo de API incorreto' ,ro: 'Cheie API greșită' ,bg: 'Некоректна API парола' @@ -1724,7 +1724,7 @@ function init() { ,de: 'API-Prüfsumme gespeichert' ,es: 'Hash de secreto API guardado' ,fr: 'Hash API secret sauvegardé' - ,pl: 'Sekretny hash API zapisany' + ,pl: 'Poufny hash API zapisany' ,pt: 'Segredo de API guardado' ,ro: 'Cheie API înregistrată' ,bg: 'УРА! API парола запаметена' @@ -1773,7 +1773,7 @@ function init() { ,de: 'Nahrungsmittel Editor' ,es: 'Editor de alimentos' ,fr: 'Editeur aliments' - ,pl: 'Edytor pokarmu' + ,pl: 'Edytor posiłków' ,pt: 'Editor de alimentos' ,ro: 'Editor alimente' ,bg: 'Редактор за храна' @@ -1908,7 +1908,7 @@ function init() { ,de: 'Deine API Prüfsumme' ,es: 'Su secreto API' ,fr: 'Votre secret API' - ,pl: 'Twoj sekret API' + ,pl: 'Twoje poufane API' ,pt: 'Seu segredo de API' ,sv: 'Din API-nyckel' ,ro: 'Cheia API' @@ -1940,7 +1940,7 @@ function init() { ,de: 'Bearbeitung' ,es: 'Tratamientos' ,fr: 'Traitements' - ,pl: 'Leczenie' + ,pl: 'Zabiegi' ,pt: 'Procedimentos' ,sv: 'Behandling' ,ro: 'Tratamente' @@ -1974,7 +1974,7 @@ function init() { ,de: 'Ereignis-Typ' ,es: 'Tipo de evento' ,fr: 'Type d\'événement' - ,pl: 'Rodzaj zdarzenia' + ,pl: 'Typ zdarzenia' ,pt: 'Tipo de evento' ,sv: 'Händelsetyp' ,ro: 'Tip eveniment' @@ -1991,7 +1991,7 @@ function init() { ,de: 'Blutglukose' ,es: 'Glucemia' ,fr: 'Glycémie' - ,pl: 'Glikemia' + ,pl: 'Glikemia krwii' ,pt: 'Glicemia' ,sv: 'Glukosvärde' ,ro: 'Glicemie' @@ -2008,7 +2008,7 @@ function init() { ,de: 'Eingabe durch' ,es: 'Introducido por' ,fr: 'Entré par' - ,pl: 'Wprowadzone przez' + ,pl: 'Wprowadzono przez' ,pt: 'Inserido por' ,sv: 'Inlagt av' ,ro: 'Introdus de' @@ -2025,7 +2025,7 @@ function init() { ,de: 'Bearbeitung löschen' ,es: '¿Borrar este tratamiento?' ,fr: 'Effacer ce traitement?' - ,pl: 'Usunąć leczenie?' + ,pl: 'Usunąć ten zabieg?' ,pt: 'Apagar este procedimento?' ,ro: 'Șterge acest eveniment?' ,bg: 'Изтрий това събитие' @@ -2042,7 +2042,7 @@ function init() { ,de: 'Kohlenhydratgabe' ,es: 'Hidratos de carbono dados' ,fr: 'Glucides donnés' - ,pl: 'Cukry podane' + ,pl: 'Węglowodany podane' ,pt: 'Carboidratos' ,ro: 'Carbohidrați' ,bg: 'ВХ' @@ -2093,7 +2093,7 @@ function init() { ,de: 'Bitte Daten auf Plausibilität prüfen' ,es: 'Por favor, verifique que los datos introducidos son correctos' ,fr: 'Merci de vérifier la correction des données entrées' - ,pl: 'Proszę zweryfikować prawidłowość wprowadzonych danych' + ,pl: 'Proszę zweryfikować czy wprowadzone dane są prawidłowe' ,pt: 'Favor verificar se os dados estão corretos' ,ro: 'Verificați conexiunea datelor introduse' ,bg: 'Моля проверете, че датата е въведена правилно' @@ -2110,7 +2110,7 @@ function init() { ,de: 'Blutglukose' ,es: 'Glucemia en sangre' ,fr: 'Glycémie' - ,pl: 'Glikemia' + ,pl: 'BG' ,pt: 'Glicemia' ,sv: 'BS' ,ro: 'Glicemie' @@ -2126,7 +2126,7 @@ function init() { ,de: 'Verwende Blutglukose-Korrektur zur Kalkulation' ,es: 'Usar la corrección de glucemia en los cálculos' ,fr: 'Utiliser la correction de glycémie dans les calculs' - ,pl: 'Używaj korekcji glikemii przy kalkulacji' + ,pl: 'Użyj BG obliczając korektę' ,pt: 'Usar correção de glicemia nos cálculos' ,ro: 'Folosește corecția de glicemie în calcule' ,bg: 'Използвай корекцията за КЗ в изчислението' @@ -2142,7 +2142,7 @@ function init() { ,de: 'Blutglukose vom CGM (Autoupdate)' ,es: 'Glucemia del sensor (Actualizado automáticamente)' ,fr: 'Glycémie CGM (automatique)' - ,pl: 'Glikemia z CGM (autoaktualizacja)' + ,pl: 'Wartość BG z CGM (autoaktualizacja)' ,pt: 'Glicemia do sensor (Automático)' ,sv: 'BS från CGM (automatiskt)' ,ro: 'Glicemie în senzor (automat)' @@ -2158,7 +2158,7 @@ function init() { ,de: 'Blutzucker vom Messgerät' ,es: 'Glucemia del glucómetro' ,fr: 'Glycémie de glucomètre' - ,pl: 'Glikemia z glukometru' + ,pl: 'Wartość BG z glukometru' ,pt: 'Glicemia do glicosímetro' ,sv: 'BS från blodsockermätare' ,ro: 'Glicemie în glucometru' @@ -2174,7 +2174,7 @@ function init() { ,de: 'Blutzucker händisch' ,es: 'Glucemia manual' ,fr: 'Glycémie manuelle' - ,pl: 'Ręczna glikemia' + ,pl: 'Ręczne BG' ,pt: 'Glicemia Manual' ,ro: 'Glicemie manuală' ,bg: 'Ръчно въведена КЗ' @@ -2240,7 +2240,7 @@ function init() { ,de: 'Verwende Kohlenhydrate-Korrektur zur Kalkulation' ,es: 'Usar la corrección de hidratos de carbono en los cálculos' ,fr: 'Utiliser la correction en glucides dans les calculs' - ,pl: 'Używaj poprawki cukrów w kalkulacji' + ,pl: 'Używaj poprawki cukrów w obliczeniach' ,pt: 'Usar correção com carboidratos no cálculo' ,ro: 'Folosește corecția de carbohidrați în calcule' ,bg: 'Включи корекцията чрез ВХ в изчислението' @@ -2256,7 +2256,7 @@ function init() { ,de: 'Verwende verzehrte Kohlenhydrate zur Kalkulation' ,es: 'Usar la corrección de COB en los cálculos' ,fr: 'Utiliser les COB dans les calculs' - ,pl: 'Użyj korekcji COB w kalkulacji' + ,pl: 'Użyj korekcji COB w obliczeniach' ,pt: 'Usar correção de COB no cálculo' ,ro: 'Folosește COB în calcule' ,bg: 'Включи активните ВХ в изчислението' @@ -2272,7 +2272,7 @@ function init() { ,de: 'Verwende gespritzes Insulin zur Kalkulation' ,es: 'Usar la IOB en los cálculos' ,fr: 'Utiliser l\'IOB dans les calculs' - ,pl: 'Użyj IOB w kalkulacji' + ,pl: 'Użyj IOB w obliczeniach' ,pt: 'Usar IOB no cálculo' ,ro: 'Folosește IOB în calcule' ,bg: 'Включи активния инсулин в изчислението' @@ -2288,7 +2288,7 @@ function init() { ,de: 'Weitere Korrektur' ,es: 'Otra correción' ,fr: 'Autre correction' - ,pl: 'Inna korekcja' + ,pl: 'Inna korekta' ,pt: 'Outra correção' ,ro: 'Alte corecții' ,bg: 'Друга корекция' @@ -2320,7 +2320,7 @@ function init() { ,de: 'Insulin Korrektur zur Behandlung eingeben' ,es: 'Introducir correción de insulina en tratamiento' ,fr: 'Entrer correction insuline dans le traitement' - ,pl: 'Wprowadź korektę insulinową w leczeniu' + ,pl: 'Wprowadź korektę insulinową w zabiegach' ,pt: 'Inserir correção de insulina no tratamento' ,ro: 'Introdu corecția de insulină în tratament' ,bg: 'Въведи корекция с инсулин като лечение' @@ -2336,7 +2336,7 @@ function init() { ,de: 'Benötigtes Insulin' ,es: 'Insulina necesaria' ,fr: 'Insuline nécessaire' - ,pl: 'Insulina potrzebna' + ,pl: 'Wymagana insulina' ,pt: 'Insulina necessária' ,ro: 'Necesar insulină' ,bg: 'Необходим инсулин' @@ -2353,7 +2353,7 @@ function init() { ,de: 'Benötigte Kohlenhydrate' ,es: 'Hidratos de carbono necesarios' ,fr: 'Glucides nécessaires' - ,pl: 'Cukry potrzebne' + ,pl: 'Wymagane węglowodany' ,pt: 'Carboidratos necessários' ,ro: 'Necesar carbohidrați' ,bg: 'Необходими въглехидрати' @@ -2370,7 +2370,7 @@ function init() { ,de: 'Benötigte Kohlenhydrate sofern Gesamtinsulin einen negativen Wert aufweist' ,es: 'Hidratos de carbono necesarios si el total de insulina es un valor negativo' ,fr: 'Glucides nécessaires si insuline totale est un valeur négative' - ,pl: 'Brakuje węglowodanów jeśli wynik jest ujemny' + ,pl: 'Wymagane węglowodany, jeśli łączna wartość Insuliny jest ujemna' ,pt: 'Carboidratos necessários se Insulina total for negativa' ,ro: 'Carbohidrați când necesarul de insulină este negativ' ,bg: 'Необходими въглехидрати, ако няма инсулин' @@ -2386,7 +2386,7 @@ function init() { ,de: 'Basalrate' ,es: 'Tasa basal' ,fr: 'Taux basal' - ,pl: 'Podstawa' + ,pl: 'Basal' ,pt: 'Taxa basal' ,ro: 'Rata bazală' ,bg: 'Базален инсулин' @@ -2584,7 +2584,7 @@ function init() { ,de: 'Ergänzende Hinweise / Kommentare' ,es: 'Notas adicionales, Comentarios' ,fr: 'Notes additionnelles, commentaires' - ,pl: 'Dodatkowe notatki, komentarze' + ,pl: 'Dodatkowe uwagi, komentarze' ,pt: 'Notas adicionais e comentários' ,ro: 'Note adiționale, comentarii' ,bg: 'Допълнителни бележки, коментари' @@ -2668,7 +2668,7 @@ function init() { ,de: 'Profil-Einstellungen' ,es: 'Editor de perfil' ,fr: 'Editeur de profil' - ,pl: 'Edytor Profilu' + ,pl: 'Edytor profilu' ,pt: 'Editor de perfil' ,sv: 'Editera profil' ,ro: 'Editare profil' @@ -2701,7 +2701,7 @@ function init() { ,de: 'Ergänzt durch deine Datenbank' ,es: 'Añadir alimento a su base de datos' ,fr: 'Ajouter aliment de votre base de données' - ,pl: 'Dodaj pożywienie z Twojej bazy' + ,pl: 'Dodaj posiłek z twojej bazy' ,pt: 'Incluir alimento do seu banco de dados' ,ro: 'Adaugă alimente din baza de date' ,bg: 'Добави храна от твоята база с данни' @@ -2749,7 +2749,7 @@ function init() { ,de: 'Unbestätigt' ,es: 'No autorizado' ,fr: 'Non autorisé' - ,pl: 'Nieuwierzytelniony' + ,pl: 'Nieuwierzytelniono' ,pt: 'Não autorizado' ,sv: 'Ej behörig' ,ro: 'Neautorizat' @@ -2765,7 +2765,7 @@ function init() { ,de: 'Eingabe Datensatz fehlerhaft' ,es: 'Entrada de registro fallida' ,fr: 'Entrée enregistrement a échoué' - ,pl: 'Błąd wprowadzania rekordu' + ,pl: 'Błąd podczas wprowadzania rekordu' ,pt: 'Entrada de registro falhou' ,ro: 'Înregistrare eșuată' ,bg: 'Въвеждане на записа не се осъществи' @@ -2813,7 +2813,7 @@ function init() { ,de: 'Authentifications Status' ,es: 'Estado de autenticación' ,fr: 'Status de l\'authentification' - ,pl: 'Status uwierzytelniania' + ,pl: 'Status uwierzytelnienia' ,pt: 'Status de autenticação' ,ro: 'Starea autentificării' ,bg: 'Статус на удостоверяване' @@ -2911,7 +2911,7 @@ function init() { ,de: 'Händisch' ,es: 'Manual' ,fr: 'Manuel' - ,pl: 'Ręczny' + ,pl: 'Ręcznie' ,pt: 'Manual' ,sv: 'Manuell' ,ro: 'Manual' @@ -2983,7 +2983,7 @@ function init() { ,de: 'Ausschalten für 30 Minuten' ,es: 'Silenciar durante 30 minutos' ,fr: 'Silence pendant 30 minutes' - ,pl: 'Cisza przez 30 minut' + ,pl: 'Wycisz na 30 minut' ,pt: 'Silenciar por 30 minutos' ,ro: 'Ignoră pentru 30 minute' ,bg: 'Заглуши за 30 минути' @@ -2999,7 +2999,7 @@ function init() { ,de: 'Ausschalten für 60 Minuten' ,es: 'Silenciar durante 60 minutos' ,fr: 'Silence pendant 60 minutes' - ,pl: 'Cisza przez 60 minut' + ,pl: 'Wycisz na 60 minut' ,pt: 'Silenciar por 60 minutos' ,ro: 'Ignoră pentru 60 minute' ,bg: 'Заглуши за 60 минути' @@ -3015,7 +3015,7 @@ function init() { ,de: 'Ausschalten für 90 Minuten' ,es: 'Silenciar durante 90 minutos' ,fr: 'Silence pendant 90 minutes' - ,pl: 'Cisza przez 90 minut' + ,pl: 'Wycisz na 90 minut' ,pt: 'Silenciar por 90 minutos' ,ro: 'Ignoră pentru 90 minure' ,bg: 'Заглуши за 90 минути' @@ -3031,7 +3031,7 @@ function init() { ,de: 'Ausschalten für 120 Minuten' ,es: 'Silenciar durante 120 minutos' ,fr: 'Silence pendant 120 minutes' - ,pl: 'Cisza przez 120 minut' + ,pl: 'Wycisz na 120 minut' ,pt: 'Silenciar por 120 minutos' ,ro: 'Ignoră pentru 120 minute' ,bg: 'Заглуши за 120 минути' @@ -3191,7 +3191,7 @@ function init() { ,de: 'Dateneingabe' ,es: 'Apuntar un tratamiento' ,fr: 'Entrer un traitement' - ,pl: 'Zaloguj leczenie' + ,pl: 'Zaloguj zabieg' ,pt: 'Entre um procedimento' ,ro: 'Înregistrează un eveniment' ,bg: 'Въвеждане на събитие' @@ -3208,7 +3208,7 @@ function init() { ,de: 'Blutglukose-Prüfung' ,es: 'Control de glucemia' ,fr: 'Contrôle glycémie' - ,pl: 'Kontrola glikemii' + ,pl: 'Pomiar glikemii' ,pt: 'Medida de glicemia' ,sv: 'Blodsockerkontroll' ,ro: 'Verificare glicemie' @@ -3225,7 +3225,7 @@ function init() { ,de: 'Mahlzeiten Bolus' ,es: 'Bolo de comida' ,fr: 'Bolus repas' - ,pl: 'Bolus posiłku' + ,pl: 'Bolus posiłkowy' ,pt: 'Bolus de refeição' ,ro: 'Bolus masă' ,bg: 'Болус-основно хранене' @@ -3242,7 +3242,7 @@ function init() { ,de: 'Snack Bolus' ,es: 'Bolo de aperitivo' ,fr: 'Bolus friandise' - ,pl: 'Bolus przekąski' + ,pl: 'Bolus przekąskowy' ,pt: 'Bolus de lanche' ,sv: 'Mellanmålsbolus' ,ro: 'Bolus gustare' @@ -3259,7 +3259,7 @@ function init() { ,de: 'Korrektur Bolus' ,es: 'Bolo corrector' ,fr: 'Bolus de correction' - ,pl: 'Bolus korekcji' + ,pl: 'Bolus korekcyjny' ,pt: 'Bolus de correção' ,ro: 'Bolus corecție' ,bg: 'Болус корекция' @@ -3276,7 +3276,7 @@ function init() { ,de: 'Kohlenhydrate Korrektur' ,es: 'Hidratos de carbono de corrección' ,fr: 'Correction glucide' - ,pl: 'Korekcja cukru' + ,pl: 'Korekta węglowodanowa' ,pt: 'Correção com carboidrato' ,ro: 'Corecție de carbohidrați' ,bg: 'Корекция чрез въглехидрати' @@ -3293,7 +3293,7 @@ function init() { ,de: 'Bemerkungen' ,es: 'Nota' ,fr: 'Note' - ,pl: 'Notatka' + ,pl: 'Uwagi' ,pt: 'Nota' ,ro: 'Notă' ,sv: 'Notering' @@ -3344,7 +3344,7 @@ function init() { ,de: 'Pumpen-Katheter Wechsel' ,es: 'Cambio de catéter' ,fr: 'Changement de site pompe' - ,pl: 'Wymiana zestawu' + ,pl: 'Zmiana wkłucia pompy' ,pt: 'Troca de catéter' ,sv: 'Pump/nålbyte' ,ro: 'Schimbare loc pompă' @@ -3378,7 +3378,7 @@ function init() { ,de: 'Sensor Wechsel' ,es: 'Cambio de sensor' ,fr: 'Changement senseur' - ,pl: 'Wymiana sensora' + ,pl: 'Zmiana sensora' ,pt: 'Troca de sensor' ,sv: 'Sensorbyte' ,ro: 'Schimbare senzor' @@ -3412,7 +3412,7 @@ function init() { ,de: 'Dexcom Sensor Wechsel' ,es: 'Cambio de sensor Dexcom' ,fr: 'Changement senseur Dexcom' - ,pl: 'Wymiana sensora Dexcom' + ,pl: 'Zmiana sensora Dexcom' ,pt: 'Troca de sensor' ,sv: 'Dexcom sensorbyte' ,ro: 'Schimbare senzor Dexcom' @@ -3429,7 +3429,7 @@ function init() { ,de: 'Insulin Ampullen Wechsel' ,es: 'Cambio de reservorio de insulina' ,fr: 'Changement cartouche d\'insuline' - ,pl: 'Wymiana kartridża insuliny' + ,pl: 'Wymiana pojemnika z insuliną' ,pt: 'Troca de reservatório de insulina' ,sv: 'Insulinreservoarbyte' ,ro: 'Schimbare cartuș insulină' @@ -3446,7 +3446,7 @@ function init() { ,de: 'Diabetes-Hund Alarm' ,es: 'Alerta de perro de alerta diabética' ,fr: 'Wouf! Wouf! Chien d\'alerte diabète' - ,pl: 'D.A.D. Alert' + ,pl: 'Psi alarm cukrzycowy' ,pt: 'Alerta de cão sentinela de diabetes' ,sv: 'Diabeteshundlarm (Duktig vovve!)' ,ro: 'Alertă câine de serviciu' @@ -3565,7 +3565,7 @@ function init() { ,de: 'Zeige alle Eingaben' ,es: 'Visualizar todos los tratamientos' ,fr: 'Voir tous les traitements' - ,pl: 'Pokaż wszystkie leczenia' + ,pl: 'Pokaż wszystkie zabiegi' ,pt: 'Visualizar todos os procedimentos' ,sv: 'Visa behandlingar' ,ro: 'Vezi toate evenimentele' @@ -3599,7 +3599,7 @@ function init() { ,de: 'Sofern eingeschaltet ertönt ein Alarm' ,es: 'Cuando estén activas, una alarma podrá sonar' ,fr: 'Si activée, un alarme peut sonner.' - ,pl: 'Gdy włączone, będzie słychać alarm.' + ,pl: 'Sygnalizacja dźwiękowa przy włączonym alarmie' ,pt: 'Quando ativado, um alarme poderá soar' ,ro: 'Când este activ, poate suna o alarmă.' ,sv: 'När markerad är ljudlarm aktivt' @@ -3616,7 +3616,7 @@ function init() { ,de: 'Achtung Hoch Alarm' ,es: 'Alarma de glucemia alta urgente' ,fr: 'Alarme haute urgente' - ,pl: 'Pilny Wysoki Alarm' + ,pl: 'Uwaga: Wysoki poziom glikemii' ,pt: 'URGENTE: Alarme de glicemia alta' ,sv: 'Brådskande högt larmvärde' ,ro: 'Alarmă urgentă hiper' @@ -3633,7 +3633,7 @@ function init() { ,de: 'Hoch Alarm' ,es: 'Alarma de glucemia alta' ,fr: 'Alarme haute' - ,pl: 'Wysoki Alarm' + ,pl: 'Wysoki poziom glikemii' ,pt: 'Alarme de glicemia alta' ,sv: 'Högt larmvärde' ,ro: 'Alarmă hiper' @@ -3650,7 +3650,7 @@ function init() { ,de: 'Tief Alarm' ,es: 'Alarma de glucemia baja' ,fr: 'Alarme basse' - ,pl: 'Niski Alarm' + ,pl: 'Niski poziom glikemii' ,pt: 'Alarme de glicemia baixa' ,sv: 'Lågt larmvärde' ,ro: 'Alarmă hipo' @@ -3667,7 +3667,7 @@ function init() { ,de: 'Achtung Tief Alarm' ,es: 'Alarma de glucemia baja urgente' ,fr: 'Alarme basse urgente' - ,pl: 'Pilny Niski Alarm' + ,pl: 'Uwaga: Niski poziom glikemii' ,pt: 'URGENTE: Alarme de glicemia baixa' ,sv: 'Brådskande lågt larmvärde' ,ro: 'Alarmă urgentă hipo' @@ -3684,7 +3684,7 @@ function init() { ,de: 'Warnung: Daten nicht mehr gültig' ,es: 'Datos obsoletos: aviso' ,fr: 'Données dépassées: avis' - ,pl: 'Nieaktualne dane: Ostrzegaj' + ,pl: 'Uwaga: dane nieaktualne' ,pt: 'Dados antigos: aviso' ,sv: 'Förfluten data: Varning!' ,ro: 'Date învechite: alertă' @@ -3700,7 +3700,7 @@ function init() { ,de: 'Achtung: Daten nicht mehr gültig' ,es: 'Datos obsoletos: Urgente' ,fr: 'Données dépassées urgentes' - ,pl: 'Nieaktualne dane: Pilne' + ,pl: 'Ostrzeżenie: dane nieaktualne' ,pt: 'Dados antigos: Urgente' ,sv: 'Brådskande varning, inaktuell data' ,ro: 'Date învechite: urgent' @@ -3748,7 +3748,7 @@ function init() { ,de: 'Wenn aktiviert wird die Anzeige von 22 Uhr - 6 Uhr gedimmt' ,es: 'Cuando esté activo, el brillo de la página bajará de 10pm a 6am.' ,fr: 'Si activé, la page sera assombire de 22:00 à 6:00' - ,pl: 'Gdy włączony, strona będzie przyciemniona pomiędzy 22 a 6 rano' + ,pl: 'Po włączeniu, strona będzie przyciemniona pomiędzy 22 wieczorem a 6 rano' ,pt: 'Se ativado, a página será escurecida entre 22h e 6h' ,sv: 'När aktiverad dimmas sidan mellan 22:00 - 06:00' ,ro: 'La activare va scădea iluminarea între 22 și 6' @@ -3780,7 +3780,7 @@ function init() { ,de: 'Zeige Roh-Blutglukose Daten' ,es: 'Mostrat datos en glucemia en crudo' ,fr: 'Montrer les données BG brutes' - ,pl: 'Pokaż surowe (RAW) dane glikemii' + ,pl: 'Pokaż surowe (RAW) dane' ,pt: 'Mostrar dados de glicemia não processados' ,sv: 'Visa RAW-data' ,ro: 'Afișează date primare glicemie' @@ -3828,7 +3828,7 @@ function init() { ,de: 'Sofern Störgeräusch vorhanden' ,es: 'Cuando hay ruido' ,fr: 'Quand il y a du bruit' - ,pl: 'Gdy jest szum' + ,pl: 'Gdy sygnał jest zakłucony' ,pt: 'Quando houver ruído' ,sv: 'Endast vid brus' ,ro: 'Atunci când este diferență' @@ -3844,7 +3844,7 @@ function init() { ,de: 'Bei Aktivierung erscheinen kleine weiße Punkte für Roh-Blutglukose Daten' ,es: 'Cuando esté activo, pequeños puntos blancos mostrarán los datos en crudo' ,fr: 'Si activé, des points blancs représenteront les données brutes' - ,pl: 'Gdy włączone, małe białe kropki będą widoczne dla danych surowych (RAW) glikemii' + ,pl: 'Po włączeniu, małe białe kropki będą widoczne dla surowych (RAW) danych BG' ,pt: 'Se ativado, pontos brancos representarão os dados de glicemia não processados' ,sv: 'När aktiverad visar de vita punkterna RAW-blodglukosevärden' ,ro: 'La activare vor apărea puncte albe reprezentând citirea brută a glicemiei' @@ -3876,7 +3876,7 @@ function init() { ,de: 'Thema' ,es: 'Tema' ,fr: 'Thème' - ,pl: 'Schemat' + ,pl: 'Wygląd' ,pt: 'tema' ,ro: 'Temă' ,bg: 'Тема' @@ -3956,7 +3956,7 @@ function init() { ,de: 'Alarm Test / Smartphone aktivieren' ,es: 'Test de Alarma / Activar teléfono' ,fr: 'Test alarme / Activer Smartphone' - ,pl: 'Test alarmu / Włącz smartfon' + ,pl: 'Test alarmu' ,pt: 'Testar Alarme / Ativar Smartphone' ,sv: 'Testa alarm / Aktivera Smatphone' ,ro: 'Teste alarme / Activează pe smartphone' @@ -3972,7 +3972,7 @@ function init() { ,de: 'Bolus Kalkulator' ,es: 'Bolus Wizard' ,fr: 'Calculateur de bolus' - ,pl: 'Kalkulator bolusowy' + ,pl: 'Bolus kreator' ,pt: 'Calculadora de bolus' ,sv: 'Boluskalkylator' ,ro: 'Calculator sugestie bolus' @@ -4148,7 +4148,7 @@ function init() { ,de: 'Leicht' ,es: 'Ligero' ,fr: 'Léger' - ,pl: 'Światło' + ,pl: 'Niski' ,pt: 'Leve' ,sv: 'Lätt' ,ro: 'Ușor' @@ -4180,7 +4180,7 @@ function init() { ,de: 'Schwer' ,es: 'Fuerte' ,fr: 'Important' - ,pl: 'Ciężki' + ,pl: 'Wysoki' ,pt: 'Pesado' ,sv: 'Rikligt' ,ro: 'Puternic' @@ -4196,7 +4196,7 @@ function init() { ,de: 'Eingabe Typ' ,es: 'Tipo de tratamiento' ,fr: 'Type de traitement' - ,pl: 'Rodzaj leczenia' + ,pl: 'Typ zabiegu' ,pt: 'Tipo de procedimento' ,sv: 'Behandlingstyp' ,ro: 'Tip tratament' @@ -4212,7 +4212,7 @@ function init() { ,de: 'Roh Blutglukose' ,es: 'Glucemia en crudo' ,fr: 'Glycémie brut' - ,pl: 'Surowa (RAW) glikemia' + ,pl: 'Raw BG' ,pt: 'Glicemia sem processamento' ,sv: 'RAW-BS' ,ro: 'Citire brută a glicemiei' @@ -4324,7 +4324,7 @@ function init() { ,de: 'Kohlenhydrate Zeit' ,es: 'Momento de la ingesta' ,fr: 'Moment de Glucide' - ,pl: 'Czas na cukier' + ,pl: 'Czas posiłku' ,pt: 'Hora do carboidrato' ,ro: 'Ora carbohidrați' ,bg: 'Ядене след' @@ -4351,7 +4351,7 @@ function init() { cs: 'Aktualizovat' ,sv: 'Uppdatera' ,nb: 'Oppdater' - ,pl: 'Aktualizuj' + ,pl: 'Aktualizacja' ,pt: 'Atualizar' ,ro: 'Actualizare' ,bg: 'Актуализирай' @@ -4611,21 +4611,21 @@ function init() { ,ro: 'Bazală temporară' ,bg: 'Временен базал' ,it: 'Basale Temp' - ,pl: 'Tymczasowa dawka' + ,pl: 'Tymczasowy Basal' } ,'Temp Basal Start' : { cs: 'Dočasný bazál začátek' ,ro: 'Start bazală temporară' ,bg: 'Начало на временен базал' ,it: 'Inizio Basale Temp' - ,pl: 'Początek tymczasowej dawki' + ,pl: 'Początek tymczasowego Basal' } ,'Temp Basal End' : { cs: 'Dočasný bazál konec' ,ro: 'Sfârșit bazală temporară' ,bg: 'Край на временен базал' ,it: 'Fine Basale Temp' - ,pl: 'Koniec tymczasowej dawki' + ,pl: 'Koniec tymczasowego Basal' } ,'Percent' : { // value in % for temp basal cs: 'Procenta' @@ -4639,26 +4639,26 @@ function init() { ,ro: 'Bazală schimbată în %' ,bg: 'Промяна на базала с %' ,it: 'Variazione basale in %' - ,pl: 'Zmiana dawki w %' + ,pl: 'Zmiana Basal w %' } ,'Basal value' : { // absolute value for temp basal cs: 'Hodnota bazálu' ,ro: 'Valoare bazală' ,bg: 'Временен базал' ,it: 'Valore Basale temp' - ,pl: 'Wartość dawki' + ,pl: 'Wartość Basal' } ,'Absolute basal value' : { cs: 'Hodnota bazálu' ,bg: 'Базална стойност' ,it: 'Valore Basale' - ,pl: 'Absolutna wartość dawki' + ,pl: 'Absolutna wartość basal' } ,'Announcement' : { cs: 'Oznámení' ,bg: 'Известяване' ,fi: 'Tiedoitus' - ,pl: 'Ogłoszenie' + ,pl: 'Powiadomienie' ,pt: 'Aviso' ,ro: 'Anunț' ,he: 'הודעה' From 228f2de0d647c62e3802108c1d49eee239b0654f Mon Sep 17 00:00:00 2001 From: Turbo Fart Date: Thu, 18 Feb 2016 23:37:56 +0100 Subject: [PATCH 010/158] Fixed typos. Changed grammar. Adjusted texts to fit better. --- lib/language.js | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/lib/language.js b/lib/language.js index cefebe1711a..1a73feba5fb 100644 --- a/lib/language.js +++ b/lib/language.js @@ -560,7 +560,7 @@ function init() { ,de: 'Erläuterungen' ,es: 'Contenido de las notas' ,fr: 'Notes contiennent' - ,pl: 'Notatki zawierają' + ,pl: 'Notatki zawierające' ,pt: 'Notas contém' ,ro: 'Conținut note' ,bg: 'бележките съдържат' @@ -746,7 +746,7 @@ function init() { ,de: 'Lade Behandlungsdaten von' ,es: 'Cargando datos de tratamientos de' ,fr: 'Chargement données traitement de' - ,pl: 'Ładowanie danych leczenia' + ,pl: 'Ładowanie danych zabiegów' ,pt: 'Carregando dados de tratamento de' ,sv: 'Laddar behandlingsdata för' ,ro: 'Încarc datele despre tratament pentru' @@ -934,7 +934,7 @@ function init() { ,de: 'Stündliche Statistik' ,es: 'Estadísticas por hora' ,fr: 'Statistiques horaires' - ,pl: 'Statystyki godzinowe' + ,pl: 'Statystyki godzinne' ,pt: 'Estatísticas por hora' ,sv: 'Timmstatistik' ,ro: 'Statistici orare' @@ -1991,7 +1991,7 @@ function init() { ,de: 'Blutglukose' ,es: 'Glucemia' ,fr: 'Glycémie' - ,pl: 'Glikemia krwii' + ,pl: 'Glikemia' ,pt: 'Glicemia' ,sv: 'Glukosvärde' ,ro: 'Glicemie' @@ -2008,7 +2008,7 @@ function init() { ,de: 'Eingabe durch' ,es: 'Introducido por' ,fr: 'Entré par' - ,pl: 'Wprowadzono przez' + ,pl: 'Wprowadził' ,pt: 'Inserido por' ,sv: 'Inlagt av' ,ro: 'Introdus de' @@ -2042,7 +2042,7 @@ function init() { ,de: 'Kohlenhydratgabe' ,es: 'Hidratos de carbono dados' ,fr: 'Glucides donnés' - ,pl: 'Węglowodany podane' + ,pl: 'Węgle podane' ,pt: 'Carboidratos' ,ro: 'Carbohidrați' ,bg: 'ВХ' @@ -2651,7 +2651,7 @@ function init() { ,de: 'Eingabe senden' ,es: 'Enviar formulario' ,fr: 'Formulaire de soumission' - ,pl: 'Prześlij formularz' + ,pl: 'Zapisz' ,pt: 'Enviar formulário' ,sv: 'Överför händelse' ,ro: 'Trimite formularul' @@ -3225,7 +3225,7 @@ function init() { ,de: 'Mahlzeiten Bolus' ,es: 'Bolo de comida' ,fr: 'Bolus repas' - ,pl: 'Bolus posiłkowy' + ,pl: 'Bolus posiłek' ,pt: 'Bolus de refeição' ,ro: 'Bolus masă' ,bg: 'Болус-основно хранене' @@ -3242,7 +3242,7 @@ function init() { ,de: 'Snack Bolus' ,es: 'Bolo de aperitivo' ,fr: 'Bolus friandise' - ,pl: 'Bolus przekąskowy' + ,pl: 'Bolus przekąska' ,pt: 'Bolus de lanche' ,sv: 'Mellanmålsbolus' ,ro: 'Bolus gustare' @@ -3259,7 +3259,7 @@ function init() { ,de: 'Korrektur Bolus' ,es: 'Bolo corrector' ,fr: 'Bolus de correction' - ,pl: 'Bolus korekcyjny' + ,pl: 'Bolus korekta' ,pt: 'Bolus de correção' ,ro: 'Bolus corecție' ,bg: 'Болус корекция' @@ -3480,7 +3480,7 @@ function init() { ,de: 'Messmethode' ,es: 'Método de medida' ,fr: 'Méthode de mesure' - ,pl: 'Metora pomiaru' + ,pl: 'Metoda pomiaru' ,pt: 'Método de medida' ,sv: 'Mätmetod' ,ro: 'Metodă măsurare' @@ -4373,7 +4373,7 @@ function init() { ,ro: 'mai vechi primele' ,bg: 'Старите най-отгоре' ,it: 'più vecchio in alto' - ,pl: 'najstarszy na górze' + ,pl: 'najstarsze na górze' } ,'newest on top' : { cs: 'nejnovější nahoře' @@ -4382,7 +4382,7 @@ function init() { ,ro: 'mai noi primele' ,bg: 'Новите най-отгоре' ,it: 'più recente in alto' - ,pl: 'najnowszy na górze' + ,pl: 'najnowsze na górze' } ,'All sensor events' : { cs: 'Všechny události sensoru' @@ -4406,7 +4406,7 @@ function init() { ,ro: 'Caută și elimină tratamente din viiotr' ,bg: 'Намери и премахни събития в бъдещето' ,it: 'Individuare e rimuovere le somministrazioni (prossimamente)' - ,pl: 'Znajdź i usuń leczenia w przyszłości' + ,pl: 'Znajdź i usuń zabiegi w przyszłości' } ,'This task find and remove treatments in the future.' : { cs: 'Tento úkol najde a odstraní ošetření v budoucnosti.' @@ -4414,7 +4414,7 @@ function init() { ,ro: 'Acest instrument curăță tratamentele din viitor.' ,bg: 'Тази опция намира и премахва събития в бъдещето.' ,it: 'Trovare e rimuovere le somministrazioni (prossimamente)' - ,pl: 'To zadanie znajduje i usuwa leczenia w przyszłości' + ,pl: 'To zadanie znajduje i usuwa zabiegi w przyszłości' } ,'Remove treatments in the future' : { cs: 'Odstraň ošetření v budoucnosti' @@ -4422,7 +4422,7 @@ function init() { ,ro: 'Șterge tratamentele din viitor' ,bg: 'Премахни събитията в бъдешето' ,it: 'Rimuovere somministrazioni (prossimamente)' - ,pl: 'Usuń leczenia w przyszłości' + ,pl: 'Usuń zabiegi w przyszłości' } ,'Find and remove entries in the future' : { cs: 'Najít a odstranit CGM data v budoucnosti' @@ -4526,7 +4526,7 @@ function init() { ,ro: 'Acest instrument șterge toate documentele din colecția devicestatus. Se folosește când încărcarea bateriei nu se afișează corect.' ,bg: 'Тази опция премахва всички документи от папката статус-устройство. Полезно е, когато статусът на батерията не се обновява.' ,it: 'Questa attività elimina tutti i documenti dalla collezione "devicestatus". Utile quando lo stato della batteria uploader/xdrip non si aggiorna.' - ,pl: 'To zadanie usuwa wszystkie dokumenty z kolekcji devicestatus. Użyteczne gdy status baterii uploadera nie jest prawidłowo zaktualizowany.' + ,pl: 'To zadanie usuwa wszystkie dokumenty z kolekcji devicestatus. Przydatne gdy status baterii uploadera nie jest prawidłowo zaktualizowany.' } ,'Delete all documents' : { cs: 'Odstranit všechny dokumenty' @@ -4590,7 +4590,7 @@ function init() { ,ro: 'Modifică înregistrarea' ,bg: 'Редакция на събитие' ,it: 'Modifica Somministrazione' - ,pl: 'Edytuj leczenie' + ,pl: 'Edytuj zabieg' } ,'Duration' : { cs: 'Doba trvání' From a4d72f4551e8667a2e77592c6ffba0571aab6b90 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sun, 21 Feb 2016 00:19:56 -0800 Subject: [PATCH 011/158] filter out any old entries so the context doesn't grow --- lib/client/index.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/client/index.js b/lib/client/index.js index f932fe6026d..476debba729 100644 --- a/lib/client/index.js +++ b/lib/client/index.js @@ -812,6 +812,11 @@ client.init = function init(serverSettings, plugins) { return { mills: obj.mills, mgdl: obj.mgdl, color: 'red', type: 'mbg', device: obj.device }; })); + var tooOld = client.now - times.hours(48).msecs; + client.entries = _.filter(client.entries, function notTooOld (entry) { + return entry.mills > tooOld; + }); + client.entries.forEach(function (point) { if (point.mgdl < 39) { point.color = 'transparent'; From 32710b82f01bfb94a2af4739f3d088a734a0be69 Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Sat, 20 Feb 2016 01:15:03 +0100 Subject: [PATCH 012/158] fixed bug check for profile before processing --- lib/profilefunctions.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/profilefunctions.js b/lib/profilefunctions.js index b37f225f2c2..1a7fb2c390a 100644 --- a/lib/profilefunctions.js +++ b/lib/profilefunctions.js @@ -186,11 +186,13 @@ function init(profileData) { } var treatment = null; - profile.profiletreatments.forEach( function eachTreatment (t) { - if (time > t.mills && t.mills > profile.data[0].mills) { - treatment = t; - } - }); + if (profile.hasData()) { + profile.profiletreatments.forEach( function eachTreatment (t) { + if (time > t.mills && t.mills > profile.data[0].mills) { + treatment = t; + } + }); + } returnValue = treatment; profile.timeValueCache[cacheKey] = returnValue; From e8b611dd60447aa9da16d7cd0dc5349c73f037cb Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Mon, 22 Feb 2016 23:11:51 +0100 Subject: [PATCH 013/158] WS optional ping client --- lib/websocket.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/websocket.js b/lib/websocket.js index 437aecab725..af2fdf289ca 100644 --- a/lib/websocket.js +++ b/lib/websocket.js @@ -104,12 +104,17 @@ function init (env, ctx, server) { } } + function pingClients() { + io.to('PingReceivers').emit('ping'); + } + function listeners ( ) { io.sockets.on('connection', function (socket) { var socketAuthorization = null; var clientType = null; var timeDiff; var history; + var pingme; var remoteIP = socket.request.headers['x-forwarded-for'] || socket.request.connection.remoteAddress; console.log(LOG_WS + 'Connection from client ID: ', socket.client.id, ' IP: ', remoteIP); @@ -355,9 +360,13 @@ function init (env, ctx, server) { socketAuthorization = verifyAuthorization(message.secret); clientType = message.client; history = message.history || 48; //default history is 48 hours + pingme = message.pingme; if (socketAuthorization.read) { socket.join('DataReceivers'); + if (pingme) { + socket.join('PingReceivers'); + } // send all data upon new connection if (lastData && lastData.split) { var split = lastData.split(Date.now(), times.hours(3).msecs, times.hours(history).msecs); @@ -432,6 +441,7 @@ function init (env, ctx, server) { start( ); listeners( ); + setInterval(pingClients, 60000); return websocket(); } From 2232e9a075bcbebeb4ec301773d2f4f770a8bdfc Mon Sep 17 00:00:00 2001 From: Mark Wilson Date: Mon, 22 Feb 2016 19:39:16 -0800 Subject: [PATCH 014/158] Pass devicestatus to iob.calcTotal --- lib/client/boluscalc.js | 6 +- lib/pebble.js | 2 +- lib/plugins/cob.js | 10 +-- lib/plugins/iob.js | 7 +- lib/report_plugins/daytoday.js | 4 +- static/report/js/report.js | 139 ++++++++++++++++++------------- tests/boluswizardpreview.test.js | 9 +- tests/cob.test.js | 22 +++-- 8 files changed, 115 insertions(+), 84 deletions(-) diff --git a/lib/client/boluscalc.js b/lib/client/boluscalc.js index d9bdb2511c0..4f99ef6bb6c 100644 --- a/lib/client/boluscalc.js +++ b/lib/client/boluscalc.js @@ -390,14 +390,14 @@ function init(client, $, plugins) { // Load IOB record.iob = 0; if ($('#bc_useiob').is(':checked')) { - record.iob = roundTo(iob.calcTotal(client.sbx.data.treatments, client.sbx.data.profile, record.eventTime, record.profile).iob, 0.01); + record.iob = roundTo(iob.calcTotal(client.sbx.data.treatments, client.sbx.data.devicestatus, client.sbx.data.profile, record.eventTime, record.profile).iob, 0.01); } // Load COB record.cob = 0; record.insulincob = 0; if ($('#bc_usecob').is(':checked')) { - record.cob = roundTo(cob.cobTotal(client.sbx.data.treatments, client.sbx.data.profile, record.eventTime, record.profile).cob, 0.01); + record.cob = roundTo(cob.cobTotal(client.sbx.data.treatments, client.sbx.data.devicestatus, client.sbx.data.profile, record.eventTime, record.profile).cob, 0.01); record.insulincob = roundTo(record.cob / ic, 0.01); } @@ -788,4 +788,4 @@ function init(client, $, plugins) { return boluscalc; } -module.exports = init; \ No newline at end of file +module.exports = init; diff --git a/lib/pebble.js b/lib/pebble.js index 424d621627f..fe361b6b537 100644 --- a/lib/pebble.js +++ b/lib/pebble.js @@ -94,7 +94,7 @@ function addExtraData (first, req, sbx) { function addIOB() { if (req.iob) { - var iobResult = iob.calcTotal(data.treatments, data.profile, Date.now()); + var iobResult = iob.calcTotal(data.treatments, data.devicestatus, data.profile, Date.now()); if (iobResult) { first.iob = iobResult.display; } diff --git a/lib/plugins/cob.js b/lib/plugins/cob.js index 14c80008b17..558d4e422d6 100644 --- a/lib/plugins/cob.js +++ b/lib/plugins/cob.js @@ -14,11 +14,11 @@ function init() { cob.setProperties = function setProperties(sbx) { sbx.offerProperty('cob', function setCOB ( ) { - return cob.cobTotal(sbx.data.treatments, sbx.data.profile, sbx.time); + return cob.cobTotal(sbx.data.treatments, sbx.data.devicestatus, sbx.data.profile, sbx.time); }); }; - cob.cobTotal = function cobTotal(treatments, profile, time, spec_profile) { + cob.cobTotal = function cobTotal(treatments, devicestatus, profile, time, spec_profile) { if (!profile || !profile.hasData()) { console.warn('For the COB plugin to function you need a treatment profile'); @@ -26,7 +26,7 @@ function init() { } if (!profile.getSensitivity(time, spec_profile) || !profile.getCarbRatio(time, spec_profile)) { - console.warn('For the CPB plugin to function your treatment profile must have both sens and carbratio fields'); + console.warn('For the COB plugin to function your treatment profile must have both sens and carbratio fields'); return {}; } @@ -53,8 +53,8 @@ function init() { var decaysin_hr = (cCalc.decayedBy - time) / 1000 / 60 / 60; if (decaysin_hr > -10) { // units: BG - var actStart = iob.calcTotal(treatments, profile, lastDecayedBy, spec_profile).activity; - var actEnd = iob.calcTotal(treatments, profile, cCalc.decayedBy, spec_profile).activity; + var actStart = iob.calcTotal(treatments, devicestatus, profile, lastDecayedBy, spec_profile).activity; + var actEnd = iob.calcTotal(treatments, devicestatus, profile, cCalc.decayedBy, spec_profile).activity; var avgActivity = (actStart + actEnd) / 2; // units: g = BG * scalar / BG / U * g / U var delayedCarbs = ( avgActivity * liverSensRatio / profile.getSensitivity(treatment.mills, spec_profile) ) * profile.getCarbRatio(treatment.mills, spec_profile); diff --git a/lib/plugins/iob.js b/lib/plugins/iob.js index 554973c8808..57764dc1d57 100644 --- a/lib/plugins/iob.js +++ b/lib/plugins/iob.js @@ -14,12 +14,11 @@ function init() { iob.setProperties = function setProperties(sbx) { sbx.offerProperty('iob', function setIOB ( ) { - return iob.calcTotal(sbx.data.treatments, sbx.data.profile, sbx.time); + return iob.calcTotal(sbx.data.treatments, sbx.data.devicestatus, sbx.data.profile, sbx.time); }); }; - iob.calcTotal = function calcTotal(treatments, profile, time, spec_profile) { - + iob.calcTotal = function calcTotal(treatments, devicestatus, profile, time, spec_profile) { var totalIOB = 0 , totalActivity = 0; @@ -82,7 +81,7 @@ function init() { } else if (minAgo < 180) { var x2 = (minAgo - 75) / 5; - result.iobContrib = treatment.insulin * (0.001323 * x2 * x2 - .054233 * x2 + .55556); + result.iobContrib = treatment.insulin * (0.001323 * x2 * x2 - 0.054233 * x2 + 0.55556); result.activityContrib = sens * treatment.insulin * (2 / dia / 60 - (minAgo - peak) * 2 / dia / 60 / (60 * dia - peak)); } diff --git a/lib/report_plugins/daytoday.js b/lib/report_plugins/daytoday.js index ab03dd440a6..5205f12c7f1 100644 --- a/lib/report_plugins/daytoday.js +++ b/lib/report_plugins/daytoday.js @@ -283,14 +283,14 @@ daytoday.report = function report_daytoday(datastorage,sorteddaystoshow,options) cobpolyline += (xScale2(moment(from)) + padding.left) + ',' + (yCarbsScale(0) + padding.top) + ' '; for (var dt=moment(from); dt < to; dt.add(5, 'minutes')) { if (options.iob) { - var iob = Nightscout.plugins('iob').calcTotal(datastorage.treatments,profile,dt.toDate()).iob; + var iob = Nightscout.plugins('iob').calcTotal(datastorage.treatments,datastorage.devicestatus,profile,dt.toDate()).iob; if (!dt.isSame(from)) { iobpolyline += ', '; } iobpolyline += (xScale2(dt) + padding.left) + ',' + (yInsulinScale(iob) + padding.top) + ' '; } if (options.cob) { - var cob = Nightscout.plugins('cob').cobTotal(datastorage.treatments,profile,dt.toDate()).cob; + var cob = Nightscout.plugins('cob').cobTotal(datastorage.treatments,datastorage.devicestatus,profile,dt.toDate()).cob; if (!dt.isSame(from)) { cobpolyline += ', '; } diff --git a/static/report/js/report.js b/static/report/js/report.js index a1179b768df..896b53f1945 100644 --- a/static/report/js/report.js +++ b/static/report/js/report.js @@ -449,9 +449,11 @@ options.maxCarbsValue = maxCarbsValue; datastorage.treatments = []; + datastorage.devicestatus = []; datastorage.combobolusTreatments = []; Object.keys(daystoshow).forEach( function eachDay(day) { datastorage.treatments = datastorage.treatments.concat(datastorage[day].treatments); + datastorage.devicestatus = datastorage.devicestatus.concat(datastorage[day].devicestatus); datastorage.combobolusTreatments = datastorage.combobolusTreatments.concat(datastorage[day].combobolusTreatments); }); @@ -507,61 +509,65 @@ } from = parseInt(from); var to = from + 1000 * 60 * 60 * 24; - var query = '?find[date][$gte]='+from+'&find[date][$lt]='+to+'&count=10000'; - - $('#info-' + day).html(''+translate('Loading CGM data of')+' '+day+' ...'); - $.ajax('/api/v1/entries.json'+query, { - success: function (xhr) { - xhr.forEach(function (element) { - if (element) { - if (element.mbg) { - mbgData.push({ - y: element.mbg - , mills: element.date - , d: element.dateString - , device: element.device - }); - } else if (element.sgv) { - cgmData.push({ - y: element.sgv - , mills: element.date - , d: element.dateString - , device: element.device - , filtered: element.filtered - , unfiltered: element.unfiltered - , noise: element.noise - , rssi: element.rssi - , sgv: element.sgv - }); - } else if (element.type === 'cal') { - calData.push({ - mills: element.date - , d: element.dateString - , scale: element.scale - , intercept: element.intercept - , slope: element.slope - }); + + function loadCGMData() { + $('#info-' + day).html(''+translate('Loading CGM data of')+' '+day+' ...'); + var query = '?find[date][$gte]='+from+'&find[date][$lt]='+to+'&count=10000'; + return $.ajax('/api/v1/entries.json'+query, { + success: function (xhr) { + xhr.forEach(function (element) { + if (element) { + if (element.mbg) { + mbgData.push({ + y: element.mbg + , mills: element.date + , d: element.dateString + , device: element.device + }); + } else if (element.sgv) { + cgmData.push({ + y: element.sgv + , mills: element.date + , d: element.dateString + , device: element.device + , filtered: element.filtered + , unfiltered: element.unfiltered + , noise: element.noise + , rssi: element.rssi + , sgv: element.sgv + }); + } else if (element.type === 'cal') { + calData.push({ + mills: element.date + , d: element.dateString + , scale: element.scale + , intercept: element.intercept + , slope: element.slope + }); + } } - } - }); - // sometimes cgm contains duplicates. uniq it. - data.sgv = cgmData.slice(); - data.sgv.sort(function(a, b) { return a.mills - b.mills; }); - var lastDate = 0; - data.sgv = data.sgv.filter(function(d) { - var ok = (lastDate + ONE_MIN_IN_MS) < d.mills; - lastDate = d.mills; - return ok; - }); - data.mbg = mbgData.slice(); - data.mbg.sort(function(a, b) { return a.mills - b.mills; }); - data.cal = calData.slice(); - data.cal.sort(function(a, b) { return a.mills - b.mills; }); - } - }).done(function () { + }); + // sometimes cgm contains duplicates. uniq it. + data.sgv = cgmData.slice(); + data.sgv.sort(function(a, b) { return a.mills - b.mills; }); + var lastDate = 0; + data.sgv = data.sgv.filter(function(d) { + var ok = (lastDate + ONE_MIN_IN_MS) < d.mills; + lastDate = d.mills; + return ok; + }); + data.mbg = mbgData.slice(); + data.mbg.sort(function(a, b) { return a.mills - b.mills; }); + data.cal = calData.slice(); + data.cal.sort(function(a, b) { return a.mills - b.mills; }); + } + }); + } + + function loadTreatmentData() { $('#info-' + day).html(''+translate('Loading treatments data of')+' '+day+' ...'); var tquery = '?find[created_at][$gte]='+new Date(from).toISOString()+'&find[created_at][$lt]='+new Date(to).toISOString(); - $.ajax('/api/v1/treatments.json'+tquery, { + return $.ajax('/api/v1/treatments.json'+tquery, { success: function (xhr) { treatmentData = xhr.map(function (treatment) { var timestamp = new Date(treatment.timestamp || treatment.created_at); @@ -575,11 +581,30 @@ return t.eventType === 'Combo Bolus'; }).sort(function (a,b) { return a.mills > b.mills; }); } - }).done(function () { - $('#info-' + day).html(''+translate('Processing data of')+' '+day+' ...'); - processData(data, day, options, callback); }); - + } + + function loadDevicestatusData() { + if(options.iob || options.cob) { + $('#info-' + day).html(''+translate('Loading device status data of')+' '+day+' ...'); + var tquery = '?find[created_at][$gte]=' + new Date(from).toISOString() + '&find[created_at][$lt]=' + new Date(to).toISOString() + '&count=10000'; + return $.ajax('/api/v1/devicestatus.json'+tquery, { + success: function (xhr) { + data.devicestatus = xhr.map(function (devicestatus) { + devicestatus.mills = new Date(devicestatus.timestamp || devicestatus.created_at).getTime(); + return devicestatus; + }); + } + }); + } else { + data.devicestatus = []; + return $.Deferred().resolve(); + } + } + + $.when(loadCGMData(), loadTreatmentData(), loadDevicestatusData()).done(function () { + $('#info-' + day).html(''+translate('Processing data of')+' '+day+' ...'); + processData(data, day, options, callback); }); } @@ -675,4 +700,4 @@ } return false; } -})(); \ No newline at end of file +})(); diff --git a/tests/boluswizardpreview.test.js b/tests/boluswizardpreview.test.js index 479b54f7a32..dfc582dde22 100644 --- a/tests/boluswizardpreview.test.js +++ b/tests/boluswizardpreview.test.js @@ -137,10 +137,11 @@ describe('boluswizardpreview', function ( ) { }; var data = {sgvs: [{mills: before, mgdl: 100}, {mills: now, mgdl: 100}]}; data.treatments = [{mills: now, insulin: '1.0'}]; + data.devicestatus = []; data.profile = require('../lib/profilefunctions')([profileData]); var sbx = sandbox.clientInit(ctx, Date.now(), data); var iob = require('../lib/plugins/iob')(); - sbx.properties.iob = iob.calcTotal(data.treatments, data.profile, now); + sbx.properties.iob = iob.calcTotal(data.treatments, data.devicestatus, data.profile, now); var results = boluswizardpreview.calc(sbx); @@ -177,10 +178,11 @@ describe('boluswizardpreview', function ( ) { }; var data = {sgvs: [{mills: before, mgdl: 175}, {mills: now, mgdl: 153}]}; data.treatments = [{mills: now, insulin: '0.45'}]; + data.devicestatus = []; data.profile = require('../lib/profilefunctions')([profileData]); var sbx = sandbox.clientInit(ctx, Date.now(), data); var iob = require('../lib/plugins/iob')(); - sbx.properties.iob = iob.calcTotal(data.treatments, data.profile, now); + sbx.properties.iob = iob.calcTotal(data.treatments, data.devicestatus, data.profile, now); var results = boluswizardpreview.calc(sbx); @@ -282,6 +284,7 @@ describe('boluswizardpreview', function ( ) { var data = { sgvs: [{mills: before, mgdl: 295}, {mills: now, mgdl: 300}] , treatments: [{mills: before, insulin: '1.5'}] + , devicestatus: [] , profile: loadedProfile }; @@ -292,4 +295,4 @@ describe('boluswizardpreview', function ( ) { boluswizardpreview.updateVisualisation(sbx); }); -}); \ No newline at end of file +}); diff --git a/tests/cob.test.js b/tests/cob.test.js index 9f424012782..462fe486402 100644 --- a/tests/cob.test.js +++ b/tests/cob.test.js @@ -26,9 +26,11 @@ describe('COB', function ( ) { } ]; - var after100 = cob.cobTotal(treatments, profile, new Date('2015-05-29T02:03:49.827Z').getTime()); - var before10 = cob.cobTotal(treatments, profile, new Date('2015-05-29T03:45:10.670Z').getTime()); - var after10 = cob.cobTotal(treatments, profile, new Date('2015-05-29T03:45:11.670Z').getTime()); + var devicestatus = []; + + var after100 = cob.cobTotal(treatments, devicestatus, profile, new Date('2015-05-29T02:03:49.827Z').getTime()); + var before10 = cob.cobTotal(treatments, devicestatus, profile, new Date('2015-05-29T03:45:10.670Z').getTime()); + var after10 = cob.cobTotal(treatments, devicestatus, profile, new Date('2015-05-29T03:45:11.670Z').getTime()); after100.cob.should.equal(100); Math.round(before10.cob).should.equal(59); @@ -44,17 +46,19 @@ describe('COB', function ( ) { } ]; + var devicestatus = []; + var rightAfterCorrection = new Date('2015-05-29T04:41:40.174Z').getTime(); var later1 = new Date('2015-05-29T05:04:40.174Z').getTime(); var later2 = new Date('2015-05-29T05:20:00.174Z').getTime(); var later3 = new Date('2015-05-29T05:50:00.174Z').getTime(); var later4 = new Date('2015-05-29T06:50:00.174Z').getTime(); - var result1 = cob.cobTotal(treatments, profile, rightAfterCorrection); - var result2 = cob.cobTotal(treatments, profile, later1); - var result3 = cob.cobTotal(treatments, profile, later2); - var result4 = cob.cobTotal(treatments, profile, later3); - var result5 = cob.cobTotal(treatments, profile, later4); + var result1 = cob.cobTotal(treatments, devicestatus, profile, rightAfterCorrection); + var result2 = cob.cobTotal(treatments, devicestatus, profile, later1); + var result3 = cob.cobTotal(treatments, devicestatus, profile, later2); + var result4 = cob.cobTotal(treatments, devicestatus, profile, later3); + var result5 = cob.cobTotal(treatments, devicestatus, profile, later4); result1.cob.should.equal(8); result2.cob.should.equal(6); @@ -90,4 +94,4 @@ describe('COB', function ( ) { }); -}); \ No newline at end of file +}); From d578041863a4b82c4e4c6e13998b9955b4245303 Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Tue, 1 Mar 2016 17:22:28 +0100 Subject: [PATCH 015/158] ws dedup update --- lib/websocket.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/websocket.js b/lib/websocket.js index af2fdf289ca..0aea22acb3f 100644 --- a/lib/websocket.js +++ b/lib/websocket.js @@ -275,7 +275,6 @@ function init (env, ctx, server) { var query_similiar = { created_at: {$gte: new Date(new Date(data.data.created_at).getTime() - maxtimediff).toISOString(), $lte: new Date(new Date(data.data.created_at).getTime() + maxtimediff).toISOString()} - , eventType: data.data.eventType }; if (data.data.insulin) { query_similiar.insulin = data.data.insulin; @@ -283,6 +282,15 @@ function init (env, ctx, server) { if (data.data.carbs) { query_similiar.carbs = data.data.carbs; } + if (data.data.percent) { + query_similiar.percent = data.data.percent; + } + if (data.data.absolute) { + query_similiar.absolute = data.data.absolute; + } + if (data.data.duration) { + query_similiar.duration = data.data.duration; + } if (data.data.happ_id) { query_similiar.happ_id = data.data.happ_id; } From 3f0b6be53a8062a2466488ade14106b37759bcd8 Mon Sep 17 00:00:00 2001 From: Ben West Date: Thu, 3 Mar 2016 13:40:16 -0800 Subject: [PATCH 016/158] fix text endpoints of API This allows fetching 10k+ records as text. --- lib/api/entries/index.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/api/entries/index.js b/lib/api/entries/index.js index 2d285324786..86b92fc69b8 100644 --- a/lib/api/entries/index.js +++ b/lib/api/entries/index.js @@ -96,8 +96,22 @@ function configure (app, wares, ctx) { // such as enforcing a type property to exist, are followed. return res.format({ text: function ( ) { + res.set("Content-Type", 'text/plain'); // sgvdata knows how to format sgv entries as text - es.pipeline(output, sgvdata.format( ), res); + es.pipeline(output, sgvdata.format( ), es.writeArray(function (err, out) { + res.send(out.join("")); + })); + }, + csv: function ( ) { + // sgvdata knows how to format sgv entries as text + res.set("Content-Type", 'text/plain'); + var csvpipe = require('sgvdata/lib/text')({ format: ',', parse: /[\t,]/ }); + sgvdata.mapper(csvpipe.format), es.join("\n") + es.pipeline(output, + sgvdata.mapper(csvpipe.format), es.join("\n"), + es.writeArray(function (err, out) { + res.send(out.join("")); + })); }, json: function ( ) { // so long as every element has a `type` field, and some kind of From 8ddf600a58ef0a01c411871a9c5e12a48ae60a0a Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sat, 12 Mar 2016 16:43:55 -0800 Subject: [PATCH 017/158] disable a really noisy units warnings --- lib/data/treatmenttocurve.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/data/treatmenttocurve.js b/lib/data/treatmenttocurve.js index 4772934056e..f8d96e5eb49 100644 --- a/lib/data/treatmenttocurve.js +++ b/lib/data/treatmenttocurve.js @@ -63,7 +63,7 @@ module.exports = function fitTreatmentsToBGCurve (ddata, settings) { } } else if (treatment.glucose) { //no units, assume everything is the same - console.warn('found a glucose value without any units, maybe from an old version?', _.pick(treatment, '_id', 'created_at', 'enteredBy')); + //console.warn('found a glucose value without any units, maybe from an old version?', _.pick(treatment, '_id', 'created_at', 'enteredBy')); var units = settings.units === 'mmol' ? 'mmol' : 'mgdl'; treatment[units] = Number(treatment.glucose); } else { From fd4e97501e97c3b9312182625f12377d1d06a35c Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sat, 12 Mar 2016 16:57:51 -0800 Subject: [PATCH 018/158] convert string true/false to booleans in addition to on/off --- env.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/env.js b/env.js index cc7995f808c..d265b8a5f8d 100644 --- a/env.js +++ b/env.js @@ -158,8 +158,8 @@ function findExtendedSettings (envs) { extended[enable] = exts; var ext = _.camelCase(env.substring(split + 1).toLowerCase()); if (!isNaN(value)) { value = Number(value); } - if (typeof value === 'string' && value.toLowerCase() === 'on') { value = true; } - if (typeof value === 'string' && value.toLowerCase() === 'off') { value = false; } + if (typeof value === 'string' && (value.toLowerCase() === 'on' || value.toLowerCase() === 'true')) { value = true; } + if (typeof value === 'string' && (value.toLowerCase() === 'off' || value.toLowerCase() === 'false')) { value = false; } exts[ext] = value; } } From 6326964f8af0ae01ef7a18a50a1e28491a33da91 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sat, 12 Mar 2016 16:58:22 -0800 Subject: [PATCH 019/158] log OpenAPS pref on first use --- lib/plugins/openaps.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/plugins/openaps.js b/lib/plugins/openaps.js index 63c210d28aa..321da77c22d 100644 --- a/lib/plugins/openaps.js +++ b/lib/plugins/openaps.js @@ -14,12 +14,21 @@ function init() { , pluginType: 'pill-status' }; + var firstPrefs = true; + openaps.getPrefs = function getPrefs(sbx) { - return { + var prefs = { warn: sbx.extendedSettings.warn ? sbx.extendedSettings.warn : 30, urgent: sbx.extendedSettings.urgent ? sbx.extendedSettings.urgent : 60, enableAlerts: sbx.extendedSettings.enableAlerts }; + + if (firstPrefs) { + firstPrefs = false; + console.info('OpenAPS Prefs:', prefs); + } + + return prefs; }; openaps.setProperties = function setProperties (sbx) { From ab98bdfa526a194e77724bf157469efc68639558 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Tue, 15 Mar 2016 22:06:37 -0700 Subject: [PATCH 020/158] fix ar2 boolean settings bug --- lib/plugins/ar2.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/ar2.js b/lib/plugins/ar2.js index 3770c01a739..4cdbb0d4810 100644 --- a/lib/plugins/ar2.js +++ b/lib/plugins/ar2.js @@ -96,7 +96,7 @@ function init() { } function useRaw (sbx) { - return sbx.properties.rawbg && sbx.extendedSettings.useRaw !== undefined && (sbx.extendedSettings.useRaw === true || sbx.extendedSettings.useRaw.toLowerCase() === 'true'); + return sbx.properties.rawbg && sbx.extendedSettings.useRaw !== undefined && sbx.extendedSettings.useRaw === true; } ar2.forecast = function forecast (sgvs, sbx) { From d104c7fe5776f6acbd1be7858e029ca772a04116 Mon Sep 17 00:00:00 2001 From: apanasef Date: Fri, 18 Mar 2016 18:45:06 +0300 Subject: [PATCH 021/158] Update Russian.js new russian translation --- lib/language.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/language.js b/lib/language.js index a99aa158d57..3095625e61e 100644 --- a/lib/language.js +++ b/lib/language.js @@ -22,6 +22,7 @@ function init() { , { code: 'pl', language: 'Polski' } , { code: 'pt', language: 'Português (Brasil)' } , { code: 'ro', language: 'Română' } + , { code: 'ru', language: 'Русский' } , { code: 'sv', language: 'Svenska' } , { code: 'fi', language: 'Suomi' } ]; @@ -43,6 +44,7 @@ function init() { ,nb: 'Lytter på port' ,he: 'מקשיב על פתחה' ,pl: 'Słucham na porcie' + ,ru: 'Прослушивание порта' } // Client ,'Mo' : { @@ -61,6 +63,7 @@ function init() { ,nb: 'Man' ,he: 'ב' ,pl: 'Pn' + ,ru: 'Пон' } ,'Tu' : { cs: 'Út' @@ -78,6 +81,7 @@ function init() { ,nb: 'Tir' ,he: 'ג' ,pl: 'Wt' + ,ru: 'Вт' } ,'We' : { cs: 'St' From 59e92d1824b2b976224837fce37ad6ccd885fb73 Mon Sep 17 00:00:00 2001 From: apanasef Date: Tue, 22 Mar 2016 11:10:53 +0300 Subject: [PATCH 022/158] Update language.js --- lib/language.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/lib/language.js b/lib/language.js index 3095625e61e..6ebdfb4de98 100644 --- a/lib/language.js +++ b/lib/language.js @@ -99,6 +99,7 @@ function init() { ,nb: 'Ons' ,he: 'ד' ,pl: 'Śr' + ,ru: 'Ср' } ,'Th' : { cs: 'Čt' @@ -116,6 +117,7 @@ function init() { ,nb: 'Tor' ,he: 'ה' ,pl: 'Cz' + ,ru: 'Чт' } ,'Fr' : { cs: 'Pá' @@ -133,6 +135,7 @@ function init() { ,nb: 'Fre' ,he: 'ו' ,pl: 'Pt' + ,ru: 'Пт' } ,'Sa' : { cs: 'So' @@ -150,6 +153,7 @@ function init() { ,nb: 'Lør' ,he: 'ש' ,pl: 'So' + ,ru: 'Сб' } ,'Su' : { cs: 'Ne' @@ -167,6 +171,7 @@ function init() { ,nb: 'Søn' ,he: 'א' ,pl: 'Nd' + ,ru: 'Вс' } ,'Monday' : { cs: 'Pondělí' @@ -184,6 +189,7 @@ function init() { ,nb: 'Mandag' ,he: 'שני' ,pl: 'Poniedziałek' + ,ru: 'Понедельник' } ,'Tuesday' : { cs: 'Úterý' @@ -201,6 +207,7 @@ function init() { ,nb: 'Tirsdag' ,he: 'שלישי' ,pl: 'Wtorek' + ,ru: 'Вторник' } ,'Wednesday' : { cs: 'Středa' @@ -218,6 +225,7 @@ function init() { ,nb: 'Onsdag' ,he: 'רביעי' ,pl: 'Środa' + ,ru: 'Среда' } ,'Thursday' : { cs: 'Čtvrtek' @@ -235,6 +243,7 @@ function init() { ,nb: 'Torsdag' ,he: 'חמישי' ,pl: 'Czwartek' + ,ru: 'Четверг' } ,'Friday' : { cs: 'Pátek' @@ -252,6 +261,7 @@ function init() { ,nb: 'Fredag' ,he: 'שישי' ,pl: 'Piątek' + ,ru: 'Пятница' } ,'Saturday' : { cs: 'Sobota' @@ -269,6 +279,7 @@ function init() { ,nb: 'Lørdag' ,he: 'שבת' ,pl: 'Sobota' + ,ru: 'Суббота' } ,'Sunday' : { cs: 'Neděle' @@ -286,6 +297,7 @@ function init() { ,nb: 'Søndag' ,he: 'ראשון' ,pl: 'Niedziela' + ,ru: 'Воскресенье' } ,'Category' : { cs: 'Kategorie' @@ -303,6 +315,7 @@ function init() { ,nb: 'Kategori' ,he: 'קטגוריה' ,pl: 'Kategoria' + ,ru: 'Категория' } ,'Subcategory' : { cs: 'Podkategorie' @@ -320,6 +333,7 @@ function init() { ,nb: 'Underkategori' ,he: 'תת-קטגוריה' ,pl: 'Podkategoria' + ,ru: 'Подкатегория' } ,'Name' : { cs: 'Jméno' @@ -337,6 +351,7 @@ function init() { ,nb: 'Navn' ,he: 'שם' ,pl: 'Imie' + ,ru: 'Имя' } ,'Today' : { cs: 'Dnes' @@ -354,6 +369,7 @@ function init() { ,nb: 'Idag' ,he: 'היום' ,pl: 'Dziś' + ,ru: 'Сегодня' } ,'Last 2 days' : { cs: 'Poslední 2 dny' @@ -371,6 +387,7 @@ function init() { ,nb: 'Siste 2 dager' ,he: 'יומיים אחרונים' ,pl: 'Ostatnie 2 dni' + ,ru: 'Последние 2 дня' } ,'Last 3 days' : { cs: 'Poslední 3 dny' @@ -388,6 +405,7 @@ function init() { ,nb: 'Siste 3 dager' ,he: '3 ימים אחרונים' ,pl: 'Ostatnie 3 dni' + ,ru: 'Последние 3 дня' } ,'Last week' : { cs: 'Poslední týden' @@ -405,6 +423,7 @@ function init() { ,nb: 'Siste uke' ,he: 'שבוע אחרון' ,pl: 'Ostatni tydzeń' + ,ru: 'Последняя неделя' } ,'Last 2 weeks' : { cs: 'Poslední 2 týdny' @@ -422,6 +441,7 @@ function init() { ,nb: 'Siste 2 uker' ,he: 'שבועיים אחרונים' ,pl: 'Ostatnie 2 tygodnie' + ,ru: 'Последние 2 недели' } ,'Last month' : { cs: 'Poslední měsíc' @@ -439,6 +459,7 @@ function init() { ,nb: 'Siste måned' ,he: 'חודש אחרון' ,pl: 'Ostatni miesiąc' + ,ru: 'Последний месяц' } ,'Last 3 months' : { cs: 'Poslední 3 měsíce' @@ -456,6 +477,7 @@ function init() { ,nb: 'Siste 3 måneder' ,he: '3 חודשים אחרונים' ,pl: 'Ostatnie 3 miesiące' + ,ru: 'Последние 3 месяца' } ,'From' : { cs: 'Od' @@ -473,6 +495,7 @@ function init() { ,nb: 'Fra' ,he: 'מ' ,pl: 'Od' + ,ru: 'С' } ,'To' : { cs: 'Do' @@ -490,6 +513,7 @@ function init() { ,nb: 'Til' ,he: 'עד' ,pl: 'Do' + ,ru: 'По' } ,'Notes' : { cs: 'Poznámky' @@ -507,6 +531,7 @@ function init() { ,nb: 'Notater' ,he: 'הערות' ,pl: 'Uwagi' + ,ru: 'Примечания' } ,'Food' : { cs: 'Jídlo' @@ -524,6 +549,7 @@ function init() { ,nb: 'Mat' ,he: 'אוכל' ,pl: 'Jedzenie' + ,ru: 'Еда' } ,'Insulin' : { cs: 'Inzulín' @@ -541,6 +567,7 @@ function init() { ,nb: 'Insulin' ,he: 'אינסולין' ,pl: 'Insulina' + ,ru: 'Инсулин' } ,'Carbs' : { cs: 'Sacharidy' @@ -558,6 +585,7 @@ function init() { ,nb: 'Karbohydrater' ,he: 'פחמימות' ,pl: 'Węglowodany' + ,ru: 'Углеводы' } ,'Notes contain' : { cs: 'Poznámky obsahují' From 5d152cbf61d6a077c05f433f1430ab65b50816ed Mon Sep 17 00:00:00 2001 From: apanasef Date: Tue, 22 Mar 2016 12:09:11 +0300 Subject: [PATCH 023/158] Update language.js rus translaton continued --- lib/language.js | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/lib/language.js b/lib/language.js index 6ebdfb4de98..9ad2139db43 100644 --- a/lib/language.js +++ b/lib/language.js @@ -602,6 +602,7 @@ function init() { ,fi: 'Merkinnät sisältävät' ,nb: 'Notater inneholder' ,pl: 'Zawierają uwagi' + ,ru: 'Примечания содержат' } ,'Target bg range bottom' : { cs: 'Cílová glykémie spodní' @@ -619,6 +620,7 @@ function init() { ,nb: 'Nedre grense for blodsukkerverdier' ,he: 'טווח מטרה סף תחתון' ,pl: 'Docelowy zakres glikemii, dolny' + ,ru: 'Нижний порог целевых значений СК' } ,'top' : { cs: 'horní' @@ -636,6 +638,7 @@ function init() { ,nb: 'Topp' ,he: 'למעלה' ,pl: 'Górny' + ,ru: 'Верхний' } ,'Show' : { cs: 'Zobraz' @@ -653,6 +656,7 @@ function init() { ,nb: 'Vis' ,he: 'הצג' ,pl: 'Pokaż' + ,ru: 'Показать' } ,'Display' : { cs: 'Zobraz' @@ -670,6 +674,7 @@ function init() { ,nb: 'Vis' ,he: 'תצוגה' ,pl: 'Wyświetl' + ,ru: 'Визуально' } ,'Loading' : { cs: 'Nahrávám' @@ -687,6 +692,7 @@ function init() { ,nb: 'Laster' ,he: 'טוען' ,pl: 'Ładowanie' + ,ru: 'Загрузка' } ,'Loading profile' : { cs: 'Nahrávám profil' @@ -704,6 +710,7 @@ function init() { ,nb: 'Leser profil' ,he: 'טוען פרופיל' ,pl: 'Ładowanie profilu' + ,ru: 'Загрузка профиля' } ,'Loading status' : { cs: 'Nahrávám status' @@ -721,6 +728,7 @@ function init() { ,nb: 'Leser status' ,he: 'טוען סטטוס' ,pl: 'Status załadowania' + ,ru: 'Загрузка статус' } ,'Loading food database' : { cs: 'Nahrávám databázi jídel' @@ -738,6 +746,7 @@ function init() { ,nb: 'Leser matdatabase' ,he: 'טוען נתוני אוכל' ,pl: 'Ładowanie bazy posiłków' + ,ru: 'Загрузка БД продуктов' } ,'not displayed' : { cs: 'není zobrazeno' @@ -755,6 +764,7 @@ function init() { ,nb: 'Vises ikke' ,he: 'לא מוצג' ,pl: 'Nie jest wyświetlany' + ,ru: 'Не визуализировано' } ,'Loading CGM data of' : { cs: 'Nahrávám CGM data' @@ -772,6 +782,7 @@ function init() { ,nb: 'Leser CGM-data for' ,he: 'טוען נתוני חיישן סוכר של' ,pl: 'Ładowanie danych z CGM' + ,ru: 'Загрузка данных мониторинга' } ,'Loading treatments data of' : { cs: 'Nahrávám data ošetření' @@ -789,6 +800,7 @@ function init() { ,nb: 'Leser behandlingsdata for' ,he: 'טוען נתוני טיפולים של' ,pl: 'Ładowanie danych leczenia' + ,ru: 'Загрузка данных лечения' } ,'Processing data of' : { cs: 'Zpracovávám data' @@ -806,6 +818,7 @@ function init() { ,nb: 'Behandler data for' ,he: 'מעבד נתונים של' ,pl: 'Przetwarzanie danych' + ,ru: 'Обработка данных' } ,'Portion' : { cs: 'Porce' @@ -823,6 +836,7 @@ function init() { ,nb: 'Porsjon' ,he: 'מנה' ,pl: 'Część' + ,ru: 'Порция' } ,'Size' : { cs: 'Rozměr' @@ -840,6 +854,7 @@ function init() { ,nb: 'Størrelse' ,he: 'גודל' ,pl: 'Rozmiar' + ,ru: 'Размер' } ,'(none)' : { cs: '(Žádný)' @@ -857,6 +872,7 @@ function init() { ,nb: '(ingen)' ,he: '(ללא)' ,pl: '(brak)' + ,ru: '(отсутствует)' } ,'None' : { cs: 'Žádný' @@ -874,6 +890,7 @@ function init() { ,nb: 'ingen' ,he: 'ללא' ,pl: 'brak' + ,ru: 'Отсутствует' } ,'' : { cs: '<Žádný>' @@ -891,6 +908,7 @@ function init() { ,nb: '' ,he: '<ללא>' ,pl: '' + ,ru: '<отсутствует>' } ,'Result is empty' : { cs: 'Prázdný výsledek' @@ -908,6 +926,7 @@ function init() { ,nb: 'Tomt resultat' ,he: 'אין תוצאה' ,pl: 'Brak wyniku' + ,ru: 'Результата нет ' } ,'Day to day' : { cs: 'Den po dni' @@ -925,6 +944,7 @@ function init() { ,nb: 'Dag til dag' ,he: 'יום-יום' ,pl: 'Dzień po dniu' + ,ru: 'Ежедневно' } ,'Daily Stats' : { cs: 'Denní statistiky' @@ -942,6 +962,7 @@ function init() { ,nb: 'Daglig statistikk' ,he: 'סטטיסטיקה יומית' ,pl: 'Statystyki dzienne' + ,ru: 'Ежедневная статистика' } ,'Percentile Chart' : { cs: 'Percentil' @@ -959,6 +980,7 @@ function init() { ,nb: 'Prosentgraf' ,he: 'טבלת עשירונים' ,pl: 'Wykres percentyl' + ,ru: 'Перцентильная диаграмма' } ,'Distribution' : { cs: 'Rozložení' @@ -976,6 +998,7 @@ function init() { ,nb: 'Distribusjon' ,he: 'פיזור' ,pl: 'Dystrybucja' + ,ru: 'Распределение' } ,'Hourly stats' : { cs: 'Statistika po hodinách' @@ -993,6 +1016,7 @@ function init() { ,nb: 'Timestatistikk' ,he: 'סטטיסטיקה שעתית' ,pl: 'Statystiki godzinowe' + ,ru: 'Почасовая статистика' } ,'Weekly success' : { cs: 'Statistika po týdnech' @@ -1009,6 +1033,7 @@ function init() { ,fi: 'Viikkotilasto' ,nb: 'Ukeresultat' ,pl: 'Tygodniowe sukcesy' + ,ru: 'Результаты недели' } ,'No data available' : { cs: 'Žádná dostupná data' @@ -1026,6 +1051,7 @@ function init() { ,nb: 'Mangler data' ,he: 'אין מידע זמין' ,pl: 'Brak danych' + ,ru: 'Нет доступных данных' } ,'Low' : { cs: 'Nízká' @@ -1043,6 +1069,7 @@ function init() { ,nb: 'Lav' ,he: 'נמוך' ,pl: 'Niski' + ,ru: 'Низкий СК' } ,'In Range' : { cs: 'V rozsahu' @@ -1060,6 +1087,7 @@ function init() { ,nb: 'Innenfor intervallet' ,he: 'בטווח' ,pl: 'W zakresie' + ,ru: 'В диапазоне' } ,'Period' : { cs: 'Období' @@ -1077,6 +1105,7 @@ function init() { ,nb: 'Periode' ,he: 'תקופה' ,pl: 'Okres' + ,ru: 'Период' } ,'High' : { cs: 'Vysoká' @@ -1094,6 +1123,7 @@ function init() { ,nb: 'Høy' ,he: 'גבוה' ,pl: 'Wysoki' + ,ru: 'Высокий СК' } ,'Average' : { cs: 'Průměrná' @@ -1111,6 +1141,7 @@ function init() { ,nb: 'Gjennomsnitt' ,he: 'ממוצע' ,pl: 'Średnia' + ,ru: 'Усредненный СК' } ,'Low Quartile' : { cs: 'Nízký kvartil' @@ -1121,13 +1152,14 @@ function init() { ,ro: 'Pătrime inferioară' ,bg: 'Ниска четвъртинка' ,hr: 'Donji kvartil' - ,sv: 'Nedre kvadranten' + ,sv: 'Nedre kvadranten',ru: 'Нижняя четверть' ,it: 'Quartile basso' ,dk: 'Nedre kvartil' ,fi: 'Alin neljäsosa' ,nb: 'Nedre kvartil' ,he: 'רבעון נמוך' ,pl: 'Dolny kwartyl' + ,ru: 'Нижняя четверть' } ,'Upper Quartile' : { cs: 'Vysoký kvartil' @@ -1145,6 +1177,7 @@ function init() { ,nb: 'Øvre kvartil' ,he: 'רבעון גבוה' ,pl: 'Górny kwartyl' + ,ru: 'Верхняя четверть' } ,'Quartile' : { cs: 'Kvartil' @@ -1162,6 +1195,7 @@ function init() { ,nb: 'Kvartil' ,he: 'רבעון' ,pl: 'Kwadryl' + ,ru: 'Четверть' } ,'Date' : { cs: 'Datum' From e0d802d04affab88d5ac1f10260ca66f1bdd4651 Mon Sep 17 00:00:00 2001 From: apanasef Date: Tue, 22 Mar 2016 21:02:29 +0300 Subject: [PATCH 024/158] Update language.js --- lib/language.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/language.js b/lib/language.js index 9ad2139db43..93069ca1d15 100644 --- a/lib/language.js +++ b/lib/language.js @@ -1213,6 +1213,7 @@ function init() { ,nb: 'Dato' ,he: 'תאריך' ,pl: 'Data' + ,ru: 'Дата' } ,'Normal' : { cs: 'Normální' @@ -1229,6 +1230,7 @@ function init() { ,fi: 'Normaali' ,nb: 'Normal' ,pl: 'Norma' + ,ru: 'Норма' } ,'Median' : { cs: 'Medián' @@ -1246,6 +1248,7 @@ function init() { ,nb: 'Median' ,he: 'חציון' ,pl: 'Mediana' + ,ru: 'Усредненный' } ,'Readings' : { cs: 'Záznamů' @@ -1263,6 +1266,7 @@ function init() { ,nb: 'Avlesning' ,he: 'קריאות' ,pl: 'Odczyty' + ,ru: 'Измерения' } ,'StDev' : { cs: 'St. odchylka' @@ -1280,6 +1284,7 @@ function init() { ,nb: 'Standardavvik' ,he: 'סטיית תקן' ,pl: 'Stand. odchyłka' + ,ru: 'Стандартные отклонения' } ,'Daily stats report' : { cs: 'Denní statistiky' @@ -1297,6 +1302,7 @@ function init() { ,nb: 'Daglig statistikkrapport' ,he: 'דוח סטטיסטיקה יומית' ,pl: 'Dzienne statystyki' + ,ru: 'Статистика дня' } ,'Glucose Percentile report' : { cs: 'Tabulka percentil glykémií' @@ -1313,6 +1319,7 @@ function init() { ,fi: 'Verensokeriarvojen jakauma' ,nb: 'Glukoserapport i prosent' ,pl: 'Tabela centylowa glikemii' + ,ru: 'Процентиль' } ,'Glucose distribution' : { cs: 'Rozložení glykémií' @@ -1330,6 +1337,7 @@ function init() { ,nb: 'Glukosefordeling' ,he: 'פיזור סוכר' ,pl: 'Rozkład glikemii' + ,ru: 'Распределение СК' } ,'days total' : { cs: 'dní celkem' From f31e66fc2e62eafd0d8cace2892bf19d274aa5d1 Mon Sep 17 00:00:00 2001 From: apanasef Date: Tue, 22 Mar 2016 21:31:49 +0300 Subject: [PATCH 025/158] Update language.js --- lib/language.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/language.js b/lib/language.js index 93069ca1d15..dc22e5ac47e 100644 --- a/lib/language.js +++ b/lib/language.js @@ -1152,7 +1152,7 @@ function init() { ,ro: 'Pătrime inferioară' ,bg: 'Ниска четвъртинка' ,hr: 'Donji kvartil' - ,sv: 'Nedre kvadranten',ru: 'Нижняя четверть' + ,sv: 'Nedre kvadranten' ,it: 'Quartile basso' ,dk: 'Nedre kvartil' ,fi: 'Alin neljäsosa' From f45fabd603a007483ceedca3548aa699e4de4616 Mon Sep 17 00:00:00 2001 From: fedapan Date: Thu, 24 Mar 2016 11:15:14 +0300 Subject: [PATCH 026/158] Update language.js --- lib/language.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/language.js b/lib/language.js index dc22e5ac47e..1196221592b 100644 --- a/lib/language.js +++ b/lib/language.js @@ -1355,6 +1355,7 @@ function init() { ,nb: 'antall dager' ,he: 'מספר ימים' ,pl: 'dni łącznie' + ,ru: 'всего дней' } ,'Overall' : { cs: 'Celkem' @@ -1372,6 +1373,7 @@ function init() { ,nb: 'Generelt' ,he: 'סך הכל' ,pl: 'Ogółem' + ,ru: 'Всего' } ,'Range' : { cs: 'Rozsah' @@ -1389,6 +1391,7 @@ function init() { ,nb: 'Intervall' ,he: 'טווח' ,pl: 'Zakres' + ,ru: 'Диапазон' } ,'% of Readings' : { cs: '% záznamů' @@ -1406,6 +1409,7 @@ function init() { ,nb: '% af avlesningene' ,he: 'אחוז קריאות' ,pl: '% Odczytów' + ,ru: '% измерений' } ,'# of Readings' : { cs: 'počet záznamů' @@ -1423,6 +1427,7 @@ function init() { ,nb: 'Antall avlesninger' ,he: 'מספר קריאות' ,pl: 'Ilość Odczytów' + ,ru: '№ измерения' } ,'Mean' : { cs: 'Střední hodnota' @@ -1440,6 +1445,7 @@ function init() { ,nb: 'Gjennomsnitt' ,he: 'ממוצע' ,pl: 'Wartość średnia' + ,ru: 'Среднее значение' } ,'Standard Deviation' : { cs: 'Standardní odchylka' @@ -1457,6 +1463,7 @@ function init() { ,nb: 'Standardavvik' ,he: 'סטיית תקן' ,pl: 'Standardowa odchyłka' + ,ru: 'Стандартное отклонение' } ,'Max' : { cs: 'Max' @@ -1474,6 +1481,7 @@ function init() { ,nb: 'Max' ,he: 'מקסימאלי' ,pl: 'Max' + ,ru: 'Макс' } ,'Min' : { cs: 'Min' @@ -1491,6 +1499,7 @@ function init() { ,nb: 'Min' ,he: 'מינימאלי' ,pl: 'Min' + ,ru: 'Мин' } ,'A1c estimation*' : { cs: 'Předpokládané HBA1c*' @@ -1508,6 +1517,7 @@ function init() { ,nb: 'Beregnet HbA1c' ,he: 'משוער A1c' ,pl: 'HbA1c oczekiwany' + ,ru: 'Ожидаемый HbA1c' } ,'Weekly Success' : { cs: 'Týdenní úspěšnost' @@ -1524,6 +1534,7 @@ function init() { ,fi: 'Viikottainen tulos' ,nb: 'Ukeresultat' ,pl: 'Tygodniowe sukcesy' + ,ru: 'Результаты недели' } ,'There is not sufficient data to run this report. Select more days.' : { cs: 'Není dostatek dat. Vyberte delší časové období.' @@ -1541,6 +1552,7 @@ function init() { ,nb: 'Der er ikke nok data til å lage rapporten. Velg flere dager.' ,he: 'לא נמצא מספיק מידע ליצירת הדוח. בחר ימים נוספים.' ,pl: 'Nie ma wystarczających danych dla tego raportu. Wybierz więcej dni. ' + ,ru: 'Для этого отчета недостаточно данных. Выберите больше дней.' } // food editor ,'Using stored API secret hash' : { @@ -1558,6 +1570,7 @@ function init() { ,fi: 'Tallennettu salainen API-tarkiste käytössä' ,nb: 'Bruker lagret API nøkkel' ,pl: 'Korzystajac z zapisanego poufnego API' + ,ru: 'Применение сохраненного пароля API' } ,'No API secret hash stored yet. You need to enter API secret.' : { cs: 'Není uložený žádný hash API hesla. Musíte zadat API heslo.' @@ -1574,6 +1587,7 @@ function init() { ,fi: 'Salainen API-tarkiste puuttuu. Syötä API tarkiste.' ,nb: 'Mangler API nøkkel. Du må skrive inn API hemmelighet.' ,pl: 'Nie ma żadnego poufnego API zapisanego. Należy wprowadzić poufne API.' + ,ru: 'Пароля API нет в памяти. Введите пароль API' } ,'Database loaded' : { cs: 'Databáze načtena' @@ -1590,6 +1604,7 @@ function init() { ,fi: 'Tietokanta ladattu' ,nb: 'Database lest' ,pl: 'Baza danych załadowana' + ,ru: 'База данных загружена' } ,'Error: Database failed to load' : { cs: 'Chyba při načítání databáze' From 44e97f1f63782b4162a63e743fe8cd93eb317690 Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Fri, 4 Mar 2016 13:28:42 +0100 Subject: [PATCH 027/158] devicestatus dedupe --- lib/websocket.js | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/lib/websocket.js b/lib/websocket.js index 0aea22acb3f..cbdf35e93d3 100644 --- a/lib/websocket.js +++ b/lib/websocket.js @@ -320,6 +320,28 @@ function init (env, ctx, server) { }); }); }); + // devicestatus deduping + } else if (data.collection === 'devicestatus') { + var queryDev = { + created_at: data.data.created_at + }; + + // try to find exact match + ctx.store.db.collection(collection).find(queryDev).toArray(function findResult(err, array) { + if (err || array.length > 0) { + console.log(LOG_DEDUP + 'Devicestatus exact match'); + if (callback) { + callback([array[0]]); + } + return; + } + }); + ctx.store.db.collection(collection).insert(data.data, function insertResult(err, doc) { + if (callback) { + callback(doc.ops); + } + ctx.bus.emit('data-received'); + }); } else { ctx.store.db.collection(collection).insert(data.data, function insertResult(err, doc) { if (callback) { @@ -328,7 +350,6 @@ function init (env, ctx, server) { ctx.bus.emit('data-received'); }); } - }); // dbRemove message // { From 3e0f9fd6231e57c522e15e169296c52d16e3f2e6 Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Sat, 19 Mar 2016 11:22:52 +0100 Subject: [PATCH 028/158] skip comparatin of mgdl in treatments --- lib/data/calcdelta.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/data/calcdelta.js b/lib/data/calcdelta.js index b59aea06afa..4ac9f7d6fb9 100644 --- a/lib/data/calcdelta.js +++ b/lib/data/calcdelta.js @@ -26,7 +26,11 @@ module.exports = function calcDelta (oldData, newData) { no._id = no._id.toString(); if (no._id === oo._id) { found = true; - if (!_.isEqual(oo, no)) { + var oo_copy = _.clone(oo); + var no_copy = _.clone(no); + delete oo_copy.mgdl; + delete no_copy.mgdl; + if (!_.isEqual(oo_copy, no_copy)) { founddiff = true; } break; From ed3f8570fc3064062644fa2b63498272fc50cfab Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Mon, 21 Mar 2016 08:46:23 +0100 Subject: [PATCH 029/158] OpenAPS in reports --- lib/data/ddata.js | 71 ++++++++++++++++++---------------- lib/report_plugins/daytoday.js | 47 ++++++++++++++++++---- static/css/report.css | 17 ++++++++ static/report/js/report.js | 71 +++++++++++++++++++++++++++++++--- 4 files changed, 160 insertions(+), 46 deletions(-) diff --git a/lib/data/ddata.js b/lib/data/ddata.js index 673015e0314..a63819f83a8 100644 --- a/lib/data/ddata.js +++ b/lib/data/ddata.js @@ -76,6 +76,42 @@ function init( ) { return result; }; + + ddata.processTempBasals = function processTempBasals(tempbasalTreatments) { + // cut temp basals by end events + // better to do it only on data update + var endevents = tempbasalTreatments.filter(function filterEnd(t) { + return ! t.duration; + }); + + function cutIfInInterval(base, end) { + if (base.mills < end.mills && base.mills + times.mins(base.duration).msecs > end.mills) { + base.duration = times.msecs(end.mills-base.mills).mins; + } + } + + // cut by end events + tempbasalTreatments.forEach(function allTreatments(t) { + if (t.duration) { + endevents.forEach(function allEndevents(e) { + cutIfInInterval(t, e); + }); + } + }); + + // cut by overlaping events + tempbasalTreatments.forEach(function allTreatments(t) { + if (t.duration) { + tempbasalTreatments.forEach(function allEndevents(e) { + cutIfInInterval(t, e); + }); + } + }); + + return tempbasalTreatments.filter(function filterEnd(t) { + return t.duration; + }); + } ddata.processTreatments = function processTreatments ( ) { @@ -108,40 +144,9 @@ function init( ) { var tempbasalTreatments = ddata.treatments.filter( function filterBasals(t) { return t.eventType && t.eventType.indexOf('Temp Basal') > -1; }); - // cut temp basals by end events - // better to do it only on data update - var endevents = tempbasalTreatments.filter(function filterEnd(t) { - return ! t.duration; - }); - - function cutIfInInterval(base, end) { - if (base.mills < end.mills && base.mills + times.mins(base.duration).msecs > end.mills) { - base.duration = times.msecs(end.mills-base.mills).mins; - } - } - - // cut by end events - tempbasalTreatments.forEach(function allTreatments(t) { - if (t.duration) { - endevents.forEach(function allEndevents(e) { - cutIfInInterval(t, e); - }); - } - }); - - // cut by overlaping events - tempbasalTreatments.forEach(function allTreatments(t) { - if (t.duration) { - tempbasalTreatments.forEach(function allEndevents(e) { - cutIfInInterval(t, e); - }); - } - }); - + // store prepared temp basal treatments - ddata.tempbasalTreatments = tempbasalTreatments.filter(function filterEnd(t) { - return t.duration; - }); + ddata.tempbasalTreatments = ddata.processTempBasals(tempbasalTreatments); }; return ddata; diff --git a/lib/report_plugins/daytoday.js b/lib/report_plugins/daytoday.js index ab03dd440a6..7b569706bdc 100644 --- a/lib/report_plugins/daytoday.js +++ b/lib/report_plugins/daytoday.js @@ -29,6 +29,7 @@ daytoday.html = function html(client) { + ''+translate('Raw')+'' + ''+translate('IOB')+'' + ''+translate('COB')+'' + + ''+translate('OpenAPS')+'' + ' '+translate('Size') + ' '); + forecastCheckbox.prop('checked', client.settings.showForecast.indexOf(info.type) > -1); + forecastOption.append(forecastLabel); + forecastLabel.append(forecastCheckbox); + forecastLabel.append('Show ' + info.label + ''); + forecastCheckbox.change(function onChange(event) { + var checkbox = $(event.target); + var type = checkbox.attr('data-forecast-type'); + var checked = checkbox.prop('checked'); + if (checked) { + client.settings.showForecast += ' ' + type; + } else { + client.settings.showForecast = _.chain(client.settings.showForecast.split(' ')) + .filter(function (forecast) { return forecast !== type; }) + .value() + .join(' '); + } + refreshChart(true); + }); + viewMenu.append(forecastOption); + }); + //send data to boluscalc too client.boluscalc.updateVisualisations(client.sbx); } @@ -655,7 +683,8 @@ client.init = function init(serverSettings, plugins) { e.stopPropagation(); }; - var silenceDropdown = new Dropdown('.dropdown-menu'); + var silenceDropdown = new Dropdown('#silenceBtn'); + var viewDropdown = new Dropdown('#viewMenu'); $('.bgButton').click(function (e) { if (alarmingNow()) { @@ -665,11 +694,15 @@ client.init = function init(serverSettings, plugins) { $('.focus-range li').click(function(e) { var li = $(e.target); - $('.focus-range li').removeClass('selected'); - li.addClass('selected'); - var hours = Number(li.data('hours')); - client.foucusRangeMS = times.hours(hours).msecs; - refreshChart(); + if (li.attr('data-hours')) { + $('.focus-range li').removeClass('selected'); + li.addClass('selected'); + var hours = Number(li.data('hours')); + client.foucusRangeMS = times.hours(hours).msecs; + refreshChart(); + } else { + viewDropdown.open(e); + } }); diff --git a/lib/client/renderer.js b/lib/client/renderer.js index 8de2ce5fdef..dc988a5564b 100644 --- a/lib/client/renderer.js +++ b/lib/client/renderer.js @@ -70,9 +70,12 @@ function init (client, d3) { var focusData = client.entries.slice(); if (client.sbx.pluginBase.forecastPoints) { - var maxForecastMills = _.max(_.map(client.sbx.pluginBase.forecastPoints, function (point) {return point.mills})); - client.forecastTime = maxForecastMills - client.now; - focusData = focusData.concat(client.sbx.pluginBase.forecastPoints); + var shownForecastPoints = _.filter(client.sbx.pluginBase.forecastPoints, function isShown(point) { + return client.settings.showForecast.indexOf(point.info.type) > -1; + }); + var maxForecastMills = _.max(_.map(shownForecastPoints, function (point) {return point.mills})); + client.forecastTime = maxForecastMills > 0 ? maxForecastMills - client.now : 0; + focusData = focusData.concat(shownForecastPoints); } // bind up the focus chart data to an array of circles diff --git a/lib/plugins/ar2.js b/lib/plugins/ar2.js index 4cdbb0d4810..bbe06883af6 100644 --- a/lib/plugins/ar2.js +++ b/lib/plugins/ar2.js @@ -127,7 +127,7 @@ function init() { }; ar2.updateVisualisation = function updateVisualisation(sbx) { - sbx.pluginBase.addForecastPoints(ar2.forecastCone(sbx)); + sbx.pluginBase.addForecastPoints(ar2.forecastCone(sbx), {type: 'ar2', label: 'AR2 Forecast'}); }; ar2.forecastCone = function forecastCone (sbx) { diff --git a/lib/plugins/openaps.js b/lib/plugins/openaps.js index 57b46da1065..1a359c5fc8c 100644 --- a/lib/plugins/openaps.js +++ b/lib/plugins/openaps.js @@ -405,8 +405,8 @@ function init() { }); var forecastPoints = getForecastPoints(); - if (forecastPoints) { - sbx.pluginBase.addForecastPoints(forecastPoints); + if (forecastPoints && forecastPoints.length > 0) { + sbx.pluginBase.addForecastPoints(forecastPoints, {type: 'openaps', label: 'OpenAPS Forecasts'}); } }; diff --git a/lib/plugins/pluginbase.js b/lib/plugins/pluginbase.js index 400a5a1fc6b..adb59a7644f 100644 --- a/lib/plugins/pluginbase.js +++ b/lib/plugins/pluginbase.js @@ -8,6 +8,7 @@ function init (majorPills, minorPills, statusPills, bgStatus, tooltip) { var pluginBase = { }; + pluginBase.forecastInfos = []; pluginBase.forecastPoints = []; function findOrCreatePill (plugin) { @@ -99,14 +100,16 @@ function init (majorPills, minorPills, statusPills, bgStatus, tooltip) { } }; - pluginBase.addForecastPoints = function addForecastPoints (points) { + pluginBase.addForecastPoints = function addForecastPoints (points, info) { _.each(points, function eachPoint (point) { point.type = 'forecast'; + point.info = info; if (point.mgdl < 13) { point.color = 'transparent'; } }); + pluginBase.forecastInfos.push(info); pluginBase.forecastPoints = pluginBase.forecastPoints.concat(points); }; diff --git a/lib/sandbox.js b/lib/sandbox.js index 933a0a789e1..ca529acd50c 100644 --- a/lib/sandbox.js +++ b/lib/sandbox.js @@ -86,6 +86,7 @@ function init ( ) { sbx.notifications = safeNotifications(ctx); if (sbx.pluginBase) { + sbx.pluginBase.forecastInfos = []; sbx.pluginBase.forecastPoints = []; } diff --git a/lib/settings.js b/lib/settings.js index 957365fb184..4a906bfac31 100644 --- a/lib/settings.js +++ b/lib/settings.js @@ -30,6 +30,7 @@ function init ( ) { , language: 'en' , scaleY: 'log' , showPlugins: '' + , showForecast: 'ar2' , heartbeat: 60 , baseURL: '' , thresholds: { diff --git a/static/css/dropdown.css b/static/css/dropdown.css index a2211b84983..49d5f82af6a 100644 --- a/static/css/dropdown.css +++ b/static/css/dropdown.css @@ -13,7 +13,7 @@ display: inline; } -.dropdown-menu li a { +.dropdown-menu li a, .dropdown-menu li label { display: block; text-decoration: none; white-space: nowrap; diff --git a/static/css/main.css b/static/css/main.css index b5423e7dd03..cf2349d61af 100644 --- a/static/css/main.css +++ b/static/css/main.css @@ -204,12 +204,23 @@ body { padding: 0; } -#silenceBtn { +#silenceBtn, #viewMenu { z-index: 99; border-radius: 5px; border: 2px solid #bdbdbd; } +#viewMenu { + left: 150px; + right: inherit; + font-size: 18px; +} + +#viewMenu li label input[type="checkbox"] { + height: 14px; + margin-right: 5px; +} + #silenceBtn a { font-size: 40px } @@ -481,6 +492,13 @@ body { font-size: 20px; } + #viewMenu { + left: inherit; + top: 170px; + right: 10px; + text-align: left; + } + .status { padding-top: 0; font-size: 20px; diff --git a/static/index.html b/static/index.html index bb04ddfebd7..1bc25e4da4f 100644 --- a/static/index.html +++ b/static/index.html @@ -49,7 +49,7 @@
-
+
--- @@ -71,7 +71,9 @@
  • 6HR
  • 12HR
  • 24HR
  • +
  • ...
  • +
    From e0410b678d69fa2fc1de733b8de28add06509400 Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Sat, 16 Apr 2016 17:04:09 +0200 Subject: [PATCH 075/158] proper detect profile switch on server side --- lib/data/dataloader.js | 11 +++++++++++ lib/websocket.js | 15 +++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/lib/data/dataloader.js b/lib/data/dataloader.js index ee455c24441..caced2bf5e5 100644 --- a/lib/data/dataloader.js +++ b/lib/data/dataloader.js @@ -149,6 +149,17 @@ function loadProfileSwitchTreatments (ddata, ctx, callback) { mergeToTreatments(ddata, results); } + // Store last profile switch + ddata.lastProfileFromSwitch = null; + var now = new Date().getTime(); + for (var p = 0; p < results.length; p++ ) { + var pdate = new Date(results[p].created_at).getTime(); + if (pdate < now) { + ddata.lastProfileFromSwitch = results[p].profile; + break; + } + } + callback(); }); } diff --git a/lib/websocket.js b/lib/websocket.js index 609af393971..a05b65b5564 100644 --- a/lib/websocket.js +++ b/lib/websocket.js @@ -22,6 +22,7 @@ function init (env, ctx, server) { var io; var watchers = 0; var lastData = {}; + var lastProfileSwitch = null; // TODO: this would be better to have somehow integrated/improved var supportedCollections = { @@ -46,10 +47,7 @@ function init (env, ctx, server) { } var apiEnabled = env.api_secret ? true : false; - profilefunctions.loadData(profile); - ctx.ddata.processTreatments(); - profilefunctions.updateTreatments(ctx.ddata.profileTreatments, ctx.ddata.tempbasalTreatments, ctx.ddata.combobolusTreatments); - var activeProfileTreatment = profilefunctions.activeProfileTreatmentToTime(new Date().getTime()); + var activeProfile = ctx.ddata.lastProfileFromSwitch; var info = { status: 'ok' @@ -65,8 +63,8 @@ function init (env, ctx, server) { , extendedSettings: ctx.plugins && ctx.plugins.extendedClientSettings ? ctx.plugins.extendedClientSettings(env.extendedSettings) : {} }; - if (activeProfileTreatment) { - info.activeProfile = activeProfileTreatment.profile; + if (activeProfile) { + info.activeProfile = activeProfile; } return info; } @@ -100,6 +98,11 @@ function init (env, ctx, server) { function emitData (delta) { if (lastData.cals) { console.log(LOG_WS + 'running websocket.emitData', ctx.ddata.lastUpdated); + if (lastProfileSwitch != ctx.ddata.lastProfileFromSwitch) { + console.log(LOG_WS + 'profile switch detected OLD: ' + lastProfileSwitch + ' NEW: ' + ctx.ddata.lastProfileFromSwitch); + delta.status = status(ctx.ddata.profiles); + lastProfileSwitch = ctx.ddata.lastProfileFromSwitch; + } io.to('DataReceivers').emit('dataUpdate', delta); } } From 5f5513a16273930c75eeefc1dc7273e6ff546703 Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Sat, 16 Apr 2016 17:20:19 +0200 Subject: [PATCH 076/158] show basal profile value when temp basal active --- lib/plugins/basalprofile.js | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/plugins/basalprofile.js b/lib/plugins/basalprofile.js index 1bc915d26c8..6d1af49465b 100644 --- a/lib/plugins/basalprofile.js +++ b/lib/plugins/basalprofile.js @@ -61,6 +61,7 @@ function init() { info.push({label: 'Active temp basal start', value: new Date(basalValue.treatment.mills).toLocaleString()}); info.push({label: 'Active temp basal duration', value: parseInt(basalValue.treatment.duration) + ' min'}); info.push({label: 'Active temp basal remaining', value: remaining + ' min'}); + info.push({label: 'Basal profile value', value: basalValue.basal.toFixed(3) + ' U'}); } if (basalValue.combobolustreatment) { From a8da4c28d01b8b6adb0b245cc89d24d6ae275c69 Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Sat, 16 Apr 2016 17:26:16 +0200 Subject: [PATCH 077/158] codacy --- lib/websocket.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/websocket.js b/lib/websocket.js index a05b65b5564..b9b47a7b6c5 100644 --- a/lib/websocket.js +++ b/lib/websocket.js @@ -98,7 +98,7 @@ function init (env, ctx, server) { function emitData (delta) { if (lastData.cals) { console.log(LOG_WS + 'running websocket.emitData', ctx.ddata.lastUpdated); - if (lastProfileSwitch != ctx.ddata.lastProfileFromSwitch) { + if (lastProfileSwitch !== ctx.ddata.lastProfileFromSwitch) { console.log(LOG_WS + 'profile switch detected OLD: ' + lastProfileSwitch + ' NEW: ' + ctx.ddata.lastProfileFromSwitch); delta.status = status(ctx.ddata.profiles); lastProfileSwitch = ctx.ddata.lastProfileFromSwitch; From 5377060664cb1b01e68b9e1af3feb8e4d73d19d6 Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Sat, 16 Apr 2016 17:29:37 +0200 Subject: [PATCH 078/158] test fix --- lib/data/dataloader.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/data/dataloader.js b/lib/data/dataloader.js index caced2bf5e5..013320d444d 100644 --- a/lib/data/dataloader.js +++ b/lib/data/dataloader.js @@ -150,13 +150,15 @@ function loadProfileSwitchTreatments (ddata, ctx, callback) { } // Store last profile switch - ddata.lastProfileFromSwitch = null; - var now = new Date().getTime(); - for (var p = 0; p < results.length; p++ ) { - var pdate = new Date(results[p].created_at).getTime(); - if (pdate < now) { - ddata.lastProfileFromSwitch = results[p].profile; - break; + if (results) { + ddata.lastProfileFromSwitch = null; + var now = new Date().getTime(); + for (var p = 0; p < results.length; p++ ) { + var pdate = new Date(results[p].created_at).getTime(); + if (pdate < now) { + ddata.lastProfileFromSwitch = results[p].profile; + break; + } } } From e25850664d0b3b943cf5ce4a25be88cbd2f359f5 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sat, 16 Apr 2016 20:56:21 -0400 Subject: [PATCH 079/158] add Temporary Targets and reasons with defaults to provide request/hints to OpenAPS --- lib/client/careportal.js | 51 ++++++++++++++++++++++++++++++++++++---- lib/plugins/openaps.js | 10 ++++++++ lib/treatments.js | 2 ++ static/css/drawer.css | 4 ++++ static/index.html | 16 +++++++++++++ 5 files changed, 79 insertions(+), 4 deletions(-) diff --git a/lib/client/careportal.js b/lib/client/careportal.js index 64a6c7fd742..35b4dc74fed 100644 --- a/lib/client/careportal.js +++ b/lib/client/careportal.js @@ -44,7 +44,7 @@ function init (client, plugins, $) { var inputMatrix = {}; _.forEach(careportal.allEventTypes, function each (event) { - inputMatrix[event.val] = _.pick(event, ['bg', 'insulin', 'carbs', 'prebolus', 'duration', 'percent', 'absolute', 'profile', 'split']); + inputMatrix[event.val] = _.pick(event, ['bg', 'insulin', 'carbs', 'prebolus', 'duration', 'percent', 'absolute', 'profile', 'split', 'reasons', 'targets']); }); careportal.filterInputs = function filterInputs ( event ) { @@ -63,7 +63,11 @@ function init (client, plugins, $) { $(id).val(''); } } - + + var reasons = inputMatrix[eventType]['reasons']; + $('#reasonLabel').css('display',displayType(reasons && reasons.length > 0)); + $('#targets').css('display',displayType(inputMatrix[eventType]['targets'])); + $('#bg').css('display',displayType(inputMatrix[eventType]['bg'])); $('#insulinGivenLabel').css('display',displayType(inputMatrix[eventType]['insulin'])); $('#carbsGivenLabel').css('display',displayType(inputMatrix[eventType]['carbs'])); @@ -73,7 +77,14 @@ function init (client, plugins, $) { $('#profileLabel').css('display',displayType(inputMatrix[eventType]['profile'])); $('#preBolusLabel').css('display',displayType(inputMatrix[eventType]['prebolus'])); $('#insulinSplitLabel').css('display',displayType(inputMatrix[eventType]['split'])); - + + $('#reason').empty(); + _.each(reasons, function eachReason(reason) { + $('#reason').append(''); + }); + + careportal.reasonable(); + resetIfHidden(inputMatrix[eventType]['insulin'], '#insulinGiven'); resetIfHidden(inputMatrix[eventType]['carbs'], '#carbsGiven'); resetIfHidden(inputMatrix[eventType]['duration'], '#duration'); @@ -82,16 +93,45 @@ function init (client, plugins, $) { resetIfHidden(inputMatrix[eventType]['prebolus'], '#preBolus'); resetIfHidden(inputMatrix[eventType]['split'], '#insulinSplitNow'); resetIfHidden(inputMatrix[eventType]['split'], '#insulinSplitExt'); - + maybePrevent(event); }; + careportal.reasonable = function reasonable ( ) { + var eventType = $('#eventType').val(); + var reasons = inputMatrix[eventType]['reasons']; + var selected = $('#reason').val(); + + var reason = _.find(reasons, function matches(r) { + return r.name === selected; + }); + + if (reason && reason.targetTop) { + $('#targetTop').val(reason.targetTop); + } else { + $('#targetTop').val(''); + } + + if (reason && reason.targetBottom) { + $('#targetBottom').val(reason.targetBottom); + } else { + $('#targetBottom').val(''); + } + + if (reason && reason.duration) { + $('#duration').val(reason.duration); + } else { + $('#duration').val(''); + } + }; + careportal.prepareEvents = function prepareEvents ( ) { $('#eventType').empty(); _.each(careportal.events, function eachEvent(event) { $('#eventType').append(''); }); $('#eventType').change(careportal.filterInputs); + $('#reason').change(careportal.reasonable); $('#percent').on('input', careportal.filterInputs); $('#absolute').on('input', careportal.filterInputs); $('#insulinSplitNow').on('input', careportal.adjustSplit); @@ -150,6 +190,9 @@ function init (client, plugins, $) { enteredBy: $('#enteredBy').val() , eventType: $('#eventType').val() , glucose: $('#glucoseValue').val().replace(',','.') + , reason: $('#reason').val() + , targetTop: $('#targetTop').val().replace(',','.') + , targetBottom: $('#targetBottom').val().replace(',','.') , glucoseType: $('#treatment-form').find('input[name=glucoseType]:checked').val() , carbs: $('#carbsGiven').val() , insulin: $('#insulinGiven').val() diff --git a/lib/plugins/openaps.js b/lib/plugins/openaps.js index 1a359c5fc8c..34cc1e85ac7 100644 --- a/lib/plugins/openaps.js +++ b/lib/plugins/openaps.js @@ -207,6 +207,16 @@ function init() { openaps.getEventTypes = function getEventTypes ( ) { return [ { + val: 'Temporary Target' + , name: 'Temporary Target' + , bg: false, insulin: false, carbs: false, prebolus: false, duration: true, percent: false, absolute: false, profile: false, split: false + , targets: true, reasons: [ + { name: 'Eating Soon', targetTop: 80, targetBottom: 80, duration: 60 } + , { name: 'Activity', targetTop: 120, targetBottom: 140, duration: 120 } + , { name: 'Manual' } + ] + } + , { val: 'OpenAPS Offline' , name: 'OpenAPS Offline' , bg: false, insulin: false, carbs: false, prebolus: false, duration: true, percent: false, absolute: false, profile: false, split: false diff --git a/lib/treatments.js b/lib/treatments.js index ecbf93f278d..64a82ca8fe5 100644 --- a/lib/treatments.js +++ b/lib/treatments.js @@ -130,6 +130,8 @@ function prepareData(obj) { }; obj.glucose = Number(obj.glucose); + obj.targetTop = Number(obj.targetTop); + obj.targetBottom = Number(obj.targetBottom); obj.carbs = Number(obj.carbs); obj.insulin = Number(obj.insulin); obj.duration = Number(obj.duration); diff --git a/static/css/drawer.css b/static/css/drawer.css index 3d9477eb316..96499e995ba 100644 --- a/static/css/drawer.css +++ b/static/css/drawer.css @@ -84,6 +84,10 @@ input[type=number]:invalid { vertical-align: middle; } +#treatmentDrawer fieldset fieldset .left-column span { + width: 96px; +} + #treatmentDrawer .left-column input, #treatmentDrawer .left-column select { width: 140px; } diff --git a/static/index.html b/static/index.html index 1bc25e4da4f..7355d530043 100644 --- a/static/index.html +++ b/static/index.html @@ -205,6 +205,22 @@ Event Type + + +
    + Targets + + +
    Glucose Reading From 2b41fe2b7bfab27a1a93300c4bc6b5abfa100f5c Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sat, 16 Apr 2016 21:30:53 -0400 Subject: [PATCH 080/158] add reason and target top/bottom to tooltip --- lib/client/renderer.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/client/renderer.js b/lib/client/renderer.js index dc988a5564b..63876081eb6 100644 --- a/lib/client/renderer.js +++ b/lib/client/renderer.js @@ -173,8 +173,11 @@ function init (client, d3) { function treatmentTooltip (d) { return ''+translate('Time')+': ' + client.formatTime(new Date(d.mills)) + '
    ' + (d.eventType ? ''+translate('Treatment type')+': ' + translate(client.careportal.resolveEventName(d.eventType)) + '
    ' : '') + + (d.reason ? ''+translate('Reason')+': ' + translate(d.reason) + '
    ' : '') + (d.glucose ? ''+translate('BG')+': ' + d.glucose + (d.glucoseType ? ' (' + translate(d.glucoseType) + ')': '') + '
    ' : '') + (d.enteredBy ? ''+translate('Entered By')+': ' + d.enteredBy + '
    ' : '') + + (d.targetTop ? ''+translate('Target Top')+': ' + d.targetTop + '
    ' : '') + + (d.targetBottom ? ''+translate('Target Bottom')+': ' + d.targetBottom + '
    ' : '') + (d.duration ? ''+translate('Duration')+': ' + d.duration + ' min
    ' : '') + (d.notes ? ''+translate('Notes')+': ' + d.notes : ''); } From f76882a9cf98ea1b8d6d0a37b8d2ffed0c380f50 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sat, 16 Apr 2016 19:19:02 -0700 Subject: [PATCH 081/158] fix some codacy issues --- lib/client/careportal.js | 4 ++-- tests/openaps.test.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/client/careportal.js b/lib/client/careportal.js index 35b4dc74fed..e9797ef047f 100644 --- a/lib/client/careportal.js +++ b/lib/client/careportal.js @@ -79,7 +79,7 @@ function init (client, plugins, $) { $('#insulinSplitLabel').css('display',displayType(inputMatrix[eventType]['split'])); $('#reason').empty(); - _.each(reasons, function eachReason(reason) { + _.each(reasons, function eachReason (reason) { $('#reason').append(''); }); @@ -102,7 +102,7 @@ function init (client, plugins, $) { var reasons = inputMatrix[eventType]['reasons']; var selected = $('#reason').val(); - var reason = _.find(reasons, function matches(r) { + var reason = _.find(reasons, function matches (r) { return r.name === selected; }); diff --git a/tests/openaps.test.js b/tests/openaps.test.js index 4d403e9b8b6..0173002e94b 100644 --- a/tests/openaps.test.js +++ b/tests/openaps.test.js @@ -137,7 +137,7 @@ describe('openaps', function ( ) { units: 'mg/dl' } , pluginBase: { - updatePillText: function mockedUpdatePillText(plugin, options) { + updatePillText: function mockedUpdatePillText (plugin, options) { options.label.should.equal('OpenAPS ⌁'); options.value.should.equal('2m ago'); var first = _.first(options.info); @@ -147,7 +147,7 @@ describe('openaps', function ( ) { last.label.should.equal('1h ago'); last.value.should.equal('awaitingpi ◉ Waiting'); } - , addForecastPoints: function mockAddForecastPoints(points) { + , addForecastPoints: function mockAddForecastPoints (points) { points.length.should.equal(12); done(); } From 3cd353456b78d6af1e058a38b105e6b5ecdd29c0 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sun, 17 Apr 2016 14:48:58 -0700 Subject: [PATCH 082/158] fix backwards targets --- lib/plugins/openaps.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/openaps.js b/lib/plugins/openaps.js index 34cc1e85ac7..b14be428d0d 100644 --- a/lib/plugins/openaps.js +++ b/lib/plugins/openaps.js @@ -212,7 +212,7 @@ function init() { , bg: false, insulin: false, carbs: false, prebolus: false, duration: true, percent: false, absolute: false, profile: false, split: false , targets: true, reasons: [ { name: 'Eating Soon', targetTop: 80, targetBottom: 80, duration: 60 } - , { name: 'Activity', targetTop: 120, targetBottom: 140, duration: 120 } + , { name: 'Activity', targetTop: 140, targetBottom: 120, duration: 120 } , { name: 'Manual' } ] } From 4581de2d7c069ef13115d37f10ef0e36bd6e32bf Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sun, 17 Apr 2016 16:00:41 -0700 Subject: [PATCH 083/158] try making node 4 and 5 builds optional for now --- .travis.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index ca6716af5f2..f87fa0d45dd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,14 @@ language: node_js sudo: false node_js: - - "0.10" - - "0.12" - - "4" - - "5" + - 0.10 + - 0.12 + - 4 + - 5 +matrix: + allow_failures: + - node_js: 4 + - node_js: 5 services: mongodb script: make travis after_script: make report From c33e4da417e093844fa40244f373f39b45a28e4f Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sun, 17 Apr 2016 16:03:32 -0700 Subject: [PATCH 084/158] enable travis fast_finish --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index f87fa0d45dd..c7b9ed5a57e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,7 @@ node_js: - 4 - 5 matrix: + fast_finish: true allow_failures: - node_js: 4 - node_js: 5 From 6d6b2ec1f60f6494dc5c980e1a2d4fbb02637bc8 Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Mon, 18 Apr 2016 12:54:43 +0200 Subject: [PATCH 085/158] Warn before overwrite old profile --- lib/client/renderer.js | 2 +- lib/language.js | 6 ++++++ lib/profilefunctions.js | 2 ++ static/profile/js/profileeditor.js | 14 ++++++++++++-- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/lib/client/renderer.js b/lib/client/renderer.js index 34a208ca992..9a3a501f706 100644 --- a/lib/client/renderer.js +++ b/lib/client/renderer.js @@ -873,7 +873,7 @@ function init (client, d3) { var lastbasal = 0; if (!profile.activeProfileToTime(from)) { - window.alert('Wrong profile setting.\nNo profile defined to displayed time.\nRedirecting to profile editor to create new profile.'); + window.alert(translate('Wrong profile setting.\nNo profile defined to displayed time.\nRedirecting to profile editor to create new profile.')); window.location.href = '/profile'; return; } diff --git a/lib/language.js b/lib/language.js index 0a71630b09c..8764f14f586 100644 --- a/lib/language.js +++ b/lib/language.js @@ -5605,6 +5605,12 @@ function init() { ,'Loading profile switch data' : { cs: 'Nahrávám data přepnutí profilu' } + ,'Profile is going to be saved in newer format used in Nightscout 0.9.0 and above and will not be usable in older versions anymore.\nAre you sure?' : { + cs: 'Profil bude uložen v novějším formátu používaném v Nightscoutu 0.9.0 a novějších. Již nebude použitelný se starší verzí.\nJste si jistý?' + } + ,'Wrong profile setting.\nNo profile defined to displayed time.\nRedirecting to profile editor to create new profile.' : { + cs: 'Chybě nastavený profil.\nNení definovaný žádný platný profil k času zobrazení.\nProvádím přesměrování na editor profilu.' + } }; diff --git a/lib/profilefunctions.js b/lib/profilefunctions.js index 1a7fb2c390a..fa8348f6735 100644 --- a/lib/profilefunctions.js +++ b/lib/profilefunctions.js @@ -31,6 +31,7 @@ function init(profileData) { newObject.store = {}; newObject.startDate = profile.startDate; newObject._id = profile._id; + newObject.convertedOnTheFly = true; delete profile.startDate; delete profile._id; delete profile.created_at; @@ -38,6 +39,7 @@ function init(profileData) { convertedProfiles.push(newObject); console.log('Profile not updated yet. Converted profile:', newObject); } else { + delete profile.convertedOnTheFly; convertedProfiles.push(profile); } }); diff --git a/static/profile/js/profileeditor.js b/static/profile/js/profileeditor.js index 058a0d30ba5..49cb48155bf 100644 --- a/static/profile/js/profileeditor.js +++ b/static/profile/js/profileeditor.js @@ -143,7 +143,7 @@ if (typeof profile.target_high !== 'object') { profile.target_high = [{ 'time': '00:00', 'value': profile.target_high }]; } if (typeof profile.basal !== 'object') { profile.basal = [{ 'time': '00:00', 'value': profile.basal }]; } if (profile.target_high.length !== profile.target_low.length) { - alert(translate('Time ranges of target_low and target_high don\'t match. Values are restored to defaults.')); + window.alert(translate('Time ranges of target_low and target_high don\'t match. Values are restored to defaults.')); profile.target_low = _.cloneDeep(defaultprofile.target_low); profile.target_high = _.cloneDeep(defaultprofile.target_high); } @@ -615,7 +615,7 @@ function profileSubmit(event) { if (!client.hashauth.isAuthenticated()) { - alert(translate('Your device is not authenticated yet')); + window.alert(translate('Your device is not authenticated yet')); return false; } @@ -640,6 +640,16 @@ } } adjustedRecord.defaultProfile = currentprofile; + + if (record.convertedOnTheFly) { + var result = window.confirm(translate('Profile is going to be saved in newer format used in Nightscout 0.9.0 and above and will not be usable in older versions anymore.\nAre you sure?')); + if (!result) { + return; + } + } + + delete record.convertedOnTheFly; + delete adjustedRecord.convertedOnTheFly; console.info('saving profile'); From 58648008ae2c7cf4276d4585570b946c5b14c788 Mon Sep 17 00:00:00 2001 From: ruud de rooij Date: Mon, 18 Apr 2016 22:25:31 +0000 Subject: [PATCH 086/158] Use 24-hour time format for minute marks in chart --- lib/client/chart.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/client/chart.js b/lib/client/chart.js index 14ddad1d7ba..e25c28b8f92 100644 --- a/lib/client/chart.js +++ b/lib/client/chart.js @@ -110,7 +110,7 @@ function init (client, d3, $) { var tickFormat = localeFormatter.timeFormat.multi( [ ['.%L', function(d) { return d.getMilliseconds(); }], [':%S', function(d) { return d.getSeconds(); }], - ['%I:%M', function(d) { return d.getMinutes(); }], + [client.settings.timeFormat === 24 ? '%H:%M' : '%I:%M', function(d) { return d.getMinutes(); }], [client.settings.timeFormat === 24 ? '%H:%M' : '%-I %p', function(d) { return d.getHours(); }], ['%a %d', function(d) { return d.getDay() && d.getDate() !== 1; }], ['%b %d', function(d) { return d.getDate() !== 1; }], @@ -586,4 +586,4 @@ function init (client, d3, $) { return chart; } -module.exports = init; \ No newline at end of file +module.exports = init; From f9582593300604e4e536acab8eea67e9c2344de0 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Wed, 20 Apr 2016 16:37:26 +0300 Subject: [PATCH 087/158] Significantly optimized temp basal event loading from profile --- lib/data/ddata.js | 6 +++++ lib/profilefunctions.js | 58 ++++++++++++++++++++++++++++++++++++++--- package.json | 2 +- 3 files changed, 61 insertions(+), 5 deletions(-) diff --git a/lib/data/ddata.js b/lib/data/ddata.js index 860e7324f75..1165b765b40 100644 --- a/lib/data/ddata.js +++ b/lib/data/ddata.js @@ -145,6 +145,12 @@ function init( ) { return t.eventType && t.eventType.indexOf('Temp Basal') > -1; }); + console.log("dedupe before " + tempbasalTreatments.length); + + tempbasalTreatments = _.uniqBy(tempbasalTreatments, 'mills'); + + console.log("dedupe after " + tempbasalTreatments.length); + // store prepared temp basal treatments ddata.tempbasalTreatments = ddata.processTempBasals(tempbasalTreatments); }; diff --git a/lib/profilefunctions.js b/lib/profilefunctions.js index fa8348f6735..00111d8b31f 100644 --- a/lib/profilefunctions.js +++ b/lib/profilefunctions.js @@ -6,6 +6,8 @@ var NodeCache = require('node-cache'); var times = require('./times'); var crypto = require('crypto'); +var prevBasalTreatment = null; + function init(profileData) { var profile = { }; @@ -158,8 +160,25 @@ function init(profileData) { }; profile.updateTreatments = function updateTreatments (profiletreatments, tempbasaltreatments, combobolustreatments) { + + console.log("Loading temp events", this); + if (profile.profiletreatments) { console.log("size before: " + profile.profiletreatments.length + " size after " + tempbasaltreatments.length); } + else { console.log("No previous data");} + + profile.profiletreatments = profiletreatments || []; profile.tempbasaltreatments = tempbasaltreatments || []; + + profile.tempbasaltreatments = _.uniqBy(profile.tempbasaltreatments, 'mills'); + + _.each(profile.tempbasaltreatments, function addDuration(t) { + t.endmills = t.mills + times.mins(t.duration || 0).msecs; + }); + + profile.tempbasaltreatments.sort(function (a, b) { + return a.mills - b.mills; + }); + profile.combobolustreatments = combobolustreatments || []; profile.profiletreatments_hash = crypto.createHash('sha1').update(JSON.stringify(profile.profiletreatments)).digest('hex'); profile.tempbasaltreatments_hash = crypto.createHash('sha1').update(JSON.stringify(profile.tempbasaltreatments)).digest('hex'); @@ -202,14 +221,45 @@ function init(profileData) { }; profile.tempBasalTreatment = function tempBasalTreatment(time) { + + // console.log("Searching treatment at " + time); + + if (prevBasalTreatment && time >= prevBasalTreatment.mills && time <= prevBasalTreatment.endmills) { + return prevBasalTreatment; + } + + // Binary search for events for O(log n) performance + var first = 0, last = profile.tempbasaltreatments.length - 1; + + while (first <= last) { + var i = first + Math.floor((last - first) / 2); + var t = profile.tempbasaltreatments[i]; + // console.log(first + " " + last + " pos" + i + " mills" + t.mills); + if (time >= t.mills && time <= t.endmills) { + // console.log("mills found " + t.mills + " to " + t.endmills); + prevBasalTreatment = t; + return t; + } + if (time < t.mills) { + last = i - 1; + } else { // time > t.endmills + first = i + 1; + } + } + + return null; + /* + // returns undefined + + var treatment = null; profile.tempbasaltreatments.forEach( function eachTreatment (t) { - var duration = times.mins(t.duration || 0).msecs; - if (time < t.mills + duration && time > t.mills) { - treatment = t; + //var duration = times.mins(t.duration || 0).msecs; + if (time <= t.endmills && time >= t.mills) { + return t; //treatment = t; } }); - return treatment; + return treatment;*/ }; profile.comboBolusTreatment = function comboBolusTreatment(time) { diff --git a/package.json b/package.json index 2ed205e49a9..0caf33fd551 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "forever": "~0.13.0", "git-rev": "git://github.com/bewest/git-rev.git", "jquery": "^2.1.4", - "lodash": "^3.9.1", + "lodash": "^4.0.0", "long": "~2.2.3", "minimed-connect-to-nightscout": "git://github.com/mddub/minimed-connect-to-nightscout#v1.0.0", "moment": "2.10.6", From bedd47dd352edbcbcf5ab3f5c65a9efc0e27f360 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Wed, 20 Apr 2016 18:28:57 +0300 Subject: [PATCH 088/158] Oops, we were loading 32 days of extra temp basal data --- static/report/js/report.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/report/js/report.js b/static/report/js/report.js index c12613b5cb7..143cf2cf952 100644 --- a/static/report/js/report.js +++ b/static/report/js/report.js @@ -618,7 +618,7 @@ function loadTempBasals(from, callback) { $('#info > b').html(''+translate('Loading temp basal data') + ' ...'); - var tquery = '?find[created_at][$gte]='+moment(from).subtract(32, 'days').toISOString()+'&find[eventType][$eq]=Temp Basal'; + var tquery = '?find[created_at][$gte]='+moment(from).subtract(1, 'days').toISOString()+'&find[eventType][$eq]=Temp Basal'; $.ajax('/api/v1/treatments.json'+tquery, { success: function (xhr) { var treatmentData = xhr.map(function (treatment) { From 6a8debdee2f3105016a199a1a33328013da93b25 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Wed, 20 Apr 2016 18:35:15 +0300 Subject: [PATCH 089/158] Clean out console logging messages --- lib/data/ddata.js | 5 +---- lib/profilefunctions.js | 27 ++++----------------------- 2 files changed, 5 insertions(+), 27 deletions(-) diff --git a/lib/data/ddata.js b/lib/data/ddata.js index 1165b765b40..27d16eaa2ee 100644 --- a/lib/data/ddata.js +++ b/lib/data/ddata.js @@ -145,12 +145,9 @@ function init( ) { return t.eventType && t.eventType.indexOf('Temp Basal') > -1; }); - console.log("dedupe before " + tempbasalTreatments.length); - + // dedupe the data tempbasalTreatments = _.uniqBy(tempbasalTreatments, 'mills'); - console.log("dedupe after " + tempbasalTreatments.length); - // store prepared temp basal treatments ddata.tempbasalTreatments = ddata.processTempBasals(tempbasalTreatments); }; diff --git a/lib/profilefunctions.js b/lib/profilefunctions.js index 00111d8b31f..e4a1b98cfec 100644 --- a/lib/profilefunctions.js +++ b/lib/profilefunctions.js @@ -161,14 +161,10 @@ function init(profileData) { profile.updateTreatments = function updateTreatments (profiletreatments, tempbasaltreatments, combobolustreatments) { - console.log("Loading temp events", this); - if (profile.profiletreatments) { console.log("size before: " + profile.profiletreatments.length + " size after " + tempbasaltreatments.length); } - else { console.log("No previous data");} - - profile.profiletreatments = profiletreatments || []; profile.tempbasaltreatments = tempbasaltreatments || []; - + + // dedupe temp basal events profile.tempbasaltreatments = _.uniqBy(profile.tempbasaltreatments, 'mills'); _.each(profile.tempbasaltreatments, function addDuration(t) { @@ -222,8 +218,7 @@ function init(profileData) { profile.tempBasalTreatment = function tempBasalTreatment(time) { - // console.log("Searching treatment at " + time); - + // Most queries for the data in reporting will match the latest found value, caching that hugely improves performance if (prevBasalTreatment && time >= prevBasalTreatment.mills && time <= prevBasalTreatment.endmills) { return prevBasalTreatment; } @@ -234,32 +229,18 @@ function init(profileData) { while (first <= last) { var i = first + Math.floor((last - first) / 2); var t = profile.tempbasaltreatments[i]; - // console.log(first + " " + last + " pos" + i + " mills" + t.mills); if (time >= t.mills && time <= t.endmills) { - // console.log("mills found " + t.mills + " to " + t.endmills); prevBasalTreatment = t; return t; } if (time < t.mills) { last = i - 1; - } else { // time > t.endmills + } else { first = i + 1; } } return null; - /* - // returns undefined - - - var treatment = null; - profile.tempbasaltreatments.forEach( function eachTreatment (t) { - //var duration = times.mins(t.duration || 0).msecs; - if (time <= t.endmills && time >= t.mills) { - return t; //treatment = t; - } - }); - return treatment;*/ }; profile.comboBolusTreatment = function comboBolusTreatment(time) { From be44c363d884c9f1c0fa72b380f92e855652fea6 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Wed, 20 Apr 2016 18:58:15 +0300 Subject: [PATCH 090/158] Making Codacy happier and our code more stylish :) --- lib/profilefunctions.js | 42 ++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/lib/profilefunctions.js b/lib/profilefunctions.js index e4a1b98cfec..8dc3fc32912 100644 --- a/lib/profilefunctions.js +++ b/lib/profilefunctions.js @@ -8,13 +8,13 @@ var crypto = require('crypto'); var prevBasalTreatment = null; -function init(profileData) { +function init (profileData) { var profile = { }; profile.timeValueCache = new NodeCache({ stdTTL: 600, checkperiod: 600 }); - profile.loadData = function loadData(profileData) { + profile.loadData = function loadData (profileData) { if (profileData && profileData.length) { profile.data = profile.convertToProfileStore(profileData); _.each(profile.data, function eachProfileRecord (record) { @@ -48,13 +48,13 @@ function init(profileData) { return convertedProfiles; }; - profile.timeStringToSeconds = function timeStringToSeconds(time) { + profile.timeStringToSeconds = function timeStringToSeconds (time) { var split = time.split(':'); return parseInt(split[0])*3600 + parseInt(split[1])*60; }; // preprocess the timestamps to seconds for a couple orders of magnitude faster operation - profile.preprocessProfileOnLoad = function preprocessProfileOnLoad(container) { + profile.preprocessProfileOnLoad = function preprocessProfileOnLoad (container) { _.each(container, function eachValue (value) { if( Object.prototype.toString.call(value) === '[object Array]' ) { profile.preprocessProfileOnLoad(value); @@ -112,50 +112,50 @@ function init(profileData) { return returnValue; }; - profile.getCurrentProfile = function getCurrentProfile(time, spec_profile) { + profile.getCurrentProfile = function getCurrentProfile (time, spec_profile) { time = time || new Date().getTime(); var data = profile.hasData() ? profile.data[0] : null; var timeprofile = spec_profile || profile.activeProfileToTime(time); return data && data.store[timeprofile] ? data.store[timeprofile] : {}; }; - profile.getUnits = function getUnits(spec_profile) { + profile.getUnits = function getUnits (spec_profile) { return profile.getCurrentProfile(null, spec_profile)['units']; }; - profile.getTimezone = function getTimezone(spec_profile) { + profile.getTimezone = function getTimezone (spec_profile) { return profile.getCurrentProfile(null, spec_profile)['timezone']; }; - profile.hasData = function hasData() { + profile.hasData = function hasData () { return profile.data ? true : false; }; - profile.getDIA = function getDIA(time, spec_profile) { + profile.getDIA = function getDIA (time, spec_profile) { return profile.getValueByTime(time, 'dia', spec_profile); }; - profile.getSensitivity = function getSensitivity(time, spec_profile) { + profile.getSensitivity = function getSensitivity (time, spec_profile) { return profile.getValueByTime(time, 'sens', spec_profile); }; - profile.getCarbRatio = function getCarbRatio(time, spec_profile) { + profile.getCarbRatio = function getCarbRatio (time, spec_profile) { return profile.getValueByTime(time, 'carbratio', spec_profile); }; - profile.getCarbAbsorptionRate = function getCarbAbsorptionRate(time, spec_profile) { + profile.getCarbAbsorptionRate = function getCarbAbsorptionRate (time, spec_profile) { return profile.getValueByTime(time, 'carbs_hr', spec_profile); }; - profile.getLowBGTarget = function getLowBGTarget(time, spec_profile) { + profile.getLowBGTarget = function getLowBGTarget (time, spec_profile) { return profile.getValueByTime(time, 'target_low', spec_profile); }; - profile.getHighBGTarget = function getHighBGTarget(time, spec_profile) { + profile.getHighBGTarget = function getHighBGTarget (time, spec_profile) { return profile.getValueByTime(time, 'target_high', spec_profile); }; - profile.getBasal = function getBasal(time, spec_profile) { + profile.getBasal = function getBasal (time, spec_profile) { return profile.getValueByTime(time, 'basal', spec_profile); }; @@ -167,11 +167,11 @@ function init(profileData) { // dedupe temp basal events profile.tempbasaltreatments = _.uniqBy(profile.tempbasaltreatments, 'mills'); - _.each(profile.tempbasaltreatments, function addDuration(t) { + _.each(profile.tempbasaltreatments, function addDuration (t) { t.endmills = t.mills + times.mins(t.duration || 0).msecs; }); - profile.tempbasaltreatments.sort(function (a, b) { + profile.tempbasaltreatments.sort (function compareTreatmentMills (a, b) { return a.mills - b.mills; }); @@ -194,7 +194,7 @@ function init(profileData) { return null; }; - profile.activeProfileTreatmentToTime = function activeProfileTreatmentToTime(time) { + profile.activeProfileTreatmentToTime = function activeProfileTreatmentToTime (time) { var cacheKey = 'profile' + time + profile.profiletreatments_hash; var returnValue = profile.timeValueCache[cacheKey]; @@ -216,7 +216,7 @@ function init(profileData) { return returnValue; }; - profile.tempBasalTreatment = function tempBasalTreatment(time) { + profile.tempBasalTreatment = function tempBasalTreatment (time) { // Most queries for the data in reporting will match the latest found value, caching that hugely improves performance if (prevBasalTreatment && time >= prevBasalTreatment.mills && time <= prevBasalTreatment.endmills) { @@ -243,7 +243,7 @@ function init(profileData) { return null; }; - profile.comboBolusTreatment = function comboBolusTreatment(time) { + profile.comboBolusTreatment = function comboBolusTreatment (time) { var treatment = null; profile.combobolustreatments.forEach( function eachTreatment (t) { var duration = times.mins(t.duration || 0).msecs; @@ -254,7 +254,7 @@ function init(profileData) { return treatment; }; - profile.getTempBasal = function getTempBasal(time, spec_profile) { + profile.getTempBasal = function getTempBasal (time, spec_profile) { var cacheKey = 'basal' + time + profile.tempbasaltreatments_hash + profile.combobolustreatments_hash + profile.profiletreatments_hash + spec_profile; var returnValue = profile.timeValueCache[cacheKey]; From 1ca6bb49d1dd2d4b90fcc435c8f2373273a9f425 Mon Sep 17 00:00:00 2001 From: ruud de rooij Date: Fri, 22 Apr 2016 03:58:39 +0000 Subject: [PATCH 091/158] Add colorblind-friendly color theme The color theme uses light green and yellow which to some colorblind people may be too close to distinguish easily. This adds a "colorblind-friendly colors" theme which uses light blue instead of light green for the "in-range" color. --- app.json | 2 +- azuredeploy.json | 3 ++- lib/client/browser-settings.js | 4 +++- lib/client/index.js | 8 ++++---- lib/language.js | 2 ++ static/css/main.css | 4 ++++ static/index.html | 1 + swagger.yaml | 2 +- 8 files changed, 18 insertions(+), 8 deletions(-) diff --git a/app.json b/app.json index c5a6417eed5..63a5aa37c1c 100644 --- a/app.json +++ b/app.json @@ -73,7 +73,7 @@ "required": false }, "THEME": { - "description": "Possible values default or colors", + "description": "Possible values default, colors or colorblindfriendly", "value": "", "required": false }, diff --git a/azuredeploy.json b/azuredeploy.json index 6f1470bc5ec..105d9d5d3b0 100644 --- a/azuredeploy.json +++ b/azuredeploy.json @@ -65,7 +65,8 @@ "type": "string", "allowedValues": [ "default", - "colors" + "colors", + "colorblindfriendly" ], "defaultValue": "colors", }, diff --git a/lib/client/browser-settings.js b/lib/client/browser-settings.js index 67e66f3f587..79b4b6aefd3 100644 --- a/lib/client/browser-settings.js +++ b/lib/client/browser-settings.js @@ -49,6 +49,8 @@ function init (client, plugins, serverSettings, $) { if (settings.theme === 'colors') { $('#theme-colors-browser').prop('checked', true); + } else if (settings.theme === 'colorblindfriendly') { + $('#theme-colorblindfriendly-browser').prop('checked', true); } else { $('#theme-default-browser').prop('checked', true); } @@ -203,4 +205,4 @@ function init (client, plugins, serverSettings, $) { } -module.exports = init; \ No newline at end of file +module.exports = init; diff --git a/lib/client/index.js b/lib/client/index.js index 7c70833c440..e065e1446c5 100644 --- a/lib/client/index.js +++ b/lib/client/index.js @@ -387,13 +387,13 @@ client.init = function init(serverSettings, plugins) { function sgvToColor(sgv) { var color = 'grey'; - if (client.settings.theme === 'colors') { + if (client.settings.theme === 'colors' || client.settings.theme === 'colorblindfriendly') { if (sgv > client.settings.thresholds.bgHigh) { color = 'red'; } else if (sgv > client.settings.thresholds.bgTargetTop) { color = 'yellow'; } else if (sgv >= client.settings.thresholds.bgTargetBottom && sgv <= client.settings.thresholds.bgTargetTop) { - color = '#4cff00'; + color = client.settings.theme === 'colorblindfriendly' ? 'deepskyblue' : '#4cff00'; } else if (sgv < client.settings.thresholds.bgLow) { color = 'red'; } else if (sgv < client.settings.thresholds.bgTargetBottom) { @@ -407,13 +407,13 @@ client.init = function init(serverSettings, plugins) { function sgvToColoredRange(sgv) { var range = ''; - if (client.settings.theme === 'colors') { + if (client.settings.theme === 'colors' || client.settings.theme === 'colorblindfriendly') { if (sgv > client.settings.thresholds.bgHigh) { range = 'urgent'; } else if (sgv > client.settings.thresholds.bgTargetTop) { range = 'warning'; } else if (sgv >= client.settings.thresholds.bgTargetBottom && sgv <= client.settings.thresholds.bgTargetTop) { - range = 'inrange'; + range = client.settings.theme === 'colorblindfriendly' ? 'inrange-colorblindfriendly' : 'inrange'; } else if (sgv < client.settings.thresholds.bgLow) { range = 'urgent'; } else if (sgv < client.settings.thresholds.bgTargetBottom) { diff --git a/lib/language.js b/lib/language.js index 8764f14f586..77fe3df69ca 100644 --- a/lib/language.js +++ b/lib/language.js @@ -4263,6 +4263,8 @@ function init() { ,nb: 'Farger' ,pl: 'Kolorowy' } + ,'Colorblind-friendly colors' : { + } ,'Reset, and use defaults' : { cs: 'Vymaž a nastav výchozí hodnoty' ,de: 'Zurücksetzen und Voreinstellungen verwenden' diff --git a/static/css/main.css b/static/css/main.css index b5423e7dd03..e05ea0e5a85 100644 --- a/static/css/main.css +++ b/static/css/main.css @@ -60,6 +60,10 @@ body { color: #4cff00; } +.inrange-colorblindfriendly .bgButton { + color: deepskyblue; +} + .bgStatus .currentBG { font-size: 120px; line-height: 100px; diff --git a/static/index.html b/static/index.html index bb04ddfebd7..2d6eb4cecd6 100644 --- a/static/index.html +++ b/static/index.html @@ -164,6 +164,7 @@
    Theme
    +
    Show Plugins
    diff --git a/swagger.yaml b/swagger.yaml index 3dce8801407..ce9204ceed9 100644 --- a/swagger.yaml +++ b/swagger.yaml @@ -553,7 +553,7 @@ definitions: description: Should Night mode be enabled by default? theme: type: string - description: Default theme to be displayed system wide, `default` or `colors`. + description: Default theme to be displayed system wide, `default`, `colors`, `colorblindfriendly`. language: type: string description: Default language code to be used system wide From f0edc71f8160dd4ffe3f7b858e4b273a10ce30b3 Mon Sep 17 00:00:00 2001 From: apanasef Date: Fri, 22 Apr 2016 14:27:22 +0300 Subject: [PATCH 092/158] Update language.js russian translation- contd --- lib/language.js | 73 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) diff --git a/lib/language.js b/lib/language.js index 8764f14f586..e4f360d5917 100644 --- a/lib/language.js +++ b/lib/language.js @@ -3801,6 +3801,7 @@ function init() { ,nb: 'Diabeteshundalarm' ,he: 'ווף! ווף! התראת גשג' ,pl: 'Psi Alarm cukrzycowy' + ,ru: 'Сигнал служебной собаки' } ,'Glucose Reading' : { cs: 'Hodnota glykémie' @@ -3818,6 +3819,7 @@ function init() { ,nb: 'Blodsukkermåling' ,he: 'מדידת סוכר' ,pl: 'Odczyt glikemii' + ,ru: 'Сахар крови' } ,'Measurement Method' : { cs: 'Metoda měření' @@ -3835,6 +3837,7 @@ function init() { ,nb: 'Målemetode' ,he: 'אמצעי מדידה' ,pl: 'Sposób pomiaru' + ,ru: 'Способ замера' } ,'Meter' : { cs: 'Glukoměr' @@ -3852,6 +3855,7 @@ function init() { ,nb: 'Måleapparat' ,he: 'מד סוכר' ,pl: 'Glukometr' + ,ru: 'Глюкометр' } ,'Insulin Given' : { cs: 'Inzulín' @@ -3869,6 +3873,7 @@ function init() { ,nb: 'Insulin' ,he: 'אינסולין שניתן' ,pl: 'Podana insulina' + ,ru: 'Введенный инсулин' } ,'Amount in grams' : { cs: 'Množství v gramech' @@ -3886,6 +3891,7 @@ function init() { ,nb: 'Antall gram' ,he: 'כמות בגרמים' ,pl: 'Wartość w gramach' + ,ru: 'Количество в граммах' } ,'Amount in units' : { cs: 'Množství v jednotkách' @@ -3903,6 +3909,7 @@ function init() { ,nb: 'Antall enheter' ,he: 'כמות ביחידות' ,pl: 'Wartość w jednostkach' + ,ru: 'Количество в ед.' } ,'View all treatments' : { cs: 'Zobraz všechny ošetření' @@ -3920,6 +3927,7 @@ function init() { ,nb: 'Vis behandlinger' ,he: 'הצג את כל הטיפולים' ,pl: 'Pokaż calosć leczenia ' + ,ru: 'Показать все события по уходу' } ,'Enable Alarms' : { cs: 'Povolit alarmy' @@ -3937,6 +3945,7 @@ function init() { ,nb: 'Aktiver alarmer' ,he: 'הפעל התראות' ,pl: 'Włącz Alarmy' + ,ru: 'Активировать сигналы' } ,'When enabled an alarm may sound.' : { cs: 'Při povoleném alarmu zní zvuk' @@ -3954,6 +3963,7 @@ function init() { ,nb: 'Når aktivert er alarmer aktive' ,he: 'כשמופעל התראות יכולות להישמע.' ,pl: 'Sygnalizacja dzwiękowa przy włączonym alarmie' + ,ru: 'При активации сигналы слышны' } ,'Urgent High Alarm' : { cs: 'Urgentní vysoká glykémie' @@ -3971,6 +3981,7 @@ function init() { ,nb: 'Kritisk høy alarm' ,he: 'התראת גבוה דחופה' ,pl: 'Uwaga: Alarm hiperglikemii' + ,ru: 'Внимание: высокая гликемия ' } ,'High Alarm' : { cs: 'Vysoká glykémie' @@ -3988,6 +3999,7 @@ function init() { ,nb: 'Høy alarm' ,he: 'התראת גבוה' ,pl: 'Alarm hiperglikemii' + ,ru: 'Высокая гликемия' } ,'Low Alarm' : { cs: 'Nízká glykémie' @@ -4005,6 +4017,7 @@ function init() { ,nb: 'Lav alarm' ,he: 'התראת נמוך' ,pl: 'Alarm hipoglikemii' + ,ru: 'Низкая гликемия' } ,'Urgent Low Alarm' : { cs: 'Urgentní nízká glykémie' @@ -4022,6 +4035,7 @@ function init() { ,nb: 'Kritisk lav alarm' ,he: 'התראת נמוך דחופה' ,pl: 'Uwaga: Alarm hipoglikemii' + ,ru: 'Внимание: низкая гликемия' } ,'Stale Data: Warn' : { cs: 'Zastaralá data' @@ -4038,6 +4052,7 @@ function init() { ,fi: 'Vanhat tiedot: varoitus' ,nb: 'Advarsel: Gamle data' ,pl: 'Ostrzeżenie: brak odczytów' + ,ru: 'Предупреждение: старые данные' } ,'Stale Data: Urgent' : { cs: 'Zastaralá data urgentní' @@ -4054,6 +4069,7 @@ function init() { ,fi: 'Vanhat tiedot: hälytys' ,nb: 'Advarsel: Veldig gamle data' ,pl: 'Uwaga: brak odczytów' + ,ru: 'Внимание: старые данные' } ,'mins' : { cs: 'min' @@ -4070,6 +4086,7 @@ function init() { ,fi: 'minuuttia' ,nb: 'min' ,pl: 'min' + ,ru: 'мин' } ,'Night Mode' : { cs: 'Noční mód' @@ -4086,6 +4103,7 @@ function init() { ,fi: 'Yömoodi' ,nb: 'Nattmodus' ,pl: 'Tryb nocny' + ,ru: 'Режим: ночь' } ,'When enabled the page will be dimmed from 10pm - 6am.' : { cs: 'Když je povoleno, obrazovka je ztlumena 22:00 - 6:00' @@ -4102,6 +4120,7 @@ function init() { ,fi: 'Aktivoituna sivu himmenee kello 22 ja 06 välillä' ,nb: 'Når aktivert vil denne siden nedtones fra 22:00-06:00' ,pl: 'Po włączeniu strona będzie przyciemniona od 22 wieczorem do 6 nad ranem. ' + ,ru: 'При активации страница затемнена с 22.00 до 06.00' } ,'Enable' : { cs: 'Povoleno' @@ -4118,6 +4137,7 @@ function init() { ,fi: 'Aktivoi' ,nb: 'Aktiver' ,pl: 'Włącz' + ,ru: 'Активировать' } ,'Show Raw BG Data' : { cs: 'Zobraz RAW data' @@ -4134,6 +4154,7 @@ function init() { ,fi: 'Näytä raaka VS tieto' ,nb: 'Vis rådata' ,pl: 'Wyświetl surowe dane RAW' + ,ru: 'Показывать данные RAW' } ,'Never' : { cs: 'Nikdy' @@ -4150,6 +4171,7 @@ function init() { ,fi: 'Ei koskaan' ,nb: 'Aldri' ,pl: 'Nigdy' + ,ru: 'Никогда' } ,'Always' : { cs: 'Vždy' @@ -4166,6 +4188,7 @@ function init() { ,fi: 'Aina' ,nb: 'Alltid' ,pl: 'Zawsze' + ,ru: 'Всегда' } ,'When there is noise' : { cs: 'Při šumu' @@ -4182,6 +4205,7 @@ function init() { ,fi: 'Signaalihäiriöiden yhteydessä' ,nb: 'Når det er støy' ,pl: 'Gdy sygnał jest zakłócony' + ,ru: 'Когда есть шумовой фон' } ,'When enabled small white dots will be displayed for raw BG data' : { cs: 'Když je povoleno, malé tečky budou zobrazeny pro RAW data' @@ -4198,6 +4222,7 @@ function init() { ,fi: 'Aktivoituna raaka VS tieto piirtyy aikajanalle valkoisina pisteinä' ,nb: 'Ved aktivering vil små hvite prikker bli vist for rå BG tall' ,pl: 'Gdy funkcja jest włączona, małe białe kropki pojawią się na surowych danych BG' + ,ru: 'При активации данные RAW будут видны как мелкие белые точки' } ,'Custom Title' : { cs: 'Vlastní název stránky' @@ -4214,6 +4239,7 @@ function init() { ,fi: 'Omavalintainen otsikko' ,nb: 'Egen tittel' ,pl: 'Własny tytuł strony' + ,ru: 'Произвольное наименование' } ,'Theme' : { cs: 'Téma' @@ -4230,6 +4256,7 @@ function init() { ,fi: 'Teema' ,nb: 'Tema' ,pl: 'Wygląd' + ,ru: 'Тема' } ,'Default' : { cs: 'Výchozí' @@ -4246,6 +4273,7 @@ function init() { ,fi: 'Oletus' ,nb: 'Standard' ,pl: 'Domyślny' + ,ru: 'По умолчанию' } ,'Colors' : { cs: 'Barevné' @@ -4262,6 +4290,7 @@ function init() { ,fi: 'Värit' ,nb: 'Farger' ,pl: 'Kolorowy' + ,ru: 'Цветная' } ,'Reset, and use defaults' : { cs: 'Vymaž a nastav výchozí hodnoty' @@ -4278,6 +4307,7 @@ function init() { ,fi: 'Palauta oletusasetukset' ,nb: 'Gjenopprett standardinnstillinger' ,pl: 'Reset i powrót do domyślnych ustawień' + ,ru: 'Сбросить и использовать настройки по умолчанию' } ,'Calibrations' : { cs: 'Kalibrace' @@ -4294,6 +4324,7 @@ function init() { ,fi: 'Kalibraatiot' ,nb: 'Kalibreringer' ,pl: 'Kalibracja' + ,ru: 'Калибровки' } ,'Alarm Test / Smartphone Enable' : { cs: 'Test alarmu' @@ -4310,6 +4341,7 @@ function init() { ,fi: 'Hälytyksien testaus / Älypuhelimien äänet päälle' ,nb: 'Alarmtest / Smartphone aktivering' ,pl: 'Test alarmu / Smartphone aktywny' + ,ru: 'Проверка зв. уведомлений / смартфон активен' } ,'Bolus Wizard' : { cs: 'Bolusový kalkulátor' @@ -4326,6 +4358,7 @@ function init() { ,fi: 'Annosopas' ,nb: 'Boluskalkulator' ,pl: 'Kalkulator Bolusa' + ,ru: 'Болюс Мастер' } ,'in the future' : { cs: 'v budoucnosti' @@ -4342,6 +4375,7 @@ function init() { ,fi: 'tulevaisuudessa' ,nb: 'fremtiden' ,pl: 'w przyszłości' + ,ru: 'в будущем' } ,'time ago' : { cs: 'min zpět' @@ -4358,6 +4392,7 @@ function init() { ,fi: 'aikaa sitten' ,nb: 'tid siden' ,pl: 'czas temu' + ,ru: 'в прошлом' } ,'hr ago' : { cs: 'hod zpět' @@ -4374,6 +4409,7 @@ function init() { ,fi: 'tunti sitten' ,nb: 'Time siden' ,pl: 'godzina temu' + ,ru: 'час назад' } ,'hrs ago' : { cs: 'hod zpět' @@ -4390,6 +4426,7 @@ function init() { ,fi: 'tuntia sitten' ,nb: 'Timer siden' ,pl: 'godzin temu' + ,ru: 'часов назад' } ,'min ago' : { cs: 'min zpět' @@ -4406,6 +4443,7 @@ function init() { ,fi: 'minuuttia sitten' ,nb: 'minutter siden' ,pl: 'minuta temu' + ,ru: 'мин. назад' } ,'mins ago' : { cs: 'min zpět' @@ -4422,6 +4460,7 @@ function init() { ,fi: 'minuuttia sitten' ,nb: 'minutter siden' ,pl: 'minut temu' + ,ru: 'минут назад' } ,'day ago' : { cs: 'den zpět' @@ -4438,6 +4477,7 @@ function init() { ,fi: 'päivä sitten' ,nb: 'dag siden' ,pl: 'dzień temu' + ,ru: 'день назад' } ,'days ago' : { cs: 'dnů zpět' @@ -4454,6 +4494,7 @@ function init() { ,fi: 'päivää sitten' ,nb: 'dager siden' ,pl: 'dni temu' + ,ru: 'дней назад' } ,'long ago' : { cs: 'dlouho zpět' @@ -4470,6 +4511,7 @@ function init() { ,fi: 'Pitkän aikaa sitten' ,nb: 'lenge siden' ,pl: 'minut temu' + ,ru: 'давно' } ,'Clean' : { cs: 'Čistý' @@ -4486,6 +4528,7 @@ function init() { ,fi: 'Puhdas' ,nb: 'Rent' ,pl: 'Czysty' + ,ru: 'Чисто' } ,'Light' : { cs: 'Lehký' @@ -4502,6 +4545,7 @@ function init() { ,fi: 'Kevyt' ,nb: 'Lite' ,pl: 'Niski' + ,ru: 'Слабый' } ,'Medium' : { cs: 'Střední' @@ -4518,6 +4562,7 @@ function init() { ,fi: 'Keskiverto' ,nb: 'Middels' ,pl: 'Średni' + ,ru: 'Средний' } ,'Heavy' : { cs: 'Velký' @@ -4534,6 +4579,7 @@ function init() { ,fi: 'Raskas' ,nb: 'Mye' ,pl: 'Wysoki' + ,ru: 'Сильный' } ,'Treatment type' : { cs: 'Typ ošetření' @@ -4550,6 +4596,7 @@ function init() { ,fi: 'Hoidon tyyppi' ,nb: 'Behandlingstype' ,pl: 'Rodzaj leczenia' + ,ru: 'Вид события' } ,'Raw BG' : { cs: 'Glykémie z RAW dat' @@ -4566,6 +4613,7 @@ function init() { ,fi: 'Raaka VS' ,nb: 'RAW-BS' ,pl: 'Raw BG' + ,ru: 'необработанные данные СК' } ,'Device' : { cs: 'Zařízení' @@ -4582,6 +4630,7 @@ function init() { ,fi: 'Laite' ,nb: 'Enhet' ,pl: 'Urządzenie' + ,ru: 'Устройство' } ,'Noise' : { cs: 'Šum' @@ -4598,6 +4647,7 @@ function init() { ,fi: 'Kohina' ,nb: 'Støy' ,pl: 'Szum' + ,ru: 'Шумовой фон' } ,'Calibration' : { cs: 'Kalibrace' @@ -4614,6 +4664,7 @@ function init() { ,fi: 'Kalibraatio' ,nb: 'Kalibrering' ,pl: 'Kalibracja' + ,ru: 'Калибровка' } ,'Show Plugins' : { cs: 'Zobrazuj pluginy' @@ -4630,6 +4681,7 @@ function init() { ,fi: 'Näytä pluginit' ,nb: 'Vis plugins' ,pl: 'Pokaż rozszerzenia' + ,ru: 'Показать расширения' } ,'About' : { cs: 'O aplikaci' @@ -4646,6 +4698,7 @@ function init() { ,fi: 'Nightscoutista' ,nb: 'Om' ,pl: 'O aplikacji' + ,ru: 'О приложении' } ,'Value in' : { cs: 'Hodnota v' @@ -4662,6 +4715,7 @@ function init() { ,fi: 'Arvo yksiköissä' ,nb: 'Verdi i' ,pl: 'Wartości w ' + ,ru: 'Значения в' } ,'Carb Time' : { cs: 'Čas jídla' @@ -4679,6 +4733,7 @@ function init() { ,nb: 'Karbohydrattid' ,he: 'זמן פחמימה' ,pl: 'Czas posiłku' + ,ru: 'Время приема углеводов' } ,'Language' : { cs: 'Jazyk' @@ -4690,6 +4745,7 @@ function init() { ,bg: 'Език' ,pl: 'Język' ,it: 'Lingua' + ,ru: 'Язык' } ,'Add new' : { cs: 'Přidat nový' @@ -4698,6 +4754,7 @@ function init() { ,nb: 'Legg til ny' ,fi: 'Lisää uusi' ,pl: 'Dodaj nowy' + ,ru: 'Добавить новый' } ,'g' : { // grams shortcut cs: 'g' @@ -4706,6 +4763,7 @@ function init() { ,nb: 'g' ,fi: 'g' ,pl: 'g' + ,ru: 'г' } ,'ml' : { // milliliters shortcut cs: 'ml' @@ -4714,6 +4772,7 @@ function init() { ,nb: 'ml' ,fi: 'ml' ,pl: 'ml' + ,ru: 'мл' } ,'pcs' : { // pieces shortcut cs: 'ks' @@ -4722,6 +4781,7 @@ function init() { ,nb: 'stk' ,fi: 'kpl' ,pl: 'cz.' + ,ru: 'шт' } ,'Drag&drop food here' : { cs: 'Sem táhni & pusť jídlo' @@ -4730,6 +4790,7 @@ function init() { ,nb: 'Dra og slipp mat her' ,fi: 'Pudota ruoka tähän' ,pl: 'Tutaj przesuń/upusć jedzenie ' + ,ru: 'Перетащите еду сюда' } ,'Care Portal' : { cs: 'Portál ošetření' @@ -4739,6 +4800,7 @@ function init() { ,nb: 'Omsorgsportal' ,fi: 'Hoidot' ,pl: 'Care Portal' + ,ru: 'Портал назначений' } ,'Medium/Unknown' : { // GI of food cs: 'Střední/Neznámá' @@ -4747,6 +4809,7 @@ function init() { ,nb: 'Medium/ukjent' ,fi: 'Keskiarvo/Ei tiedossa' ,pl: 'Średni/nieznany' + ,ru: 'Средний/Неизвестный' } ,'IN THE FUTURE' : { cs: 'V BUDOUCNOSTI' @@ -4755,6 +4818,7 @@ function init() { ,nb: 'I fremtiden' ,fi: 'TULEVAISUUDESSA' ,pl: 'W PRZYSZŁOŚCI' + ,ru: 'В БУДУЩЕМ' } ,'Update' : { // Update button cs: 'Aktualizovat' @@ -4766,6 +4830,7 @@ function init() { ,it: 'Aggiornamento' ,pl: 'Aktualizacja' ,fi: 'Päivitys' + ,ru: 'Обновить' } ,'Order' : { cs: 'Pořadí' @@ -4776,6 +4841,7 @@ function init() { ,it: 'Ordina' ,pl: 'Zamówienie' ,fi: 'Järjestys' + ,ru: 'Сортировать' } ,'oldest on top' : { cs: 'nejstarší nahoře' @@ -4787,6 +4853,7 @@ function init() { ,it: 'più vecchio in alto' ,pl: 'Najstarszy na górze' ,fi: 'vanhin ylhäällä' + ,ru: 'Старые наверху' } ,'newest on top' : { cs: 'nejnovější nahoře' @@ -4798,6 +4865,7 @@ function init() { ,it: 'più recente in alto' ,pl: 'Najnowszy na górze' ,fi: 'uusin ylhäällä' + ,ru: 'Новые наверху' } ,'All sensor events' : { cs: 'Všechny události sensoru' @@ -4808,6 +4876,7 @@ function init() { ,it: 'Tutti gli eventi del sensore' ,fi: 'Kaikki sensorin tapahtumat' ,pl: 'Wszystkie zdarzenia sensora' + ,ru: 'Все события сенсора' } ,'Remove future items from mongo database' : { cs: 'Odebrání položek v budoucnosti z Mongo databáze' @@ -4818,6 +4887,7 @@ function init() { ,it: 'Rimuovere gli oggetti dal database di mongo (prossimamente)' ,fi: 'Poista tapahtumat mongo-tietokannasta' ,pl: 'Usuń przyszłe/błędne wpisy z bazy mongo' + ,ru: 'Удалить будущие данные из базы Монго' } ,'Find and remove treatments in the future' : { cs: 'Najít a odstranit záznamy ošetření v budoucnosti' @@ -4828,6 +4898,7 @@ function init() { ,it: 'Individuare e rimuovere le somministrazioni (prossimamente)' ,fi: 'Etsi ja poista tapahtumat joiden aikamerkintä on tulevaisuudessa' ,pl: 'Znajdź i usuń przyszłe/błędne zabiegi' + ,ru: 'Найти и удалить будущие назначения' } ,'This task find and remove treatments in the future.' : { cs: 'Tento úkol najde a odstraní ošetření v budoucnosti.' @@ -4838,6 +4909,7 @@ function init() { ,it: 'Trovare e rimuovere le somministrazioni (prossimamente)' ,fi: 'Tämä työkalu poistaa tapahtumat joiden aikamerkintä on tulevaisuudessa.' ,pl: 'To narzędzie znajduje i usuwa przyszłe/błędne zabiegi"' + ,ru: 'Эта опция найдет и удалит данные из будущего' } ,'Remove treatments in the future' : { cs: 'Odstraň ošetření v budoucnosti' @@ -4848,6 +4920,7 @@ function init() { ,it: 'Rimuovere somministrazioni (prossimamente)' ,fi: 'Poista tapahtumat' ,pl: 'Usuń zabiegi w przyszłości' + ,ru: 'Удалить назначения из будущего' } ,'Find and remove entries in the future' : { cs: 'Najít a odstranit CGM data v budoucnosti' From 560ae75f6a6e52fb8bc732e9dc7f26d5a678f5ad Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Fri, 22 Apr 2016 22:49:09 -0700 Subject: [PATCH 093/158] fixed scrolling/forecast bug --- lib/client/renderer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/client/renderer.js b/lib/client/renderer.js index 63876081eb6..00621e69a70 100644 --- a/lib/client/renderer.js +++ b/lib/client/renderer.js @@ -74,7 +74,7 @@ function init (client, d3) { return client.settings.showForecast.indexOf(point.info.type) > -1; }); var maxForecastMills = _.max(_.map(shownForecastPoints, function (point) {return point.mills})); - client.forecastTime = maxForecastMills > 0 ? maxForecastMills - client.now : 0; + client.forecastTime = maxForecastMills > 0 ? maxForecastMills - client.sbx.lastSGVMills() : 0; focusData = focusData.concat(shownForecastPoints); } From 25451394071791c0c272901b838aa40cf9400b2d Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Fri, 22 Apr 2016 23:01:58 -0700 Subject: [PATCH 094/158] use _.maxBy instead of _.max since we're on the current version of lodash now, how did that work before? --- lib/plugins/openaps.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/openaps.js b/lib/plugins/openaps.js index 0a226d4b9e3..21abe8b6df6 100644 --- a/lib/plugins/openaps.js +++ b/lib/plugins/openaps.js @@ -323,7 +323,7 @@ function init() { } if (device.mmtune) { - var best = _.max(device.mmtune.scanDetails, function (d) { + var best = _.maxBy(device.mmtune.scanDetails, function (d) { return d[2]; }); From 34bb19961e81fc1b72bca6f68c3263e0021711dd Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Fri, 22 Apr 2016 23:51:15 -0700 Subject: [PATCH 095/158] don't store empty targetTop/Bottom --- lib/treatments.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/treatments.js b/lib/treatments.js index 64a82ca8fe5..dfaed79f289 100644 --- a/lib/treatments.js +++ b/lib/treatments.js @@ -166,6 +166,8 @@ function prepareData(obj) { } } + deleteIfEmpty('targetTop'); + deleteIfEmpty('targetBottom'); deleteIfEmpty('carbs'); deleteIfEmpty('insulin'); deleteIfEmpty('duration'); From 511fe2cdda000f7ed986505ffe4183255ad4aa02 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sat, 23 Apr 2016 11:05:51 -0700 Subject: [PATCH 096/158] first step towards exposing boot errors --- app.js | 15 ++++++++++++++- lib/bootevent.js | 46 +++++++++++++++++++++++++++++++++++++++------- server.js | 4 ++++ 3 files changed, 57 insertions(+), 8 deletions(-) diff --git a/app.js b/app.js index 9618fde24ed..969eccbd34e 100644 --- a/app.js +++ b/app.js @@ -1,7 +1,8 @@ - +var _ = require('lodash'); var express = require('express'); var compression = require('compression'); var bodyParser = require('body-parser'); + function create (env, ctx) { /////////////////////////////////////////////////// // api and json object variables @@ -13,6 +14,18 @@ function create (env, ctx) { app.set('title', appInfo); app.enable('trust proxy'); // Allows req.secure test on heroku https connections. + if (ctx.bootErrors && ctx.bootErrors.length > 0) { + var errors = _.map(ctx.bootErrors, function (obj) { + obj.err = _.pick(obj.err, Object.getOwnPropertyNames(obj.err)) + return obj; + }); + app.get('/', function (req, res) { + res.setHeader('content-type', 'application/json'); + res.json(errors); + }); + return app; + } + app.use(compression({filter: function shouldCompress(req, res) { //TODO: return false here if we find a condition where we don't want to compress // fallback to standard filter function diff --git a/lib/bootevent.js b/lib/bootevent.js index bf6f7c82d71..f195830969e 100644 --- a/lib/bootevent.js +++ b/lib/bootevent.js @@ -7,16 +7,28 @@ var UPDATE_THROTTLE = 1000; function boot (env) { function setupMongo (ctx, next) { - require('./storage')(env, function ready ( err, store ) { - // FIXME, error is always null, if there is an error, the storage.js will throw an exception - console.log('Storage system ready'); - ctx.store = store; - - next( ); - }); + console.info('>>setting up mongo'); + try { + require('./storage')(env, function ready ( err, store ) { + // FIXME, error is always null, if there is an error, the storage.js will throw an exception + console.log('Storage system ready'); + ctx.store = store; + + next(); + }); + } catch (err) { + console.info('>>>mongo err', err); + ctx.bootErrors = ctx.bootErrors || [ ]; + ctx.bootErrors.push({'desc': 'Unable to connect to Mongo', err: err}); + next(); + } } function setupInternals (ctx, next) { + if (ctx.bootErrors && ctx.bootErrors.length > 0) { + return next(); + } + /////////////////////////////////////////////////// // api and json object variables /////////////////////////////////////////////////// @@ -41,6 +53,10 @@ function boot (env) { } function ensureIndexes (ctx, next) { + if (ctx.bootErrors && ctx.bootErrors.length > 0) { + return next(); + } + console.info('Ensuring indexes'); ctx.store.ensureIndexes(ctx.entries( ), ctx.entries.indexedFields); ctx.store.ensureIndexes(ctx.treatments( ), ctx.treatments.indexedFields); @@ -52,6 +68,10 @@ function boot (env) { } function setupListeners (ctx, next) { + if (ctx.bootErrors && ctx.bootErrors.length > 0) { + return next(); + } + var updateData = _.debounce(function debouncedUpdateData ( ) { ctx.dataloader.update(ctx.ddata, function dataUpdated () { ctx.bus.emit('data-loaded'); @@ -83,6 +103,10 @@ function boot (env) { } function setupBridge (ctx, next) { + if (ctx.bootErrors && ctx.bootErrors.length > 0) { + return next(); + } + ctx.bridge = require('./plugins/bridge')(env); if (ctx.bridge) { ctx.bridge.startEngine(ctx.entries); @@ -91,6 +115,10 @@ function boot (env) { } function setupMMConnect (ctx, next) { + if (ctx.bootErrors && ctx.bootErrors.length > 0) { + return next(); + } + ctx.mmconnect = require('./plugins/mmconnect').init(env, ctx.entries, ctx.devicestatus); if (ctx.mmconnect) { ctx.mmconnect.run(); @@ -99,6 +127,10 @@ function boot (env) { } function finishBoot (ctx, next) { + if (ctx.bootErrors && ctx.bootErrors.length > 0) { + return next(); + } + ctx.bus.uptime( ); next( ); diff --git a/server.js b/server.js index 94db523ab47..23e056efdf8 100644 --- a/server.js +++ b/server.js @@ -49,6 +49,10 @@ require('./lib/bootevent')(env).boot(function booted (ctx) { var server = create(app).listen(PORT); console.log(translate('Listening on port'), PORT); + if (ctx.bootErrors && ctx.bootErrors.length > 0) { + return; + } + if (env.MQTT_MONITOR) { ctx.mqtt = require('./lib/mqtt')(env, ctx); var es = require('event-stream'); From 1f0b330b6c777405d0985424f0599731c4304a96 Mon Sep 17 00:00:00 2001 From: Bog Dan Date: Sat, 23 Apr 2016 23:01:57 +0300 Subject: [PATCH 097/158] RO - translation update 23.04.2016 Translation update for RO /// 23.04.2016 --- lib/language.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/language.js b/lib/language.js index e4f360d5917..94fbec0629d 100644 --- a/lib/language.js +++ b/lib/language.js @@ -5632,58 +5632,76 @@ function init() { } ,'Operation' : { cs: 'Operace' + ,ro: 'Operațiune' } ,'Move' : { cs: 'Přesunout' + ,ro: 'Mutați' } ,'Delete' : { cs: 'Odstranit' + ,ro: 'Ștergeți' } ,'Move insulin' : { cs: 'Přesunout inzulín' + ,ro: 'Mutați insulina' } ,'Move carbs' : { cs: 'Přesunout sacharidy' + ,ro: 'Mutați carbohidrații' } ,'Remove insulin' : { cs: 'Odstranit inzulín' + ,ro: 'Ștergeți insulina' } ,'Remove carbs' : { cs: 'Odstranit sacharidy' + ,ro: 'Ștergeți carbohidrații' } ,'Change treatment time to %1 ?' : { cs: 'Změnit čas ošetření na %1 ?' + ,ro: 'Schimbați ora acțiunii cu %1 ?' } ,'Change carbs time to %1 ?' : { cs: 'Změnit čas sacharidů na %1 ?' + ,ro: 'Schimbați ora carbohidraților cu %1 ?' } ,'Change insulin time to %1 ?' : { cs: 'Změnit čas inzulínu na %1 ?' + ro: 'Schimbați ora insulinei cu %1 ?' } ,'Remove treatment ?' : { cs: 'Odstranit ošetření ?' + ,ro: 'Ștergeți acțiunea?' } ,'Remove insulin from treatment ?' : { cs: 'Odstranit inzulín z ošetření ?' + ,ro: 'Ștergeți insulina din acțiune?' } ,'Remove carbs from treatment ?' : { cs: 'Odstranit sacharidy z ošetření ?' + ,ro: 'Ștergeți carbohidrații din acțiune?' } ,'Rendering' : { cs: 'Vykresluji' + ,ro: 'Se desenează' } ,'Loading OpenAPS data of' : { cs: 'Nahrávám OpenAPS data z' + ,ro: 'Se încarcă datele OpenAPS pentru' } ,'Loading profile switch data' : { cs: 'Nahrávám data přepnutí profilu' + ,ro: 'Se încarcă datele de schimbare profil' } ,'Profile is going to be saved in newer format used in Nightscout 0.9.0 and above and will not be usable in older versions anymore.\nAre you sure?' : { cs: 'Profil bude uložen v novějším formátu používaném v Nightscoutu 0.9.0 a novějších. Již nebude použitelný se starší verzí.\nJste si jistý?' + ,ro: 'Profilul va fi salvat într-un format nou, folosit în Nightscout 0.9.0 și superior și nu va mai fi posibilă folosirea pentru versiunile mai vechi.\nSunteți de acord?' } ,'Wrong profile setting.\nNo profile defined to displayed time.\nRedirecting to profile editor to create new profile.' : { cs: 'Chybě nastavený profil.\nNení definovaný žádný platný profil k času zobrazení.\nProvádím přesměrování na editor profilu.' - } + ,ro: 'Setare de profil eronată.\nNu este definit niciun profil pentru perioada afișată.\nMergeți la editorul de profiluri pentru a defini unul nou.' + } }; From beb37b90c895b35db4a566856c13d70642d0c39d Mon Sep 17 00:00:00 2001 From: Bog Dan Date: Sat, 23 Apr 2016 23:21:19 +0300 Subject: [PATCH 098/158] RO - translation update 23.04.2016, error fix Error fix for missing semicolumn in line 5671 --- lib/language.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/language.js b/lib/language.js index 94fbec0629d..1aa9c6a1333 100644 --- a/lib/language.js +++ b/lib/language.js @@ -5668,7 +5668,7 @@ function init() { } ,'Change insulin time to %1 ?' : { cs: 'Změnit čas inzulínu na %1 ?' - ro: 'Schimbați ora insulinei cu %1 ?' + ,ro: 'Schimbați ora insulinei cu %1 ?' } ,'Remove treatment ?' : { cs: 'Odstranit ošetření ?' From 5f358f7a6e5e49f9ee859b310f60caf8c7c03181 Mon Sep 17 00:00:00 2001 From: petrosyanRub Date: Sun, 24 Apr 2016 02:59:33 +0300 Subject: [PATCH 099/158] Update language.js russian translation contd --- lib/language.js | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/lib/language.js b/lib/language.js index 1aa9c6a1333..582f383d022 100644 --- a/lib/language.js +++ b/lib/language.js @@ -4931,6 +4931,7 @@ function init() { ,it: 'Trovare e rimuovere le voci (prossimamente)' ,fi: 'Etsi ja poista tapahtumat' ,pl: 'Znajdz i usuń wpisy w przyszłości' + ,ru: 'Найти и удалить данные с сенсора из будущего' } ,'This task find and remove CGM data in the future created by uploader with wrong date/time.' : { cs: 'Tento úkol najde a odstraní CGM data v budoucnosti vzniklé špatně nastaveným datem v uploaderu.' @@ -4941,6 +4942,7 @@ function init() { ,it: 'Trovare e rimuovere i dati CGM creato da uploader/xdrip con data / ora sbagliato (prossimamente)' ,fi: 'Tämä työkalu etsii ja poistaa sensorimerkinnät joiden aikamerkintä sijaitsee tulevaisuudessa.' ,pl: 'To narzędzie odnajduje i usuwa dane CGM w przyszłości utworzone przez uploader ze złą datą/czasem.' + ,ru: 'Эта опция найдет и удалит данные с сенсора созданные загрузчиком с неверными датой/временем' } ,'Remove entries in the future' : { cs: 'Odstraň CGM data v budoucnosti' @@ -4951,6 +4953,7 @@ function init() { ,it: 'Rimuovere le voci (prossimamente)' ,fi: 'Poista tapahtumat' ,pl: 'Usuń wpisy w przyszłości' + ,ru: 'Удаляются данные из будущего' } ,'Loading database ...' : { cs: 'Nahrávám databázi ...' @@ -4961,6 +4964,7 @@ function init() { ,it: 'Caricamento Database ...' ,fi: 'Lataan tietokantaa...' ,pl: 'Wczytuje baze danych' + ,ru: 'Загрузка базы данных' } ,'Database contains %1 future records' : { cs: 'Databáze obsahuje %1 záznamů v budoucnosti' @@ -4971,6 +4975,7 @@ function init() { ,it: 'Contiene Database %1 record (prossimamente)' ,fi: 'Tietokanta sisältää %1 merkintää tulevaisuudessa' ,pl: 'Baza danych zawiera %1 przyszłych rekordów' + ,ru: 'База данных содержит %1 записей в будущем' } ,'Remove %1 selected records?' : { cs: 'Odstranit %1 vybraných záznamů' @@ -4981,6 +4986,7 @@ function init() { ,it: 'Rimuovere %1 record selezionati?' ,fi: 'Poista %1 valittua merkintää?' ,pl: 'Usunać %1 wybranych rekordów?' + ,ru: 'Удалить %1 выбранных записей?' } ,'Error loading database' : { cs: 'Chyba při nahrávání databáze' @@ -4991,6 +4997,7 @@ function init() { ,it: 'Errore di caricamento del database' ,fi: 'Ongelma tietokannan lataamisessa' ,pl: 'Błąd wczytywania bazy danych' + ,ru: 'Ошибка загрузки базы данных' } ,'Record %1 removed ...' : { cs: 'Záznam %1 odstraněn ...' @@ -5001,6 +5008,7 @@ function init() { ,it: 'Record %1 rimosso ...' ,fi: 'Merkintä %1 poistettu ...' ,pl: '%1 rekordów usunieto ...' + ,ru: 'запись %1 удалена' } ,'Error removing record %1' : { cs: 'Chyba při odstaňování záznamu %1' @@ -5011,6 +5019,7 @@ function init() { ,it: 'Errore rimozione record %1' ,fi: 'Virhe poistaessa merkintää numero %1' ,pl: 'Błąd przy usuwaniu rekordu %1' + ,ru: 'Ошибка удаления записи %1' } ,'Deleting records ...' : { cs: 'Odstraňování záznamů ...' @@ -5021,6 +5030,7 @@ function init() { ,it: 'Eliminazione dei record ...' ,fi: 'Poistan merkintöjä' ,pl: 'Usuwanie rekordow ...' + ,ru: 'Записи удаляются' } ,'Clean Mongo status database' : { cs: 'Vyčištění Mongo databáze statusů' @@ -5031,6 +5041,7 @@ function init() { ,it: 'Pulire database di Mongo' ,fi: 'Siivoa statustietokanta' ,pl: 'Oczyść status bazy danych Mongo' + ,ru: 'Очистить статус базы данных Mongo' } ,'Delete all documents from devicestatus collection' : { cs: 'Odstranění všech záznamů z kolekce devicestatus' @@ -5041,6 +5052,7 @@ function init() { ,it: 'Eliminare tutti i documenti dalla collezione "devicestatus"' ,fi: 'Poista kaikki tiedot statustietokannasta' ,pl: 'Usuń wszystkie dokumenty z kolekcji devicestatus' + ,ru: 'Стереть все документы из коллекции статус устройства' } ,'This task removes all documents from devicestatus collection. Useful when uploader battery status is not properly updated.' : { cs: 'Tento úkol odstraní všechny dokumenty z kolekce devicestatus. Je to vhodné udělat, pokud se ukazatel stavu baterie neobnovuje správně.' @@ -5051,6 +5063,7 @@ function init() { ,it: 'Questa attività elimina tutti i documenti dalla collezione "devicestatus". Utile quando lo stato della batteria uploader/xdrip non si aggiorna.' ,fi: 'Tämä työkalu poistaa kaikki tiedot statustietokannasta, mikä korjaa tilanteen, jossa puhelimen akun lataustilanne ei näy oikein.' ,pl: 'To narzędzie usuwa wszystkie dokumenty z kolekcji devicestatus. Potrzebne jest wtedy, gdy stan baterii uploadera nie jest aktualizowany' + ,ru: 'Эта опция удаляет все документы из коллекции статус устройства. Полезно когда состояние батвреи загрузчика не обновляется' } ,'Delete all documents' : { cs: 'Odstranit všechny dokumenty' @@ -5061,6 +5074,7 @@ function init() { ,it: 'Eliminare tutti i documenti' ,fi: 'Poista kaikki tiedot' ,pl: 'Usuń wszystkie dokumenty' + ,ru: 'Стереть все документы' } ,'Delete all documents from devicestatus collection devicestatus?' : { cs: 'Odstranit všechny dokumenty z kolekce devicestatus?' @@ -5071,6 +5085,7 @@ function init() { ,it: 'Eliminare tutti i documenti dalla collezione devicestatus?' ,fi: 'Poista tiedot statustietokannasta?' ,pl: 'Czy na pewno usunąć wszystkie dokumenty z kolekcji devicestatus?' + ,ru: 'Стереть все документы коллекции статус устройства?' } ,'Database contains %1 records' : { cs: 'Databáze obsahuje %1 záznamů' @@ -5081,6 +5096,7 @@ function init() { ,it: 'Contiene Database record%1' ,fi: 'Tietokanta sisältää %1 merkintää' ,pl: 'Baza danych zawiera %1 rekordów' + ,ru: 'База данных содержит %1 записей' } ,'All records removed ...' : { cs: 'Všechny záznamy odstraněny ...' @@ -5091,6 +5107,7 @@ function init() { ,it: 'Tutti i record rimossi ...' ,fi: 'Kaikki merkinnät poistettu ...' ,pl: 'Wszystkie rekordy usunięto' + ,ru: 'Все записи удалены' } ,'Admin Tools' : { cs: 'Nástroje pro správu' @@ -5101,6 +5118,7 @@ function init() { ,it: 'NS - Dati Mongo' ,fi: 'Ylläpitotyökalut' ,pl: 'Narzędzia administratora' + ,ru: 'Инструменты администратора' } ,'Nightscout reporting' : { cs: 'Nightscout - Výkazy' @@ -5111,6 +5129,7 @@ function init() { ,it: 'Nightscout - Statistiche' ,fi: 'Nightscout raportointi' ,pl: 'Nightscout - raporty' + ,ru: 'Статистика Nightscout' } ,'Cancel' : { cs: 'Zrušit' @@ -5121,6 +5140,7 @@ function init() { ,it: 'Cancellare' ,fi: 'Peruuta' ,pl: 'Anuluj' + ,ru: 'Отмена' } ,'Edit treatment' : { cs: 'Upravit ošetření' @@ -5131,6 +5151,7 @@ function init() { ,it: 'Modifica Somministrazione' ,fi: 'Muuta merkintää' ,pl: 'Edytuj zabieg' + ,ru: 'Редактировать событие' } ,'Duration' : { cs: 'Doba trvání' @@ -5142,6 +5163,7 @@ function init() { ,nb: 'Varighet' ,fi: 'Kesto' ,pl: 'Czas trwania' + ,ru: 'Продолжительность' } ,'Duration in minutes' : { cs: 'Doba trvání v minutách' @@ -5152,6 +5174,7 @@ function init() { ,nb: 'Varighet i minutter' ,fi: 'Kesto minuuteissa' ,pl: 'Czas trwania w minutach' + ,ru: 'Продолжительность в мин' } ,'Temp Basal' : { cs: 'Dočasný bazál' @@ -5162,6 +5185,7 @@ function init() { ,nb: 'Midlertidig basal' ,fi: 'Tilapäinen basaali' ,pl: 'Tymczasowa dawka podstawowa' + ,ru: 'Временный базал' } ,'Temp Basal Start' : { cs: 'Dočasný bazál začátek' @@ -5172,6 +5196,7 @@ function init() { ,nb: 'Midlertidig basal start' ,fi: 'Tilapäinen basaali alku' ,pl: 'Poczatek tymczasowej dawki podstawowej' + ,ru: 'Начало временного базала' } ,'Temp Basal End' : { cs: 'Dočasný bazál konec' @@ -5182,6 +5207,7 @@ function init() { ,nb: 'Midlertidig basal stopp' ,fi: 'Tilapäinen basaali loppu' ,pl: 'Koniec tymczasowej dawki podstawowej' + ,ru: 'Окончание временного базала' } ,'Percent' : { // value in % for temp basal cs: 'Procenta' @@ -5193,6 +5219,7 @@ function init() { ,nb: 'Prosent' ,fi: 'Prosentti' ,pl: 'Procent' + ,ru: 'Процент' } ,'Basal change in %' : { cs: 'Změna bazálu v %' @@ -5203,6 +5230,7 @@ function init() { ,nb: 'Basal endring i %' ,fi: 'Basaalimuutos prosenteissa' ,pl: 'Zmiana dawki podstawowej w %' + ,ru: 'Изменение базала в %' } ,'Basal value' : { // absolute value for temp basal cs: 'Hodnota bazálu' @@ -5214,6 +5242,7 @@ function init() { ,nb: 'Basalverdi' ,fi: 'Basaalin määrä' ,pl: 'Dawka podstawowa' + ,ru: 'Временный базал' } ,'Absolute basal value' : { cs: 'Hodnota bazálu' @@ -5224,6 +5253,7 @@ function init() { ,sv: 'Absolut basalvärde' ,fi: 'Absoluuttinen basaalimäärä' ,pl: 'Bezwgledna wartosć dawki podstawowej' + ,ru: 'Абсолютный базал' } ,'Announcement' : { cs: 'Oznámení' @@ -5236,6 +5266,7 @@ function init() { ,nb: 'Kunngjøring' ,fi: 'Tiedoite' ,pl: 'Powiadomienie' + ,ru: 'Оповещение' } ,'Loading temp basal data' : { cs: 'Nahrávám dočasné bazály' @@ -5246,6 +5277,7 @@ function init() { ,fi: 'Lataan tilapäisten basaalien tietoja' ,bg: 'Зареждане на данни за временния базал' ,pl: 'Wczytuje dane tymczasowej dawki podstawowej' + ,ru: 'Загрузка данных временного базала' } ,'Save current record before changing to new?' : { cs: 'Uložit současný záznam před změnou na nový?' @@ -5255,6 +5287,7 @@ function init() { ,fi: 'Tallenna nykyinen merkintä ennen vaihtoa uuteen?' ,bg: 'Запази текущият запис преди да промениш новия ' ,pl: 'Zapisać bieżacy rekord przed zamiana na nowy?' + ,ru: 'Сохранить текущие данные перед переходом к новым?' } ,'Profile Switch' : { cs: 'Přepnutí profilu' @@ -5264,6 +5297,7 @@ function init() { ,fi: 'Vaihda profiilia' ,bg: 'Смяна на профил' ,pl: 'Przelaczenie profilu' + ,ru: 'Изменить профиль' } ,'Profile' : { cs: 'Profil' @@ -5274,6 +5308,7 @@ function init() { ,fi: 'Profiili' ,bg: 'Профил' ,pl: 'Profil' + ,ru: 'Профиль' } ,'General profile settings' : { cs: 'Obecná nastavení profilu' @@ -5283,6 +5318,7 @@ function init() { ,fi: 'Yleiset profiiliasetukset' ,bg: 'Основни настройки на профила' ,pl: 'Ogólne ustawienia profilu' + ,ru: 'Общие настройки профиля' } ,'Title' : { cs: 'Název' @@ -5292,6 +5328,7 @@ function init() { ,fi: 'Otsikko' ,bg: 'Заглавие' ,pl: 'Nazwa' + ,ru: 'Наименование' } ,'Database records' : { cs: 'Záznamy v databázi' @@ -5301,6 +5338,7 @@ function init() { ,fi: 'Tietokantamerkintöjä' ,bg: 'Записи в базата с данни' ,pl: 'Rekordy bazy danych' + ,ru: 'Записи в базе данных' } ,'Add new record' : { cs: 'Přidat nový záznam' @@ -5310,6 +5348,7 @@ function init() { ,fi: 'Lisää uusi merkintä' ,bg: 'Добави нов запис' ,pl: 'Dodaj nowy rekord' + ,ru: 'Добавить новую запись' } ,'Remove this record' : { cs: 'Vymazat tento záznam' @@ -5319,6 +5358,7 @@ function init() { ,fi: 'Poista tämä merkintä' ,bg: 'Премахни този запис' ,pl: 'Usuń ten rekord' + ,ru: 'Удалить эту запись' } ,'Clone this record to new' : { cs: 'Zkopíruj tento záznam do nového' @@ -5328,6 +5368,7 @@ function init() { ,fi: 'Kopioi tämä merkintä uudeksi' ,bg: 'Копирай този запис като нов' ,pl: 'Powiel ten rekord na nowy' + ,ru: 'Клонировать эту запись в новый' } ,'Record valid from' : { cs: 'Záznam platný od' @@ -5337,6 +5378,7 @@ function init() { ,fi: 'Merkintä voimassa alkaen' ,bg: 'Записът е валиден от ' ,pl: 'Rekord ważny od' + ,ru: 'Запись действительна от' } ,'Stored profiles' : { cs: 'Uložené profily' @@ -5346,6 +5388,7 @@ function init() { ,fi: 'Tallennetut profiilit' ,bg: 'Запаметени профили' ,pl: 'Zachowane profile' + ,ru: 'Запомненные профили' } ,'Timezone' : { cs: 'Časová zóna' @@ -5355,6 +5398,7 @@ function init() { ,fi: 'Aikavyöhyke' ,bg: 'Часова зона' ,pl: 'Strefa czasowa' + ,ru: 'Часовой пояс' } ,'Duration of Insulin Activity (DIA)' : { cs: 'Doba působnosti inzulínu (DIA)' @@ -5364,6 +5408,7 @@ function init() { ,fi: 'Insuliinin vaikutusaika (DIA)' ,bg: 'Продължителност на инсулиновата активност DIA' ,pl: 'Czas trwania aktywnej insuliny (DIA)' + ,ru: 'Время действия инсулина (DIA)' } ,'Represents the typical duration over which insulin takes effect. Varies per patient and per insulin type. Typically 3-4 hours for most pumped insulin and most patients. Sometimes also called insulin lifetime.' : { cs: 'Představuje typickou dobu, po kterou inzulín působí. Bývá různá podle pacienta a inzulínu. Typicky 3-4 hodiny pro pacienty s pumpou.' @@ -5373,6 +5418,7 @@ function init() { ,fi: 'Kertoo insuliinin tyypillisen vaikutusajan. Vaihtelee potilaan ja insuliinin tyypin mukaan. Tyypillisesti 3-4 tuntia pumpuissa käytettävällä insuliinilla.' ,bg: 'Представя типичната продължителност на действието на инсулина. Варира между отделните пациенти и различни инсулини. Обикновено е 3-4 часа за пациентите с помпа. Нарича се още живот на инсулина ' ,pl: 'Odzwierciedla czas dzialania insuliny.Może różnić sie w zależnosci od chorego i rodzaju insuliny. Zwykle sa to 3-4 godziny dla insuliny podawanej pompa u wiekszosci chorych. Inna nazwa to czas trwania insuliny.' + ,ru: 'Представляет типичную продолжительность действия инсулина. Зависит от пациента и от типа инсулина. Обычно 3-4 часа для большинства помповых инсулинов и большинства пациентов' } ,'Insulin to carb ratio (I:C)' : { cs: 'Inzulíno-sacharidový poměr (I:C).' @@ -5382,6 +5428,7 @@ function init() { ,fi: 'Insuliiniannoksen hiilihydraattisuhde (I:HH)' ,bg: 'Съотношение на инсулина към въглехидратите ICR I:C И:ВХ' ,pl: 'Wspolczynnik insulina/weglowodany (I:C)' + ,ru: 'Соотношение инсулин/углеводы' } ,'hours' : { cs: 'hodiny' @@ -5391,6 +5438,7 @@ function init() { ,fi: 'tuntia' ,bg: 'часове' ,pl: 'godziny' + ,ru: 'час' } ,'g/hour' : { cs: 'g/hod' @@ -5400,6 +5448,7 @@ function init() { ,fi: 'g/tunti' ,bg: 'гр/час' ,pl: 'g/godzine' + ,ru: 'г/час' } ,'g carbs per U insulin. The ratio of how many grams of carbohydrates are offset by each U of insulin.' : { cs: 'gramy na jednotku inzulínu. Poměr, jaké množství sacharidů pokryje jednotku inzulínu.' @@ -5409,6 +5458,7 @@ function init() { ,fi: 'g hiilihydraattia / yksikkö insuliinia. Suhde, joka kertoo montako grammaa hiilihydraattia vastaa yhtä yksikköä insuliinia.' ,bg: 'грам въглехидрат към 1 единица инсулин. Съотношението колко грама въглехидрат се покриват от 1 единица инсулин.' ,pl: 'g weglowodanów na 1j insuliny. Wspólczynnik ilosci gram weglowodanów równoważonych przez 1j insuliny.' + ,ru: 'г углеводов на ед инсулина. Соотношение ед инсулина необходимого для компенсации некоторого количества граммов углеводов' } ,'Insulin Sensitivity Factor (ISF)' : { cs: 'Citlivost inzulínu (ISF)' @@ -5418,6 +5468,7 @@ function init() { ,fi: 'Insuliiniherkkyys (ISF)' ,bg: 'Фактор на инсулинова чувствителност ISF ' ,pl: 'Wspólczynnik wrażliwosci na insuline (ISF)' + ,ru: 'Фактор чувствительности к инсулину' } ,'mg/dL or mmol/L per U insulin. The ratio of how much BG changes with each U of corrective insulin.' : { cs: 'mg/dL nebo mmol/L na jednotku inzulínu. Poměr, jak se změní glykémie po podaní jednotky inzulínu' @@ -5427,6 +5478,7 @@ function init() { ,fi: 'mg/dL tai mmol/L / 1 yksikkö insuliinia. Suhde, joka kertoo montako yksikköä verensokeria yksi yksikkö insuliinia laskee.' ,bg: 'мг/дл или ммол към 1 единица инсулин. Съотношението как се променя кръвната захар със всяка единица инсулинова корекция' ,pl: 'mg/dl lub mmol/L na 1j insuliny. Wspolczynnik obniżenia poziomu glukozy przez 1j insuliny' + ,ru: 'мг/дл или ммол/л на единицу инсулина. Насколько меняется СК с каждой единицей коррегирующего инсулина' } ,'Carbs activity / absorption rate' : { cs: 'Rychlost absorbce sacharidů' @@ -5436,6 +5488,7 @@ function init() { ,fi: 'Hiilihydraattiaktiivisuus / imeytymisnopeus' ,bg: 'Активност на въглехидратите / време за абсорбиране' ,pl: 'Aktywnosc weglowodanów / wspólczynnik absorpcji' + ,ru: 'Активность углеводов / скорость усвоения' } ,'grams per unit time. Represents both the change in COB per unit of time, as well as the amount of carbs that should take effect over that time. Carb absorption / activity curves are less well understood than insulin activity, but can be approximated using an initial delay followed by a constant rate of absorption (g/hr).' : { cs: 'gramy za jednotku času. Reprezentuje jak změnu COB za jednoku času, tak množství sacharidů, které se za tu dobu projevily. Křivka absorbce sacharidů je mnohem méně pochopitelná než IOB, ale může být aproximována počáteční pauzou následovanou konstantní hodnotou absorbce (g/hod).' From 8fbcb5a70de1d66f95ad19c1f7f45f5ef6c27b32 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sat, 23 Apr 2016 18:03:35 -0700 Subject: [PATCH 100/158] better formatting for boot error page; report env errors; respond to any get --- app.js | 12 +++--------- env.js | 12 +++++++----- lib/booterror.js | 22 ++++++++++++++++++++++ lib/bootevent.js | 15 ++++++++++++++- 4 files changed, 46 insertions(+), 15 deletions(-) create mode 100644 lib/booterror.js diff --git a/app.js b/app.js index 969eccbd34e..729c3cc6ad0 100644 --- a/app.js +++ b/app.js @@ -1,4 +1,5 @@ -var _ = require('lodash'); +'use strict'; + var express = require('express'); var compression = require('compression'); var bodyParser = require('body-parser'); @@ -15,14 +16,7 @@ function create (env, ctx) { app.enable('trust proxy'); // Allows req.secure test on heroku https connections. if (ctx.bootErrors && ctx.bootErrors.length > 0) { - var errors = _.map(ctx.bootErrors, function (obj) { - obj.err = _.pick(obj.err, Object.getOwnPropertyNames(obj.err)) - return obj; - }); - app.get('/', function (req, res) { - res.setHeader('content-type', 'application/json'); - res.json(errors); - }); + app.get('*', require('./lib/booterror')(ctx)); return app; } diff --git a/env.js b/env.js index d265b8a5f8d..30f382ab19f 100644 --- a/env.js +++ b/env.js @@ -54,12 +54,14 @@ function setAPISecret() { // if a passphrase was provided, get the hex digest to mint a single token if (useSecret) { if (readENV('API_SECRET').length < consts.MIN_PASSPHRASE_LENGTH) { - var msg = ['API_SECRET should be at least', consts.MIN_PASSPHRASE_LENGTH, 'characters']; - throw new Error(msg.join(' ')); + var msg = ['API_SECRET should be at least', consts.MIN_PASSPHRASE_LENGTH, 'characters'].join(' '); + console.error(msg); + env.err = {desc: msg}; + } else { + var shasum = crypto.createHash('sha1'); + shasum.update(readENV('API_SECRET')); + env.api_secret = shasum.digest('hex'); } - var shasum = crypto.createHash('sha1'); - shasum.update(readENV('API_SECRET')); - env.api_secret = shasum.digest('hex'); } } diff --git a/lib/booterror.js b/lib/booterror.js new file mode 100644 index 00000000000..f08eb06db39 --- /dev/null +++ b/lib/booterror.js @@ -0,0 +1,22 @@ +'use strict'; + +var _ = require('lodash'); + +var head = 'Nightscout - Boot Error

    Nightscout - Boot Error

    '; +var tail = '
    '; + +function bootError(ctx) { + + return function pageHandler (req, res) { + var errors = _.map(ctx.bootErrors, function (obj) { + obj.err = _.pick(obj.err, Object.getOwnPropertyNames(obj.err)); + return '
    ' + obj.desc + '
    ' + JSON.stringify(obj.err).replace(/\\n/g, '
    ') + '
    '; + }).join(' '); + + res.set('Content-Type', 'text/html'); + res.send(head + errors + tail); + + } +} + +module.exports = bootError; \ No newline at end of file diff --git a/lib/bootevent.js b/lib/bootevent.js index f195830969e..e6f61e17023 100644 --- a/lib/bootevent.js +++ b/lib/bootevent.js @@ -6,8 +6,20 @@ var UPDATE_THROTTLE = 1000; function boot (env) { + function checkEnv (ctx, next) { + if (env.err) { + ctx.bootErrors = ctx.bootErrors || [ ]; + ctx.bootErrors.push({'desc': 'ENV Error', err: env.err}); + } + next(); + } + function setupMongo (ctx, next) { - console.info('>>setting up mongo'); + + if (ctx.bootErrors && ctx.bootErrors.length > 0) { + return next(); + } + try { require('./storage')(env, function ready ( err, store ) { // FIXME, error is always null, if there is an error, the storage.js will throw an exception @@ -137,6 +149,7 @@ function boot (env) { } return require('bootevent')( ) + .acquire(checkEnv) .acquire(setupMongo) .acquire(setupInternals) .acquire(ensureIndexes) From bffb291d968a02939dfed3f65cbd2a70116b63c0 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sat, 23 Apr 2016 18:16:27 -0700 Subject: [PATCH 101/158] env no longer throws an error, it should set env.err but not api_secret --- tests/security.test.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tests/security.test.js b/tests/security.test.js index 7f692b6a31f..b3e802af601 100644 --- a/tests/security.test.js +++ b/tests/security.test.js @@ -87,11 +87,9 @@ describe('API_SECRET', function ( ) { it('should not work short', function ( ) { delete process.env.API_SECRET; process.env.API_SECRET = 'tooshort'; - var env; - (function ( ) { - env = require('../env')( ); - }).should.throw( ); - should.not.exist(env); + var env = require('../env')( ); + should.not.exist(env.api_secret); + env.err.desc.should.startWith('API_SECRET should be at least'); }); function ping_status (app, fn) { From 893c164884c45bb078d9dfc94ca54985ba214a4c Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sat, 23 Apr 2016 18:26:51 -0700 Subject: [PATCH 102/158] make sure env.err is cleared when config is called --- env.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/env.js b/env.js index 30f382ab19f..c44c8e91401 100644 --- a/env.js +++ b/env.js @@ -19,6 +19,10 @@ function config ( ) { env.PORT = readENV('PORT', 1337); env.static_files = readENV('NIGHTSCOUT_STATIC_FILES', __dirname + '/static/'); + if (env.err) { + delete env.err; + } + setSSL(); setAPISecret(); setVersion(); From 9196f4d1bfc7f8d9fd42ccc7495508dcd6baacc5 Mon Sep 17 00:00:00 2001 From: ruud de rooij Date: Sun, 24 Apr 2016 02:33:24 +0000 Subject: [PATCH 103/158] Use default grey in clolorblind-friendly theme Rather than light blue which conflicts with other UI elements, the colorblind-friendly theme now uses the same grey as used in the default theme as the "in-range" color. --- lib/client/index.js | 12 ++++++------ static/css/main.css | 4 ---- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/lib/client/index.js b/lib/client/index.js index e065e1446c5..dbb0eea51f6 100644 --- a/lib/client/index.js +++ b/lib/client/index.js @@ -387,13 +387,13 @@ client.init = function init(serverSettings, plugins) { function sgvToColor(sgv) { var color = 'grey'; - if (client.settings.theme === 'colors' || client.settings.theme === 'colorblindfriendly') { + if (client.settings.theme !== 'default') { if (sgv > client.settings.thresholds.bgHigh) { color = 'red'; } else if (sgv > client.settings.thresholds.bgTargetTop) { color = 'yellow'; - } else if (sgv >= client.settings.thresholds.bgTargetBottom && sgv <= client.settings.thresholds.bgTargetTop) { - color = client.settings.theme === 'colorblindfriendly' ? 'deepskyblue' : '#4cff00'; + } else if (sgv >= client.settings.thresholds.bgTargetBottom && sgv <= client.settings.thresholds.bgTargetTop && client.settings.theme === 'colors') { + color = '#4cff00'; } else if (sgv < client.settings.thresholds.bgLow) { color = 'red'; } else if (sgv < client.settings.thresholds.bgTargetBottom) { @@ -407,13 +407,13 @@ client.init = function init(serverSettings, plugins) { function sgvToColoredRange(sgv) { var range = ''; - if (client.settings.theme === 'colors' || client.settings.theme === 'colorblindfriendly') { + if (client.settings.theme !== 'default') { if (sgv > client.settings.thresholds.bgHigh) { range = 'urgent'; } else if (sgv > client.settings.thresholds.bgTargetTop) { range = 'warning'; - } else if (sgv >= client.settings.thresholds.bgTargetBottom && sgv <= client.settings.thresholds.bgTargetTop) { - range = client.settings.theme === 'colorblindfriendly' ? 'inrange-colorblindfriendly' : 'inrange'; + } else if (sgv >= client.settings.thresholds.bgTargetBottom && sgv <= client.settings.thresholds.bgTargetTop && client.settings.theme === 'colors') { + range = 'inrange'; } else if (sgv < client.settings.thresholds.bgLow) { range = 'urgent'; } else if (sgv < client.settings.thresholds.bgTargetBottom) { diff --git a/static/css/main.css b/static/css/main.css index e05ea0e5a85..b5423e7dd03 100644 --- a/static/css/main.css +++ b/static/css/main.css @@ -60,10 +60,6 @@ body { color: #4cff00; } -.inrange-colorblindfriendly .bgButton { - color: deepskyblue; -} - .bgStatus .currentBG { font-size: 120px; line-height: 100px; From 590b26326b153b511bdb88b866d3721d3f276fa3 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Sun, 24 Apr 2016 09:12:47 +0300 Subject: [PATCH 104/158] Fixes IAGE > 7 days --- lib/data/dataloader.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/data/dataloader.js b/lib/data/dataloader.js index 013320d444d..3cead60b342 100644 --- a/lib/data/dataloader.js +++ b/lib/data/dataloader.js @@ -42,7 +42,7 @@ function init(env, ctx) { loadEntries.bind(null, ddata, ctx) , loadTreatments.bind(null, ddata, ctx) , loadProfileSwitchTreatments.bind(null, ddata, ctx) - , loadSensorTreatments.bind(null, ddata, ctx) + , loadSensorAndInsulinTreatments.bind(null, ddata, ctx) , loadProfile.bind(null, ddata, ctx) , loadDeviceStatus.bind(null, ddata, env, ctx) ], loadComplete); @@ -166,11 +166,11 @@ function loadProfileSwitchTreatments (ddata, ctx, callback) { }); } -function loadSensorTreatments (ddata, ctx, callback) { +function loadSensorAndInsulinTreatments (ddata, ctx, callback) { var tq = { find: { eventType: { - $in: [ 'Sensor Start', 'Sensor Change'] + $in: [ 'Sensor Start', 'Sensor Change','Insulin Change'] } , created_at: { $gte: new Date(ddata.lastUpdated - (ONE_DAY * 32)).toISOString() From dbe29bd4bee725649073c8486b52eac739846305 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sun, 24 Apr 2016 00:22:44 -0700 Subject: [PATCH 105/158] make sure 'on'/'off' and 'true'/'false' for setting are handled correctly --- env.js | 4 ++-- lib/plugins/errorcodes.js | 2 +- lib/plugins/pushover.js | 2 +- lib/plugins/timeago.js | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/env.js b/env.js index c44c8e91401..de7ac7f4a1c 100644 --- a/env.js +++ b/env.js @@ -140,8 +140,8 @@ function readENV(varName, defaultValue) { || process.env[varName] || process.env[varName.toLowerCase()]; - if (typeof value === 'string' && value.toLowerCase() === 'on') { value = true; } - if (typeof value === 'string' && value.toLowerCase() === 'off') { value = false; } + if (typeof value === 'string' && (value.toLowerCase() === 'on' || value.toLowerCase() === 'true')) { value = true; } + if (typeof value === 'string' && (value.toLowerCase() === 'off' || value.toLowerCase() === 'false')) { value = false; } return value != null ? value : defaultValue; } diff --git a/lib/plugins/errorcodes.js b/lib/plugins/errorcodes.js index 1b1504cd754..587e7f95cf8 100644 --- a/lib/plugins/errorcodes.js +++ b/lib/plugins/errorcodes.js @@ -79,7 +79,7 @@ function init() { } addValuesToMapping(extendedSettings.info || '1 2 3 4 5 6 7 8', levels.INFO); - addValuesToMapping(extendedSettings.warn || 'off', levels.WARN); + addValuesToMapping(extendedSettings.warn || false, levels.WARN); addValuesToMapping(extendedSettings.urgent || '9 10', levels.URGENT); return mapping; diff --git a/lib/plugins/pushover.js b/lib/plugins/pushover.js index 3e04564a9e0..1a8ccf0fd01 100644 --- a/lib/plugins/pushover.js +++ b/lib/plugins/pushover.js @@ -106,7 +106,7 @@ function setupPushover (env) { var key = env.extendedSettings && env.extendedSettings.pushover && env.extendedSettings.pushover[type]; - if (key === 'off') { + if (key === false) { return []; //don't consider fallback, this type has been disabled } else if (key && key.split) { return key.split(' ') || fallback; diff --git a/lib/plugins/timeago.js b/lib/plugins/timeago.js index 414293ba2dd..0dccfefed78 100644 --- a/lib/plugins/timeago.js +++ b/lib/plugins/timeago.js @@ -62,9 +62,9 @@ function init ( ) { timeago.checkStatus = function checkStatus (sbx) { var lastSGVEntry = sbx.lastSGVEntry() - , warn = 'off' !== sbx.settings.alarmTimeagoWarn + , warn = sbx.settings.alarmTimeagoWarn , warnMins = sbx.settings.alarmTimeagoWarnMins || 15 - , urgent = 'off' !== sbx.settings.alarmTimeagoUrgent + , urgent = sbx.settings.alarmTimeagoUrgent , urgentMins = sbx.settings.alarmTimeagoUrgentMins || 30 ; From e54e83b2ff516a5fa21a1cf01d6bc08a5d72320b Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sun, 24 Apr 2016 00:47:17 -0700 Subject: [PATCH 106/158] add cob to /pebble if enabled --- lib/pebble.js | 13 +++++++++++++ tests/pebble.test.js | 10 +++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/lib/pebble.js b/lib/pebble.js index 1baa7cf6190..c971f4cc51d 100644 --- a/lib/pebble.js +++ b/lib/pebble.js @@ -5,6 +5,7 @@ var _ = require('lodash'); var sandbox = require('./sandbox')(); var units = require('./units')(); var iob = require('./plugins/iob')(); +var cob = require('./plugins/cob')(); var bwp = require('./plugins/boluswizardpreview')(); var delta = require('./plugins/delta')(); @@ -110,9 +111,20 @@ function addExtraData (first, req, sbx) { } } + function addCOB() { + if (req.cob) { + var cobResult = cob.cobTotal(data.treatments, data.devicestatus, data.profile, Date.now()); + if (cobResult) { + console.info('>>>cobResult', cobResult); + first.cob = cobResult.display || 0; + } + } + } + addDelta(); addBattery(); addIOB(); + addCOB(); } function prepareBGs (req, sbx) { @@ -165,6 +177,7 @@ function configure (env, ctx) { req.ctx = ctx; req.rawbg = env.settings.isEnabled('rawbg'); req.iob = env.settings.isEnabled('iob'); + req.cob = env.settings.isEnabled('cob'); req.mmol = (req.query.units || env.DISPLAY_UNITS) === 'mmol'; req.count = parseInt(req.query.count) || 1; diff --git a/tests/pebble.test.js b/tests/pebble.test.js index cf58f1b51ca..dc4f30ae0a0 100644 --- a/tests/pebble.test.js +++ b/tests/pebble.test.js @@ -75,7 +75,7 @@ ctx.ddata.cals = updateMills([ } ]); -ctx.ddata.profiles = [{dia: 4 }]; +ctx.ddata.profiles = [{dia: 4, sens: 70, carbratio: 15, carbs_hr: 30}]; ctx.ddata.treatments = updateMills([ { eventType: 'Snack Bolus', insulin: '1.50', carbs: '22' } @@ -111,6 +111,7 @@ describe('Pebble Endpoint', function ( ) { should.not.exist(bg.noise); should.not.exist(bg.rssi); should.not.exist(bg.iob); + should.not.exist(bg.cob); bg.battery.should.equal('100'); res.body.cals.length.should.equal(0); @@ -212,11 +213,11 @@ describe('Pebble Endpoint', function ( ) { }); }); -describe('Pebble Endpoint with Raw and IOB', function ( ) { +describe('Pebble Endpoint with Raw and IOB and COB', function ( ) { var pebbleRaw = require('../lib/pebble'); before(function (done) { var envRaw = require('../env')( ); - envRaw.settings.enable = ['rawbg', 'iob']; + envRaw.settings.enable = ['rawbg', 'iob', 'cob']; this.appRaw = require('express')( ); this.appRaw.enable('api'); this.appRaw.use('/pebble', pebbleRaw(envRaw, ctx)); @@ -242,6 +243,7 @@ describe('Pebble Endpoint with Raw and IOB', function ( ) { bg.noise.should.equal(1); bg.battery.should.equal('100'); bg.iob.should.equal('1.50'); + bg.cob.should.equal(22); res.body.cals.length.should.equal(1); var cal = res.body.cals[0]; @@ -262,6 +264,7 @@ describe('Pebble Endpoint with Raw and IOB', function ( ) { bgs.length.should.equal(1); var bg = bgs[0]; bg.iob.should.equal(0); + bg.cob.should.equal(0); done(); }); }); @@ -277,6 +280,7 @@ describe('Pebble Endpoint with Raw and IOB', function ( ) { bgs.length.should.equal(1); var bg = bgs[0]; bg.iob.should.equal('2.30'); + bg.cob.should.equal(0); done(); }); }); From 2849bb61a34ef28953594ae02005d2b6d8ef3361 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sun, 24 Apr 2016 00:49:54 -0700 Subject: [PATCH 107/158] clean up --- lib/pebble.js | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/pebble.js b/lib/pebble.js index c971f4cc51d..ad76050c56c 100644 --- a/lib/pebble.js +++ b/lib/pebble.js @@ -115,7 +115,6 @@ function addExtraData (first, req, sbx) { if (req.cob) { var cobResult = cob.cobTotal(data.treatments, data.devicestatus, data.profile, Date.now()); if (cobResult) { - console.info('>>>cobResult', cobResult); first.cob = cobResult.display || 0; } } From 44faec78a121af75c05c06eb9b27551c8e422006 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sun, 24 Apr 2016 00:58:40 -0700 Subject: [PATCH 108/158] allow *age alerts for upto 30 mins after alarm point to give them a better chance to fire --- lib/plugins/cannulaage.js | 4 ++-- lib/plugins/insulinage.js | 4 ++-- lib/plugins/sensorage.js | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/plugins/cannulaage.js b/lib/plugins/cannulaage.js index 80da1453197..590c7fe27c5 100644 --- a/lib/plugins/cannulaage.js +++ b/lib/plugins/cannulaage.js @@ -70,7 +70,7 @@ cage.findLatestTimeChange = function findLatestTimeChange(sbx) { prevDate = treatmentDate; returnValue.treatmentDate = treatmentDate; - //allow for 10 minute period after a full hour during which we'll alert the user + //allow for 30 minute period after a full hour during which we'll alert the user var a = moment(sbx.time); var b = moment(returnValue.treatmentDate); var days = a.diff(b,'days'); @@ -78,7 +78,7 @@ cage.findLatestTimeChange = function findLatestTimeChange(sbx) { var age = a.diff(b,'hours'); var minFractions = a.diff(b,'minutes') - age * 60; - returnValue.checkForAlert = minFractions <= 10; + returnValue.checkForAlert = minFractions <= 30; if (!returnValue.found) { returnValue.found = true; diff --git a/lib/plugins/insulinage.js b/lib/plugins/insulinage.js index 5a48edaeb6f..ba13e0b436b 100644 --- a/lib/plugins/insulinage.js +++ b/lib/plugins/insulinage.js @@ -69,7 +69,7 @@ iage.findLatestTimeChange = function findLatestTimeChange(sbx) { prevDate = treatmentDate; returnValue.treatmentDate = treatmentDate; - //allow for 10 minute period after a full hour during which we'll alert the user + //allow for 30 minute period after a full hour during which we'll alert the user var a = moment(sbx.time); var b = moment(returnValue.treatmentDate); var days = a.diff(b,'days'); @@ -77,7 +77,7 @@ iage.findLatestTimeChange = function findLatestTimeChange(sbx) { var age = a.diff(b,'hours'); var minFractions = a.diff(b,'minutes') - age * 60; - returnValue.checkForAlert = minFractions <= 10; + returnValue.checkForAlert = minFractions <= 30; if (!returnValue.found) { returnValue.found = true; diff --git a/lib/plugins/sensorage.js b/lib/plugins/sensorage.js index f092b8f7074..39c557ce569 100644 --- a/lib/plugins/sensorage.js +++ b/lib/plugins/sensorage.js @@ -94,7 +94,7 @@ sage.findLatestTimeChange = function findLatestTimeChange(sbx) { prevDate[event] = treatmentDate; returnValue[event].treatmentDate = treatmentDate; - //allow for 10 minute period after a full hour during which we'll alert the user + //allow for 30 minute period after a full hour during which we'll alert the user var a = moment(sbx.time); var b = moment(returnValue[event].treatmentDate); var days = a.diff(b,'days'); @@ -102,7 +102,7 @@ sage.findLatestTimeChange = function findLatestTimeChange(sbx) { var age = a.diff(b,'hours'); var minFractions = a.diff(b,'minutes') - age * 60; - returnValue[event].checkForAlert = minFractions <= 10; + returnValue[event].checkForAlert = minFractions <= 30; if (!returnValue[event].found) { returnValue[event].found = true; From 55cd3aa3ad7798cfb1a68e0d5ad7135bea9772aa Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Sun, 24 Apr 2016 13:26:25 +0300 Subject: [PATCH 109/158] Updating Finnish to 0.9.0 --- lib/language.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/language.js b/lib/language.js index 582f383d022..0aa7cbe1e7b 100644 --- a/lib/language.js +++ b/lib/language.js @@ -1287,6 +1287,7 @@ function init() { ,nb: 'Normal' ,pl: 'Normalny' ,ru: 'Норма' + ,fi: 'Normaali' } ,'Median' : { cs: 'Medián' @@ -5666,94 +5667,117 @@ function init() { cs: 'Kombinovaný bolus' ,pl: 'Bolus zlożony' ,ro: 'Bolus combinat' + ,fi: 'Yhdistelmäbolus' } ,'Difference' : { cs: 'Rozdíl' ,ro: 'Diferență' + ,fi: 'Ero' } ,'New time' : { cs: 'Nový čas' ,ro: 'Oră nouă' + ,fi: 'Uusi aika' } ,'Edit Mode' : { cs: 'Editační mód' ,ro: 'Mod editare' + ,fi: 'Muokkausmoodi' } ,'When enabled icon to start edit mode is visible' : { cs: 'Pokud je povoleno, ikona pro vstup do editačního módu je zobrazena' ,ro: 'La activare, butonul de editare este vizibil' + ,fi: 'Muokkausmoodin ikoni tulee näkyviin kun laitat tämän päälle' } ,'Operation' : { cs: 'Operace' ,ro: 'Operațiune' + ,fi: 'Operaatio' } ,'Move' : { cs: 'Přesunout' ,ro: 'Mutați' + ,fi: 'Liikuta' } ,'Delete' : { cs: 'Odstranit' ,ro: 'Ștergeți' + ,fi: 'Poista' } ,'Move insulin' : { cs: 'Přesunout inzulín' ,ro: 'Mutați insulina' + ,fi: 'Liikuta insuliinia' } ,'Move carbs' : { cs: 'Přesunout sacharidy' ,ro: 'Mutați carbohidrații' + ,fi: 'Liikuta hiilihydraatteja' } ,'Remove insulin' : { cs: 'Odstranit inzulín' ,ro: 'Ștergeți insulina' + ,fi: 'Poista insuliini' } ,'Remove carbs' : { cs: 'Odstranit sacharidy' ,ro: 'Ștergeți carbohidrații' + ,fi: 'Poista hiilihydraatit' } ,'Change treatment time to %1 ?' : { cs: 'Změnit čas ošetření na %1 ?' ,ro: 'Schimbați ora acțiunii cu %1 ?' + ,fi: 'Muuta hoidon aika? Uusi: %1' } ,'Change carbs time to %1 ?' : { cs: 'Změnit čas sacharidů na %1 ?' ,ro: 'Schimbați ora carbohidraților cu %1 ?' + ,fi: 'Muuta hiilihydraattien aika? Uusi: %1' } ,'Change insulin time to %1 ?' : { cs: 'Změnit čas inzulínu na %1 ?' ,ro: 'Schimbați ora insulinei cu %1 ?' + ,fi: 'Muuta insuliinin aika? Uusi: %1' } ,'Remove treatment ?' : { cs: 'Odstranit ošetření ?' ,ro: 'Ștergeți acțiunea?' + ,fi: 'Poista hoito?' } ,'Remove insulin from treatment ?' : { cs: 'Odstranit inzulín z ošetření ?' ,ro: 'Ștergeți insulina din acțiune?' + ,fi: 'Poista insuliini hoidosta?' } ,'Remove carbs from treatment ?' : { cs: 'Odstranit sacharidy z ošetření ?' ,ro: 'Ștergeți carbohidrații din acțiune?' + ,fi: 'Poista hiilihydraatit hoidosta?' } ,'Rendering' : { cs: 'Vykresluji' ,ro: 'Se desenează' + ,fi: 'Piirrän graafeja' } ,'Loading OpenAPS data of' : { cs: 'Nahrávám OpenAPS data z' ,ro: 'Se încarcă datele OpenAPS pentru' + ,fi: 'Lataan OpenAPS tietoja' } ,'Loading profile switch data' : { cs: 'Nahrávám data přepnutí profilu' ,ro: 'Se încarcă datele de schimbare profil' + ,fi: 'Lataan profiilinvaihtotietoja' } ,'Profile is going to be saved in newer format used in Nightscout 0.9.0 and above and will not be usable in older versions anymore.\nAre you sure?' : { cs: 'Profil bude uložen v novějším formátu používaném v Nightscoutu 0.9.0 a novějších. Již nebude použitelný se starší verzí.\nJste si jistý?' ,ro: 'Profilul va fi salvat într-un format nou, folosit în Nightscout 0.9.0 și superior și nu va mai fi posibilă folosirea pentru versiunile mai vechi.\nSunteți de acord?' + ,fi: 'Profiili tallennetaan uuteen Nightscout 0.9.0 käyttämään muotoon, eikä sitä voi enää käyttää vanhempien versioiden kanssa.\nOletko varma?' } ,'Wrong profile setting.\nNo profile defined to displayed time.\nRedirecting to profile editor to create new profile.' : { cs: 'Chybě nastavený profil.\nNení definovaný žádný platný profil k času zobrazení.\nProvádím přesměrování na editor profilu.' ,ro: 'Setare de profil eronată.\nNu este definit niciun profil pentru perioada afișată.\nMergeți la editorul de profiluri pentru a defini unul nou.' + ,fi: 'Väärä profiiliasetus tai profiilia ei löydy.\nSiirrytään profiilin muokkaamiseen uuden profiilin luontia varten.' } }; From e17fba7053da76da760ba52720900df2159bfcbd Mon Sep 17 00:00:00 2001 From: apanasef Date: Sun, 24 Apr 2016 16:32:42 +0300 Subject: [PATCH 110/158] Update language.js --- lib/language.js | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/lib/language.js b/lib/language.js index 0aa7cbe1e7b..985659b4a1f 100644 --- a/lib/language.js +++ b/lib/language.js @@ -5499,6 +5499,7 @@ function init() { ,fi: 'grammaa / aika. Kertoo tyypillisen nopeuden, jolla hiilihydraatit imeytyvät syömisen jälkeen. Imeytyminen tunnetaan jokseenkin huonosti, mutta voidaan arvioida keskimääräisesti. Yksikkönä grammaa tunnissa (g/h).' ,bg: 'грам за единица време. Представлява както промяната в COB за единица време, така и количеството ВХ които биха се усвоили за това време.' ,pl: 'g na jednostke czasu. Odzwierciedla zmiane COB na jednostke czasu oraz ilosć weglowodanów majacych przyniesć efekt w czasie. Krzywe absorpcji / aktywnosci weglowodanów sa mniej poznane niż aktywnosci insuliny ale moga być oszacowane przez ocenę opóźnienia wchłaniania przy stalym wspólczynniku absorpcji (g/h).' + ,ru: 'грамм на ед времени. Представляет изменение кол-ва углеводов в организме (COB)за единицу времени a также количество активных углеводов' } ,'Basal rates [unit/hour]' : { cs: 'Bazály [U/hod].' @@ -5508,6 +5509,7 @@ function init() { ,fi: 'Basaali [yksikköä/tunti]' ,bg: 'Базална стойност [единица/час]' ,pl: 'Dawka podstawowa [j/h]' + ,ru: 'Стойкость базала ед/час' } ,'Target BG range [mg/dL,mmol/L]' : { cs: 'Cílový rozsah glykémií [mg/dL,mmol/L]' @@ -5517,6 +5519,7 @@ function init() { ,fi: 'Tavoitealue [mg/dL tai mmol/L]' ,bg: 'Целеви диапазон на КЗ [мг/дл , ммол]' ,pl: 'Docelowy przedzial glikemii [mg/dl, mmol/L])' + ,ru: 'Целевой диапазон СК [mg/dL,mmol/L]' } ,'Start of record validity' : { cs: 'Začátek platnosti záznamu' @@ -5526,6 +5529,7 @@ function init() { ,fi: 'Merkinnän alkupäivämäärä' ,bg: 'Начало на записа' ,pl: 'Poczatek ważnych rekordów' + ,ru: 'Начало записей' } ,'Icicle' : { cs: 'Rampouch' @@ -5536,6 +5540,7 @@ function init() { ,fi: 'Jääpuikko' ,bg: 'Висулка' ,pl: 'Odwrotnosć' + ,ru: 'Силуэт сосульки' } ,'Render Basal' : { cs: 'Zobrazení bazálu' @@ -5546,6 +5551,7 @@ function init() { ,fi: 'Näytä basaali' ,bg: 'Базал' ,pl: 'Zmiana dawki bazowej' + ,ru: 'Дать базал' } ,'Profile used' : { cs: 'Použitý profil' @@ -5555,6 +5561,7 @@ function init() { ,fi: 'Käytetty profiili' ,bg: 'Използван профил' ,pl: 'Profil wykorzystywany' + ,ru: 'Используемый профиль' } ,'Calculation is in target range.' : { cs: 'Kalkulace je v cílovém rozsahu.' @@ -5563,6 +5570,7 @@ function init() { ,fi: 'Laskettu arvo on tavoitealueella' ,bg: 'Калкулацията е в граници' ,pl: 'Obliczenie miesci sie w zakresie docelowym' + ,ru: 'Расчет в целевых пределах ' } ,'Loading profile records ...' : { cs: 'Nahrávám profily ...' @@ -5572,6 +5580,7 @@ function init() { ,fi: 'Ladataan profiileja ...' ,bg: 'Зареждане на профили' ,pl: 'Wczytywanie rekordów profilu' + ,ru: 'Загрузка записей профиля' } ,'Values loaded.' : { cs: 'Data nahrána.' @@ -5581,6 +5590,7 @@ function init() { ,fi: 'Arvot ladattu' ,bg: 'Стойностите за заредени.' ,pl: 'Wartosci wczytane.' + ,ru: 'Данные загружены' } ,'Default values used.' : { cs: 'Použity výchozí hodnoty.' @@ -5590,6 +5600,7 @@ function init() { ,fi: 'Oletusarvot ladattu' ,bg: 'Стойностите по подразбиране са използвани.' ,pl: 'Używane domyslne wartosci.' + ,ru: 'Используются значения по умолчанию' } ,'Error. Default values used.' : { cs: 'CHYBA: Použity výchozí hodnoty.' @@ -5599,6 +5610,7 @@ function init() { ,fi: 'Virhe! Käytetään oletusarvoja.' ,bg: 'Грешка. Стойностите по подразбиране са използвани.' ,pl: 'Blad.Używane domyslne wartosci. ' + ,ru: 'Ошибка. Используются значения по умолчанию' } ,'Time ranges of target_low and target_high don\'t match. Values are restored to defaults.' : { cs: 'Rozsahy časů pro limity glykémií si neodpovídají. Budou nastaveny výchozí hodnoty.' @@ -5608,6 +5620,7 @@ function init() { ,fi: 'Matalan ja korkean tavoitteen aikarajat eivät täsmää. Arvot on vaihdettu oletuksiin.' ,bg: 'Времевите интервали за долна граница на кз и горна граница на кз не съвпадат. Стойностите са възстановени по подразбиране.' ,pl: 'Zakres czasu w docelowo niskim i wysokim przedziale nie sa dopasowane. Przywrócono wartosci domyslne' + ,ru: 'Диапазон времени нижних и верхних целевых значений не совпадают. Восстановлены значения по умолчанию' } ,'Valid from:' : { cs: 'Platné od:' @@ -5617,6 +5630,7 @@ function init() { ,fi: 'Alkaen:' ,bg: 'Валиден от' ,pl: 'Ważne od:' + ,ru: 'Действует с' } ,'Save current record before switching to new?' : { cs: 'Uložit současný záznam před přepnutím na nový?' @@ -5626,6 +5640,7 @@ function init() { ,fi: 'Tallenna nykyinen merkintä ennen vaihtamista uuteen?' ,bg: 'Запазване текущият запис преди превключване на нов?' ,pl: 'Nagrać bieżacy rekord przed przelaczeniem na nowy?' + ,ru: 'Сохранить текущие записи перед переходом к новым?' } ,'Add new interval before' : { cs: 'Přidat nový interval před' @@ -5635,6 +5650,7 @@ function init() { ,fi: 'Lisää uusi aikaväli ennen' ,bg: 'Добави интервал преди' ,pl: 'Dodaj nowy przedzial przed' + ,ru: 'Добавить интервал перед' } ,'Delete interval' : { cs: 'Smazat interval' @@ -5644,6 +5660,7 @@ function init() { ,fi: 'Poista aikaväli' ,bg: 'Изтрий интервал' ,pl: 'Usuń przedzial' + ,ru: 'Удалить интервал' } ,'I:C' : { cs: 'I:C' @@ -5653,6 +5670,8 @@ function init() { ,fi: 'I:HH' ,bg: 'И:ВХ' ,pl: 'I:C' + ,ru: 'Инс:Углев' + } ,'ISF' : { cs: 'ISF' @@ -5662,122 +5681,147 @@ function init() { ,fi: 'ISF' ,bg: 'ISF' ,pl: 'ISF' + ,ru: 'Чувствительность к инсулину' } ,'Combo Bolus' : { cs: 'Kombinovaný bolus' ,pl: 'Bolus zlożony' ,ro: 'Bolus combinat' ,fi: 'Yhdistelmäbolus' + ,ru: 'Комбинированный болюс' } ,'Difference' : { cs: 'Rozdíl' ,ro: 'Diferență' ,fi: 'Ero' + ,ru: 'Разность' } ,'New time' : { cs: 'Nový čas' ,ro: 'Oră nouă' ,fi: 'Uusi aika' + ,ru: 'Новое время' } ,'Edit Mode' : { cs: 'Editační mód' ,ro: 'Mod editare' ,fi: 'Muokkausmoodi' + ,ru: 'Режим редактирования' } ,'When enabled icon to start edit mode is visible' : { cs: 'Pokud je povoleno, ikona pro vstup do editačního módu je zobrazena' ,ro: 'La activare, butonul de editare este vizibil' ,fi: 'Muokkausmoodin ikoni tulee näkyviin kun laitat tämän päälle' + ,ru: 'При активации видна икона начать режим редактирования' } ,'Operation' : { cs: 'Operace' ,ro: 'Operațiune' ,fi: 'Operaatio' + ,ru: 'Операция' } ,'Move' : { cs: 'Přesunout' ,ro: 'Mutați' ,fi: 'Liikuta' + ,ru: 'Переместить' } ,'Delete' : { cs: 'Odstranit' ,ro: 'Ștergeți' ,fi: 'Poista' + ,ru: 'Удалить' } ,'Move insulin' : { cs: 'Přesunout inzulín' ,ro: 'Mutați insulina' ,fi: 'Liikuta insuliinia' + ,ru: 'Переместить инсулин' } ,'Move carbs' : { cs: 'Přesunout sacharidy' ,ro: 'Mutați carbohidrații' ,fi: 'Liikuta hiilihydraatteja' + ,ru: 'Переместить углеводы' } ,'Remove insulin' : { cs: 'Odstranit inzulín' ,ro: 'Ștergeți insulina' ,fi: 'Poista insuliini' + ,ru: 'Удалить инсулин' } ,'Remove carbs' : { cs: 'Odstranit sacharidy' ,ro: 'Ștergeți carbohidrații' ,fi: 'Poista hiilihydraatit' + ,ru: 'Удалить углеводы' } ,'Change treatment time to %1 ?' : { cs: 'Změnit čas ošetření na %1 ?' ,ro: 'Schimbați ora acțiunii cu %1 ?' ,fi: 'Muuta hoidon aika? Uusi: %1' + ,ru: 'Изменить время события на %1?' } ,'Change carbs time to %1 ?' : { cs: 'Změnit čas sacharidů na %1 ?' ,ro: 'Schimbați ora carbohidraților cu %1 ?' ,fi: 'Muuta hiilihydraattien aika? Uusi: %1' + ,ru: 'Изменить время подачи углеводов на %?' } ,'Change insulin time to %1 ?' : { cs: 'Změnit čas inzulínu na %1 ?' ,ro: 'Schimbați ora insulinei cu %1 ?' ,fi: 'Muuta insuliinin aika? Uusi: %1' + ,ru: 'Изменить время подачи инсулина на %?' } ,'Remove treatment ?' : { cs: 'Odstranit ošetření ?' ,ro: 'Ștergeți acțiunea?' ,fi: 'Poista hoito?' + ,ru: 'Удалить событие?' + } ,'Remove insulin from treatment ?' : { cs: 'Odstranit inzulín z ošetření ?' ,ro: 'Ștergeți insulina din acțiune?' ,fi: 'Poista insuliini hoidosta?' + ,ru: 'Удалить инсулин из событий?' } ,'Remove carbs from treatment ?' : { cs: 'Odstranit sacharidy z ošetření ?' ,ro: 'Ștergeți carbohidrații din acțiune?' ,fi: 'Poista hiilihydraatit hoidosta?' + ,ru: 'Удалить углеводы из событий?' } ,'Rendering' : { cs: 'Vykresluji' ,ro: 'Se desenează' ,fi: 'Piirrän graafeja' + ,ru: 'Построение графика' } ,'Loading OpenAPS data of' : { cs: 'Nahrávám OpenAPS data z' ,ro: 'Se încarcă datele OpenAPS pentru' ,fi: 'Lataan OpenAPS tietoja' + ,ru: 'Загрузка данных OpenAPS' } ,'Loading profile switch data' : { cs: 'Nahrávám data přepnutí profilu' ,ro: 'Se încarcă datele de schimbare profil' ,fi: 'Lataan profiilinvaihtotietoja' + ,ru: 'Загрузка данных нового профиля' } ,'Profile is going to be saved in newer format used in Nightscout 0.9.0 and above and will not be usable in older versions anymore.\nAre you sure?' : { cs: 'Profil bude uložen v novějším formátu používaném v Nightscoutu 0.9.0 a novějších. Již nebude použitelný se starší verzí.\nJste si jistý?' ,ro: 'Profilul va fi salvat într-un format nou, folosit în Nightscout 0.9.0 și superior și nu va mai fi posibilă folosirea pentru versiunile mai vechi.\nSunteți de acord?' ,fi: 'Profiili tallennetaan uuteen Nightscout 0.9.0 käyttämään muotoon, eikä sitä voi enää käyttää vanhempien versioiden kanssa.\nOletko varma?' + ,ru: 'Профиль будет сохранен в более позднем формате Nightscout 0.9.0 и выше и не сможет более использоваться в старых версиях. Вы согласны? ' } ,'Wrong profile setting.\nNo profile defined to displayed time.\nRedirecting to profile editor to create new profile.' : { cs: 'Chybě nastavený profil.\nNení definovaný žádný platný profil k času zobrazení.\nProvádím přesměrování na editor profilu.' ,ro: 'Setare de profil eronată.\nNu este definit niciun profil pentru perioada afișată.\nMergeți la editorul de profiluri pentru a defini unul nou.' ,fi: 'Väärä profiiliasetus tai profiilia ei löydy.\nSiirrytään profiilin muokkaamiseen uuden profiilin luontia varten.' + ,ru: 'Неверные настройки профиля. Для отображаемого времени не определен профиль. Переход к редактору профиля для создания нового' } }; From efa4540c4014df0e1ab0f594c61e62f91b34f352 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sun, 24 Apr 2016 09:05:20 -0700 Subject: [PATCH 111/158] add new MONGODB_URI env to the list we try to connect to mongo, thanks mlab :( --- env.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env.js b/env.js index c44c8e91401..4dda205a43f 100644 --- a/env.js +++ b/env.js @@ -87,7 +87,7 @@ function setVersion() { } function setMongo() { - env.mongo = readENV('MONGO_CONNECTION') || readENV('MONGO') || readENV('MONGOLAB_URI'); + env.mongo = readENV('MONGO_CONNECTION') || readENV('MONGO') || readENV('MONGOLAB_URI') || readENV('MONGODB_URI'); env.mongo_collection = readENV('MONGO_COLLECTION', 'entries'); env.MQTT_MONITOR = readENV('MQTT_MONITOR', null); if (env.MQTT_MONITOR) { From 86c871dbdedf9645c12507b678b57e12c6f63a21 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 24 Apr 2016 18:19:03 +0200 Subject: [PATCH 112/158] Update language.js @sulkaharo you broke it :) --- lib/language.js | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/language.js b/lib/language.js index 0aa7cbe1e7b..efb18a982c7 100644 --- a/lib/language.js +++ b/lib/language.js @@ -1287,7 +1287,6 @@ function init() { ,nb: 'Normal' ,pl: 'Normalny' ,ru: 'Норма' - ,fi: 'Normaali' } ,'Median' : { cs: 'Medián' From 60dc546d1a545443313370603c87e0bae6c5a714 Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Sun, 24 Apr 2016 19:01:57 +0200 Subject: [PATCH 113/158] profile editor test --- tests/profileeditor.test.js | 50 ++++++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/tests/profileeditor.test.js b/tests/profileeditor.test.js index f53384e41ad..9b858c7c34e 100644 --- a/tests/profileeditor.test.js +++ b/tests/profileeditor.test.js @@ -56,12 +56,12 @@ var exampleProfile = { 'target_low':[ { 'time': '00:00', - 'value': 0 + 'value': 100 }], 'target_high':[ { 'time': '00:00', - 'value': 0 + 'value': 120 }] } } @@ -190,10 +190,52 @@ describe('Profile editor', function ( ) { //var result = $('body').html(); //var filesys = require('fs'); - //var logfile = filesys.createWriteStream('out.txt', { flags: 'a'} ) + //var logfile = filesys.createWriteStream('out.html', { flags: 'a'} ) //logfile.write($('body').html()); - //console.log(result); + // database records manipulation + $('#pe_databaserecords option').length.should.be.equal(1); + $('#pe_records_add').click(); + $('#pe_databaserecords option').length.should.be.equal(2); + $('#pe_records_remove').click(); + $('#pe_databaserecords option').length.should.be.equal(1); + $('#pe_records_clone').click(); + $('#pe_databaserecords option').length.should.be.equal(2); + $('#pe_databaserecords option').val(0); + + //console.log($('#pe_databaserecords').html()); + //console.log($('#pe_databaserecords').val()); + + // database records manipulation + $('#pe_profiles option').length.should.be.equal(1); + $('#pe_profile_add').click(); + $('#pe_profiles option').length.should.be.equal(2); + $('#pe_profile_remove').click(); + $('#pe_profiles option').length.should.be.equal(1); + $('#pe_profile_clone').click(); + $('#pe_profiles option').length.should.be.equal(2); + $('#pe_profiles option').val('Default'); + + //console.log($('#pe_profiles').html()); + //console.log($('#pe_profiles').val()); + + + // I:C range + $('#pe_ic_val_0').val().should.be.equal('30'); + $('#pe_ic_placeholder').find('img.addsingle').click(); + $('#pe_ic_val_0').val().should.be.equal('0'); + $('#pe_ic_val_1').val().should.be.equal('30'); + $('#pe_ic_placeholder').find('img.delsingle').click(); + $('#pe_ic_val_0').val().should.be.equal('30'); + + // traget bg range + $('#pe_targetbg_low_0').val().should.be.equal('100'); + $('#pe_targetbg_placeholder').find('img.addtargetbg').click(); + $('#pe_targetbg_low_0').val().should.be.equal('0'); + $('#pe_targetbg_low_1').val().should.be.equal('100'); + $('#pe_targetbg_placeholder').find('img.deltargetbg').click(); + $('#pe_targetbg_low_0').val().should.be.equal('100'); + $('#pe_submit').click(); done(); From 554cd5f7eba2e4de039d2cff84b58f5453196f37 Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Sun, 24 Apr 2016 19:24:59 +0200 Subject: [PATCH 114/158] profile editor test #2 --- tests/profileeditor.test.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/profileeditor.test.js b/tests/profileeditor.test.js index 9b858c7c34e..98cda47a1e4 100644 --- a/tests/profileeditor.test.js +++ b/tests/profileeditor.test.js @@ -210,6 +210,9 @@ describe('Profile editor', function ( ) { $('#pe_profiles option').length.should.be.equal(1); $('#pe_profile_add').click(); $('#pe_profiles option').length.should.be.equal(2); + $('#pe_profile_name').val('Test'); + $('#pe_profiles option').val('Default'); + $('#pe_profiles option').val('Test'); $('#pe_profile_remove').click(); $('#pe_profiles option').length.should.be.equal(1); $('#pe_profile_clone').click(); From b9ad1714622c28f9d09f944d4953cbe9e6009843 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Sun, 24 Apr 2016 11:04:40 -0700 Subject: [PATCH 115/158] version bump for Grilled Cheese beta1 --- bower.json | 2 +- package.json | 2 +- static/index.html | 10 +++++----- static/report/index.html | 8 ++++---- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/bower.json b/bower.json index 4abd70c3a93..986f8f7fede 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "nightscout", - "version": "0.9.0-dev", + "version": "0.9.0-beta1", "dependencies": { "jquery": "2.1.0", "jQuery-Storage-API": "~1.7.2", diff --git a/package.json b/package.json index 0caf33fd551..188f8a195d4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Nightscout", - "version": "0.9.0-dev", + "version": "0.9.0-beta1", "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/static/index.html b/static/index.html index 7355d530043..eb6943e0e48 100644 --- a/static/index.html +++ b/static/index.html @@ -25,10 +25,10 @@ - - + + - + @@ -589,8 +589,8 @@
    - - + + diff --git a/static/report/index.html b/static/report/index.html index 76ff67dd5b4..b09dc3d194b 100644 --- a/static/report/index.html +++ b/static/report/index.html @@ -23,7 +23,7 @@ - + @@ -116,8 +116,8 @@

    Nightscout reporting Authentication status: - - + + @@ -126,7 +126,7 @@

    Nightscout reporting - + From a196d064b728777a11794444c4da36616b78fa33 Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Sun, 24 Apr 2016 22:30:34 +0200 Subject: [PATCH 116/158] load treatments properly --- static/report/js/report.js | 52 ++++++++++++++++++++++++++++++-------- 1 file changed, 41 insertions(+), 11 deletions(-) diff --git a/static/report/js/report.js b/static/report/js/report.js index 62fba34f0bf..2317b898d09 100644 --- a/static/report/js/report.js +++ b/static/report/js/report.js @@ -375,6 +375,7 @@ if (day===6 && $('#rp_sa').is(':checked')) { daystoshow[d]++; } }); countDays(); + addPreviousDayTreatments(); display(); } @@ -383,16 +384,12 @@ sorteddaystoshow = []; $('#info').html(''+translate('Loading')+' ...'); for (var d in daystoshow) { - if (daystoshow[d]===matchesneeded) { - if (count < maxdays) { - $('#info').append($('
    ')); - count++; - loadData(d, options, dataLoadedCallback); - } else { - $('#info').append($('
    '+d+' '+translate('not displayed')+'.
    ')); - delete daystoshow[d]; - } + if (count < maxdays) { + $('#info').append($('
    ')); + count++; + loadData(d, options, dataLoadedCallback); } else { + $('#info').append($('
    '+d+' '+translate('not displayed')+'.
    ')); delete daystoshow[d]; } } @@ -412,13 +409,35 @@ if (dayscount < maxdays) { dayscount++; } + } else { + delete daystoshow[d]; } } } //console.log('Total: ', daystoshow, 'Matches needed: ', matchesneeded, 'Will be loaded: ', dayscount); } + function addPreviousDayTreatments() { + for (var d in daystoshow) { + if (daystoshow.hasOwnProperty(d)) { + if (dayscount < maxdays) { + var day = moment.tz(d,zone); + var previous = day.subtract(1,'days'); + var formated = previous.format('YYYY-MM-DD'); + if (!daystoshow[formated]) { + daystoshow[formated] = { treatmentsonly: true}; + console.log('Adding ' + formated + ' for loading treatments'); + } + } + } + } + //console.log('Total: ', daystoshow, 'Matches needed: ', matchesneeded, 'Will be loaded: ', dayscount); + } + function dataLoadedCallback (day) { + if (daystoshow[day].treatmentsonly) { + return; + } loadeddays++; sorteddaystoshow.push(day); if (loadeddays === dayscount) { @@ -446,8 +465,10 @@ datastorage.allstatsrecords = []; datastorage.alldays = 0; sorteddaystoshow.forEach(function eachDay(day) { - datastorage.allstatsrecords = datastorage.allstatsrecords.concat(datastorage[day].statsrecords); - datastorage.alldays++; + if (!daystoshow[day].treatmentsonly) { + datastorage.allstatsrecords = datastorage.allstatsrecords.concat(datastorage[day].statsrecords); + datastorage.alldays++; + } }); options.maxInsulinValue = maxInsulinValue; options.maxCarbsValue = maxCarbsValue; @@ -463,6 +484,15 @@ datastorage.tempbasalTreatments = datastorage.tempbasalTreatments.concat(datastorage[day].tempbasalTreatments); }); + for (var d in daystoshow) { + if (daystoshow.hasOwnProperty(d)) { + if (daystoshow[d].treatmentsonly) { + delete daystoshow[d]; + delete datastorage[d]; + } + } + } + report_plugins.eachPlugin(function (plugin) { // jquery plot doesn't draw to hidden div $('#'+plugin.name+'-placeholder').css('display',''); From 41db64dca42b1f0e6aa18b3eb54f904cdd37f154 Mon Sep 17 00:00:00 2001 From: Mark Wilson Date: Sun, 24 Apr 2016 19:35:16 -0700 Subject: [PATCH 117/158] Include "clock" from MM Connect for pump plugin --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 188f8a195d4..1fa013a4162 100644 --- a/package.json +++ b/package.json @@ -64,7 +64,7 @@ "jquery": "^2.1.4", "lodash": "^4.0.0", "long": "~2.2.3", - "minimed-connect-to-nightscout": "git://github.com/mddub/minimed-connect-to-nightscout#v1.0.0", + "minimed-connect-to-nightscout": "git://github.com/mddub/minimed-connect-to-nightscout#v1.1.0", "moment": "2.10.6", "moment-timezone": "^0.4.0", "parse-duration": "^0.1.1", From deb1950219e2e6075600db31e89bae8988252905 Mon Sep 17 00:00:00 2001 From: Peter Holka Date: Fri, 1 Apr 2016 23:57:09 +0200 Subject: [PATCH 118/158] Update language.js --- lib/language.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/lib/language.js b/lib/language.js index c4f4da89b96..150bbc12dbc 100644 --- a/lib/language.js +++ b/lib/language.js @@ -1090,6 +1090,7 @@ function init() { ,nb: 'Ukeresultat' ,pl: 'Tygodniowe sukcesy' ,ru: 'Результаты недели' + ,sk: 'Týždenná úspešnosť' } ,'No data available' : { cs: 'Žádná dostupná data' @@ -1108,6 +1109,7 @@ function init() { ,he: 'אין מידע זמין' ,pl: 'Brak danych' ,ru: 'Нет доступных данных' + ,sk: 'Žiadne dostupné dáta' } ,'Low' : { cs: 'Nízká' @@ -1126,6 +1128,7 @@ function init() { ,he: 'נמוך' ,pl: 'Niski' ,ru: 'Низкий СК' + ,sk: 'Nízka' } ,'In Range' : { cs: 'V rozsahu' @@ -1144,6 +1147,7 @@ function init() { ,he: 'בטווח' ,pl: 'W zakresie' ,ru: 'В диапазоне' + ,sk: 'V rozsahu' } ,'Period' : { cs: 'Období' @@ -1162,6 +1166,7 @@ function init() { ,he: 'תקופה' ,pl: 'Okres' ,ru: 'Период' + ,sk: 'Obdobie' } ,'High' : { cs: 'Vysoká' @@ -1180,6 +1185,7 @@ function init() { ,he: 'גבוה' ,pl: 'Wysoki' ,ru: 'Высокий СК' + ,sk: 'Vysoká' } ,'Average' : { cs: 'Průměrná' @@ -1198,6 +1204,7 @@ function init() { ,he: 'ממוצע' ,pl: 'Średnia' ,ru: 'Усредненный СК' + ,sk: 'Priemer' } ,'Low Quartile' : { cs: 'Nízký kvartil' @@ -1216,6 +1223,7 @@ function init() { ,he: 'רבעון נמוך' ,pl: 'Dolny kwartyl' ,ru: 'Нижняя четверть' + ,sk: 'Nizky kvartil' } ,'Upper Quartile' : { cs: 'Vysoký kvartil' @@ -1234,6 +1242,7 @@ function init() { ,he: 'רבעון גבוה' ,pl: 'Górny kwartyl' ,ru: 'Верхняя четверть' + ,sk: 'Vysoký kvartil' } ,'Quartile' : { cs: 'Kvartil' @@ -1252,6 +1261,7 @@ function init() { ,he: 'רבעון' ,pl: 'Kwadryl' ,ru: 'Четверть' + ,sk: 'Kvartil' } ,'Date' : { cs: 'Datum' @@ -1270,6 +1280,7 @@ function init() { ,he: 'תאריך' ,pl: 'Data' ,ru: 'Дата' + ,sk: 'Dátum' } ,'Normal' : { cs: 'Normální' @@ -1287,6 +1298,7 @@ function init() { ,nb: 'Normal' ,pl: 'Normalny' ,ru: 'Норма' + ,sk: 'Normálny' } ,'Median' : { cs: 'Medián' @@ -1305,6 +1317,7 @@ function init() { ,he: 'חציון' ,pl: 'Mediana' ,ru: 'Усредненный' + ,sk: 'Medián' } ,'Readings' : { cs: 'Záznamů' @@ -1323,6 +1336,7 @@ function init() { ,he: 'קריאות' ,pl: 'Odczyty' ,ru: 'Измерения' + ,sk: 'Záznamy' } ,'StDev' : { cs: 'St. odchylka' @@ -1341,6 +1355,7 @@ function init() { ,he: 'סטיית תקן' ,pl: 'Stand. odchylenie' ,ru: 'Стандартные отклонения' + ,sk: 'Štand. odch.' } ,'Daily stats report' : { cs: 'Denní statistiky' @@ -1359,6 +1374,7 @@ function init() { ,he: 'דוח סטטיסטיקה יומית' ,pl: 'Dzienne statystyki' ,ru: 'Статистика дня' + ,sk: 'Denné štatistiky' } ,'Glucose Percentile report' : { cs: 'Tabulka percentil glykémií' @@ -1376,6 +1392,7 @@ function init() { ,nb: 'Glukoserapport i prosent' ,pl: 'Tabela centylowa glikemii' ,ru: 'Процентиль' + ,sk: 'Report percentilu glykémií' } ,'Glucose distribution' : { cs: 'Rozložení glykémií' @@ -1394,6 +1411,7 @@ function init() { ,he: 'פיזור סוכר' ,pl: 'Rozkład glikemii' ,ru: 'Распределение СК' + ,sk: 'Rozloženie glykémie' } ,'days total' : { cs: 'dní celkem' @@ -1412,6 +1430,7 @@ function init() { ,he: 'מספר ימים' ,pl: 'dni łącznie' ,ru: 'всего дней' + ,sk: 'dní celkom' } ,'Overall' : { cs: 'Celkem' @@ -1430,6 +1449,7 @@ function init() { ,he: 'סך הכל' ,pl: 'Ogółem' ,ru: 'Всего' + ,sk: 'Súhrn' } ,'Range' : { cs: 'Rozsah' @@ -1448,6 +1468,7 @@ function init() { ,he: 'טווח' ,pl: 'Zakres' ,ru: 'Диапазон' + ,sk: 'Rozsah' } ,'% of Readings' : { cs: '% záznamů' @@ -1466,6 +1487,7 @@ function init() { ,he: 'אחוז קריאות' ,pl: '% Odczytów' ,ru: '% измерений' + ,sk: '% záznamov' } ,'# of Readings' : { cs: 'počet záznamů' @@ -1484,6 +1506,7 @@ function init() { ,he: 'מספר קריאות' ,pl: 'Ilość Odczytów' ,ru: '№ измерения' + ,sk: 'Počet záznamov' } ,'Mean' : { cs: 'Střední hodnota' @@ -1502,6 +1525,7 @@ function init() { ,he: 'ממוצע' ,pl: 'Wartość średnia' ,ru: 'Среднее значение' + ,sk: 'Stred' } ,'Standard Deviation' : { cs: 'Standardní odchylka' @@ -1520,6 +1544,7 @@ function init() { ,he: 'סטיית תקן' ,pl: 'Standardowe odchylenie' ,ru: 'Стандартное отклонение' + ,sk: 'Štandardná odchylka' } ,'Max' : { cs: 'Max' @@ -1538,6 +1563,7 @@ function init() { ,he: 'מקסימאלי' ,pl: 'Max' ,ru: 'Макс' + ,sk: 'Max' } ,'Min' : { cs: 'Min' @@ -1556,6 +1582,7 @@ function init() { ,he: 'מינימאלי' ,pl: 'Min' ,ru: 'Мин' + ,sk: 'Min' } ,'A1c estimation*' : { cs: 'Předpokládané HBA1c*' @@ -1574,6 +1601,7 @@ function init() { ,he: 'משוער A1c' ,pl: 'HbA1c przewidywany' ,ru: 'Ожидаемый HbA1c' + ,sk: 'Odhadované HbA1C*' } ,'Weekly Success' : { cs: 'Týdenní úspěšnost' @@ -1591,6 +1619,7 @@ function init() { ,nb: 'Ukeresultat' ,pl: 'Tygodniowe sukcesy' ,ru: 'Результаты недели' + ,sk: 'Týždenná úspešnosť' } ,'There is not sufficient data to run this report. Select more days.' : { cs: 'Není dostatek dat. Vyberte delší časové období.' From e872960cfa7af35fbc8f17a46a1b76f6d05f4e58 Mon Sep 17 00:00:00 2001 From: Peter Holka Date: Mon, 4 Apr 2016 12:48:54 +0200 Subject: [PATCH 119/158] Update language.js --- lib/language.js | 64 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/lib/language.js b/lib/language.js index 150bbc12dbc..138a53430b6 100644 --- a/lib/language.js +++ b/lib/language.js @@ -1638,6 +1638,7 @@ function init() { ,he: 'לא נמצא מספיק מידע ליצירת הדוח. בחר ימים נוספים.' ,pl: 'Nie ma wystarczających danych dla tego raportu. Wybierz więcej dni. ' ,ru: 'Для этого отчета недостаточно данных. Выберите больше дней.' + ,sk: 'Nedostatok dát. Vyberte dlhšie časové obdobie.' } // food editor ,'Using stored API secret hash' : { @@ -1656,6 +1657,7 @@ function init() { ,nb: 'Bruker lagret API nøkkel' ,pl: 'Korzystajac z zapisanego poufnego API' ,ru: 'Применение сохраненного пароля API' + ,sk: 'Používam uložený API hash heslo' } ,'No API secret hash stored yet. You need to enter API secret.' : { cs: 'Není uložený žádný hash API hesla. Musíte zadat API heslo.' @@ -1673,6 +1675,7 @@ function init() { ,nb: 'Mangler API nøkkel. Du må skrive inn API hemmelighet.' ,pl: 'Nie ma żadnego poufnego API zapisanego. Należy wprowadzić poufne API.' ,ru: 'Пароля API нет в памяти. Введите пароль API' + ,sk: 'Nieje uložené žiadne API hash heslo. Musíte zadať API heslo.' } ,'Database loaded' : { cs: 'Databáze načtena' @@ -1690,6 +1693,7 @@ function init() { ,nb: 'Database lest' ,pl: 'Baza danych załadowana' ,ru: 'База данных загружена' + ,sk: 'Databáza načítaná' } ,'Error: Database failed to load' : { cs: 'Chyba při načítání databáze' @@ -1708,6 +1712,7 @@ function init() { ,he: 'שגיאה: לא ניתן לטעון בסיס נתונים' ,pl: 'Błąd, baza danych nie może być załadowana' ,ru: 'Не удалось загрузить базу данных' + ,sk: 'Chyba pri načítaní databázi' } ,'Create new record' : { cs: 'Vytvořit nový záznam' @@ -1726,6 +1731,7 @@ function init() { ,he: 'צור רשומה חדשה' ,pl: 'Tworzenie nowego wpisu' ,ru: 'Создайте новую запись' + ,sk: 'Vytovriť nový záznam' } ,'Save record' : { cs: 'Uložit záznam' @@ -1744,6 +1750,7 @@ function init() { ,he: 'שמור רשומה' ,pl: 'Zapisz wpis' ,ru: 'Сохраните запись' + ,sk: 'Uložiť záznam' } ,'Portions' : { cs: 'Porcí' @@ -1762,6 +1769,7 @@ function init() { ,he: 'מנות' ,pl: 'Porcja' ,ru: 'Порции' + ,sk: 'Porcií' } ,'Unit' : { cs: 'Jedn' @@ -1780,6 +1788,7 @@ function init() { ,he: 'יחידות' ,pl: 'Jednostka' ,ru: 'Единица' + ,sk: 'Jednot.' } ,'GI' : { cs: 'GI' @@ -1797,6 +1806,7 @@ function init() { ,nb: 'GI' ,pl: 'IG' ,ru: 'ГИ' + ,sk: 'GI' } ,'Edit record' : { cs: 'Upravit záznam' @@ -1815,6 +1825,7 @@ function init() { ,he: 'ערוך רשומה' ,pl: 'Edycja wpisu' ,ru: 'Редактировать запись' + ,sk: 'Upraviť záznam' } ,'Delete record' : { cs: 'Smazat záznam' @@ -1833,6 +1844,7 @@ function init() { ,he: 'מחק רשומה' ,pl: 'Usuń wpis' ,ru: 'Стереть запись' + ,sk: 'Zmazať záznam' } ,'Move to the top' : { cs: 'Přesuň na začátek' @@ -1851,6 +1863,7 @@ function init() { ,he: 'עבור למעלה' ,pl: 'Przejdź do góry' ,ru: 'Переместить наверх' + ,sk: 'Presunúť na začiatok' } ,'Hidden' : { cs: 'Skrytý' @@ -1869,6 +1882,7 @@ function init() { ,he: 'מוסתר' ,pl: 'Ukryte' ,ru: 'Скрыт' + ,sk: 'Skrytý' } ,'Hide after use' : { cs: 'Skryj po použití' @@ -1887,6 +1901,7 @@ function init() { ,he: 'הסתר לאחר שימוש' ,pl: 'Ukryj po użyciu' ,ru: 'Скрыть после использования' + ,sk: 'Skryť po použití' } ,'Your API secret must be at least 12 characters long' : { cs: 'Vaše API heslo musí mít alespoň 12 znaků' @@ -1904,6 +1919,7 @@ function init() { ,nb: 'Din API nøkkel må være minst 12 tegn lang' ,pl: 'Twoje poufne API musi zawierać co majmniej 12 znaków' ,ru: 'Ваш пароль API должен быть не менее 12 знаков' + ,sk: 'Vaše API heslo musí mať najmenej 12 znakov' } ,'Bad API secret' : { cs: 'Chybné API heslo' @@ -1921,6 +1937,7 @@ function init() { ,nb: 'Ugyldig API nøkkel' ,pl: 'Błędne poufne API' ,ru: 'Плохой пароль API' + ,sk: 'Nesprávne API heslo' } ,'API secret hash stored' : { cs: 'Hash API hesla uložen' @@ -1938,6 +1955,7 @@ function init() { ,nb: 'API nøkkel lagret' ,pl: 'Poufne API zapisane' ,ru: 'Пароль API сохранен' + ,sk: 'Hash API hesla uložený' } ,'Status' : { cs: 'Status' @@ -1956,6 +1974,7 @@ function init() { ,he: 'מצב מערכת' ,pl: 'Status' ,ru: 'Статус' + ,sk: 'Status' } ,'Not loaded' : { cs: 'Nenačtený' @@ -1973,6 +1992,7 @@ function init() { ,nb: 'Ikke lest' ,pl: 'Nie załadowany' ,ru: 'Не загружено' + ,sk: 'Nenačítaný' } ,'Food Editor' : { cs: 'Editor jídel' @@ -1990,6 +2010,7 @@ function init() { ,nb: 'Mat editor' ,pl: 'Edytor posiłków' ,ru: 'Редактор еды' + ,sk: 'Editor jedál' } ,'Your database' : { cs: 'Vaše databáze' @@ -2008,6 +2029,7 @@ function init() { ,he: 'בסיס הנתונים שלך' ,pl: 'Twoja baza danych' ,ru: 'Ваша база данных ' + ,sk: 'Vaša databáza' } ,'Filter' : { cs: 'Filtr' @@ -2026,6 +2048,7 @@ function init() { ,he: 'סנן' ,pl: 'Filtr' ,ru: 'Фильтр' + ,sk: 'Filter' } ,'Save' : { cs: 'Ulož' @@ -2044,6 +2067,7 @@ function init() { ,he: 'שמור' ,pl: 'Zapisz' ,ru: 'Сохранить' + ,sk: 'Uložiť' } ,'Clear' : { cs: 'Vymaž' @@ -2062,6 +2086,7 @@ function init() { ,he: 'נקה' ,pl: 'Wyczyść' ,ru: 'Очистить' + ,sk: 'Vymazať' } ,'Record' : { cs: 'Záznam' @@ -2080,6 +2105,7 @@ function init() { ,he: 'רשומה' ,pl: 'Wpis' ,ru: 'Запись' + ,sk: 'Záznam' } ,'Quick picks' : { cs: 'Rychlý výběr' @@ -2098,6 +2124,7 @@ function init() { ,he: 'בחירה מהירה' ,pl: 'Szybki wybór' ,ru: 'Быстрый отбор' + ,sk: 'Rýchly výber' } ,'Show hidden' : { cs: 'Zobraz skryté' @@ -2116,6 +2143,7 @@ function init() { ,he: 'הצג נתונים מוסתרים' ,pl: 'Pokaż ukryte' ,ru: 'Показать скрытые' + ,sk: 'Zobraziť skryté' } ,'Your API secret' : { cs: 'Vaše API heslo' @@ -2133,6 +2161,7 @@ function init() { ,nb: 'Din API nøkkel' ,pl: 'Twoje poufne hasło API' ,ru: 'Ваш пароль API' + ,sk: 'Vaše API heslo' } ,'Store hash on this computer (Use only on private computers)' : { cs: 'Ulož hash na tomto počítači (používejte pouze na soukromých počítačích)' @@ -2150,6 +2179,7 @@ function init() { ,nb: 'Lagre hash på denne pc (bruk kun på privat pc)' ,pl: 'Zapisane na tym komputerze (Korzystaj tylko na komputerach prywatnych)' ,ru: 'Сохранить на этом ПК (только для личных компьютеров)' + ,sk: 'Uložiť hash na tomto počítači (Používajte iba na súkromných počítačoch)' } ,'Treatments' : { cs: 'Ošetření' @@ -2168,6 +2198,7 @@ function init() { ,he: 'טיפולים' ,pl: 'Leczenie' ,ru: 'Лечение' + ,sk: 'Ošetrenie' } ,'Time' : { cs: 'Čas' @@ -2186,6 +2217,7 @@ function init() { ,he: 'זמן' ,pl: 'Czas' ,ru: 'Время' + ,sk: 'Čas' } ,'Event Type' : { cs: 'Typ události' @@ -2204,6 +2236,7 @@ function init() { ,he: 'סוג אירוע' ,pl: 'Typ zdarzenia' ,ru: 'Тип события' + ,sk: 'Typ udalosti' } ,'Blood Glucose' : { cs: 'Glykémie' @@ -2222,6 +2255,7 @@ function init() { ,he: 'סוכר בדם' ,pl: 'Glikemia z krwi' ,ru: 'Сахар крови' + ,sk: 'Glykémia' } ,'Entered By' : { cs: 'Zadal' @@ -2240,6 +2274,7 @@ function init() { ,he: 'הוזן על-ידי' ,pl: 'Wprowadzono przez' ,ru: 'Введено от' + ,sk: 'Zadal' } ,'Delete this treatment?' : { cs: 'Vymazat toto ošetření?' @@ -2258,6 +2293,7 @@ function init() { ,he: 'למחוק רשומה זו?' ,pl: 'Usunąć te leczenie?' ,ru: 'Удалить эту запись лечения' + ,sk: 'Vymazať toto ošetrenie?' } ,'Carbs Given' : { cs: 'Sacharidů' @@ -2276,6 +2312,7 @@ function init() { ,he: 'פחמימות שנאכלו' ,pl: 'Węglowodany spożyte' ,ru: 'Дано углеводов' + ,sk: 'Sacharidov' } ,'Inzulin Given' : { cs: 'Inzulínu' @@ -2294,6 +2331,7 @@ function init() { ,he: 'אינסולין שניתן' ,pl: 'Insulina podana' ,ru: 'Дано инсулина' + ,sk: 'Inzulínu' } ,'Event Time' : { cs: 'Čas události' @@ -2312,6 +2350,7 @@ function init() { ,he: 'זמן האירוע' ,pl: 'Czas zdarzenia' ,ru: 'Время события' + ,sk: 'Čas udalosti' } ,'Please verify that the data entered is correct' : { cs: 'Prosím zkontrolujte, zda jsou údaje zadány správně' @@ -2330,6 +2369,7 @@ function init() { ,he: 'נא לוודא שהמידע שהוזן הוא נכון ומדוייק' ,pl: 'Proszę sprawdzić, czy wprowadzone dane są prawidłowe' ,ru: 'Проверьте правильность вводимых данных' + ,sk: 'Prosím, skontrolujte správnosť zadaných údajov' } ,'BG' : { cs: 'Glykémie' @@ -2347,6 +2387,7 @@ function init() { ,nb: 'BS' ,pl: 'BG' ,ru: 'Гликемия' + ,sk: 'Glykémia' } ,'Use BG correction in calculation' : { cs: 'Použij korekci na glykémii' @@ -2364,6 +2405,7 @@ function init() { ,nb: 'Bruk blodsukkerkorrigering i beregning' ,pl: 'Użyj BG w obliczeniach korekty' ,ru: 'При рассчете проводите коррекцию на СК' + ,sk: 'Použite korekciu na glykémiu' } ,'BG from CGM (autoupdated)' : { cs: 'Glykémie z CGM (automaticky aktualizovaná)' @@ -2381,6 +2423,7 @@ function init() { ,nb: 'BS fra CGM (automatisk)' ,pl: 'Wartość BG z CGM (automatycznie)' ,ru: 'СК с сенсора (автообновление)' + ,sk: 'Glykémia z CGM (automatická aktualizácia) ' } ,'BG from meter' : { cs: 'Glykémie z glukoměru' @@ -2398,6 +2441,7 @@ function init() { ,nb: 'BS fra blodsukkerapparat' ,pl: 'Wartość BG z glukometru' ,ru: 'СК по глюкометру' + ,sk: 'Glykémia z glukomeru' } ,'Manual BG' : { cs: 'Ručně zadaná glykémie' @@ -2415,6 +2459,7 @@ function init() { ,nb: 'Manuelt BS' ,pl: 'Ręczne wprowadzenie BG' ,ru: 'ввести данные СК вручную' + ,sk: 'Ručne zadaná glykémia' } ,'Quickpick' : { cs: 'Rychlý výběr' @@ -2432,6 +2477,7 @@ function init() { ,nb: 'Hurtigvalg' ,pl: 'Szybki wybór' ,ru: 'Быстрый отбор' + ,sk: 'Rýchly výber' } ,'or' : { cs: 'nebo' @@ -2450,6 +2496,7 @@ function init() { ,he: 'או' ,pl: 'lub' ,ru: 'или' + ,sk: 'alebo' } ,'Add from database' : { cs: 'Přidat z databáze' @@ -2468,6 +2515,7 @@ function init() { ,he: 'הוסף מבסיס נתונים' ,pl: 'Dodaj z bazy danych' ,ru: 'Добавить из базы данных' + ,sk: 'Pridať z databázi' } ,'Use carbs correction in calculation' : { cs: 'Použij korekci na sacharidy' @@ -2485,6 +2533,7 @@ function init() { ,nb: 'Bruk karbohydratkorrigering i beregning' ,pl: 'Użyj wartość węglowodanów w obliczeniach korekty' ,ru: 'Пользуйтесь коррекцией углеводов при рассчете' + ,sk: 'Použite korekciu na sacharidy' } ,'Use COB correction in calculation' : { cs: 'Použij korekci na COB' @@ -2502,6 +2551,7 @@ function init() { ,nb: 'Benytt aktive karbohydrater i beregning' ,pl: 'Użyj COB do obliczenia korekty' ,ru: 'Учитывайте активные углеводы при рассчете (COB)' + ,sk: 'Použite korekciu na COB' } ,'Use IOB in calculation' : { cs: 'Použij IOB ve výpočtu' @@ -2519,6 +2569,7 @@ function init() { ,nb: 'Bruk aktivt insulin i beregningen' ,pl: 'Użyj IOB w obliczeniach' ,ru: 'Учитывайте активный инсулин при рассчете (IOB)' + ,sk: 'Použite IOB vo výpočte' } ,'Other correction' : { cs: 'Jiná korekce' @@ -2536,6 +2587,7 @@ function init() { ,nb: 'Annen korrigering' ,pl: 'Inna korekta' ,ru: 'Иная коррекция' + ,sk: 'Iná korekcia' } ,'Rounding' : { cs: 'Zaokrouhlení' @@ -2553,6 +2605,7 @@ function init() { ,nb: 'Avrunding' ,pl: 'Zaokrąglanie' ,ru: 'Округление' + ,sk: 'Zaokrúhlenie' } ,'Enter insulin correction in treatment' : { cs: 'Zahrň inzulín do záznamu ošetření' @@ -2570,6 +2623,7 @@ function init() { ,nb: 'Task inn insulinkorrigering' ,pl: 'Wprowadź wartość korekty w leczeniu' ,ru: 'Введите коррекцию инсулина в лечение' + ,sk: 'Zadajte korekciu inzulínu do ošetrenia' } ,'Insulin needed' : { cs: 'Potřebný inzulín' @@ -2588,6 +2642,7 @@ function init() { ,he: 'אינסולין נדרש' ,pl: 'Wymagana insulina' ,ru: 'Требуется инсулин' + ,sk: 'Potrebný inzulín' } ,'Carbs needed' : { cs: 'Potřebné sach' @@ -2606,6 +2661,7 @@ function init() { ,he: 'פחמימות נדרשות' ,pl: 'Wymagane węglowodany' ,ru: 'Требуются углеводы' + ,sk: 'Potrebné sacharidy' } ,'Carbs needed if Insulin total is negative value' : { cs: 'Chybějící sacharidy v případě, že výsledek je záporný' @@ -2623,6 +2679,7 @@ function init() { ,nb: 'Karbohydrater er nødvendige når total insulinmengde er negativ' ,pl: 'Wymagane węglowodany, jeśli łączna wartość Insuliny jest ujemna' ,ru: 'Требуются углеводы если суммарный инсулин отрицательная величина' + ,sk: 'Potrebné sacharidy, ak je celkový inzulín záporná hodnota' } ,'Basal rate' : { cs: 'Bazál' @@ -2640,6 +2697,7 @@ function init() { ,nb: 'Basal' ,pl: 'Dawka bazowa' ,ru: 'Базальный' + ,sk: 'Bazál' } ,'60 minutes earlier' : { cs: '60 min předem' @@ -2657,6 +2715,7 @@ function init() { ,nb: '60 min tidligere' ,pl: '60 minut wcześniej' ,ru: 'на 60 минут раньше' + ,sk: '60 minút skôr' } ,'45 minutes earlier' : { cs: '45 min předem' @@ -2674,6 +2733,7 @@ function init() { ,nb: '45 min tidligere' ,pl: '45 minut wcześniej' ,ru: 'на 45 минут раньше' + ,sk: '45 minút skôr' } ,'30 minutes earlier' : { cs: '30 min předem' @@ -2691,6 +2751,7 @@ function init() { ,nb: '30 min tidigere' ,pl: '30 minut wcześniej' ,ru: 'на 30 минут раньше' + ,sk: '30 minút skôr' } ,'20 minutes earlier' : { cs: '20 min předem' @@ -2708,6 +2769,7 @@ function init() { ,nb: '20 min tidligere' ,pl: '20 minut wcześniej' ,ru: 'на 20 минут раньше' + ,sk: '20 minút skôr' } ,'15 minutes earlier' : { cs: '15 min předem' @@ -2725,6 +2787,7 @@ function init() { ,nb: '15 min tidligere' ,pl: '15 minut wcześniej' ,ru: 'на 15 минут раньше' + ,sk: '15 minút skôr' } ,'Time in minutes' : { cs: 'Čas v minutách' @@ -2743,6 +2806,7 @@ function init() { ,he: 'זמן בדקות' ,pl: 'Czas w minutach' ,ru: 'Время в минутах' + ,sk: 'Čas v minútach' } ,'15 minutes later' : { cs: '15 min po' From 3b8b57b028b758b65ae93cf45adbd5b8da4ee40a Mon Sep 17 00:00:00 2001 From: Peter Holka Date: Mon, 4 Apr 2016 16:31:54 +0200 Subject: [PATCH 120/158] Slovak translation update --- lib/language.js | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/lib/language.js b/lib/language.js index 138a53430b6..cd9d04d14fc 100644 --- a/lib/language.js +++ b/lib/language.js @@ -2715,7 +2715,7 @@ function init() { ,nb: '60 min tidligere' ,pl: '60 minut wcześniej' ,ru: 'на 60 минут раньше' - ,sk: '60 minút skôr' + ,sk: '60 min. pred' } ,'45 minutes earlier' : { cs: '45 min předem' @@ -2733,7 +2733,7 @@ function init() { ,nb: '45 min tidligere' ,pl: '45 minut wcześniej' ,ru: 'на 45 минут раньше' - ,sk: '45 minút skôr' + ,sk: '45 min. pred' } ,'30 minutes earlier' : { cs: '30 min předem' @@ -2751,7 +2751,7 @@ function init() { ,nb: '30 min tidigere' ,pl: '30 minut wcześniej' ,ru: 'на 30 минут раньше' - ,sk: '30 minút skôr' + ,sk: '30 min. pred' } ,'20 minutes earlier' : { cs: '20 min předem' @@ -2769,7 +2769,7 @@ function init() { ,nb: '20 min tidligere' ,pl: '20 minut wcześniej' ,ru: 'на 20 минут раньше' - ,sk: '20 minút skôr' + ,sk: '20 min. pred' } ,'15 minutes earlier' : { cs: '15 min předem' @@ -2787,7 +2787,7 @@ function init() { ,nb: '15 min tidligere' ,pl: '15 minut wcześniej' ,ru: 'на 15 минут раньше' - ,sk: '15 minút skôr' + ,sk: '15 min. pred' } ,'Time in minutes' : { cs: 'Čas v minutách' @@ -2825,6 +2825,7 @@ function init() { ,he: 'רבע שעה מאוחר יותר' ,pl: '15 minut później' ,ru: 'на 15 мин позже' + ,sk: '15 min. po' } ,'20 minutes later' : { cs: '20 min po' @@ -2843,6 +2844,7 @@ function init() { ,he: 'עשרים דקות מאוחר יותר' ,pl: '20 minut później' ,ru: 'на 20 мин позже' + ,sk: '20 min. po' } ,'30 minutes later' : { cs: '30 min po' @@ -2861,6 +2863,7 @@ function init() { ,he: 'חצי שעה מאוחר יותר' ,pl: '30 minut później' ,ru: 'на 30 мин позже' + ,sk: '30 min. po' } ,'45 minutes later' : { cs: '45 min po' @@ -2879,6 +2882,7 @@ function init() { ,he: 'שלושת רבעי שעה מאוחר יותר' ,pl: '45 minut później' ,ru: 'на 45 мин позже' + ,sk: '45 min. po' } ,'60 minutes later' : { cs: '60 min po' @@ -2897,6 +2901,7 @@ function init() { ,he: 'שעה מאוחר יותר' ,pl: '60 minut później' ,ru: 'на 60 мин позже' + ,sk: '60 min. po' } ,'Additional Notes, Comments' : { cs: 'Dalši poznámky, komentáře' @@ -2915,6 +2920,7 @@ function init() { ,he: 'הערות נוספות' ,pl: 'Uwagi dodatkowe' ,ru: 'Дополнительные примечания' + ,sk: 'Ďalšie poznámky, komentáre' } ,'RETRO MODE' : { cs: 'V MINULOSTI' @@ -2932,6 +2938,7 @@ function init() { ,nb: 'Retro mode' ,pl: 'Tryb RETRO' ,ru: 'режим РЕТРО' + ,sk: 'V MINULOSTI' } ,'Now' : { cs: 'Nyní' @@ -2950,6 +2957,7 @@ function init() { ,he: 'עכשיו' ,pl: 'Teraz' ,ru: 'Сейчас' + ,sk: 'Teraz' } ,'Other' : { cs: 'Jiný' @@ -2968,6 +2976,7 @@ function init() { ,he: 'אחר' ,pl: 'Inny' ,ru: 'Другое' + ,sk: 'Iný' } ,'Submit Form' : { cs: 'Odeslat formulář' @@ -2986,6 +2995,7 @@ function init() { ,he: 'שמור' ,pl: 'Zatwierdz' ,ru: 'Ввести форму' + ,sk: 'Odoslať formulár' } ,'Profile Editor' : { cs: 'Editor profilu' From b93519a6a5499d3b8d8487b67dc2b459e9fb4fbc Mon Sep 17 00:00:00 2001 From: Peter Holka Date: Tue, 5 Apr 2016 12:54:37 +0200 Subject: [PATCH 121/158] Update language.js --- lib/language.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/language.js b/lib/language.js index cd9d04d14fc..af6f8e1a8fc 100644 --- a/lib/language.js +++ b/lib/language.js @@ -3014,6 +3014,7 @@ function init() { ,he: 'ערוך פרופיל' ,pl: 'Edytor profilu' ,ru: 'Редактор профиля' + ,sk: 'Editor profilu' } ,'Reports' : { cs: 'Výkazy' @@ -3031,6 +3032,7 @@ function init() { ,nb: 'Rapporteringsverktøy' ,pl: 'Raporty' ,ru: 'Отчеты' + ,sk: 'Správy' } ,'Add food from your database' : { cs: 'Přidat jidlo z Vaší databáze' @@ -3048,6 +3050,7 @@ function init() { ,nb: 'Legg til mat fra din database' ,pl: 'Dodaj posiłek z twojej bazy danych' ,ru: 'Добавьте еду из вашей базы данных' + ,sk: 'Pridať jedlo z Vašej databázy' } ,'Reload database' : { cs: 'Znovu nahraj databázi' @@ -3065,6 +3068,7 @@ function init() { ,nb: 'Last inn databasen på nytt' ,pl: 'Odśwież bazę danych' ,ru: 'Перезагрузить базу данных' + ,sk: 'Obnoviť databázu' } ,'Add' : { cs: 'Přidej' @@ -3082,6 +3086,7 @@ function init() { ,nb: 'Legg til' ,pl: 'Dodaj' ,ru: 'Добавить' + ,sk: 'Pridať' } ,'Unauthorized' : { cs: 'Neautorizováno' @@ -3099,6 +3104,7 @@ function init() { ,nb: 'Uautorisert' ,pl: 'Nieuwierzytelniono' ,ru: 'Не авторизовано' + ,sk: 'Neautorizované' } ,'Entering record failed' : { cs: 'Vložení záznamu selhalo' @@ -3116,6 +3122,7 @@ function init() { ,nb: 'Lagring feilet' ,pl: 'Wprowadzenie wpisu nie powiodło się' ,ru: 'Ввод записи не состоялся' + ,sk: 'Zadanie záznamu zlyhalo' } ,'Device authenticated' : { cs: 'Zařízení ověřeno' @@ -3133,6 +3140,7 @@ function init() { ,nb: 'Enhet godkjent' ,pl: 'Urządzenie uwierzytelnione' ,ru: 'Устройство определено' + ,sk: 'Zariadenie overené' } ,'Device not authenticated' : { cs: 'Zařízení není ověřeno' @@ -3150,6 +3158,7 @@ function init() { ,nb: 'Enhet ikke godkjent' ,pl: 'Urządzenie nieuwierzytelnione' ,ru: 'Устройство не определено' + ,sk: 'Zariadenie nieje overené' } ,'Authentication status' : { cs: 'Stav ověření' @@ -3167,6 +3176,7 @@ function init() { ,nb: 'Autentiseringsstatus' ,pl: 'Status uwierzytelnienia' ,ru: 'Статус авторизации' + ,sk: 'Stav overenia' } ,'Authenticate' : { cs: 'Ověřit' @@ -3184,6 +3194,7 @@ function init() { ,nb: 'Autentiser' ,pl: 'Uwierzytelnienie' ,ru: 'Авторизуйте' + ,sk: 'Overiť' } ,'Remove' : { cs: 'Vymazat' @@ -3201,6 +3212,7 @@ function init() { ,nb: 'Slett' ,pl: 'Usuń' ,ru: 'Удалите' + ,sk: 'Odstrániť' } ,'Your device is not authenticated yet' : { cs: 'Toto zařízení nebylo dosud ověřeno' From e90a3c6b1f5068992a8efeaa3071730f78f592b4 Mon Sep 17 00:00:00 2001 From: Peter Holka Date: Tue, 5 Apr 2016 16:56:41 +0200 Subject: [PATCH 122/158] Update language.js --- lib/language.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/language.js b/lib/language.js index af6f8e1a8fc..9614b26a41a 100644 --- a/lib/language.js +++ b/lib/language.js @@ -3230,6 +3230,7 @@ function init() { ,nb: 'Din enhet er ikke godkjent enda' ,pl: 'Twoje urządzenie nie jest jeszcze uwierzytelnione' ,ru: 'Ваше устройство не опознано ' + ,sk: 'Toto zariadenie zatiaľ nebolo overené' } ,'Sensor' : { cs: 'Senzor' @@ -3248,6 +3249,7 @@ function init() { ,he: 'חיישן סוכר' ,pl: 'Sensor' ,ru: 'Сенсор' + ,sk: 'Senzor' } ,'Finger' : { cs: 'Glukoměr' @@ -3266,6 +3268,7 @@ function init() { ,he: 'אצבע' ,pl: 'Glukometr' ,ru: 'Палец' + ,sk: 'Glukomer' } ,'Manual' : { cs: 'Ručně' @@ -3284,6 +3287,7 @@ function init() { ,he: 'ידני' ,pl: 'Ręcznie' ,ru: 'Вручную' + ,sk: 'Ručne' } ,'Scale' : { cs: 'Měřítko' @@ -3301,6 +3305,7 @@ function init() { ,nb: 'Skala' ,pl: 'Skala' ,ru: 'Масштаб' + ,sk: 'Mierka' } ,'Linear' : { cs: 'Lineární' @@ -3319,6 +3324,7 @@ function init() { ,he: 'לינארי' ,pl: 'Liniowa' ,ru: 'Линейный' + ,sk: 'Lineárne' } ,'Logarithmic' : { cs: 'Logaritmické' @@ -3337,6 +3343,7 @@ function init() { ,he: 'לוגריתמי' ,pl: 'Logarytmiczna' ,ru: 'Логарифмический' + ,sk: 'Logaritmické' } ,'Logarithmic (Dynamic)' : { cs: 'Logaritmické (Dynamické)' @@ -3347,6 +3354,7 @@ function init() { ,sv: 'Logaritmisk (Dynamisk)' ,pl: 'Logarytmiczna (Dynamiczna)' ,ru: 'Логарифмический (Динамический)' + ,sk: 'Logaritmické (Dynamické)' } ,'Insulin-on-Board' : { cs: 'IOB' @@ -3357,6 +3365,7 @@ function init() { ,sv: 'Aktivt insulin (IOB)' ,pl: 'Aktywna insulina (IOB)' ,ru: 'Активный инсулин' + ,sk: 'Aktívny inzulín (IOB)' } ,'Carbs-on-Board' : { cs: 'COB' @@ -3367,6 +3376,7 @@ function init() { ,sv: 'Aktiva kolhydrater (COB)' ,pl: 'Aktywne wglowodany (COB)' ,ru: 'Активные углеводы' + ,sk: 'Aktívne sacharidy (COB)' } ,'Bolus Wizard Preview' : { cs: 'BWP-Náhled bolusového kalk.' @@ -3377,6 +3387,7 @@ function init() { ,sv: 'Boluskalkylator (BWP)' ,pl: 'Kalkulator Bolusa (BWP)' ,ru: 'Предпросмотр мастера болюса' + ,sk: 'Bolus Wizard' } ,'Value Loaded' : { From ac220bfacea84c74943d88c0100763d3f58beca2 Mon Sep 17 00:00:00 2001 From: Peter Holka Date: Tue, 12 Apr 2016 12:38:20 +0200 Subject: [PATCH 123/158] Update language.js --- lib/language.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/lib/language.js b/lib/language.js index 9614b26a41a..39092188cfa 100644 --- a/lib/language.js +++ b/lib/language.js @@ -3399,6 +3399,7 @@ function init() { ,sv: 'Laddat värde' ,pl: 'Wartości wczytane' ,ru: 'Величина загружена' + ,sk: 'Hodnoty načítané' } ,'Cannula Age' : { cs: 'CAGE-Stáří kanyly' @@ -3409,6 +3410,7 @@ function init() { ,sv: 'Kanylålder (CAGE)' ,pl: 'Czas wkłucia (CAGE)' ,ru: 'Возраст сенсора' + ,sk: 'Vek kanyly (CAGE)' } ,'Basal Profile' : { cs: 'Bazál' @@ -3419,6 +3421,7 @@ function init() { ,sv: 'Basalprofil' ,pl: 'Profil dawki bazowej' ,ru: 'Профиль Базального' + ,sk: 'Bazál' } ,'Silence for 30 minutes' : { cs: 'Ztlumit na 30 minut' @@ -3436,6 +3439,7 @@ function init() { ,nb: 'Stille i 30 min' ,pl: 'Wycisz na 30 minut' ,ru: 'Тишина 30 минут' + ,sk: 'Stíšiť na 30 minút' } ,'Silence for 60 minutes' : { cs: 'Ztlumit na 60 minut' @@ -3453,6 +3457,7 @@ function init() { ,nb: 'Stille i 60 min' ,pl: 'Wycisz na 60 minut' ,ru: 'Тишина 60 минут' + ,sk: 'Stíšiť na 60 minút' } ,'Silence for 90 minutes' : { cs: 'Ztlumit na 90 minut' @@ -3470,6 +3475,7 @@ function init() { ,nb: 'Stille i 90 min' ,pl: 'Wycisz na 90 minut' ,ru: 'Тишина 90 минут' + ,sk: 'Stíšiť na 90 minút' } ,'Silence for 120 minutes' : { cs: 'Ztlumit na 120 minut' @@ -3487,6 +3493,7 @@ function init() { ,nb: 'Stile i 120 min' ,pl: 'Wycisz na 120 minut' ,ru: 'Тишина 120 минут' + ,sk: 'Stíšiť na 120 minút' } ,'3HR' : { cs: '3hod' @@ -3504,6 +3511,7 @@ function init() { ,nb: '3t' ,pl: '3h' ,ru: '3ч' + ,sk: '3 hod' } ,'6HR' : { cs: '6hod' @@ -3521,6 +3529,7 @@ function init() { ,nb: '6t' ,pl: '6h' ,ru: '6ч' + ,sk: '6 hod' } ,'12HR' : { cs: '12hod' @@ -3538,6 +3547,7 @@ function init() { ,nb: '12t' ,pl: '12h' ,ru: '12ч' + ,sk: '12 hod' } ,'24HR' : { cs: '24hod' @@ -3555,6 +3565,7 @@ function init() { ,nb: '24t' ,pl: '24h' ,ru: '24ч' + ,sk: '24 hod' } ,'Settings' : { cs: 'Nastavení' @@ -3572,6 +3583,7 @@ function init() { ,nb: 'Innstillinger' ,pl: 'Ustawienia' ,ru: 'Настройки' + ,sk: 'Nastavenia' } ,'Units' : { cs: 'Jednotky' @@ -3589,6 +3601,7 @@ function init() { ,nb: 'Enheter' ,pl: 'Jednostki' ,ru: 'Единицы' + ,sk: 'Jednotky' } ,'Date format' : { cs: 'Formát datumu' @@ -3606,6 +3619,7 @@ function init() { ,nb: 'Datoformat' ,pl: 'Format daty' ,ru: 'Формат даты' + ,sk: 'Formát času' } ,'12 hours' : { cs: '12 hodin' @@ -3623,6 +3637,7 @@ function init() { ,nb: '12 timer' ,pl: '12 godzinny' ,ru: '12 часов' + ,sk: '12 hodín' } ,'24 hours' : { cs: '24 hodin' @@ -3640,6 +3655,7 @@ function init() { ,nb: '24 timer' ,pl: '24 godzinny' ,ru: '24 часа' + ,sk: '24 hodín' } ,'Log a Treatment' : { cs: 'Záznam ošetření' @@ -3658,6 +3674,7 @@ function init() { ,he: 'הזן רשומה' ,pl: 'Wprowadź leczenie' ,ru: 'Лог лечения' + ,sk: 'Záznam ošetrenia' } ,'BG Check' : { cs: 'Kontrola glykémie' @@ -3676,6 +3693,7 @@ function init() { ,he: 'בדיקת סוכר' ,pl: 'Pomiar glikemii' ,ru: 'Контроль СК' + ,sk: 'Kontrola glykémie' } ,'Meal Bolus' : { cs: 'Bolus na jídlo' @@ -3694,6 +3712,7 @@ function init() { ,he: 'בולוס ארוחה' ,pl: 'Bolus do posiłku' ,ru: 'Болюс на еду' + ,sk: 'Bolus na jedlo' } ,'Snack Bolus' : { cs: 'Bolus na svačinu' @@ -3712,6 +3731,7 @@ function init() { ,he: 'בולוס ארוחת ביניים' ,pl: 'Bolus przekąskowy' ,ru: 'Болюс на перекус' + ,sk: 'Bolus na desiatu/olovrant' } ,'Correction Bolus' : { cs: 'Bolus na glykémii' @@ -3730,6 +3750,7 @@ function init() { ,he: 'בולוס תיקון' ,pl: 'Bolus korekcyjny' ,ru: 'Болюс на коррекцию' + ,sk: 'Korekčný bolus' } ,'Carb Correction' : { cs: 'Přídavek sacharidů' @@ -3748,6 +3769,7 @@ function init() { ,he: 'בולוס פחמימות' ,pl: 'Węglowodany korekcyjne' ,ru: 'Углеводы на коррекцию' + ,sk: 'Prídavok sacharidov' } ,'Note' : { cs: 'Poznámka' @@ -3766,6 +3788,7 @@ function init() { ,he: 'הערה' ,pl: 'Uwagi' ,ru: 'Примечания' + ,sk: 'Poznámka' } ,'Question' : { cs: 'Otázka' @@ -3784,6 +3807,7 @@ function init() { ,he: 'שאלה' ,pl: 'Pytanie' ,ru: 'Вопрос' + ,sk: 'Otázka' } ,'Exercise' : { cs: 'Cvičení' @@ -3802,6 +3826,7 @@ function init() { ,he: 'פעילות גופנית' ,pl: 'Wysilek' ,ru: 'Нагрузка' + ,sk: 'Cvičenie' } ,'Pump Site Change' : { cs: 'Výměna setu' @@ -3820,6 +3845,7 @@ function init() { ,he: 'החלפת צינורית משאבה' ,pl: 'Zmiana miejsca wkłucia pompy' ,ru: 'Смена места помпы' + ,sk: 'Výmena setu' } ,'CGM Sensor Start' : { cs: 'Spuštění sensoru' @@ -3838,6 +3864,7 @@ function init() { ,he: 'אתחול חיישן סוכר' ,pl: 'Start nowego sensora' ,ru: 'Старт сенсора' + ,sk: 'Spustenie senzoru' } ,'CGM Sensor Change' : { cs: 'Výměna sensoru' @@ -3856,6 +3883,7 @@ function init() { ,he: 'החלפת חיישן סוכר' ,pl: 'Zmiana sensora' ,ru: 'Замена сенсора' + ,sk: 'Výmena senzoru' } ,'Dexcom Sensor Start' : { cs: 'Spuštění sensoru' @@ -3874,6 +3902,7 @@ function init() { ,he: 'אתחול חיישן סוכר של דקסקום' ,pl: 'Start sensora DEXCOM' ,ru: 'Старт сенсора Декском' + ,sk: 'Spustenie senzoru DEXCOM' } ,'Dexcom Sensor Change' : { cs: 'Výměna sensoru' @@ -3892,6 +3921,7 @@ function init() { ,he: 'החלפת חיישן סוכר של דקסקום' ,pl: 'Zmiana sensora DEXCOM' ,ru: 'Замена сенсора Декском' + ,sk: 'Výmena senzoru DEXCOM' } ,'Insulin Cartridge Change' : { cs: 'Výměna inzulínu' @@ -3910,6 +3940,7 @@ function init() { ,he: 'החלפת מחסנית אינסולין' ,pl: 'Zmiana zbiornika z insuliną' ,ru: 'Замена картриджа инсулина' + ,sk: 'Výmena inzulínu' } ,'D.A.D. Alert' : { cs: 'D.A.D. Alert' @@ -3928,6 +3959,7 @@ function init() { ,he: 'ווף! ווף! התראת גשג' ,pl: 'Psi Alarm cukrzycowy' ,ru: 'Сигнал служебной собаки' + ,sk: 'Upozornenie signálneho psa' } ,'Glucose Reading' : { cs: 'Hodnota glykémie' @@ -3946,6 +3978,7 @@ function init() { ,he: 'מדידת סוכר' ,pl: 'Odczyt glikemii' ,ru: 'Сахар крови' + ,sk: 'Hodnota glykémie' } ,'Measurement Method' : { cs: 'Metoda měření' @@ -3964,6 +3997,7 @@ function init() { ,he: 'אמצעי מדידה' ,pl: 'Sposób pomiaru' ,ru: 'Способ замера' + ,sk: 'Metóda merania' } ,'Meter' : { cs: 'Glukoměr' @@ -3982,6 +4016,7 @@ function init() { ,he: 'מד סוכר' ,pl: 'Glukometr' ,ru: 'Глюкометр' + ,sk: 'Glukomer' } ,'Insulin Given' : { cs: 'Inzulín' From 69a05409fa854a9f254067e941fb9c2dc6675fab Mon Sep 17 00:00:00 2001 From: Peter Holka Date: Thu, 21 Apr 2016 13:06:34 +0200 Subject: [PATCH 124/158] Update language.js --- lib/language.js | 164 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) diff --git a/lib/language.js b/lib/language.js index 39092188cfa..975b71eaab7 100644 --- a/lib/language.js +++ b/lib/language.js @@ -4034,7 +4034,11 @@ function init() { ,nb: 'Insulin' ,he: 'אינסולין שניתן' ,pl: 'Podana insulina' +<<<<<<< HEAD ,ru: 'Введенный инсулин' +======= + ,sk: 'Podaný inzulín' +>>>>>>> Update language.js } ,'Amount in grams' : { cs: 'Množství v gramech' @@ -4052,7 +4056,11 @@ function init() { ,nb: 'Antall gram' ,he: 'כמות בגרמים' ,pl: 'Wartość w gramach' +<<<<<<< HEAD ,ru: 'Количество в граммах' +======= + ,sk: 'Množstvo v gramoch' +>>>>>>> Update language.js } ,'Amount in units' : { cs: 'Množství v jednotkách' @@ -4070,7 +4078,11 @@ function init() { ,nb: 'Antall enheter' ,he: 'כמות ביחידות' ,pl: 'Wartość w jednostkach' +<<<<<<< HEAD ,ru: 'Количество в ед.' +======= + ,sk: 'Množstvo v jednotkách' +>>>>>>> Update language.js } ,'View all treatments' : { cs: 'Zobraz všechny ošetření' @@ -4088,7 +4100,11 @@ function init() { ,nb: 'Vis behandlinger' ,he: 'הצג את כל הטיפולים' ,pl: 'Pokaż calosć leczenia ' +<<<<<<< HEAD ,ru: 'Показать все события по уходу' +======= + ,sk: 'Zobraziť všetky ošetrenia' +>>>>>>> Update language.js } ,'Enable Alarms' : { cs: 'Povolit alarmy' @@ -4106,7 +4122,11 @@ function init() { ,nb: 'Aktiver alarmer' ,he: 'הפעל התראות' ,pl: 'Włącz Alarmy' +<<<<<<< HEAD ,ru: 'Активировать сигналы' +======= + ,sk: 'Aktivovať alarmy' +>>>>>>> Update language.js } ,'When enabled an alarm may sound.' : { cs: 'Při povoleném alarmu zní zvuk' @@ -4124,7 +4144,11 @@ function init() { ,nb: 'Når aktivert er alarmer aktive' ,he: 'כשמופעל התראות יכולות להישמע.' ,pl: 'Sygnalizacja dzwiękowa przy włączonym alarmie' +<<<<<<< HEAD ,ru: 'При активации сигналы слышны' +======= + ,sk: 'Pri aktivovanom alarme znie zvuk ' +>>>>>>> Update language.js } ,'Urgent High Alarm' : { cs: 'Urgentní vysoká glykémie' @@ -4142,7 +4166,11 @@ function init() { ,nb: 'Kritisk høy alarm' ,he: 'התראת גבוה דחופה' ,pl: 'Uwaga: Alarm hiperglikemii' +<<<<<<< HEAD ,ru: 'Внимание: высокая гликемия ' +======= + ,sk: 'Naliehavý alarm vysokej glykémie' +>>>>>>> Update language.js } ,'High Alarm' : { cs: 'Vysoká glykémie' @@ -4160,7 +4188,11 @@ function init() { ,nb: 'Høy alarm' ,he: 'התראת גבוה' ,pl: 'Alarm hiperglikemii' +<<<<<<< HEAD ,ru: 'Высокая гликемия' +======= + ,sk: 'Alarm vysokej glykémie' +>>>>>>> Update language.js } ,'Low Alarm' : { cs: 'Nízká glykémie' @@ -4178,7 +4210,11 @@ function init() { ,nb: 'Lav alarm' ,he: 'התראת נמוך' ,pl: 'Alarm hipoglikemii' +<<<<<<< HEAD ,ru: 'Низкая гликемия' +======= + ,sk: 'Alarm nízkej glykémie' +>>>>>>> Update language.js } ,'Urgent Low Alarm' : { cs: 'Urgentní nízká glykémie' @@ -4196,7 +4232,11 @@ function init() { ,nb: 'Kritisk lav alarm' ,he: 'התראת נמוך דחופה' ,pl: 'Uwaga: Alarm hipoglikemii' +<<<<<<< HEAD ,ru: 'Внимание: низкая гликемия' +======= + ,sk: 'Naliehavý alarm nízkej glykémie' +>>>>>>> Update language.js } ,'Stale Data: Warn' : { cs: 'Zastaralá data' @@ -4213,7 +4253,11 @@ function init() { ,fi: 'Vanhat tiedot: varoitus' ,nb: 'Advarsel: Gamle data' ,pl: 'Ostrzeżenie: brak odczytów' +<<<<<<< HEAD ,ru: 'Предупреждение: старые данные' +======= + ,sk: 'Varovanie: Zastaralé dáta' +>>>>>>> Update language.js } ,'Stale Data: Urgent' : { cs: 'Zastaralá data urgentní' @@ -4230,7 +4274,11 @@ function init() { ,fi: 'Vanhat tiedot: hälytys' ,nb: 'Advarsel: Veldig gamle data' ,pl: 'Uwaga: brak odczytów' +<<<<<<< HEAD ,ru: 'Внимание: старые данные' +======= + ,sk: 'Naliehavé: Zastaralé dáta' +>>>>>>> Update language.js } ,'mins' : { cs: 'min' @@ -4247,7 +4295,11 @@ function init() { ,fi: 'minuuttia' ,nb: 'min' ,pl: 'min' +<<<<<<< HEAD ,ru: 'мин' +======= + ,sk: 'min.' +>>>>>>> Update language.js } ,'Night Mode' : { cs: 'Noční mód' @@ -4264,7 +4316,11 @@ function init() { ,fi: 'Yömoodi' ,nb: 'Nattmodus' ,pl: 'Tryb nocny' +<<<<<<< HEAD ,ru: 'Режим: ночь' +======= + ,sk: 'Nočný mód' +>>>>>>> Update language.js } ,'When enabled the page will be dimmed from 10pm - 6am.' : { cs: 'Když je povoleno, obrazovka je ztlumena 22:00 - 6:00' @@ -4281,7 +4337,11 @@ function init() { ,fi: 'Aktivoituna sivu himmenee kello 22 ja 06 välillä' ,nb: 'Når aktivert vil denne siden nedtones fra 22:00-06:00' ,pl: 'Po włączeniu strona będzie przyciemniona od 22 wieczorem do 6 nad ranem. ' +<<<<<<< HEAD ,ru: 'При активации страница затемнена с 22.00 до 06.00' +======= + ,sk: 'Keď je povolený, obrazovka bude stlmená od 22:00 do 6:00.' +>>>>>>> Update language.js } ,'Enable' : { cs: 'Povoleno' @@ -4298,7 +4358,11 @@ function init() { ,fi: 'Aktivoi' ,nb: 'Aktiver' ,pl: 'Włącz' +<<<<<<< HEAD ,ru: 'Активировать' +======= + ,sk: 'Povoliť' +>>>>>>> Update language.js } ,'Show Raw BG Data' : { cs: 'Zobraz RAW data' @@ -4315,7 +4379,11 @@ function init() { ,fi: 'Näytä raaka VS tieto' ,nb: 'Vis rådata' ,pl: 'Wyświetl surowe dane RAW' +<<<<<<< HEAD ,ru: 'Показывать данные RAW' +======= + ,sk: 'Zobraziť RAW dáta' +>>>>>>> Update language.js } ,'Never' : { cs: 'Nikdy' @@ -4332,7 +4400,11 @@ function init() { ,fi: 'Ei koskaan' ,nb: 'Aldri' ,pl: 'Nigdy' +<<<<<<< HEAD ,ru: 'Никогда' +======= + ,sk: 'Nikdy' +>>>>>>> Update language.js } ,'Always' : { cs: 'Vždy' @@ -4349,7 +4421,11 @@ function init() { ,fi: 'Aina' ,nb: 'Alltid' ,pl: 'Zawsze' +<<<<<<< HEAD ,ru: 'Всегда' +======= + ,sk: 'Vždy' +>>>>>>> Update language.js } ,'When there is noise' : { cs: 'Při šumu' @@ -4366,7 +4442,11 @@ function init() { ,fi: 'Signaalihäiriöiden yhteydessä' ,nb: 'Når det er støy' ,pl: 'Gdy sygnał jest zakłócony' +<<<<<<< HEAD ,ru: 'Когда есть шумовой фон' +======= + ,sk: 'Pri šume' +>>>>>>> Update language.js } ,'When enabled small white dots will be displayed for raw BG data' : { cs: 'Když je povoleno, malé tečky budou zobrazeny pro RAW data' @@ -4383,7 +4463,11 @@ function init() { ,fi: 'Aktivoituna raaka VS tieto piirtyy aikajanalle valkoisina pisteinä' ,nb: 'Ved aktivering vil små hvite prikker bli vist for rå BG tall' ,pl: 'Gdy funkcja jest włączona, małe białe kropki pojawią się na surowych danych BG' +<<<<<<< HEAD ,ru: 'При активации данные RAW будут видны как мелкие белые точки' +======= + ,sk: 'Keď je povolené, malé bodky budú zobrazovať RAW dáta.' +>>>>>>> Update language.js } ,'Custom Title' : { cs: 'Vlastní název stránky' @@ -4400,7 +4484,11 @@ function init() { ,fi: 'Omavalintainen otsikko' ,nb: 'Egen tittel' ,pl: 'Własny tytuł strony' +<<<<<<< HEAD ,ru: 'Произвольное наименование' +======= + ,sk: 'Vlastný názov stránky' +>>>>>>> Update language.js } ,'Theme' : { cs: 'Téma' @@ -4417,7 +4505,11 @@ function init() { ,fi: 'Teema' ,nb: 'Tema' ,pl: 'Wygląd' +<<<<<<< HEAD ,ru: 'Тема' +======= + ,sk: 'Vzhľad' +>>>>>>> Update language.js } ,'Default' : { cs: 'Výchozí' @@ -4434,7 +4526,11 @@ function init() { ,fi: 'Oletus' ,nb: 'Standard' ,pl: 'Domyślny' +<<<<<<< HEAD ,ru: 'По умолчанию' +======= + ,sk: 'Predvolený' +>>>>>>> Update language.js } ,'Colors' : { cs: 'Barevné' @@ -4451,7 +4547,11 @@ function init() { ,fi: 'Värit' ,nb: 'Farger' ,pl: 'Kolorowy' +<<<<<<< HEAD ,ru: 'Цветная' +======= + ,sk: 'Farebný' +>>>>>>> Update language.js } ,'Reset, and use defaults' : { cs: 'Vymaž a nastav výchozí hodnoty' @@ -4468,7 +4568,11 @@ function init() { ,fi: 'Palauta oletusasetukset' ,nb: 'Gjenopprett standardinnstillinger' ,pl: 'Reset i powrót do domyślnych ustawień' +<<<<<<< HEAD ,ru: 'Сбросить и использовать настройки по умолчанию' +======= + ,sk: 'Resetovať do pôvodného nastavenia' +>>>>>>> Update language.js } ,'Calibrations' : { cs: 'Kalibrace' @@ -4485,7 +4589,11 @@ function init() { ,fi: 'Kalibraatiot' ,nb: 'Kalibreringer' ,pl: 'Kalibracja' +<<<<<<< HEAD ,ru: 'Калибровки' +======= + ,sk: 'Kalibrácie' +>>>>>>> Update language.js } ,'Alarm Test / Smartphone Enable' : { cs: 'Test alarmu' @@ -4502,7 +4610,11 @@ function init() { ,fi: 'Hälytyksien testaus / Älypuhelimien äänet päälle' ,nb: 'Alarmtest / Smartphone aktivering' ,pl: 'Test alarmu / Smartphone aktywny' +<<<<<<< HEAD ,ru: 'Проверка зв. уведомлений / смартфон активен' +======= + ,sk: 'Test alarmu' +>>>>>>> Update language.js } ,'Bolus Wizard' : { cs: 'Bolusový kalkulátor' @@ -4519,7 +4631,11 @@ function init() { ,fi: 'Annosopas' ,nb: 'Boluskalkulator' ,pl: 'Kalkulator Bolusa' +<<<<<<< HEAD ,ru: 'Болюс Мастер' +======= + ,sk: 'Bolusový kalkulátor' +>>>>>>> Update language.js } ,'in the future' : { cs: 'v budoucnosti' @@ -4536,7 +4652,11 @@ function init() { ,fi: 'tulevaisuudessa' ,nb: 'fremtiden' ,pl: 'w przyszłości' +<<<<<<< HEAD ,ru: 'в будущем' +======= + ,sk: 'v budúcnosti' +>>>>>>> Update language.js } ,'time ago' : { cs: 'min zpět' @@ -4553,7 +4673,11 @@ function init() { ,fi: 'aikaa sitten' ,nb: 'tid siden' ,pl: 'czas temu' +<<<<<<< HEAD ,ru: 'в прошлом' +======= + ,sk: 'čas pred' +>>>>>>> Update language.js } ,'hr ago' : { cs: 'hod zpět' @@ -4570,7 +4694,11 @@ function init() { ,fi: 'tunti sitten' ,nb: 'Time siden' ,pl: 'godzina temu' +<<<<<<< HEAD ,ru: 'час назад' +======= + ,sk: 'hod. pred' +>>>>>>> Update language.js } ,'hrs ago' : { cs: 'hod zpět' @@ -4587,7 +4715,11 @@ function init() { ,fi: 'tuntia sitten' ,nb: 'Timer siden' ,pl: 'godzin temu' +<<<<<<< HEAD ,ru: 'часов назад' +======= + ,sk: 'hod. pred' +>>>>>>> Update language.js } ,'min ago' : { cs: 'min zpět' @@ -4604,7 +4736,11 @@ function init() { ,fi: 'minuuttia sitten' ,nb: 'minutter siden' ,pl: 'minuta temu' +<<<<<<< HEAD ,ru: 'мин. назад' +======= + ,sk: 'min. pred' +>>>>>>> Update language.js } ,'mins ago' : { cs: 'min zpět' @@ -4621,7 +4757,11 @@ function init() { ,fi: 'minuuttia sitten' ,nb: 'minutter siden' ,pl: 'minut temu' +<<<<<<< HEAD ,ru: 'минут назад' +======= + ,sk: 'min. pred' +>>>>>>> Update language.js } ,'day ago' : { cs: 'den zpět' @@ -4638,7 +4778,11 @@ function init() { ,fi: 'päivä sitten' ,nb: 'dag siden' ,pl: 'dzień temu' +<<<<<<< HEAD ,ru: 'день назад' +======= + ,sk: 'deň pred' +>>>>>>> Update language.js } ,'days ago' : { cs: 'dnů zpět' @@ -4655,7 +4799,11 @@ function init() { ,fi: 'päivää sitten' ,nb: 'dager siden' ,pl: 'dni temu' +<<<<<<< HEAD ,ru: 'дней назад' +======= + ,sk: 'dni pred' +>>>>>>> Update language.js } ,'long ago' : { cs: 'dlouho zpět' @@ -4672,7 +4820,11 @@ function init() { ,fi: 'Pitkän aikaa sitten' ,nb: 'lenge siden' ,pl: 'minut temu' +<<<<<<< HEAD ,ru: 'давно' +======= + ,sk: 'veľmi dávno' +>>>>>>> Update language.js } ,'Clean' : { cs: 'Čistý' @@ -4689,7 +4841,11 @@ function init() { ,fi: 'Puhdas' ,nb: 'Rent' ,pl: 'Czysty' +<<<<<<< HEAD ,ru: 'Чисто' +======= + ,sk: 'Čistý' +>>>>>>> Update language.js } ,'Light' : { cs: 'Lehký' @@ -4706,7 +4862,11 @@ function init() { ,fi: 'Kevyt' ,nb: 'Lite' ,pl: 'Niski' +<<<<<<< HEAD ,ru: 'Слабый' +======= + ,sk: 'Nízky' +>>>>>>> Update language.js } ,'Medium' : { cs: 'Střední' @@ -4723,7 +4883,11 @@ function init() { ,fi: 'Keskiverto' ,nb: 'Middels' ,pl: 'Średni' +<<<<<<< HEAD ,ru: 'Средний' +======= + ,sk: 'Stredný' +>>>>>>> Update language.js } ,'Heavy' : { cs: 'Velký' From 3552e79f91bc14c68a5631d5f0e73e1fe61c3ae8 Mon Sep 17 00:00:00 2001 From: Peter Holka Date: Sun, 24 Apr 2016 21:33:12 +0200 Subject: [PATCH 125/158] Update language.js --- lib/language.js | 147 ++++++++---------------------------------------- 1 file changed, 24 insertions(+), 123 deletions(-) diff --git a/lib/language.js b/lib/language.js index 975b71eaab7..efb73499fb3 100644 --- a/lib/language.js +++ b/lib/language.js @@ -4034,11 +4034,8 @@ function init() { ,nb: 'Insulin' ,he: 'אינסולין שניתן' ,pl: 'Podana insulina' -<<<<<<< HEAD ,ru: 'Введенный инсулин' -======= ,sk: 'Podaný inzulín' ->>>>>>> Update language.js } ,'Amount in grams' : { cs: 'Množství v gramech' @@ -4056,11 +4053,8 @@ function init() { ,nb: 'Antall gram' ,he: 'כמות בגרמים' ,pl: 'Wartość w gramach' -<<<<<<< HEAD ,ru: 'Количество в граммах' -======= ,sk: 'Množstvo v gramoch' ->>>>>>> Update language.js } ,'Amount in units' : { cs: 'Množství v jednotkách' @@ -4078,11 +4072,8 @@ function init() { ,nb: 'Antall enheter' ,he: 'כמות ביחידות' ,pl: 'Wartość w jednostkach' -<<<<<<< HEAD ,ru: 'Количество в ед.' -======= ,sk: 'Množstvo v jednotkách' ->>>>>>> Update language.js } ,'View all treatments' : { cs: 'Zobraz všechny ošetření' @@ -4100,11 +4091,8 @@ function init() { ,nb: 'Vis behandlinger' ,he: 'הצג את כל הטיפולים' ,pl: 'Pokaż calosć leczenia ' -<<<<<<< HEAD ,ru: 'Показать все события по уходу' -======= ,sk: 'Zobraziť všetky ošetrenia' ->>>>>>> Update language.js } ,'Enable Alarms' : { cs: 'Povolit alarmy' @@ -4122,11 +4110,8 @@ function init() { ,nb: 'Aktiver alarmer' ,he: 'הפעל התראות' ,pl: 'Włącz Alarmy' -<<<<<<< HEAD ,ru: 'Активировать сигналы' -======= ,sk: 'Aktivovať alarmy' ->>>>>>> Update language.js } ,'When enabled an alarm may sound.' : { cs: 'Při povoleném alarmu zní zvuk' @@ -4144,11 +4129,8 @@ function init() { ,nb: 'Når aktivert er alarmer aktive' ,he: 'כשמופעל התראות יכולות להישמע.' ,pl: 'Sygnalizacja dzwiękowa przy włączonym alarmie' -<<<<<<< HEAD ,ru: 'При активации сигналы слышны' -======= ,sk: 'Pri aktivovanom alarme znie zvuk ' ->>>>>>> Update language.js } ,'Urgent High Alarm' : { cs: 'Urgentní vysoká glykémie' @@ -4166,11 +4148,8 @@ function init() { ,nb: 'Kritisk høy alarm' ,he: 'התראת גבוה דחופה' ,pl: 'Uwaga: Alarm hiperglikemii' -<<<<<<< HEAD ,ru: 'Внимание: высокая гликемия ' -======= ,sk: 'Naliehavý alarm vysokej glykémie' ->>>>>>> Update language.js } ,'High Alarm' : { cs: 'Vysoká glykémie' @@ -4188,11 +4167,8 @@ function init() { ,nb: 'Høy alarm' ,he: 'התראת גבוה' ,pl: 'Alarm hiperglikemii' -<<<<<<< HEAD ,ru: 'Высокая гликемия' -======= ,sk: 'Alarm vysokej glykémie' ->>>>>>> Update language.js } ,'Low Alarm' : { cs: 'Nízká glykémie' @@ -4210,11 +4186,8 @@ function init() { ,nb: 'Lav alarm' ,he: 'התראת נמוך' ,pl: 'Alarm hipoglikemii' -<<<<<<< HEAD ,ru: 'Низкая гликемия' -======= ,sk: 'Alarm nízkej glykémie' ->>>>>>> Update language.js } ,'Urgent Low Alarm' : { cs: 'Urgentní nízká glykémie' @@ -4232,11 +4205,8 @@ function init() { ,nb: 'Kritisk lav alarm' ,he: 'התראת נמוך דחופה' ,pl: 'Uwaga: Alarm hipoglikemii' -<<<<<<< HEAD ,ru: 'Внимание: низкая гликемия' -======= ,sk: 'Naliehavý alarm nízkej glykémie' ->>>>>>> Update language.js } ,'Stale Data: Warn' : { cs: 'Zastaralá data' @@ -4253,11 +4223,8 @@ function init() { ,fi: 'Vanhat tiedot: varoitus' ,nb: 'Advarsel: Gamle data' ,pl: 'Ostrzeżenie: brak odczytów' -<<<<<<< HEAD ,ru: 'Предупреждение: старые данные' -======= ,sk: 'Varovanie: Zastaralé dáta' ->>>>>>> Update language.js } ,'Stale Data: Urgent' : { cs: 'Zastaralá data urgentní' @@ -4274,11 +4241,8 @@ function init() { ,fi: 'Vanhat tiedot: hälytys' ,nb: 'Advarsel: Veldig gamle data' ,pl: 'Uwaga: brak odczytów' -<<<<<<< HEAD ,ru: 'Внимание: старые данные' -======= ,sk: 'Naliehavé: Zastaralé dáta' ->>>>>>> Update language.js } ,'mins' : { cs: 'min' @@ -4295,11 +4259,8 @@ function init() { ,fi: 'minuuttia' ,nb: 'min' ,pl: 'min' -<<<<<<< HEAD ,ru: 'мин' -======= ,sk: 'min.' ->>>>>>> Update language.js } ,'Night Mode' : { cs: 'Noční mód' @@ -4316,11 +4277,8 @@ function init() { ,fi: 'Yömoodi' ,nb: 'Nattmodus' ,pl: 'Tryb nocny' -<<<<<<< HEAD ,ru: 'Режим: ночь' -======= ,sk: 'Nočný mód' ->>>>>>> Update language.js } ,'When enabled the page will be dimmed from 10pm - 6am.' : { cs: 'Když je povoleno, obrazovka je ztlumena 22:00 - 6:00' @@ -4337,11 +4295,8 @@ function init() { ,fi: 'Aktivoituna sivu himmenee kello 22 ja 06 välillä' ,nb: 'Når aktivert vil denne siden nedtones fra 22:00-06:00' ,pl: 'Po włączeniu strona będzie przyciemniona od 22 wieczorem do 6 nad ranem. ' -<<<<<<< HEAD ,ru: 'При активации страница затемнена с 22.00 до 06.00' -======= ,sk: 'Keď je povolený, obrazovka bude stlmená od 22:00 do 6:00.' ->>>>>>> Update language.js } ,'Enable' : { cs: 'Povoleno' @@ -4358,11 +4313,8 @@ function init() { ,fi: 'Aktivoi' ,nb: 'Aktiver' ,pl: 'Włącz' -<<<<<<< HEAD ,ru: 'Активировать' -======= ,sk: 'Povoliť' ->>>>>>> Update language.js } ,'Show Raw BG Data' : { cs: 'Zobraz RAW data' @@ -4379,11 +4331,8 @@ function init() { ,fi: 'Näytä raaka VS tieto' ,nb: 'Vis rådata' ,pl: 'Wyświetl surowe dane RAW' -<<<<<<< HEAD ,ru: 'Показывать данные RAW' -======= ,sk: 'Zobraziť RAW dáta' ->>>>>>> Update language.js } ,'Never' : { cs: 'Nikdy' @@ -4400,11 +4349,8 @@ function init() { ,fi: 'Ei koskaan' ,nb: 'Aldri' ,pl: 'Nigdy' -<<<<<<< HEAD ,ru: 'Никогда' -======= ,sk: 'Nikdy' ->>>>>>> Update language.js } ,'Always' : { cs: 'Vždy' @@ -4421,11 +4367,8 @@ function init() { ,fi: 'Aina' ,nb: 'Alltid' ,pl: 'Zawsze' -<<<<<<< HEAD ,ru: 'Всегда' -======= ,sk: 'Vždy' ->>>>>>> Update language.js } ,'When there is noise' : { cs: 'Při šumu' @@ -4442,11 +4385,8 @@ function init() { ,fi: 'Signaalihäiriöiden yhteydessä' ,nb: 'Når det er støy' ,pl: 'Gdy sygnał jest zakłócony' -<<<<<<< HEAD ,ru: 'Когда есть шумовой фон' -======= ,sk: 'Pri šume' ->>>>>>> Update language.js } ,'When enabled small white dots will be displayed for raw BG data' : { cs: 'Když je povoleno, malé tečky budou zobrazeny pro RAW data' @@ -4463,11 +4403,8 @@ function init() { ,fi: 'Aktivoituna raaka VS tieto piirtyy aikajanalle valkoisina pisteinä' ,nb: 'Ved aktivering vil små hvite prikker bli vist for rå BG tall' ,pl: 'Gdy funkcja jest włączona, małe białe kropki pojawią się na surowych danych BG' -<<<<<<< HEAD ,ru: 'При активации данные RAW будут видны как мелкие белые точки' -======= ,sk: 'Keď je povolené, malé bodky budú zobrazovať RAW dáta.' ->>>>>>> Update language.js } ,'Custom Title' : { cs: 'Vlastní název stránky' @@ -4484,11 +4421,8 @@ function init() { ,fi: 'Omavalintainen otsikko' ,nb: 'Egen tittel' ,pl: 'Własny tytuł strony' -<<<<<<< HEAD ,ru: 'Произвольное наименование' -======= ,sk: 'Vlastný názov stránky' ->>>>>>> Update language.js } ,'Theme' : { cs: 'Téma' @@ -4505,11 +4439,8 @@ function init() { ,fi: 'Teema' ,nb: 'Tema' ,pl: 'Wygląd' -<<<<<<< HEAD ,ru: 'Тема' -======= ,sk: 'Vzhľad' ->>>>>>> Update language.js } ,'Default' : { cs: 'Výchozí' @@ -4526,11 +4457,8 @@ function init() { ,fi: 'Oletus' ,nb: 'Standard' ,pl: 'Domyślny' -<<<<<<< HEAD ,ru: 'По умолчанию' -======= ,sk: 'Predvolený' ->>>>>>> Update language.js } ,'Colors' : { cs: 'Barevné' @@ -4547,11 +4475,8 @@ function init() { ,fi: 'Värit' ,nb: 'Farger' ,pl: 'Kolorowy' -<<<<<<< HEAD ,ru: 'Цветная' -======= ,sk: 'Farebný' ->>>>>>> Update language.js } ,'Reset, and use defaults' : { cs: 'Vymaž a nastav výchozí hodnoty' @@ -4568,11 +4493,8 @@ function init() { ,fi: 'Palauta oletusasetukset' ,nb: 'Gjenopprett standardinnstillinger' ,pl: 'Reset i powrót do domyślnych ustawień' -<<<<<<< HEAD ,ru: 'Сбросить и использовать настройки по умолчанию' -======= ,sk: 'Resetovať do pôvodného nastavenia' ->>>>>>> Update language.js } ,'Calibrations' : { cs: 'Kalibrace' @@ -4589,11 +4511,8 @@ function init() { ,fi: 'Kalibraatiot' ,nb: 'Kalibreringer' ,pl: 'Kalibracja' -<<<<<<< HEAD ,ru: 'Калибровки' -======= ,sk: 'Kalibrácie' ->>>>>>> Update language.js } ,'Alarm Test / Smartphone Enable' : { cs: 'Test alarmu' @@ -4610,11 +4529,8 @@ function init() { ,fi: 'Hälytyksien testaus / Älypuhelimien äänet päälle' ,nb: 'Alarmtest / Smartphone aktivering' ,pl: 'Test alarmu / Smartphone aktywny' -<<<<<<< HEAD ,ru: 'Проверка зв. уведомлений / смартфон активен' -======= ,sk: 'Test alarmu' ->>>>>>> Update language.js } ,'Bolus Wizard' : { cs: 'Bolusový kalkulátor' @@ -4631,11 +4547,8 @@ function init() { ,fi: 'Annosopas' ,nb: 'Boluskalkulator' ,pl: 'Kalkulator Bolusa' -<<<<<<< HEAD ,ru: 'Болюс Мастер' -======= ,sk: 'Bolusový kalkulátor' ->>>>>>> Update language.js } ,'in the future' : { cs: 'v budoucnosti' @@ -4652,11 +4565,8 @@ function init() { ,fi: 'tulevaisuudessa' ,nb: 'fremtiden' ,pl: 'w przyszłości' -<<<<<<< HEAD ,ru: 'в будущем' -======= ,sk: 'v budúcnosti' ->>>>>>> Update language.js } ,'time ago' : { cs: 'min zpět' @@ -4673,11 +4583,8 @@ function init() { ,fi: 'aikaa sitten' ,nb: 'tid siden' ,pl: 'czas temu' -<<<<<<< HEAD ,ru: 'в прошлом' -======= ,sk: 'čas pred' ->>>>>>> Update language.js } ,'hr ago' : { cs: 'hod zpět' @@ -4694,11 +4601,8 @@ function init() { ,fi: 'tunti sitten' ,nb: 'Time siden' ,pl: 'godzina temu' -<<<<<<< HEAD ,ru: 'час назад' -======= ,sk: 'hod. pred' ->>>>>>> Update language.js } ,'hrs ago' : { cs: 'hod zpět' @@ -4715,11 +4619,8 @@ function init() { ,fi: 'tuntia sitten' ,nb: 'Timer siden' ,pl: 'godzin temu' -<<<<<<< HEAD ,ru: 'часов назад' -======= ,sk: 'hod. pred' ->>>>>>> Update language.js } ,'min ago' : { cs: 'min zpět' @@ -4736,11 +4637,8 @@ function init() { ,fi: 'minuuttia sitten' ,nb: 'minutter siden' ,pl: 'minuta temu' -<<<<<<< HEAD ,ru: 'мин. назад' -======= ,sk: 'min. pred' ->>>>>>> Update language.js } ,'mins ago' : { cs: 'min zpět' @@ -4757,11 +4655,8 @@ function init() { ,fi: 'minuuttia sitten' ,nb: 'minutter siden' ,pl: 'minut temu' -<<<<<<< HEAD ,ru: 'минут назад' -======= ,sk: 'min. pred' ->>>>>>> Update language.js } ,'day ago' : { cs: 'den zpět' @@ -4778,11 +4673,8 @@ function init() { ,fi: 'päivä sitten' ,nb: 'dag siden' ,pl: 'dzień temu' -<<<<<<< HEAD ,ru: 'день назад' -======= ,sk: 'deň pred' ->>>>>>> Update language.js } ,'days ago' : { cs: 'dnů zpět' @@ -4799,11 +4691,8 @@ function init() { ,fi: 'päivää sitten' ,nb: 'dager siden' ,pl: 'dni temu' -<<<<<<< HEAD ,ru: 'дней назад' -======= ,sk: 'dni pred' ->>>>>>> Update language.js } ,'long ago' : { cs: 'dlouho zpět' @@ -4820,11 +4709,8 @@ function init() { ,fi: 'Pitkän aikaa sitten' ,nb: 'lenge siden' ,pl: 'minut temu' -<<<<<<< HEAD ,ru: 'давно' -======= ,sk: 'veľmi dávno' ->>>>>>> Update language.js } ,'Clean' : { cs: 'Čistý' @@ -4841,11 +4727,8 @@ function init() { ,fi: 'Puhdas' ,nb: 'Rent' ,pl: 'Czysty' -<<<<<<< HEAD ,ru: 'Чисто' -======= ,sk: 'Čistý' ->>>>>>> Update language.js } ,'Light' : { cs: 'Lehký' @@ -4862,11 +4745,8 @@ function init() { ,fi: 'Kevyt' ,nb: 'Lite' ,pl: 'Niski' -<<<<<<< HEAD ,ru: 'Слабый' -======= ,sk: 'Nízky' ->>>>>>> Update language.js } ,'Medium' : { cs: 'Střední' @@ -4883,11 +4763,8 @@ function init() { ,fi: 'Keskiverto' ,nb: 'Middels' ,pl: 'Średni' -<<<<<<< HEAD ,ru: 'Средний' -======= ,sk: 'Stredný' ->>>>>>> Update language.js } ,'Heavy' : { cs: 'Velký' @@ -4905,6 +4782,7 @@ function init() { ,nb: 'Mye' ,pl: 'Wysoki' ,ru: 'Сильный' + ,sk: 'Veľký' } ,'Treatment type' : { cs: 'Typ ošetření' @@ -4922,6 +4800,7 @@ function init() { ,nb: 'Behandlingstype' ,pl: 'Rodzaj leczenia' ,ru: 'Вид события' + ,sk: 'Typ ošetrenia' } ,'Raw BG' : { cs: 'Glykémie z RAW dat' @@ -4939,6 +4818,7 @@ function init() { ,nb: 'RAW-BS' ,pl: 'Raw BG' ,ru: 'необработанные данные СК' + ,sk: 'RAW dáta glykémie' } ,'Device' : { cs: 'Zařízení' @@ -4956,6 +4836,7 @@ function init() { ,nb: 'Enhet' ,pl: 'Urządzenie' ,ru: 'Устройство' + ,sk: 'Zariadenie' } ,'Noise' : { cs: 'Šum' @@ -4973,6 +4854,7 @@ function init() { ,nb: 'Støy' ,pl: 'Szum' ,ru: 'Шумовой фон' + ,sk: 'Šum' } ,'Calibration' : { cs: 'Kalibrace' @@ -4990,6 +4872,7 @@ function init() { ,nb: 'Kalibrering' ,pl: 'Kalibracja' ,ru: 'Калибровка' + ,sk: 'Kalibrácia' } ,'Show Plugins' : { cs: 'Zobrazuj pluginy' @@ -5007,6 +4890,7 @@ function init() { ,nb: 'Vis plugins' ,pl: 'Pokaż rozszerzenia' ,ru: 'Показать расширения' + ,sk: 'Zobraziť pluginy' } ,'About' : { cs: 'O aplikaci' @@ -5024,6 +4908,7 @@ function init() { ,nb: 'Om' ,pl: 'O aplikacji' ,ru: 'О приложении' + ,sk: 'O aplikácii' } ,'Value in' : { cs: 'Hodnota v' @@ -5041,6 +4926,7 @@ function init() { ,nb: 'Verdi i' ,pl: 'Wartości w ' ,ru: 'Значения в' + ,sk: 'Hodnota v' } ,'Carb Time' : { cs: 'Čas jídla' @@ -5059,6 +4945,7 @@ function init() { ,he: 'זמן פחמימה' ,pl: 'Czas posiłku' ,ru: 'Время приема углеводов' + ,sk: 'Čas jedla' } ,'Language' : { cs: 'Jazyk' @@ -5071,6 +4958,7 @@ function init() { ,pl: 'Język' ,it: 'Lingua' ,ru: 'Язык' + ,sk: 'Jazyk' } ,'Add new' : { cs: 'Přidat nový' @@ -5080,6 +4968,7 @@ function init() { ,fi: 'Lisää uusi' ,pl: 'Dodaj nowy' ,ru: 'Добавить новый' + ,sk: 'Pridať nový' } ,'g' : { // grams shortcut cs: 'g' @@ -5089,6 +4978,7 @@ function init() { ,fi: 'g' ,pl: 'g' ,ru: 'г' + ,sk: 'g' } ,'ml' : { // milliliters shortcut cs: 'ml' @@ -5098,6 +4988,7 @@ function init() { ,fi: 'ml' ,pl: 'ml' ,ru: 'мл' + ,sk: 'ml' } ,'pcs' : { // pieces shortcut cs: 'ks' @@ -5107,6 +4998,7 @@ function init() { ,fi: 'kpl' ,pl: 'cz.' ,ru: 'шт' + ,sk: 'ks' } ,'Drag&drop food here' : { cs: 'Sem táhni & pusť jídlo' @@ -5116,6 +5008,7 @@ function init() { ,fi: 'Pudota ruoka tähän' ,pl: 'Tutaj przesuń/upusć jedzenie ' ,ru: 'Перетащите еду сюда' + ,sk: 'Potiahni a pusti jedlo sem' } ,'Care Portal' : { cs: 'Portál ošetření' @@ -5126,6 +5019,7 @@ function init() { ,fi: 'Hoidot' ,pl: 'Care Portal' ,ru: 'Портал назначений' + ,sk: 'Portál starostlivosti' } ,'Medium/Unknown' : { // GI of food cs: 'Střední/Neznámá' @@ -5135,6 +5029,7 @@ function init() { ,fi: 'Keskiarvo/Ei tiedossa' ,pl: 'Średni/nieznany' ,ru: 'Средний/Неизвестный' + ,sk: 'Stredný/Neznámi' } ,'IN THE FUTURE' : { cs: 'V BUDOUCNOSTI' @@ -5144,6 +5039,7 @@ function init() { ,fi: 'TULEVAISUUDESSA' ,pl: 'W PRZYSZŁOŚCI' ,ru: 'В БУДУЩЕМ' + ,sk: 'V BUDÚCNOSTI' } ,'Update' : { // Update button cs: 'Aktualizovat' @@ -5156,6 +5052,7 @@ function init() { ,pl: 'Aktualizacja' ,fi: 'Päivitys' ,ru: 'Обновить' + ,sk: 'Aktualizovať' } ,'Order' : { cs: 'Pořadí' @@ -5167,6 +5064,7 @@ function init() { ,pl: 'Zamówienie' ,fi: 'Järjestys' ,ru: 'Сортировать' + ,sk: 'Usporiadať' } ,'oldest on top' : { cs: 'nejstarší nahoře' @@ -5179,6 +5077,7 @@ function init() { ,pl: 'Najstarszy na górze' ,fi: 'vanhin ylhäällä' ,ru: 'Старые наверху' + ,sk: 'najstaršie hore' } ,'newest on top' : { cs: 'nejnovější nahoře' @@ -5191,6 +5090,7 @@ function init() { ,pl: 'Najnowszy na górze' ,fi: 'uusin ylhäällä' ,ru: 'Новые наверху' + ,sk: 'najnovšie hore' } ,'All sensor events' : { cs: 'Všechny události sensoru' @@ -5202,6 +5102,7 @@ function init() { ,fi: 'Kaikki sensorin tapahtumat' ,pl: 'Wszystkie zdarzenia sensora' ,ru: 'Все события сенсора' + ,sk: 'Všetky udalosti senzoru' } ,'Remove future items from mongo database' : { cs: 'Odebrání položek v budoucnosti z Mongo databáze' From df04a8ec78eba5787415efe20785e6d5797cd728 Mon Sep 17 00:00:00 2001 From: Peter Holka Date: Sun, 24 Apr 2016 22:35:56 +0200 Subject: [PATCH 126/158] Update language.js --- lib/language.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/language.js b/lib/language.js index efb73499fb3..3910a7d18d8 100644 --- a/lib/language.js +++ b/lib/language.js @@ -5114,6 +5114,7 @@ function init() { ,fi: 'Poista tapahtumat mongo-tietokannasta' ,pl: 'Usuń przyszłe/błędne wpisy z bazy mongo' ,ru: 'Удалить будущие данные из базы Монго' + ,sk: 'Odobrať budúce položky z Mongo databázy' } ,'Find and remove treatments in the future' : { cs: 'Najít a odstranit záznamy ošetření v budoucnosti' @@ -5125,6 +5126,7 @@ function init() { ,fi: 'Etsi ja poista tapahtumat joiden aikamerkintä on tulevaisuudessa' ,pl: 'Znajdź i usuń przyszłe/błędne zabiegi' ,ru: 'Найти и удалить будущие назначения' + ,sk: 'Nájsť a odstrániť záznamy ošetrenia v budúcnosti' } ,'This task find and remove treatments in the future.' : { cs: 'Tento úkol najde a odstraní ošetření v budoucnosti.' @@ -5136,6 +5138,7 @@ function init() { ,fi: 'Tämä työkalu poistaa tapahtumat joiden aikamerkintä on tulevaisuudessa.' ,pl: 'To narzędzie znajduje i usuwa przyszłe/błędne zabiegi"' ,ru: 'Эта опция найдет и удалит данные из будущего' + ,sk: 'Táto úloha nájde a odstáni záznamy ošetrenia v budúcnosti.' } ,'Remove treatments in the future' : { cs: 'Odstraň ošetření v budoucnosti' @@ -5147,6 +5150,7 @@ function init() { ,fi: 'Poista tapahtumat' ,pl: 'Usuń zabiegi w przyszłości' ,ru: 'Удалить назначения из будущего' + ,sk: 'Odstrániť záznamy ošetrenia v budúcnosti' } ,'Find and remove entries in the future' : { cs: 'Najít a odstranit CGM data v budoucnosti' @@ -5158,6 +5162,7 @@ function init() { ,fi: 'Etsi ja poista tapahtumat' ,pl: 'Znajdz i usuń wpisy w przyszłości' ,ru: 'Найти и удалить данные с сенсора из будущего' + ,sk: 'Nájsť a odstrániť CGM dáta v budúcnosti' } ,'This task find and remove CGM data in the future created by uploader with wrong date/time.' : { cs: 'Tento úkol najde a odstraní CGM data v budoucnosti vzniklé špatně nastaveným datem v uploaderu.' @@ -5169,6 +5174,7 @@ function init() { ,fi: 'Tämä työkalu etsii ja poistaa sensorimerkinnät joiden aikamerkintä sijaitsee tulevaisuudessa.' ,pl: 'To narzędzie odnajduje i usuwa dane CGM w przyszłości utworzone przez uploader ze złą datą/czasem.' ,ru: 'Эта опция найдет и удалит данные с сенсора созданные загрузчиком с неверными датой/временем' + ,sk: 'Táto úloha nájde a odstráni CGM dáta v budúcnosti vzniknuté zle nastaveným časom uploaderu.' } ,'Remove entries in the future' : { cs: 'Odstraň CGM data v budoucnosti' @@ -5180,6 +5186,7 @@ function init() { ,fi: 'Poista tapahtumat' ,pl: 'Usuń wpisy w przyszłości' ,ru: 'Удаляются данные из будущего' + ,sk: 'Odstrániť CGM dáta v budúcnosti' } ,'Loading database ...' : { cs: 'Nahrávám databázi ...' @@ -5191,6 +5198,7 @@ function init() { ,fi: 'Lataan tietokantaa...' ,pl: 'Wczytuje baze danych' ,ru: 'Загрузка базы данных' + ,sk: 'Nahrávam databázu...' } ,'Database contains %1 future records' : { cs: 'Databáze obsahuje %1 záznamů v budoucnosti' @@ -5202,6 +5210,7 @@ function init() { ,fi: 'Tietokanta sisältää %1 merkintää tulevaisuudessa' ,pl: 'Baza danych zawiera %1 przyszłych rekordów' ,ru: 'База данных содержит %1 записей в будущем' + ,sk: 'Databáza obsahuje %1 záznamov v budúcnosti' } ,'Remove %1 selected records?' : { cs: 'Odstranit %1 vybraných záznamů' @@ -5213,6 +5222,7 @@ function init() { ,fi: 'Poista %1 valittua merkintää?' ,pl: 'Usunać %1 wybranych rekordów?' ,ru: 'Удалить %1 выбранных записей?' + ,sk: 'Odstrániť %1 vybraných záznamov' } ,'Error loading database' : { cs: 'Chyba při nahrávání databáze' @@ -5224,6 +5234,7 @@ function init() { ,fi: 'Ongelma tietokannan lataamisessa' ,pl: 'Błąd wczytywania bazy danych' ,ru: 'Ошибка загрузки базы данных' + ,sk: 'Chyba pri nahrávanií databázy' } ,'Record %1 removed ...' : { cs: 'Záznam %1 odstraněn ...' @@ -5235,6 +5246,7 @@ function init() { ,fi: 'Merkintä %1 poistettu ...' ,pl: '%1 rekordów usunieto ...' ,ru: 'запись %1 удалена' + ,sk: '%1 záznamov bolo odstránených...' } ,'Error removing record %1' : { cs: 'Chyba při odstaňování záznamu %1' @@ -5246,6 +5258,7 @@ function init() { ,fi: 'Virhe poistaessa merkintää numero %1' ,pl: 'Błąd przy usuwaniu rekordu %1' ,ru: 'Ошибка удаления записи %1' + ,sk: 'Chyba pri odstraňovaní záznamu %1' } ,'Deleting records ...' : { cs: 'Odstraňování záznamů ...' @@ -5257,6 +5270,7 @@ function init() { ,fi: 'Poistan merkintöjä' ,pl: 'Usuwanie rekordow ...' ,ru: 'Записи удаляются' + ,sk: 'Odstraňovanie záznamov...' } ,'Clean Mongo status database' : { cs: 'Vyčištění Mongo databáze statusů' @@ -5268,6 +5282,7 @@ function init() { ,fi: 'Siivoa statustietokanta' ,pl: 'Oczyść status bazy danych Mongo' ,ru: 'Очистить статус базы данных Mongo' + ,sk: 'Vyčistiť Mongo databázu statusov' } ,'Delete all documents from devicestatus collection' : { cs: 'Odstranění všech záznamů z kolekce devicestatus' From 360369054851f8779f9fa631515040010de2277d Mon Sep 17 00:00:00 2001 From: Peter Holka Date: Sun, 24 Apr 2016 23:46:26 +0200 Subject: [PATCH 127/158] Update language.js --- lib/language.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/lib/language.js b/lib/language.js index 3910a7d18d8..a924cb58cdc 100644 --- a/lib/language.js +++ b/lib/language.js @@ -5294,6 +5294,7 @@ function init() { ,fi: 'Poista kaikki tiedot statustietokannasta' ,pl: 'Usuń wszystkie dokumenty z kolekcji devicestatus' ,ru: 'Стереть все документы из коллекции статус устройства' + ,sk: 'Odstránenie vštkých záznamov z kolekcie "devicestatus"' } ,'This task removes all documents from devicestatus collection. Useful when uploader battery status is not properly updated.' : { cs: 'Tento úkol odstraní všechny dokumenty z kolekce devicestatus. Je to vhodné udělat, pokud se ukazatel stavu baterie neobnovuje správně.' @@ -5305,6 +5306,7 @@ function init() { ,fi: 'Tämä työkalu poistaa kaikki tiedot statustietokannasta, mikä korjaa tilanteen, jossa puhelimen akun lataustilanne ei näy oikein.' ,pl: 'To narzędzie usuwa wszystkie dokumenty z kolekcji devicestatus. Potrzebne jest wtedy, gdy stan baterii uploadera nie jest aktualizowany' ,ru: 'Эта опция удаляет все документы из коллекции статус устройства. Полезно когда состояние батвреи загрузчика не обновляется' + ,sk: 'Táto úloha vymaže všetky záznamy z kolekcie "devicestatus". Je to vhodné keď sa stav batérie nezobrazuje správne.' } ,'Delete all documents' : { cs: 'Odstranit všechny dokumenty' @@ -5316,6 +5318,7 @@ function init() { ,fi: 'Poista kaikki tiedot' ,pl: 'Usuń wszystkie dokumenty' ,ru: 'Стереть все документы' + ,sk: 'Zmazať všetky záznamy' } ,'Delete all documents from devicestatus collection devicestatus?' : { cs: 'Odstranit všechny dokumenty z kolekce devicestatus?' @@ -5327,6 +5330,7 @@ function init() { ,fi: 'Poista tiedot statustietokannasta?' ,pl: 'Czy na pewno usunąć wszystkie dokumenty z kolekcji devicestatus?' ,ru: 'Стереть все документы коллекции статус устройства?' + ,sk: 'Zmazať všetky záznamy z kolekcie "devicestatus"?' } ,'Database contains %1 records' : { cs: 'Databáze obsahuje %1 záznamů' @@ -5338,6 +5342,7 @@ function init() { ,fi: 'Tietokanta sisältää %1 merkintää' ,pl: 'Baza danych zawiera %1 rekordów' ,ru: 'База данных содержит %1 записей' + ,sk: 'Databáza obsahuje %1 záznamov' } ,'All records removed ...' : { cs: 'Všechny záznamy odstraněny ...' @@ -5349,6 +5354,7 @@ function init() { ,fi: 'Kaikki merkinnät poistettu ...' ,pl: 'Wszystkie rekordy usunięto' ,ru: 'Все записи удалены' + ,sk: 'Všetky záznamy boli zmazané...' } ,'Admin Tools' : { cs: 'Nástroje pro správu' @@ -5360,6 +5366,7 @@ function init() { ,fi: 'Ylläpitotyökalut' ,pl: 'Narzędzia administratora' ,ru: 'Инструменты администратора' + ,sk: 'Nástroje pre správu' } ,'Nightscout reporting' : { cs: 'Nightscout - Výkazy' @@ -5371,6 +5378,7 @@ function init() { ,fi: 'Nightscout raportointi' ,pl: 'Nightscout - raporty' ,ru: 'Статистика Nightscout' + ,sk: 'Nightscout výkazy' } ,'Cancel' : { cs: 'Zrušit' @@ -5382,6 +5390,7 @@ function init() { ,fi: 'Peruuta' ,pl: 'Anuluj' ,ru: 'Отмена' + ,sk: 'Zrušiť' } ,'Edit treatment' : { cs: 'Upravit ošetření' @@ -5393,6 +5402,7 @@ function init() { ,fi: 'Muuta merkintää' ,pl: 'Edytuj zabieg' ,ru: 'Редактировать событие' + ,sk: 'Upraviť ošetrenie' } ,'Duration' : { cs: 'Doba trvání' @@ -5405,6 +5415,7 @@ function init() { ,fi: 'Kesto' ,pl: 'Czas trwania' ,ru: 'Продолжительность' + ,sk: 'Trvanie' } ,'Duration in minutes' : { cs: 'Doba trvání v minutách' @@ -5416,6 +5427,7 @@ function init() { ,fi: 'Kesto minuuteissa' ,pl: 'Czas trwania w minutach' ,ru: 'Продолжительность в мин' + ,sk: 'Trvanie v minútach' } ,'Temp Basal' : { cs: 'Dočasný bazál' @@ -5427,6 +5439,7 @@ function init() { ,fi: 'Tilapäinen basaali' ,pl: 'Tymczasowa dawka podstawowa' ,ru: 'Временный базал' + ,sk: 'Dočasný bazál' } ,'Temp Basal Start' : { cs: 'Dočasný bazál začátek' @@ -5438,6 +5451,7 @@ function init() { ,fi: 'Tilapäinen basaali alku' ,pl: 'Poczatek tymczasowej dawki podstawowej' ,ru: 'Начало временного базала' + ,sk: 'Začiatok dočasného bazálu' } ,'Temp Basal End' : { cs: 'Dočasný bazál konec' @@ -5449,6 +5463,7 @@ function init() { ,fi: 'Tilapäinen basaali loppu' ,pl: 'Koniec tymczasowej dawki podstawowej' ,ru: 'Окончание временного базала' + ,sk: 'Koniec dočasného bazálu' } ,'Percent' : { // value in % for temp basal cs: 'Procenta' @@ -5461,6 +5476,7 @@ function init() { ,fi: 'Prosentti' ,pl: 'Procent' ,ru: 'Процент' + ,sk: 'Percent' } ,'Basal change in %' : { cs: 'Změna bazálu v %' @@ -5472,6 +5488,7 @@ function init() { ,fi: 'Basaalimuutos prosenteissa' ,pl: 'Zmiana dawki podstawowej w %' ,ru: 'Изменение базала в %' + ,sk: 'Zmena bazálu v %' } ,'Basal value' : { // absolute value for temp basal cs: 'Hodnota bazálu' @@ -5484,6 +5501,7 @@ function init() { ,fi: 'Basaalin määrä' ,pl: 'Dawka podstawowa' ,ru: 'Временный базал' + ,sk: 'Hodnota bazálu' } ,'Absolute basal value' : { cs: 'Hodnota bazálu' @@ -5495,6 +5513,7 @@ function init() { ,fi: 'Absoluuttinen basaalimäärä' ,pl: 'Bezwgledna wartosć dawki podstawowej' ,ru: 'Абсолютный базал' + ,sk: 'Absolútna hodnota bazálu' } ,'Announcement' : { cs: 'Oznámení' @@ -5508,6 +5527,7 @@ function init() { ,fi: 'Tiedoite' ,pl: 'Powiadomienie' ,ru: 'Оповещение' + ,sk: 'Oznámenia' } ,'Loading temp basal data' : { cs: 'Nahrávám dočasné bazály' @@ -5519,6 +5539,7 @@ function init() { ,bg: 'Зареждане на данни за временния базал' ,pl: 'Wczytuje dane tymczasowej dawki podstawowej' ,ru: 'Загрузка данных временного базала' + ,sk: 'Nahrávam dáta dočasného bazálu' } ,'Save current record before changing to new?' : { cs: 'Uložit současný záznam před změnou na nový?' @@ -5529,6 +5550,7 @@ function init() { ,bg: 'Запази текущият запис преди да промениш новия ' ,pl: 'Zapisać bieżacy rekord przed zamiana na nowy?' ,ru: 'Сохранить текущие данные перед переходом к новым?' + ,sk: 'Uložiť súčastny záznam pred zmenou na nový?' } ,'Profile Switch' : { cs: 'Přepnutí profilu' @@ -5539,6 +5561,7 @@ function init() { ,bg: 'Смяна на профил' ,pl: 'Przelaczenie profilu' ,ru: 'Изменить профиль' + ,sk: 'Zmena profilu' } ,'Profile' : { cs: 'Profil' @@ -5550,6 +5573,7 @@ function init() { ,bg: 'Профил' ,pl: 'Profil' ,ru: 'Профиль' + ,sk: 'Profil' } ,'General profile settings' : { cs: 'Obecná nastavení profilu' @@ -5560,6 +5584,7 @@ function init() { ,bg: 'Основни настройки на профила' ,pl: 'Ogólne ustawienia profilu' ,ru: 'Общие настройки профиля' + ,sk: 'Obecné nastavenia profilu' } ,'Title' : { cs: 'Název' @@ -5570,6 +5595,7 @@ function init() { ,bg: 'Заглавие' ,pl: 'Nazwa' ,ru: 'Наименование' + ,sk: 'Názov' } ,'Database records' : { cs: 'Záznamy v databázi' @@ -5580,6 +5606,7 @@ function init() { ,bg: 'Записи в базата с данни' ,pl: 'Rekordy bazy danych' ,ru: 'Записи в базе данных' + ,sk: 'Záznamy databázi' } ,'Add new record' : { cs: 'Přidat nový záznam' @@ -5590,6 +5617,7 @@ function init() { ,bg: 'Добави нов запис' ,pl: 'Dodaj nowy rekord' ,ru: 'Добавить новую запись' + ,sk: 'Pridať nový záznam' } ,'Remove this record' : { cs: 'Vymazat tento záznam' From 48fe5806e4ba69bdd0633067d5aa279c7ae63fa3 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Mon, 25 Apr 2016 00:30:34 -0700 Subject: [PATCH 128/158] remove text and adjust top/height/color for temp targets --- lib/client/renderer.js | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/lib/client/renderer.js b/lib/client/renderer.js index d5f5805eca8..215334aeaa8 100644 --- a/lib/client/renderer.js +++ b/lib/client/renderer.js @@ -273,15 +273,30 @@ function init (client, d3) { color = 'Violet'; } else if (d.eventType === 'Note') { color = 'Salmon'; + } else if (d.eventType === 'Temporary Target') { + color = 'lightgray'; } return color; } + function rectHeight (d) { + var height = 20; + if (d.targetTop && d.targetTop > 0 && d.targetBottom && d.targetBottom > 0) { + height += d.targetTop - d.targetBottom; + } + return height; + } + + function rectTranslate (d) { + var top = 50; + if (d.eventType === 'Temporary Target') { + top = ((d.targetTop + d.targetBottom) / 2) + (rectHeight(d) / 2); + } + return 'translate(' + chart().xScale(new Date(d.mills)) + ',' + chart().yScale(utils.scaleMgdl(top)) + ')'; + } // if already existing then transition each rect to its new position treatRects.transition() - .attr('transform', function (d) { - return 'translate(' + chart().xScale(new Date(d.mills)) + ',' + chart().yScale(utils.scaleMgdl(50)) + ')'; - }); + .attr('transform', rectTranslate); chart().focus.selectAll('.g-duration-rect').transition() .attr('width', function (d) { @@ -296,9 +311,7 @@ function init (client, d3) { // if new rect then just display var gs = treatRects.enter().append('g') .attr('class','g-duration') - .attr('transform', function (d) { - return 'translate(' + chart().xScale(new Date(d.mills)) + ',' + chart().yScale(utils.scaleMgdl(50)) + ')'; - }) + .attr('transform', rectTranslate) .on('mouseover', function (d) { client.tooltip.transition().duration(TOOLTIP_TRANS_MS).style('opacity', .9); client.tooltip.html(d.isAnnouncement ? announcementTooltip(d) : treatmentTooltip(d)) @@ -312,7 +325,7 @@ function init (client, d3) { .attr('width', function (d) { return chart().xScale(new Date(d.mills + times.mins(d.duration).msecs)) - chart().xScale(new Date(d.mills)); }) - .attr('height', 20) + .attr('height', rectHeight) .attr('rx', 5) .attr('ry', 5) //.attr('stroke-width', 2) @@ -330,6 +343,9 @@ function init (client, d3) { return 'translate(' + (chart().xScale(new Date(d.mills + times.mins(d.duration).msecs)) - chart().xScale(new Date(d.mills)))/2 + ',' + 10 + ')'; }) .text(function (d) { + if (d.eventType === 'Temporary Target') { + return ''; + } return d.notes || d.eventType; }); @@ -976,7 +992,7 @@ function init (client, d3) { .attr('stroke-width', 1) .attr('d', area); - g.append('path') + g.append('path') .attr('class', 'area comboarea') .datum(comboareadata) .attr('fill', 'url(#hash)') From 2bae2d5d479e1a1f0ba878349d3c4cfb43e42805 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Mon, 25 Apr 2016 00:42:05 -0700 Subject: [PATCH 129/158] more top/height changes --- lib/client/renderer.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/client/renderer.js b/lib/client/renderer.js index 215334aeaa8..8a25cadb0f6 100644 --- a/lib/client/renderer.js +++ b/lib/client/renderer.js @@ -282,7 +282,7 @@ function init (client, d3) { function rectHeight (d) { var height = 20; if (d.targetTop && d.targetTop > 0 && d.targetBottom && d.targetBottom > 0) { - height += d.targetTop - d.targetBottom; + height = Math.max(10, d.targetTop - d.targetBottom); } return height; } @@ -290,7 +290,7 @@ function init (client, d3) { function rectTranslate (d) { var top = 50; if (d.eventType === 'Temporary Target') { - top = ((d.targetTop + d.targetBottom) / 2) + (rectHeight(d) / 2); + top = d.targetTop === d.targetBottom ? d.targetTop + rectHeight(d) / 2 : d.targetTop; } return 'translate(' + chart().xScale(new Date(d.mills)) + ',' + chart().yScale(utils.scaleMgdl(top)) + ')'; } From 62ddb2942acd1d40ed5a5f2cdba1c99fc54c5180 Mon Sep 17 00:00:00 2001 From: Hristina Dimova Date: Mon, 25 Apr 2016 15:10:12 +0300 Subject: [PATCH 130/158] Bulgarian - 25.04.2016 --- lib/language.js | 50 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/lib/language.js b/lib/language.js index a924cb58cdc..d4263b49606 100644 --- a/lib/language.js +++ b/lib/language.js @@ -3349,6 +3349,7 @@ function init() { cs: 'Logaritmické (Dynamické)' ,it: 'Logaritmica (Dinamica)' ,ro: 'Logaritmic (Dinamic)' + ,bg: 'Логоритмичен (Динамичен)' ,nb: 'Logaritmisk (Dynamisk)' ,fi: 'Logaritminen (Dynaaminen)' ,sv: 'Logaritmisk (Dynamisk)' @@ -3361,6 +3362,7 @@ function init() { ,it: 'IOB-Insulina a Bordo' ,nb: 'AI' ,ro: 'IOB-Insulină activă' + ,bg: 'Активен инсулин' ,fi: 'Aktiivinen insuliini (IOB)' ,sv: 'Aktivt insulin (IOB)' ,pl: 'Aktywna insulina (IOB)' @@ -3372,6 +3374,7 @@ function init() { ,it: 'COB-Carboidrati a Bordo' ,nb: 'AK' ,ro: 'COB-Carbohidrați activi' + ,bg: 'Активни въглехидрати' ,fi: 'Aktiivinen hiilihydraatti (COB)' ,sv: 'Aktiva kolhydrater (COB)' ,pl: 'Aktywne wglowodany (COB)' @@ -3383,6 +3386,7 @@ function init() { ,it: 'BWP-Calcolatore di bolo' ,nb: 'Boluskalkulator' ,ro: 'BWP-Sugestie de bolusare' + ,bg: 'Болус калкулатор' ,fi: 'Aterialaskurin Esikatselu (BWP)' ,sv: 'Boluskalkylator (BWP)' ,pl: 'Kalkulator Bolusa (BWP)' @@ -3395,6 +3399,7 @@ function init() { ,it: 'Valori Caricati' ,nb: 'Verdi lastet' ,ro: 'Valoare încărcată' + ,bg: 'Стойност заредена' ,fi: 'Arvo ladattu' ,sv: 'Laddat värde' ,pl: 'Wartości wczytane' @@ -3406,6 +3411,7 @@ function init() { ,it: 'CAGE-Cambio Ago' ,nb: 'Nålalder' ,ro: 'CAGE-Vechime canulă' + ,bg: 'Възраст на канюлата' ,fi: 'Kanyylin ikä (CAGE)' ,sv: 'Kanylålder (CAGE)' ,pl: 'Czas wkłucia (CAGE)' @@ -3417,6 +3423,7 @@ function init() { ,it: 'BASAL-Profilo Basale' ,nb: 'Basalprofil' ,ro: 'Profil bazală' + ,bg: 'Базален профил' ,fi: 'Basaaliprofiili' ,sv: 'Basalprofil' ,pl: 'Profil dawki bazowej' @@ -3855,7 +3862,7 @@ function init() { ,pt: 'Início de sensor' ,sv: 'Sensorstart' ,ro: 'Start senzor' - ,bg: 'Стартиране на сензор' + ,bg: 'Ре/Стартиране на сензор' ,hr: 'Start senzora' ,it: 'Avvio sensore' ,dk: 'Sensorstart' @@ -3893,7 +3900,7 @@ function init() { ,pt: 'Início de sensor' ,sv: 'Dexcom sensorstart' ,ro: 'Pornire senzor Dexcom' - ,bg: 'Стартиране на Декском сензор' + ,bg: 'Ре/Стартиране на Декском сензор' ,hr: 'Start Dexcom senzora' ,it: 'Avvio sensore Dexcom' ,dk: 'Dexcom sensor start' @@ -4774,7 +4781,7 @@ function init() { ,pt: 'Pesado' ,sv: 'Rikligt' ,ro: 'Puternic' - ,bg: 'Силен' + ,bg: 'Висок' ,hr: 'Teško' ,it: 'Pesante' ,dk: 'Voldsom' @@ -4964,6 +4971,7 @@ function init() { cs: 'Přidat nový' ,sv: 'Lägg till ny' ,ro: 'Adaugă nou' + ,bg: 'Добави нов' ,nb: 'Legg til ny' ,fi: 'Lisää uusi' ,pl: 'Dodaj nowy' @@ -4974,6 +4982,7 @@ function init() { cs: 'g' ,sv: 'g' ,ro: 'g' + ,bg: 'гр' ,nb: 'g' ,fi: 'g' ,pl: 'g' @@ -4984,6 +4993,7 @@ function init() { cs: 'ml' ,sv: 'ml' ,ro: 'ml' + ,bg: 'мл' ,nb: 'ml' ,fi: 'ml' ,pl: 'ml' @@ -4994,6 +5004,7 @@ function init() { cs: 'ks' ,sv: 'st' ,ro: 'buc' + ,bg: 'бр' ,nb: 'stk' ,fi: 'kpl' ,pl: 'cz.' @@ -5004,6 +5015,7 @@ function init() { cs: 'Sem táhni & pusť jídlo' ,sv: 'Dra&Släpp mat här' ,ro: 'Drag&drop aliment aici' + ,bg: 'Хвани и премести храна тук' ,nb: 'Dra og slipp mat her' ,fi: 'Pudota ruoka tähän' ,pl: 'Tutaj przesuń/upusć jedzenie ' @@ -5015,6 +5027,7 @@ function init() { ,sv: 'Care Portal' ,it: 'Somministrazioni' ,ro: 'Care Portal' + ,bg: 'Въвеждане на данни' ,nb: 'Omsorgsportal' ,fi: 'Hoidot' ,pl: 'Care Portal' @@ -5025,6 +5038,7 @@ function init() { cs: 'Střední/Neznámá' ,sv: 'Medium/Okänt' ,ro: 'Mediu/Necunoscut' + ,bg: 'Среден/неизвестен' ,nb: 'Medium/ukjent' ,fi: 'Keskiarvo/Ei tiedossa' ,pl: 'Średni/nieznany' @@ -5035,6 +5049,7 @@ function init() { cs: 'V BUDOUCNOSTI' ,sv: 'Framtida' ,ro: 'ÎN VIITOR' + ,bg: 'В БЪДЕШЕТО' ,nb: 'I fremtiden' ,fi: 'TULEVAISUUDESSA' ,pl: 'W PRZYSZŁOŚCI' @@ -5695,7 +5710,7 @@ function init() { ,sv: 'Insulin-Kolhydratskvot' ,nb: 'IKH forhold' ,fi: 'Insuliiniannoksen hiilihydraattisuhde (I:HH)' - ,bg: 'Съотношение на инсулина към въглехидратите ICR I:C И:ВХ' + ,bg: 'Съотношение инсулин/въглехидратите ICR I:C И:ВХ' ,pl: 'Wspolczynnik insulina/weglowodany (I:C)' ,ru: 'Соотношение инсулин/углеводы' } @@ -5806,7 +5821,7 @@ function init() { ,sv: 'Istapp' ,nb: 'Isfjell' ,fi: 'Jääpuikko' - ,bg: 'Висулка' + ,bg: 'Висящ' ,pl: 'Odwrotnosć' ,ru: 'Силуэт сосульки' } @@ -5947,7 +5962,7 @@ function init() { ,ro: 'ISF' ,sv: 'ISF' ,fi: 'ISF' - ,bg: 'ISF' + ,bg: 'Инсулинова чувствителност' ,pl: 'ISF' ,ru: 'Чувствительность к инсулину' } @@ -5955,96 +5970,112 @@ function init() { cs: 'Kombinovaný bolus' ,pl: 'Bolus zlożony' ,ro: 'Bolus combinat' + ,bg: 'Двоен болус' ,fi: 'Yhdistelmäbolus' ,ru: 'Комбинированный болюс' } ,'Difference' : { cs: 'Rozdíl' ,ro: 'Diferență' + ,bg: 'Разлика' ,fi: 'Ero' ,ru: 'Разность' } ,'New time' : { cs: 'Nový čas' ,ro: 'Oră nouă' + ,bg: 'Ново време' ,fi: 'Uusi aika' ,ru: 'Новое время' } ,'Edit Mode' : { cs: 'Editační mód' ,ro: 'Mod editare' + ,bg: 'Редактиране' ,fi: 'Muokkausmoodi' ,ru: 'Режим редактирования' } ,'When enabled icon to start edit mode is visible' : { cs: 'Pokud je povoleno, ikona pro vstup do editačního módu je zobrazena' ,ro: 'La activare, butonul de editare este vizibil' + ,bg: 'Когато е активно ,иконката за редактиране ще се вижда' ,fi: 'Muokkausmoodin ikoni tulee näkyviin kun laitat tämän päälle' ,ru: 'При активации видна икона начать режим редактирования' } ,'Operation' : { cs: 'Operace' ,ro: 'Operațiune' + ,bg: 'Операция' ,fi: 'Operaatio' ,ru: 'Операция' } ,'Move' : { cs: 'Přesunout' ,ro: 'Mutați' + ,bg: 'Премести' ,fi: 'Liikuta' ,ru: 'Переместить' } ,'Delete' : { cs: 'Odstranit' ,ro: 'Ștergeți' + ,bg: 'Изтрий' ,fi: 'Poista' ,ru: 'Удалить' } ,'Move insulin' : { cs: 'Přesunout inzulín' ,ro: 'Mutați insulina' + ,bg: 'Премести инсулин' ,fi: 'Liikuta insuliinia' ,ru: 'Переместить инсулин' } ,'Move carbs' : { cs: 'Přesunout sacharidy' ,ro: 'Mutați carbohidrații' + ,bg: 'Премести ВХ' ,fi: 'Liikuta hiilihydraatteja' ,ru: 'Переместить углеводы' } ,'Remove insulin' : { cs: 'Odstranit inzulín' ,ro: 'Ștergeți insulina' + ,bg: 'Изтрий инсулин' ,fi: 'Poista insuliini' ,ru: 'Удалить инсулин' } ,'Remove carbs' : { cs: 'Odstranit sacharidy' ,ro: 'Ștergeți carbohidrații' + ,bg: 'Изтрий ВХ' ,fi: 'Poista hiilihydraatit' ,ru: 'Удалить углеводы' } ,'Change treatment time to %1 ?' : { cs: 'Změnit čas ošetření na %1 ?' ,ro: 'Schimbați ora acțiunii cu %1 ?' + ,bg: 'Да променя ли времето на събитието с %1?' ,fi: 'Muuta hoidon aika? Uusi: %1' ,ru: 'Изменить время события на %1?' } ,'Change carbs time to %1 ?' : { cs: 'Změnit čas sacharidů na %1 ?' ,ro: 'Schimbați ora carbohidraților cu %1 ?' + ,bg: 'Да променя ли времето на ВХ с %1?' ,fi: 'Muuta hiilihydraattien aika? Uusi: %1' ,ru: 'Изменить время подачи углеводов на %?' } ,'Change insulin time to %1 ?' : { cs: 'Změnit čas inzulínu na %1 ?' ,ro: 'Schimbați ora insulinei cu %1 ?' + ,bg: 'Да променя ли времето на инсулина с %1?' ,fi: 'Muuta insuliinin aika? Uusi: %1' ,ru: 'Изменить время подачи инсулина на %?' } ,'Remove treatment ?' : { cs: 'Odstranit ošetření ?' ,ro: 'Ștergeți acțiunea?' + ,bg: 'Изтрий събитието' ,fi: 'Poista hoito?' ,ru: 'Удалить событие?' @@ -6052,41 +6083,48 @@ function init() { ,'Remove insulin from treatment ?' : { cs: 'Odstranit inzulín z ošetření ?' ,ro: 'Ștergeți insulina din acțiune?' + ,bg: 'Да изтрия ли инсулина от събитието?' ,fi: 'Poista insuliini hoidosta?' ,ru: 'Удалить инсулин из событий?' } ,'Remove carbs from treatment ?' : { cs: 'Odstranit sacharidy z ošetření ?' ,ro: 'Ștergeți carbohidrații din acțiune?' + ,bg: 'Да изтрия ли ВХ от събитието?' ,fi: 'Poista hiilihydraatit hoidosta?' ,ru: 'Удалить углеводы из событий?' } ,'Rendering' : { cs: 'Vykresluji' ,ro: 'Se desenează' + ,bg: 'Показване на графика' ,fi: 'Piirrän graafeja' ,ru: 'Построение графика' } ,'Loading OpenAPS data of' : { cs: 'Nahrávám OpenAPS data z' ,ro: 'Se încarcă datele OpenAPS pentru' + ,bg: 'Зареди OpenAPS данни от' ,fi: 'Lataan OpenAPS tietoja' ,ru: 'Загрузка данных OpenAPS' } ,'Loading profile switch data' : { cs: 'Nahrávám data přepnutí profilu' ,ro: 'Se încarcă datele de schimbare profil' + ,bg: 'Зареждане на данни от сменения профил' ,fi: 'Lataan profiilinvaihtotietoja' ,ru: 'Загрузка данных нового профиля' } ,'Profile is going to be saved in newer format used in Nightscout 0.9.0 and above and will not be usable in older versions anymore.\nAre you sure?' : { cs: 'Profil bude uložen v novějším formátu používaném v Nightscoutu 0.9.0 a novějších. Již nebude použitelný se starší verzí.\nJste si jistý?' ,ro: 'Profilul va fi salvat într-un format nou, folosit în Nightscout 0.9.0 și superior și nu va mai fi posibilă folosirea pentru versiunile mai vechi.\nSunteți de acord?' + ,bg: 'Профилът ще бъде запаметен в нов формат, който се ползва от Nightscout 0.9.0 и нагоре и няма да бъде съвместим с по-стари версии. \nСигурен ли си ?' ,fi: 'Profiili tallennetaan uuteen Nightscout 0.9.0 käyttämään muotoon, eikä sitä voi enää käyttää vanhempien versioiden kanssa.\nOletko varma?' ,ru: 'Профиль будет сохранен в более позднем формате Nightscout 0.9.0 и выше и не сможет более использоваться в старых версиях. Вы согласны? ' } ,'Wrong profile setting.\nNo profile defined to displayed time.\nRedirecting to profile editor to create new profile.' : { cs: 'Chybě nastavený profil.\nNení definovaný žádný platný profil k času zobrazení.\nProvádím přesměrování na editor profilu.' + ,bg: 'Грешни настройки на профила. \nНяма определен профил към избраното време. \nПрепращане към редактора на профила, за създаване на нов профил.' ,ro: 'Setare de profil eronată.\nNu este definit niciun profil pentru perioada afișată.\nMergeți la editorul de profiluri pentru a defini unul nou.' ,fi: 'Väärä profiiliasetus tai profiilia ei löydy.\nSiirrytään profiilin muokkaamiseen uuden profiilin luontia varten.' ,ru: 'Неверные настройки профиля. Для отображаемого времени не определен профиль. Переход к редактору профиля для создания нового' From 0db661b9459c21a88e46d201c562687491c27caa Mon Sep 17 00:00:00 2001 From: Peter Holka Date: Mon, 25 Apr 2016 23:32:40 +0200 Subject: [PATCH 131/158] Slovak translation finished --- lib/language.js | 70 ++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 63 insertions(+), 7 deletions(-) diff --git a/lib/language.js b/lib/language.js index d4263b49606..6cfa35c236d 100644 --- a/lib/language.js +++ b/lib/language.js @@ -5643,6 +5643,7 @@ function init() { ,bg: 'Премахни този запис' ,pl: 'Usuń ten rekord' ,ru: 'Удалить эту запись' + ,sk: 'Zmazať záznam' } ,'Clone this record to new' : { cs: 'Zkopíruj tento záznam do nového' @@ -5653,6 +5654,7 @@ function init() { ,bg: 'Копирай този запис като нов' ,pl: 'Powiel ten rekord na nowy' ,ru: 'Клонировать эту запись в новый' + ,sk: 'Skopírovať záznam do nového' } ,'Record valid from' : { cs: 'Záznam platný od' @@ -5663,6 +5665,7 @@ function init() { ,bg: 'Записът е валиден от ' ,pl: 'Rekord ważny od' ,ru: 'Запись действительна от' + ,sk: 'Záznam platný od' } ,'Stored profiles' : { cs: 'Uložené profily' @@ -5673,6 +5676,7 @@ function init() { ,bg: 'Запаметени профили' ,pl: 'Zachowane profile' ,ru: 'Запомненные профили' + ,sk: 'Uložené profily' } ,'Timezone' : { cs: 'Časová zóna' @@ -5683,6 +5687,7 @@ function init() { ,bg: 'Часова зона' ,pl: 'Strefa czasowa' ,ru: 'Часовой пояс' + ,sk: 'Časové pásmo' } ,'Duration of Insulin Activity (DIA)' : { cs: 'Doba působnosti inzulínu (DIA)' @@ -5693,6 +5698,7 @@ function init() { ,bg: 'Продължителност на инсулиновата активност DIA' ,pl: 'Czas trwania aktywnej insuliny (DIA)' ,ru: 'Время действия инсулина (DIA)' + ,sk: 'Doba pôsobenia inzulínu (DIA)' } ,'Represents the typical duration over which insulin takes effect. Varies per patient and per insulin type. Typically 3-4 hours for most pumped insulin and most patients. Sometimes also called insulin lifetime.' : { cs: 'Představuje typickou dobu, po kterou inzulín působí. Bývá různá podle pacienta a inzulínu. Typicky 3-4 hodiny pro pacienty s pumpou.' @@ -5703,6 +5709,7 @@ function init() { ,bg: 'Представя типичната продължителност на действието на инсулина. Варира между отделните пациенти и различни инсулини. Обикновено е 3-4 часа за пациентите с помпа. Нарича се още живот на инсулина ' ,pl: 'Odzwierciedla czas dzialania insuliny.Może różnić sie w zależnosci od chorego i rodzaju insuliny. Zwykle sa to 3-4 godziny dla insuliny podawanej pompa u wiekszosci chorych. Inna nazwa to czas trwania insuliny.' ,ru: 'Представляет типичную продолжительность действия инсулина. Зависит от пациента и от типа инсулина. Обычно 3-4 часа для большинства помповых инсулинов и большинства пациентов' + ,sk: 'Predstavuje typickú dobu počas ktorej inzulín pôsobí. Býva rôzna od pacienta a od typu inzulínu. Zvyčajne sa pobbuje medzi 3-4 hodinami u pacienta s pumpou' } ,'Insulin to carb ratio (I:C)' : { cs: 'Inzulíno-sacharidový poměr (I:C).' @@ -5713,6 +5720,7 @@ function init() { ,bg: 'Съотношение инсулин/въглехидратите ICR I:C И:ВХ' ,pl: 'Wspolczynnik insulina/weglowodany (I:C)' ,ru: 'Соотношение инсулин/углеводы' + ,sk: 'Inzulín-sacharidový pomer (I:C)' } ,'hours' : { cs: 'hodiny' @@ -5723,6 +5731,7 @@ function init() { ,bg: 'часове' ,pl: 'godziny' ,ru: 'час' + ,sk: 'hodiny' } ,'g/hour' : { cs: 'g/hod' @@ -5733,6 +5742,7 @@ function init() { ,bg: 'гр/час' ,pl: 'g/godzine' ,ru: 'г/час' + ,sk: 'g/hod' } ,'g carbs per U insulin. The ratio of how many grams of carbohydrates are offset by each U of insulin.' : { cs: 'gramy na jednotku inzulínu. Poměr, jaké množství sacharidů pokryje jednotku inzulínu.' @@ -5743,6 +5753,7 @@ function init() { ,bg: 'грам въглехидрат към 1 единица инсулин. Съотношението колко грама въглехидрат се покриват от 1 единица инсулин.' ,pl: 'g weglowodanów na 1j insuliny. Wspólczynnik ilosci gram weglowodanów równoważonych przez 1j insuliny.' ,ru: 'г углеводов на ед инсулина. Соотношение ед инсулина необходимого для компенсации некоторого количества граммов углеводов' + ,sk: 'gramy sacharidov na jednotku inzulínu. Pomer udáva aké množstvo sacharidov pokryje jednotka inzulínu.' } ,'Insulin Sensitivity Factor (ISF)' : { cs: 'Citlivost inzulínu (ISF)' @@ -5753,6 +5764,7 @@ function init() { ,bg: 'Фактор на инсулинова чувствителност ISF ' ,pl: 'Wspólczynnik wrażliwosci na insuline (ISF)' ,ru: 'Фактор чувствительности к инсулину' + ,sk: 'Citlivosť na inzulín (ISF)' } ,'mg/dL or mmol/L per U insulin. The ratio of how much BG changes with each U of corrective insulin.' : { cs: 'mg/dL nebo mmol/L na jednotku inzulínu. Poměr, jak se změní glykémie po podaní jednotky inzulínu' @@ -5763,6 +5775,7 @@ function init() { ,bg: 'мг/дл или ммол към 1 единица инсулин. Съотношението как се променя кръвната захар със всяка единица инсулинова корекция' ,pl: 'mg/dl lub mmol/L na 1j insuliny. Wspolczynnik obniżenia poziomu glukozy przez 1j insuliny' ,ru: 'мг/дл или ммол/л на единицу инсулина. Насколько меняется СК с каждой единицей коррегирующего инсулина' + ,sk: 'mg/dL alebo mmol/L na jednotku inzulínu. Pomer udáva o koľko sa zmení hodnota glykémie po podaní jednotky inzulínu.' } ,'Carbs activity / absorption rate' : { cs: 'Rychlost absorbce sacharidů' @@ -5773,6 +5786,7 @@ function init() { ,bg: 'Активност на въглехидратите / време за абсорбиране' ,pl: 'Aktywnosc weglowodanów / wspólczynnik absorpcji' ,ru: 'Активность углеводов / скорость усвоения' + ,sk: 'Rýchlosť vstrebávania sacharidov' } ,'grams per unit time. Represents both the change in COB per unit of time, as well as the amount of carbs that should take effect over that time. Carb absorption / activity curves are less well understood than insulin activity, but can be approximated using an initial delay followed by a constant rate of absorption (g/hr).' : { cs: 'gramy za jednotku času. Reprezentuje jak změnu COB za jednoku času, tak množství sacharidů, které se za tu dobu projevily. Křivka absorbce sacharidů je mnohem méně pochopitelná než IOB, ale může být aproximována počáteční pauzou následovanou konstantní hodnotou absorbce (g/hod).' @@ -5783,6 +5797,7 @@ function init() { ,bg: 'грам за единица време. Представлява както промяната в COB за единица време, така и количеството ВХ които биха се усвоили за това време.' ,pl: 'g na jednostke czasu. Odzwierciedla zmiane COB na jednostke czasu oraz ilosć weglowodanów majacych przyniesć efekt w czasie. Krzywe absorpcji / aktywnosci weglowodanów sa mniej poznane niż aktywnosci insuliny ale moga być oszacowane przez ocenę opóźnienia wchłaniania przy stalym wspólczynniku absorpcji (g/h).' ,ru: 'грамм на ед времени. Представляет изменение кол-ва углеводов в организме (COB)за единицу времени a также количество активных углеводов' + ,sk: 'gramy za jednotku času. Reprezentuje súčasne zmenu COB za jednotku času, ako aj množstvo sacharidov ktoré sa za tú dobu prejavili. Krivka vstrebávania sacharidov je omnoho menej pochopiteľná ako pôsobenie inzulínu (IOB), ale môže byť približne s použitím počiatočného oneskorenia a následne s konštantným vstrebávaním (g/hod). ' } ,'Basal rates [unit/hour]' : { cs: 'Bazály [U/hod].' @@ -5793,6 +5808,7 @@ function init() { ,bg: 'Базална стойност [единица/час]' ,pl: 'Dawka podstawowa [j/h]' ,ru: 'Стойкость базала ед/час' + ,sk: 'Bazál [U/hod]' } ,'Target BG range [mg/dL,mmol/L]' : { cs: 'Cílový rozsah glykémií [mg/dL,mmol/L]' @@ -5803,6 +5819,7 @@ function init() { ,bg: 'Целеви диапазон на КЗ [мг/дл , ммол]' ,pl: 'Docelowy przedzial glikemii [mg/dl, mmol/L])' ,ru: 'Целевой диапазон СК [mg/dL,mmol/L]' + ,sk: 'Rozsah cieľovej glykémie [mg/dL,mmol/L]' } ,'Start of record validity' : { cs: 'Začátek platnosti záznamu' @@ -5813,6 +5830,7 @@ function init() { ,bg: 'Начало на записа' ,pl: 'Poczatek ważnych rekordów' ,ru: 'Начало записей' + ,sk: 'Začiatok platnosti záznamu' } ,'Icicle' : { cs: 'Rampouch' @@ -5824,6 +5842,7 @@ function init() { ,bg: 'Висящ' ,pl: 'Odwrotnosć' ,ru: 'Силуэт сосульки' + ,sk: 'Inverzne' } ,'Render Basal' : { cs: 'Zobrazení bazálu' @@ -5835,6 +5854,7 @@ function init() { ,bg: 'Базал' ,pl: 'Zmiana dawki bazowej' ,ru: 'Дать базал' + ,sk: 'Zobrazenie bazálu' } ,'Profile used' : { cs: 'Použitý profil' @@ -5845,6 +5865,7 @@ function init() { ,bg: 'Използван профил' ,pl: 'Profil wykorzystywany' ,ru: 'Используемый профиль' + ,sk: 'Použitý profil' } ,'Calculation is in target range.' : { cs: 'Kalkulace je v cílovém rozsahu.' @@ -5854,6 +5875,7 @@ function init() { ,bg: 'Калкулацията е в граници' ,pl: 'Obliczenie miesci sie w zakresie docelowym' ,ru: 'Расчет в целевых пределах ' + ,sk: 'Výpočet je v cieľovom rozsahu.' } ,'Loading profile records ...' : { cs: 'Nahrávám profily ...' @@ -5864,6 +5886,7 @@ function init() { ,bg: 'Зареждане на профили' ,pl: 'Wczytywanie rekordów profilu' ,ru: 'Загрузка записей профиля' + ,sk: 'Nahrávam záznamy profilov' } ,'Values loaded.' : { cs: 'Data nahrána.' @@ -5874,6 +5897,7 @@ function init() { ,bg: 'Стойностите за заредени.' ,pl: 'Wartosci wczytane.' ,ru: 'Данные загружены' + ,sk: 'Hodnoty načítané.' } ,'Default values used.' : { cs: 'Použity výchozí hodnoty.' @@ -5884,6 +5908,7 @@ function init() { ,bg: 'Стойностите по подразбиране са използвани.' ,pl: 'Używane domyslne wartosci.' ,ru: 'Используются значения по умолчанию' + ,sk: 'Použité východzie hodnoty.' } ,'Error. Default values used.' : { cs: 'CHYBA: Použity výchozí hodnoty.' @@ -5894,6 +5919,7 @@ function init() { ,bg: 'Грешка. Стойностите по подразбиране са използвани.' ,pl: 'Blad.Używane domyslne wartosci. ' ,ru: 'Ошибка. Используются значения по умолчанию' + ,sk: 'CHYBA! Použité východzie hodnoty.' } ,'Time ranges of target_low and target_high don\'t match. Values are restored to defaults.' : { cs: 'Rozsahy časů pro limity glykémií si neodpovídají. Budou nastaveny výchozí hodnoty.' @@ -5904,6 +5930,7 @@ function init() { ,bg: 'Времевите интервали за долна граница на кз и горна граница на кз не съвпадат. Стойностите са възстановени по подразбиране.' ,pl: 'Zakres czasu w docelowo niskim i wysokim przedziale nie sa dopasowane. Przywrócono wartosci domyslne' ,ru: 'Диапазон времени нижних и верхних целевых значений не совпадают. Восстановлены значения по умолчанию' + ,sk: 'Časové rozsahy pre cieľové glykémie sa nezhodujú. Hodnoty nastavené na východzie.' } ,'Valid from:' : { cs: 'Platné od:' @@ -5914,6 +5941,7 @@ function init() { ,bg: 'Валиден от' ,pl: 'Ważne od:' ,ru: 'Действует с' + ,sk: 'Platné od:' } ,'Save current record before switching to new?' : { cs: 'Uložit současný záznam před přepnutím na nový?' @@ -5924,6 +5952,7 @@ function init() { ,bg: 'Запазване текущият запис преди превключване на нов?' ,pl: 'Nagrać bieżacy rekord przed przelaczeniem na nowy?' ,ru: 'Сохранить текущие записи перед переходом к новым?' + ,sk: 'Uložiť súčastný záznam pred prepnutím na nový?' } ,'Add new interval before' : { cs: 'Přidat nový interval před' @@ -5934,6 +5963,7 @@ function init() { ,bg: 'Добави интервал преди' ,pl: 'Dodaj nowy przedzial przed' ,ru: 'Добавить интервал перед' + ,sk: 'Pridať nový interval pred' } ,'Delete interval' : { cs: 'Smazat interval' @@ -5944,6 +5974,7 @@ function init() { ,bg: 'Изтрий интервал' ,pl: 'Usuń przedzial' ,ru: 'Удалить интервал' + ,sk: 'Zmazať interval' } ,'I:C' : { cs: 'I:C' @@ -5952,8 +5983,9 @@ function init() { ,sv: 'I:C' ,fi: 'I:HH' ,bg: 'И:ВХ' - ,pl: 'I:C' - ,ru: 'Инс:Углев' + ,pl: 'I:C' + ,ru: 'Инс:Углев' + ,sk: 'I:C' } ,'ISF' : { @@ -5965,14 +5997,16 @@ function init() { ,bg: 'Инсулинова чувствителност' ,pl: 'ISF' ,ru: 'Чувствительность к инсулину' + ,sk: 'ISF' } ,'Combo Bolus' : { cs: 'Kombinovaný bolus' - ,pl: 'Bolus zlożony' - ,ro: 'Bolus combinat' - ,bg: 'Двоен болус' - ,fi: 'Yhdistelmäbolus' - ,ru: 'Комбинированный болюс' + ,pl: 'Bolus zlożony' + ,ro: 'Bolus combinat' + ,bg: 'Двоен болус' + ,fi: 'Yhdistelmäbolus' + ,ru: 'Комбинированный болюс' + ,sk: 'Kombinovaný bolus' } ,'Difference' : { cs: 'Rozdíl' @@ -5980,6 +6014,7 @@ function init() { ,bg: 'Разлика' ,fi: 'Ero' ,ru: 'Разность' + ,sk: 'Rozdiel' } ,'New time' : { cs: 'Nový čas' @@ -5987,6 +6022,7 @@ function init() { ,bg: 'Ново време' ,fi: 'Uusi aika' ,ru: 'Новое время' + ,sk: 'Nový čas' } ,'Edit Mode' : { cs: 'Editační mód' @@ -5994,6 +6030,7 @@ function init() { ,bg: 'Редактиране' ,fi: 'Muokkausmoodi' ,ru: 'Режим редактирования' + ,sk: 'Editačný mód' } ,'When enabled icon to start edit mode is visible' : { cs: 'Pokud je povoleno, ikona pro vstup do editačního módu je zobrazena' @@ -6001,6 +6038,7 @@ function init() { ,bg: 'Когато е активно ,иконката за редактиране ще се вижда' ,fi: 'Muokkausmoodin ikoni tulee näkyviin kun laitat tämän päälle' ,ru: 'При активации видна икона начать режим редактирования' + ,sk: 'Keď je povolený, je zobrazená ikona editačného módu' } ,'Operation' : { cs: 'Operace' @@ -6008,6 +6046,7 @@ function init() { ,bg: 'Операция' ,fi: 'Operaatio' ,ru: 'Операция' + ,sk: 'Operácia' } ,'Move' : { cs: 'Přesunout' @@ -6015,12 +6054,14 @@ function init() { ,bg: 'Премести' ,fi: 'Liikuta' ,ru: 'Переместить' + ,sk: 'Presunúť' } ,'Delete' : { cs: 'Odstranit' ,ro: 'Ștergeți' ,bg: 'Изтрий' ,fi: 'Poista' + ,sk: 'Zmazať' ,ru: 'Удалить' } ,'Move insulin' : { @@ -6029,6 +6070,7 @@ function init() { ,bg: 'Премести инсулин' ,fi: 'Liikuta insuliinia' ,ru: 'Переместить инсулин' + ,sk: 'Presunúť inzulín' } ,'Move carbs' : { cs: 'Přesunout sacharidy' @@ -6036,6 +6078,7 @@ function init() { ,bg: 'Премести ВХ' ,fi: 'Liikuta hiilihydraatteja' ,ru: 'Переместить углеводы' + ,sk: 'Presunúť sacharidy' } ,'Remove insulin' : { cs: 'Odstranit inzulín' @@ -6043,6 +6086,7 @@ function init() { ,bg: 'Изтрий инсулин' ,fi: 'Poista insuliini' ,ru: 'Удалить инсулин' + ,sk: 'Odstrániť inzulín' } ,'Remove carbs' : { cs: 'Odstranit sacharidy' @@ -6050,6 +6094,7 @@ function init() { ,bg: 'Изтрий ВХ' ,fi: 'Poista hiilihydraatit' ,ru: 'Удалить углеводы' + ,sk: 'Odstrániť sacharidy' } ,'Change treatment time to %1 ?' : { cs: 'Změnit čas ošetření na %1 ?' @@ -6057,6 +6102,7 @@ function init() { ,bg: 'Да променя ли времето на събитието с %1?' ,fi: 'Muuta hoidon aika? Uusi: %1' ,ru: 'Изменить время события на %1?' + ,sk: 'Zmeniť čas ošetrenia na %1 ?' } ,'Change carbs time to %1 ?' : { cs: 'Změnit čas sacharidů na %1 ?' @@ -6064,6 +6110,7 @@ function init() { ,bg: 'Да променя ли времето на ВХ с %1?' ,fi: 'Muuta hiilihydraattien aika? Uusi: %1' ,ru: 'Изменить время подачи углеводов на %?' + ,sk: 'Zmeniť čas sacharidov na %1 ?' } ,'Change insulin time to %1 ?' : { cs: 'Změnit čas inzulínu na %1 ?' @@ -6071,6 +6118,7 @@ function init() { ,bg: 'Да променя ли времето на инсулина с %1?' ,fi: 'Muuta insuliinin aika? Uusi: %1' ,ru: 'Изменить время подачи инсулина на %?' + ,sk: 'Zmeniť čas inzulínu na %1 ?' } ,'Remove treatment ?' : { cs: 'Odstranit ošetření ?' @@ -6078,6 +6126,7 @@ function init() { ,bg: 'Изтрий събитието' ,fi: 'Poista hoito?' ,ru: 'Удалить событие?' + ,sk: 'Odstrániť ošetrenie?' } ,'Remove insulin from treatment ?' : { @@ -6086,6 +6135,7 @@ function init() { ,bg: 'Да изтрия ли инсулина от събитието?' ,fi: 'Poista insuliini hoidosta?' ,ru: 'Удалить инсулин из событий?' + ,sk: 'Odstrániť inzulín z ošetrenia?' } ,'Remove carbs from treatment ?' : { cs: 'Odstranit sacharidy z ošetření ?' @@ -6093,6 +6143,7 @@ function init() { ,bg: 'Да изтрия ли ВХ от събитието?' ,fi: 'Poista hiilihydraatit hoidosta?' ,ru: 'Удалить углеводы из событий?' + ,sk: 'Odstrániť sacharidy z ošetrenia?' } ,'Rendering' : { cs: 'Vykresluji' @@ -6100,6 +6151,7 @@ function init() { ,bg: 'Показване на графика' ,fi: 'Piirrän graafeja' ,ru: 'Построение графика' + ,sk: 'Vykresľujem' } ,'Loading OpenAPS data of' : { cs: 'Nahrávám OpenAPS data z' @@ -6107,6 +6159,7 @@ function init() { ,bg: 'Зареди OpenAPS данни от' ,fi: 'Lataan OpenAPS tietoja' ,ru: 'Загрузка данных OpenAPS' + ,sk: 'Nahrávam OpenAPS dáta z' } ,'Loading profile switch data' : { cs: 'Nahrávám data přepnutí profilu' @@ -6114,6 +6167,7 @@ function init() { ,bg: 'Зареждане на данни от сменения профил' ,fi: 'Lataan profiilinvaihtotietoja' ,ru: 'Загрузка данных нового профиля' + ,sk: 'Nahrávam dáta prepnutia profilu' } ,'Profile is going to be saved in newer format used in Nightscout 0.9.0 and above and will not be usable in older versions anymore.\nAre you sure?' : { cs: 'Profil bude uložen v novějším formátu používaném v Nightscoutu 0.9.0 a novějších. Již nebude použitelný se starší verzí.\nJste si jistý?' @@ -6121,6 +6175,7 @@ function init() { ,bg: 'Профилът ще бъде запаметен в нов формат, който се ползва от Nightscout 0.9.0 и нагоре и няма да бъде съвместим с по-стари версии. \nСигурен ли си ?' ,fi: 'Profiili tallennetaan uuteen Nightscout 0.9.0 käyttämään muotoon, eikä sitä voi enää käyttää vanhempien versioiden kanssa.\nOletko varma?' ,ru: 'Профиль будет сохранен в более позднем формате Nightscout 0.9.0 и выше и не сможет более использоваться в старых версиях. Вы согласны? ' + ,sk: 'Profil bude uložený v novšom formáte používanom od verzie Nightscout 0.9.0 a novších. Nebude už použiteľný v starších verziách.\nSte si istý?' } ,'Wrong profile setting.\nNo profile defined to displayed time.\nRedirecting to profile editor to create new profile.' : { cs: 'Chybě nastavený profil.\nNení definovaný žádný platný profil k času zobrazení.\nProvádím přesměrování na editor profilu.' @@ -6128,6 +6183,7 @@ function init() { ,ro: 'Setare de profil eronată.\nNu este definit niciun profil pentru perioada afișată.\nMergeți la editorul de profiluri pentru a defini unul nou.' ,fi: 'Väärä profiiliasetus tai profiilia ei löydy.\nSiirrytään profiilin muokkaamiseen uuden profiilin luontia varten.' ,ru: 'Неверные настройки профиля. Для отображаемого времени не определен профиль. Переход к редактору профиля для создания нового' + ,sk: 'Zle nastavený profil.\nK zobrazenému času nieje definovaný žiadny profil.\nPresmerovávam na vytvorenie profilu.' } }; From 2320f21a4c294f1d69181a71465545a00e75cde1 Mon Sep 17 00:00:00 2001 From: Peter Holka Date: Tue, 26 Apr 2016 00:50:39 +0200 Subject: [PATCH 132/158] slovak grammar corrections --- lib/language.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/language.js b/lib/language.js index 6cfa35c236d..17fb9d5f396 100644 --- a/lib/language.js +++ b/lib/language.js @@ -654,7 +654,7 @@ function init() { ,he: 'טווח מטרה סף תחתון' ,pl: 'Docelowy zakres glikemii, dolny' ,ru: 'Нижний порог целевых значений СК' - ,sk: 'Spodná cieľová glykémia' + ,sk: 'Cieľová glykémia spodná' } ,'top' : { cs: 'horní' @@ -1712,7 +1712,7 @@ function init() { ,he: 'שגיאה: לא ניתן לטעון בסיס נתונים' ,pl: 'Błąd, baza danych nie może być załadowana' ,ru: 'Не удалось загрузить базу данных' - ,sk: 'Chyba pri načítaní databázi' + ,sk: 'Chyba pri načítaní databázy' } ,'Create new record' : { cs: 'Vytvořit nový záznam' @@ -2515,7 +2515,7 @@ function init() { ,he: 'הוסף מבסיס נתונים' ,pl: 'Dodaj z bazy danych' ,ru: 'Добавить из базы данных' - ,sk: 'Pridať z databázi' + ,sk: 'Pridať z databázy' } ,'Use carbs correction in calculation' : { cs: 'Použij korekci na sacharidy' @@ -5709,7 +5709,7 @@ function init() { ,bg: 'Представя типичната продължителност на действието на инсулина. Варира между отделните пациенти и различни инсулини. Обикновено е 3-4 часа за пациентите с помпа. Нарича се още живот на инсулина ' ,pl: 'Odzwierciedla czas dzialania insuliny.Może różnić sie w zależnosci od chorego i rodzaju insuliny. Zwykle sa to 3-4 godziny dla insuliny podawanej pompa u wiekszosci chorych. Inna nazwa to czas trwania insuliny.' ,ru: 'Представляет типичную продолжительность действия инсулина. Зависит от пациента и от типа инсулина. Обычно 3-4 часа для большинства помповых инсулинов и большинства пациентов' - ,sk: 'Predstavuje typickú dobu počas ktorej inzulín pôsobí. Býva rôzna od pacienta a od typu inzulínu. Zvyčajne sa pobbuje medzi 3-4 hodinami u pacienta s pumpou' + ,sk: 'Predstavuje typickú dobu počas ktorej inzulín pôsobí. Býva rôzna od pacienta a od typu inzulínu. Zvyčajne sa pohybuje medzi 3-4 hodinami u pacienta s pumpou.' } ,'Insulin to carb ratio (I:C)' : { cs: 'Inzulíno-sacharidový poměr (I:C).' From 38bfcf5be3f5511677a131b7c8434d208d4518e2 Mon Sep 17 00:00:00 2001 From: Marcin Mazurek Date: Tue, 26 Apr 2016 09:06:36 +0200 Subject: [PATCH 133/158] Update for polish language. --- lib/language.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/language.js b/lib/language.js index 6cfa35c236d..fa05e1a9e3a 100644 --- a/lib/language.js +++ b/lib/language.js @@ -444,7 +444,7 @@ function init() { ,fi: 'Viime viikko' ,nb: 'Siste uke' ,he: 'שבוע אחרון' - ,pl: 'Ostatni tydzeń' + ,pl: 'Ostatni tydzień' ,ru: 'Последняя неделя' ,sk: 'Posledný týždeň' } @@ -1070,7 +1070,7 @@ function init() { ,fi: 'Tunneittainen tilasto' ,nb: 'Timestatistikk' ,he: 'סטטיסטיקה שעתית' - ,pl: 'Statystiki godzinowe' + ,pl: 'Statystyki godzinowe' ,ru: 'Почасовая статистика' ,sk: 'Hodinové štatistiky' } @@ -1088,7 +1088,7 @@ function init() { ,dk: 'Uge resultat' ,fi: 'Viikkotilasto' ,nb: 'Ukeresultat' - ,pl: 'Tygodniowe sukcesy' + ,pl: 'Wyniki tygodniowe' ,ru: 'Результаты недели' ,sk: 'Týždenná úspešnosť' } @@ -1259,7 +1259,7 @@ function init() { ,fi: 'Neljäsosa' ,nb: 'Kvartil' ,he: 'רבעון' - ,pl: 'Kwadryl' + ,pl: 'Kwartyl' ,ru: 'Четверть' ,sk: 'Kvartil' } @@ -1617,7 +1617,7 @@ function init() { ,dk: 'Uge resultat' ,fi: 'Viikottainen tulos' ,nb: 'Ukeresultat' - ,pl: 'Tygodniowe sukcesy' + ,pl: 'Wyniki tygodniowe' ,ru: 'Результаты недели' ,sk: 'Týždenná úspešnosť' } @@ -1655,7 +1655,7 @@ function init() { ,dk: 'Anvender gemt API-nøgle' ,fi: 'Tallennettu salainen API-tarkiste käytössä' ,nb: 'Bruker lagret API nøkkel' - ,pl: 'Korzystajac z zapisanego poufnego API' + ,pl: 'Korzystając z zapisanego poufnego hasha API' ,ru: 'Применение сохраненного пароля API' ,sk: 'Používam uložený API hash heslo' } @@ -1673,7 +1673,7 @@ function init() { ,dk: 'Mangler API-nøgle. Du skal indtaste API hemmelighed' ,fi: 'Salainen API-tarkiste puuttuu. Syötä API tarkiste.' ,nb: 'Mangler API nøkkel. Du må skrive inn API hemmelighet.' - ,pl: 'Nie ma żadnego poufnego API zapisanego. Należy wprowadzić poufne API.' + ,pl: 'Nie ma żadnego poufnego hasha API zapisanego. Należy wprowadzić poufny hash API.' ,ru: 'Пароля API нет в памяти. Введите пароль API' ,sk: 'Nieje uložené žiadne API hash heslo. Musíte zadať API heslo.' } @@ -1917,7 +1917,7 @@ function init() { ,dk: 'Din API nøgle skal være mindst 12 tegn lang' ,fi: 'API-avaimen tulee olla ainakin 12 merkin mittainen' ,nb: 'Din API nøkkel må være minst 12 tegn lang' - ,pl: 'Twoje poufne API musi zawierać co majmniej 12 znaków' + ,pl: 'Twoje poufne klucz API musi zawierać co majmniej 12 znaków' ,ru: 'Ваш пароль API должен быть не менее 12 знаков' ,sk: 'Vaše API heslo musí mať najmenej 12 znakov' } From cc9bba4be61d20d6bb180707371996bf22e1d68e Mon Sep 17 00:00:00 2001 From: Marcin Mazurek Date: Tue, 26 Apr 2016 10:08:13 +0200 Subject: [PATCH 134/158] Update for polish lang. --- lib/language.js | 105 +++++++++++++++++++++++++++--------------------- 1 file changed, 59 insertions(+), 46 deletions(-) diff --git a/lib/language.js b/lib/language.js index fa05e1a9e3a..1f3dd500951 100644 --- a/lib/language.js +++ b/lib/language.js @@ -1636,7 +1636,7 @@ function init() { ,fi: 'Raporttia ei voida luoda liian vähäisen tiedon vuoksi. Valitse useampia päiviä.' ,nb: 'Der er ikke nok data til å lage rapporten. Velg flere dager.' ,he: 'לא נמצא מספיק מידע ליצירת הדוח. בחר ימים נוספים.' - ,pl: 'Nie ma wystarczających danych dla tego raportu. Wybierz więcej dni. ' + ,pl: 'Nie ma wystarczających danych dla tego raportu. Wybierz więcej dni.' ,ru: 'Для этого отчета недостаточно данных. Выберите больше дней.' ,sk: 'Nedostatok dát. Vyberte dlhšie časové obdobie.' } @@ -1917,7 +1917,7 @@ function init() { ,dk: 'Din API nøgle skal være mindst 12 tegn lang' ,fi: 'API-avaimen tulee olla ainakin 12 merkin mittainen' ,nb: 'Din API nøkkel må være minst 12 tegn lang' - ,pl: 'Twoje poufne klucz API musi zawierać co majmniej 12 znaków' + ,pl: 'Twój poufny klucz API musi zawierać co majmniej 12 znaków' ,ru: 'Ваш пароль API должен быть не менее 12 знаков' ,sk: 'Vaše API heslo musí mať najmenej 12 znakov' } @@ -1935,7 +1935,7 @@ function init() { ,dk: 'Forkert API-nøgle' ,fi: 'Väärä API-avain' ,nb: 'Ugyldig API nøkkel' - ,pl: 'Błędne poufne API' + ,pl: 'Błędny klucz API' ,ru: 'Плохой пароль API' ,sk: 'Nesprávne API heslo' } @@ -1953,7 +1953,7 @@ function init() { ,dk: 'Hemmelig API-hash gemt' ,fi: 'API salaisuus talletettu' ,nb: 'API nøkkel lagret' - ,pl: 'Poufne API zapisane' + ,pl: 'Poufne klucz API zapisane' ,ru: 'Пароль API сохранен' ,sk: 'Hash API hesla uložený' } @@ -2177,7 +2177,7 @@ function init() { ,dk: 'Gemme hash på denne computer (brug kun på privat computer)' ,fi: 'Tallenna avain tälle tietokoneelle (käytä vain omalla tietokoneellasi)' ,nb: 'Lagre hash på denne pc (bruk kun på privat pc)' - ,pl: 'Zapisane na tym komputerze (Korzystaj tylko na komputerach prywatnych)' + ,pl: 'Zapisz na tym komputerze (korzystaj tylko na komputerach prywatnych)' ,ru: 'Сохранить на этом ПК (только для личных компьютеров)' ,sk: 'Uložiť hash na tomto počítači (Používajte iba na súkromných počítačoch)' } @@ -2367,7 +2367,7 @@ function init() { ,fi: 'Varmista, että tiedot ovat oikein' ,nb: 'Vennligst verifiser at inntastet data er korrekt' ,he: 'נא לוודא שהמידע שהוזן הוא נכון ומדוייק' - ,pl: 'Proszę sprawdzić, czy wprowadzone dane są prawidłowe' + ,pl: 'Proszę sprawdzić, czy wprowadzone dane są prawidłowe' ,ru: 'Проверьте правильность вводимых данных' ,sk: 'Prosím, skontrolujte správnosť zadaných údajov' } @@ -2993,7 +2993,7 @@ function init() { ,fi: 'Lähetä tiedot' ,nb: 'Lagre' ,he: 'שמור' - ,pl: 'Zatwierdz' + ,pl: 'Zatwierdź' ,ru: 'Ввести форму' ,sk: 'Odoslať formulár' } @@ -3831,7 +3831,7 @@ function init() { ,fi: 'Fyysinen harjoitus' ,nb: 'Trening' ,he: 'פעילות גופנית' - ,pl: 'Wysilek' + ,pl: 'Wysiłek' ,ru: 'Нагрузка' ,sk: 'Cvičenie' } @@ -4097,7 +4097,7 @@ function init() { ,fi: 'Katso kaikki hoitotoimenpiteet' ,nb: 'Vis behandlinger' ,he: 'הצג את כל הטיפולים' - ,pl: 'Pokaż calosć leczenia ' + ,pl: 'Pokaż całość leczenia' ,ru: 'Показать все события по уходу' ,sk: 'Zobraziť všetky ošetrenia' } @@ -4116,7 +4116,7 @@ function init() { ,fi: 'Aktivoi hälytykset' ,nb: 'Aktiver alarmer' ,he: 'הפעל התראות' - ,pl: 'Włącz Alarmy' + ,pl: 'Włącz alarmy' ,ru: 'Активировать сигналы' ,sk: 'Aktivovať alarmy' } @@ -4301,7 +4301,7 @@ function init() { ,dk: 'Når aktiveret vil denne side nedtones fra 22:00-6:00' ,fi: 'Aktivoituna sivu himmenee kello 22 ja 06 välillä' ,nb: 'Når aktivert vil denne siden nedtones fra 22:00-06:00' - ,pl: 'Po włączeniu strona będzie przyciemniona od 22 wieczorem do 6 nad ranem. ' + ,pl: 'Po włączeniu strona będzie przyciemniona od 22 wieczorem do 6 nad ranem.' ,ru: 'При активации страница затемнена с 22.00 до 06.00' ,sk: 'Keď je povolený, obrazovka bude stlmená od 22:00 do 6:00.' } @@ -4553,7 +4553,7 @@ function init() { ,dk: 'Bolusberegner' ,fi: 'Annosopas' ,nb: 'Boluskalkulator' - ,pl: 'Kalkulator Bolusa' + ,pl: 'Kalkulator bolusa' ,ru: 'Болюс Мастер' ,sk: 'Bolusový kalkulátor' } @@ -4715,7 +4715,7 @@ function init() { ,dk: 'længe siden' ,fi: 'Pitkän aikaa sitten' ,nb: 'lenge siden' - ,pl: 'minut temu' + ,pl: 'dawno' ,ru: 'давно' ,sk: 'veľmi dávno' } @@ -4931,7 +4931,7 @@ function init() { ,dk: 'Værdi i' ,fi: 'Arvo yksiköissä' ,nb: 'Verdi i' - ,pl: 'Wartości w ' + ,pl: 'Wartości w' ,ru: 'Значения в' ,sk: 'Hodnota v' } @@ -5018,7 +5018,7 @@ function init() { ,bg: 'Хвани и премести храна тук' ,nb: 'Dra og slipp mat her' ,fi: 'Pudota ruoka tähän' - ,pl: 'Tutaj przesuń/upusć jedzenie ' + ,pl: 'Tutaj przesuń/upuść jedzenie' ,ru: 'Перетащите еду сюда' ,sk: 'Potiahni a pusti jedlo sem' } @@ -5175,7 +5175,7 @@ function init() { ,sv: 'Hitta och ta bort framtida händelser' ,it: 'Trovare e rimuovere le voci (prossimamente)' ,fi: 'Etsi ja poista tapahtumat' - ,pl: 'Znajdz i usuń wpisy w przyszłości' + ,pl: 'Znajdź i usuń wpisy w przyszłości' ,ru: 'Найти и удалить данные с сенсора из будущего' ,sk: 'Nájsť a odstrániť CGM dáta v budúcnosti' } @@ -5235,7 +5235,7 @@ function init() { ,bg: 'Премахване на %1 от избраните записи?' ,it: 'Rimuovere %1 record selezionati?' ,fi: 'Poista %1 valittua merkintää?' - ,pl: 'Usunać %1 wybranych rekordów?' + ,pl: 'Usunąć %1 wybranych rekordów?' ,ru: 'Удалить %1 выбранных записей?' ,sk: 'Odstrániť %1 vybraných záznamov' } @@ -5259,7 +5259,7 @@ function init() { ,bg: '%1 записи премахнати' ,it: 'Record %1 rimosso ...' ,fi: 'Merkintä %1 poistettu ...' - ,pl: '%1 rekordów usunieto ...' + ,pl: '%1 rekordów usunięto ...' ,ru: 'запись %1 удалена' ,sk: '%1 záznamov bolo odstránených...' } @@ -5283,7 +5283,7 @@ function init() { ,bg: 'Изтриване на записите...' ,it: 'Eliminazione dei record ...' ,fi: 'Poistan merkintöjä' - ,pl: 'Usuwanie rekordow ...' + ,pl: 'Usuwanie rekordów ...' ,ru: 'Записи удаляются' ,sk: 'Odstraňovanie záznamov...' } @@ -5295,7 +5295,7 @@ function init() { ,bg: 'Изчисти статуса на Монго базата с данни' ,it: 'Pulire database di Mongo' ,fi: 'Siivoa statustietokanta' - ,pl: 'Oczyść status bazy danych Mongo' + ,pl: 'Oczyść status bazy danych Mongo' ,ru: 'Очистить статус базы данных Mongo' ,sk: 'Vyčistiť Mongo databázu statusov' } @@ -5464,7 +5464,7 @@ function init() { ,it: 'Inizio Basale Temp' ,nb: 'Midlertidig basal start' ,fi: 'Tilapäinen basaali alku' - ,pl: 'Poczatek tymczasowej dawki podstawowej' + ,pl: 'Początek tymczasowej dawki podstawowej' ,ru: 'Начало временного базала' ,sk: 'Začiatok dočasného bazálu' } @@ -5526,7 +5526,7 @@ function init() { ,ro: 'Valoare absolută bazală' ,sv: 'Absolut basalvärde' ,fi: 'Absoluuttinen basaalimäärä' - ,pl: 'Bezwgledna wartosć dawki podstawowej' + ,pl: 'Bezwględna wartość dawki podstawowej' ,ru: 'Абсолютный базал' ,sk: 'Absolútna hodnota bazálu' } @@ -5563,7 +5563,7 @@ function init() { ,nb: 'Lagre før bytte til ny?' ,fi: 'Tallenna nykyinen merkintä ennen vaihtoa uuteen?' ,bg: 'Запази текущият запис преди да промениш новия ' - ,pl: 'Zapisać bieżacy rekord przed zamiana na nowy?' + ,pl: 'Zapisać bieżący rekord przed zamianą na nowy?' ,ru: 'Сохранить текущие данные перед переходом к новым?' ,sk: 'Uložiť súčastny záznam pred zmenou na nový?' } @@ -5574,7 +5574,7 @@ function init() { ,nb: 'Bytt profil' ,fi: 'Vaihda profiilia' ,bg: 'Смяна на профил' - ,pl: 'Przelaczenie profilu' + ,pl: 'Przełączenie profilu' ,ru: 'Изменить профиль' ,sk: 'Zmena profilu' } @@ -5707,7 +5707,7 @@ function init() { ,nb: 'Representerer typisk insulinvarighet. Varierer per pasient og per insulin type. Vanligvis 3-4 timer for de fleste typer insulin og de fleste pasientene. Noen ganger også kalt insulinlevetid.' ,fi: 'Kertoo insuliinin tyypillisen vaikutusajan. Vaihtelee potilaan ja insuliinin tyypin mukaan. Tyypillisesti 3-4 tuntia pumpuissa käytettävällä insuliinilla.' ,bg: 'Представя типичната продължителност на действието на инсулина. Варира между отделните пациенти и различни инсулини. Обикновено е 3-4 часа за пациентите с помпа. Нарича се още живот на инсулина ' - ,pl: 'Odzwierciedla czas dzialania insuliny.Może różnić sie w zależnosci od chorego i rodzaju insuliny. Zwykle sa to 3-4 godziny dla insuliny podawanej pompa u wiekszosci chorych. Inna nazwa to czas trwania insuliny.' + ,pl: 'Odzwierciedla czas dzialania insuliny. Może różnić sie w zależnosci od chorego i rodzaju insuliny. Zwykle sa to 3-4 godziny dla insuliny podawanej pompą u wiekszości chorych. Inna nazwa to czas trwania insuliny.' ,ru: 'Представляет типичную продолжительность действия инсулина. Зависит от пациента и от типа инсулина. Обычно 3-4 часа для большинства помповых инсулинов и большинства пациентов' ,sk: 'Predstavuje typickú dobu počas ktorej inzulín pôsobí. Býva rôzna od pacienta a od typu inzulínu. Zvyčajne sa pobbuje medzi 3-4 hodinami u pacienta s pumpou' } @@ -5718,7 +5718,7 @@ function init() { ,nb: 'IKH forhold' ,fi: 'Insuliiniannoksen hiilihydraattisuhde (I:HH)' ,bg: 'Съотношение инсулин/въглехидратите ICR I:C И:ВХ' - ,pl: 'Wspolczynnik insulina/weglowodany (I:C)' + ,pl: 'Współczynnik insulina/węglowodany (I:C)' ,ru: 'Соотношение инсулин/углеводы' ,sk: 'Inzulín-sacharidový pomer (I:C)' } @@ -5751,7 +5751,7 @@ function init() { ,nb: 'g karbohydrater per enhet insulin. Beskriver hvor mange gram karbohydrater som hånderes av en enhet insulin.' ,fi: 'g hiilihydraattia / yksikkö insuliinia. Suhde, joka kertoo montako grammaa hiilihydraattia vastaa yhtä yksikköä insuliinia.' ,bg: 'грам въглехидрат към 1 единица инсулин. Съотношението колко грама въглехидрат се покриват от 1 единица инсулин.' - ,pl: 'g weglowodanów na 1j insuliny. Wspólczynnik ilosci gram weglowodanów równoważonych przez 1j insuliny.' + ,pl: 'g węglowodanów na 1j insuliny. Współczynnik ilości gram weglowodanów równoważonych przez 1j insuliny.' ,ru: 'г углеводов на ед инсулина. Соотношение ед инсулина необходимого для компенсации некоторого количества граммов углеводов' ,sk: 'gramy sacharidov na jednotku inzulínu. Pomer udáva aké množstvo sacharidov pokryje jednotka inzulínu.' } @@ -5762,7 +5762,7 @@ function init() { ,nb: 'Insulinfølsomhetsfaktor' ,fi: 'Insuliiniherkkyys (ISF)' ,bg: 'Фактор на инсулинова чувствителност ISF ' - ,pl: 'Wspólczynnik wrażliwosci na insuline (ISF)' + ,pl: 'Współczynnik wrażliwosci na insulinę (ISF)' ,ru: 'Фактор чувствительности к инсулину' ,sk: 'Citlivosť na inzulín (ISF)' } @@ -5773,7 +5773,7 @@ function init() { ,nb: 'mg/dl eller mmol/l per enhet insulin. Beskriver hvor mye blodsukkeret senkes per enhet insulin.' ,fi: 'mg/dL tai mmol/L / 1 yksikkö insuliinia. Suhde, joka kertoo montako yksikköä verensokeria yksi yksikkö insuliinia laskee.' ,bg: 'мг/дл или ммол към 1 единица инсулин. Съотношението как се променя кръвната захар със всяка единица инсулинова корекция' - ,pl: 'mg/dl lub mmol/L na 1j insuliny. Wspolczynnik obniżenia poziomu glukozy przez 1j insuliny' + ,pl: 'mg/dl lub mmol/L na 1j insuliny. Współczynnik obniżenia poziomu glukozy przez 1j insuliny' ,ru: 'мг/дл или ммол/л на единицу инсулина. Насколько меняется СК с каждой единицей коррегирующего инсулина' ,sk: 'mg/dL alebo mmol/L na jednotku inzulínu. Pomer udáva o koľko sa zmení hodnota glykémie po podaní jednotky inzulínu.' } @@ -5784,7 +5784,7 @@ function init() { ,nb: 'Karbohydrattid' ,fi: 'Hiilihydraattiaktiivisuus / imeytymisnopeus' ,bg: 'Активност на въглехидратите / време за абсорбиране' - ,pl: 'Aktywnosc weglowodanów / wspólczynnik absorpcji' + ,pl: 'Aktywność węglowodanów / współczynnik absorpcji' ,ru: 'Активность углеводов / скорость усвоения' ,sk: 'Rýchlosť vstrebávania sacharidov' } @@ -5795,7 +5795,7 @@ function init() { ,nb: 'gram per tidsenhet. Representerer både endringen i COB per tidsenhet, såvel som mengden av karbohydrater som blir tatt opp i løpet av den tiden. Carb absorpsjon / virkningskurver er mindre forstått enn insulinaktivitet, men kan tilnærmes ved hjelp av en forsinkelse fulgt av en konstant hastighet av absorpsjon ( g / time ) .' ,fi: 'grammaa / aika. Kertoo tyypillisen nopeuden, jolla hiilihydraatit imeytyvät syömisen jälkeen. Imeytyminen tunnetaan jokseenkin huonosti, mutta voidaan arvioida keskimääräisesti. Yksikkönä grammaa tunnissa (g/h).' ,bg: 'грам за единица време. Представлява както промяната в COB за единица време, така и количеството ВХ които биха се усвоили за това време.' - ,pl: 'g na jednostke czasu. Odzwierciedla zmiane COB na jednostke czasu oraz ilosć weglowodanów majacych przyniesć efekt w czasie. Krzywe absorpcji / aktywnosci weglowodanów sa mniej poznane niż aktywnosci insuliny ale moga być oszacowane przez ocenę opóźnienia wchłaniania przy stalym wspólczynniku absorpcji (g/h).' + ,pl: 'g na jednostkę czasu. Odzwierciedla zmianę COB na jednostkę czasu oraz ilość węglowodanów mających przynieść efekt w czasie. Krzywe absorpcji / aktywnosci węglowodanów są mniej poznane niż aktywności insuliny ale mogą być oszacowane przez ocenę opóźnienia wchłaniania przy stałym współczynniku absorpcji (g/h).' ,ru: 'грамм на ед времени. Представляет изменение кол-ва углеводов в организме (COB)за единицу времени a также количество активных углеводов' ,sk: 'gramy za jednotku času. Reprezentuje súčasne zmenu COB za jednotku času, ako aj množstvo sacharidov ktoré sa za tú dobu prejavili. Krivka vstrebávania sacharidov je omnoho menej pochopiteľná ako pôsobenie inzulínu (IOB), ale môže byť približne s použitím počiatočného oneskorenia a následne s konštantným vstrebávaním (g/hod). ' } @@ -5817,7 +5817,7 @@ function init() { ,nb: 'Ønsket blodsukkerintervall [mg/dl,mmmol/l]' ,fi: 'Tavoitealue [mg/dL tai mmol/L]' ,bg: 'Целеви диапазон на КЗ [мг/дл , ммол]' - ,pl: 'Docelowy przedzial glikemii [mg/dl, mmol/L])' + ,pl: 'Docelowy przedział glikemii [mg/dl, mmol/L])' ,ru: 'Целевой диапазон СК [mg/dL,mmol/L]' ,sk: 'Rozsah cieľovej glykémie [mg/dL,mmol/L]' } @@ -5828,7 +5828,7 @@ function init() { ,nb: 'Starttidspunkt for gyldighet' ,fi: 'Merkinnän alkupäivämäärä' ,bg: 'Начало на записа' - ,pl: 'Poczatek ważnych rekordów' + ,pl: 'Początek ważnych rekordów' ,ru: 'Начало записей' ,sk: 'Začiatok platnosti záznamu' } @@ -5840,7 +5840,7 @@ function init() { ,nb: 'Isfjell' ,fi: 'Jääpuikko' ,bg: 'Висящ' - ,pl: 'Odwrotnosć' + ,pl: 'Odwrotność' ,ru: 'Силуэт сосульки' ,sk: 'Inverzne' } @@ -5873,7 +5873,7 @@ function init() { ,sv: 'Inom intervallområde' ,fi: 'Laskettu arvo on tavoitealueella' ,bg: 'Калкулацията е в граници' - ,pl: 'Obliczenie miesci sie w zakresie docelowym' + ,pl: 'Obliczenie mieści się w zakresie docelowym' ,ru: 'Расчет в целевых пределах ' ,sk: 'Výpočet je v cieľovom rozsahu.' } @@ -5895,7 +5895,7 @@ function init() { ,sv: 'Värden laddadr' ,fi: 'Arvot ladattu' ,bg: 'Стойностите за заредени.' - ,pl: 'Wartosci wczytane.' + ,pl: 'Wartości wczytane.' ,ru: 'Данные загружены' ,sk: 'Hodnoty načítané.' } @@ -5906,7 +5906,7 @@ function init() { ,sv: 'Standardvärden valda' ,fi: 'Oletusarvot ladattu' ,bg: 'Стойностите по подразбиране са използвани.' - ,pl: 'Używane domyslne wartosci.' + ,pl: 'Używane domyślne wartości.' ,ru: 'Используются значения по умолчанию' ,sk: 'Použité východzie hodnoty.' } @@ -5917,7 +5917,7 @@ function init() { ,sv: 'Error. Standardvärden valda.' ,fi: 'Virhe! Käytetään oletusarvoja.' ,bg: 'Грешка. Стойностите по подразбиране са използвани.' - ,pl: 'Blad.Używane domyslne wartosci. ' + ,pl: 'Błąd. Używane domyślne wartości. ' ,ru: 'Ошибка. Используются значения по умолчанию' ,sk: 'CHYBA! Použité východzie hodnoty.' } @@ -5928,7 +5928,7 @@ function init() { ,sv: 'Tidsintervall för målområde låg och hög stämmer ej' ,fi: 'Matalan ja korkean tavoitteen aikarajat eivät täsmää. Arvot on vaihdettu oletuksiin.' ,bg: 'Времевите интервали за долна граница на кз и горна граница на кз не съвпадат. Стойностите са възстановени по подразбиране.' - ,pl: 'Zakres czasu w docelowo niskim i wysokim przedziale nie sa dopasowane. Przywrócono wartosci domyslne' + ,pl: 'Zakres czasu w docelowo niskim i wysokim przedziale nie są dopasowane. Przywrócono wartości domyślne' ,ru: 'Диапазон времени нижних и верхних целевых значений не совпадают. Восстановлены значения по умолчанию' ,sk: 'Časové rozsahy pre cieľové glykémie sa nezhodujú. Hodnoty nastavené na východzie.' } @@ -5939,9 +5939,9 @@ function init() { ,sv: 'Giltig från:' ,fi: 'Alkaen:' ,bg: 'Валиден от' - ,pl: 'Ważne od:' - ,ru: 'Действует с' - ,sk: 'Platné od:' + ,pl: 'Ważne od:' + ,ru: 'Действует с' + ,sk: 'Platné od:' } ,'Save current record before switching to new?' : { cs: 'Uložit současný záznam před přepnutím na nový?' @@ -5950,7 +5950,7 @@ function init() { ,sv: 'Spara före byte till nytt?' ,fi: 'Tallenna nykyinen merkintä ennen vaihtamista uuteen?' ,bg: 'Запазване текущият запис преди превключване на нов?' - ,pl: 'Nagrać bieżacy rekord przed przelaczeniem na nowy?' + ,pl: 'Nagrać bieżący rekord przed przełączeniem na nowy?' ,ru: 'Сохранить текущие записи перед переходом к новым?' ,sk: 'Uložiť súčastný záznam pred prepnutím na nový?' } @@ -5961,7 +5961,7 @@ function init() { ,sv: 'Lägg till nytt intervall före' ,fi: 'Lisää uusi aikaväli ennen' ,bg: 'Добави интервал преди' - ,pl: 'Dodaj nowy przedzial przed' + ,pl: 'Dodaj nowy przedział przed' ,ru: 'Добавить интервал перед' ,sk: 'Pridať nový interval pred' } @@ -5972,7 +5972,7 @@ function init() { ,sv: 'Ta bort intervall' ,fi: 'Poista aikaväli' ,bg: 'Изтрий интервал' - ,pl: 'Usuń przedzial' + ,pl: 'Usuń przedział' ,ru: 'Удалить интервал' ,sk: 'Zmazať interval' } @@ -6001,7 +6001,7 @@ function init() { } ,'Combo Bolus' : { cs: 'Kombinovaný bolus' - ,pl: 'Bolus zlożony' + ,pl: 'Bolus złożony' ,ro: 'Bolus combinat' ,bg: 'Двоен болус' ,fi: 'Yhdistelmäbolus' @@ -6015,6 +6015,7 @@ function init() { ,fi: 'Ero' ,ru: 'Разность' ,sk: 'Rozdiel' + ,pl: 'Różnica' } ,'New time' : { cs: 'Nový čas' @@ -6023,6 +6024,7 @@ function init() { ,fi: 'Uusi aika' ,ru: 'Новое время' ,sk: 'Nový čas' + ,pl: 'Nowy czas' } ,'Edit Mode' : { cs: 'Editační mód' @@ -6031,6 +6033,7 @@ function init() { ,fi: 'Muokkausmoodi' ,ru: 'Режим редактирования' ,sk: 'Editačný mód' + ,pl: 'Tryb edycji' } ,'When enabled icon to start edit mode is visible' : { cs: 'Pokud je povoleno, ikona pro vstup do editačního módu je zobrazena' @@ -6047,6 +6050,7 @@ function init() { ,fi: 'Operaatio' ,ru: 'Операция' ,sk: 'Operácia' + ,pl: 'Operacja' } ,'Move' : { cs: 'Přesunout' @@ -6055,6 +6059,7 @@ function init() { ,fi: 'Liikuta' ,ru: 'Переместить' ,sk: 'Presunúť' + ,pl: 'Przesuń' } ,'Delete' : { cs: 'Odstranit' @@ -6063,6 +6068,7 @@ function init() { ,fi: 'Poista' ,sk: 'Zmazať' ,ru: 'Удалить' + ,pl: 'Skasuj' } ,'Move insulin' : { cs: 'Přesunout inzulín' @@ -6071,6 +6077,7 @@ function init() { ,fi: 'Liikuta insuliinia' ,ru: 'Переместить инсулин' ,sk: 'Presunúť inzulín' + ,pl: 'Przesuń insulinę' } ,'Move carbs' : { cs: 'Přesunout sacharidy' @@ -6079,6 +6086,7 @@ function init() { ,fi: 'Liikuta hiilihydraatteja' ,ru: 'Переместить углеводы' ,sk: 'Presunúť sacharidy' + ,pl: 'Przesuń węglowodany' } ,'Remove insulin' : { cs: 'Odstranit inzulín' @@ -6087,6 +6095,7 @@ function init() { ,fi: 'Poista insuliini' ,ru: 'Удалить инсулин' ,sk: 'Odstrániť inzulín' + ,pl: 'Usuń insulinę' } ,'Remove carbs' : { cs: 'Odstranit sacharidy' @@ -6095,6 +6104,7 @@ function init() { ,fi: 'Poista hiilihydraatit' ,ru: 'Удалить углеводы' ,sk: 'Odstrániť sacharidy' + ,pl: 'Usuń węglowodany' } ,'Change treatment time to %1 ?' : { cs: 'Změnit čas ošetření na %1 ?' @@ -6103,6 +6113,7 @@ function init() { ,fi: 'Muuta hoidon aika? Uusi: %1' ,ru: 'Изменить время события на %1?' ,sk: 'Zmeniť čas ošetrenia na %1 ?' + ,pl: 'Zmień czas zdarzenia na %1 ?' } ,'Change carbs time to %1 ?' : { cs: 'Změnit čas sacharidů na %1 ?' @@ -6111,6 +6122,7 @@ function init() { ,fi: 'Muuta hiilihydraattien aika? Uusi: %1' ,ru: 'Изменить время подачи углеводов на %?' ,sk: 'Zmeniť čas sacharidov na %1 ?' + ,pl: 'Zmień czas węglowodanów na %1 ?' } ,'Change insulin time to %1 ?' : { cs: 'Změnit čas inzulínu na %1 ?' @@ -6119,6 +6131,7 @@ function init() { ,fi: 'Muuta insuliinin aika? Uusi: %1' ,ru: 'Изменить время подачи инсулина на %?' ,sk: 'Zmeniť čas inzulínu na %1 ?' + ,pl: 'Zmień czas insuliny na %1 ?' } ,'Remove treatment ?' : { cs: 'Odstranit ošetření ?' From b71ca778ad35f3ff3430076310a4bec42d1b4f64 Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Tue, 26 Apr 2016 18:56:19 +0200 Subject: [PATCH 135/158] fix dayscount --- static/report/js/report.js | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/static/report/js/report.js b/static/report/js/report.js index 2317b898d09..b10d567971e 100644 --- a/static/report/js/report.js +++ b/static/report/js/report.js @@ -420,26 +420,24 @@ function addPreviousDayTreatments() { for (var d in daystoshow) { if (daystoshow.hasOwnProperty(d)) { - if (dayscount < maxdays) { - var day = moment.tz(d,zone); - var previous = day.subtract(1,'days'); - var formated = previous.format('YYYY-MM-DD'); - if (!daystoshow[formated]) { - daystoshow[formated] = { treatmentsonly: true}; - console.log('Adding ' + formated + ' for loading treatments'); - } - } + var day = moment.tz(d,zone); + var previous = day.subtract(1,'days'); + var formated = previous.format('YYYY-MM-DD'); + if (!daystoshow[formated]) { + daystoshow[formated] = { treatmentsonly: true}; + console.log('Adding ' + formated + ' for loading treatments'); + dayscount++; + } } } //console.log('Total: ', daystoshow, 'Matches needed: ', matchesneeded, 'Will be loaded: ', dayscount); } function dataLoadedCallback (day) { - if (daystoshow[day].treatmentsonly) { - return; - } loadeddays++; - sorteddaystoshow.push(day); + if (!daystoshow[day].treatmentsonly) { + sorteddaystoshow.push(day); + } if (loadeddays === dayscount) { sorteddaystoshow.sort(); var from = sorteddaystoshow[0]; From 34848fee455fafea23c0074f770e83c290c1ae4c Mon Sep 17 00:00:00 2001 From: baembel08 Date: Tue, 26 Apr 2016 20:32:07 +0200 Subject: [PATCH 136/158] Update language.js --- lib/language.js | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/lib/language.js b/lib/language.js index 7c5cab26050..c48ffc112f5 100644 --- a/lib/language.js +++ b/lib/language.js @@ -47,6 +47,7 @@ function init() { ,pl: 'Słucham na porcie' ,ru: 'Прослушивание порта' ,sk: 'Načúvam na porte' + ,de: 'auf Port' } // Client ,'Mo' : { @@ -67,7 +68,7 @@ function init() { ,pl: 'Pn' ,ru: 'Пон' ,sk: 'Po' - } + } ,'Tu' : { cs: 'Út' ,de: 'Di' @@ -2183,7 +2184,7 @@ function init() { } ,'Treatments' : { cs: 'Ošetření' - ,de: 'Bearbeitung' + ,de: 'Behandlungen' ,es: 'Tratamientos' ,fr: 'Traitements' ,pt: 'Procedimentos' @@ -2278,7 +2279,7 @@ function init() { } ,'Delete this treatment?' : { cs: 'Vymazat toto ošetření?' - ,de: 'Bearbeitung löschen' + ,de: 'Diese Behandlung löschen?' ,es: '¿Borrar este tratamiento?' ,fr: 'Effacer ce traitement?' ,pt: 'Apagar este procedimento?' @@ -2999,7 +3000,7 @@ function init() { } ,'Profile Editor' : { cs: 'Editor profilu' - ,de: 'Profil-Einstellungen' + ,de: 'Profil-Editor' ,es: 'Editor de perfil' ,fr: 'Editeur de profil' ,pt: 'Editor de perfil' @@ -3036,7 +3037,7 @@ function init() { } ,'Add food from your database' : { cs: 'Přidat jidlo z Vaší databáze' - ,de: 'Ergänzt durch deine Datenbank' + ,de: 'Ergänze Nahrung durch deine Datenbank' ,es: 'Añadir alimento a su base de datos' ,fr: 'Ajouter aliment de votre base de données' ,pt: 'Incluir alimento do seu banco de dados' @@ -3216,7 +3217,7 @@ function init() { } ,'Your device is not authenticated yet' : { cs: 'Toto zařízení nebylo dosud ověřeno' - ,de: 'Dein Gerät ist derzeit nicht authentifiziert' + ,de: 'Dein Gerät ist derzeit noch nicht authentifiziert' ,es: 'Su dispositivo no ha sido autenticado todavía' ,fr: 'Votre appareil n\'est pas encore authentifié' ,pt: 'Seu dispositivo ainda não foi autenticado' @@ -3356,6 +3357,7 @@ function init() { ,pl: 'Logarytmiczna (Dynamiczna)' ,ru: 'Логарифмический (Динамический)' ,sk: 'Logaritmické (Dynamické)' + ,de: 'Logaritmisch (dynamisch)' } ,'Insulin-on-Board' : { cs: 'IOB' @@ -3368,6 +3370,7 @@ function init() { ,pl: 'Aktywna insulina (IOB)' ,ru: 'Активный инсулин' ,sk: 'Aktívny inzulín (IOB)' + ,de: 'aktives schnell wirksames Bolus-Insulin' } ,'Carbs-on-Board' : { cs: 'COB' @@ -3380,6 +3383,7 @@ function init() { ,pl: 'Aktywne wglowodany (COB)' ,ru: 'Активные углеводы' ,sk: 'Aktívne sacharidy (COB)' + ,de: 'aktive wirksame Kohlenhydrate' } ,'Bolus Wizard Preview' : { cs: 'BWP-Náhled bolusového kalk.' @@ -3392,6 +3396,7 @@ function init() { ,pl: 'Kalkulator Bolusa (BWP)' ,ru: 'Предпросмотр мастера болюса' ,sk: 'Bolus Wizard' + ,de: 'Bolus Insulin Vorschau Assistent' } ,'Value Loaded' : { @@ -3405,6 +3410,7 @@ function init() { ,pl: 'Wartości wczytane' ,ru: 'Величина загружена' ,sk: 'Hodnoty načítané' + ,de: 'geladener Wert' } ,'Cannula Age' : { cs: 'CAGE-Stáří kanyly' @@ -3417,6 +3423,7 @@ function init() { ,pl: 'Czas wkłucia (CAGE)' ,ru: 'Возраст сенсора' ,sk: 'Vek kanyly (CAGE)' + ,de: 'Insulinpumpen Katheter Setzzeit' } ,'Basal Profile' : { cs: 'Bazál' @@ -3429,6 +3436,7 @@ function init() { ,pl: 'Profil dawki bazowej' ,ru: 'Профиль Базального' ,sk: 'Bazál' + ,de: 'Basalraten - Profil' } ,'Silence for 30 minutes' : { cs: 'Ztlumit na 30 minut' @@ -3666,7 +3674,7 @@ function init() { } ,'Log a Treatment' : { cs: 'Záznam ošetření' - ,de: 'Dateneingabe' + ,de: 'eine Behandlung eingeben' ,es: 'Apuntar un tratamiento' ,fr: 'Entrer un traitement' ,pt: 'Entre um procedimento' @@ -3780,7 +3788,7 @@ function init() { } ,'Note' : { cs: 'Poznámka' - ,de: 'Bemerkungen' + ,de: 'Bemerkung' ,es: 'Nota' ,fr: 'Note' ,pt: 'Nota' From 086eccac56f5d258bdeeaac0797d33fdf05b996e Mon Sep 17 00:00:00 2001 From: MilosKozak Date: Tue, 26 Apr 2016 21:18:13 +0200 Subject: [PATCH 137/158] load realy only treatments --- static/report/js/report.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/static/report/js/report.js b/static/report/js/report.js index b10d567971e..8b7b417b2bc 100644 --- a/static/report/js/report.js +++ b/static/report/js/report.js @@ -547,6 +547,12 @@ var to = from + 1000 * 60 * 60 * 24; function loadCGMData() { + if (daystoshow[day].treatmentsonly) { + data.sgv = []; + data.mbg = []; + data.cal = []; + return $.Deferred().resolve(); + } $('#info-' + day).html(''+translate('Loading CGM data of')+' '+day+' ...'); var query = '?find[date][$gte]='+from+'&find[date][$lt]='+to+'&count=10000'; return $.ajax('/api/v1/entries.json'+query, { @@ -625,6 +631,10 @@ } function loadDevicestatusData() { + if (daystoshow[day].treatmentsonly) { + data.devicestatus = []; + return $.Deferred().resolve(); + } if(options.iob || options.cob || options.openAps) { $('#info-' + day).html(''+translate('Loading device status data of')+' '+day+' ...'); var tquery = '?find[created_at][$gte]=' + new Date(from).toISOString() + '&find[created_at][$lt]=' + new Date(to).toISOString() + '&count=10000'; @@ -667,6 +677,12 @@ } function processData(data, day, options, callback) { + if (daystoshow[day].treatmentsonly) { + datastorage[day] = data; + $('#info-' + day).html(''); + callback(day); + return; + } // treatments data.treatments.forEach(function (d) { if (parseFloat(d.insulin) > maxInsulinValue) { From 9b8c262fc3fa6799134c1b06dbdb39f6c7a67180 Mon Sep 17 00:00:00 2001 From: LadyViktoria Date: Tue, 26 Apr 2016 22:06:32 +0200 Subject: [PATCH 138/158] Update language.js --- lib/language.js | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/lib/language.js b/lib/language.js index c48ffc112f5..8fc1437ccad 100644 --- a/lib/language.js +++ b/lib/language.js @@ -3348,6 +3348,7 @@ function init() { } ,'Logarithmic (Dynamic)' : { cs: 'Logaritmické (Dynamické)' + ,de: 'Logaritmisch (dynamisch)' ,it: 'Logaritmica (Dinamica)' ,ro: 'Logaritmic (Dinamic)' ,bg: 'Логоритмичен (Динамичен)' @@ -3357,10 +3358,10 @@ function init() { ,pl: 'Logarytmiczna (Dynamiczna)' ,ru: 'Логарифмический (Динамический)' ,sk: 'Logaritmické (Dynamické)' - ,de: 'Logaritmisch (dynamisch)' } ,'Insulin-on-Board' : { cs: 'IOB' + ,de: 'aktives schnell wirksames Bolus-Insulin' ,it: 'IOB-Insulina a Bordo' ,nb: 'AI' ,ro: 'IOB-Insulină activă' @@ -3370,10 +3371,10 @@ function init() { ,pl: 'Aktywna insulina (IOB)' ,ru: 'Активный инсулин' ,sk: 'Aktívny inzulín (IOB)' - ,de: 'aktives schnell wirksames Bolus-Insulin' } ,'Carbs-on-Board' : { - cs: 'COB' + cs: 'COB' + ,de: 'aktive wirksame Kohlenhydrate' ,it: 'COB-Carboidrati a Bordo' ,nb: 'AK' ,ro: 'COB-Carbohidrați activi' @@ -3383,10 +3384,10 @@ function init() { ,pl: 'Aktywne wglowodany (COB)' ,ru: 'Активные углеводы' ,sk: 'Aktívne sacharidy (COB)' - ,de: 'aktive wirksame Kohlenhydrate' } ,'Bolus Wizard Preview' : { cs: 'BWP-Náhled bolusového kalk.' + ,de: 'Bolus Insulin Vorschau Assistent' ,it: 'BWP-Calcolatore di bolo' ,nb: 'Boluskalkulator' ,ro: 'BWP-Sugestie de bolusare' @@ -3396,11 +3397,10 @@ function init() { ,pl: 'Kalkulator Bolusa (BWP)' ,ru: 'Предпросмотр мастера болюса' ,sk: 'Bolus Wizard' - ,de: 'Bolus Insulin Vorschau Assistent' - } ,'Value Loaded' : { cs: 'Hodnoty načteny' + ,de: 'geladener Wert' ,it: 'Valori Caricati' ,nb: 'Verdi lastet' ,ro: 'Valoare încărcată' @@ -3410,10 +3410,10 @@ function init() { ,pl: 'Wartości wczytane' ,ru: 'Величина загружена' ,sk: 'Hodnoty načítané' - ,de: 'geladener Wert' } ,'Cannula Age' : { cs: 'CAGE-Stáří kanyly' + ,de: 'Insulinpumpen Katheter Setzzeit' ,it: 'CAGE-Cambio Ago' ,nb: 'Nålalder' ,ro: 'CAGE-Vechime canulă' @@ -3423,10 +3423,10 @@ function init() { ,pl: 'Czas wkłucia (CAGE)' ,ru: 'Возраст сенсора' ,sk: 'Vek kanyly (CAGE)' - ,de: 'Insulinpumpen Katheter Setzzeit' } ,'Basal Profile' : { cs: 'Bazál' + ,de: 'Basalraten - Profil' ,it: 'BASAL-Profilo Basale' ,nb: 'Basalprofil' ,ro: 'Profil bazală' @@ -3436,7 +3436,6 @@ function init() { ,pl: 'Profil dawki bazowej' ,ru: 'Профиль Базального' ,sk: 'Bazál' - ,de: 'Basalraten - Profil' } ,'Silence for 30 minutes' : { cs: 'Ztlumit na 30 minut' @@ -3620,7 +3619,7 @@ function init() { } ,'Date format' : { cs: 'Formát datumu' - ,de: 'Datum Format' + ,de: 'Datumsformat' ,es: 'Formato de fecha' ,fr: 'Format Date' ,pt: 'Formato de data' @@ -4964,6 +4963,7 @@ function init() { } ,'Language' : { cs: 'Jazyk' + ,de: 'Sprache' ,sv: 'Språk' ,nb: 'Språk' ,fi: 'Kieli' @@ -4977,6 +4977,7 @@ function init() { } ,'Add new' : { cs: 'Přidat nový' + ,de: 'neu hinzufügen' ,sv: 'Lägg till ny' ,ro: 'Adaugă nou' ,bg: 'Добави нов' @@ -4988,6 +4989,7 @@ function init() { } ,'g' : { // grams shortcut cs: 'g' + ,de: 'g' ,sv: 'g' ,ro: 'g' ,bg: 'гр' @@ -4999,6 +5001,7 @@ function init() { } ,'ml' : { // milliliters shortcut cs: 'ml' + ,de: 'ml' ,sv: 'ml' ,ro: 'ml' ,bg: 'мл' @@ -5010,6 +5013,7 @@ function init() { } ,'pcs' : { // pieces shortcut cs: 'ks' + ,de: 'stk.' ,sv: 'st' ,ro: 'buc' ,bg: 'бр' @@ -5066,6 +5070,7 @@ function init() { } ,'Update' : { // Update button cs: 'Aktualizovat' + ,de: 'aktualisieren' ,sv: 'Uppdatera' ,nb: 'Oppdater' ,pt: 'Atualizar' @@ -5079,6 +5084,7 @@ function init() { } ,'Order' : { cs: 'Pořadí' + ,de: 'Sortierung' ,sv: 'Sortering' ,nb: 'Sortering' ,ro: 'Sortare' @@ -5405,6 +5411,7 @@ function init() { } ,'Cancel' : { cs: 'Zrušit' + ,de: 'abbrechen' ,nb: 'Avbryt' ,ro: 'Renunță' ,sv: 'Avbryt' @@ -5442,6 +5449,7 @@ function init() { } ,'Duration in minutes' : { cs: 'Doba trvání v minutách' + ,de: 'Dauer in Minuten' ,ro: 'Durata în minute' ,sv: 'Varaktighet i minuter' ,bg: 'Времетраене в мин.' @@ -5454,6 +5462,7 @@ function init() { } ,'Temp Basal' : { cs: 'Dočasný bazál' + ,de: 'Temporär basal' ,ro: 'Bazală temporară' ,sv: 'Temporär basal' ,bg: 'Временен базал' @@ -5588,6 +5597,7 @@ function init() { } ,'Profile' : { cs: 'Profil' + ,de: 'Profil' ,it: 'Profilo' ,ro: 'Profil' ,sv: 'Profil' @@ -5600,6 +5610,7 @@ function init() { } ,'General profile settings' : { cs: 'Obecná nastavení profilu' + ,de: 'Allgemeine Profileinstellungen' ,ro: 'Setări generale profil' ,sv: 'Allmän profilinställning' ,nb: 'Profilinstillinger' @@ -5688,6 +5699,7 @@ function init() { } ,'Timezone' : { cs: 'Časová zóna' + ,de: 'Zeitzone' ,ro: 'Fus orar' ,sv: 'Tidszon' ,nb: 'Tidssone' @@ -5942,6 +5954,7 @@ function init() { } ,'Valid from:' : { cs: 'Platné od:' + ,de: 'Gültig von:' ,nb: 'Gyldig fra:' ,ro: 'Valid de la:' ,sv: 'Giltig från:' @@ -6018,6 +6031,7 @@ function init() { } ,'Difference' : { cs: 'Rozdíl' + ,de: 'Unterschied' ,ro: 'Diferență' ,bg: 'Разлика' ,fi: 'Ero' @@ -6027,6 +6041,7 @@ function init() { } ,'New time' : { cs: 'Nový čas' + ,de: 'Neue Zeit' ,ro: 'Oră nouă' ,bg: 'Ново време' ,fi: 'Uusi aika' @@ -6071,6 +6086,7 @@ function init() { } ,'Delete' : { cs: 'Odstranit' + ,de: 'Löschen' ,ro: 'Ștergeți' ,bg: 'Изтрий' ,fi: 'Poista' From db819b5edc7798dcae7ff37dd49541607c80c079 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Tue, 26 Apr 2016 22:40:27 -0700 Subject: [PATCH 139/158] process temp targets to make sure they don't overlap and the duration 0 is a cancel --- lib/client/renderer.js | 22 ++++++++++++--------- lib/data/ddata.js | 40 ++++++++++++++++++++++---------------- static/report/js/report.js | 2 +- 3 files changed, 37 insertions(+), 27 deletions(-) diff --git a/lib/client/renderer.js b/lib/client/renderer.js index 8a25cadb0f6..03061e1f581 100644 --- a/lib/client/renderer.js +++ b/lib/client/renderer.js @@ -178,7 +178,7 @@ function init (client, d3) { (d.enteredBy ? ''+translate('Entered By')+': ' + d.enteredBy + '
    ' : '') + (d.targetTop ? ''+translate('Target Top')+': ' + d.targetTop + '
    ' : '') + (d.targetBottom ? ''+translate('Target Bottom')+': ' + d.targetBottom + '
    ' : '') + - (d.duration ? ''+translate('Duration')+': ' + d.duration + ' min
    ' : '') + + (d.duration ? ''+translate('Duration')+': ' + Math.round(d.duration) + ' min
    ' : '') + (d.notes ? ''+translate('Notes')+': ' + d.notes : ''); } @@ -260,11 +260,17 @@ function init (client, d3) { .on('mouseout', hideTooltip); treatCircles.attr('clip-path', 'url(#clip)'); - + + var durationTreatments = client.ddata.treatments.filter(function(treatment) { + return !treatment.carbs && !treatment.insulin && treatment.duration && + ! _.includes(['Temp Basal', 'Profile Switch', 'Combo Bolus', 'Temporary Target'], treatment.eventType); + }); + + //use the processed temp target so there are no overlaps + durationTreatments = durationTreatments.concat(client.ddata.tempTargetTreatments); + // treatments with duration - var treatRects = chart().focus.selectAll('.g-duration').data(client.ddata.treatments.filter(function(treatment) { - return !treatment.carbs && !treatment.insulin && treatment.duration && treatment.eventType !== 'Temp Basal' && treatment.eventType !== 'Profile Switch' && treatment.eventType !== 'Combo Bolus'; - })); + var treatRects = chart().focus.selectAll('.g-duration').data(durationTreatments); function fillColor(d) { // this is going to be updated by Event Type @@ -282,7 +288,7 @@ function init (client, d3) { function rectHeight (d) { var height = 20; if (d.targetTop && d.targetTop > 0 && d.targetBottom && d.targetBottom > 0) { - height = Math.max(10, d.targetTop - d.targetBottom); + height = Math.max(5, d.targetTop - d.targetBottom); } return height; } @@ -290,7 +296,7 @@ function init (client, d3) { function rectTranslate (d) { var top = 50; if (d.eventType === 'Temporary Target') { - top = d.targetTop === d.targetBottom ? d.targetTop + rectHeight(d) / 2 : d.targetTop; + top = d.targetTop === d.targetBottom ? d.targetTop + rectHeight(d) : d.targetTop; } return 'translate(' + chart().xScale(new Date(d.mills)) + ',' + chart().yScale(utils.scaleMgdl(top)) + ')'; } @@ -328,9 +334,7 @@ function init (client, d3) { .attr('height', rectHeight) .attr('rx', 5) .attr('ry', 5) - //.attr('stroke-width', 2) .attr('opacity', .2) - //.attr('stroke', 'white') .attr('fill', fillColor); gs.append('text') diff --git a/lib/data/ddata.js b/lib/data/ddata.js index 27d16eaa2ee..db9d56c5075 100644 --- a/lib/data/ddata.js +++ b/lib/data/ddata.js @@ -77,10 +77,13 @@ function init( ) { return result; }; - ddata.processTempBasals = function processTempBasals(tempbasalTreatments) { + ddata.processDurations = function processDurations(treatments) { + + treatments = _.uniqBy(treatments, 'mills'); + // cut temp basals by end events // better to do it only on data update - var endevents = tempbasalTreatments.filter(function filterEnd(t) { + var endevents = treatments.filter(function filterEnd(t) { return ! t.duration; }); @@ -91,7 +94,7 @@ function init( ) { } // cut by end events - tempbasalTreatments.forEach(function allTreatments(t) { + treatments.forEach(function allTreatments(t) { if (t.duration) { endevents.forEach(function allEndevents(e) { cutIfInInterval(t, e); @@ -100,15 +103,15 @@ function init( ) { }); // cut by overlaping events - tempbasalTreatments.forEach(function allTreatments(t) { + treatments.forEach(function allTreatments(t) { if (t.duration) { - tempbasalTreatments.forEach(function allEndevents(e) { + treatments.forEach(function allEndevents(e) { cutIfInInterval(t, e); }); } }); - return tempbasalTreatments.filter(function filterEnd(t) { + return treatments.filter(function filterEnd(t) { return t.duration; }); }; @@ -116,40 +119,43 @@ function init( ) { ddata.processTreatments = function processTreatments ( ) { // filter & prepare 'Site Change' events - ddata.sitechangeTreatments = ddata.treatments.filter( function filterSensor(t) { + ddata.sitechangeTreatments = ddata.treatments.filter( function filterSensor (t) { return t.eventType.indexOf('Site Change') > -1; }).sort(function (a,b) { return a.mills > b.mills; }); // filter & prepare 'Insulin Change' events - ddata.insulinchangeTreatments = ddata.treatments.filter( function filterInsulin(t) { + ddata.insulinchangeTreatments = ddata.treatments.filter( function filterInsulin (t) { return t.eventType.indexOf('Insulin Change') > -1; }).sort(function (a,b) { return a.mills > b.mills; }); // filter & prepare 'Sensor' events - ddata.sensorTreatments = ddata.treatments.filter( function filterSensor(t) { + ddata.sensorTreatments = ddata.treatments.filter( function filterSensor (t) { return t.eventType.indexOf('Sensor') > -1; }).sort(function (a,b) { return a.mills > b.mills; }); // filter & prepare 'Profile Switch' events - ddata.profileTreatments = ddata.treatments.filter( function filterProfiles(t) { + ddata.profileTreatments = ddata.treatments.filter( function filterProfiles (t) { return t.eventType === 'Profile Switch'; }).sort(function (a,b) { return a.mills > b.mills; }); // filter & prepare 'Combo Bolus' events - ddata.combobolusTreatments = ddata.treatments.filter( function filterComboBoluses(t) { + ddata.combobolusTreatments = ddata.treatments.filter( function filterComboBoluses (t) { return t.eventType === 'Combo Bolus'; }).sort(function (a,b) { return a.mills > b.mills; }); // filter & prepare temp basals - var tempbasalTreatments = ddata.treatments.filter( function filterBasals(t) { + var tempbasalTreatments = ddata.treatments.filter( function filterBasals (t) { return t.eventType && t.eventType.indexOf('Temp Basal') > -1; }); - - // dedupe the data - tempbasalTreatments = _.uniqBy(tempbasalTreatments, 'mills'); - // store prepared temp basal treatments - ddata.tempbasalTreatments = ddata.processTempBasals(tempbasalTreatments); + ddata.tempbasalTreatments = ddata.processDurations(tempbasalTreatments); + + // filter temp target + var tempTargetTreatments = ddata.treatments.filter( function filterTargets (t) { + return t.eventType && t.eventType.indexOf('Temporary Target') > -1; + }); + ddata.tempTargetTreatments = ddata.processDurations(tempTargetTreatments); + }; return ddata; diff --git a/static/report/js/report.js b/static/report/js/report.js index 143cf2cf952..5cb94286a39 100644 --- a/static/report/js/report.js +++ b/static/report/js/report.js @@ -626,7 +626,7 @@ treatment.mills = timestamp.getTime(); return treatment; }); - datastorage.tempbasalTreatments = Nightscout.client.ddata.processTempBasals(treatmentData.slice()); + datastorage.tempbasalTreatments = Nightscout.client.ddata.processDurations(treatmentData.slice()); datastorage.tempbasalTreatments.sort(function(a, b) { return a.mills - b.mills; }); } }).done(function () { From 3a293dccf1a223f1d13cdcfc43d611c21e3aeb8f Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Tue, 26 Apr 2016 23:33:50 -0700 Subject: [PATCH 140/158] add support for canceling a temp target --- lib/client/careportal.js | 10 ++++++++-- lib/plugins/openaps.js | 5 +++++ lib/treatments.js | 14 +++++++++----- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/lib/client/careportal.js b/lib/client/careportal.js index e9797ef047f..f65b0c3d8f1 100644 --- a/lib/client/careportal.js +++ b/lib/client/careportal.js @@ -219,9 +219,15 @@ function init (client, plugins, $) { } if (data.eventType.indexOf('Temp Basal') > -1) { + data.duration = 0; data.eventType = 'Temp Basal'; } + if (data.eventType.indexOf('Temporary Target Cancel') > -1) { + data.duration = 0; + data.eventType = 'Temporary Target'; + } + if (data.eventType.indexOf('Combo Bolus') > -1) { data.splitNow = parseInt($('#insulinSplitNow').val()) || 0; data.splitExt = parseInt($('#insulinSplitExt').val()) || 0; @@ -280,8 +286,8 @@ function init (client, plugins, $) { } $.ajax({ - method: 'POST', - url: '/api/v1/treatments/' + method: 'POST' + , url: '/api/v1/treatments/' , headers: { 'api-secret': client.hashauth.hash() } diff --git a/lib/plugins/openaps.js b/lib/plugins/openaps.js index ce7829115e6..fded5765384 100644 --- a/lib/plugins/openaps.js +++ b/lib/plugins/openaps.js @@ -216,6 +216,11 @@ function init() { , { name: 'Manual' } ] } + , { + val: 'Temporary Target Cancel' + , name: 'Temporary Target Cancel' + , bg: false, insulin: false, carbs: false, prebolus: false, duration: false, percent: false, absolute: false, profile: false, split: false + } , { val: 'OpenAPS Offline' , name: 'OpenAPS Offline' diff --git a/lib/treatments.js b/lib/treatments.js index dfaed79f289..bc05798d6f8 100644 --- a/lib/treatments.js +++ b/lib/treatments.js @@ -166,20 +166,24 @@ function prepareData(obj) { } } + function deleteIfNaN (field) { + console.info('>>>', field, obj[field], isNaN(obj[field])); + if (isNaN(obj[field])) { + delete obj[field]; + } + } + deleteIfEmpty('targetTop'); deleteIfEmpty('targetBottom'); deleteIfEmpty('carbs'); deleteIfEmpty('insulin'); - deleteIfEmpty('duration'); deleteIfEmpty('percent'); deleteIfEmpty('relative'); deleteIfEmpty('notes'); deleteIfEmpty('preBolus'); - //special handling for absolute to support temp to 0 - if (isNaN(obj.absolute)) { - delete obj.absolute; - } + deleteIfNaN('absolute'); + deleteIfNaN('duration'); if (obj.glucose === 0 || isNaN(obj.glucose)) { delete obj.glucose; From 351f3d7e44a13ca5afa8fb7387fd3479faf4925d Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Tue, 26 Apr 2016 23:55:34 -0700 Subject: [PATCH 141/158] no dots for duration == 0 --- lib/client/renderer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/client/renderer.js b/lib/client/renderer.js index 03061e1f581..a45c7b73efb 100644 --- a/lib/client/renderer.js +++ b/lib/client/renderer.js @@ -206,7 +206,7 @@ function init (client, d3) { return notes.indexOf(spam) === 0; })); - return notCarbsOrInsulin && !treatment.duration && notTempOrProfile && notOpenAPSSpam; + return notCarbsOrInsulin && isNaN(treatment.duration) && notTempOrProfile && notOpenAPSSpam; })); function prepareTreatCircles(sel) { From 5d0668c9199a2d3dd53102c8b667fba275afa37c Mon Sep 17 00:00:00 2001 From: sebastianlorant Date: Wed, 27 Apr 2016 10:54:56 +0200 Subject: [PATCH 142/158] Update Language "SV" - per 20160427 --- lib/language.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/lib/language.js b/lib/language.js index 8fc1437ccad..9742f7d225c 100644 --- a/lib/language.js +++ b/lib/language.js @@ -6024,6 +6024,7 @@ function init() { cs: 'Kombinovaný bolus' ,pl: 'Bolus złożony' ,ro: 'Bolus combinat' + ,sv: 'Combo-bolus' ,bg: 'Двоен болус' ,fi: 'Yhdistelmäbolus' ,ru: 'Комбинированный болюс' @@ -6033,6 +6034,7 @@ function init() { cs: 'Rozdíl' ,de: 'Unterschied' ,ro: 'Diferență' + ,sv: 'Skillnad' ,bg: 'Разлика' ,fi: 'Ero' ,ru: 'Разность' @@ -6043,6 +6045,7 @@ function init() { cs: 'Nový čas' ,de: 'Neue Zeit' ,ro: 'Oră nouă' + ,sv: 'Ny tid' ,bg: 'Ново време' ,fi: 'Uusi aika' ,ru: 'Новое время' @@ -6052,6 +6055,7 @@ function init() { ,'Edit Mode' : { cs: 'Editační mód' ,ro: 'Mod editare' + ,sv: 'Editeringsläge' ,bg: 'Редактиране' ,fi: 'Muokkausmoodi' ,ru: 'Режим редактирования' @@ -6061,6 +6065,7 @@ function init() { ,'When enabled icon to start edit mode is visible' : { cs: 'Pokud je povoleno, ikona pro vstup do editačního módu je zobrazena' ,ro: 'La activare, butonul de editare este vizibil' + ,sv: 'Ikon visas när editeringsläge är aktivt' ,bg: 'Когато е активно ,иконката за редактиране ще се вижда' ,fi: 'Muokkausmoodin ikoni tulee näkyviin kun laitat tämän päälle' ,ru: 'При активации видна икона начать режим редактирования' @@ -6069,6 +6074,7 @@ function init() { ,'Operation' : { cs: 'Operace' ,ro: 'Operațiune' + ,sv: 'Operation' ,bg: 'Операция' ,fi: 'Operaatio' ,ru: 'Операция' @@ -6078,6 +6084,7 @@ function init() { ,'Move' : { cs: 'Přesunout' ,ro: 'Mutați' + ,sv: 'Flytta' ,bg: 'Премести' ,fi: 'Liikuta' ,ru: 'Переместить' @@ -6088,6 +6095,7 @@ function init() { cs: 'Odstranit' ,de: 'Löschen' ,ro: 'Ștergeți' + ,sv: 'Ta bort' ,bg: 'Изтрий' ,fi: 'Poista' ,sk: 'Zmazať' @@ -6097,6 +6105,7 @@ function init() { ,'Move insulin' : { cs: 'Přesunout inzulín' ,ro: 'Mutați insulina' + ,sv: 'Flytta insulin' ,bg: 'Премести инсулин' ,fi: 'Liikuta insuliinia' ,ru: 'Переместить инсулин' @@ -6106,6 +6115,7 @@ function init() { ,'Move carbs' : { cs: 'Přesunout sacharidy' ,ro: 'Mutați carbohidrații' + ,sv: 'Flytta kolhydrater' ,bg: 'Премести ВХ' ,fi: 'Liikuta hiilihydraatteja' ,ru: 'Переместить углеводы' @@ -6115,6 +6125,7 @@ function init() { ,'Remove insulin' : { cs: 'Odstranit inzulín' ,ro: 'Ștergeți insulina' + ,sv: 'Ta bort insulin' ,bg: 'Изтрий инсулин' ,fi: 'Poista insuliini' ,ru: 'Удалить инсулин' @@ -6124,6 +6135,7 @@ function init() { ,'Remove carbs' : { cs: 'Odstranit sacharidy' ,ro: 'Ștergeți carbohidrații' + ,sv: 'Ta bort kolhydrater' ,bg: 'Изтрий ВХ' ,fi: 'Poista hiilihydraatit' ,ru: 'Удалить углеводы' @@ -6133,6 +6145,7 @@ function init() { ,'Change treatment time to %1 ?' : { cs: 'Změnit čas ošetření na %1 ?' ,ro: 'Schimbați ora acțiunii cu %1 ?' + ,sv: 'Ändra behandlingstid till %1 ?' ,bg: 'Да променя ли времето на събитието с %1?' ,fi: 'Muuta hoidon aika? Uusi: %1' ,ru: 'Изменить время события на %1?' @@ -6142,6 +6155,7 @@ function init() { ,'Change carbs time to %1 ?' : { cs: 'Změnit čas sacharidů na %1 ?' ,ro: 'Schimbați ora carbohidraților cu %1 ?' + ,sv: 'Ändra kolhydratstid till %1 ?' ,bg: 'Да променя ли времето на ВХ с %1?' ,fi: 'Muuta hiilihydraattien aika? Uusi: %1' ,ru: 'Изменить время подачи углеводов на %?' @@ -6151,6 +6165,7 @@ function init() { ,'Change insulin time to %1 ?' : { cs: 'Změnit čas inzulínu na %1 ?' ,ro: 'Schimbați ora insulinei cu %1 ?' + ,sv: 'Ändra insulintid till %1 ?' ,bg: 'Да променя ли времето на инсулина с %1?' ,fi: 'Muuta insuliinin aika? Uusi: %1' ,ru: 'Изменить время подачи инсулина на %?' @@ -6160,6 +6175,7 @@ function init() { ,'Remove treatment ?' : { cs: 'Odstranit ošetření ?' ,ro: 'Ștergeți acțiunea?' + ,sv: 'Ta bort behandling ?' ,bg: 'Изтрий събитието' ,fi: 'Poista hoito?' ,ru: 'Удалить событие?' @@ -6169,6 +6185,7 @@ function init() { ,'Remove insulin from treatment ?' : { cs: 'Odstranit inzulín z ošetření ?' ,ro: 'Ștergeți insulina din acțiune?' + ,sv: 'Ta bort insulin från behandling ?' ,bg: 'Да изтрия ли инсулина от събитието?' ,fi: 'Poista insuliini hoidosta?' ,ru: 'Удалить инсулин из событий?' @@ -6177,6 +6194,7 @@ function init() { ,'Remove carbs from treatment ?' : { cs: 'Odstranit sacharidy z ošetření ?' ,ro: 'Ștergeți carbohidrații din acțiune?' + ,sv: 'Ta bort kolhydrater från behandling ?' ,bg: 'Да изтрия ли ВХ от събитието?' ,fi: 'Poista hiilihydraatit hoidosta?' ,ru: 'Удалить углеводы из событий?' @@ -6185,6 +6203,7 @@ function init() { ,'Rendering' : { cs: 'Vykresluji' ,ro: 'Se desenează' + ,sv: 'Rendering' ,bg: 'Показване на графика' ,fi: 'Piirrän graafeja' ,ru: 'Построение графика' @@ -6193,6 +6212,7 @@ function init() { ,'Loading OpenAPS data of' : { cs: 'Nahrávám OpenAPS data z' ,ro: 'Se încarcă datele OpenAPS pentru' + ,sv: 'Laddar OpenAPS data för' ,bg: 'Зареди OpenAPS данни от' ,fi: 'Lataan OpenAPS tietoja' ,ru: 'Загрузка данных OpenAPS' @@ -6201,6 +6221,7 @@ function init() { ,'Loading profile switch data' : { cs: 'Nahrávám data přepnutí profilu' ,ro: 'Se încarcă datele de schimbare profil' + ,sv: 'Laddar ny profildata' ,bg: 'Зареждане на данни от сменения профил' ,fi: 'Lataan profiilinvaihtotietoja' ,ru: 'Загрузка данных нового профиля' @@ -6209,6 +6230,7 @@ function init() { ,'Profile is going to be saved in newer format used in Nightscout 0.9.0 and above and will not be usable in older versions anymore.\nAre you sure?' : { cs: 'Profil bude uložen v novějším formátu používaném v Nightscoutu 0.9.0 a novějších. Již nebude použitelný se starší verzí.\nJste si jistý?' ,ro: 'Profilul va fi salvat într-un format nou, folosit în Nightscout 0.9.0 și superior și nu va mai fi posibilă folosirea pentru versiunile mai vechi.\nSunteți de acord?' + ,sv: 'Profilen sparas i ett nyare format som ej kommer fungera i tidigare versioner av Nightscout (<0.9.0). \nÄr du säker?' ,bg: 'Профилът ще бъде запаметен в нов формат, който се ползва от Nightscout 0.9.0 и нагоре и няма да бъде съвместим с по-стари версии. \nСигурен ли си ?' ,fi: 'Profiili tallennetaan uuteen Nightscout 0.9.0 käyttämään muotoon, eikä sitä voi enää käyttää vanhempien versioiden kanssa.\nOletko varma?' ,ru: 'Профиль будет сохранен в более позднем формате Nightscout 0.9.0 и выше и не сможет более использоваться в старых версиях. Вы согласны? ' @@ -6218,6 +6240,7 @@ function init() { cs: 'Chybě nastavený profil.\nNení definovaný žádný platný profil k času zobrazení.\nProvádím přesměrování na editor profilu.' ,bg: 'Грешни настройки на профила. \nНяма определен профил към избраното време. \nПрепращане към редактора на профила, за създаване на нов профил.' ,ro: 'Setare de profil eronată.\nNu este definit niciun profil pentru perioada afișată.\nMergeți la editorul de profiluri pentru a defini unul nou.' + ,sv: 'Fel profilinställning.\nIngen profil vald för vald tid.\nOmdirigerar för att skapa ny profil.' ,fi: 'Väärä profiiliasetus tai profiilia ei löydy.\nSiirrytään profiilin muokkaamiseen uuden profiilin luontia varten.' ,ru: 'Неверные настройки профиля. Для отображаемого времени не определен профиль. Переход к редактору профиля для создания нового' ,sk: 'Zle nastavený profil.\nK zobrazenému času nieje definovaný žiadny profil.\nPresmerovávam na vytvorenie profilu.' From 7c8db0558b1d9504992d14e71b6aa2f57818c744 Mon Sep 17 00:00:00 2001 From: Peter Holka Date: Wed, 27 Apr 2016 12:26:14 +0200 Subject: [PATCH 143/158] Slovak translation update --- lib/language.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/language.js b/lib/language.js index 9742f7d225c..9642ffb5d25 100644 --- a/lib/language.js +++ b/lib/language.js @@ -6244,8 +6244,16 @@ function init() { ,fi: 'Väärä profiiliasetus tai profiilia ei löydy.\nSiirrytään profiilin muokkaamiseen uuden profiilin luontia varten.' ,ru: 'Неверные настройки профиля. Для отображаемого времени не определен профиль. Переход к редактору профиля для создания нового' ,sk: 'Zle nastavený profil.\nK zobrazenému času nieje definovaný žiadny profil.\nPresmerovávam na vytvorenie profilu.' - } - + } + ,'Pump' : { + sk: 'Pumpa' + } + ,'Sensor Age' : { + sk: 'Vek senzoru (SAGE)' + } + ,'Insulin Age' : { + sk: 'Vek inzulínu (IAGE)' + } }; language.translations = translations; From 16845770524db6a63241509162614690a81cd188 Mon Sep 17 00:00:00 2001 From: mKorniK Date: Wed, 27 Apr 2016 12:58:02 +0200 Subject: [PATCH 144/158] next try german short update --- lib/language.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lib/language.js b/lib/language.js index 9642ffb5d25..193aeeafe38 100644 --- a/lib/language.js +++ b/lib/language.js @@ -6055,6 +6055,7 @@ function init() { ,'Edit Mode' : { cs: 'Editační mód' ,ro: 'Mod editare' + ,de: 'Bearbeitungsmodus' ,sv: 'Editeringsläge' ,bg: 'Редактиране' ,fi: 'Muokkausmoodi' @@ -6065,6 +6066,7 @@ function init() { ,'When enabled icon to start edit mode is visible' : { cs: 'Pokud je povoleno, ikona pro vstup do editačního módu je zobrazena' ,ro: 'La activare, butonul de editare este vizibil' + ,de: 'Mit Aktivieren des Icons ist der Bearbeitungsmodus sichtbar' ,sv: 'Ikon visas när editeringsläge är aktivt' ,bg: 'Когато е активно ,иконката за редактиране ще се вижда' ,fi: 'Muokkausmoodin ikoni tulee näkyviin kun laitat tämän päälle' @@ -6074,6 +6076,7 @@ function init() { ,'Operation' : { cs: 'Operace' ,ro: 'Operațiune' + ,de: 'Operation' ,sv: 'Operation' ,bg: 'Операция' ,fi: 'Operaatio' @@ -6084,6 +6087,7 @@ function init() { ,'Move' : { cs: 'Přesunout' ,ro: 'Mutați' + ,de: 'Verschieben' ,sv: 'Flytta' ,bg: 'Премести' ,fi: 'Liikuta' @@ -6105,6 +6109,7 @@ function init() { ,'Move insulin' : { cs: 'Přesunout inzulín' ,ro: 'Mutați insulina' + ,de: 'Insulin verschieben' ,sv: 'Flytta insulin' ,bg: 'Премести инсулин' ,fi: 'Liikuta insuliinia' @@ -6115,6 +6120,7 @@ function init() { ,'Move carbs' : { cs: 'Přesunout sacharidy' ,ro: 'Mutați carbohidrații' + ,de: 'Kohlenhydrathe verschieben' ,sv: 'Flytta kolhydrater' ,bg: 'Премести ВХ' ,fi: 'Liikuta hiilihydraatteja' @@ -6125,6 +6131,7 @@ function init() { ,'Remove insulin' : { cs: 'Odstranit inzulín' ,ro: 'Ștergeți insulina' + ,de: 'Insulin löschen' ,sv: 'Ta bort insulin' ,bg: 'Изтрий инсулин' ,fi: 'Poista insuliini' @@ -6135,6 +6142,7 @@ function init() { ,'Remove carbs' : { cs: 'Odstranit sacharidy' ,ro: 'Ștergeți carbohidrații' + ,de: 'Kohlenhydrathe löschen' ,sv: 'Ta bort kolhydrater' ,bg: 'Изтрий ВХ' ,fi: 'Poista hiilihydraatit' @@ -6145,6 +6153,7 @@ function init() { ,'Change treatment time to %1 ?' : { cs: 'Změnit čas ošetření na %1 ?' ,ro: 'Schimbați ora acțiunii cu %1 ?' + ,de: 'Behandlungsdauer ändern zu %1 ?' ,sv: 'Ändra behandlingstid till %1 ?' ,bg: 'Да променя ли времето на събитието с %1?' ,fi: 'Muuta hoidon aika? Uusi: %1' @@ -6155,6 +6164,7 @@ function init() { ,'Change carbs time to %1 ?' : { cs: 'Změnit čas sacharidů na %1 ?' ,ro: 'Schimbați ora carbohidraților cu %1 ?' + ,de: 'Kohlenhydrath-Zeit ändern zu %1 ?' ,sv: 'Ändra kolhydratstid till %1 ?' ,bg: 'Да променя ли времето на ВХ с %1?' ,fi: 'Muuta hiilihydraattien aika? Uusi: %1' @@ -6165,6 +6175,7 @@ function init() { ,'Change insulin time to %1 ?' : { cs: 'Změnit čas inzulínu na %1 ?' ,ro: 'Schimbați ora insulinei cu %1 ?' + ,de: 'Insulinzeit ändern zu %1 ?' ,sv: 'Ändra insulintid till %1 ?' ,bg: 'Да променя ли времето на инсулина с %1?' ,fi: 'Muuta insuliinin aika? Uusi: %1' @@ -6175,6 +6186,7 @@ function init() { ,'Remove treatment ?' : { cs: 'Odstranit ošetření ?' ,ro: 'Ștergeți acțiunea?' + ,de: 'Behandlung löschen?' ,sv: 'Ta bort behandling ?' ,bg: 'Изтрий събитието' ,fi: 'Poista hoito?' @@ -6184,6 +6196,7 @@ function init() { } ,'Remove insulin from treatment ?' : { cs: 'Odstranit inzulín z ošetření ?' + ,de: 'Insulin von Behandlung löschen?' ,ro: 'Ștergeți insulina din acțiune?' ,sv: 'Ta bort insulin från behandling ?' ,bg: 'Да изтрия ли инсулина от събитието?' @@ -6194,6 +6207,7 @@ function init() { ,'Remove carbs from treatment ?' : { cs: 'Odstranit sacharidy z ošetření ?' ,ro: 'Ștergeți carbohidrații din acțiune?' + ,de: 'Kohlenhydrathe von Behandlung löschen?' ,sv: 'Ta bort kolhydrater från behandling ?' ,bg: 'Да изтрия ли ВХ от събитието?' ,fi: 'Poista hiilihydraatit hoidosta?' @@ -6203,6 +6217,7 @@ function init() { ,'Rendering' : { cs: 'Vykresluji' ,ro: 'Se desenează' + ,de: 'Wiedergabe' ,sv: 'Rendering' ,bg: 'Показване на графика' ,fi: 'Piirrän graafeja' @@ -6211,6 +6226,7 @@ function init() { } ,'Loading OpenAPS data of' : { cs: 'Nahrávám OpenAPS data z' + ,de: 'Lade OpenAPS Daten von' ,ro: 'Se încarcă datele OpenAPS pentru' ,sv: 'Laddar OpenAPS data för' ,bg: 'Зареди OpenAPS данни от' @@ -6230,6 +6246,7 @@ function init() { ,'Profile is going to be saved in newer format used in Nightscout 0.9.0 and above and will not be usable in older versions anymore.\nAre you sure?' : { cs: 'Profil bude uložen v novějším formátu používaném v Nightscoutu 0.9.0 a novějších. Již nebude použitelný se starší verzí.\nJste si jistý?' ,ro: 'Profilul va fi salvat într-un format nou, folosit în Nightscout 0.9.0 și superior și nu va mai fi posibilă folosirea pentru versiunile mai vechi.\nSunteți de acord?' + ,de: 'Profil wird in einem neuem Format für Nightscout 0.9.0 und höher gespeichert und ist nicht mehr nutzbar in älteren Versionen. Sind Sie sicher?' ,sv: 'Profilen sparas i ett nyare format som ej kommer fungera i tidigare versioner av Nightscout (<0.9.0). \nÄr du säker?' ,bg: 'Профилът ще бъде запаметен в нов формат, който се ползва от Nightscout 0.9.0 и нагоре и няма да бъде съвместим с по-стари версии. \nСигурен ли си ?' ,fi: 'Profiili tallennetaan uuteen Nightscout 0.9.0 käyttämään muotoon, eikä sitä voi enää käyttää vanhempien versioiden kanssa.\nOletko varma?' @@ -6238,6 +6255,7 @@ function init() { } ,'Wrong profile setting.\nNo profile defined to displayed time.\nRedirecting to profile editor to create new profile.' : { cs: 'Chybě nastavený profil.\nNení definovaný žádný platný profil k času zobrazení.\nProvádím přesměrování na editor profilu.' + ,de: 'Falsche Profileinstellung.\nKein Profil festgelegt zur angezeigten Zeit.\n Weiter zum Profileditor um ein neues Profil zu erstellen.' ,bg: 'Грешни настройки на профила. \nНяма определен профил към избраното време. \nПрепращане към редактора на профила, за създаване на нов профил.' ,ro: 'Setare de profil eronată.\nNu este definit niciun profil pentru perioada afișată.\nMergeți la editorul de profiluri pentru a defini unul nou.' ,sv: 'Fel profilinställning.\nIngen profil vald för vald tid.\nOmdirigerar för att skapa ny profil.' From 8c6cfccda02ba79e5e41acf43b6203d4f6c48d60 Mon Sep 17 00:00:00 2001 From: mKorniK Date: Wed, 27 Apr 2016 13:09:08 +0200 Subject: [PATCH 145/158] german update --- lib/language.js | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/lib/language.js b/lib/language.js index 9642ffb5d25..d242035e301 100644 --- a/lib/language.js +++ b/lib/language.js @@ -5778,6 +5778,7 @@ function init() { ,'Insulin Sensitivity Factor (ISF)' : { cs: 'Citlivost inzulínu (ISF)' ,ro: 'Factor de sensilibtate la insulină (ISF)' + ,de: 'Insulinsensibilitätsfaktor (ISF)' ,sv: 'Insulinkänslighetsfaktor (ISF)' ,nb: 'Insulinfølsomhetsfaktor' ,fi: 'Insuliiniherkkyys (ISF)' @@ -5789,6 +5790,7 @@ function init() { ,'mg/dL or mmol/L per U insulin. The ratio of how much BG changes with each U of corrective insulin.' : { cs: 'mg/dL nebo mmol/L na jednotku inzulínu. Poměr, jak se změní glykémie po podaní jednotky inzulínu' ,ro: 'mg/dL sau mmol/L pentru 1U insulină. Cât de mult influențează glicemia o corecție de o unitate de insulină.' + ,de: 'mg/dL oder mmol/L Insulineinheit. Verhältnis von Blutzuckeränderung je Einheit zum Korrekturinsulin.' ,sv: 'mg/dl eller mmol per enhet insulin. Hur varje enhet insulin sänker blodsockret' ,nb: 'mg/dl eller mmol/l per enhet insulin. Beskriver hvor mye blodsukkeret senkes per enhet insulin.' ,fi: 'mg/dL tai mmol/L / 1 yksikkö insuliinia. Suhde, joka kertoo montako yksikköä verensokeria yksi yksikkö insuliinia laskee.' @@ -5800,6 +5802,7 @@ function init() { ,'Carbs activity / absorption rate' : { cs: 'Rychlost absorbce sacharidů' ,ro: 'Rata de absorbție' + ,de: 'Kohlenhydrathaktivität / Aufnahme Kohlenhydrathe' ,sv: 'Kolhydratstid' ,nb: 'Karbohydrattid' ,fi: 'Hiilihydraattiaktiivisuus / imeytymisnopeus' @@ -5812,6 +5815,7 @@ function init() { cs: 'gramy za jednotku času. Reprezentuje jak změnu COB za jednoku času, tak množství sacharidů, které se za tu dobu projevily. Křivka absorbce sacharidů je mnohem méně pochopitelná než IOB, ale může být aproximována počáteční pauzou následovanou konstantní hodnotou absorbce (g/hod).' ,ro: 'grame pe unitatea de timp. Reprezintă atât schimbarea COB pe unitatea de timp, cât și cantitatea de carbohidrați care ar influența în perioada de timp. Graficele ratei de absorbție sunt mai puțin înțelese decât senzitivitatea la insulină, dar se poate aproxima folosind o întârziere implicită și apoi o rată constantă de aborbție (g/h).' ,sv: 'gram per tidsenhet. Representerar både ändring i aktiva kolhydrater per tidsenhet som mängden kolhydrater som tas upp under denna tid. Kolhydratsupptag / aktivitetskurvor är svårare att förutspå än aktivt insulin men kan beräknas genom att använda en startfördröjning följd av en konstant absorbtionsgrad (g/timme) ' + ,de: 'Gramm pro Einheitenzeit. Bedeutet sowohl die Änderung in COB je Einheitenzeit, als auch die Menge an Kohlenhydrathen die über diese Zeit wirken. Kohlenhydrathe-Abgabe / Aktivitätskurven werden weniger beachtet als Insulinaktivität, aber es kann bei einer Anfangsverzögerung mit konstanter Aufnahme genutzt werden (g/std).' ,nb: 'gram per tidsenhet. Representerer både endringen i COB per tidsenhet, såvel som mengden av karbohydrater som blir tatt opp i løpet av den tiden. Carb absorpsjon / virkningskurver er mindre forstått enn insulinaktivitet, men kan tilnærmes ved hjelp av en forsinkelse fulgt av en konstant hastighet av absorpsjon ( g / time ) .' ,fi: 'grammaa / aika. Kertoo tyypillisen nopeuden, jolla hiilihydraatit imeytyvät syömisen jälkeen. Imeytyminen tunnetaan jokseenkin huonosti, mutta voidaan arvioida keskimääräisesti. Yksikkönä grammaa tunnissa (g/h).' ,bg: 'грам за единица време. Представлява както промяната в COB за единица време, така и количеството ВХ които биха се усвоили за това време.' @@ -5822,6 +5826,7 @@ function init() { ,'Basal rates [unit/hour]' : { cs: 'Bazály [U/hod].' ,ro: 'Rata bazală [unitate/oră]' + ,de: 'Basalrate' ,sv: 'Basal [enhet/t]' ,nb: 'Basal [enhet/t]' ,fi: 'Basaali [yksikköä/tunti]' @@ -5833,6 +5838,7 @@ function init() { ,'Target BG range [mg/dL,mmol/L]' : { cs: 'Cílový rozsah glykémií [mg/dL,mmol/L]' ,ro: 'Intervalul țintă al glicemiei [mg/dL, mmol/L]' + ,de: 'Blutzucker-Zielbereich [mg/dL,mmol/L]' ,sv: 'Önskvärt blodsockerintervall [mg/dl,mmol]' ,nb: 'Ønsket blodsukkerintervall [mg/dl,mmmol/l]' ,fi: 'Tavoitealue [mg/dL tai mmol/L]' @@ -5845,6 +5851,7 @@ function init() { cs: 'Začátek platnosti záznamu' ,ro: 'De când este valabilă înregistrarea' ,sv: 'Starttid för händelse' + ,de: 'Starte Aufzeichnungsgültigkeit' ,nb: 'Starttidspunkt for gyldighet' ,fi: 'Merkinnän alkupäivämäärä' ,bg: 'Начало на записа' @@ -5869,6 +5876,7 @@ function init() { ,it: 'Grafico Basale' ,ro: 'Afișează bazala' ,sv: 'Generera Basal' + ,de: 'Basalwiedergabe' ,nb: 'Basalgraf' ,fi: 'Näytä basaali' ,bg: 'Базал' @@ -5879,6 +5887,7 @@ function init() { ,'Profile used' : { cs: 'Použitý profil' ,ro: 'Profil folosit' + ,de: 'Profil wird benutzt' ,sv: 'Vald profil' ,nb: 'Brukt profil' ,fi: 'Käytetty profiili' @@ -5890,6 +5899,7 @@ function init() { ,'Calculation is in target range.' : { cs: 'Kalkulace je v cílovém rozsahu.' ,ro: 'Calculul dă o valoare în intervalul țintă.' + ,de: 'Kalkulation ist innerhalb Zielbereich' ,sv: 'Inom intervallområde' ,fi: 'Laskettu arvo on tavoitealueella' ,bg: 'Калкулацията е в граници' @@ -5900,6 +5910,7 @@ function init() { ,'Loading profile records ...' : { cs: 'Nahrávám profily ...' ,nb: 'Leser profiler' + ,de: 'Lade Profilaufzeichnungen' ,ro: 'Se încarcă datele profilului...' ,sv: 'Laddar profildata ...' ,fi: 'Ladataan profiileja ...' @@ -5911,6 +5922,7 @@ function init() { ,'Values loaded.' : { cs: 'Data nahrána.' ,nb: 'Verdier lastet' + ,de: 'Werte geladen.' ,ro: 'Valorile au fost încărcate.' ,sv: 'Värden laddadr' ,fi: 'Arvot ladattu' @@ -5922,6 +5934,7 @@ function init() { ,'Default values used.' : { cs: 'Použity výchozí hodnoty.' ,nb: 'Standardverdier brukt' + ,de: 'Standartwerte werden verwendet.' ,ro: 'Se folosesc valorile implicite.' ,sv: 'Standardvärden valda' ,fi: 'Oletusarvot ladattu' @@ -5933,6 +5946,7 @@ function init() { ,'Error. Default values used.' : { cs: 'CHYBA: Použity výchozí hodnoty.' ,nb: 'Feil. Standardverdier brukt.' + ,de: 'Fehler. Standartwerte werden verwendet.' ,ro: 'Eroare. Se folosesc valorile implicite.' ,sv: 'Error. Standardvärden valda.' ,fi: 'Virhe! Käytetään oletusarvoja.' @@ -5944,6 +5958,7 @@ function init() { ,'Time ranges of target_low and target_high don\'t match. Values are restored to defaults.' : { cs: 'Rozsahy časů pro limity glykémií si neodpovídají. Budou nastaveny výchozí hodnoty.' ,nb: 'Tidsintervall for målområde lav og høy stemmer ikke. Standardverdier er brukt.' + ,de: 'Zeitspanne vom untersten und obersten Wert werden nicht berücksichtigt. Werte auf Standart hergestellt.' ,ro: 'Intervalele temporale pentru țintă_inferioară și țintă_superioară nu se potrivesc. Se folosesc valorile implicite.' ,sv: 'Tidsintervall för målområde låg och hög stämmer ej' ,fi: 'Matalan ja korkean tavoitteen aikarajat eivät täsmää. Arvot on vaihdettu oletuksiin.' @@ -5967,6 +5982,7 @@ function init() { ,'Save current record before switching to new?' : { cs: 'Uložit současný záznam před přepnutím na nový?' ,nb: 'Lagre før nytte til ny?' + ,de: ' Aktuelle Aufzeichnung vor dem Wechsel speichern?' ,ro: 'Salvez valoarea curentă înainte de a trece la una nouă?' ,sv: 'Spara före byte till nytt?' ,fi: 'Tallenna nykyinen merkintä ennen vaihtamista uuteen?' @@ -5978,6 +5994,7 @@ function init() { ,'Add new interval before' : { cs: 'Přidat nový interval před' ,nb: 'Legg til nytt intervall før' + ,de: 'Neuen Intervall vorher hinzufügen' ,ro: 'Adaugă un nou interval înainte' ,sv: 'Lägg till nytt intervall före' ,fi: 'Lisää uusi aikaväli ennen' @@ -5989,6 +6006,7 @@ function init() { ,'Delete interval' : { cs: 'Smazat interval' ,nb: 'Slett intervall' + ,de: 'Intervall löschen' ,ro: 'Șterge interval' ,sv: 'Ta bort intervall' ,fi: 'Poista aikaväli' @@ -6013,6 +6031,7 @@ function init() { cs: 'ISF' ,nb: 'ISF' ,ro: 'ISF' + ,de: 'ISF' ,sv: 'ISF' ,fi: 'ISF' ,bg: 'Инсулинова чувствителност' @@ -6023,6 +6042,7 @@ function init() { ,'Combo Bolus' : { cs: 'Kombinovaný bolus' ,pl: 'Bolus złożony' + ,de: 'Kombinierter Bolus' ,ro: 'Bolus combinat' ,sv: 'Combo-bolus' ,bg: 'Двоен болус' @@ -6055,6 +6075,7 @@ function init() { ,'Edit Mode' : { cs: 'Editační mód' ,ro: 'Mod editare' + ,de: 'Bearbeitungsmodus' ,sv: 'Editeringsläge' ,bg: 'Редактиране' ,fi: 'Muokkausmoodi' @@ -6065,6 +6086,7 @@ function init() { ,'When enabled icon to start edit mode is visible' : { cs: 'Pokud je povoleno, ikona pro vstup do editačního módu je zobrazena' ,ro: 'La activare, butonul de editare este vizibil' + ,de: 'Mit Aktivieren des Icons ist der Bearbeitungsmodus sichtbar' ,sv: 'Ikon visas när editeringsläge är aktivt' ,bg: 'Когато е активно ,иконката за редактиране ще се вижда' ,fi: 'Muokkausmoodin ikoni tulee näkyviin kun laitat tämän päälle' @@ -6074,6 +6096,7 @@ function init() { ,'Operation' : { cs: 'Operace' ,ro: 'Operațiune' + ,de: 'Operation' ,sv: 'Operation' ,bg: 'Операция' ,fi: 'Operaatio' @@ -6084,6 +6107,7 @@ function init() { ,'Move' : { cs: 'Přesunout' ,ro: 'Mutați' + ,de: 'Verschieben' ,sv: 'Flytta' ,bg: 'Премести' ,fi: 'Liikuta' @@ -6105,6 +6129,7 @@ function init() { ,'Move insulin' : { cs: 'Přesunout inzulín' ,ro: 'Mutați insulina' + ,de: 'Insulin verschieben' ,sv: 'Flytta insulin' ,bg: 'Премести инсулин' ,fi: 'Liikuta insuliinia' @@ -6115,6 +6140,7 @@ function init() { ,'Move carbs' : { cs: 'Přesunout sacharidy' ,ro: 'Mutați carbohidrații' + ,de: 'Kohlenhydrathe verschieben' ,sv: 'Flytta kolhydrater' ,bg: 'Премести ВХ' ,fi: 'Liikuta hiilihydraatteja' @@ -6125,6 +6151,7 @@ function init() { ,'Remove insulin' : { cs: 'Odstranit inzulín' ,ro: 'Ștergeți insulina' + ,de: 'Insulin löschen' ,sv: 'Ta bort insulin' ,bg: 'Изтрий инсулин' ,fi: 'Poista insuliini' @@ -6135,6 +6162,7 @@ function init() { ,'Remove carbs' : { cs: 'Odstranit sacharidy' ,ro: 'Ștergeți carbohidrații' + ,de: 'Kohlenhydrathe löschen' ,sv: 'Ta bort kolhydrater' ,bg: 'Изтрий ВХ' ,fi: 'Poista hiilihydraatit' @@ -6145,6 +6173,7 @@ function init() { ,'Change treatment time to %1 ?' : { cs: 'Změnit čas ošetření na %1 ?' ,ro: 'Schimbați ora acțiunii cu %1 ?' + ,de: 'Behandlungsdauer ändern zu %1 ?' ,sv: 'Ändra behandlingstid till %1 ?' ,bg: 'Да променя ли времето на събитието с %1?' ,fi: 'Muuta hoidon aika? Uusi: %1' @@ -6155,6 +6184,7 @@ function init() { ,'Change carbs time to %1 ?' : { cs: 'Změnit čas sacharidů na %1 ?' ,ro: 'Schimbați ora carbohidraților cu %1 ?' + ,de: 'Kohlenhydrath-Zeit ändern zu %1 ?' ,sv: 'Ändra kolhydratstid till %1 ?' ,bg: 'Да променя ли времето на ВХ с %1?' ,fi: 'Muuta hiilihydraattien aika? Uusi: %1' @@ -6165,6 +6195,7 @@ function init() { ,'Change insulin time to %1 ?' : { cs: 'Změnit čas inzulínu na %1 ?' ,ro: 'Schimbați ora insulinei cu %1 ?' + ,de: 'Insulinzeit ändern zu %1 ?' ,sv: 'Ändra insulintid till %1 ?' ,bg: 'Да променя ли времето на инсулина с %1?' ,fi: 'Muuta insuliinin aika? Uusi: %1' @@ -6175,6 +6206,7 @@ function init() { ,'Remove treatment ?' : { cs: 'Odstranit ošetření ?' ,ro: 'Ștergeți acțiunea?' + ,de: 'Behandlung löschen?' ,sv: 'Ta bort behandling ?' ,bg: 'Изтрий събитието' ,fi: 'Poista hoito?' @@ -6184,6 +6216,7 @@ function init() { } ,'Remove insulin from treatment ?' : { cs: 'Odstranit inzulín z ošetření ?' + ,de: 'Insulin von Behandlung löschen?' ,ro: 'Ștergeți insulina din acțiune?' ,sv: 'Ta bort insulin från behandling ?' ,bg: 'Да изтрия ли инсулина от събитието?' @@ -6194,6 +6227,7 @@ function init() { ,'Remove carbs from treatment ?' : { cs: 'Odstranit sacharidy z ošetření ?' ,ro: 'Ștergeți carbohidrații din acțiune?' + ,de: 'Kohlenhydrathe von Behandlung löschen?' ,sv: 'Ta bort kolhydrater från behandling ?' ,bg: 'Да изтрия ли ВХ от събитието?' ,fi: 'Poista hiilihydraatit hoidosta?' @@ -6203,6 +6237,7 @@ function init() { ,'Rendering' : { cs: 'Vykresluji' ,ro: 'Se desenează' + ,de: 'Wiedergabe' ,sv: 'Rendering' ,bg: 'Показване на графика' ,fi: 'Piirrän graafeja' @@ -6211,6 +6246,7 @@ function init() { } ,'Loading OpenAPS data of' : { cs: 'Nahrávám OpenAPS data z' + ,de: 'Lade OpenAPS Daten von' ,ro: 'Se încarcă datele OpenAPS pentru' ,sv: 'Laddar OpenAPS data för' ,bg: 'Зареди OpenAPS данни от' @@ -6230,6 +6266,7 @@ function init() { ,'Profile is going to be saved in newer format used in Nightscout 0.9.0 and above and will not be usable in older versions anymore.\nAre you sure?' : { cs: 'Profil bude uložen v novějším formátu používaném v Nightscoutu 0.9.0 a novějších. Již nebude použitelný se starší verzí.\nJste si jistý?' ,ro: 'Profilul va fi salvat într-un format nou, folosit în Nightscout 0.9.0 și superior și nu va mai fi posibilă folosirea pentru versiunile mai vechi.\nSunteți de acord?' + ,de: 'Profil wird in einem neuem Format für Nightscout 0.9.0 und höher gespeichert und ist nicht mehr nutzbar in älteren Versionen. Sind Sie sicher?' ,sv: 'Profilen sparas i ett nyare format som ej kommer fungera i tidigare versioner av Nightscout (<0.9.0). \nÄr du säker?' ,bg: 'Профилът ще бъде запаметен в нов формат, който се ползва от Nightscout 0.9.0 и нагоре и няма да бъде съвместим с по-стари версии. \nСигурен ли си ?' ,fi: 'Profiili tallennetaan uuteen Nightscout 0.9.0 käyttämään muotoon, eikä sitä voi enää käyttää vanhempien versioiden kanssa.\nOletko varma?' @@ -6238,6 +6275,7 @@ function init() { } ,'Wrong profile setting.\nNo profile defined to displayed time.\nRedirecting to profile editor to create new profile.' : { cs: 'Chybě nastavený profil.\nNení definovaný žádný platný profil k času zobrazení.\nProvádím přesměrování na editor profilu.' + ,de: 'Falsche Profileinstellung.\nKein Profil festgelegt zur angezeigten Zeit.\n Weiter zum Profileditor um ein neues Profil zu erstellen.' ,bg: 'Грешни настройки на профила. \nНяма определен профил към избраното време. \nПрепращане към редактора на профила, за създаване на нов профил.' ,ro: 'Setare de profil eronată.\nNu este definit niciun profil pentru perioada afișată.\nMergeți la editorul de profiluri pentru a defini unul nou.' ,sv: 'Fel profilinställning.\nIngen profil vald för vald tid.\nOmdirigerar för att skapa ny profil.' From a5fdaa50fefc1ae787e92b2c4dc2cc9092a5d44c Mon Sep 17 00:00:00 2001 From: mKorniK Date: Wed, 27 Apr 2016 14:40:26 +0200 Subject: [PATCH 146/158] most german translation completed --- lib/language.js | 50 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/lib/language.js b/lib/language.js index d242035e301..20ab9c6293c 100644 --- a/lib/language.js +++ b/lib/language.js @@ -5125,6 +5125,7 @@ function init() { cs: 'Všechny události sensoru' ,sv: 'Alla sensorhändelser' ,nb: 'Alle sensorhendelser' + ,de: 'Alle Sensorenereignisse' ,ro: 'Evenimente legate de senzor' ,bg: 'Всички събития от сензора' ,it: 'Tutti gli eventi del sensore' @@ -5136,6 +5137,7 @@ function init() { ,'Remove future items from mongo database' : { cs: 'Odebrání položek v budoucnosti z Mongo databáze' ,nb: 'Fjern fremtidige elementer fra mongo database' + ,de: 'Entferne zukünftige Objekte aus Mongo-Datenbank' ,ro: 'Șterge date din viitor din baza de date mongo' ,sv: 'Ta bort framtida händelser från mongodatabasen' ,bg: 'Премахни бъдещите точки от Монго базата с данни' @@ -5148,6 +5150,7 @@ function init() { ,'Find and remove treatments in the future' : { cs: 'Najít a odstranit záznamy ošetření v budoucnosti' ,nb: 'Finn og fjern fremtidige behandlinger' + ,de: 'Finde und entferne zukünftige Behandlungen' ,ro: 'Caută și elimină tratamente din viitor' ,sv: 'Hitta och ta bort framtida behandlingar' ,bg: 'Намери и премахни събития в бъдещето' @@ -5160,6 +5163,7 @@ function init() { ,'This task find and remove treatments in the future.' : { cs: 'Tento úkol najde a odstraní ošetření v budoucnosti.' ,nb: 'Finn og fjern fremtidige behandlinger' + ,de: 'Diese Aufgabe findet und entfernt Behandlungen in der Zukunft.' ,ro: 'Acest instrument curăță tratamentele din viitor.' ,sv: 'Denna uppgift hittar och rensar framtida händelser' ,bg: 'Тази опция намира и премахва събития в бъдещето.' @@ -5172,6 +5176,7 @@ function init() { ,'Remove treatments in the future' : { cs: 'Odstraň ošetření v budoucnosti' ,nb: 'Fjern fremtidige behandlinger' + ,de: 'Entferne Behandlungen in der Zukunft' ,ro: 'Șterge tratamentele din viitor' ,sv: 'Ta bort framtida händelser' ,bg: 'Премахни събитията в бъдешето' @@ -5183,6 +5188,7 @@ function init() { } ,'Find and remove entries in the future' : { cs: 'Najít a odstranit CGM data v budoucnosti' + ,de: 'Finde und entferne Einträge in der Zukunft' ,nb: 'Finn og fjern fremtidige hendelser' ,bg: 'Намери и премахни данни от сензора в бъдещето' ,ro: 'Caută și elimină valorile din viitor' @@ -5196,6 +5202,7 @@ function init() { ,'This task find and remove CGM data in the future created by uploader with wrong date/time.' : { cs: 'Tento úkol najde a odstraní CGM data v budoucnosti vzniklé špatně nastaveným datem v uploaderu.' ,nb: 'Finn og fjern fremtidige cgm data lastet opp med feil dato/tid' + ,de: 'Diese Aufgabe findet und entfernt CGM Daten in der Zukunft, die vom Uploader mit falschem Datum/Uhrzeit erstellt wurden. ' ,bg: 'Тази опция ще намери и премахне данни от сензора в бъдещето, създадени поради грешна дата/време.' ,ro: 'Instrument de căutare și eliminare a datelor din viitor, create de uploader cu ora setată greșit' ,sv: 'Denna uppgift hittar och tar bort framtida CGM-data skapad vid felaktig tidsinställning' @@ -5208,6 +5215,7 @@ function init() { ,'Remove entries in the future' : { cs: 'Odstraň CGM data v budoucnosti' ,nb: 'Fjern fremtidige hendelser' + ,de: 'Entferne Einträge in der Zukunft' ,bg: 'Премахни данните от сензора в бъдещето' ,ro: 'Elimină înregistrările din viitor' ,sv: 'Ta bort framtida händelser' @@ -5220,6 +5228,7 @@ function init() { ,'Loading database ...' : { cs: 'Nahrávám databázi ...' ,nb: 'Leser database ...' + ,de: 'Lade Datenbank' ,bg: 'Зареждане на базата с данни ...' ,ro: 'Încarc baza de date' ,sv: 'Laddar databas ...' @@ -5234,6 +5243,7 @@ function init() { ,nb: 'Databasen inneholder %1 fremtidige hendelser' ,ro: 'Baza de date conține %1 înregistrări din viitor' ,sv: 'Databas innehåller %1 framtida händelser' + ,de: 'Datenbank enthält %1 zukünftige Aufnahmen' ,bg: 'Базата с дани съдържа %1 бъдещи записи' ,it: 'Contiene Database %1 record (prossimamente)' ,fi: 'Tietokanta sisältää %1 merkintää tulevaisuudessa' @@ -5244,6 +5254,7 @@ function init() { ,'Remove %1 selected records?' : { cs: 'Odstranit %1 vybraných záznamů' ,nb: 'Fjern %1 valgte elementer?' + ;de: 'Ausgewählte %1 Aufnahmen löschen?' ,ro: 'Șterg %1 înregistrări selectate?' ,sv: 'Ta bort %1 valda händelser' ,bg: 'Премахване на %1 от избраните записи?' @@ -5256,6 +5267,7 @@ function init() { ,'Error loading database' : { cs: 'Chyba při nahrávání databáze' ,nb: 'Feil udner lasting av database' + ,de: 'Fehler beim Laden der Datenbank' ,ro: 'Eroare la încărcarea bazei de date' ,sv: 'Fel vid laddning av databas' ,bg: 'Грешка при зареждане на базата с данни' @@ -5268,6 +5280,7 @@ function init() { ,'Record %1 removed ...' : { cs: 'Záznam %1 odstraněn ...' ,nb: 'Element %1 fjernet' + ,de: 'Aufnahmen %1 entfernt' ,ro: 'Înregistrarea %1 a fost ștearsă...' ,sv: 'Händelse %1 borttagen ...' ,bg: '%1 записи премахнати' @@ -5280,6 +5293,7 @@ function init() { ,'Error removing record %1' : { cs: 'Chyba při odstaňování záznamu %1' ,nb: 'Feil under fjerning av element %1' + ,de: 'Fehler beim Entfernen der Aufnahme %1' ,ro: 'Eroare la ștergerea înregistrării %1' ,sv: 'Fel vid borttagning av %1' ,bg: 'Грешка при премахването на %1 от записите' @@ -5293,6 +5307,7 @@ function init() { cs: 'Odstraňování záznamů ...' ,nb: 'Fjerner elementer...' ,ro: 'Se șterg înregistrările...' + ,de: 'Entferne Aufnahme...' ,sv: 'Tar bort händelser ...' ,bg: 'Изтриване на записите...' ,it: 'Eliminazione dei record ...' @@ -5305,6 +5320,7 @@ function init() { cs: 'Vyčištění Mongo databáze statusů' ,nb: 'Slett Mongo status database' ,ro: 'Curăță tabela despre status din Mongo' + ,de: 'Säubere Mongo Status Datenbank' ,sv: 'Rensa Mongo status databas' ,bg: 'Изчисти статуса на Монго базата с данни' ,it: 'Pulire database di Mongo' @@ -5316,6 +5332,7 @@ function init() { ,'Delete all documents from devicestatus collection' : { cs: 'Odstranění všech záznamů z kolekce devicestatus' ,nb: 'Fjern alle dokumenter fra device status tabell' + ;de: 'Lösche alle Dokumente von Einheitsstatussammlung' ,ro: 'Șterge toate documentele din colecția de status dispozitiv' ,sv: 'Ta bort alla dokument i devicestatus collektionen' ,bg: 'Изтрий всички документи от папката статус-устройство' @@ -5328,6 +5345,7 @@ function init() { ,'This task removes all documents from devicestatus collection. Useful when uploader battery status is not properly updated.' : { cs: 'Tento úkol odstraní všechny dokumenty z kolekce devicestatus. Je to vhodné udělat, pokud se ukazatel stavu baterie neobnovuje správně.' ,nb: 'Denne funksjonen fjerner alle dokumenter fra device status tabellen. Nyttig når status for opplaster batteri ikke blir opppdatert' + ,de: 'Diese Aufgabe entfernt alle Dokumente von Einheitstatussammlung. Nützlich wenn Uploader-Batteriestatus nicht richtig aktualisiert.' ,ro: 'Acest instrument șterge toate documentele din colecția devicestatus. Se folosește când încărcarea bateriei nu se afișează corect.' ,sv: 'Denna uppgift tar bort alla dokument från devicestatuskollektionen. Användbart när batteristatus ej uppdateras' ,bg: 'Тази опция премахва всички документи от папката статус-устройство. Полезно е, когато статусът на батерията не се обновява.' @@ -5341,6 +5359,7 @@ function init() { cs: 'Odstranit všechny dokumenty' ,nb: 'Fjern alle dokumenter' ,ro: 'Șterge toate documentele' + ,de: 'Entferne alle Dokumente' ,sv: 'Ta bort alla dokument' ,bg: 'Изтрий всички документи' ,it: 'Eliminare tutti i documenti' @@ -5352,6 +5371,7 @@ function init() { ,'Delete all documents from devicestatus collection devicestatus?' : { cs: 'Odstranit všechny dokumenty z kolekce devicestatus?' ,nb: 'Fjern alle dokumenter fra device status tabellen?' + ,de: 'Entferne alle Dokumente vom Einheitstatussammlung Einheitsstatus?' ,ro: 'Șterg toate documentele din colecția devicestatus?' ,sv: 'Ta bort alla dokument från devicestatuscollektionen' ,bg: 'Изтриване на всички документи от папката статус-устройство?' @@ -5364,6 +5384,7 @@ function init() { ,'Database contains %1 records' : { cs: 'Databáze obsahuje %1 záznamů' ,nb: 'Databasen inneholder %1 elementer' + ,de: 'Datenbank enthält %1 Aufnahmen' ,ro: 'Baza de date conține %1 înregistrări' ,sv: 'Databasen innehåller %1 händelser' ,bg: 'Базата с данни съдържа %1 записи' @@ -5376,6 +5397,7 @@ function init() { ,'All records removed ...' : { cs: 'Všechny záznamy odstraněny ...' ,nb: 'Alle elementer fjernet ...' + ,de: 'Alle Aufnahmen entfernt...' ,ro: 'Toate înregistrările au fost șterse.' ,sv: 'Alla händelser raderade ...' ,bg: 'Всички записи премахнати ...' @@ -5389,6 +5411,7 @@ function init() { cs: 'Nástroje pro správu' ,nb: 'Administrasjonsoppgaver' ,ro: 'Instrumente de administrare' + ,de: 'Administrator-Werkzeuge' ,sv: 'Adminverktyg' ,bg: 'Настройки на администратора' ,it: 'NS - Dati Mongo' @@ -5401,6 +5424,7 @@ function init() { cs: 'Nightscout - Výkazy' ,nb: 'Nightscout - rapporter' ,ro: 'Rapoarte Nightscout' + ,de: 'Nightscout-Bericht' ,sv: 'Nightscout - Statistik' ,bg: 'Найтскаут статистика' ,it: 'Nightscout - Statistiche' @@ -5411,7 +5435,7 @@ function init() { } ,'Cancel' : { cs: 'Zrušit' - ,de: 'abbrechen' + ,de: 'Abbrechen' ,nb: 'Avbryt' ,ro: 'Renunță' ,sv: 'Avbryt' @@ -5426,6 +5450,7 @@ function init() { cs: 'Upravit ošetření' ,nb: 'Editer behandling' ,ro: 'Modifică înregistrarea' + ,de: 'Bearbeite Behandlung' ,sv: 'Redigera behandling' ,bg: 'Редакция на събитие' ,it: 'Modifica Somministrazione' @@ -5462,7 +5487,7 @@ function init() { } ,'Temp Basal' : { cs: 'Dočasný bazál' - ,de: 'Temporär basal' + ,de: 'Temporär Basal' ,ro: 'Bazală temporară' ,sv: 'Temporär basal' ,bg: 'Временен базал' @@ -5477,6 +5502,7 @@ function init() { cs: 'Dočasný bazál začátek' ,ro: 'Start bazală temporară' ,sv: 'Temporär basalstart' + ,de: 'Temporär Basal starten' ,bg: 'Начало на временен базал' ,it: 'Inizio Basale Temp' ,nb: 'Midlertidig basal start' @@ -5491,6 +5517,7 @@ function init() { ,sv: 'Temporär basalavslut' ,bg: 'Край на временен базал' ,it: 'Fine Basale Temp' + ,de: 'Temporär Basal stoppen' ,nb: 'Midlertidig basal stopp' ,fi: 'Tilapäinen basaali loppu' ,pl: 'Koniec tymczasowej dawki podstawowej' @@ -5515,6 +5542,7 @@ function init() { ,ro: 'Bazală schimbată în %' ,sv: 'Basaländring i %' ,bg: 'Промяна на базала с %' + ,de: 'Basal geändert in %' ,it: 'Variazione basale in %' ,nb: 'Basal endring i %' ,fi: 'Basaalimuutos prosenteissa' @@ -5539,6 +5567,7 @@ function init() { cs: 'Hodnota bazálu' ,bg: 'Базална стойност' ,it: 'Valore Basale' + ,de: 'Absoluter Basalwert' ,nb: 'Absolutt basalverdi' ,ro: 'Valoare absolută bazală' ,sv: 'Absolut basalvärde' @@ -5551,6 +5580,7 @@ function init() { cs: 'Oznámení' ,bg: 'Известяване' ,pt: 'Aviso' + ,de: 'Ankündigung' ,ro: 'Anunț' ,sv: 'Avisering' ,he: 'הודעה' @@ -5566,6 +5596,7 @@ function init() { ,it: 'Caricamento basale temporanea' ,ro: 'Se încarcă date bazală temporară' ,sv: 'Laddar temporär basaldata' + ,de:' Lade temporäre Basaldaten' ,nb: 'Laster verdier for midlertidig basal' ,fi: 'Lataan tilapäisten basaalien tietoja' ,bg: 'Зареждане на данни за временния базал' @@ -5578,6 +5609,7 @@ function init() { ,ro: 'Salvez înregistrarea curentă înainte de a trece mai departe?' ,sv: 'Spara aktuell data innan skifte till ny?' ,nb: 'Lagre før bytte til ny?' + ,de: 'Aktuelle Aufnahmen vor dem Wechsel zu einer Neuen speichern?' ,fi: 'Tallenna nykyinen merkintä ennen vaihtoa uuteen?' ,bg: 'Запази текущият запис преди да промениш новия ' ,pl: 'Zapisać bieżący rekord przed zamianą na nowy?' @@ -5588,6 +5620,7 @@ function init() { cs: 'Přepnutí profilu' ,ro: 'Schimbă profilul' ,sv: 'Ny profil' + ,de: 'Profil wechseln' ,nb: 'Bytt profil' ,fi: 'Vaihda profiilia' ,bg: 'Смяна на профил' @@ -5624,6 +5657,7 @@ function init() { cs: 'Název' ,ro: 'Titlu' ,sv: 'Titel' + ,de: 'Titel' ,nb: 'Tittel' ,fi: 'Otsikko' ,bg: 'Заглавие' @@ -5636,6 +5670,7 @@ function init() { ,ro: 'Înregistrări' ,sv: 'Databashändelser' ,nb: 'Databaseverdier' + ,de: 'Datenbankaufnahmen' ,fi: 'Tietokantamerkintöjä' ,bg: 'Записи в базата с данни' ,pl: 'Rekordy bazy danych' @@ -5647,6 +5682,7 @@ function init() { ,ro: 'Adaugă înregistrare nouă' ,sv: 'Lägg till ny händelse' ,nb: 'Legg til ny rad' + ,de: 'Neue Aufnahme hinzufügen' ,fi: 'Lisää uusi merkintä' ,bg: 'Добави нов запис' ,pl: 'Dodaj nowy rekord' @@ -5658,6 +5694,7 @@ function init() { ,ro: 'Șterge această înregistrare' ,sv: 'Ta bort denna händelse' ,nb: 'Fjern denne raden' + ,de: 'Diese Aufnahme löschen' ,fi: 'Poista tämä merkintä' ,bg: 'Премахни този запис' ,pl: 'Usuń ten rekord' @@ -5669,6 +5706,7 @@ function init() { ,ro: 'Duplică această înregistrare' ,sv: 'Kopiera denna händelse till ny' ,nb: 'Kopier til ny rad' + ,de: 'Diese Aufnahme duplizieren' ,fi: 'Kopioi tämä merkintä uudeksi' ,bg: 'Копирай този запис като нов' ,pl: 'Powiel ten rekord na nowy' @@ -5679,6 +5717,7 @@ function init() { cs: 'Záznam platný od' ,ro: 'Înregistare validă de la' ,sv: 'Händelse giltig från' + ,de: 'Aufnahme gültig von' ,nb: 'Rad gyldig fra' ,fi: 'Merkintä voimassa alkaen' ,bg: 'Записът е валиден от ' @@ -5690,6 +5729,7 @@ function init() { cs: 'Uložené profily' ,ro: 'Profile salvate' ,sv: 'Lagrad profil' + ,de: 'gesicherte Profile' ,nb: 'Lagrede profiler' ,fi: 'Tallennetut profiilit' ,bg: 'Запаметени профили' @@ -5714,6 +5754,7 @@ function init() { ,ro: 'Durata de acțiune a insulinei' ,sv: 'verkningstid för insulin (DIA)' ,nb: 'Insulin varighet' + ;de: 'Dauer der Insulinaktivität' ,fi: 'Insuliinin vaikutusaika (DIA)' ,bg: 'Продължителност на инсулиновата активност DIA' ,pl: 'Czas trwania aktywnej insuliny (DIA)' @@ -5723,6 +5764,7 @@ function init() { ,'Represents the typical duration over which insulin takes effect. Varies per patient and per insulin type. Typically 3-4 hours for most pumped insulin and most patients. Sometimes also called insulin lifetime.' : { cs: 'Představuje typickou dobu, po kterou inzulín působí. Bývá různá podle pacienta a inzulínu. Typicky 3-4 hodiny pro pacienty s pumpou.' ,ro: 'Reprezintă durata tipică pentru care insulina are efect. Este diferită la fiecare pacient și pentru fiecare tip de insulină' + ,de: 'Entspricht der typischen Dauer die das Insulin wirkt. Variiert je Patient und Insulintyp. Häufig 3-4 Stunden für das häufig abgegebene Insulin und die meisten Patienten. Manchmal auch Insulin-Wirkungsdauer genannt.' ,sv: 'Beskriver under hur lång tid insulinet verkar. Varierar mellan patienter. Typisk varaktighet 3-4 timmar.' ,nb: 'Representerer typisk insulinvarighet. Varierer per pasient og per insulin type. Vanligvis 3-4 timer for de fleste typer insulin og de fleste pasientene. Noen ganger også kalt insulinlevetid.' ,fi: 'Kertoo insuliinin tyypillisen vaikutusajan. Vaihtelee potilaan ja insuliinin tyypin mukaan. Tyypillisesti 3-4 tuntia pumpuissa käytettävällä insuliinilla.' @@ -5736,6 +5778,7 @@ function init() { ,ro: 'Rată insulină la carbohidrați (ICR)' ,sv: 'Insulin-Kolhydratskvot' ,nb: 'IKH forhold' + ,de: 'Insulin/Kohlenhydrathe-Verhältnis (I:C)' ,fi: 'Insuliiniannoksen hiilihydraattisuhde (I:HH)' ,bg: 'Съотношение инсулин/въглехидратите ICR I:C И:ВХ' ,pl: 'Współczynnik insulina/węglowodany (I:C)' @@ -5745,6 +5788,7 @@ function init() { ,'hours' : { cs: 'hodiny' ,ro: 'ore' + ,de: 'Stunden' ,sv: 'timmar' ,nb: 'timer' ,fi: 'tuntia' @@ -5758,6 +5802,7 @@ function init() { ,ro: 'g/oră' ,sv: 'g/timme' ,nb: 'g/t' + ,de: 'g/Std' ,fi: 'g/tunti' ,bg: 'гр/час' ,pl: 'g/godzine' @@ -5768,6 +5813,7 @@ function init() { cs: 'gramy na jednotku inzulínu. Poměr, jaké množství sacharidů pokryje jednotku inzulínu.' ,ro: 'g carbohidrați pentru o unitate de insulină. Câte grame de carbohidrați sunt acoperite de 1U insulină.' ,sv: 'gram kolhydrater per enhet insulin. Antal gram kolhydrater varje enhet insulin sänker' + ,de: 'g Kohlenhydrathe pro Einheit Insulin. Das Verhältnis wie viele Gramm Kohlenhydrathe je Einheit Insulin verbraucht werden. ' ,nb: 'g karbohydrater per enhet insulin. Beskriver hvor mange gram karbohydrater som hånderes av en enhet insulin.' ,fi: 'g hiilihydraattia / yksikkö insuliinia. Suhde, joka kertoo montako grammaa hiilihydraattia vastaa yhtä yksikköä insuliinia.' ,bg: 'грам въглехидрат към 1 единица инсулин. Съотношението колко грама въглехидрат се покриват от 1 единица инсулин.' From 7d9f146a564615b239024e0560cdbb9fba801d2b Mon Sep 17 00:00:00 2001 From: mKorniK Date: Wed, 27 Apr 2016 14:51:36 +0200 Subject: [PATCH 147/158] error correction --- lib/language.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/language.js b/lib/language.js index 20ab9c6293c..0934da7d52e 100644 --- a/lib/language.js +++ b/lib/language.js @@ -5596,7 +5596,7 @@ function init() { ,it: 'Caricamento basale temporanea' ,ro: 'Se încarcă date bazală temporară' ,sv: 'Laddar temporär basaldata' - ,de:' Lade temporäre Basaldaten' + ,de: 'Lade temporäre Basaldaten' ,nb: 'Laster verdier for midlertidig basal' ,fi: 'Lataan tilapäisten basaalien tietoja' ,bg: 'Зареждане на данни за временния базал' From ccca9d089750baf469a6744bd3e426ac6c031f7d Mon Sep 17 00:00:00 2001 From: mKorniK Date: Wed, 27 Apr 2016 14:54:17 +0200 Subject: [PATCH 148/158] correction #2 --- lib/language.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/language.js b/lib/language.js index 0934da7d52e..318ec66d372 100644 --- a/lib/language.js +++ b/lib/language.js @@ -5332,7 +5332,7 @@ function init() { ,'Delete all documents from devicestatus collection' : { cs: 'Odstranění všech záznamů z kolekce devicestatus' ,nb: 'Fjern alle dokumenter fra device status tabell' - ;de: 'Lösche alle Dokumente von Einheitsstatussammlung' + ,de: 'Lösche alle Dokumente von Einheitsstatussammlung' ,ro: 'Șterge toate documentele din colecția de status dispozitiv' ,sv: 'Ta bort alla dokument i devicestatus collektionen' ,bg: 'Изтрий всички документи от папката статус-устройство' From 703280c96997fbb07cd0b167397456c88c38c1e4 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Wed, 27 Apr 2016 15:09:17 +0200 Subject: [PATCH 149/158] A few corrections Things were translated without knowing the context. --- lib/language.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/language.js b/lib/language.js index d242035e301..5bdcaf92784 100644 --- a/lib/language.js +++ b/lib/language.js @@ -3292,7 +3292,7 @@ function init() { } ,'Scale' : { cs: 'Měřítko' - ,de: 'Messen' + ,de: 'Skalierung' ,es: 'Escala' ,fr: 'Echelle' ,pt: 'Escala' @@ -4148,7 +4148,7 @@ function init() { } ,'Urgent High Alarm' : { cs: 'Urgentní vysoká glykémie' - ,de: 'Achtung Hoch Alarm' + ,de: 'Dringender Hoch Alarm' ,es: 'Alarma de glucemia alta urgente' ,fr: 'Alarme haute urgente' ,pt: 'URGENTE: Alarme de glicemia alta' @@ -4422,7 +4422,7 @@ function init() { } ,'Custom Title' : { cs: 'Vlastní název stránky' - ,de: 'Benutzerdefiniert' + ,de: 'Benutzerdefinierter Titel' ,es: 'Título personalizado' ,fr: 'Titre sur mesure' ,pt: 'Customizar Título' @@ -4458,7 +4458,7 @@ function init() { } ,'Default' : { cs: 'Výchozí' - ,de: 'Voreingestellt' + ,de: 'Standard' ,es: 'Por defecto' ,fr: 'Par défaut' ,pt: 'Padrão' @@ -5876,7 +5876,7 @@ function init() { ,it: 'Grafico Basale' ,ro: 'Afișează bazala' ,sv: 'Generera Basal' - ,de: 'Basalwiedergabe' + ,de: 'Basalraten-Darstellung' ,nb: 'Basalgraf' ,fi: 'Näytä basaali' ,bg: 'Базал' From aecac9bfb17f8f0b539952b47a794eb1105e623e Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 27 Apr 2016 15:33:58 +0200 Subject: [PATCH 150/158] fix typos --- lib/language.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/language.js b/lib/language.js index 318ec66d372..7380c996fcf 100644 --- a/lib/language.js +++ b/lib/language.js @@ -5254,7 +5254,7 @@ function init() { ,'Remove %1 selected records?' : { cs: 'Odstranit %1 vybraných záznamů' ,nb: 'Fjern %1 valgte elementer?' - ;de: 'Ausgewählte %1 Aufnahmen löschen?' + ,de: 'Ausgewählte %1 Aufnahmen löschen?' ,ro: 'Șterg %1 înregistrări selectate?' ,sv: 'Ta bort %1 valda händelser' ,bg: 'Премахване на %1 от избраните записи?' @@ -5754,7 +5754,7 @@ function init() { ,ro: 'Durata de acțiune a insulinei' ,sv: 'verkningstid för insulin (DIA)' ,nb: 'Insulin varighet' - ;de: 'Dauer der Insulinaktivität' + ,de: 'Dauer der Insulinaktivität' ,fi: 'Insuliinin vaikutusaika (DIA)' ,bg: 'Продължителност на инсулиновата активност DIA' ,pl: 'Czas trwania aktywnej insuliny (DIA)' From 50ea2878522b2f42e02a09b69ee37a232fb96adb Mon Sep 17 00:00:00 2001 From: Peter Holka Date: Wed, 27 Apr 2016 16:59:03 +0200 Subject: [PATCH 151/158] Slovak translation update --- lib/language.js | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/lib/language.js b/lib/language.js index a65443fc297..b5a8af3595d 100644 --- a/lib/language.js +++ b/lib/language.js @@ -3422,7 +3422,7 @@ function init() { ,sv: 'Kanylålder (CAGE)' ,pl: 'Czas wkłucia (CAGE)' ,ru: 'Возраст сенсора' - ,sk: 'Vek kanyly (CAGE)' + ,sk: 'Zavedenie kanyly (CAGE)' } ,'Basal Profile' : { cs: 'Bazál' @@ -6333,11 +6333,33 @@ function init() { sk: 'Pumpa' } ,'Sensor Age' : { - sk: 'Vek senzoru (SAGE)' + sk: 'Zavedenie senzoru (SAGE)' } ,'Insulin Age' : { - sk: 'Vek inzulínu (IAGE)' + sk: 'Výmena inzulínu (IAGE)' } + ,'Temporary target' : { + sk: 'Dočasný cieľ' + } + ,'Reason' : { + sk: 'Dôvod' + } + ,'Eating soon' : { + + } + ,'Top' : { + sk: 'Vrch' + } + ,'Bottom' : { + sk: 'Spodok' + } + ,'Activity' : { + sk: 'Aktivita' + } + ,'Targets' : { + sk: 'Ciele' + } + }; language.translations = translations; From c17b07a78edef881b864c503e587b3f4985bc721 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Wed, 27 Apr 2016 08:13:31 -0700 Subject: [PATCH 152/158] fix bug that was causing sme careportal treatments to not show a dot --- lib/client/renderer.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/client/renderer.js b/lib/client/renderer.js index a45c7b73efb..801e5c508ff 100644 --- a/lib/client/renderer.js +++ b/lib/client/renderer.js @@ -197,7 +197,7 @@ function init (client, d3) { var treatCircles = chart().focus.selectAll('treatment-dot').data(client.ddata.treatments.filter(function(treatment) { var notCarbsOrInsulin = !treatment.carbs && !treatment.insulin; - var notTempOrProfile = treatment.eventType !== 'Temp Basal' && treatment.eventType !== 'Profile Switch'; + var notTempOrProfile = ! _.includes(['Temp Basal', 'Profile Switch', 'Combo Bolus', 'Temporary Target'], treatment.eventType); var notes = treatment.notes || ''; var enteredBy = treatment.enteredBy || ''; @@ -206,7 +206,7 @@ function init (client, d3) { return notes.indexOf(spam) === 0; })); - return notCarbsOrInsulin && isNaN(treatment.duration) && notTempOrProfile && notOpenAPSSpam; + return notCarbsOrInsulin && !treatment.duration && notTempOrProfile && notOpenAPSSpam; })); function prepareTreatCircles(sel) { From e8feba87e0f981f42e5616c9a5dc63fd98e8a566 Mon Sep 17 00:00:00 2001 From: Marcin Mazurek Date: Thu, 28 Apr 2016 00:00:57 +0200 Subject: [PATCH 153/158] Update for polish language. --- lib/language.js | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/lib/language.js b/lib/language.js index 1f3dd500951..132616042a0 100644 --- a/lib/language.js +++ b/lib/language.js @@ -5076,7 +5076,7 @@ function init() { ,ro: 'Sortare' ,bg: 'Ред' ,it: 'Ordina' - ,pl: 'Zamówienie' + ,pl: 'Kolejność' ,fi: 'Järjestys' ,ru: 'Сортировать' ,sk: 'Usporiadať' @@ -5175,7 +5175,7 @@ function init() { ,sv: 'Hitta och ta bort framtida händelser' ,it: 'Trovare e rimuovere le voci (prossimamente)' ,fi: 'Etsi ja poista tapahtumat' - ,pl: 'Znajdź i usuń wpisy w przyszłości' + ,pl: 'Znajdź i usuń wpisy z przyszłości' ,ru: 'Найти и удалить данные с сенсора из будущего' ,sk: 'Nájsť a odstrániť CGM dáta v budúcnosti' } @@ -5187,7 +5187,7 @@ function init() { ,sv: 'Denna uppgift hittar och tar bort framtida CGM-data skapad vid felaktig tidsinställning' ,it: 'Trovare e rimuovere i dati CGM creato da uploader/xdrip con data / ora sbagliato (prossimamente)' ,fi: 'Tämä työkalu etsii ja poistaa sensorimerkinnät joiden aikamerkintä sijaitsee tulevaisuudessa.' - ,pl: 'To narzędzie odnajduje i usuwa dane CGM w przyszłości utworzone przez uploader ze złą datą/czasem.' + ,pl: 'To narzędzie odnajduje i usuwa dane CGM utworzone przez uploader w przyszłości - ze złą datą/czasem.' ,ru: 'Эта опция найдет и удалит данные с сенсора созданные загрузчиком с неверными датой/временем' ,sk: 'Táto úloha nájde a odstráni CGM dáta v budúcnosti vzniknuté zle nastaveným časom uploaderu.' } @@ -5319,7 +5319,7 @@ function init() { ,bg: 'Тази опция премахва всички документи от папката статус-устройство. Полезно е, когато статусът на батерията не се обновява.' ,it: 'Questa attività elimina tutti i documenti dalla collezione "devicestatus". Utile quando lo stato della batteria uploader/xdrip non si aggiorna.' ,fi: 'Tämä työkalu poistaa kaikki tiedot statustietokannasta, mikä korjaa tilanteen, jossa puhelimen akun lataustilanne ei näy oikein.' - ,pl: 'To narzędzie usuwa wszystkie dokumenty z kolekcji devicestatus. Potrzebne jest wtedy, gdy stan baterii uploadera nie jest aktualizowany' + ,pl: 'To narzędzie usuwa wszystkie dokumenty z kolekcji devicestatus. Potrzebne jest wtedy, gdy status baterii uploadera nie jest aktualizowany' ,ru: 'Эта опция удаляет все документы из коллекции статус устройства. Полезно когда состояние батвреи загрузчика не обновляется' ,sk: 'Táto úloha vymaže všetky záznamy z kolekcie "devicestatus". Je to vhodné keď sa stav batérie nezobrazuje správne.' } @@ -5707,7 +5707,7 @@ function init() { ,nb: 'Representerer typisk insulinvarighet. Varierer per pasient og per insulin type. Vanligvis 3-4 timer for de fleste typer insulin og de fleste pasientene. Noen ganger også kalt insulinlevetid.' ,fi: 'Kertoo insuliinin tyypillisen vaikutusajan. Vaihtelee potilaan ja insuliinin tyypin mukaan. Tyypillisesti 3-4 tuntia pumpuissa käytettävällä insuliinilla.' ,bg: 'Представя типичната продължителност на действието на инсулина. Варира между отделните пациенти и различни инсулини. Обикновено е 3-4 часа за пациентите с помпа. Нарича се още живот на инсулина ' - ,pl: 'Odzwierciedla czas dzialania insuliny. Może różnić sie w zależnosci od chorego i rodzaju insuliny. Zwykle sa to 3-4 godziny dla insuliny podawanej pompą u wiekszości chorych. Inna nazwa to czas trwania insuliny.' + ,pl: 'Odzwierciedla czas działania insuliny. Może różnić się w zależności od chorego i rodzaju insuliny. Zwykle są to 3-4 godziny dla insuliny podawanej pompą u większości chorych. Inna nazwa to czas trwania insuliny.' ,ru: 'Представляет типичную продолжительность действия инсулина. Зависит от пациента и от типа инсулина. Обычно 3-4 часа для большинства помповых инсулинов и большинства пациентов' ,sk: 'Predstavuje typickú dobu počas ktorej inzulín pôsobí. Býva rôzna od pacienta a od typu inzulínu. Zvyčajne sa pobbuje medzi 3-4 hodinami u pacienta s pumpou' } @@ -5917,7 +5917,7 @@ function init() { ,sv: 'Error. Standardvärden valda.' ,fi: 'Virhe! Käytetään oletusarvoja.' ,bg: 'Грешка. Стойностите по подразбиране са използвани.' - ,pl: 'Błąd. Używane domyślne wartości. ' + ,pl: 'Błąd. Używane domyślne wartości.' ,ru: 'Ошибка. Используются значения по умолчанию' ,sk: 'CHYBA! Použité východzie hodnoty.' } @@ -6042,6 +6042,7 @@ function init() { ,fi: 'Muokkausmoodin ikoni tulee näkyviin kun laitat tämän päälle' ,ru: 'При активации видна икона начать режим редактирования' ,sk: 'Keď je povolený, je zobrazená ikona editačného módu' + ,pl: 'Po aktywacji, widoczne ikony, aby uruchomić tryb edycji' } ,'Operation' : { cs: 'Operace' @@ -6140,6 +6141,7 @@ function init() { ,fi: 'Poista hoito?' ,ru: 'Удалить событие?' ,sk: 'Odstrániť ošetrenie?' + ,pl: 'Usunąć wydarzenie?' } ,'Remove insulin from treatment ?' : { @@ -6149,6 +6151,7 @@ function init() { ,fi: 'Poista insuliini hoidosta?' ,ru: 'Удалить инсулин из событий?' ,sk: 'Odstrániť inzulín z ošetrenia?' + ,pl: 'Usunąć insulinę z wydarzenia?' } ,'Remove carbs from treatment ?' : { cs: 'Odstranit sacharidy z ošetření ?' @@ -6157,6 +6160,7 @@ function init() { ,fi: 'Poista hiilihydraatit hoidosta?' ,ru: 'Удалить углеводы из событий?' ,sk: 'Odstrániť sacharidy z ošetrenia?' + ,pl: 'Usunąć węglowodany z wydarzenia?' } ,'Rendering' : { cs: 'Vykresluji' @@ -6165,6 +6169,7 @@ function init() { ,fi: 'Piirrän graafeja' ,ru: 'Построение графика' ,sk: 'Vykresľujem' + ,pl: 'Rysuję' } ,'Loading OpenAPS data of' : { cs: 'Nahrávám OpenAPS data z' @@ -6173,6 +6178,7 @@ function init() { ,fi: 'Lataan OpenAPS tietoja' ,ru: 'Загрузка данных OpenAPS' ,sk: 'Nahrávam OpenAPS dáta z' + ,pl: 'Ładuję dane OpenAPS z' } ,'Loading profile switch data' : { cs: 'Nahrávám data přepnutí profilu' @@ -6181,6 +6187,7 @@ function init() { ,fi: 'Lataan profiilinvaihtotietoja' ,ru: 'Загрузка данных нового профиля' ,sk: 'Nahrávam dáta prepnutia profilu' + ,pl: 'Ładuję dane zmienionego profilu' } ,'Profile is going to be saved in newer format used in Nightscout 0.9.0 and above and will not be usable in older versions anymore.\nAre you sure?' : { cs: 'Profil bude uložen v novějším formátu používaném v Nightscoutu 0.9.0 a novějších. Již nebude použitelný se starší verzí.\nJste si jistý?' @@ -6189,6 +6196,7 @@ function init() { ,fi: 'Profiili tallennetaan uuteen Nightscout 0.9.0 käyttämään muotoon, eikä sitä voi enää käyttää vanhempien versioiden kanssa.\nOletko varma?' ,ru: 'Профиль будет сохранен в более позднем формате Nightscout 0.9.0 и выше и не сможет более использоваться в старых версиях. Вы согласны? ' ,sk: 'Profil bude uložený v novšom formáte používanom od verzie Nightscout 0.9.0 a novších. Nebude už použiteľný v starších verziách.\nSte si istý?' + ,pl: 'Dane profilu będą zapisane w nowym formacie Nighscout 0.9.0 i wyższym. Dane te nie będa mogły być użyte w starszych wersjach.\nJesteś pewien?' } ,'Wrong profile setting.\nNo profile defined to displayed time.\nRedirecting to profile editor to create new profile.' : { cs: 'Chybě nastavený profil.\nNení definovaný žádný platný profil k času zobrazení.\nProvádím přesměrování na editor profilu.' @@ -6197,6 +6205,7 @@ function init() { ,fi: 'Väärä profiiliasetus tai profiilia ei löydy.\nSiirrytään profiilin muokkaamiseen uuden profiilin luontia varten.' ,ru: 'Неверные настройки профиля. Для отображаемого времени не определен профиль. Переход к редактору профиля для создания нового' ,sk: 'Zle nastavený profil.\nK zobrazenému času nieje definovaný žiadny profil.\nPresmerovávam na vytvorenie profilu.' + ,pl: 'Złe ustawienia profilu.\nDla podanego czasu nie zdefiniowano profilu.\nPrzekierowuję do edytora profili aby utworzyć nowy.' } }; From 2e30e74e958388bca65049c2d7c65dca97843d87 Mon Sep 17 00:00:00 2001 From: sebastianlorant Date: Thu, 28 Apr 2016 12:35:11 +0200 Subject: [PATCH 154/158] NS-translation-SV-20160428 --- lib/language.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/language.js b/lib/language.js index b5a8af3595d..b3e3e961c20 100644 --- a/lib/language.js +++ b/lib/language.js @@ -6331,33 +6331,43 @@ function init() { } ,'Pump' : { sk: 'Pumpa' + sv: 'Pump' } ,'Sensor Age' : { sk: 'Zavedenie senzoru (SAGE)' + sv: 'Sensorålder (SAGE)' } ,'Insulin Age' : { sk: 'Výmena inzulínu (IAGE)' + sv: 'Insulinålder (IAGE)' } ,'Temporary target' : { sk: 'Dočasný cieľ' + sv: 'Tillfälligt mål' } ,'Reason' : { sk: 'Dôvod' + sv: 'Orsak' } ,'Eating soon' : { + sv: 'Snart matdags' } ,'Top' : { sk: 'Vrch' + sv: 'Toppen' } ,'Bottom' : { sk: 'Spodok' + sv: 'Botten' } ,'Activity' : { sk: 'Aktivita' + sv: 'Aktivitet' } ,'Targets' : { sk: 'Ciele' + sv: 'Mål' } }; From 454947e0a2c1e0e2bbdc3736763f35422dfaeff8 Mon Sep 17 00:00:00 2001 From: mKorniK Date: Thu, 28 Apr 2016 19:42:33 +0200 Subject: [PATCH 155/158] Last update and some corrections --- lib/language.js | 47 +++++++++++++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 16 deletions(-) diff --git a/lib/language.js b/lib/language.js index 69d2835d9f3..3383014502f 100644 --- a/lib/language.js +++ b/lib/language.js @@ -1020,7 +1020,7 @@ function init() { } ,'Percentile Chart' : { cs: 'Percentil' - ,de: 'Perzentile' + ,de: 'Prozentual' ,es: 'Percentiles' ,fr: 'Percentiles' ,pt: 'Percentis' @@ -1379,7 +1379,7 @@ function init() { } ,'Glucose Percentile report' : { cs: 'Tabulka percentil glykémií' - ,de: 'Glukose-Perzentil Bericht' + ,de: 'Glukose-Prozentual Bericht' ,es: 'Informe de percetiles de glucemia' ,fr: 'Rapport percentiles Glycémie' ,pt: 'Relatório de Percentis de Glicemia' @@ -5027,6 +5027,7 @@ function init() { } ,'Drag&drop food here' : { cs: 'Sem táhni & pusť jídlo' + ,de: 'Mahlzeit hier verschieben' ,sv: 'Dra&Släpp mat här' ,ro: 'Drag&drop aliment aici' ,bg: 'Хвани и премести храна тук' @@ -5040,6 +5041,7 @@ function init() { cs: 'Portál ošetření' ,sv: 'Care Portal' ,it: 'Somministrazioni' + ,de: 'Care Portal' ,ro: 'Care Portal' ,bg: 'Въвеждане на данни' ,nb: 'Omsorgsportal' @@ -5051,6 +5053,7 @@ function init() { ,'Medium/Unknown' : { // GI of food cs: 'Střední/Neznámá' ,sv: 'Medium/Okänt' + ,de: 'Medium/Unbekannt' ,ro: 'Mediu/Necunoscut' ,bg: 'Среден/неизвестен' ,nb: 'Medium/ukjent' @@ -5063,6 +5066,7 @@ function init() { cs: 'V BUDOUCNOSTI' ,sv: 'Framtida' ,ro: 'ÎN VIITOR' + ,de: 'in der Zukunft' ,bg: 'В БЪДЕШЕТО' ,nb: 'I fremtiden' ,fi: 'TULEVAISUUDESSA' @@ -5072,7 +5076,7 @@ function init() { } ,'Update' : { // Update button cs: 'Aktualizovat' - ,de: 'aktualisieren' + ,de: 'Aktualisieren' ,sv: 'Uppdatera' ,nb: 'Oppdater' ,pt: 'Atualizar' @@ -5245,7 +5249,7 @@ function init() { ,nb: 'Databasen inneholder %1 fremtidige hendelser' ,ro: 'Baza de date conține %1 înregistrări din viitor' ,sv: 'Databas innehåller %1 framtida händelser' - ,de: 'Datenbank enthält %1 zukünftige Aufnahmen' + ,de: 'Datenbank enthält %1 zukünftige Einträge' ,bg: 'Базата с дани съдържа %1 бъдещи записи' ,it: 'Contiene Database %1 record (prossimamente)' ,fi: 'Tietokanta sisältää %1 merkintää tulevaisuudessa' @@ -5256,7 +5260,7 @@ function init() { ,'Remove %1 selected records?' : { cs: 'Odstranit %1 vybraných záznamů' ,nb: 'Fjern %1 valgte elementer?' - ,de: 'Ausgewählte %1 Aufnahmen löschen?' + ,de: 'Ausgewählten %1 Eintrag löschen?' ,ro: 'Șterg %1 înregistrări selectate?' ,sv: 'Ta bort %1 valda händelser' ,bg: 'Премахване на %1 от избраните записи?' @@ -5282,7 +5286,7 @@ function init() { ,'Record %1 removed ...' : { cs: 'Záznam %1 odstraněn ...' ,nb: 'Element %1 fjernet' - ,de: 'Aufnahmen %1 entfernt' + ,de: 'Eintrag %1 entfernt' ,ro: 'Înregistrarea %1 a fost ștearsă...' ,sv: 'Händelse %1 borttagen ...' ,bg: '%1 записи премахнати' @@ -5295,7 +5299,7 @@ function init() { ,'Error removing record %1' : { cs: 'Chyba při odstaňování záznamu %1' ,nb: 'Feil under fjerning av element %1' - ,de: 'Fehler beim Entfernen der Aufnahme %1' + ,de: 'Fehler beim Entfernen des Eintrags %1' ,ro: 'Eroare la ștergerea înregistrării %1' ,sv: 'Fel vid borttagning av %1' ,bg: 'Грешка при премахването на %1 от записите' @@ -5309,7 +5313,7 @@ function init() { cs: 'Odstraňování záznamů ...' ,nb: 'Fjerner elementer...' ,ro: 'Se șterg înregistrările...' - ,de: 'Entferne Aufnahme...' + ,de: 'Entferne Eintrag...' ,sv: 'Tar bort händelser ...' ,bg: 'Изтриване на записите...' ,it: 'Eliminazione dei record ...' @@ -5386,7 +5390,7 @@ function init() { ,'Database contains %1 records' : { cs: 'Databáze obsahuje %1 záznamů' ,nb: 'Databasen inneholder %1 elementer' - ,de: 'Datenbank enthält %1 Aufnahmen' + ,de: 'Datenbank enthält %1 Einträge' ,ro: 'Baza de date conține %1 înregistrări' ,sv: 'Databasen innehåller %1 händelser' ,bg: 'Базата с данни съдържа %1 записи' @@ -5399,7 +5403,7 @@ function init() { ,'All records removed ...' : { cs: 'Všechny záznamy odstraněny ...' ,nb: 'Alle elementer fjernet ...' - ,de: 'Alle Aufnahmen entfernt...' + ,de: 'Alle Einträge entfernt...' ,ro: 'Toate înregistrările au fost șterse.' ,sv: 'Alla händelser raderade ...' ,bg: 'Всички записи премахнати ...' @@ -5611,7 +5615,7 @@ function init() { ,ro: 'Salvez înregistrarea curentă înainte de a trece mai departe?' ,sv: 'Spara aktuell data innan skifte till ny?' ,nb: 'Lagre før bytte til ny?' - ,de: 'Aktuelle Aufnahmen vor dem Wechsel zu einer Neuen speichern?' + ,de: 'Aktuelle Einträge vor dem Wechsel zu einem Neuem speichern?' ,fi: 'Tallenna nykyinen merkintä ennen vaihtoa uuteen?' ,bg: 'Запази текущият запис преди да промениш новия ' ,pl: 'Zapisać bieżący rekord przed zamianą na nowy?' @@ -5672,7 +5676,7 @@ function init() { ,ro: 'Înregistrări' ,sv: 'Databashändelser' ,nb: 'Databaseverdier' - ,de: 'Datenbankaufnahmen' + ,de: 'Datenbankeinträge' ,fi: 'Tietokantamerkintöjä' ,bg: 'Записи в базата с данни' ,pl: 'Rekordy bazy danych' @@ -5684,7 +5688,7 @@ function init() { ,ro: 'Adaugă înregistrare nouă' ,sv: 'Lägg till ny händelse' ,nb: 'Legg til ny rad' - ,de: 'Neue Aufnahme hinzufügen' + ,de: 'Neuer Eintrag hinzufügen' ,fi: 'Lisää uusi merkintä' ,bg: 'Добави нов запис' ,pl: 'Dodaj nowy rekord' @@ -5696,7 +5700,7 @@ function init() { ,ro: 'Șterge această înregistrare' ,sv: 'Ta bort denna händelse' ,nb: 'Fjern denne raden' - ,de: 'Diese Aufnahme löschen' + ,de: 'Diesen Eintrag löschen' ,fi: 'Poista tämä merkintä' ,bg: 'Премахни този запис' ,pl: 'Usuń ten rekord' @@ -5708,7 +5712,7 @@ function init() { ,ro: 'Duplică această înregistrare' ,sv: 'Kopiera denna händelse till ny' ,nb: 'Kopier til ny rad' - ,de: 'Diese Aufnahme duplizieren' + ,de: 'Diesen Eintrag duplizieren' ,fi: 'Kopioi tämä merkintä uudeksi' ,bg: 'Копирай този запис като нов' ,pl: 'Powiel ten rekord na nowy' @@ -5719,7 +5723,7 @@ function init() { cs: 'Záznam platný od' ,ro: 'Înregistare validă de la' ,sv: 'Händelse giltig från' - ,de: 'Aufnahme gültig von' + ,de: 'Eintrag gültig von' ,nb: 'Rad gyldig fra' ,fi: 'Merkintä voimassa alkaen' ,bg: 'Записът е валиден от ' @@ -5910,6 +5914,7 @@ function init() { ,'Icicle' : { cs: 'Rampouch' ,it: 'Inverso' + ,de: 'Übersicht' ,ro: 'Țurțure' ,sv: 'Istapp' ,nb: 'Isfjell' @@ -6067,6 +6072,7 @@ function init() { cs: 'I:C' ,nb: 'IKH' ,ro: 'ICR' + ,de: 'I:K' ,sv: 'I:C' ,fi: 'I:HH' ,bg: 'И:ВХ' @@ -6333,33 +6339,42 @@ function init() { } ,'Pump' : { sk: 'Pumpa' + ,de: 'Pumpe' } ,'Sensor Age' : { sk: 'Zavedenie senzoru (SAGE)' + ,de: 'Sensora-Alter' } ,'Insulin Age' : { sk: 'Výmena inzulínu (IAGE)' + ,de: 'Insulin-Alter' } ,'Temporary target' : { sk: 'Dočasný cieľ' + ,de: 'Temporäres Ziel' } ,'Reason' : { sk: 'Dôvod' + ,de: 'Begründung' } ,'Eating soon' : { } ,'Top' : { sk: 'Vrch' + ,de: 'Oben' } ,'Bottom' : { sk: 'Spodok' + ,de: 'Unten' } ,'Activity' : { sk: 'Aktivita' + ,de: 'Aktivität' } ,'Targets' : { sk: 'Ciele' + ,de: 'Ziele' } }; From 49b82d7b1a29ecd8384f80c705799121bdd36bf5 Mon Sep 17 00:00:00 2001 From: Jason Calabrese Date: Fri, 29 Apr 2016 17:18:23 -0700 Subject: [PATCH 156/158] codacy --- lib/data/ddata.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/data/ddata.js b/lib/data/ddata.js index db9d56c5075..92f47a02c1c 100644 --- a/lib/data/ddata.js +++ b/lib/data/ddata.js @@ -77,41 +77,41 @@ function init( ) { return result; }; - ddata.processDurations = function processDurations(treatments) { + ddata.processDurations = function processDurations (treatments) { treatments = _.uniqBy(treatments, 'mills'); // cut temp basals by end events // better to do it only on data update - var endevents = treatments.filter(function filterEnd(t) { + var endevents = treatments.filter(function filterEnd (t) { return ! t.duration; }); - function cutIfInInterval(base, end) { + function cutIfInInterval (base, end) { if (base.mills < end.mills && base.mills + times.mins(base.duration).msecs > end.mills) { base.duration = times.msecs(end.mills-base.mills).mins; } } // cut by end events - treatments.forEach(function allTreatments(t) { + treatments.forEach(function allTreatments (t) { if (t.duration) { - endevents.forEach(function allEndevents(e) { + endevents.forEach(function allEndevents (e) { cutIfInInterval(t, e); }); } }); // cut by overlaping events - treatments.forEach(function allTreatments(t) { + treatments.forEach(function allTreatments (t) { if (t.duration) { - treatments.forEach(function allEndevents(e) { + treatments.forEach(function allEndevents (e) { cutIfInInterval(t, e); }); } }); - return treatments.filter(function filterEnd(t) { + return treatments.filter(function filterEnd (t) { return t.duration; }); }; From 7823e01cb72616b9f6196418e012620f4feef2c2 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Sat, 30 Apr 2016 02:31:51 +0200 Subject: [PATCH 157/158] some german corrections --- lib/language.js | 69 +++++++++++++++++++++++++------------------------ 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/lib/language.js b/lib/language.js index 788bde3beeb..09c4bac4ac1 100644 --- a/lib/language.js +++ b/lib/language.js @@ -5027,7 +5027,7 @@ function init() { } ,'Drag&drop food here' : { cs: 'Sem táhni & pusť jídlo' - ,de: 'Mahlzeit hier verschieben' + ,de: 'Mahlzeit hierher verschieben (Drag&Drop)' ,sv: 'Dra&Släpp mat här' ,ro: 'Drag&drop aliment aici' ,bg: 'Хвани и премести храна тук' @@ -5417,7 +5417,7 @@ function init() { cs: 'Nástroje pro správu' ,nb: 'Administrasjonsoppgaver' ,ro: 'Instrumente de administrare' - ,de: 'Administrator-Werkzeuge' + ,de: 'Administrations-Werkzeuge' ,sv: 'Adminverktyg' ,bg: 'Настройки на администратора' ,it: 'NS - Dati Mongo' @@ -5430,7 +5430,7 @@ function init() { cs: 'Nightscout - Výkazy' ,nb: 'Nightscout - rapporter' ,ro: 'Rapoarte Nightscout' - ,de: 'Nightscout-Bericht' + ,de: 'Nightscout-Berichte' ,sv: 'Nightscout - Statistik' ,bg: 'Найтскаут статистика' ,it: 'Nightscout - Statistiche' @@ -5493,7 +5493,7 @@ function init() { } ,'Temp Basal' : { cs: 'Dočasný bazál' - ,de: 'Temporär Basal' + ,de: 'Temporäre Basalrate' ,ro: 'Bazală temporară' ,sv: 'Temporär basal' ,bg: 'Временен базал' @@ -5508,7 +5508,7 @@ function init() { cs: 'Dočasný bazál začátek' ,ro: 'Start bazală temporară' ,sv: 'Temporär basalstart' - ,de: 'Temporär Basal starten' + ,de: 'Start der temporären Basalrate' ,bg: 'Начало на временен базал' ,it: 'Inizio Basale Temp' ,nb: 'Midlertidig basal start' @@ -5523,7 +5523,7 @@ function init() { ,sv: 'Temporär basalavslut' ,bg: 'Край на временен базал' ,it: 'Fine Basale Temp' - ,de: 'Temporär Basal stoppen' + ,de: 'Ende der temporären Basalrate' ,nb: 'Midlertidig basal stopp' ,fi: 'Tilapäinen basaali loppu' ,pl: 'Koniec tymczasowej dawki podstawowej' @@ -5548,7 +5548,7 @@ function init() { ,ro: 'Bazală schimbată în %' ,sv: 'Basaländring i %' ,bg: 'Промяна на базала с %' - ,de: 'Basal geändert in %' + ,de: 'Basaländerung in %' ,it: 'Variazione basale in %' ,nb: 'Basal endring i %' ,fi: 'Basaalimuutos prosenteissa' @@ -5688,7 +5688,7 @@ function init() { ,ro: 'Adaugă înregistrare nouă' ,sv: 'Lägg till ny händelse' ,nb: 'Legg til ny rad' - ,de: 'Neuer Eintrag hinzufügen' + ,de: 'Neuen Eintrag hinzufügen' ,fi: 'Lisää uusi merkintä' ,bg: 'Добави нов запис' ,pl: 'Dodaj nowy rekord' @@ -5760,7 +5760,7 @@ function init() { ,ro: 'Durata de acțiune a insulinei' ,sv: 'verkningstid för insulin (DIA)' ,nb: 'Insulin varighet' - ,de: 'Dauer der Insulinaktivität' + ,de: 'Dauer der Insulinaktivität (DIA)' ,fi: 'Insuliinin vaikutusaika (DIA)' ,bg: 'Продължителност на инсулиновата активност DIA' ,pl: 'Czas trwania aktywnej insuliny (DIA)' @@ -5770,7 +5770,7 @@ function init() { ,'Represents the typical duration over which insulin takes effect. Varies per patient and per insulin type. Typically 3-4 hours for most pumped insulin and most patients. Sometimes also called insulin lifetime.' : { cs: 'Představuje typickou dobu, po kterou inzulín působí. Bývá různá podle pacienta a inzulínu. Typicky 3-4 hodiny pro pacienty s pumpou.' ,ro: 'Reprezintă durata tipică pentru care insulina are efect. Este diferită la fiecare pacient și pentru fiecare tip de insulină' - ,de: 'Entspricht der typischen Dauer die das Insulin wirkt. Variiert je Patient und Insulintyp. Häufig 3-4 Stunden für das häufig abgegebene Insulin und die meisten Patienten. Manchmal auch Insulin-Wirkungsdauer genannt.' + ,de: 'Entspricht der typischen Dauer die das Insulin wirkt. Variiert je Patient und Insulintyp. Häufig 3-4 Stunden für die meisten Pumpeninsuline und die meisten Patienten. Manchmal auch Insulin-Wirkungsdauer genannt.' ,sv: 'Beskriver under hur lång tid insulinet verkar. Varierar mellan patienter. Typisk varaktighet 3-4 timmar.' ,nb: 'Representerer typisk insulinvarighet. Varierer per pasient og per insulin type. Vanligvis 3-4 timer for de fleste typer insulin og de fleste pasientene. Noen ganger også kalt insulinlevetid.' ,fi: 'Kertoo insuliinin tyypillisen vaikutusajan. Vaihtelee potilaan ja insuliinin tyypin mukaan. Tyypillisesti 3-4 tuntia pumpuissa käytettävällä insuliinilla.' @@ -5784,7 +5784,7 @@ function init() { ,ro: 'Rată insulină la carbohidrați (ICR)' ,sv: 'Insulin-Kolhydratskvot' ,nb: 'IKH forhold' - ,de: 'Insulin/Kohlenhydrathe-Verhältnis (I:C)' + ,de: 'Insulin/Kohlenhydrate-Verhältnis (I:C)' ,fi: 'Insuliiniannoksen hiilihydraattisuhde (I:HH)' ,bg: 'Съотношение инсулин/въглехидратите ICR I:C И:ВХ' ,pl: 'Współczynnik insulina/węglowodany (I:C)' @@ -5819,7 +5819,7 @@ function init() { cs: 'gramy na jednotku inzulínu. Poměr, jaké množství sacharidů pokryje jednotku inzulínu.' ,ro: 'g carbohidrați pentru o unitate de insulină. Câte grame de carbohidrați sunt acoperite de 1U insulină.' ,sv: 'gram kolhydrater per enhet insulin. Antal gram kolhydrater varje enhet insulin sänker' - ,de: 'g Kohlenhydrathe pro Einheit Insulin. Das Verhältnis wie viele Gramm Kohlenhydrathe je Einheit Insulin verbraucht werden. ' + ,de: 'g Kohlenhydrate pro Einheit Insulin. Das Verhältnis wie viele Gramm Kohlenhydrate je Einheit Insulin verbraucht werden. ' ,nb: 'g karbohydrater per enhet insulin. Beskriver hvor mange gram karbohydrater som hånderes av en enhet insulin.' ,fi: 'g hiilihydraattia / yksikkö insuliinia. Suhde, joka kertoo montako grammaa hiilihydraattia vastaa yhtä yksikköä insuliinia.' ,bg: 'грам въглехидрат към 1 единица инсулин. Съотношението колко грама въглехидрат се покриват от 1 единица инсулин.' @@ -5842,7 +5842,7 @@ function init() { ,'mg/dL or mmol/L per U insulin. The ratio of how much BG changes with each U of corrective insulin.' : { cs: 'mg/dL nebo mmol/L na jednotku inzulínu. Poměr, jak se změní glykémie po podaní jednotky inzulínu' ,ro: 'mg/dL sau mmol/L pentru 1U insulină. Cât de mult influențează glicemia o corecție de o unitate de insulină.' - ,de: 'mg/dL oder mmol/L Insulineinheit. Verhältnis von Blutzuckeränderung je Einheit zum Korrekturinsulin.' + ,de: 'mg/dL oder mmol/L pro Einheit Insulin. Verhältnis von Blutzuckeränderung je Einheit Korrekturinsulin.' ,sv: 'mg/dl eller mmol per enhet insulin. Hur varje enhet insulin sänker blodsockret' ,nb: 'mg/dl eller mmol/l per enhet insulin. Beskriver hvor mye blodsukkeret senkes per enhet insulin.' ,fi: 'mg/dL tai mmol/L / 1 yksikkö insuliinia. Suhde, joka kertoo montako yksikköä verensokeria yksi yksikkö insuliinia laskee.' @@ -5854,7 +5854,7 @@ function init() { ,'Carbs activity / absorption rate' : { cs: 'Rychlost absorbce sacharidů' ,ro: 'Rata de absorbție' - ,de: 'Kohlenhydrathaktivität / Aufnahme Kohlenhydrathe' + ,de: 'Kohlenhydrataktivität / Aufnahme Kohlenhydrate' ,sv: 'Kolhydratstid' ,nb: 'Karbohydrattid' ,fi: 'Hiilihydraattiaktiivisuus / imeytymisnopeus' @@ -5867,7 +5867,7 @@ function init() { cs: 'gramy za jednotku času. Reprezentuje jak změnu COB za jednoku času, tak množství sacharidů, které se za tu dobu projevily. Křivka absorbce sacharidů je mnohem méně pochopitelná než IOB, ale může být aproximována počáteční pauzou následovanou konstantní hodnotou absorbce (g/hod).' ,ro: 'grame pe unitatea de timp. Reprezintă atât schimbarea COB pe unitatea de timp, cât și cantitatea de carbohidrați care ar influența în perioada de timp. Graficele ratei de absorbție sunt mai puțin înțelese decât senzitivitatea la insulină, dar se poate aproxima folosind o întârziere implicită și apoi o rată constantă de aborbție (g/h).' ,sv: 'gram per tidsenhet. Representerar både ändring i aktiva kolhydrater per tidsenhet som mängden kolhydrater som tas upp under denna tid. Kolhydratsupptag / aktivitetskurvor är svårare att förutspå än aktivt insulin men kan beräknas genom att använda en startfördröjning följd av en konstant absorbtionsgrad (g/timme) ' - ,de: 'Gramm pro Einheitenzeit. Bedeutet sowohl die Änderung in COB je Einheitenzeit, als auch die Menge an Kohlenhydrathen die über diese Zeit wirken. Kohlenhydrathe-Abgabe / Aktivitätskurven werden weniger beachtet als Insulinaktivität, aber es kann bei einer Anfangsverzögerung mit konstanter Aufnahme genutzt werden (g/std).' + ,de: 'Gramm pro Zeiteinheit. Bedeutet sowohl die Änderung in COB je Zeiteinheit, als auch die Menge an Kohlenhydraten die über diese Zeit wirken sollten. Kohlenhydrat-Absorption / Aktivitätskurven werden weniger genau verstanden als Insulinaktivität, aber sie können angenähert werden indem eine Anfangsverzögerung mit konstanter Aufnahme (g/std) verwendet wird.' ,nb: 'gram per tidsenhet. Representerer både endringen i COB per tidsenhet, såvel som mengden av karbohydrater som blir tatt opp i løpet av den tiden. Carb absorpsjon / virkningskurver er mindre forstått enn insulinaktivitet, men kan tilnærmes ved hjelp av en forsinkelse fulgt av en konstant hastighet av absorpsjon ( g / time ) .' ,fi: 'grammaa / aika. Kertoo tyypillisen nopeuden, jolla hiilihydraatit imeytyvät syömisen jälkeen. Imeytyminen tunnetaan jokseenkin huonosti, mutta voidaan arvioida keskimääräisesti. Yksikkönä grammaa tunnissa (g/h).' ,bg: 'грам за единица време. Представлява както промяната в COB за единица време, така и количеството ВХ които биха се усвоили за това време.' @@ -5878,7 +5878,7 @@ function init() { ,'Basal rates [unit/hour]' : { cs: 'Bazály [U/hod].' ,ro: 'Rata bazală [unitate/oră]' - ,de: 'Basalrate' + ,de: 'Basalraten' ,sv: 'Basal [enhet/t]' ,nb: 'Basal [enhet/t]' ,fi: 'Basaali [yksikköä/tunti]' @@ -5903,7 +5903,7 @@ function init() { cs: 'Začátek platnosti záznamu' ,ro: 'De când este valabilă înregistrarea' ,sv: 'Starttid för händelse' - ,de: 'Starte Aufzeichnungsgültigkeit' + ,de: 'Beginn der Aufzeichnungsgültigkeit' ,nb: 'Starttidspunkt for gyldighet' ,fi: 'Merkinnän alkupäivämäärä' ,bg: 'Начало на записа' @@ -5914,7 +5914,7 @@ function init() { ,'Icicle' : { cs: 'Rampouch' ,it: 'Inverso' - ,de: 'Übersicht' + ,de: 'Eiszapfen (Inverse)' ,ro: 'Țurțure' ,sv: 'Istapp' ,nb: 'Isfjell' @@ -5940,7 +5940,7 @@ function init() { ,'Profile used' : { cs: 'Použitý profil' ,ro: 'Profil folosit' - ,de: 'Profil wird benutzt' + ,de: 'Verwendetes Profil' ,sv: 'Vald profil' ,nb: 'Brukt profil' ,fi: 'Käytetty profiili' @@ -5952,7 +5952,7 @@ function init() { ,'Calculation is in target range.' : { cs: 'Kalkulace je v cílovém rozsahu.' ,ro: 'Calculul dă o valoare în intervalul țintă.' - ,de: 'Kalkulation ist innerhalb Zielbereich' + ,de: 'Berechnung ist innerhalb des Zielbereichs' ,sv: 'Inom intervallområde' ,fi: 'Laskettu arvo on tavoitealueella' ,bg: 'Калкулацията е в граници' @@ -5963,7 +5963,7 @@ function init() { ,'Loading profile records ...' : { cs: 'Nahrávám profily ...' ,nb: 'Leser profiler' - ,de: 'Lade Profilaufzeichnungen' + ,de: 'Lade Profilaufzeichnungen...' ,ro: 'Se încarcă datele profilului...' ,sv: 'Laddar profildata ...' ,fi: 'Ladataan profiileja ...' @@ -5987,7 +5987,7 @@ function init() { ,'Default values used.' : { cs: 'Použity výchozí hodnoty.' ,nb: 'Standardverdier brukt' - ,de: 'Standartwerte werden verwendet.' + ,de: 'Standardwerte werden verwendet.' ,ro: 'Se folosesc valorile implicite.' ,sv: 'Standardvärden valda' ,fi: 'Oletusarvot ladattu' @@ -5999,7 +5999,7 @@ function init() { ,'Error. Default values used.' : { cs: 'CHYBA: Použity výchozí hodnoty.' ,nb: 'Feil. Standardverdier brukt.' - ,de: 'Fehler. Standartwerte werden verwendet.' + ,de: 'Fehler. Standardwerte werden verwendet.' ,ro: 'Eroare. Se folosesc valorile implicite.' ,sv: 'Error. Standardvärden valda.' ,fi: 'Virhe! Käytetään oletusarvoja.' @@ -6011,7 +6011,7 @@ function init() { ,'Time ranges of target_low and target_high don\'t match. Values are restored to defaults.' : { cs: 'Rozsahy časů pro limity glykémií si neodpovídají. Budou nastaveny výchozí hodnoty.' ,nb: 'Tidsintervall for målområde lav og høy stemmer ikke. Standardverdier er brukt.' - ,de: 'Zeitspanne vom untersten und obersten Wert werden nicht berücksichtigt. Werte auf Standart hergestellt.' + ,de: 'Zeitspanne vom untersten und obersten Wert werden nicht berücksichtigt. Werte auf Standard hergestellt.' ,ro: 'Intervalele temporale pentru țintă_inferioară și țintă_superioară nu se potrivesc. Se folosesc valorile implicite.' ,sv: 'Tidsintervall för målområde låg och hög stämmer ej' ,fi: 'Matalan ja korkean tavoitteen aikarajat eivät täsmää. Arvot on vaihdettu oletuksiin.' @@ -6047,7 +6047,7 @@ function init() { ,'Add new interval before' : { cs: 'Přidat nový interval před' ,nb: 'Legg til nytt intervall før' - ,de: 'Neuen Intervall vorher hinzufügen' + ,de: 'Neues Intervall vorher hinzufügen' ,ro: 'Adaugă un nou interval înainte' ,sv: 'Lägg till nytt intervall före' ,fi: 'Lisää uusi aikaväli ennen' @@ -6140,7 +6140,7 @@ function init() { ,'When enabled icon to start edit mode is visible' : { cs: 'Pokud je povoleno, ikona pro vstup do editačního módu je zobrazena' ,ro: 'La activare, butonul de editare este vizibil' - ,de: 'Mit Aktivieren des Icons ist der Bearbeitungsmodus sichtbar' + ,de: 'Wenn aktiviert wird das Icons zum Start des Bearbeitungsmodus sichtbar' ,sv: 'Ikon visas när editeringsläge är aktivt' ,bg: 'Когато е активно ,иконката за редактиране ще се вижда' ,fi: 'Muokkausmoodin ikoni tulee näkyviin kun laitat tämän päälle' @@ -6195,7 +6195,7 @@ function init() { ,'Move carbs' : { cs: 'Přesunout sacharidy' ,ro: 'Mutați carbohidrații' - ,de: 'Kohlenhydrathe verschieben' + ,de: 'Kohlenhydrate verschieben' ,sv: 'Flytta kolhydrater' ,bg: 'Премести ВХ' ,fi: 'Liikuta hiilihydraatteja' @@ -6217,7 +6217,7 @@ function init() { ,'Remove carbs' : { cs: 'Odstranit sacharidy' ,ro: 'Ștergeți carbohidrații' - ,de: 'Kohlenhydrathe löschen' + ,de: 'Kohlenhydrate löschen' ,sv: 'Ta bort kolhydrater' ,bg: 'Изтрий ВХ' ,fi: 'Poista hiilihydraatit' @@ -6239,7 +6239,7 @@ function init() { ,'Change carbs time to %1 ?' : { cs: 'Změnit čas sacharidů na %1 ?' ,ro: 'Schimbați ora carbohidraților cu %1 ?' - ,de: 'Kohlenhydrath-Zeit ändern zu %1 ?' + ,de: 'Kohlenhydrat-Zeit ändern zu %1 ?' ,sv: 'Ändra kolhydratstid till %1 ?' ,bg: 'Да променя ли времето на ВХ с %1?' ,fi: 'Muuta hiilihydraattien aika? Uusi: %1' @@ -6272,7 +6272,7 @@ function init() { } ,'Remove insulin from treatment ?' : { cs: 'Odstranit inzulín z ošetření ?' - ,de: 'Insulin von Behandlung löschen?' + ,de: 'Insulin der Behandlung löschen?' ,ro: 'Ștergeți insulina din acțiune?' ,sv: 'Ta bort insulin från behandling ?' ,bg: 'Да изтрия ли инсулина от събитието?' @@ -6284,7 +6284,7 @@ function init() { ,'Remove carbs from treatment ?' : { cs: 'Odstranit sacharidy z ošetření ?' ,ro: 'Ștergeți carbohidrații din acțiune?' - ,de: 'Kohlenhydrathe von Behandlung löschen?' + ,de: 'Kohlenhydrate der Behandlung löschen?' ,sv: 'Ta bort kolhydrater från behandling ?' ,bg: 'Да изтрия ли ВХ от събитието?' ,fi: 'Poista hiilihydraatit hoidosta?' @@ -6295,7 +6295,7 @@ function init() { ,'Rendering' : { cs: 'Vykresluji' ,ro: 'Se desenează' - ,de: 'Wiedergabe' + ,de: 'Rendering' ,sv: 'Rendering' ,bg: 'Показване на графика' ,fi: 'Piirrän graafeja' @@ -6327,7 +6327,7 @@ function init() { ,'Profile is going to be saved in newer format used in Nightscout 0.9.0 and above and will not be usable in older versions anymore.\nAre you sure?' : { cs: 'Profil bude uložen v novějším formátu používaném v Nightscoutu 0.9.0 a novějších. Již nebude použitelný se starší verzí.\nJste si jistý?' ,ro: 'Profilul va fi salvat într-un format nou, folosit în Nightscout 0.9.0 și superior și nu va mai fi posibilă folosirea pentru versiunile mai vechi.\nSunteți de acord?' - ,de: 'Profil wird in einem neuem Format für Nightscout 0.9.0 und höher gespeichert und ist nicht mehr nutzbar in älteren Versionen. Sind Sie sicher?' + ,de: 'Profil wird in einem neuem Format für Nightscout 0.9.0 und höher gespeichert und ist in älteren Versionen nicht mehr nutzbar. Sind Sie sicher?' ,sv: 'Profilen sparas i ett nyare format som ej kommer fungera i tidigare versioner av Nightscout (<0.9.0). \nÄr du säker?' ,bg: 'Профилът ще бъде запаметен в нов формат, който се ползва от Nightscout 0.9.0 и нагоре и няма да бъде съвместим с по-стари версии. \nСигурен ли си ?' ,fi: 'Profiili tallennetaan uuteen Nightscout 0.9.0 käyttämään muotoon, eikä sitä voi enää käyttää vanhempien versioiden kanssa.\nOletko varma?' @@ -6354,7 +6354,7 @@ function init() { ,'Sensor Age' : { sk: 'Zavedenie senzoru (SAGE)' ,sv: 'Sensorålder (SAGE)' - ,de: 'Sensora-Alter' + ,de: 'Sensor-Alter' } ,'Insulin Age' : { sk: 'Výmena inzulínu (IAGE)' @@ -6373,6 +6373,7 @@ function init() { } ,'Eating soon' : { sv: 'Snart matdags' + , de: 'Bald essend' } ,'Top' : { From fe67356202b0518d276456e95ab681feb25479b1 Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Sat, 30 Apr 2016 02:50:22 +0200 Subject: [PATCH 158/158] some german corrections 2 --- lib/language.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/language.js b/lib/language.js index 788bde3beeb..0f3eea1d2f9 100644 --- a/lib/language.js +++ b/lib/language.js @@ -4386,7 +4386,7 @@ function init() { } ,'When there is noise' : { cs: 'Při šumu' - ,de: 'Sofern Störgeräusch vorhanden' + ,de: 'Sofern Rauschen vorhanden' ,es: 'Cuando hay ruido' ,fr: 'Quand il y a du bruit' ,pt: 'Quando houver ruído' @@ -4550,7 +4550,7 @@ function init() { } ,'Bolus Wizard' : { cs: 'Bolusový kalkulátor' - ,de: 'Bolus Kalkulator' + ,de: 'Bolus-Rechner' ,es: 'Bolus Wizard' ,fr: 'Calculateur de bolus' ,pt: 'Calculadora de bolus' @@ -4730,7 +4730,7 @@ function init() { } ,'Clean' : { cs: 'Čistý' - ,de: 'Komplett' + ,de: 'Rein' ,es: 'Limpio' ,fr: 'Propre' ,pt: 'Limpo' @@ -4802,7 +4802,7 @@ function init() { } ,'Treatment type' : { cs: 'Typ ošetření' - ,de: 'Eingabe Typ' + ,de: 'Eingabe-Typ' ,es: 'Tipo de tratamiento' ,fr: 'Type de traitement' ,pt: 'Tipo de procedimento' @@ -4820,7 +4820,7 @@ function init() { } ,'Raw BG' : { cs: 'Glykémie z RAW dat' - ,de: 'Roh Blutglukose' + ,de: 'Roh-Blutglukose' ,es: 'Glucemia en crudo' ,fr: 'Glycémie brut' ,pt: 'Glicemia sem processamento' @@ -4856,7 +4856,7 @@ function init() { } ,'Noise' : { cs: 'Šum' - ,de: 'Störgeräusch' + ,de: 'Rauschen' ,es: 'Ruido' ,fr: 'Bruit' ,pt: 'Ruído' @@ -4946,7 +4946,7 @@ function init() { } ,'Carb Time' : { cs: 'Čas jídla' - ,de: 'Kohlenhydrate Zeit' + ,de: 'Kohlenhydrat Zeit' ,es: 'Momento de la ingesta' ,fr: 'Moment de Glucide' ,pt: 'Hora do carboidrato' @@ -5053,7 +5053,7 @@ function init() { ,'Medium/Unknown' : { // GI of food cs: 'Střední/Neznámá' ,sv: 'Medium/Okänt' - ,de: 'Medium/Unbekannt' + ,de: 'Mittel/Unbekannt' ,ro: 'Mediu/Necunoscut' ,bg: 'Среден/неизвестен' ,nb: 'Medium/ukjent' @@ -5066,7 +5066,7 @@ function init() { cs: 'V BUDOUCNOSTI' ,sv: 'Framtida' ,ro: 'ÎN VIITOR' - ,de: 'in der Zukunft' + ,de: 'IN DER ZUKUNFT' ,bg: 'В БЪДЕШЕТО' ,nb: 'I fremtiden' ,fi: 'TULEVAISUUDESSA' @@ -5338,7 +5338,7 @@ function init() { ,'Delete all documents from devicestatus collection' : { cs: 'Odstranění všech záznamů z kolekce devicestatus' ,nb: 'Fjern alle dokumenter fra device status tabell' - ,de: 'Lösche alle Dokumente von Einheitsstatussammlung' + ,de: 'Lösche alle Dokumente von Gerätestatus-Collection (devicestatus)' ,ro: 'Șterge toate documentele din colecția de status dispozitiv' ,sv: 'Ta bort alla dokument i devicestatus collektionen' ,bg: 'Изтрий всички документи от папката статус-устройство' @@ -5351,7 +5351,7 @@ function init() { ,'This task removes all documents from devicestatus collection. Useful when uploader battery status is not properly updated.' : { cs: 'Tento úkol odstraní všechny dokumenty z kolekce devicestatus. Je to vhodné udělat, pokud se ukazatel stavu baterie neobnovuje správně.' ,nb: 'Denne funksjonen fjerner alle dokumenter fra device status tabellen. Nyttig når status for opplaster batteri ikke blir opppdatert' - ,de: 'Diese Aufgabe entfernt alle Dokumente von Einheitstatussammlung. Nützlich wenn Uploader-Batteriestatus nicht richtig aktualisiert.' + ,de: 'Diese Aufgabe entfernt alle Dokumente aus der Gerätestatus-Collection (devicestatus). Nützlich wenn der Uploader-Batteriestatus sich nicht richtig aktualisiert.' ,ro: 'Acest instrument șterge toate documentele din colecția devicestatus. Se folosește când încărcarea bateriei nu se afișează corect.' ,sv: 'Denna uppgift tar bort alla dokument från devicestatuskollektionen. Användbart när batteristatus ej uppdateras' ,bg: 'Тази опция премахва всички документи от папката статус-устройство. Полезно е, когато статусът на батерията не се обновява.' @@ -5377,7 +5377,7 @@ function init() { ,'Delete all documents from devicestatus collection devicestatus?' : { cs: 'Odstranit všechny dokumenty z kolekce devicestatus?' ,nb: 'Fjern alle dokumenter fra device status tabellen?' - ,de: 'Entferne alle Dokumente vom Einheitstatussammlung Einheitsstatus?' + ,de: 'Entferne alle Dokumente der Gerätestatus-Collection (devicestatus)?' ,ro: 'Șterg toate documentele din colecția devicestatus?' ,sv: 'Ta bort alla dokument från devicestatuscollektionen' ,bg: 'Изтриване на всички документи от папката статус-устройство?'