From 61477b96acbec55542f3dea1e87b3a4b82832728 Mon Sep 17 00:00:00 2001 From: inventor96 Date: Tue, 15 Aug 2023 20:41:58 -0600 Subject: [PATCH 01/39] Added notes about the Google Assistant integration being broken --- README.md | 6 ++++-- docs/plugins/googlehome-plugin.md | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 767d954eeca..9312889f00c 100644 --- a/README.md +++ b/README.md @@ -113,7 +113,7 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) - [`override` (Override Mode)](#override-override-mode) - [`xdripjs` (xDrip-js)](#xdripjs-xdrip-js) - [`alexa` (Amazon Alexa)](#alexa-amazon-alexa) - - [`googlehome` (Google Home/DialogFLow)](#googlehome-google-homedialogflow) + - [`googlehome` (Google Home/DialogFLow)](#googlehome-google-homedialogflow) [broken] - [`speech` (Speech)](#speech-speech) - [`cors` (CORS)](#cors-cors) - [Extended Settings](#extended-settings) @@ -568,9 +568,11 @@ For remote overrides, the following extended settings must be configured: ##### `alexa` (Amazon Alexa) Integration with Amazon Alexa, [detailed setup instructions](docs/plugins/alexa-plugin.md) -##### `googlehome` (Google Home/DialogFLow) +##### `googlehome` (Google Home/DialogFLow) [broken] Integration with Google Home (via DialogFlow), [detailed setup instructions](docs/plugins/googlehome-plugin.md) + Unfortunately this integration broke when [Google discontinued conversational actions](https://developers.google.com/assistant/ca-sunset). We'll keep this here for reference, in case it can be revived at some point in the future. + ##### `speech` (Speech) Speech synthesis plugin. When enabled, speaks out the blood glucose values, IOB and alarms. Note you have to set the LANGUAGE setting on the server to get all translated alarms. diff --git a/docs/plugins/googlehome-plugin.md b/docs/plugins/googlehome-plugin.md index fc76117059e..f839c9be557 100644 --- a/docs/plugins/googlehome-plugin.md +++ b/docs/plugins/googlehome-plugin.md @@ -1,3 +1,6 @@ +# The Google Assistant integration is broken! +Unfortunately this integration broke when [Google discontinued conversational actions](https://developers.google.com/assistant/ca-sunset). We'll keep this here for reference, in case it can be revived at some point in the future. + **Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* From 1f56b15fb263547598ab22e3df093b98d49d60db Mon Sep 17 00:00:00 2001 From: gth001 Date: Sun, 15 Oct 2023 22:06:26 -0700 Subject: [PATCH 02/39] This fixes the issue of a "stale" CGM value displaying indefinately. It displays "Internet offline." until internet is restored. This fix addresses the issue that with a lost internet connection, clock view continues to display a stale CGM values forever, with no clue that internet connectivity is lost. This fix shows "Internet offline." for the duration that is it lost, then returns to normal when internet is restored. --- views/clockviews/clock.html | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/views/clockviews/clock.html b/views/clockviews/clock.html index 2893aec3612..ea83f93164d 100644 --- a/views/clockviews/clock.html +++ b/views/clockviews/clock.html @@ -92,6 +92,25 @@ window.addEventListener('click', function() { showClose(); }); + + // This fixes the issue of a "stale" CGM value displaying indefinately. + // It displays "Internet offline." until internet is restored. + function uOffline() { + document.body.innerHTML = + 'Internet offline.' + } + // Return to normal as soon as internet connectivity is restored. + function uOnline() { + location.reload() + } + if(window.addEventListener) { + window.addEventListener('offline', uOffline); + window.addEventListener('online', uOnline); + } else { + document.body.attachEvent('onoffline', uOffline); + document.body.attachEvent('ononline', uOnline); + } + <% } %> <%if (face == 'config') { %> From 5b440b7a9848452fd27e9f23549abe3736cc97fa Mon Sep 17 00:00:00 2001 From: Ben West Date: Wed, 25 Oct 2023 12:55:05 -0700 Subject: [PATCH 03/39] create room for dev post release --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 933c4ed5a1f..5163a7cd578 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "nightscout", - "version": "15.0.2", + "version": "15.0.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ef36cda4604..fc22befa182 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nightscout", - "version": "15.0.2", + "version": "15.0.3", "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", From a37970ce9baec4bf725ae6e1b8041a4006c87413 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Mon, 30 Oct 2023 20:25:58 +0200 Subject: [PATCH 04/39] New translations en.json (Italian) --- translations/it_IT.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/translations/it_IT.json b/translations/it_IT.json index 5e35437aafd..3512f2f32f2 100644 --- a/translations/it_IT.json +++ b/translations/it_IT.json @@ -102,9 +102,9 @@ "Move to the top": "Spostare verso l'alto", "Hidden": "Nascosto", "Hide after use": "Nascondi dopo l'uso", - "Your API secret must be at least 12 characters long": "Il tuo API segreto deve essere lungo almeno 12 caratteri", - "Bad API secret": "API segreto non corretto", - "API secret hash stored": "Hash API segreto memorizzato", + "Your API secret must be at least 12 characters long": "Il tuo \"API secret\" deve essere lungo almeno 12 caratteri", + "Bad API secret": "\"API secret\" non corretto", + "API secret hash stored": "Hash \"API secret\" memorizzato", "Status": "Stato", "Not loaded": "Non caricato", "Food Editor": "Database Alimenti", @@ -115,8 +115,8 @@ "Record": "Registro", "Quick picks": "Scelta rapida", "Show hidden": "Mostra nascosto", - "Your API secret or token": "Il tuo API segreto o token", - "Remember this device. (Do not enable this on public computers.)": "Ricorda questo dispositivo. (Da non abilitare su computer condivisi con altri.)", + "Your API secret or token": "Il tuo token \"API secret\"", + "Remember this device. (Do not enable this on public computers.)": "Ricorda questo dispositivo. (Da non abilitare su computer condivisi con altri)", "Treatments": "Somministrazioni", "Time": "Tempo", "Event Type": "Tipo di evento", @@ -128,7 +128,7 @@ "Event Time": "Ora Evento", "Please verify that the data entered is correct": "Verificare che i dati inseriti siano corretti", "BG": "Glicemie", - "Use BG correction in calculation": "Utilizza la correzione delle Glicemia nel calcolo", + "Use BG correction in calculation": "Utilizza la correzione delle Glicemie nel calcolo", "BG from CGM (autoupdated)": "Glicemie da sensore (aggiornamento automatico)", "BG from meter": "Glicemie da glucometro", "Manual BG": "Inserisci Glicemia", @@ -424,7 +424,7 @@ "admin, school, family, etc": "amministrazione, scuola, famiglia, etc", "Permissions": "Permessi", "Are you sure you want to delete: ": "Sei sicuro di voler eliminare:", - "Each role will have a 1 or more permissions. The * permission is a wildcard, permissions are a hierarchy using : as a separator.": "Ogni ruolo avrà un 1 o più autorizzazioni. Il * il permesso è un jolly, i permessi sono una gerarchia utilizzando : come separatore.", + "Each role will have a 1 or more permissions. The * permission is a wildcard, permissions are a hierarchy using : as a separator.": "Ogni ruolo avrà 1 o più autorizzazioni. Il permesso * è un jolly, i permessi sono una gerarchia utilizzando : come separatore.", "Add new Role": "Aggiungere un nuovo ruolo", "Roles - Groups of People, Devices, etc": "Ruoli - gruppi di persone, dispositivi, etc", "Edit this role": "Modifica questo ruolo", @@ -470,7 +470,7 @@ "Warning": "Avviso", "Info": "Informazioni", "Lowest": "Minore", - "Snoozing high alarm since there is enough IOB": "Addormenta allarme alto poiché non vi è sufficiente Insulina attiva", + "Snoozing high alarm since there is enough IOB": "Silenzia allarme alto poiché non vi è sufficiente Insulina attiva", "Check BG, time to bolus?": "Controllare Glicemia, ora di bolo?", "Notice": "Preavviso", "required info missing": "richiesta informazioni mancanti", @@ -479,9 +479,9 @@ "Expected effect": "Effetto Previsto", "Expected outcome": "Risultato previsto", "Carb Equivalent": "Carb equivalenti", - "Excess insulin equivalent %1U more than needed to reach low target, not accounting for carbs": "L'eccesso d'insulina equivalente %1U più che necessari per raggiungere l'obiettivo basso, non rappresentano i carboidrati.", - "Excess insulin equivalent %1U more than needed to reach low target, MAKE SURE IOB IS COVERED BY CARBS": "L' eccesso d'insulina equivale a %1U in più di quanto necessario per raggiungere l'obiettivo basso, ASSICURARSI CHE L'INSULINA ATTIVA SIA COPERTA DAI CARBOIDRATI", - "%1U reduction needed in active insulin to reach low target, too much basal?": "Riduzione %1U necessaria dell'insulina attiva per raggiungere l'obiettivo basso, troppa basale?", + "Excess insulin equivalent %1U more than needed to reach low target, not accounting for carbs": "Eccesso di insulina equivalente a %1U, più che necessaria per raggiungere l'obiettivo basso, non contando i carboidrati", + "Excess insulin equivalent %1U more than needed to reach low target, MAKE SURE IOB IS COVERED BY CARBS": "Eccesso di insulina equivalente a %1U in più di quanto necessario per raggiungere l'obiettivo basso, ASSICURARSI CHE L'INSULINA ATTIVA SIA COPERTA DAI CARBOIDRATI", + "%1U reduction needed in active insulin to reach low target, too much basal?": "Riduzione %1U necessaria all'insulina attiva per raggiungere l'obiettivo basso, troppa basale?", "basal adjustment out of range, give carbs?": "regolazione basale fuori intervallo, dare carboidrati?", "basal adjustment out of range, give bolus?": "regolazione basale fuori campo, dare bolo?", "above high": "sopra alto", @@ -505,7 +505,7 @@ "IAGE": "Età Insulina", "Insulin reservoir change overdue!": "Cambio serbatoio d'insulina in ritardo!", "Time to change insulin reservoir": "Momento di cambiare serbatoio d'insulina", - "Change insulin reservoir soon": "Cambiare serbatoio d'insulina prossimamente", + "Change insulin reservoir soon": "Cambiare serbatoio d'insulina a breve", "Insulin reservoir age %1 hours": "IAGE - Durata Serbatoio d'insulina %1 ore", "Changed": "Cambiato", "IOB": "Insulina Attiva", @@ -521,7 +521,7 @@ "RETRO": "RETRO", "SAGE": "Età Sensore", "Sensor change/restart overdue!": "Cambio/riavvio del sensore in ritardo!", - "Time to change/restart sensor": "Tempo di cambiare/riavvio sensore", + "Time to change/restart sensor": "Tempo di cambiare/riavviare sensore", "Change/restart sensor soon": "Modifica/riavvio sensore prossimamente", "Sensor age %1 days %2 hours": "Durata Sensore %1 giorni %2 ore", "Sensor Insert": "SAGE - inserimento sensore", From 3ee65655293b7d0d6c79ca9aa35221b96dada198 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Mon, 30 Oct 2023 23:26:15 +0200 Subject: [PATCH 05/39] New translations en.json (Italian) --- translations/it_IT.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/translations/it_IT.json b/translations/it_IT.json index 3512f2f32f2..c01c2ccf687 100644 --- a/translations/it_IT.json +++ b/translations/it_IT.json @@ -659,7 +659,7 @@ "Admin messages in queue": "Messaggi di amministrazione in coda", "Queue empty": "Coda vuota", "There are no admin messages in queue": "Non ci sono messaggi di amministrazione in coda", - "Please sign in using the API_SECRET to see your administration messages": "Effettua il login utilizzando API_SECRET per vedere i messaggi di amministrazione", + "Please sign in using the API_SECRET to see your administration messages": "Effettua il login utilizzando \"API secret\" per vedere i messaggi di amministrazione", "Reads enabled in default permissions": "Letture abilitate nelle autorizzazioni predefinite", "Data reads enabled": "Lettura dati abilitata", "Data writes enabled": "Scrittura dati abilitata", @@ -701,7 +701,7 @@ "minutes": "minuti", "Last recorded %1 %2 ago.": "Ultima registrazione %1 %2 fa.", "Security issue": "Problema di sicurezza", - "Weak API_SECRET detected. Please use a mix of small and CAPITAL letters, numbers and non-alphanumeric characters such as !#%&/ to reduce the risk of unauthorized access. The minimum length of the API_SECRET is 12 characters.": "Rilevata API_SECRET debole. Si prega di utilizzare lettere minuscole e maiuscole, numeri e caratteri non alfanumerici come !#%&/ per ridurre il rischio di accesso non autorizzato. La lunghezza minima dell'API_SECRET è di 12 caratteri.", + "Weak API_SECRET detected. Please use a mix of small and CAPITAL letters, numbers and non-alphanumeric characters such as !#%&/ to reduce the risk of unauthorized access. The minimum length of the API_SECRET is 12 characters.": "Rilevata \"API secret\" debole. Si prega di utilizzare lettere minuscole e maiuscole, numeri e caratteri non alfanumerici come !#%&/ per ridurre il rischio di accesso non autorizzato. La lunghezza minima dell'API_SECRET è di 12 caratteri.", "less than 1": "meno di 1", - "MongoDB password and API_SECRET match. This is a really bad idea. Please change both and do not reuse passwords across the system.": "La password di MongoDB e API_SECRET coincidono. Questa è una cattiva idea. Cambiale entrambe e non riutilizzare le password in tutto il sistema." + "MongoDB password and API_SECRET match. This is a really bad idea. Please change both and do not reuse passwords across the system.": "La password di MongoDB e \"API secret\" coincidono. Questa è una cattiva idea. Cambiale entrambe e non riutilizzare le password in tutto il sistema." } From 776ab041b2240c90b65389afc16a1021e0ee6328 Mon Sep 17 00:00:00 2001 From: antoniomuniz Date: Wed, 14 Feb 2024 20:32:27 +0100 Subject: [PATCH 06/39] Update es_ES.json Add "virtAsstLaunch" --- translations/es_ES.json | 1 + 1 file changed, 1 insertion(+) diff --git a/translations/es_ES.json b/translations/es_ES.json index 580a5695f75..c9072cd4078 100644 --- a/translations/es_ES.json +++ b/translations/es_ES.json @@ -704,4 +704,5 @@ "Weak API_SECRET detected. Please use a mix of small and CAPITAL letters, numbers and non-alphanumeric characters such as !#%&/ to reduce the risk of unauthorized access. The minimum length of the API_SECRET is 12 characters.": "Detectada API_SECRET débil. Por favor, utilice una mezcla de letras en minúscula y en mayúscula, números y caracteres no alfanuméricos como !#%&/ para reducir el riesgo de acceso no autorizado. La longitud mínima de la API_SECRET es de 12 caracteres.", "less than 1": "menos de 1", "MongoDB password and API_SECRET match. This is a really bad idea. Please change both and do not reuse passwords across the system.": "La contraseña de MongoDB y la API_SECRET coinciden. Esto es una muy mala idea. Por favor, cambie ambas contraseñas y no reutilice contraseñas en el sistema." + "virtAsstLaunch":"¿Qué quieres saber de Nightscout?" } From 6e8e161351e38c5a1744a70d16b59495faae7b04 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Mon, 25 Mar 2024 09:46:14 +0200 Subject: [PATCH 07/39] New translations en.json (Turkish) --- translations/tr_TR.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/tr_TR.json b/translations/tr_TR.json index ed33cfa831c..ac357d5ac00 100644 --- a/translations/tr_TR.json +++ b/translations/tr_TR.json @@ -557,8 +557,8 @@ "virtAsstUnknown": "Bu değer şu anda bilinmiyor. Daha fazla ayrıntı için lütfen Nightscout sitenize bakın.", "virtAsstTitleAR2Forecast": "AR2 Tahmini", "virtAsstTitleCurrentBasal": "Geçerli Bazal", - "virtAsstTitleCurrentCOB": "Geçerli AKRB", - "virtAsstTitleCurrentIOB": "Geçerli AİNS", + "virtAsstTitleCurrentCOB": "Mevcut AKRB", + "virtAsstTitleCurrentIOB": "Mevcut AİNS", "virtAsstTitleLaunch": "Nightscout'a hoş geldiniz", "virtAsstTitleLoopForecast": "Döngü Tahmini", "virtAsstTitleLastLoop": "Son Döngü", From d437f5a47834705cea6484871f820d34d3138b86 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Mon, 20 May 2024 11:10:45 +0300 Subject: [PATCH 08/39] New translations en.json (Portuguese) --- translations/pt_PT.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/pt_PT.json b/translations/pt_PT.json index fe86f000c2c..2dabb4e7c0f 100644 --- a/translations/pt_PT.json +++ b/translations/pt_PT.json @@ -226,7 +226,7 @@ "Pump Battery Age": "Idade Bateria da Bomba", "Pump Battery Low Alarm": "Alarme de Bateria Fraca da Bomba", "Pump Battery change overdue!": "Troca de Bateria da Bomba atrasada!", - "When enabled an alarm may sound.": "Quando activado um alarme pode soar.", + "When enabled an alarm may sound.": "Quando ativado um alarme pode soar.", "Urgent High Alarm": "Alarme Muito Alto", "High Alarm": "Alarme Hiper", "Low Alarm": "Alarme Hipo", From 422f30c8778f1cfd0b619176f09bd9896b961cbd Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Thu, 8 Aug 2024 21:08:54 +0000 Subject: [PATCH 09/39] New translations en.json (Russian) --- translations/ru_RU.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/translations/ru_RU.json b/translations/ru_RU.json index c1e9e51ce74..85d0c7a9a11 100644 --- a/translations/ru_RU.json +++ b/translations/ru_RU.json @@ -402,7 +402,7 @@ "Loading profile switch data": "Загрузка данных нового профиля", "Redirecting you to the Profile Editor to create a new profile.": "Переход к редактору профиля для создания нового", "Pump": "Помпа", - "Sensor Age": "Сенсору", + "Sensor Age": "Сенсор проработал", "Insulin Age": "Инсулину", "Temporary target": "Временная цель", "Reason": "Основание", @@ -519,11 +519,11 @@ "%1h ago": "%1 час назад", "%1d ago": "%1d назад", "RETRO": "ПРОШЛОЕ", - "SAGE": "Сенсор работает", + "SAGE": "СЕНСОРУ", "Sensor change/restart overdue!": "Рестарт сенсора пропущен", "Time to change/restart sensor": "Время замены/рестарта сенсора", "Change/restart sensor soon": "Приближается срок замены/рестарта сенсора", - "Sensor age %1 days %2 hours": "Сенсору %1 дн %2 час", + "Sensor age %1 days %2 hours": "Сенсор отработал %1 дн %2 час", "Sensor Insert": "Сенсор установлен", "Sensor Start": "Старт сенсора", "days": "дней", From 05668595fa2acf2dfce2e12c756e0a195787a129 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Sat, 24 Aug 2024 18:52:50 +0300 Subject: [PATCH 10/39] New translations en.json (Arabic) --- translations/ar_SA.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/translations/ar_SA.json b/translations/ar_SA.json index 9f6a5432cb1..653125c800c 100644 --- a/translations/ar_SA.json +++ b/translations/ar_SA.json @@ -329,15 +329,15 @@ "Edit treatment": "تعديل المعالجة", "Duration": "المدة", "Duration in minutes": "المدة بالدقائق", - "Temp Basal": "درجة الحرارة القاعدية", - "Temp Basal Start": "بداية درجة الحرارة القاعدية", - "Temp Basal End": "نهاية درجة الحرارة القاعدية", + "Temp Basal": "الجرعة القاعدية المؤقتة", + "Temp Basal Start": "بداية الجرعة القاعدية المؤقتة", + "Temp Basal End": "نهاية الجرعة القاعدية المؤقتة", "Percent": "بالمائة", "Basal change in %": "التغيير الأساسي بالمائة", "Basal value": "القيمة الأساسية", "Absolute basal value": "القيمة الأساسية المطلقة", "Announcement": "إعلان", - "Loading temp basal data": "تحميل درجة حرارة البيانات القاعدية", + "Loading temp basal data": "جارٍ تحميل بيانات الجرعة القاعدية المؤقتة", "Save current record before changing to new?": "حفظ السجل الحالي قبل التغيير إلى جديد؟", "Profile Switch": "تبديل الملف الشخصي", "Profile": "الملف الشخصي", @@ -413,8 +413,8 @@ "Targets": "الأهداف", "Bolus insulin:": "جرعة أنسولين:", "Base basal insulin:": "الأنسولين القاعدي الأساسي:", - "Positive temp basal insulin:": "الأنسولين القاعدي ذو درجة الحرارة الإيجابية:", - "Negative temp basal insulin:": "الأنسولين القاعدي ذو درجة الحرارة السلبية:", + "Positive temp basal insulin:": "الأنسولين القاعدي المؤقت الإيجابي:", + "Negative temp basal insulin:": "الأنسولين القاعدي المؤقت السلبي:", "Total basal insulin:": "إجمالي الأنسولين القاعدي:", "Total daily insulin:": "إجمالي الأنسولين اليومي:", "Unable to save Role": "تعذر حفظ الدور", @@ -452,10 +452,10 @@ "Current Carb Ratio": "نسبة الكربوهيدرات الحالية", "Basal timezone": "المنطقة الزمنية القاعدية", "Active profile": "ملف نشط", - "Active temp basal": "درجة الحرارة القاعدية النشطة", - "Active temp basal start": "بداية درجة الحرارة القاعدية النشطة", - "Active temp basal duration": "مدة درجة الحرارة القاعدية النشطة", - "Active temp basal remaining": "درجة الحرارة القاعدية النشطة المتبقية", + "Active temp basal": "الجرعة القاعدية المؤقتة النشطة", + "Active temp basal start": "بداية الجرعة القاعدية المؤقتة النشطة", + "Active temp basal duration": "مدة الجرعة القاعدية المؤقتة النشطة", + "Active temp basal remaining": "الوقت المتبقي للجرعة القاعدية المؤقتة النشطة", "Basal profile value": "قيمة الملف القاعدي", "Active combo bolus": "جرعة تركيبة نشطة", "Active combo bolus start": "بداية جرعة تركيبة نشطة", @@ -492,8 +492,8 @@ "or adjust basal": "أو ضبط القاعدية", "Check BG using glucometer before correcting!": "-> تحقق من نسبة السكر في الدم باستخدام مقياس السكر قبل التصحيح!", "Basal reduction to account %1 units:": "التخفيض القاعدي لحساب%1 وحدة:", - "30m temp basal": "30 متر من درجة الحرارة القاعدية", - "1h temp basal": "ساعة واحدة من درجة الحرارة القاعدية", + "30m temp basal": "جرعة قاعدية مؤقتة لمدة 30 دقيقة", + "1h temp basal": "جرعة قاعدية مؤقتة لمدة ساعة واحدة", "Cannula change overdue!": "تغيير قنية متأخر!", "Time to change cannula": "ميعاد تغيير القنية الطبية", "Change cannula soon": "تغيير القنية الطبية قريبا", @@ -578,7 +578,7 @@ "virtAsstTitleDelta": "دلتا جلوكوز الدم", "virtAsstStatus": "%1 و%2 اعتبارًا من %3.", "virtAsstBasal": "%1 القاعدي الحالي هو %2 وحدة في الساعة", - "virtAsstBasalTemp": "%1 درجة الحرارة القاعدية من %2 وحدة في الساعة ستنتهي %3", + "virtAsstBasalTemp": "%1 جرعة قاعدية مؤقتة من %2 وحدة في الساعة ستنتهي %3", "virtAsstIob": "ولديك %1 من الأنسولين النشط.", "virtAsstIobIntent": "لديك %1 من الأنسولين النشط", "virtAsstIobUnits": "%1 وحدة من", @@ -682,7 +682,7 @@ "Previous day": "اليوم السابق", "Next day": "اليوم التالي", "Next": "التالي", - "Temp basal delta": "درجة حرارة دلتا الأساسية", + "Temp basal delta": "تغير الجرعة القاعدية المؤقتة", "Authorized by token": "مصرح به من قبل رمز", "Auth role": "دور المصادقة", "view without token": "عرض بدون رمز", From 3567ae1d9192996b259d432e70d9d06795a8ebec Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Thu, 29 Aug 2024 17:47:55 +0300 Subject: [PATCH 11/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 80 ++++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index eefd243fd67..05db8822396 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -1,44 +1,44 @@ { - "Listening on port": "Listening on port", - "Mo": "Mo", - "Tu": "Tu", - "We": "We", - "Th": "Th", - "Fr": "Fr", - "Sa": "Sa", - "Su": "Su", - "Monday": "Monday", - "Tuesday": "Tuesday", - "Wednesday": "Wednesday", - "Thursday": "Thursday", - "Friday": "Friday", - "Saturday": "Saturday", - "Sunday": "Sunday", - "Category": "Category", - "Subcategory": "Subcategory", - "Name": "Name", - "Today": "Today", - "Last 2 days": "Last 2 days", - "Last 3 days": "Last 3 days", - "Last week": "Last week", - "Last 2 weeks": "Last 2 weeks", - "Last month": "Last month", - "Last 3 months": "Last 3 months", - "From": "From", - "To": "To", - "Notes": "Notes", - "Food": "Food", - "Insulin": "Insulin", - "Carbs": "Carbs", - "Notes contain": "Notes contain", - "Target BG range bottom": "Target BG range bottom", - "top": "top", - "Show": "Show", - "Display": "Display", - "Loading": "Loading", - "Loading profile": "Loading profile", - "Loading status": "Loading status", - "Loading food database": "Loading food database", + "Listening on port": "正在監聽埠口", + "Mo": "周一", + "Tu": "周二", + "We": "周三", + "Th": "周四", + "Fr": "周五", + "Sa": "周六", + "Su": "周日", + "Monday": "星期一", + "Tuesday": "星期二", + "Wednesday": "星期三", + "Thursday": "星期四", + "Friday": "星期五", + "Saturday": "星期六", + "Sunday": "星期日", + "Category": "類別", + "Subcategory": "子類別", + "Name": "名稱", + "Today": "今日", + "Last 2 days": "近兩天", + "Last 3 days": "近三天", + "Last week": "近一周", + "Last 2 weeks": "近兩周", + "Last month": "近一個月", + "Last 3 months": "近三個月", + "From": "從", + "To": "到", + "Notes": "備註", + "Food": "食物", + "Insulin": "胰島素", + "Carbs": "碳水", + "Notes contain": "備註包含", + "Target BG range bottom": "目標血糖範圍下限", + "top": "上", + "Show": "展示", + "Display": "顯示", + "Loading": "載入中", + "Loading profile": "正在載入個人設置", + "Loading status": "正在載入狀態", + "Loading food database": "正在載入食物資料庫", "not displayed": "not displayed", "Loading CGM data of": "Loading CGM data of", "Loading treatments data of": "Loading treatments data of", From b88b505eebb74f482d9202f18975e33fdf1ed542 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Mon, 2 Sep 2024 15:55:25 +0300 Subject: [PATCH 12/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 74 ++++++++++++++++++++--------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index 05db8822396..25dc7ea21c6 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -39,45 +39,45 @@ "Loading profile": "正在載入個人設置", "Loading status": "正在載入狀態", "Loading food database": "正在載入食物資料庫", - "not displayed": "not displayed", - "Loading CGM data of": "Loading CGM data of", - "Loading treatments data of": "Loading treatments data of", - "Processing data of": "Processing data of", - "Portion": "Portion", - "Size": "Size", + "not displayed": "未顯示", + "Loading CGM data of": "載入 CGM 資料來自", + "Loading treatments data of": "載入治療資料來自", + "Processing data of": "處理資料來自", + "Portion": "份量", + "Size": "查看所有治療的總量", "(none)": "(無)", "None": "無", - "": "", - "Result is empty": "Result is empty", - "Day to day": "Day to day", - "Week to week": "Week to week", - "Daily Stats": "Daily Stats", - "Percentile Chart": "Percentile Chart", - "Distribution": "Distribution", - "Hourly stats": "Hourly stats", - "netIOB stats": "netIOB stats", - "temp basals must be rendered to display this report": "temp basals must be rendered to display this report", - "No data available": "No data available", - "Low": "Low", - "In Range": "In Range", - "Period": "Period", - "High": "High", - "Average": "Average", - "Low Quartile": "Low Quartile", - "Upper Quartile": "Upper Quartile", - "Quartile": "Quartile", - "Date": "Date", - "Normal": "Normal", - "Median": "Median", - "Readings": "Readings", - "StDev": "StDev", - "Daily stats report": "Daily stats report", - "Glucose Percentile report": "Glucose Percentile report", - "Glucose distribution": "Glucose distribution", - "days total": "days total", - "Total per day": "Total per day", - "Overall": "Overall", - "Range": "Range", + "": "<無>", + "Result is empty": "結果為空白", + "Day to day": "每日", + "Week to week": "每周", + "Daily Stats": "每日統計", + "Percentile Chart": "百分位數圖表", + "Distribution": "分佈", + "Hourly stats": "每小時統計", + "netIOB stats": "胰島素剩餘量統計", + "temp basals must be rendered to display this report": "必須顯示臨時基礎率才能顯示此報告", + "No data available": "無可用資料", + "Low": "低", + "In Range": "在範圍", + "Period": "期間", + "High": "高", + "Average": "平均", + "Low Quartile": "最低四分之一", + "Upper Quartile": "最高四分之一", + "Quartile": "四分之一", + "Date": "日期", + "Normal": "正常", + "Median": "中位數", + "Readings": "測量值", + "StDev": "標準差", + "Daily stats report": "每日統計報告", + "Glucose Percentile report": "血糖百分位報告", + "Glucose distribution": "血糖分佈", + "days total": "總天數", + "Total per day": "每天總計", + "Overall": "整體", + "Range": "範圍", "% of Readings": "% of Readings", "# of Readings": "# of Readings", "Mean": "Mean", From 00f5aa1a99664b523872747c15e37875f3f8d056 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Mon, 2 Sep 2024 19:49:27 +0300 Subject: [PATCH 13/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index 25dc7ea21c6..2142b5e0685 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -78,21 +78,21 @@ "Total per day": "每天總計", "Overall": "整體", "Range": "範圍", - "% of Readings": "% of Readings", - "# of Readings": "# of Readings", - "Mean": "Mean", - "Standard Deviation": "Standard Deviation", - "Max": "Max", - "Min": "Min", - "A1c estimation*": "A1c estimation*", - "Weekly Success": "Weekly Success", - "There is not sufficient data to run this report. Select more days.": "There is not sufficient data to run this report. Select more days.", + "% of Readings": "測量結果的百分比", + "# of Readings": "測量次數", + "Mean": "平均數", + "Standard Deviation": "標準差", + "Max": "最大值", + "Min": "最小值", + "A1c estimation*": "A1c 估算", + "Weekly Success": "每週成功率", + "There is not sufficient data to run this report. Select more days.": "資料不足,無法生成報告。請選擇更多天數", "Using stored API secret hash": "使用已存儲的API密鑰哈希值", "No API secret hash stored yet. You need to enter API secret.": "沒有已存儲的API密鑰,請輸入API密鑰。", - "Database loaded": "Database loaded", - "Error: Database failed to load": "Error: Database failed to load", - "Error": "Error", - "Create new record": "Create new record", + "Database loaded": "資料庫已載入", + "Error: Database failed to load": "錯誤:資料庫載入失敗", + "Error": "錯誤", + "Create new record": "建立新紀錄", "Save record": "Save record", "Portions": "Portions", "Unit": "Unit", From 698dfdd5de72a40c1cde4ffbd33ec31527b36f76 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Thu, 5 Sep 2024 16:18:01 +0300 Subject: [PATCH 14/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 60 ++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index 2142b5e0685..1228f116fc9 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -93,45 +93,45 @@ "Error: Database failed to load": "錯誤:資料庫載入失敗", "Error": "錯誤", "Create new record": "建立新紀錄", - "Save record": "Save record", - "Portions": "Portions", - "Unit": "Unit", + "Save record": "儲存記錄", + "Portions": "份量", + "Unit": "單位", "GI": "GI", - "Edit record": "Edit record", - "Delete record": "Delete record", - "Move to the top": "Move to the top", - "Hidden": "Hidden", + "Edit record": "編輯記錄", + "Delete record": "刪除記錄", + "Move to the top": "移動到頂端", + "Hidden": "隱藏", "Hide after use": "Hide after use", "Your API secret must be at least 12 characters long": "API密鑰最少需要12個字符", "Bad API secret": "API密鑰錯誤", "API secret hash stored": "API密鑰已存儲", - "Status": "Status", - "Not loaded": "Not loaded", - "Food Editor": "Food Editor", - "Your database": "Your database", - "Filter": "Filter", + "Status": "狀態", + "Not loaded": "未載入", + "Food Editor": "食物編輯器", + "Your database": "你的資料庫", + "Filter": "過濾", "Save": "保存", - "Clear": "Clear", - "Record": "Record", - "Quick picks": "Quick picks", - "Show hidden": "Show hidden", + "Clear": "清除", + "Record": "記錄", + "Quick picks": "精選", + "Show hidden": "顯示隱藏", "Your API secret or token": "Your API secret or token", - "Remember this device. (Do not enable this on public computers.)": "Remember this device. (Do not enable this on public computers.)", - "Treatments": "Treatments", + "Remember this device. (Do not enable this on public computers.)": "記住此裝置(請勿在公用電腦中啟用)。", + "Treatments": "治療", "Time": "時間", - "Event Type": "Event Type", - "Blood Glucose": "Blood Glucose", + "Event Type": "事件類型", + "Blood Glucose": "血糖", "Entered By": "Entered By", - "Delete this treatment?": "Delete this treatment?", - "Carbs Given": "Carbs Given", - "Insulin Given": "Insulin Given", - "Event Time": "Event Time", - "Please verify that the data entered is correct": "Please verify that the data entered is correct", - "BG": "BG", - "Use BG correction in calculation": "Use BG correction in calculation", - "BG from CGM (autoupdated)": "BG from CGM (autoupdated)", - "BG from meter": "BG from meter", - "Manual BG": "Manual BG", + "Delete this treatment?": "刪除治療?", + "Carbs Given": "碳水攝取量", + "Insulin Given": "給予胰島素", + "Event Time": "事件時間", + "Please verify that the data entered is correct": "請驗證輸入的資料是否正確", + "BG": "血糖", + "Use BG correction in calculation": "在計算機中使用血糖校正", + "BG from CGM (autoupdated)": "來自CGM的血糖(自動更新)", + "BG from meter": "來自血糖機的血糖", + "Manual BG": "手動血糖", "Quickpick": "Quickpick", "or": "or", "Add from database": "Add from database", From 86419e8202dbe691da1972e02a17b9178bb0b6c4 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Fri, 6 Sep 2024 19:27:53 +0300 Subject: [PATCH 15/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 172 ++++++++++++++++++++-------------------- 1 file changed, 86 insertions(+), 86 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index 1228f116fc9..c34ab8979c4 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -115,13 +115,13 @@ "Record": "記錄", "Quick picks": "精選", "Show hidden": "顯示隱藏", - "Your API secret or token": "Your API secret or token", + "Your API secret or token": "你的 API secret 或 token", "Remember this device. (Do not enable this on public computers.)": "記住此裝置(請勿在公用電腦中啟用)。", "Treatments": "治療", "Time": "時間", "Event Type": "事件類型", "Blood Glucose": "血糖", - "Entered By": "Entered By", + "Entered By": "輸入者", "Delete this treatment?": "刪除治療?", "Carbs Given": "碳水攝取量", "Insulin Given": "給予胰島素", @@ -132,51 +132,51 @@ "BG from CGM (autoupdated)": "來自CGM的血糖(自動更新)", "BG from meter": "來自血糖機的血糖", "Manual BG": "手動血糖", - "Quickpick": "Quickpick", - "or": "or", - "Add from database": "Add from database", - "Use carbs correction in calculation": "Use carbs correction in calculation", - "Use COB correction in calculation": "Use COB correction in calculation", - "Use IOB in calculation": "Use IOB in calculation", - "Other correction": "Other correction", - "Rounding": "Rounding", - "Enter insulin correction in treatment": "Enter insulin correction in treatment", - "Insulin needed": "Insulin needed", - "Carbs needed": "Carbs needed", - "Carbs needed if Insulin total is negative value": "Carbs needed if Insulin total is negative value", - "Basal rate": "Basal rate", - "60 minutes earlier": "60 minutes earlier", - "45 minutes earlier": "45 minutes earlier", - "30 minutes earlier": "30 minutes earlier", - "20 minutes earlier": "20 minutes earlier", - "15 minutes earlier": "15 minutes earlier", - "Time in minutes": "Time in minutes", - "15 minutes later": "15 minutes later", - "20 minutes later": "20 minutes later", - "30 minutes later": "30 minutes later", - "45 minutes later": "45 minutes later", - "60 minutes later": "60 minutes later", - "Additional Notes, Comments": "Additional Notes, Comments", - "RETRO MODE": "RETRO MODE", - "Now": "Now", - "Other": "Other", - "Submit Form": "Submit Form", + "Quickpick": "快速選擇", + "or": "或", + "Add from database": "從資料庫新增", + "Use carbs correction in calculation": "在計算機中使用碳水修正", + "Use COB correction in calculation": "在計算中使用活性碳水修正", + "Use IOB in calculation": "在計算中機中使用活性胰島素修正", + "Other correction": "其它修正", + "Rounding": "四捨五入", + "Enter insulin correction in treatment": "在治療中輸入胰島素修正", + "Insulin needed": "需要胰島素", + "Carbs needed": "所需碳水化合物", + "Carbs needed if Insulin total is negative value": "當胰島素總量為負值時所需的碳水化合物", + "Basal rate": "基礎率", + "60 minutes earlier": "提早 60 分鐘", + "45 minutes earlier": "提早 45 分鐘", + "30 minutes earlier": "提早 30 分鐘", + "20 minutes earlier": "提早 20 分鐘", + "15 minutes earlier": "提早 15 分鐘", + "Time in minutes": "時間(分鐘)", + "15 minutes later": "15分鐘後", + "20 minutes later": "20分鐘後", + "30 minutes later": "30分鐘後", + "45 minutes later": "45分鐘後", + "60 minutes later": "60分鐘後", + "Additional Notes, Comments": "附加說明、評論", + "RETRO MODE": "復古模式", + "Now": "現在", + "Other": "其它", + "Submit Form": "發送表單", "Profile Editor": "配置文件編輯器", "Reports": "生成報表", - "Add food from your database": "Add food from your database", - "Reload database": "Reload database", - "Add": "Add", + "Add food from your database": "從資料庫新增食物", + "Reload database": "重新載入資料庫", + "Add": "新增", "Unauthorized": "未授權", - "Entering record failed": "Entering record failed", + "Entering record failed": "輸入記錄失敗", "Device authenticated": "設備已認證", "Device not authenticated": "設備未認證", "Authentication status": "認證狀態", "Authenticate": "認證", "Remove": "取消", "Your device is not authenticated yet": "這個設備還未進行認證", - "Sensor": "Sensor", - "Finger": "Finger", - "Manual": "Manual", + "Sensor": "傳感器", + "Finger": "手指", + "Manual": "手動", "Scale": "函數", "Linear": "線性", "Logarithmic": "對數", @@ -196,36 +196,36 @@ "Date format": "時間格式", "12 hours": "12小時制", "24 hours": "24小時制", - "Log a Treatment": "Log a Treatment", - "BG Check": "BG Check", - "Meal Bolus": "Meal Bolus", - "Snack Bolus": "Snack Bolus", - "Correction Bolus": "Correction Bolus", - "Carb Correction": "Carb Correction", - "Note": "Note", - "Question": "Question", - "Exercise": "Exercise", - "Pump Site Change": "Pump Site Change", - "CGM Sensor Start": "CGM Sensor Start", - "CGM Sensor Stop": "CGM Sensor Stop", - "CGM Sensor Insert": "CGM Sensor Insert", - "Sensor Code": "Sensor Code", - "Transmitter ID": "Transmitter ID", - "Dexcom Sensor Start": "Dexcom Sensor Start", - "Dexcom Sensor Change": "Dexcom Sensor Change", - "Insulin Cartridge Change": "Insulin Cartridge Change", - "D.A.D. Alert": "D.A.D. Alert", - "Glucose Reading": "Glucose Reading", - "Measurement Method": "Measurement Method", - "Meter": "Meter", - "Amount in grams": "Amount in grams", - "Amount in units": "Amount in units", - "View all treatments": "View all treatments", + "Log a Treatment": "記錄治療", + "BG Check": "血糖檢查", + "Meal Bolus": "餐前注射", + "Snack Bolus": "點心注射", + "Correction Bolus": "修正注射", + "Carb Correction": "碳水修正", + "Note": "備註", + "Question": "問題", + "Exercise": "運動", + "Pump Site Change": "更換幫浦注射部位", + "CGM Sensor Start": "CGM傳感器開始", + "CGM Sensor Stop": "CGM傳感器停止", + "CGM Sensor Insert": "CGM傳感器植入", + "Sensor Code": "傳感器代碼", + "Transmitter ID": "傳輸器編號", + "Dexcom Sensor Start": "Dexcom 傳感器開始", + "Dexcom Sensor Change": "Dexcom 傳感器更換", + "Insulin Cartridge Change": "更換胰島素匣", + "D.A.D. Alert": "D.A.D. 警報", + "Glucose Reading": "血糖測量結果", + "Measurement Method": "測量方法", + "Meter": "血糖機", + "Amount in grams": "數量(克)", + "Amount in units": "單位數量", + "View all treatments": "查看所有治療", "Enable Alarms": "啟用報警", - "Pump Battery Change": "Pump Battery Change", - "Pump Battery Age": "Pump Battery Age", - "Pump Battery Low Alarm": "Pump Battery Low Alarm", - "Pump Battery change overdue!": "Pump Battery change overdue!", + "Pump Battery Change": "更換幫浦電池", + "Pump Battery Age": "幫浦電池壽命", + "Pump Battery Low Alarm": "幫浦低電量警報", + "Pump Battery change overdue!": "幫浦電池逾期更換!", "When enabled an alarm may sound.": "啟用後可發出聲音報警", "Urgent High Alarm": "血糖過高報警", "High Alarm": "高血糖報警", @@ -248,7 +248,7 @@ "Colors": "彩色", "Colorblind-friendly colors": "色盲患者可辨識的顏色", "Reset, and use defaults": "使用默認值重置", - "Calibrations": "Calibrations", + "Calibrations": "校準", "Alarm Test / Smartphone Enable": "報警測試/智能手機啟用", "Bolus Wizard": "大劑量嚮導", "in the future": "在未來", @@ -264,28 +264,28 @@ "Light": "輕度", "Medium": "中度", "Heavy": "嚴重", - "Treatment type": "Treatment type", - "Raw BG": "Raw BG", - "Device": "Device", - "Noise": "Noise", - "Calibration": "Calibration", - "Show Plugins": "Show Plugins", + "Treatment type": "治療類型", + "Raw BG": "原始血糖", + "Device": "裝置", + "Noise": "干擾", + "Calibration": "校準", + "Show Plugins": "顯示外掛", "About": "關於", - "Value in": "Value in", - "Carb Time": "Carb Time", + "Value in": "數值(以... 計算)", + "Carb Time": "碳水化合物時間", "Language": "語言", - "Add new": "Add new", + "Add new": "增加新的", "g": "克", "ml": "克", "pcs": "件", - "Drag&drop food here": "Drag&drop food here", + "Drag&drop food here": "將食物拖放到此處", "Care Portal": "服務面板", - "Medium/Unknown": "Medium/Unknown", - "IN THE FUTURE": "IN THE FUTURE", - "Order": "Order", - "oldest on top": "oldest on top", - "newest on top": "newest on top", - "All sensor events": "All sensor events", + "Medium/Unknown": "中等/未知", + "IN THE FUTURE": "將來", + "Order": "排序", + "oldest on top": "最舊的在上方", + "newest on top": "最新的在上方", + "All sensor events": "所有傳感器事件", "Remove future items from mongo database": "從數據庫中清除所有未來條目", "Find and remove treatments in the future": "查找並清除所有未來的操作", "This task find and remove treatments in the future.": "此功能查找並清除所有未來的操作。", @@ -300,8 +300,8 @@ "Record %1 removed ...": "%1條記錄已清除", "Error removing record %1": "%1條記錄清除出錯", "Deleting records ...": "正在刪除記錄...", - "%1 records deleted": "%1 records deleted", - "Clean Mongo status database": "Clean Mongo status database", + "%1 records deleted": "%1 記錄已刪除", + "Clean Mongo status database": "清除 Mongo 資料庫狀態", "Delete all documents from devicestatus collection": "Delete all documents from devicestatus collection", "This task removes all documents from devicestatus collection. Useful when uploader battery status is not properly updated.": "This task removes all documents from devicestatus collection. Useful when uploader battery status is not properly updated.", "Delete all documents": "Delete all documents", From 0c9cf90f9541ef233d6af876dc200fd83e7a7116 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Sat, 7 Sep 2024 04:11:51 +0300 Subject: [PATCH 16/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index c34ab8979c4..b92f42572ae 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -101,7 +101,7 @@ "Delete record": "刪除記錄", "Move to the top": "移動到頂端", "Hidden": "隱藏", - "Hide after use": "Hide after use", + "Hide after use": "使用後隱藏", "Your API secret must be at least 12 characters long": "API密鑰最少需要12個字符", "Bad API secret": "API密鑰錯誤", "API secret hash stored": "API密鑰已存儲", @@ -302,17 +302,17 @@ "Deleting records ...": "正在刪除記錄...", "%1 records deleted": "%1 記錄已刪除", "Clean Mongo status database": "清除 Mongo 資料庫狀態", - "Delete all documents from devicestatus collection": "Delete all documents from devicestatus collection", - "This task removes all documents from devicestatus collection. Useful when uploader battery status is not properly updated.": "This task removes all documents from devicestatus collection. Useful when uploader battery status is not properly updated.", - "Delete all documents": "Delete all documents", - "Delete all documents from devicestatus collection?": "Delete all documents from devicestatus collection?", - "Database contains %1 records": "Database contains %1 records", - "All records removed ...": "All records removed ...", + "Delete all documents from devicestatus collection": "刪除裝置狀態資料集中所有文件", + "This task removes all documents from devicestatus collection. Useful when uploader battery status is not properly updated.": "此操作將移除裝置狀態資料集中的所有文件,當上傳設備的電池狀態未正確更新時非常有用。", + "Delete all documents": "刪除所有文件", + "Delete all documents from devicestatus collection?": "刪除裝置狀態資料集中所有文件?", + "Database contains %1 records": "資料庫包含%1筆記錄", + "All records removed ...": "所有記錄已移除", "Delete all documents from devicestatus collection older than 30 days": "Delete all documents from devicestatus collection older than 30 days", - "Number of Days to Keep:": "Number of Days to Keep:", - "This task removes all documents from devicestatus collection that are older than 30 days. Useful when uploader battery status is not properly updated.": "This task removes all documents from devicestatus collection that are older than 30 days. Useful when uploader battery status is not properly updated.", - "Delete old documents from devicestatus collection?": "Delete old documents from devicestatus collection?", - "Clean Mongo entries (glucose entries) database": "Clean Mongo entries (glucose entries) database", + "Number of Days to Keep:": "保留天數:", + "This task removes all documents from devicestatus collection that are older than 30 days. Useful when uploader battery status is not properly updated.": "此操作將移除裝置狀態資料集中超過 30 天的所有文件,當上傳設備的電池狀態未正確更新時非常有用。", + "Delete old documents from devicestatus collection?": "刪除裝置狀態資料集中的舊文件?", + "Clean Mongo entries (glucose entries) database": "清理 Mongo 資料庫中的血糖紀錄", "Delete all documents from entries collection older than 180 days": "Delete all documents from entries collection older than 180 days", "This task removes all documents from entries collection that are older than 180 days. Useful when uploader battery status is not properly updated.": "This task removes all documents from entries collection that are older than 180 days. Useful when uploader battery status is not properly updated.", "Delete old documents": "Delete old documents", From 198b857bad6d193116a1ea360169c10dee902b13 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Sat, 7 Sep 2024 07:29:21 +0300 Subject: [PATCH 17/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index b92f42572ae..792210b4aed 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -313,13 +313,13 @@ "This task removes all documents from devicestatus collection that are older than 30 days. Useful when uploader battery status is not properly updated.": "此操作將移除裝置狀態資料集中超過 30 天的所有文件,當上傳設備的電池狀態未正確更新時非常有用。", "Delete old documents from devicestatus collection?": "刪除裝置狀態資料集中的舊文件?", "Clean Mongo entries (glucose entries) database": "清理 Mongo 資料庫中的血糖紀錄", - "Delete all documents from entries collection older than 180 days": "Delete all documents from entries collection older than 180 days", - "This task removes all documents from entries collection that are older than 180 days. Useful when uploader battery status is not properly updated.": "This task removes all documents from entries collection that are older than 180 days. Useful when uploader battery status is not properly updated.", - "Delete old documents": "Delete old documents", - "Delete old documents from entries collection?": "Delete old documents from entries collection?", - "%1 is not a valid number": "%1 is not a valid number", - "%1 is not a valid number - must be more than 2": "%1 is not a valid number - must be more than 2", - "Clean Mongo treatments database": "Clean Mongo treatments database", + "Delete all documents from entries collection older than 180 days": "刪除紀錄資料集中超過 180 天的所有文件", + "This task removes all documents from entries collection that are older than 180 days. Useful when uploader battery status is not properly updated.": "此操作將移除紀錄資料集中超過 180 天的所有文件,當上傳設備的電池狀態未正確更新時非常有用。", + "Delete old documents": "刪除舊文件", + "Delete old documents from entries collection?": "刪除紀錄資料集中的舊文件?", + "%1 is not a valid number": "%1 不是有效的數字", + "%1 is not a valid number - must be more than 2": "%1 不是有效的數字 - 必須大於 2", + "Clean Mongo treatments database": "清理 Mongo 資料庫中的治療記錄", "Delete all documents from treatments collection older than 180 days": "Delete all documents from treatments collection older than 180 days", "This task removes all documents from treatments collection that are older than 180 days. Useful when uploader battery status is not properly updated.": "This task removes all documents from treatments collection that are older than 180 days. Useful when uploader battery status is not properly updated.", "Delete old documents from treatments collection?": "Delete old documents from treatments collection?", From dc226957b6687ad94da3b616c8f1ffbd8f415353 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Sat, 7 Sep 2024 17:10:32 +0300 Subject: [PATCH 18/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index 792210b4aed..718ba86a711 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -320,8 +320,8 @@ "%1 is not a valid number": "%1 不是有效的數字", "%1 is not a valid number - must be more than 2": "%1 不是有效的數字 - 必須大於 2", "Clean Mongo treatments database": "清理 Mongo 資料庫中的治療記錄", - "Delete all documents from treatments collection older than 180 days": "Delete all documents from treatments collection older than 180 days", - "This task removes all documents from treatments collection that are older than 180 days. Useful when uploader battery status is not properly updated.": "This task removes all documents from treatments collection that are older than 180 days. Useful when uploader battery status is not properly updated.", + "Delete all documents from treatments collection older than 180 days": "刪除紀錄資料集中超過 180 天的所有文件", + "This task removes all documents from treatments collection that are older than 180 days. Useful when uploader battery status is not properly updated.": "此操作將移除裝置狀態資料集中的所有文件,當上傳設備的電池狀態未正確更新時非常有用。", "Delete old documents from treatments collection?": "Delete old documents from treatments collection?", "Admin Tools": "管理工具", "Nightscout reporting": "Nightscout reporting", From 14509e46a1d34121ae8be9b755c2e88e0f56f4d9 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Mon, 9 Sep 2024 03:14:44 +0300 Subject: [PATCH 19/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 56 ++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index 718ba86a711..4c7eb7e9f21 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -322,35 +322,35 @@ "Clean Mongo treatments database": "清理 Mongo 資料庫中的治療記錄", "Delete all documents from treatments collection older than 180 days": "刪除紀錄資料集中超過 180 天的所有文件", "This task removes all documents from treatments collection that are older than 180 days. Useful when uploader battery status is not properly updated.": "此操作將移除裝置狀態資料集中的所有文件,當上傳設備的電池狀態未正確更新時非常有用。", - "Delete old documents from treatments collection?": "Delete old documents from treatments collection?", + "Delete old documents from treatments collection?": "是否要從治療資料集中刪除舊文件?", "Admin Tools": "管理工具", - "Nightscout reporting": "Nightscout reporting", - "Cancel": "Cancel", - "Edit treatment": "Edit treatment", - "Duration": "Duration", - "Duration in minutes": "Duration in minutes", - "Temp Basal": "Temp Basal", - "Temp Basal Start": "Temp Basal Start", - "Temp Basal End": "Temp Basal End", - "Percent": "Percent", - "Basal change in %": "Basal change in %", - "Basal value": "Basal value", - "Absolute basal value": "Absolute basal value", - "Announcement": "Announcement", - "Loading temp basal data": "Loading temp basal data", - "Save current record before changing to new?": "Save current record before changing to new?", - "Profile Switch": "Profile Switch", - "Profile": "Profile", - "General profile settings": "General profile settings", - "Title": "Title", - "Database records": "Database records", - "Add new record": "Add new record", - "Remove this record": "Remove this record", - "Clone this record to new": "Clone this record to new", - "Record valid from": "Record valid from", - "Stored profiles": "Stored profiles", - "Timezone": "Timezone", - "Duration of Insulin Activity (DIA)": "Duration of Insulin Activity (DIA)", + "Nightscout reporting": "Nightscout 報告生成", + "Cancel": "取消", + "Edit treatment": "編輯治療", + "Duration": "持續時間", + "Duration in minutes": "持續時間(分鐘)", + "Temp Basal": "臨時基礎", + "Temp Basal Start": "臨時基礎開始", + "Temp Basal End": "臨時基礎結束", + "Percent": "百分比", + "Basal change in %": "基礎率變更百分比", + "Basal value": "基礎率", + "Absolute basal value": "絕對基礎值", + "Announcement": "公告", + "Loading temp basal data": "載入臨時基礎資料", + "Save current record before changing to new?": "在切換到新紀錄前,是否要儲存當前紀錄?", + "Profile Switch": "個人設置切換", + "Profile": "個人設置", + "General profile settings": "一般個人設置設定", + "Title": "標題", + "Database records": "資料庫記錄", + "Add new record": "增加新記錄", + "Remove this record": "移除此記錄", + "Clone this record to new": "複製此紀錄為新紀錄", + "Record valid from": "紀錄有效起始時間", + "Stored profiles": "已儲存的個人設定", + "Timezone": "時區", + "Duration of Insulin Activity (DIA)": "胰島素作用時間 (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.": "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.", "Insulin to carb ratio (I:C)": "Insulin to carb ratio (I:C)", "Hours:": "Hours:", From 2b68a0b7b8a5dcdd636a8109c212a97a13b78bce Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Mon, 9 Sep 2024 06:20:52 +0300 Subject: [PATCH 20/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index 4c7eb7e9f21..bcc61f95856 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -351,20 +351,20 @@ "Stored profiles": "已儲存的個人設定", "Timezone": "時區", "Duration of Insulin Activity (DIA)": "胰島素作用時間 (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.": "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.", - "Insulin to carb ratio (I:C)": "Insulin to carb ratio (I:C)", - "Hours:": "Hours:", - "hours": "hours", - "g/hour": "g/hour", - "g carbs per U insulin. The ratio of how many grams of carbohydrates are offset by each U of insulin.": "g carbs per U insulin. The ratio of how many grams of carbohydrates are offset by each U of insulin.", - "Insulin Sensitivity Factor (ISF)": "Insulin Sensitivity Factor (ISF)", - "mg/dL or mmol/L per U insulin. The ratio of how much BG changes with each U of corrective insulin.": "mg/dL or mmol/L per U insulin. The ratio of how much BG changes with each U of corrective insulin.", - "Carbs activity / absorption rate": "Carbs activity / absorption rate", - "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).": "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).", - "Basal rates [unit/hour]": "Basal rates [unit/hour]", - "Target BG range [mg/dL,mmol/L]": "Target BG range [mg/dL,mmol/L]", - "Start of record validity": "Start of record validity", - "Icicle": "Icicle", + "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.": "表示胰島素發揮作用的典型持續時間,因患者和胰島素類型而異。對於大多數使用胰島素幫浦的患者來說,通常為 3-4 小時。有時也稱為胰島素的作用時間或壽命。", + "Insulin to carb ratio (I:C)": "胰島素與碳水化合物比例 (I:C)", + "Hours:": "小時:", + "hours": "小時", + "g/hour": "g/小時", + "g carbs per U insulin. The ratio of how many grams of carbohydrates are offset by each U of insulin.": "每單位 (U) 胰島素可抵消多少克碳水化合物 (g carbs)。這是每單位胰島素所能處理的碳水化合物克數的比例。", + "Insulin Sensitivity Factor (ISF)": "胰島素敏感因子 (ISF)", + "mg/dL or mmol/L per U insulin. The ratio of how much BG changes with each U of corrective insulin.": "每單位 (U) 糖尿病矯正胰島素使血糖變化的比例,單位為 mg/dL 或 mmol/L。這表示每單位矯正用胰島素會使血糖(BG)變化的數值。", + "Carbs activity / absorption rate": "碳水化合物活動/吸收速率", + "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).": "每單位時間的碳水化合物克數。這表示每單位時間內碳水化合物 (COB) 的變化量,以及在這段時間內應發揮作用的碳水化合物量。碳水化合物的吸收/活動曲線不像胰島素的作用那麼容易理解,但可以近似地用一個初始延遲,隨後是恆定的吸收速率 (g/hr) 來估算。", + "Basal rates [unit/hour]": "基礎率 [單位/小時]", + "Target BG range [mg/dL,mmol/L]": "目標血糖範圍 [mg/dL,mmol/L]", + "Start of record validity": "紀錄有效期的開始時間", + "Icicle": "倒三角型(冰柱)", "Render Basal": "使用基礎率", "Profile used": "Profile used", "Calculation is in target range.": "Calculation is in target range.", From c45586766714983a40997f2f89551923d9b879be Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Sun, 15 Sep 2024 16:29:50 +0300 Subject: [PATCH 21/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index bcc61f95856..375a9a57812 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -36,7 +36,7 @@ "Show": "展示", "Display": "顯示", "Loading": "載入中", - "Loading profile": "正在載入個人設置", + "Loading profile": "正在載入設定檔", "Loading status": "正在載入狀態", "Loading food database": "正在載入食物資料庫", "not displayed": "未顯示", @@ -339,9 +339,9 @@ "Announcement": "公告", "Loading temp basal data": "載入臨時基礎資料", "Save current record before changing to new?": "在切換到新紀錄前,是否要儲存當前紀錄?", - "Profile Switch": "個人設置切換", - "Profile": "個人設置", - "General profile settings": "一般個人設置設定", + "Profile Switch": "設定檔切換", + "Profile": "設定檔", + "General profile settings": "一般設定檔設定", "Title": "標題", "Database records": "資料庫記錄", "Add new record": "增加新記錄", @@ -366,20 +366,20 @@ "Start of record validity": "紀錄有效期的開始時間", "Icicle": "倒三角型(冰柱)", "Render Basal": "使用基礎率", - "Profile used": "Profile used", - "Calculation is in target range.": "Calculation is in target range.", - "Loading profile records ...": "Loading profile records ...", - "Values loaded.": "Values loaded.", - "Default values used.": "Default values used.", - "Error. Default values used.": "Error. Default values used.", - "Time ranges of target_low and target_high don't match. Values are restored to defaults.": "Time ranges of target_low and target_high don't match. Values are restored to defaults.", - "Valid from:": "Valid from:", - "Save current record before switching to new?": "Save current record before switching to new?", - "Add new interval before": "Add new interval before", - "Delete interval": "Delete interval", + "Profile used": "設定檔已使用", + "Calculation is in target range.": "計算結果在目標範圍內。", + "Loading profile records ...": "載入設定檔紀錄中", + "Values loaded.": "數值已載入。", + "Default values used.": "已使用預設值。", + "Error. Default values used.": "錯誤,預設值已使用。", + "Time ranges of target_low and target_high don't match. Values are restored to defaults.": "目標低值和目標高值的時間範圍不匹配,數值已恢復為預設值。", + "Valid from:": "有效期間開始於:", + "Save current record before switching to new?": "在切換到新的記錄前是否儲存當前記錄?", + "Add new interval before": "在之前新增新區間", + "Delete interval": "刪除區間", "I:C": "I:C", "ISF": "ISF", - "Combo Bolus": "Combo Bolus", + "Combo Bolus": "組合注射", "Difference": "Difference", "New time": "New time", "Edit Mode": "編輯模式", From 9edf90a35a99c1899c59af3252affeb826f00add Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Sun, 15 Sep 2024 19:44:03 +0300 Subject: [PATCH 22/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 164 ++++++++++++++++++++-------------------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index 375a9a57812..e84861c9ecc 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -377,84 +377,84 @@ "Save current record before switching to new?": "在切換到新的記錄前是否儲存當前記錄?", "Add new interval before": "在之前新增新區間", "Delete interval": "刪除區間", - "I:C": "I:C", - "ISF": "ISF", + "I:C": "胰島素對碳水化合物比率(I:C)", + "ISF": "胰島素敏感因子(ISF)", "Combo Bolus": "組合注射", - "Difference": "Difference", - "New time": "New time", + "Difference": "差異", + "New time": "新時間", "Edit Mode": "編輯模式", "When enabled icon to start edit mode is visible": "啟用後開始編輯模式圖標可見", - "Operation": "Operation", - "Move": "Move", - "Delete": "Delete", - "Move insulin": "Move insulin", - "Move carbs": "Move carbs", - "Remove insulin": "Remove insulin", - "Remove carbs": "Remove carbs", - "Change treatment time to %1 ?": "Change treatment time to %1 ?", - "Change carbs time to %1 ?": "Change carbs time to %1 ?", - "Change insulin time to %1 ?": "Change insulin time to %1 ?", - "Remove treatment ?": "Remove treatment ?", - "Remove insulin from treatment ?": "Remove insulin from treatment ?", - "Remove carbs from treatment ?": "Remove carbs from treatment ?", - "Rendering": "Rendering", - "Loading OpenAPS data of": "Loading OpenAPS data of", - "Loading profile switch data": "Loading profile switch data", - "Redirecting you to the Profile Editor to create a new profile.": "Redirecting you to the Profile Editor to create a new profile.", - "Pump": "Pump", + "Operation": "操作", + "Move": "移動", + "Delete": "刪除", + "Move insulin": "移動胰島素", + "Move carbs": "移動碳水化合物", + "Remove insulin": "移除胰島素", + "Remove carbs": "移除碳水化合物", + "Change treatment time to %1 ?": "是否更改治療時間為 %1?", + "Change carbs time to %1 ?": "是否更改碳水化合物時間為 %1?", + "Change insulin time to %1 ?": "是否更改胰島素時間為 %1?", + "Remove treatment ?": "移除治療", + "Remove insulin from treatment ?": "從治療中移除胰島素", + "Remove carbs from treatment ?": "從治療中移除碳水化合物", + "Rendering": "呈現", + "Loading OpenAPS data of": "正在載入 OpenAPS 資料", + "Loading profile switch data": "正在載入設定檔切換資料", + "Redirecting you to the Profile Editor to create a new profile.": "正在將你重導至設定檔編輯器以建立新的設定檔。", + "Pump": "幫浦", "Sensor Age": "探頭使用時間(SAGE)", "Insulin Age": "胰島素使用時間(IAGE)", - "Temporary target": "Temporary target", - "Reason": "Reason", - "Eating soon": "Eating soon", - "Top": "Top", - "Bottom": "Bottom", - "Activity": "Activity", - "Targets": "Targets", - "Bolus insulin:": "Bolus insulin:", - "Base basal insulin:": "Base basal insulin:", - "Positive temp basal insulin:": "Positive temp basal insulin:", - "Negative temp basal insulin:": "Negative temp basal insulin:", - "Total basal insulin:": "Total basal insulin:", - "Total daily insulin:": "Total daily insulin:", - "Unable to save Role": "Unable to save Role", - "Unable to delete Role": "Unable to delete Role", - "Database contains %1 roles": "Database contains %1 roles", - "Edit Role": "Edit Role", + "Temporary target": "臨時目標", + "Reason": "原因", + "Eating soon": "即將用餐", + "Top": "高", + "Bottom": "低", + "Activity": "活動", + "Targets": "目標", + "Bolus insulin:": "注射胰島素:", + "Base basal insulin:": "基礎胰島素:", + "Positive temp basal insulin:": "增加的臨時基礎胰島素:", + "Negative temp basal insulin:": "減少的臨時基礎胰島素:", + "Total basal insulin:": "基礎胰島素總量:", + "Total daily insulin:": "每日胰島素總量:", + "Unable to save Role": "無法儲存角色", + "Unable to delete Role": "無法刪除角色", + "Database contains %1 roles": "資料庫包含 %1 個角色", + "Edit Role": "編譯角色", "admin, school, family, etc": "admin, school, family, etc", - "Permissions": "Permissions", - "Are you sure you want to delete: ": "Are you sure you want to delete: ", - "Each role will have a 1 or more permissions. The * permission is a wildcard, permissions are a hierarchy using : as a separator.": "Each role will have a 1 or more permissions. The * permission is a wildcard, permissions are a hierarchy using : as a separator.", - "Add new Role": "Add new Role", - "Roles - Groups of People, Devices, etc": "Roles - Groups of People, Devices, etc", - "Edit this role": "Edit this role", + "Permissions": "權限", + "Are you sure you want to delete: ": "你確定想要刪除: ", + "Each role will have a 1 or more permissions. The * permission is a wildcard, permissions are a hierarchy using : as a separator.": "每個角色將擁有一個或多個權限。* 權限是一個萬用字元,權限是使用: 作為分隔符號的階層結構。", + "Add new Role": "新增角色", + "Roles - Groups of People, Devices, etc": "角色 - 群組,例如人員、設備等", + "Edit this role": "編譯此角色", "Admin authorized": "已授權", - "Subjects - People, Devices, etc": "Subjects - People, Devices, etc", - "Each subject will have a unique access token and 1 or more roles. Click on the access token to open a new view with the selected subject, this secret link can then be shared.": "Each subject will have a unique access token and 1 or more roles. Click on the access token to open a new view with the selected subject, this secret link can then be shared.", - "Add new Subject": "Add new Subject", - "Unable to save Subject": "Unable to save Subject", - "Unable to delete Subject": "Unable to delete Subject", - "Database contains %1 subjects": "Database contains %1 subjects", - "Edit Subject": "Edit Subject", - "person, device, etc": "person, device, etc", - "role1, role2": "role1, role2", - "Edit this subject": "Edit this subject", - "Delete this subject": "Delete this subject", - "Roles": "Roles", - "Access Token": "Access Token", - "hour ago": "hour ago", - "hours ago": "hours ago", + "Subjects - People, Devices, etc": "主體 - 例如人員、設備等", + "Each subject will have a unique access token and 1 or more roles. Click on the access token to open a new view with the selected subject, this secret link can then be shared.": "每個主體將擁有一個唯一的存取憑證以及一個或多個角色。點擊存取憑證即可開啟與所選主體相關的新視圖,這個秘密連結可以分享給其他人。", + "Add new Subject": "新增主題", + "Unable to save Subject": "無法儲存主題", + "Unable to delete Subject": "無法刪除主題", + "Database contains %1 subjects": "資料庫包含 %1 主題", + "Edit Subject": "編譯主題", + "person, device, etc": "人員、設備等", + "role1, role2": "角色1,角色2", + "Edit this subject": "編輯此主題", + "Delete this subject": "刪除此主題", + "Roles": "角色", + "Access Token": "存取金鑰(Token)", + "hour ago": "一小時前", + "hours ago": "幾小時前", "Silence for %1 minutes": "靜音%1分鐘", - "Check BG": "Check BG", + "Check BG": "檢查血糖", "BASAL": "基礎率", - "Current basal": "Current basal", - "Sensitivity": "Sensitivity", - "Current Carb Ratio": "Current Carb Ratio", - "Basal timezone": "Basal timezone", - "Active profile": "Active profile", - "Active temp basal": "Active temp basal", - "Active temp basal start": "Active temp basal start", - "Active temp basal duration": "Active temp basal duration", + "Current basal": "目前基礎胰島素", + "Sensitivity": "敏感度", + "Current Carb Ratio": "目前碳水化合物比例", + "Basal timezone": "基礎時區", + "Active profile": "啟動中的設定檔", + "Active temp basal": "啟動中的臨時基礎", + "Active temp basal start": "啟動臨時基礎胰島素", + "Active temp basal duration": "臨時基礎胰島素的持續時間", "Active temp basal remaining": "Active temp basal remaining", "Basal profile value": "Basal profile value", "Active combo bolus": "Active combo bolus", @@ -480,21 +480,21 @@ "Expected outcome": "Expected outcome", "Carb Equivalent": "Carb Equivalent", "Excess insulin equivalent %1U more than needed to reach low target, not accounting for carbs": "Excess insulin equivalent %1U more than needed to reach low target, not accounting for carbs", - "Excess insulin equivalent %1U more than needed to reach low target, MAKE SURE IOB IS COVERED BY CARBS": "Excess insulin equivalent %1U more than needed to reach low target, MAKE SURE IOB IS COVERED BY CARBS", - "%1U reduction needed in active insulin to reach low target, too much basal?": "%1U reduction needed in active insulin to reach low target, too much basal?", - "basal adjustment out of range, give carbs?": "basal adjustment out of range, give carbs?", - "basal adjustment out of range, give bolus?": "basal adjustment out of range, give bolus?", + "Excess insulin equivalent %1U more than needed to reach low target, MAKE SURE IOB IS COVERED BY CARBS": "過多的胰島素,相當於多出 %1U,超過達到低目標所需的量,請確保活性胰島素(IOB)已被碳水化合物覆蓋。", + "%1U reduction needed in active insulin to reach low target, too much basal?": "需要減少 %1U 的活性胰島素不會低於最低目標,基礎胰島素是否過多?", + "basal adjustment out of range, give carbs?": "基礎胰島素調整超出範圍,是否需要補充碳水化合物?", + "basal adjustment out of range, give bolus?": "基礎胰島素調整超出範圍,是否需要進行胰島素注射?", "above high": "血糖過高", "below low": "血糖過低", - "Projected BG %1 target": "Projected BG %1 target", - "aiming at": "aiming at", - "Bolus %1 units": "Bolus %1 units", - "or adjust basal": "or adjust basal", - "Check BG using glucometer before correcting!": "Check BG using glucometer before correcting!", - "Basal reduction to account %1 units:": "Basal reduction to account %1 units:", - "30m temp basal": "30m temp basal", - "1h temp basal": "1h temp basal", - "Cannula change overdue!": "Cannula change overdue!", + "Projected BG %1 target": "預計血糖 %1 目標", + "aiming at": "目標是", + "Bolus %1 units": "注射 %1 單位", + "or adjust basal": "或調整基礎胰島素", + "Check BG using glucometer before correcting!": "在進行矯正前,請使用血糖機測量血糖!", + "Basal reduction to account %1 units:": "基礎胰島素減少量計入 %1 單位:", + "30m temp basal": "30 分鐘臨時基礎胰島素", + "1h temp basal": "1 小時臨時基礎胰島素", + "Cannula change overdue!": "更換導管已超過預定時間", "Time to change cannula": "Time to change cannula", "Change cannula soon": "Change cannula soon", "Cannula age %1 hours": "Cannula age %1 hours", From 6f04c9e13a8af28e5541e20fc59705f946b72f36 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Tue, 17 Sep 2024 16:28:47 +0300 Subject: [PATCH 23/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index e84861c9ecc..55a0f0428bc 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -96,7 +96,7 @@ "Save record": "儲存記錄", "Portions": "份量", "Unit": "單位", - "GI": "GI", + "GI": "血糖指數", "Edit record": "編輯記錄", "Delete record": "刪除記錄", "Move to the top": "移動到頂端", @@ -455,7 +455,7 @@ "Active temp basal": "啟動中的臨時基礎", "Active temp basal start": "啟動臨時基礎胰島素", "Active temp basal duration": "臨時基礎胰島素的持續時間", - "Active temp basal remaining": "Active temp basal remaining", + "Active temp basal remaining": "剩餘的活動臨時基礎速率", "Basal profile value": "Basal profile value", "Active combo bolus": "Active combo bolus", "Active combo bolus start": "Active combo bolus start", From b3ea91a222e68ce8efd8de809193e1cb46bb0f49 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Tue, 17 Sep 2024 19:35:24 +0300 Subject: [PATCH 24/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 66 ++++++++++++++++++++--------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index 55a0f0428bc..0f7022cecae 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -456,11 +456,11 @@ "Active temp basal start": "啟動臨時基礎胰島素", "Active temp basal duration": "臨時基礎胰島素的持續時間", "Active temp basal remaining": "剩餘的活動臨時基礎速率", - "Basal profile value": "Basal profile value", - "Active combo bolus": "Active combo bolus", - "Active combo bolus start": "Active combo bolus start", - "Active combo bolus duration": "Active combo bolus duration", - "Active combo bolus remaining": "Active combo bolus remaining", + "Basal profile value": "基礎設定值", + "Active combo bolus": "活動中的組合式追加胰島素", + "Active combo bolus start": "活動中的組合式追加胰島素開始", + "Active combo bolus duration": "活動中的組合式追加胰島素持續時間", + "Active combo bolus remaining": "活動中的組合式追加胰島素剩餘量", "BG Delta": "血糖增量", "Elapsed Time": "所需時間", "Absolute Delta": "絕對增量", @@ -470,16 +470,16 @@ "Warning": "警告", "Info": "資訊", "Lowest": "血糖極低", - "Snoozing high alarm since there is enough IOB": "Snoozing high alarm since there is enough IOB", - "Check BG, time to bolus?": "Check BG, time to bolus?", - "Notice": "Notice", - "required info missing": "required info missing", - "Insulin on Board": "Insulin on Board", - "Current target": "Current target", - "Expected effect": "Expected effect", - "Expected outcome": "Expected outcome", - "Carb Equivalent": "Carb Equivalent", - "Excess insulin equivalent %1U more than needed to reach low target, not accounting for carbs": "Excess insulin equivalent %1U more than needed to reach low target, not accounting for carbs", + "Snoozing high alarm since there is enough IOB": "由於有足夠的IOB,已暫停高血糖警報", + "Check BG, time to bolus?": "檢查血糖,是否需要進行胰島素追加?", + "Notice": "注意", + "required info missing": "缺少必要資訊", + "Insulin on Board": "活性胰島素", + "Current target": "目前目標", + "Expected effect": "預期效果", + "Expected outcome": "預期結果", + "Carb Equivalent": "碳水等效量", + "Excess insulin equivalent %1U more than needed to reach low target, not accounting for carbs": "過量胰島素等效量,比達到低目標所需多 %1 單位,此計算未包括碳水化合物的影響", "Excess insulin equivalent %1U more than needed to reach low target, MAKE SURE IOB IS COVERED BY CARBS": "過多的胰島素,相當於多出 %1U,超過達到低目標所需的量,請確保活性胰島素(IOB)已被碳水化合物覆蓋。", "%1U reduction needed in active insulin to reach low target, too much basal?": "需要減少 %1U 的活性胰島素不會低於最低目標,基礎胰島素是否過多?", "basal adjustment out of range, give carbs?": "基礎胰島素調整超出範圍,是否需要補充碳水化合物?", @@ -495,29 +495,29 @@ "30m temp basal": "30 分鐘臨時基礎胰島素", "1h temp basal": "1 小時臨時基礎胰島素", "Cannula change overdue!": "更換導管已超過預定時間", - "Time to change cannula": "Time to change cannula", - "Change cannula soon": "Change cannula soon", - "Cannula age %1 hours": "Cannula age %1 hours", + "Time to change cannula": "應更換導管", + "Change cannula soon": "請盡快更換導管", + "Cannula age %1 hours": "導管已使用 %1 小時", "Inserted": "已植入", "CAGE": "管路", - "COB": "COB", - "Last Carbs": "Last Carbs", + "COB": "活性碳水化合物", + "Last Carbs": "最後碳水", "IAGE": "胰島素", - "Insulin reservoir change overdue!": "Insulin reservoir change overdue!", - "Time to change insulin reservoir": "Time to change insulin reservoir", - "Change insulin reservoir soon": "Change insulin reservoir soon", - "Insulin reservoir age %1 hours": "Insulin reservoir age %1 hours", + "Insulin reservoir change overdue!": "胰島素儲存器更換逾期!", + "Time to change insulin reservoir": "該更換胰島素儲存器", + "Change insulin reservoir soon": "請盡快更換胰島素儲存器", + "Insulin reservoir age %1 hours": "胰島素儲存器已使用 %1 小時", "Changed": "Changed", - "IOB": "IOB", - "Careportal IOB": "Careportal IOB", - "Last Bolus": "Last Bolus", - "Basal IOB": "Basal IOB", + "IOB": "活性胰島素", + "Careportal IOB": "護理入口", + "Last Bolus": "最後注射", + "Basal IOB": "基礎活性胰島素", "Source": "Source", - "Stale data, check rig?": "Stale data, check rig?", - "Last received:": "Last received:", - "%1m ago": "%1m ago", - "%1h ago": "%1h ago", - "%1d ago": "%1d ago", + "Stale data, check rig?": "資料過時,請檢查裝置?", + "Last received:": "最後接收:", + "%1m ago": "%1 分鐘前", + "%1h ago": "%1 小時前", + "%1d ago": "%1 天前", "RETRO": "RETRO", "SAGE": "探頭", "Sensor change/restart overdue!": "Sensor change/restart overdue!", From 475c5519bf60e7608a030e0689c15c96c8439ffd Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Thu, 19 Sep 2024 16:41:19 +0300 Subject: [PATCH 25/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 94 ++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index 0f7022cecae..be20ef0397f 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -507,12 +507,12 @@ "Time to change insulin reservoir": "該更換胰島素儲存器", "Change insulin reservoir soon": "請盡快更換胰島素儲存器", "Insulin reservoir age %1 hours": "胰島素儲存器已使用 %1 小時", - "Changed": "Changed", + "Changed": "已更改", "IOB": "活性胰島素", "Careportal IOB": "護理入口", "Last Bolus": "最後注射", "Basal IOB": "基礎活性胰島素", - "Source": "Source", + "Source": "來源", "Stale data, check rig?": "資料過時,請檢查裝置?", "Last received:": "最後接收:", "%1m ago": "%1 分鐘前", @@ -520,51 +520,51 @@ "%1d ago": "%1 天前", "RETRO": "RETRO", "SAGE": "探頭", - "Sensor change/restart overdue!": "Sensor change/restart overdue!", - "Time to change/restart sensor": "Time to change/restart sensor", - "Change/restart sensor soon": "Change/restart sensor soon", - "Sensor age %1 days %2 hours": "Sensor age %1 days %2 hours", - "Sensor Insert": "Sensor Insert", - "Sensor Start": "Sensor Start", - "days": "days", - "Insulin distribution": "Insulin distribution", - "To see this report, press SHOW while in this view": "To see this report, press SHOW while in this view", - "AR2 Forecast": "AR2 Forecast", - "OpenAPS Forecasts": "OpenAPS Forecasts", - "Temporary Target": "Temporary Target", - "Temporary Target Cancel": "Temporary Target Cancel", - "OpenAPS Offline": "OpenAPS Offline", - "Profiles": "Profiles", - "Time in fluctuation": "Time in fluctuation", - "Time in rapid fluctuation": "Time in rapid fluctuation", - "This is only a rough estimation that can be very inaccurate and does not replace actual blood testing. The formula used is taken from:": "This is only a rough estimation that can be very inaccurate and does not replace actual blood testing. The formula used is taken from:", - "Filter by hours": "Filter by hours", - "Time in fluctuation and Time in rapid fluctuation measure the % of time during the examined period, during which the blood glucose has been changing relatively fast or rapidly. Lower values are better.": "Time in fluctuation and Time in rapid fluctuation measure the % of time during the examined period, during which the blood glucose has been changing relatively fast or rapidly. Lower values are better.", - "Mean Total Daily Change is a sum of the absolute value of all glucose excursions for the examined period, divided by the number of days. Lower is better.": "Mean Total Daily Change is a sum of the absolute value of all glucose excursions for the examined period, divided by the number of days. Lower is better.", - "Mean Hourly Change is a sum of the absolute value of all glucose excursions for the examined period, divided by the number of hours in the period. Lower is better.": "Mean Hourly Change is a sum of the absolute value of all glucose excursions for the examined period, divided by the number of hours in the period. Lower is better.", - "Out of Range RMS is calculated by squaring the distance out of range for all glucose readings for the examined period, summing them, dividing by the count and taking the square root. This metric is similar to in-range percentage but weights readings far out of range higher. Lower values are better.": "Out of Range RMS is calculated by squaring the distance out of range for all glucose readings for the examined period, summing them, dividing by the count and taking the square root. This metric is similar to in-range percentage but weights readings far out of range higher. Lower values are better.", - "GVI (Glycemic Variability Index) and PGS (Patient Glycemic Status) are measures developed by Dexcom, detailed can be found here.": "\">can be found here.", - "Mean Total Daily Change": "Mean Total Daily Change", - "Mean Hourly Change": "Mean Hourly Change", - "FortyFiveDown": "slightly dropping", - "FortyFiveUp": "slightly rising", - "Flat": "holding", - "SingleUp": "rising", - "SingleDown": "dropping", - "DoubleDown": "rapidly dropping", - "DoubleUp": "rapidly rising", - "virtAsstUnknown": "That value is unknown at the moment. Please see your Nightscout site for more details.", - "virtAsstTitleAR2Forecast": "AR2 Forecast", - "virtAsstTitleCurrentBasal": "Current Basal", - "virtAsstTitleCurrentCOB": "Current COB", - "virtAsstTitleCurrentIOB": "Current IOB", - "virtAsstTitleLaunch": "Welcome to Nightscout", - "virtAsstTitleLoopForecast": "Loop Forecast", - "virtAsstTitleLastLoop": "Last Loop", - "virtAsstTitleOpenAPSForecast": "OpenAPS Forecast", - "virtAsstTitlePumpReservoir": "Insulin Remaining", - "virtAsstTitlePumpBattery": "Pump Battery", + "Sensor change/restart overdue!": "傳感器更換/重新啟動已逾期!", + "Time to change/restart sensor": "該更換/重新啟動傳感器", + "Change/restart sensor soon": "請儘快更換/重新啟動傳感器", + "Sensor age %1 days %2 hours": "傳感器已使用 %1 天 %2 小時", + "Sensor Insert": "傳感器植入", + "Sensor Start": "傳感器開始", + "days": "天", + "Insulin distribution": "胰島素分布", + "To see this report, press SHOW while in this view": "要查看此報告,請在此視圖中按 SHOW。", + "AR2 Forecast": "AR2 預測", + "OpenAPS Forecasts": "OpenAPS 預測", + "Temporary Target": "臨時目標", + "Temporary Target Cancel": "臨時目標取消", + "OpenAPS Offline": "OpenAPS 離線", + "Profiles": "設定檔", + "Time in fluctuation": "波動時間", + "Time in rapid fluctuation": "快速波動時間", + "This is only a rough estimation that can be very inaccurate and does not replace actual blood testing. The formula used is taken from:": "這僅是一個粗略的估計,可能非常不準確,並不能取代實際的血液測試。所使用的公式取自:", + "Filter by hours": "依小時過濾", + "Time in fluctuation and Time in rapid fluctuation measure the % of time during the examined period, during which the blood glucose has been changing relatively fast or rapidly. Lower values are better.": "「波動時間」和「快速波動時間」在衡量檢查期間內血糖變化相對較快或迅速的時間百分比。數值較低較好。", + "Mean Total Daily Change is a sum of the absolute value of all glucose excursions for the examined period, divided by the number of days. Lower is better.": "每日平均總變化量是指在檢查期間內所有血糖波動的絕對值之和,除以天數。數值越低越好。", + "Mean Hourly Change is a sum of the absolute value of all glucose excursions for the examined period, divided by the number of hours in the period. Lower is better.": "每小時平均變化量是指在檢查期間內所有血糖波動的絕對值之和,除以該期間的總小時數。數值越低越好。", + "Out of Range RMS is calculated by squaring the distance out of range for all glucose readings for the examined period, summing them, dividing by the count and taking the square root. This metric is similar to in-range percentage but weights readings far out of range higher. Lower values are better.": "「超出範圍的均方根(Out of Range RMS)」的計算方法是將檢查期間所有血糖讀數超出範圍的距離進行平方,將其總和相加,然後除以數量並取平方根。這個指標類似於範圍內百分比,但對遠超出範圍的讀數賦予更高的權重。數值越低越好。", + "GVI (Glycemic Variability Index) and PGS (Patient Glycemic Status) are measures developed by Dexcom, detailed can be found here.": "\">可以在此找到。", + "Mean Total Daily Change": "每日平均總變化量", + "Mean Hourly Change": "每小時平均變化量", + "FortyFiveDown": "稍微下降", + "FortyFiveUp": "稍微上升", + "Flat": "保持穩定", + "SingleUp": "上升", + "SingleDown": "下降", + "DoubleDown": "快速下降", + "DoubleUp": "快速上升", + "virtAsstUnknown": "該值目前未知。請參閱您的 Nightscout 網站以獲取更多詳情。", + "virtAsstTitleAR2Forecast": "AR2 預測", + "virtAsstTitleCurrentBasal": "目前基礎胰島素", + "virtAsstTitleCurrentCOB": "目前碳水化合物", + "virtAsstTitleCurrentIOB": "目前活性胰島素", + "virtAsstTitleLaunch": "歡迎使用 Nightscout", + "virtAsstTitleLoopForecast": "循環預測", + "virtAsstTitleLastLoop": "最後一次循環", + "virtAsstTitleOpenAPSForecast": "OpenAPS 預測", + "virtAsstTitlePumpReservoir": "剩餘胰島素", + "virtAsstTitlePumpBattery": "幫浦電池", "virtAsstTitleRawBG": "Current Raw BG", "virtAsstTitleUploaderBattery": "Current Raw BG", "virtAsstTitleCurrentBG": "Current BG", From 274a80a3dc05524f08eae807bf846d126956a468 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Thu, 19 Sep 2024 20:07:38 +0300 Subject: [PATCH 26/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 134 ++++++++++++++++++++-------------------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index be20ef0397f..9114013c4a7 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -565,69 +565,69 @@ "virtAsstTitleOpenAPSForecast": "OpenAPS 預測", "virtAsstTitlePumpReservoir": "剩餘胰島素", "virtAsstTitlePumpBattery": "幫浦電池", - "virtAsstTitleRawBG": "Current Raw BG", + "virtAsstTitleRawBG": "目前原始血糖值", "virtAsstTitleUploaderBattery": "Current Raw BG", - "virtAsstTitleCurrentBG": "Current BG", - "virtAsstTitleFullStatus": "Full Status", - "virtAsstTitleCGMMode": "CGM Mode", - "virtAsstTitleCGMStatus": "CGM Status", - "virtAsstTitleCGMSessionAge": "CGM Session Age", - "virtAsstTitleCGMTxStatus": "CGM Transmitter Status", - "virtAsstTitleCGMTxAge": "CGM Transmitter Age", - "virtAsstTitleCGMNoise": "CGM Noise", - "virtAsstTitleDelta": "Blood Glucose Delta", - "virtAsstStatus": "%1 and %2 as of %3.", - "virtAsstBasal": "%1 current basal is %2 units per hour", - "virtAsstBasalTemp": "%1 temp basal of %2 units per hour will end %3", - "virtAsstIob": "and you have %1 insulin on board.", - "virtAsstIobIntent": "You have %1 insulin on board", - "virtAsstIobUnits": "%1 units of", - "virtAsstLaunch": "What would you like to check on Nightscout?", - "virtAsstPreamble": "Your", - "virtAsstPreamble3person": "%1 has a ", - "virtAsstNoInsulin": "no", - "virtAsstUploadBattery": "Your uploader battery is at %1", - "virtAsstReservoir": "You have %1 units remaining", - "virtAsstPumpBattery": "Your pump battery is at %1 %2", - "virtAsstUploaderBattery": "Your uploader battery is at %1", - "virtAsstLastLoop": "The last successful loop was %1", - "virtAsstLoopNotAvailable": "Loop plugin does not seem to be enabled", - "virtAsstLoopForecastAround": "According to the loop forecast you are expected to be around %1 over the next %2", - "virtAsstLoopForecastBetween": "According to the loop forecast you are expected to be between %1 and %2 over the next %3", - "virtAsstAR2ForecastAround": "According to the AR2 forecast you are expected to be around %1 over the next %2", - "virtAsstAR2ForecastBetween": "According to the AR2 forecast you are expected to be between %1 and %2 over the next %3", - "virtAsstForecastUnavailable": "Unable to forecast with the data that is available", - "virtAsstRawBG": "Your raw bg is %1", - "virtAsstOpenAPSForecast": "The OpenAPS Eventual BG is %1", - "virtAsstCob3person": "%1 has %2 carbohydrates on board", - "virtAsstCob": "You have %1 carbohydrates on board", - "virtAsstCGMMode": "Your CGM mode was %1 as of %2.", - "virtAsstCGMStatus": "Your CGM status was %1 as of %2.", - "virtAsstCGMSessAge": "Your CGM session has been active for %1 days and %2 hours.", - "virtAsstCGMSessNotStarted": "There is no active CGM session at the moment.", - "virtAsstCGMTxStatus": "Your CGM transmitter status was %1 as of %2.", - "virtAsstCGMTxAge": "Your CGM transmitter is %1 days old.", - "virtAsstCGMNoise": "Your CGM noise was %1 as of %2.", - "virtAsstCGMBattOne": "Your CGM battery was %1 volts as of %2.", - "virtAsstCGMBattTwo": "Your CGM battery levels were %1 volts and %2 volts as of %3.", - "virtAsstDelta": "Your delta was %1 between %2 and %3.", - "virtAsstDeltaEstimated": "Your estimated delta was %1 between %2 and %3.", - "virtAsstUnknownIntentTitle": "Unknown Intent", - "virtAsstUnknownIntentText": "I'm sorry, I don't know what you're asking for.", - "Fat [g]": "Fat [g]", - "Protein [g]": "Protein [g]", - "Energy [kJ]": "Energy [kJ]", - "Clock Views:": "Clock Views:", - "Clock": "Clock", - "Color": "Color", - "Simple": "Simple", - "TDD average": "TDD average", - "Bolus average": "Bolus average", - "Basal average": "Basal average", - "Base basal average:": "Base basal average:", - "Carbs average": "Carbs average", - "Eating Soon": "Eating Soon", - "Last entry {0} minutes ago": "Last entry {0} minutes ago", + "virtAsstTitleCurrentBG": "目前血糖", + "virtAsstTitleFullStatus": "完整狀態", + "virtAsstTitleCGMMode": "CGM模式", + "virtAsstTitleCGMStatus": "CGM狀態", + "virtAsstTitleCGMSessionAge": "CGM使用時間", + "virtAsstTitleCGMTxStatus": "CGM 傳輸器狀態", + "virtAsstTitleCGMTxAge": "CGM 傳輸器時間", + "virtAsstTitleCGMNoise": "CGM 噪音", + "virtAsstTitleDelta": "血糖變化量", + "virtAsstStatus": "截至 %3,%1 和 %2。", + "virtAsstBasal": "%1 目前的基礎速率為每小時 %2 單位", + "virtAsstBasalTemp": "%1 暫時基礎速率為每小時 %2 單位,將於 %3 結束。", + "virtAsstIob": "並且您有 %1 單位胰島素在體內。", + "virtAsstIobIntent": "您有 %1 單位胰島素在體內。", + "virtAsstIobUnits": "%1 單位的", + "virtAsstLaunch": "您想在 Nightscout 上檢查什麼?", + "virtAsstPreamble": "您的", + "virtAsstPreamble3person": "%1 有一個 ", + "virtAsstNoInsulin": "否", + "virtAsstUploadBattery": "您的上傳器電量為 %1", + "virtAsstReservoir": "您剩餘 %1 單位", + "virtAsstPumpBattery": "您的幫浦電量為 %1 %2", + "virtAsstUploaderBattery": "您的上傳器電量為 %1", + "virtAsstLastLoop": "最後一次成功的循環是在 %1", + "virtAsstLoopNotAvailable": "Loop 外掛似乎未啟用", + "virtAsstLoopForecastAround": "根據 Loop 預測,您預計在接下來的 %2 內約為 %1", + "virtAsstLoopForecastBetween": "根據 Loop 預測,您預計在接下來的 %3 內介於 %1 和 %2 之間", + "virtAsstAR2ForecastAround": "根據 AR2 預測,您預計在接下來的 %2 內約為 %1", + "virtAsstAR2ForecastBetween": "根據 AR2 預測,您預計在接下來的 %3 內介於 %1 和 %2 之間", + "virtAsstForecastUnavailable": "無法使用可用的數據進行預測", + "virtAsstRawBG": "無法使用可用的數據進行預測", + "virtAsstOpenAPSForecast": "OpenAPS 最終血糖值為 %1", + "virtAsstCob3person": "%1 有 %2 單位碳水化合物在體內", + "virtAsstCob": "您有 %1 單位碳水化合物在體內", + "virtAsstCGMMode": "截至 %2,您的 CGM 模式為 %1", + "virtAsstCGMStatus": "截至 %2,您的 CGM 狀態為 %1", + "virtAsstCGMSessAge": "您的 CGM 會話已運行 %1 天 %2 小時。", + "virtAsstCGMSessNotStarted": "目前沒有啟用的 CGM 在使用。", + "virtAsstCGMTxStatus": "截至 %2,您的 CGM 傳輸器狀態為 %1", + "virtAsstCGMTxAge": "您的 CGM 傳輸器已使用 %1 天。", + "virtAsstCGMNoise": "截至 %2,您的 CGM 噪音為 %1。", + "virtAsstCGMBattOne": "截至 %2,您的 CGM 電池電壓為 %1 伏特。", + "virtAsstCGMBattTwo": "截至 %3,您的 CGM 電池電壓為 %1 伏特和 %2 伏特。", + "virtAsstDelta": "您的變化量在 %2 和 %3 之間為 %1。", + "virtAsstDeltaEstimated": "您的預估變化量在 %2 和 %3 之間為 %1。", + "virtAsstUnknownIntentTitle": "未知的意圖", + "virtAsstUnknownIntentText": "抱歉,我不知道您在詢問什麼。", + "Fat [g]": "脂肪 [克]", + "Protein [g]": "蛋白質 [克]", + "Energy [kJ]": "能量 [千焦]", + "Clock Views:": "時鐘視圖:", + "Clock": "時鐘", + "Color": "顏色", + "Simple": "簡單", + "TDD average": "平均 TDD", + "Bolus average": "平均注射", + "Basal average": "平均基礎", + "Base basal average:": "基本的基礎平均:", + "Carbs average": "碳水化合物平均:", + "Eating Soon": "即將用餐", + "Last entry {0} minutes ago": "最後一筆記錄是在 {0} 分鐘前", "change": "change", "Speech": "Speech", "Target Top": "Target Top", @@ -646,12 +646,12 @@ "Total carbs": "Total carbs", "Total protein": "Total protein", "Total fat": "Total fat", - "Database Size": "Database Size", - "Database Size near its limits!": "Database Size near its limits!", - "Database size is %1 MiB out of %2 MiB. Please backup and clean up database!": "Database size is %1 MiB out of %2 MiB. Please backup and clean up database!", - "Database file size": "Database file size", + "Database Size": "資料庫大小", + "Database Size near its limits!": "資料庫大小接近上限!", + "Database size is %1 MiB out of %2 MiB. Please backup and clean up database!": "資料庫大小為 %1 MiB,總容量為 %2 MiB。請備份並清理資料庫!", + "Database file size": "資料庫檔案大小", "%1 MiB of %2 MiB (%3%)": "%1 MiB of %2 MiB (%3%)", - "Data size": "Data size", + "Data size": "資料大小", "virtAsstDatabaseSize": "%1 MiB. That is %2% of available database space.", "virtAsstTitleDatabaseSize": "Database file size", "Carbs/Food/Time": "Carbs/Food/Time", From fa0905be49a89e87a430367a151e5ea3eb786ac6 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Mon, 23 Sep 2024 16:11:31 +0300 Subject: [PATCH 27/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 140 ++++++++++++++++++++-------------------- 1 file changed, 70 insertions(+), 70 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index 9114013c4a7..46ecfa95c6d 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -628,80 +628,80 @@ "Carbs average": "碳水化合物平均:", "Eating Soon": "即將用餐", "Last entry {0} minutes ago": "最後一筆記錄是在 {0} 分鐘前", - "change": "change", - "Speech": "Speech", - "Target Top": "Target Top", - "Target Bottom": "Target Bottom", - "Canceled": "Canceled", - "Meter BG": "Meter BG", - "predicted": "predicted", - "future": "future", - "ago": "ago", - "Last data received": "Last data received", - "Clock View": "Clock View", - "Protein": "Protein", - "Fat": "Fat", - "Protein average": "Protein average", - "Fat average": "Fat average", - "Total carbs": "Total carbs", - "Total protein": "Total protein", - "Total fat": "Total fat", + "change": "變更", + "Speech": "語音", + "Target Top": "目標上限", + "Target Bottom": "目標下限", + "Canceled": "已取消", + "Meter BG": "血糖機血糖值", + "predicted": "預測", + "future": "未來", + "ago": "之前", + "Last data received": "上次資料接收時間", + "Clock View": "時鐘檢視", + "Protein": "蛋白質", + "Fat": "脂肪", + "Protein average": "蛋白質平均值", + "Fat average": "脂肪平均值", + "Total carbs": "總碳水化合物", + "Total protein": "總蛋白質", + "Total fat": "總脂肪", "Database Size": "資料庫大小", "Database Size near its limits!": "資料庫大小接近上限!", "Database size is %1 MiB out of %2 MiB. Please backup and clean up database!": "資料庫大小為 %1 MiB,總容量為 %2 MiB。請備份並清理資料庫!", "Database file size": "資料庫檔案大小", "%1 MiB of %2 MiB (%3%)": "%1 MiB of %2 MiB (%3%)", "Data size": "資料大小", - "virtAsstDatabaseSize": "%1 MiB. That is %2% of available database space.", - "virtAsstTitleDatabaseSize": "Database file size", - "Carbs/Food/Time": "Carbs/Food/Time", - "You have administration messages": "You have administration messages", - "Admin messages in queue": "Admin messages in queue", - "Queue empty": "Queue empty", - "There are no admin messages in queue": "There are no admin messages in queue", - "Please sign in using the API_SECRET to see your administration messages": "Please sign in using the API_SECRET to see your administration messages", - "Reads enabled in default permissions": "Reads enabled in default permissions", - "Data reads enabled": "Data reads enabled", - "Data writes enabled": "Data writes enabled", - "Data writes not enabled": "Data writes not enabled", - "Color prediction lines": "Color prediction lines", - "Release Notes": "Release Notes", - "Check for Updates": "Check for Updates", - "Open Source": "Open Source", - "Nightscout Info": "Nightscout Info", - "The primary purpose of Loopalyzer is to visualise how the Loop closed loop system performs. It may work with other setups as well, both closed and open loop, and non loop. However depending on which uploader you use, how frequent it is able to capture your data and upload, and how it is able to backfill missing data some graphs may have gaps or even be completely empty. Always ensure the graphs look reasonable. Best is to view one day at a time and scroll through a number of days first to see.": "The primary purpose of Loopalyzer is to visualise how the Loop closed loop system performs. It may work with other setups as well, both closed and open loop, and non loop. However depending on which uploader you use, how frequent it is able to capture your data and upload, and how it is able to backfill missing data some graphs may have gaps or even be completely empty. Always ensure the graphs look reasonable. Best is to view one day at a time and scroll through a number of days first to see.", - "Loopalyzer includes a time shift feature. If you for example have breakfast at 07:00 one day and at 08:00 the day after your average blood glucose curve these two days will most likely look flattened and not show the actual response after a breakfast. Time shift will compute the average time these meals were eaten and then shift all data (carbs, insulin, basal etc.) during both days the corresponding time difference so that both meals align with the average meal start time.": "Loopalyzer includes a time shift feature. If you for example have breakfast at 07:00 one day and at 08:00 the day after your average blood glucose curve these two days will most likely look flattened and not show the actual response after a breakfast. Time shift will compute the average time these meals were eaten and then shift all data (carbs, insulin, basal etc.) during both days the corresponding time difference so that both meals align with the average meal start time.", - "In this example all data from first day is pushed 30 minutes forward in time and all data from second day 30 minutes backward in time so it appears as if you had had breakfast at 07:30 both days. This allows you to see your actual average blood glucose response from a meal.": "In this example all data from first day is pushed 30 minutes forward in time and all data from second day 30 minutes backward in time so it appears as if you had had breakfast at 07:30 both days. This allows you to see your actual average blood glucose response from a meal.", - "Time shift highlights the period after the average meal start time in gray, for the duration of the DIA (Duration of Insulin Action). As all data points the entire day are shifted the curves outside the gray area may not be accurate.": "Time shift highlights the period after the average meal start time in gray, for the duration of the DIA (Duration of Insulin Action). As all data points the entire day are shifted the curves outside the gray area may not be accurate.", - "Note that time shift is available only when viewing multiple days.": "Note that time shift is available only when viewing multiple days.", - "Please select a maximum of two weeks duration and click Show again.": "Please select a maximum of two weeks duration and click Show again.", - "Show profiles table": "Show profiles table", - "Show predictions": "Show predictions", - "Timeshift on meals larger than %1 g carbs consumed between %2 and %3": "Timeshift on meals larger than %1 g carbs consumed between %2 and %3", - "Previous": "Previous", - "Previous day": "Previous day", - "Next day": "Next day", - "Next": "Next", - "Temp basal delta": "Temp basal delta", - "Authorized by token": "Authorized by token", - "Auth role": "Auth role", - "view without token": "view without token", - "Remove stored token": "Remove stored token", - "Weekly Distribution": "Weekly Distribution", - "Failed authentication": "Failed authentication", - "A device at IP address %1 attempted authenticating with Nightscout with wrong credentials. Check if you have an uploader setup with wrong API_SECRET or token?": "A device at IP address %1 attempted authenticating with Nightscout with wrong credentials. Check if you have an uploader setup with wrong API_SECRET or token?", - "Default (with leading zero and U)": "Default (with leading zero and U)", - "Concise (with U, without leading zero)": "Concise (with U, without leading zero)", - "Minimal (without leading zero and U)": "Minimal (without leading zero and U)", - "Small Bolus Display": "Small Bolus Display", - "Large Bolus Display": "Large Bolus Display", - "Bolus Display Threshold": "Bolus Display Threshold", - "%1 U and Over": "%1 U and Over", - "Event repeated %1 times.": "Event repeated %1 times.", - "minutes": "minutes", - "Last recorded %1 %2 ago.": "Last recorded %1 %2 ago.", - "Security issue": "Security issue", - "Weak API_SECRET detected. Please use a mix of small and CAPITAL letters, numbers and non-alphanumeric characters such as !#%&/ to reduce the risk of unauthorized access. The minimum length of the API_SECRET is 12 characters.": "Weak API_SECRET detected. Please use a mix of small and CAPITAL letters, numbers and non-alphanumeric characters such as !#%&/ to reduce the risk of unauthorized access. The minimum length of the API_SECRET is 12 characters.", - "less than 1": "less than 1", - "MongoDB password and API_SECRET match. This is a really bad idea. Please change both and do not reuse passwords across the system.": "MongoDB password and API_SECRET match. This is a really bad idea. Please change both and do not reuse passwords across the system." + "virtAsstDatabaseSize": "%1 MiB,佔用可用資料庫空間的 %2%。", + "virtAsstTitleDatabaseSize": "資料庫檔案大小", + "Carbs/Food/Time": "碳水化合物/食物/時間", + "You have administration messages": "你有管理訊息", + "Admin messages in queue": "管理訊息在佇列中", + "Queue empty": "佇列是空的", + "There are no admin messages in queue": "佇列中沒有管理訊息", + "Please sign in using the API_SECRET to see your administration messages": "請使用 API_SECRET 登入以查看你的管理訊息", + "Reads enabled in default permissions": "預設權限中啟用了讀取功能", + "Data reads enabled": "資料讀取已啟用", + "Data writes enabled": "資料寫入已啟用", + "Data writes not enabled": "資料寫入未啟用", + "Color prediction lines": "顏色預測線", + "Release Notes": "版本說明", + "Check for Updates": "檢查更新", + "Open Source": "開源", + "Nightscout Info": "Nightscout 資訊", + "The primary purpose of Loopalyzer is to visualise how the Loop closed loop system performs. It may work with other setups as well, both closed and open loop, and non loop. However depending on which uploader you use, how frequent it is able to capture your data and upload, and how it is able to backfill missing data some graphs may have gaps or even be completely empty. Always ensure the graphs look reasonable. Best is to view one day at a time and scroll through a number of days first to see.": "Loopalyzer 的主要目的是視覺化展示 Loop 閉環系統的運作情況。它也可能適用於其他系統配置,包括閉環、開環或非閉環系統。然而,根據你使用的上傳器類型、資料捕捉與上傳的頻率,以及填補遺失資料的方式,有些圖表可能會有空白或甚至完全沒有資料。請務必確認圖表顯示的資料合理。建議一次檢視一天,並先瀏覽多天的資料以進行檢查。", + "Loopalyzer includes a time shift feature. If you for example have breakfast at 07:00 one day and at 08:00 the day after your average blood glucose curve these two days will most likely look flattened and not show the actual response after a breakfast. Time shift will compute the average time these meals were eaten and then shift all data (carbs, insulin, basal etc.) during both days the corresponding time difference so that both meals align with the average meal start time.": "Loopalyzer 包含一個時間偏移功能。如果你某天在 07:00 吃早餐,而隔天在 08:00 吃早餐,那麼這兩天的平均血糖曲線很可能會被平滑化,無法顯示實際的早餐後反應。時間偏移功能會計算這些餐點的平均進餐時間,並將這兩天所有的資料(碳水化合物、胰島素、基礎胰島素等)按相應的時間差進行偏移,讓這兩次餐點與平均進餐時間對齊。", + "In this example all data from first day is pushed 30 minutes forward in time and all data from second day 30 minutes backward in time so it appears as if you had had breakfast at 07:30 both days. This allows you to see your actual average blood glucose response from a meal.": "在此範例中,第一天的所有資料會被往前推30分鐘,而第二天的所有資料則會被往後推30分鐘,這樣看起來就像是你兩天的早餐都是在 07:30 進行的。這樣你就可以看到實際的平均血糖反應。", + "Time shift highlights the period after the average meal start time in gray, for the duration of the DIA (Duration of Insulin Action). As all data points the entire day are shifted the curves outside the gray area may not be accurate.": "時間偏移功能會將平均進餐時間之後、胰島素作用時間(DIA,Duration of Insulin Action)內的區間以灰色顯示。由於整天的資料點都被移動過,灰色區域外的曲線可能不太準確。", + "Note that time shift is available only when viewing multiple days.": "請注意,時間偏移功能僅在檢視多日資料時可用。", + "Please select a maximum of two weeks duration and click Show again.": "請選擇最多兩週的時間範圍,然後再次點擊顯示。", + "Show profiles table": "顯示設定檔表格", + "Show predictions": "顯示預測", + "Timeshift on meals larger than %1 g carbs consumed between %2 and %3": "將時間偏移應用於碳水化合物攝取量超過 %1 克、並在 %2 到 %3 之間消耗的餐點。", + "Previous": "前一個", + "Previous day": "前一天", + "Next day": "下一天", + "Next": "下一個", + "Temp basal delta": "臨時基礎胰島素變動量", + "Authorized by token": "透過權杖授權", + "Auth role": "驗證角色", + "view without token": "未使用權杖檢視", + "Remove stored token": "移除儲存的權杖", + "Weekly Distribution": "每週分佈", + "Failed authentication": "驗證失敗", + "A device at IP address %1 attempted authenticating with Nightscout with wrong credentials. Check if you have an uploader setup with wrong API_SECRET or token?": "IP 位址 %1 的裝置嘗試以錯誤的憑證連線 Nightscout。請檢查是否有上傳器設定了錯誤的 API_SECRET 或權杖?", + "Default (with leading zero and U)": "預設(包含前置零和 U)", + "Concise (with U, without leading zero)": "簡潔(包含 U,無前置零)", + "Minimal (without leading zero and U)": "極簡(無前置零和 U)", + "Small Bolus Display": "小劑量注射顯示", + "Large Bolus Display": "大劑量注射顯示", + "Bolus Display Threshold": "注射顯示臨界值", + "%1 U and Over": "%1 單位及以上", + "Event repeated %1 times.": "事件重複 %1 次。", + "minutes": "分鐘", + "Last recorded %1 %2 ago.": "上次紀錄於 %1 %2 前。", + "Security issue": "安全問題", + "Weak API_SECRET detected. Please use a mix of small and CAPITAL letters, numbers and non-alphanumeric characters such as !#%&/ to reduce the risk of unauthorized access. The minimum length of the API_SECRET is 12 characters.": "檢測到強度較弱的 API_SECRET。請使用大小寫字母、數字和非字母數字的特殊字元(例如 !#%&/)的組合,以降低未授權存取的風險。API_SECRET 的最小長度為 12 個字元。", + "less than 1": "小於 1", + "MongoDB password and API_SECRET match. This is a really bad idea. Please change both and do not reuse passwords across the system.": "MongoDB 密碼和 API_SECRET 相同。這是一個非常危險的做法。請更改兩者,並避免在系統中重複使用密碼。" } From cd1c54b86d8f574e5b22db9a1ba911398cef1a22 Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Mon, 23 Sep 2024 19:16:01 +0300 Subject: [PATCH 28/39] New translations en.json (Chinese Traditional) --- translations/zh_TW.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/translations/zh_TW.json b/translations/zh_TW.json index 46ecfa95c6d..a91e43f8c5e 100644 --- a/translations/zh_TW.json +++ b/translations/zh_TW.json @@ -465,7 +465,7 @@ "Elapsed Time": "所需時間", "Absolute Delta": "絕對增量", "Interpolated": "插值", - "BWP": "BWP", + "BWP": "胰島素注射預測 - BWP (Bolus Wizard Prediction)", "Urgent": "緊急", "Warning": "警告", "Info": "資訊", @@ -518,7 +518,7 @@ "%1m ago": "%1 分鐘前", "%1h ago": "%1 小時前", "%1d ago": "%1 天前", - "RETRO": "RETRO", + "RETRO": "回溯分析或回顧模式 - RETRO (Retroactive or Retrospective)", "SAGE": "探頭", "Sensor change/restart overdue!": "傳感器更換/重新啟動已逾期!", "Time to change/restart sensor": "該更換/重新啟動傳感器", From dc4a05101c62014c4ae5bf36358d77053f923530 Mon Sep 17 00:00:00 2001 From: Daniel Cosby Date: Tue, 24 Sep 2024 13:54:34 +0100 Subject: [PATCH 29/39] return generic '500' status on bootError page --- lib/server/booterror.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/server/booterror.js b/lib/server/booterror.js index 92de6cbc81b..6c4d7f1469d 100644 --- a/lib/server/booterror.js +++ b/lib/server/booterror.js @@ -29,7 +29,7 @@ function bootError(env, ctx) { return '
' + obj.desc + '
' + message.replace(/\\n/g, '
') + '
'; }).join(' '); - res.render('error.html', { + res.status(500).render('error.html', { errors, locals }); From cec3eebc406bf1f39a39256ac2b1efd850d4e633 Mon Sep 17 00:00:00 2001 From: Ken Fox <46848705+Nightfoxy@users.noreply.github.com> Date: Sat, 5 Oct 2024 00:36:50 -0500 Subject: [PATCH 30/39] Update sensorage.js for 10 day sensors Changing default SAGE warn and urgent threshold defaults to be useful for 10 day sensors rather than 7 day sensors from the G5 era. SAGE pill turns yellow at day 9 and red 4 hours before expiration of 10 days. Once G6 is retired, consider setting WARN to 10 days and URGENT to 10.5 days. --- lib/plugins/sensorage.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/plugins/sensorage.js b/lib/plugins/sensorage.js index a14b4f7c213..5f2f8eeb171 100644 --- a/lib/plugins/sensorage.js +++ b/lib/plugins/sensorage.js @@ -16,9 +16,9 @@ function init(ctx) { sage.getPrefs = function getPrefs(sbx) { return { - info: sbx.extendedSettings.info || times.days(6).hours - , warn: sbx.extendedSettings.warn || (times.days(7).hours - 4) - , urgent: sbx.extendedSettings.urgent || (times.days(7).hours - 2) + info: sbx.extendedSettings.info || times.days(8).hours + , warn: sbx.extendedSettings.warn || (times.days(9).hours) + , urgent: sbx.extendedSettings.urgent || (times.days(10).hours - 4) , enableAlerts: sbx.extendedSettings.enableAlerts || false }; }; From a350207b83e9b7331ac4da8e15208c1ed0cf282c Mon Sep 17 00:00:00 2001 From: Sulka Haro Date: Fri, 25 Oct 2024 16:21:13 +0300 Subject: [PATCH 31/39] New translations en.json (Spanish) --- translations/es_ES.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/translations/es_ES.json b/translations/es_ES.json index 580a5695f75..26dd9ab981e 100644 --- a/translations/es_ES.json +++ b/translations/es_ES.json @@ -223,7 +223,7 @@ "View all treatments": "Visualizar todos los tratamientos", "Enable Alarms": "Activar las alarmas", "Pump Battery Change": "Cambio batería bomba", - "Pump Battery Age": "Edad de la batería en la bomba", + "Pump Battery Age": "Edad de la batería de la bomba", "Pump Battery Low Alarm": "Alarma de Bomba Baja", "Pump Battery change overdue!": "Cambio de batería de bomba atrasado!", "When enabled an alarm may sound.": "Cuando estén activas, una alarma podrá sonar", From b5f5ed2c952f0f73633864174c77041db111a908 Mon Sep 17 00:00:00 2001 From: Andy Low <42089621+AndyLow91@users.noreply.github.com> Date: Sat, 14 Sep 2024 16:27:25 +0100 Subject: [PATCH 32/39] Update loop.js Updated to stop Nightscout crashing if APNs response is not received well from Apple. --- lib/server/loop.js | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/lib/server/loop.js b/lib/server/loop.js index 3b31c0ec78c..0d31269f5cc 100644 --- a/lib/server/loop.js +++ b/lib/server/loop.js @@ -130,14 +130,36 @@ function init (env, ctx) { notification.payload = payload; notification.interruptionLevel = "time-sensitive" - provider.send(notification, [loopSettings.deviceToken]).then( (response) => { + provider.send(notification, [loopSettings.deviceToken]).then((response) => { if (response.sent && response.sent.length > 0) { completion(); } else { - console.log("APNs delivery failed:", response.failed) - completion("APNs delivery failed: " + response.failed[0].response.reason); + console.log("APNs delivery failed:", response.failed); + + // Check if response.failed and response.failed[0] are defined + if (response.failed && response.failed.length > 0) { + const failedResponse = response.failed[0]; + const reason = failedResponse.response && failedResponse.response.reason + ? failedResponse.response.reason + : 'Unknown reason'; + + // Provide detailed debugging information + const errorMessage = `APNs delivery failed: ${reason}`; + console.error(errorMessage, failedResponse); + completion(errorMessage); + } else { + // Handle the case where response.failed is undefined or empty + const errorMessage = 'APNs delivery failed: No failure details available.'; + console.error(errorMessage, response); + completion(errorMessage); + } } + }).catch((error) => { + // Catch any other unexpected errors + console.error('Unexpected error during APNs delivery:', error); + completion(`APNs delivery failed: ${error.message || 'Unknown error'}`); }); + }; return loop(); From e0b0d6fd81d33b1671e6a62d163a635d42ba2e2e Mon Sep 17 00:00:00 2001 From: Ben West Date: Mon, 25 Nov 2024 12:17:42 -0800 Subject: [PATCH 33/39] nice error handling, @AndyLow91 --- lib/server/loop.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/server/loop.js b/lib/server/loop.js index 0d31269f5cc..9fe460a7c49 100644 --- a/lib/server/loop.js +++ b/lib/server/loop.js @@ -135,14 +135,14 @@ function init (env, ctx) { completion(); } else { console.log("APNs delivery failed:", response.failed); - + // Check if response.failed and response.failed[0] are defined if (response.failed && response.failed.length > 0) { const failedResponse = response.failed[0]; const reason = failedResponse.response && failedResponse.response.reason ? failedResponse.response.reason : 'Unknown reason'; - + // Provide detailed debugging information const errorMessage = `APNs delivery failed: ${reason}`; console.error(errorMessage, failedResponse); @@ -159,7 +159,7 @@ function init (env, ctx) { console.error('Unexpected error during APNs delivery:', error); completion(`APNs delivery failed: ${error.message || 'Unknown error'}`); }); - + }; return loop(); From 558927bf3db7a21d111c60a379811e45c63bff85 Mon Sep 17 00:00:00 2001 From: Ben West Date: Mon, 25 Nov 2024 13:40:48 -0800 Subject: [PATCH 34/39] Revert "Update sensorage.js for 10 day sensors" This reverts commit cec3eebc406bf1f39a39256ac2b1efd850d4e633. Need to update tests? Not immediately clear why tests updated from 6 days to 9 days fails, so revertinig for now. --- lib/plugins/sensorage.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/plugins/sensorage.js b/lib/plugins/sensorage.js index 5f2f8eeb171..a14b4f7c213 100644 --- a/lib/plugins/sensorage.js +++ b/lib/plugins/sensorage.js @@ -16,9 +16,9 @@ function init(ctx) { sage.getPrefs = function getPrefs(sbx) { return { - info: sbx.extendedSettings.info || times.days(8).hours - , warn: sbx.extendedSettings.warn || (times.days(9).hours) - , urgent: sbx.extendedSettings.urgent || (times.days(10).hours - 4) + info: sbx.extendedSettings.info || times.days(6).hours + , warn: sbx.extendedSettings.warn || (times.days(7).hours - 4) + , urgent: sbx.extendedSettings.urgent || (times.days(7).hours - 2) , enableAlerts: sbx.extendedSettings.enableAlerts || false }; }; From a4e05a1655c7dd6b6707320295464f23b4fa450a Mon Sep 17 00:00:00 2001 From: dsnallfot <72826201+dsnallfot@users.noreply.github.com> Date: Mon, 4 Mar 2024 17:16:20 +0100 Subject: [PATCH 35/39] Fix missing mmol unit conversion for lastEnacted.bg --- lib/plugins/openaps.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/plugins/openaps.js b/lib/plugins/openaps.js index 81e7bc25a05..bbce600585d 100644 --- a/lib/plugins/openaps.js +++ b/lib/plugins/openaps.js @@ -478,9 +478,15 @@ function init (ctx) { if ('enacted' === prop.status.code) { var canceled = prop.lastEnacted.rate === 0 && prop.lastEnacted.duration === 0; + var bg = prop.lastEnacted.bg; + var units = sbx.data.profile.getUnits(); + + if (units === 'mmol') { + bg = Math.round(bg / consts.MMOL_TO_MGDL * 10) / 10; + } var valueParts = [ - valueString('BG: ', prop.lastEnacted.bg) + valueString('BG: ', bg) , ', Temp Basal' + (canceled ? ' Canceled' : ' Started') + '' , canceled ? '' : ' ' + prop.lastEnacted.rate.toFixed(2) + ' for ' + prop.lastEnacted.duration + 'm' , valueString(', ', prop.lastEnacted.reason) From 59ff28204af2f18243092ecf184aed1931cef466 Mon Sep 17 00:00:00 2001 From: Ben West Date: Fri, 13 Dec 2024 14:09:55 -0800 Subject: [PATCH 36/39] allow tests to pass Switching the way units is fetched to this way makes it similar to the other code already in place that does something similar. This allows the tests to pass with the existing fixtures. Considering augmenting additional tests that explicitly tests whether the relevant branch of code is taken. --- lib/plugins/openaps.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/plugins/openaps.js b/lib/plugins/openaps.js index bbce600585d..3b3136a274b 100644 --- a/lib/plugins/openaps.js +++ b/lib/plugins/openaps.js @@ -392,7 +392,7 @@ function init (ctx) { function addSuggestion () { if (prop.lastSuggested) { var bg = prop.lastSuggested.bg; - var units = sbx.data.profile.getUnits(); + var units = sbx.settings.units; if (units === 'mmol') { bg = Math.round(bg / consts.MMOL_TO_MGDL * 10) / 10; @@ -479,11 +479,11 @@ function init (ctx) { if ('enacted' === prop.status.code) { var canceled = prop.lastEnacted.rate === 0 && prop.lastEnacted.duration === 0; var bg = prop.lastEnacted.bg; - var units = sbx.data.profile.getUnits(); + var units = sbx.settings.units; - if (units === 'mmol') { - bg = Math.round(bg / consts.MMOL_TO_MGDL * 10) / 10; - } + if (units === 'mmol') { + bg = Math.round(bg / consts.MMOL_TO_MGDL * 10) / 10; + } var valueParts = [ valueString('BG: ', bg) From 3761c0fedd455b6051f4d9a35a12fadddfe72991 Mon Sep 17 00:00:00 2001 From: Ben West Date: Fri, 13 Dec 2024 14:28:49 -0800 Subject: [PATCH 37/39] permit any LTS version of node --- lib/server/bootevent.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/server/bootevent.js b/lib/server/bootevent.js index b377abcce98..7f09e130095 100644 --- a/lib/server/bootevent.js +++ b/lib/server/bootevent.js @@ -38,7 +38,7 @@ function boot (env, language) { const isLTS = process.release.lts ? true : false; - if (isLTS && (semver.satisfies(nodeVersion, '^20.0.0') || semver.satisfies(nodeVersion, '^18.0.0') || semver.satisfies(nodeVersion, '^16.0.0') || semver.satisfies(nodeVersion, '^14.0.0'))) { + if (isLTS || (semver.satisfies(nodeVersion, '^20.0.0') || semver.satisfies(nodeVersion, '^18.0.0') || semver.satisfies(nodeVersion, '^16.0.0') || semver.satisfies(nodeVersion, '^14.0.0'))) { //Latest Node 14 LTS and Node 16 LTS are recommended and supported. //Require at least Node 14 without known security issues console.debug('Node LTS version ' + nodeVersion + ' is supported'); From ffd28b041ebc0ee42140319bbe0ac085f5fa2094 Mon Sep 17 00:00:00 2001 From: Ben West Date: Fri, 13 Dec 2024 14:35:14 -0800 Subject: [PATCH 38/39] continuously test on lts also This adds the latest long term support version of node to the automated testing matrix. --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b3d49dc6332..3a05864a34d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [14.x, 16.x] + node-version: [14.x, 16.x, 20, lts] mongodb-version: [4.4, 5.0, 6.0] steps: @@ -87,4 +87,4 @@ jobs: platforms: ${{ env.PLATFORMS }} tags: | ${{ env.DOCKER_IMAGE }}:${{ steps.package-version.outputs.current-version }} - ${{ env.DOCKER_IMAGE }}:latest \ No newline at end of file + ${{ env.DOCKER_IMAGE }}:latest From 9195c3c275be4448080b692c52f0491a2340afc3 Mon Sep 17 00:00:00 2001 From: Ben West Date: Fri, 13 Dec 2024 14:40:41 -0800 Subject: [PATCH 39/39] setup-node action syntax is lts/* --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3a05864a34d..be07a1061bb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [14.x, 16.x, 20, lts] + node-version: [14.x, 16.x, 20, lts/*] mongodb-version: [4.4, 5.0, 6.0] steps: