Explorar el Código

Merge branch 'bdb_orig' into bdb

Jon B.M hace 4 años
padre
commit
e49579e7eb
Se han modificado 28 ficheros con 255 adiciones y 194 borrados
  1. 2 2
      Dependencies/LoopKit/LoopKit/fr.lproj/Localizable.strings
  2. 1 1
      Dependencies/LoopKit/LoopKitUI/fr.lproj/Localizable.strings
  3. 11 11
      Dependencies/rileylink_ios/OmniKitUI/fr.lproj/Localizable.strings
  4. 1 1
      Dependencies/rileylink_ios/OmniKitUI/fr.lproj/OmnipodPumpManager.strings
  5. 26 26
      Dependencies/rileylink_ios/RileyLinkKitUI/fr.lproj/Localizable.strings
  6. 29 12
      FreeAPS/Resources/javascript/middleware/determine_basal.js
  7. 4 1
      FreeAPS/Sources/Localizations/Main/ar.lproj/Localizable.strings
  8. 4 1
      FreeAPS/Sources/Localizations/Main/ca.lproj/Localizable.strings
  9. 4 1
      FreeAPS/Sources/Localizations/Main/da.lproj/Localizable.strings
  10. 4 1
      FreeAPS/Sources/Localizations/Main/de.lproj/Localizable.strings
  11. 6 6
      FreeAPS/Sources/Localizations/Main/en.lproj/Localizable.strings
  12. 4 1
      FreeAPS/Sources/Localizations/Main/es.lproj/Localizable.strings
  13. 4 1
      FreeAPS/Sources/Localizations/Main/fi.lproj/Localizable.strings
  14. 31 44
      FreeAPS/Sources/Localizations/Main/fr.lproj/Localizable.strings
  15. 4 1
      FreeAPS/Sources/Localizations/Main/he.lproj/Localizable.strings
  16. 4 1
      FreeAPS/Sources/Localizations/Main/it.lproj/Localizable.strings
  17. 5 2
      FreeAPS/Sources/Localizations/Main/nb.lproj/Localizable.strings
  18. 4 1
      FreeAPS/Sources/Localizations/Main/nl.lproj/Localizable.strings
  19. 4 1
      FreeAPS/Sources/Localizations/Main/pl.lproj/Localizable.strings
  20. 55 52
      FreeAPS/Sources/Localizations/Main/pt-BR.lproj/Localizable.strings
  21. 4 1
      FreeAPS/Sources/Localizations/Main/pt-PT.lproj/Localizable.strings
  22. 4 1
      FreeAPS/Sources/Localizations/Main/ru.lproj/Localizable.strings
  23. 4 1
      FreeAPS/Sources/Localizations/Main/sk.lproj/Localizable.strings
  24. 9 6
      FreeAPS/Sources/Localizations/Main/sv.lproj/Localizable.strings
  25. 6 3
      FreeAPS/Sources/Localizations/Main/tr.lproj/Localizable.strings
  26. 5 2
      FreeAPS/Sources/Localizations/Main/uk.lproj/Localizable.strings
  27. 8 5
      FreeAPS/Sources/Localizations/Main/zh-Hans.lproj/Localizable.strings
  28. 8 8
      FreeAPS/Sources/Modules/PreferencesEditor/PreferencesEditorStateModel.swift

+ 2 - 2
Dependencies/LoopKit/LoopKit/fr.lproj/Localizable.strings

@@ -1,8 +1,8 @@
 /* Describes a certain bolus failure (1: size of the bolus in units) */
-"%1$@ U bolus failed" = "Échec de bolus de %1$@ U";
+"%1$@ U bolus failed" = "Échec du bolus de %1$@ U";
 
 /* Describes an uncertain bolus failure (1: size of the bolus in units) */
-"%1$@ U bolus may not have succeeded" = "Le bolus de %1$@ U a peut-être échou";
+"%1$@ U bolus may not have succeeded" = "Le bolus de %1$@ U a peut-être échoué";
 
 /* The error description describing when Health sharing was denied */
 "Authorization Denied" = "Autorisation refusée";

+ 1 - 1
Dependencies/LoopKit/LoopKitUI/fr.lproj/Localizable.strings

@@ -81,7 +81,7 @@
 "com.loudnate.LoopKit.errorAlertActionTitle" = "OK";
 
 /* The title for the override emoji condition section */
-"Condition" = "Condition";
+"Condition" = "Conditions";
 
 /* Title of the setup button to continue */
 "Continue" = "Continuer";

+ 11 - 11
Dependencies/rileylink_ios/OmniKitUI/fr.lproj/Localizable.strings

@@ -15,7 +15,7 @@
 "%@ U (Finished)" = "%@ U (Terminé)";
 
 /* Format string for bolus progress. (1: The delivered amount) (2: The programmed amount) (3: the percent progress) */
-"%@ U of %@ U (%@)" = "%1$@ U of %2$@ U (%3$@)";
+"%@ U of %@ U (%@)" = "%1$@ U sur %2$@ U (%3$@)";
 
 /* Format string for temp basal rate. (1: The localized amount) */
 "%@ U/hour" = "%@ U/heure";
@@ -36,7 +36,7 @@
 "Active Time" = "Heure d’activation";
 
 /* The title of the cell showing the Pod Active Clock */
-"Pod Active Clock" = "Pod Active Clock";
+"Pod Active Clock" = "Horloge active Pod";
 
 /* The title of the cell showing alarm status */
 "Alarms" = "Alarmes";
@@ -72,7 +72,7 @@
 "Configuration" = "Configuration";
 
 /* The title of the Insulin Type */
-"Insulin Type" = "Insulin Type";
+"Insulin Type" = "Type d'Insuline";
 
 /* The title of the continue action in an action sheet */
 "Continue" = "Continuer";
@@ -106,16 +106,16 @@
 "Error enabling bolus beeps" = "Erreur lors de l’activation des bips de bolus";
 
 /* The alert title for enable Confirmation Beeps */
-"Enable Confirmation Beeps" = "Enable Confirmation Beeps";
+"Enable Confirmation Beeps" = "Activer les bips de confirmation";
 
 /* The alert title for Disable Confirmation Beep */
-"Disable Confirmation Beeps" = "Disable Confirmation Beeps";
+"Disable Confirmation Beeps" = "Désactiver les bips de confirmation";
 
 /* The alert title for enable Automatic Bolus Beeps */
-"Enable Automatic Bolus Beeps" = "Enable Automatic Bolus Beeps";
+"Enable Automatic Bolus Beeps" = "Activer les bips de Bolus automatiques";
 
 /* The alert title for Disable Automatic Bolus Beeps */
-"Disable Automatic Bolus Beeps" = "Disable Automatic Bolus Beeps";
+"Disable Automatic Bolus Beeps" = "Désactiver les bips de bolus automatiques";
 
 /* The alert title for a resume error */
 "Error Resuming" = "Erreur lors de la reprise";
@@ -249,13 +249,13 @@
 "Unknown" = "Inconnu";
 
 /* The title of the diagnostics section in settings */
-"Diagnostics" = "Diagnostics";
+"Diagnostics" = "Diagnostic";
 
 /* The diagnostic command Read Pod Status */
-"Read Pod Status" = "Read Pod Status";
+"Read Pod Status" = "Lire l’état de la pompe";
 
 /* The diagnostic command Read Pulse Log */
-"Read Pulse Log" = "Read Pulse Log";
+"Read Pulse Log" = "Lecture journal d'impulsion";
 
 /* The title of the pod details section in settings */
-"Pod Details" = "Pod Details";
+"Pod Details" = "Détails du Pod";

+ 1 - 1
Dependencies/rileylink_ios/OmniKitUI/fr.lproj/OmnipodPumpManager.strings

@@ -59,7 +59,7 @@
 "rcC-ke-lUP.headerTitle" = "Appliquez le POD";
 
 /* Class = "UILabel"; text = "Label"; ObjectID = "vEc-Km-ewe"; */
-"vEc-Km-ewe.text" = "Label";
+"vEc-Km-ewe.text" = "Étiquette";
 
 /* Class = "UILabel"; text = "Fill a new pod with insulin. Listen for 2 beeps from the pod during filling. Keep RileyLink adjacent to the pod during pairing."; ObjectID = "vmF-Dc-3DS"; */
 "vmF-Dc-3DS.text" = "Remplissez un nouveau pod avec de l’insuline. Vérifiez de bien entendre les 2 beeps du pod pendant le remplissage. Gardez le RileyLink à proximité du pod pendant l’appairage.";

+ 26 - 26
Dependencies/rileylink_ios/RileyLinkKitUI/fr.lproj/Localizable.strings

@@ -5,28 +5,28 @@
 "Connected" = "Connecté";
 
 /* The in-progress connecting state */
-"Connecting" = "Connexion en cours";
+"Connecting" = "De liaison";
 
 /* The title of the cell showing BLE connection state */
-"Connection State" = "État de la connexion";
+"Connection State" = "Etat de connexion";
 
 /* The title of the section describing the device */
-"Device" = "Appareil";
+"Device" = "Dispositif";
 
 /* The title of the devices table section in RileyLink settings */
-"Devices" = "Appareils";
+"Devices" = "Dispositifs";
 
 /* The disconnected state */
-"Disconnected" = "Déconnecté";
+"Disconnected" = "Débranché";
 
 /* The in-progress disconnecting state */
-"Disconnecting" = "Déconnexion en cours";
+"Disconnecting" = "Se déconnecter";
 
 /* The title of the cell showing firmware version */
-"Firmware" = "Firmware";
+"Firmware" = "Microprogramme";
 
 /* The title of the cell showing current rileylink frequency */
-"Frequency" = "Frequency";
+"Frequency" = "Fréquence";
 
 /* The title of the cell showing device name */
 "Name" = "Nom";
@@ -38,58 +38,58 @@
 "Signal Strength" = "Force du signal";
 
 /* The header of the cells showing connection monitoring */
-"Connection Monitoring" = "Connection Monitoring";
+"Connection Monitoring" = "Supervision";
 
 /* The title of the cell showing uptime */
-"Uptime" = "Uptime";
+"Uptime" = "Temps de fonctionnement";
 
 /* The title of the cell showing battery level */
-"Battery level" = "Battery level";
+"Battery level" = "Niveau de batterie";
 
 /* The title of the cell showing Voltage */
-"Voltage" = "Voltage";
+"Voltage" = "Voltage (Tension)";
 
 /* "The title of the section for alerts" */
-"Alert" = "Alert";
+"Alert" = "Alerte";
 
 /* The title of the cell showing Low Battery Alert */
-"Low Battery Alert" = "Low Battery Alert";
+"Low Battery Alert" = "Alerte de batterie faible";
 
 /* Header of list showing battery level alert options */
-"Battery level Alert" = "Battery level Alert";
+"Battery level Alert" = "Alerte de niveau batterie";
 
 /* Battery level alert OFF in list of options */
-"OFF" = "OFF";
+"OFF" = "Désactivé";
 
 /* The title of the command to update diagnostic LEDs */
-"Diagnostic LEDs" = "Diagnostic LEDs";
+"Diagnostic LEDs" = "Diagnostic";
 
 /* The title of the command to fetch RileyLink statistics */
-"Get RileyLink Statistics" = "Get RileyLink Statistics";
+"Get RileyLink Statistics" = "Obtenir les statistiques de RileyLink";
 
 /* The title of the command to invert BLE connection LED logic */
-"Invert LED Logic" = "Invert LED Logic";
+"Invert LED Logic" = "Inverser la logique des LED";
 
 /* The header of the cells showing test commands */
-"Test Commands" = "Test Commands";
+"Test Commands" = "Commande de test";
 
 /* The title of the cell showing Lighten Yellow LED */
-"Lighten Yellow LED" = "Lighten Yellow LED";
+"Lighten Yellow LED" = "Éclaircir la LED jaune";
 
 /* The title of the cell showing Lighten Yellow LED */
-"Lighten Red LED" = "Lighten Red LED";
+"Lighten Red LED" = "Éclaircir la LED rouge";
 
 /* The title of the cell showing Test Vibration */
-"Test Vibration" = "Test Vibration";
+"Test Vibration" = "Test de la vibration";
 
 /* The title of the cell for sounding device finding piezo */
-"Find Device" = "Find Device";
+"Find Device" = "Localiser l'appareil";
 
 /* The title of the cell for connection LED */
-"Connection LED" = "Connection LED";
+"Connection LED" = "Connectez les LED";
 
 /* The title of the cell for connection vibration */
-"Connection Vibration" = "Connection Vibration";
+"Connection Vibration" = "Vibreur de connexion";
 
 /* Detail text when battery alert disabled. */
 "Off" = "Off";

+ 29 - 12
FreeAPS/Resources/javascript/middleware/determine_basal.js

@@ -37,7 +37,7 @@ function middleware(iob, currenttemp, glucose, profile, autosens, meal, reservoi
     if (currentMinTarget >= 118 && exerciseSetting == true) {
         // profile.use_autoisf = false;
         chrisFormula = false;
-        log = "Chris' formula is off due to a high temp target/exercising. Current min target: " + currentMinTarget;
+        log = "Dynamic ISF temporarily off due to a high temp target/exercising. Current min target: " + currentMinTarget;
     }
     
     // Check that there is enough pump history data (>23 hours) for TDD calculation, else end this middleware.
@@ -45,13 +45,17 @@ function middleware(iob, currenttemp, glucose, profile, autosens, meal, reservoi
         let ph_length = pumphistory.length;
         let endDate = new Date(pumphistory[ph_length-1].timestamp);
         let startDate = new Date(pumphistory[0].timestamp);
+        // If latest pump event is a temp basal
+        if (pumphistory[0]._type == "TempBasalDuration") {
+            startDate = new Date();
+        }
         // > 23 hours
         pumpData = (startDate - endDate) / 36e5;
         if (pumpData >= 23) {
             enoughData = true;
         } else {
                 chrisFormula = false;
-                return "Chris' formula is temporarily off. 24 hours of data is required for a correct TDD calculation. Currently only " + pumpData.toPrecision(3) + " hours of pump history data available.";
+                return "Dynamic ISF is temporarily off. 24 hours of data is required for a correct TDD calculation. Currently only " + pumpData.toPrecision(3) + " hours of pump history data available.";
         }
     }
     
@@ -171,6 +175,7 @@ function middleware(iob, currenttemp, glucose, profile, autosens, meal, reservoi
             let oldBasalDuration = pumphistory[n]['duration (min)'] / 60;
             // time of old temp basal
             let oldTime = new Date(pumphistory[n].timestamp);
+                        
             let newTime = oldTime;
             let o = n;
             do {
@@ -184,19 +189,31 @@ function middleware(iob, currenttemp, glucose, profile, autosens, meal, reservoi
                 }
             } while (o > 0);
             
+            // When latest temp basal is index 0 in pump history
+            if (n == 0 && pumphistory[0]._type == "TempBasalDuration") {
+                newTime = new Date();
+                oldBasalDuration = pumphistory[n]['duration (min)'] / 60;
+            }
+            
             // Time difference in hours, new - old
             let tempBasalTimeDifference = (newTime - oldTime) / 36e5;
+            
             let timeOfbasal = tempBasalTimeDifference - oldBasalDuration;
             
             // if duration of scheduled basal is more than 0
             if (timeOfbasal > 0) {
-                let hour = oldTime.getHours();
-                let minutes = oldTime.getMinutes();
+                
+                // Timestamp after completed temp basal
+                let timeOfScheduledBasal = new Date(oldTime.getTime() + oldBasalDuration*36e5);
+                
+                //oldTime.setHours( oldTime.getHours() + oldBasalDuration );
+                
+                let hour = timeOfScheduledBasal.getHours();
+                let minutes = timeOfScheduledBasal.getMinutes();
                 let seconds = "00";
                 // "hour:minutes:00"
-                let timeString = "" + hour + ":" + minutes + ":" + seconds;
-                let baseTime = new Date(timeString);
-                
+                let baseTime = "" + hour + ":" + minutes + ":" + seconds;
+                                
                 // Default if correct basal schedule rate not found
                 let basalScheduledRate = profile.basalprofile[0].rate;
     
@@ -233,22 +250,22 @@ function middleware(iob, currenttemp, glucose, profile, autosens, meal, reservoi
     TDD = bolusInsulin + tempInsulin + scheduledBasalInsulin;
     logBolus = ". Bolus insulin: " + bolusInsulin.toPrecision(5) + " U";
     logTempBasal = ". Temporary basal insulin: " + tempInsulin.toPrecision(5) + " U";
-    logBasal = ". Delivered scheduled basal rate insulin: " + scheduledBasalInsulin.toPrecision(5) + " U";
+    logBasal = ". Delivered scheduled basal insulin: " + scheduledBasalInsulin.toPrecision(5) + " U";
     logTDD = ". TDD past 24h is: " + TDD.toPrecision(5) + " U";
     // ----------------------------------------------------
       
     // Chris' formula with added adjustmentFactor for tuning:
     if (chrisFormula == true && TDD > 0) {
         var newRatio = profile.sens / (277700 / (adjustmentFactor  * TDD * BG));
-        log = "New ratio using Chris' formula is " + newRatio.toPrecision(3) + " with ISF: " + (profile.sens / newRatio).toPrecision(3) + " (" + ((profile.sens / newRatio) * 0.0555).toPrecision(3) + " mmol/l/U)";
+        log = "New ratio using Dynamic ISF is " + newRatio.toPrecision(3) + " with ISF: " + (profile.sens / newRatio).toPrecision(3) + " (" + ((profile.sens / newRatio) * 0.0555).toPrecision(3) + " mmol/l/U)";
 
         // Respect autosens.max and autosens.min limits
         if (newRatio > maxLimitChris) {
             newRatio = maxLimitChris;
-            log = "Chris' formula hit limit by autosens_max setting: " + maxLimitChris + ". ISF: " + (profile.sens / newRatio).toPrecision(3) + " (" + ((profile.sens / newRatio) * 0.0555).toPrecision(3) + " mmol/l/U)";
+            log = "Dynamic ISF hit limit by autosens_max setting: " + maxLimitChris + ". ISF: " + (profile.sens / maxLimitChris).toPrecision(3) + " (" + ((profile.sens / maxLimitChris) * 0.0555).toPrecision(3) + " mmol/l/U)";
         } else if (newRatio < minLimitChris) {
             newRatio = minLimitChris;
-            log = "Chris' formula hit limit by autosens_min setting: " + minLimitChris + ". ISF: " + (profile.sens / newRatio).toPrecision(3) + " (" + ((profile.sens / newRatio) * 0.0555).toPrecision(3) + " mmol/l/U)";
+            log = "Dynamic ISF hit limit by autosens_min setting: " + minLimitChris + ". ISF: " + (profile.sens / minLimitChris).toPrecision(3) + " (" + ((profile.sens / minLimitChris) * 0.0555).toPrecision(3) + " mmol/l/U)";
           }
 
         // Set the new ratio
@@ -256,5 +273,5 @@ function middleware(iob, currenttemp, glucose, profile, autosens, meal, reservoi
         // Print to log
         return log + logTDD + logBolus + logTempBasal + logBasal;
         
-    } else { return "Chris' formula is off." }
+    } else { return "Dynamic ISF is off." }
 }

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 1
FreeAPS/Sources/Localizations/Main/ar.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 1
FreeAPS/Sources/Localizations/Main/ca.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 1
FreeAPS/Sources/Localizations/Main/da.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 1
FreeAPS/Sources/Localizations/Main/de.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 6 - 6
FreeAPS/Sources/Localizations/Main/en.lproj/Localizable.strings


+ 4 - 1
FreeAPS/Sources/Localizations/Main/es.lproj/Localizable.strings

@@ -896,6 +896,9 @@ Enact a temp Basal or a temp target */
 /* */
 "Animated Background" = "Animated Background";
 
+/* Sensor day(s) */
+" day(s)" = " day(s)";
+
 
 /* Headers for settings ----------------------- */
 "OpenAPS main settings" = "OpenAPS main settings";
@@ -1059,7 +1062,7 @@ Un 1.0 de valor permite un ajuste completo con el nuevo factor de sensibilidad d
 "Minimum duration in minutes between two enacted SMBs" = "Duración mínima en minutos entre dos SMBs aprobados";
 
 /* "Bolus Increment" */
-"Smallest possible bolus amount" = "Cantidad de bolo más pequeña posible";
+"Smallest SMB / SMB increment in oref0. Minimum amount for Medtronic pumps is 0.1 U, whereas for Omnipod it’s 0.05 U. The default value is 0.1." = "Smallest SMB / SMB increment in oref0. Minimum amount for Medtronic pumps is 0.1 U, whereas for Omnipod it’s 0.05 U. The default value is 0.1.";
 
 /* "Insulin Peak Time" */
 "Time of maximum blood glucose lowering effect of insulin, in minutes. Beware: Oref assumes for ultra-rapid (Lyumjev) & rapid-acting (Fiasp) curves minimal (35 & 50 min) and maximal (100 & 120 min) applicable insulinPeakTimes. Using a custom insulinPeakTime outside these bounds will result in issues with FreeAPS-X, longer loop calculations and possible red loops." = "Tiempo del máximo efecto de disminución de glucosa de la insulina, en minutos";

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 1
FreeAPS/Sources/Localizations/Main/fi.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 31 - 44
FreeAPS/Sources/Localizations/Main/fr.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 1
FreeAPS/Sources/Localizations/Main/he.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 1
FreeAPS/Sources/Localizations/Main/it.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 5 - 2
FreeAPS/Sources/Localizations/Main/nb.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 1
FreeAPS/Sources/Localizations/Main/nl.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 1
FreeAPS/Sources/Localizations/Main/pl.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 55 - 52
FreeAPS/Sources/Localizations/Main/pt-BR.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 1
FreeAPS/Sources/Localizations/Main/pt-PT.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 1
FreeAPS/Sources/Localizations/Main/ru.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4 - 1
FreeAPS/Sources/Localizations/Main/sk.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 9 - 6
FreeAPS/Sources/Localizations/Main/sv.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 6 - 3
FreeAPS/Sources/Localizations/Main/tr.lproj/Localizable.strings


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 5 - 2
FreeAPS/Sources/Localizations/Main/uk.lproj/Localizable.strings


+ 8 - 5
FreeAPS/Sources/Localizations/Main/zh-Hans.lproj/Localizable.strings

@@ -879,23 +879,26 @@ Enact a temp Basal or a temp target */
 "Bolus failed or inaccurate. Check pump history before repeating." = "大剂量失败或者不准确,请在重复操作前检查胰岛素泵历史";
 
 /* */
-"Carbs" = "Carbs";
+"Carbs" = "碳水化合物";
 
 /* */
-"Temp Basal" = "Temp Basal";
+"Temp Basal" = "临时基础率";
 
 /* */
-"Temp Target" = "Temp Target";
+"Temp Target" = "临时目标";
 
 /* */
 "Resume" = "Resume";
 
 /* */
-"Suspend" = "Suspend";
+"Suspend" = "暂停";
 
 /* */
 "Animated Background" = "Animated Background";
 
+/* Sensor day(s) */
+" day(s)" = " day(s)";
+
 
 /* Headers for settings ----------------------- */
 "OpenAPS main settings" = "OpenAPS 主要设置";
@@ -1055,7 +1058,7 @@ Enact a temp Basal or a temp target */
 "Minimum duration in minutes between two enacted SMBs" = "两次自动大剂量的最短时间";
 
 /* "Bolus Increment" */
-"Smallest possible bolus amount" = "可能的最小大剂量输注";
+"Smallest SMB / SMB increment in oref0. Minimum amount for Medtronic pumps is 0.1 U, whereas for Omnipod it’s 0.05 U. The default value is 0.1." = "Smallest SMB / SMB increment in oref0. Minimum amount for Medtronic pumps is 0.1 U, whereas for Omnipod it’s 0.05 U. The default value is 0.1.";
 
 /* "Insulin Peak Time" */
 "Time of maximum blood glucose lowering effect of insulin, in minutes. Beware: Oref assumes for ultra-rapid (Lyumjev) & rapid-acting (Fiasp) curves minimal (35 & 50 min) and maximal (100 & 120 min) applicable insulinPeakTimes. Using a custom insulinPeakTime outside these bounds will result in issues with FreeAPS-X, longer loop calculations and possible red loops." = "胰岛素的最大降血糖作用,以分钟为单位";

+ 8 - 8
FreeAPS/Sources/Modules/PreferencesEditor/PreferencesEditorStateModel.swift

@@ -93,20 +93,20 @@ extension PreferencesEditor {
 
             let dynamicISF = [
                 Field(
-                    displayName: "Adjustment factor",
+                    displayName: "Adjustment Factor",
                     type: .decimal(keypath: \.adjustmentFactor),
                     infoText: NSLocalizedString(
-                        "Adjust Chris' constant",
-                        comment: "Adjust Chris' constant"
+                        "Adjust Dynamic ISF constant",
+                        comment: "Adjust Dynamic ISF constant"
                     ),
                     settable: self
                 ),
                 Field(
-                    displayName: "Enable Chris' dynamic ISF",
+                    displayName: "Enable Dynamic ISF",
                     type: .boolean(keypath: \.enableChris),
                     infoText: NSLocalizedString(
-                        "Enable Chris' dynamif ISF",
-                        comment: "Enable Chris' dynamif ISF"
+                        "Enable Dynamic ISF",
+                        comment: "Enable Dynamic ISF"
                     ),
                     settable: self
                 )
@@ -203,7 +203,7 @@ extension PreferencesEditor {
                 Field(
                     displayName: "Bolus Increment",
                     type: .decimal(keypath: \.bolusIncrement),
-                    infoText: NSLocalizedString("Smallest possible bolus amount", comment: "Bolus Increment"),
+                    infoText: NSLocalizedString("Smallest SMB / SMB increment in oref0. Minimum amount for Medtronic pumps is 0.1 U, whereas for Omnipod it’s 0.05 U. The default value is 0.1.", comment: "Bolus Increment"),
                     settable: self
                 )
             ]
@@ -604,7 +604,7 @@ extension PreferencesEditor {
                     displayName: NSLocalizedString("OpenAPS main settings", comment: "OpenAPS main settings"), fields: mainFields
                 ),
                 FieldSection(
-                    displayName: NSLocalizedString("Chris' dynamic ISF settings", comment: "Chris' dynamic ISF settings"),
+                    displayName: NSLocalizedString("Dynamic ISF settings", comment: "Dynamic ISF settings"),
                     fields: dynamicISF
                 ),
                 FieldSection(