From 461013e9d6daa90c162da67a07e57b8a488100f2 Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Wed, 15 Aug 2018 18:50:11 -0700 Subject: [PATCH 01/24] Language commits --- DoseMathTests/de.lproj/InfoPlist.strings | 1 + DoseMathTests/de.lproj/Localizable.strings | 27 ++ DoseMathTests/es.lproj/Localizable.strings | 16 +- DoseMathTests/fr.lproj/InfoPlist.strings | 1 + DoseMathTests/fr.lproj/Localizable.strings | 27 ++ DoseMathTests/it.lproj/InfoPlist.strings | 1 + DoseMathTests/it.lproj/Localizable.strings | 27 ++ DoseMathTests/nb.lproj/InfoPlist.strings | 1 + DoseMathTests/nb.lproj/Localizable.strings | 27 ++ DoseMathTests/nl.lproj/InfoPlist.strings | 1 + DoseMathTests/nl.lproj/Localizable.strings | 27 ++ DoseMathTests/ru.lproj/Localizable.strings | 16 +- DoseMathTests/zh-Hans.lproj/InfoPlist.strings | 1 + .../zh-Hans.lproj/Localizable.strings | 27 ++ .../Base.lproj/InfoPlist.strings | 6 + .../Base.lproj/Localizable.strings | 50 +++ .../de.lproj/InfoPlist.strings | 6 + .../de.lproj/Localizable.strings | 51 +++ .../de.lproj/MainInterface.strings | 6 + .../es.lproj/Localizable.strings | 45 +- .../es.lproj/MainInterface.strings | 3 + .../fr.lproj/InfoPlist.strings | 6 + .../fr.lproj/Localizable.strings | 51 +++ .../fr.lproj/MainInterface.strings | 6 + .../it.lproj/InfoPlist.strings | 6 + .../it.lproj/Localizable.strings | 51 +++ .../it.lproj/MainInterface.strings | 6 + .../nb.lproj/InfoPlist.strings | 6 + .../nb.lproj/Localizable.strings | 51 +++ .../nb.lproj/MainInterface.strings | 6 + .../nl.lproj/InfoPlist.strings | 6 + .../nl.lproj/Localizable.strings | 51 +++ .../nl.lproj/MainInterface.strings | 6 + .../ru.lproj/Localizable.strings | 43 +- .../ru.lproj/MainInterface.strings | 2 +- .../zh-Hans.lproj/InfoPlist.strings | 6 + .../zh-Hans.lproj/Localizable.strings | 51 +++ .../zh-Hans.lproj/MainInterface.strings | 6 + Loop.xcodeproj/project.pbxproj | 284 +++++++++++- Loop/Base.lproj/InfoPlist.strings | 17 + Loop/Base.lproj/Localizable.strings | 413 +++++++++++++++++ Loop/Info.plist | 6 +- Loop/de.lproj/InfoPlist.strings | 18 + Loop/de.lproj/LaunchScreen.strings | 1 + Loop/de.lproj/Localizable.strings | 414 ++++++++++++++++++ Loop/de.lproj/Main.strings | 147 +++++++ Loop/es.lproj/InfoPlist.strings | 15 +- Loop/es.lproj/Localizable.strings | 154 +++---- Loop/es.lproj/Main.strings | 111 ++--- Loop/fr.lproj/InfoPlist.strings | 18 + Loop/fr.lproj/LaunchScreen.strings | 1 + Loop/fr.lproj/Localizable.strings | 414 ++++++++++++++++++ Loop/fr.lproj/Main.strings | 147 +++++++ Loop/it.lproj/InfoPlist.strings | 18 +- Loop/it.lproj/LaunchScreen.strings | 1 + Loop/it.lproj/Localizable.strings | 361 ++++++++------- Loop/it.lproj/Main.strings | 148 ++++--- Loop/nb.lproj/InfoPlist.strings | 18 + Loop/nb.lproj/LaunchScreen.strings | 1 + Loop/nb.lproj/Localizable.strings | 414 ++++++++++++++++++ Loop/nb.lproj/Main.strings | 147 +++++++ Loop/nl.lproj/InfoPlist.strings | 18 + Loop/nl.lproj/LaunchScreen.strings | 1 + Loop/nl.lproj/Localizable.strings | 414 ++++++++++++++++++ Loop/nl.lproj/Main.strings | 147 +++++++ Loop/ru.lproj/InfoPlist.strings | 13 +- Loop/ru.lproj/Localizable.strings | 147 +++---- Loop/ru.lproj/Main.strings | 114 ++--- Loop/zh-Hans.lproj/InfoPlist.strings | 18 + Loop/zh-Hans.lproj/LaunchScreen.strings | 1 + Loop/zh-Hans.lproj/Localizable.strings | 414 ++++++++++++++++++ Loop/zh-Hans.lproj/Main.strings | 147 +++++++ LoopTests/de.lproj/InfoPlist.strings | 3 + LoopTests/es.lproj/InfoPlist.strings | 3 + LoopTests/fr.lproj/InfoPlist.strings | 3 + LoopTests/it.lproj/InfoPlist.strings | 3 + LoopTests/nb.lproj/InfoPlist.strings | 3 + LoopTests/nl.lproj/InfoPlist.strings | 3 + LoopTests/ru.lproj/InfoPlist.strings | 3 + LoopTests/zh-Hans.lproj/InfoPlist.strings | 0 LoopUI/Views/BasalRateHUDView.swift | 6 +- LoopUI/Views/GlucoseHUDView.swift | 4 +- LoopUI/Views/LevelHUDView.swift | 2 +- LoopUI/Views/LoopCompletionHUDView.swift | 10 +- LoopUI/Views/ReservoirVolumeHUDView.swift | 4 +- LoopUI/de.lproj/InfoPlist.strings | 6 + LoopUI/de.lproj/Localizable.strings | 54 +++ LoopUI/es.lproj/Localizable.strings | 51 +-- LoopUI/fr.lproj/InfoPlist.strings | 6 + LoopUI/fr.lproj/Localizable.strings | 54 +++ LoopUI/it.lproj/InfoPlist.strings | 6 + LoopUI/it.lproj/Localizable.strings | 54 +++ LoopUI/nb.lproj/InfoPlist.strings | 6 + LoopUI/nb.lproj/Localizable.strings | 54 +++ LoopUI/nl.lproj/InfoPlist.strings | 6 + LoopUI/nl.lproj/Localizable.strings | 54 +++ LoopUI/ru.lproj/Localizable.strings | 51 +-- LoopUI/zh-Hans.lproj/InfoPlist.strings | 6 + LoopUI/zh-Hans.lproj/Localizable.strings | 54 +++ .../Base.lproj/InfoPlist.strings | 6 + .../Base.lproj/Localizable.strings | 37 ++ WatchApp Extension/de.lproj/InfoPlist.strings | 6 + .../de.lproj/Localizable.strings | 36 ++ .../de.lproj/ckcomplication.strings | 13 + .../es.lproj/Localizable.strings | 41 +- WatchApp Extension/fr.lproj/InfoPlist.strings | 6 + .../fr.lproj/Localizable.strings | 36 ++ .../fr.lproj/ckcomplication.strings | 13 + WatchApp Extension/it.lproj/InfoPlist.strings | 7 +- .../it.lproj/Localizable.strings | 36 ++ .../it.lproj/ckcomplication.strings | 8 +- WatchApp Extension/nb.lproj/InfoPlist.strings | 6 + .../nb.lproj/Localizable.strings | 36 ++ .../nb.lproj/ckcomplication.strings | 13 + WatchApp Extension/nl.lproj/InfoPlist.strings | 6 + .../nl.lproj/Localizable.strings | 36 ++ .../nl.lproj/ckcomplication.strings | 13 + .../ru.lproj/Localizable.strings | 38 +- .../zh-Hans.lproj/InfoPlist.strings | 6 + .../zh-Hans.lproj/Localizable.strings | 36 ++ .../zh-Hans.lproj/ckcomplication.strings | 13 + WatchApp/Base.lproj/InfoPlist.strings | 6 + WatchApp/de.lproj/InfoPlist.strings | 6 + WatchApp/de.lproj/Interface.strings | 72 +++ WatchApp/es.lproj/Interface.strings | 44 +- WatchApp/fr.lproj/InfoPlist.strings | 6 + WatchApp/fr.lproj/Interface.strings | 72 +++ WatchApp/it.lproj/InfoPlist.strings | 6 +- WatchApp/it.lproj/Interface.strings | 61 +-- WatchApp/nb.lproj/InfoPlist.strings | 6 + WatchApp/nb.lproj/Interface.strings | 72 +++ WatchApp/nl.lproj/InfoPlist.strings | 6 + WatchApp/nl.lproj/Interface.strings | 72 +++ WatchApp/ru.lproj/Interface.strings | 42 +- WatchApp/zh-Hans.lproj/InfoPlist.strings | 6 + WatchApp/zh-Hans.lproj/Interface.strings | 72 +++ 136 files changed, 6207 insertions(+), 728 deletions(-) create mode 100644 DoseMathTests/de.lproj/InfoPlist.strings create mode 100644 DoseMathTests/de.lproj/Localizable.strings create mode 100644 DoseMathTests/fr.lproj/InfoPlist.strings create mode 100644 DoseMathTests/fr.lproj/Localizable.strings create mode 100644 DoseMathTests/it.lproj/InfoPlist.strings create mode 100644 DoseMathTests/it.lproj/Localizable.strings create mode 100644 DoseMathTests/nb.lproj/InfoPlist.strings create mode 100644 DoseMathTests/nb.lproj/Localizable.strings create mode 100644 DoseMathTests/nl.lproj/InfoPlist.strings create mode 100644 DoseMathTests/nl.lproj/Localizable.strings create mode 100644 DoseMathTests/zh-Hans.lproj/InfoPlist.strings create mode 100644 DoseMathTests/zh-Hans.lproj/Localizable.strings create mode 100644 Loop Status Extension/Base.lproj/InfoPlist.strings create mode 100644 Loop Status Extension/Base.lproj/Localizable.strings create mode 100644 Loop Status Extension/de.lproj/InfoPlist.strings create mode 100644 Loop Status Extension/de.lproj/Localizable.strings create mode 100644 Loop Status Extension/de.lproj/MainInterface.strings create mode 100644 Loop Status Extension/fr.lproj/InfoPlist.strings create mode 100644 Loop Status Extension/fr.lproj/Localizable.strings create mode 100644 Loop Status Extension/fr.lproj/MainInterface.strings create mode 100644 Loop Status Extension/it.lproj/InfoPlist.strings create mode 100644 Loop Status Extension/it.lproj/Localizable.strings create mode 100644 Loop Status Extension/it.lproj/MainInterface.strings create mode 100644 Loop Status Extension/nb.lproj/InfoPlist.strings create mode 100644 Loop Status Extension/nb.lproj/Localizable.strings create mode 100644 Loop Status Extension/nb.lproj/MainInterface.strings create mode 100644 Loop Status Extension/nl.lproj/InfoPlist.strings create mode 100644 Loop Status Extension/nl.lproj/Localizable.strings create mode 100644 Loop Status Extension/nl.lproj/MainInterface.strings create mode 100644 Loop Status Extension/zh-Hans.lproj/InfoPlist.strings create mode 100644 Loop Status Extension/zh-Hans.lproj/Localizable.strings create mode 100644 Loop Status Extension/zh-Hans.lproj/MainInterface.strings create mode 100644 Loop/Base.lproj/InfoPlist.strings create mode 100644 Loop/Base.lproj/Localizable.strings create mode 100644 Loop/de.lproj/InfoPlist.strings create mode 100644 Loop/de.lproj/LaunchScreen.strings create mode 100644 Loop/de.lproj/Localizable.strings create mode 100644 Loop/de.lproj/Main.strings create mode 100644 Loop/fr.lproj/InfoPlist.strings create mode 100644 Loop/fr.lproj/LaunchScreen.strings create mode 100644 Loop/fr.lproj/Localizable.strings create mode 100644 Loop/fr.lproj/Main.strings create mode 100644 Loop/it.lproj/LaunchScreen.strings create mode 100644 Loop/nb.lproj/InfoPlist.strings create mode 100644 Loop/nb.lproj/LaunchScreen.strings create mode 100644 Loop/nb.lproj/Localizable.strings create mode 100644 Loop/nb.lproj/Main.strings create mode 100644 Loop/nl.lproj/InfoPlist.strings create mode 100644 Loop/nl.lproj/LaunchScreen.strings create mode 100644 Loop/nl.lproj/Localizable.strings create mode 100644 Loop/nl.lproj/Main.strings create mode 100644 Loop/zh-Hans.lproj/InfoPlist.strings create mode 100644 Loop/zh-Hans.lproj/LaunchScreen.strings create mode 100644 Loop/zh-Hans.lproj/Localizable.strings create mode 100644 Loop/zh-Hans.lproj/Main.strings create mode 100644 LoopTests/de.lproj/InfoPlist.strings create mode 100644 LoopTests/es.lproj/InfoPlist.strings create mode 100644 LoopTests/fr.lproj/InfoPlist.strings create mode 100644 LoopTests/it.lproj/InfoPlist.strings create mode 100644 LoopTests/nb.lproj/InfoPlist.strings create mode 100644 LoopTests/nl.lproj/InfoPlist.strings create mode 100644 LoopTests/ru.lproj/InfoPlist.strings create mode 100644 LoopTests/zh-Hans.lproj/InfoPlist.strings create mode 100644 LoopUI/de.lproj/InfoPlist.strings create mode 100644 LoopUI/de.lproj/Localizable.strings create mode 100644 LoopUI/fr.lproj/InfoPlist.strings create mode 100644 LoopUI/fr.lproj/Localizable.strings create mode 100644 LoopUI/it.lproj/InfoPlist.strings create mode 100644 LoopUI/it.lproj/Localizable.strings create mode 100644 LoopUI/nb.lproj/InfoPlist.strings create mode 100644 LoopUI/nb.lproj/Localizable.strings create mode 100644 LoopUI/nl.lproj/InfoPlist.strings create mode 100644 LoopUI/nl.lproj/Localizable.strings create mode 100644 LoopUI/zh-Hans.lproj/InfoPlist.strings create mode 100644 LoopUI/zh-Hans.lproj/Localizable.strings create mode 100644 WatchApp Extension/Base.lproj/InfoPlist.strings create mode 100644 WatchApp Extension/Base.lproj/Localizable.strings create mode 100644 WatchApp Extension/de.lproj/InfoPlist.strings create mode 100644 WatchApp Extension/de.lproj/Localizable.strings create mode 100644 WatchApp Extension/de.lproj/ckcomplication.strings create mode 100644 WatchApp Extension/fr.lproj/InfoPlist.strings create mode 100644 WatchApp Extension/fr.lproj/Localizable.strings create mode 100644 WatchApp Extension/fr.lproj/ckcomplication.strings create mode 100644 WatchApp Extension/it.lproj/Localizable.strings create mode 100644 WatchApp Extension/nb.lproj/InfoPlist.strings create mode 100644 WatchApp Extension/nb.lproj/Localizable.strings create mode 100644 WatchApp Extension/nb.lproj/ckcomplication.strings create mode 100644 WatchApp Extension/nl.lproj/InfoPlist.strings create mode 100644 WatchApp Extension/nl.lproj/Localizable.strings create mode 100644 WatchApp Extension/nl.lproj/ckcomplication.strings create mode 100644 WatchApp Extension/zh-Hans.lproj/InfoPlist.strings create mode 100644 WatchApp Extension/zh-Hans.lproj/Localizable.strings create mode 100644 WatchApp Extension/zh-Hans.lproj/ckcomplication.strings create mode 100644 WatchApp/Base.lproj/InfoPlist.strings create mode 100644 WatchApp/de.lproj/InfoPlist.strings create mode 100644 WatchApp/de.lproj/Interface.strings create mode 100644 WatchApp/fr.lproj/InfoPlist.strings create mode 100644 WatchApp/fr.lproj/Interface.strings create mode 100644 WatchApp/nb.lproj/InfoPlist.strings create mode 100644 WatchApp/nb.lproj/Interface.strings create mode 100644 WatchApp/nl.lproj/InfoPlist.strings create mode 100644 WatchApp/nl.lproj/Interface.strings create mode 100644 WatchApp/zh-Hans.lproj/InfoPlist.strings create mode 100644 WatchApp/zh-Hans.lproj/Interface.strings diff --git a/DoseMathTests/de.lproj/InfoPlist.strings b/DoseMathTests/de.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/de.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/de.lproj/Localizable.strings b/DoseMathTests/de.lproj/Localizable.strings new file mode 100644 index 0000000000..73f655822e --- /dev/null +++ b/DoseMathTests/de.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Der aktuell Blutzucker von %1$@ liegt unterhalb des Korrekturbereiches."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Der Vorhergesagte Blutzucker um %1$@ ist %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Der vorhergesagte Blutzucker von %1$@ liegt unterhalb des eingestellten Schwellwertes zur Unterbrechung der Basalrate. "; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + diff --git a/DoseMathTests/es.lproj/Localizable.strings b/DoseMathTests/es.lproj/Localizable.strings index f891fbeef2..ea86cdbd48 100644 --- a/DoseMathTests/es.lproj/Localizable.strings +++ b/DoseMathTests/es.lproj/Localizable.strings @@ -1,6 +1,18 @@ /* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ "Current glucose of %1$@ is below correction range." = "Glucosa actual de %1$@ está debajo del rango correctivo."; +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ "Predicted glucose at %1$@ is %2$@." = "Glucosa proyectada en %1$@ es %2$@."; @@ -10,6 +22,6 @@ /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; +/* The short unit display string for international units of insulin */ +"U" = "U"; diff --git a/DoseMathTests/fr.lproj/InfoPlist.strings b/DoseMathTests/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/fr.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/fr.lproj/Localizable.strings b/DoseMathTests/fr.lproj/Localizable.strings new file mode 100644 index 0000000000..a148669627 --- /dev/null +++ b/DoseMathTests/fr.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Glycémie actuelle %1$@ sous la plage de correction."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Glycémie de %2$@ prédite pour %1$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Prédiction de la glycémie à %1$@ sous le seuil de suspension défini."; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + diff --git a/DoseMathTests/it.lproj/InfoPlist.strings b/DoseMathTests/it.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/it.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/it.lproj/Localizable.strings b/DoseMathTests/it.lproj/Localizable.strings new file mode 100644 index 0000000000..ac7b220625 --- /dev/null +++ b/DoseMathTests/it.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "La glicemia corrente %1$@ é al di sotto dell'intervallo glicemico selezionato."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "La glicemia prevista a %1$@ è %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "La glicemia prevista %1$@ è inferiore al valore glicemico previsto per la sospensione dell'erogazione."; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + diff --git a/DoseMathTests/nb.lproj/InfoPlist.strings b/DoseMathTests/nb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/nb.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/nb.lproj/Localizable.strings b/DoseMathTests/nb.lproj/Localizable.strings new file mode 100644 index 0000000000..0739d24535 --- /dev/null +++ b/DoseMathTests/nb.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Nåværende blodsukker på %1$@ er under målområde."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Forventet blodsukker om %1$@ er %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Forventet blodsukker %1$@ er under innstillingen for stopp av insulintilførsel."; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + diff --git a/DoseMathTests/nl.lproj/InfoPlist.strings b/DoseMathTests/nl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/nl.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/nl.lproj/Localizable.strings b/DoseMathTests/nl.lproj/Localizable.strings new file mode 100644 index 0000000000..f104ed4a4d --- /dev/null +++ b/DoseMathTests/nl.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Huidige glucose van %1$@ is onder het correctie bereik."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "gr"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Voorspelde glucose van %1$@ is %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Voorspelde glucose van %1$@ is onder het onderbreken van basaal instelling."; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + diff --git a/DoseMathTests/ru.lproj/Localizable.strings b/DoseMathTests/ru.lproj/Localizable.strings index 4d12f14694..c15e8d72e7 100644 --- a/DoseMathTests/ru.lproj/Localizable.strings +++ b/DoseMathTests/ru.lproj/Localizable.strings @@ -1,6 +1,18 @@ /* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ "Current glucose of %1$@ is below correction range." = " Текущая гликемия %1$@ ниже диапазона коррекции"; +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "г"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "мг/дл"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + /* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ "Predicted glucose at %1$@ is %2$@." = "Предсказываемая гликемия в %1$@ - %2$@."; @@ -10,6 +22,6 @@ /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "ммоль/л"; +/* The short unit display string for international units of insulin */ +"U" = "ед"; diff --git a/DoseMathTests/zh-Hans.lproj/InfoPlist.strings b/DoseMathTests/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/zh-Hans.lproj/Localizable.strings b/DoseMathTests/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000000..11863c50dc --- /dev/null +++ b/DoseMathTests/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "当前血糖%1$@低于纠正目标."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "克"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "毫克/分升"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "毫摩尔/升"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "未来%1$@时间的血糖为%2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "预计血糖%1$@低于低血糖暂停阈值"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "单位"; + diff --git a/Loop Status Extension/Base.lproj/InfoPlist.strings b/Loop Status Extension/Base.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/Base.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/Base.lproj/Localizable.strings b/Loop Status Extension/Base.lproj/Localizable.strings new file mode 100644 index 0000000000..4c9097d64c --- /dev/null +++ b/Loop Status Extension/Base.lproj/Localizable.strings @@ -0,0 +1,50 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "A model based on the published absorption of Fiasp insulin."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults."; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "An adjustment to the adult model based on empirical effects in children."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "Eventually %1$@ %2$@"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ U"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Rapid-Acting – Adults"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Rapid-Acting – Children"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "The legacy model used by Loop, allowing customization of action duration."; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; diff --git a/Loop Status Extension/de.lproj/InfoPlist.strings b/Loop Status Extension/de.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/de.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/de.lproj/Localizable.strings b/Loop Status Extension/de.lproj/Localizable.strings new file mode 100644 index 0000000000..e18f2cf64d --- /dev/null +++ b/Loop Status Extension/de.lproj/Localizable.strings @@ -0,0 +1,51 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Ein Modell basierend auf der veröffentlichten Absorption von Fiasp-Insulin."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Ein Modell auf der Grundlage der veröffentlichten Absorption von Humalog, Novolog und Apidra Insulin bei Erwachsenen."; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Eine Anpassung an das Erwachsenenmodell basierend auf empirischen Effekten bei Kindern."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "Schließlich %1$@ %2$@"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ E"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Schnell handelnd - Erwachsene"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Schnell handelnd - Kinder"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Das Legacy-Modell, das von Loop verwendet wird und die Anpassung der Aktionsdauer ermöglicht."; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + diff --git a/Loop Status Extension/de.lproj/MainInterface.strings b/Loop Status Extension/de.lproj/MainInterface.strings new file mode 100644 index 0000000000..9f4e0690f3 --- /dev/null +++ b/Loop Status Extension/de.lproj/MainInterface.strings @@ -0,0 +1,6 @@ +/* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ +"9iF-xY-Bh4.text" = "schließlich 92 mg/dL"; + +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 E"; + diff --git a/Loop Status Extension/es.lproj/Localizable.strings b/Loop Status Extension/es.lproj/Localizable.strings index f3457c9c08..689064591d 100644 --- a/Loop Status Extension/es.lproj/Localizable.strings +++ b/Loop Status Extension/es.lproj/Localizable.strings @@ -1,12 +1,51 @@ /* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ "%1$@ v%2$@" = "%1$@ v%2$@"; -/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Un modelo basado en la publicación de la absorción de insulina Fiasp."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modelo basado en la publicación de la absorción de insulina Humalog, Novolog y Apidra en adultos."; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Un ajuste al modelo adulto basado en los efectos empíricos en niños."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ "Eventually %1$@ %2$@" = "Eventualmente %1$@ %2$@"; +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ U"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Acción Rápida — Adultos"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Acción Rápida — Niños"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "El model utilizado por ediciones iniciales de Loop, permite ajustar duración de acción."; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; diff --git a/Loop Status Extension/es.lproj/MainInterface.strings b/Loop Status Extension/es.lproj/MainInterface.strings index 3360a8bb6f..8d4fcfa1e0 100644 --- a/Loop Status Extension/es.lproj/MainInterface.strings +++ b/Loop Status Extension/es.lproj/MainInterface.strings @@ -1,3 +1,6 @@ /* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ "9iF-xY-Bh4.text" = "Eventualmente 92 mg/dL"; +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 U"; + diff --git a/Loop Status Extension/fr.lproj/InfoPlist.strings b/Loop Status Extension/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/fr.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/fr.lproj/Localizable.strings b/Loop Status Extension/fr.lproj/Localizable.strings new file mode 100644 index 0000000000..1baaaf0570 --- /dev/null +++ b/Loop Status Extension/fr.lproj/Localizable.strings @@ -0,0 +1,51 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Un modèle basé sur l’absorption publiée de l’insuline FIASP."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modèle basé sur l’absorption publiée de l’Hunalog, Novolog, et Apidra chez l’adulte."; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Un ajustement au modèle adulte basé sur des effets empiriques chez les enfants."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "Éventuellement %1$@ %2$@"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ U"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Action rapide - Adulte"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Action rapide - Enfant"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Le modèle hérité utilisé par Loop, permettant de personnaliser la durée de l’action."; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + diff --git a/Loop Status Extension/fr.lproj/MainInterface.strings b/Loop Status Extension/fr.lproj/MainInterface.strings new file mode 100644 index 0000000000..718222e748 --- /dev/null +++ b/Loop Status Extension/fr.lproj/MainInterface.strings @@ -0,0 +1,6 @@ +/* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ +"9iF-xY-Bh4.text" = "Éventuellement 92 mg/dL"; + +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 U"; + diff --git a/Loop Status Extension/it.lproj/InfoPlist.strings b/Loop Status Extension/it.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/it.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/it.lproj/Localizable.strings b/Loop Status Extension/it.lproj/Localizable.strings new file mode 100644 index 0000000000..732d79d715 --- /dev/null +++ b/Loop Status Extension/it.lproj/Localizable.strings @@ -0,0 +1,51 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Modello basato sull'assorbimento dell'insulina Fiasp."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Modello basato sull'assorbimento negli adulti dell'insulina Humalog, Novolog ed Apidra."; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Un adattamento al modello adulto basato su effetti empirici nei bambini."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "Probabile Glic. %1$@ %2$@"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ U"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Insulina ultrarapida – Adulti"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Insulina ultrarapida – Bambini"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "ll modello legacy utilizzato da Loop, che consente la personalizzazione della durata dell'azione."; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + diff --git a/Loop Status Extension/it.lproj/MainInterface.strings b/Loop Status Extension/it.lproj/MainInterface.strings new file mode 100644 index 0000000000..660125a4df --- /dev/null +++ b/Loop Status Extension/it.lproj/MainInterface.strings @@ -0,0 +1,6 @@ +/* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ +"9iF-xY-Bh4.text" = "probabile glic. 92 mg/dL"; + +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 U"; + diff --git a/Loop Status Extension/nb.lproj/InfoPlist.strings b/Loop Status Extension/nb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/nb.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/nb.lproj/Localizable.strings b/Loop Status Extension/nb.lproj/Localizable.strings new file mode 100644 index 0000000000..766f3ff5d7 --- /dev/null +++ b/Loop Status Extension/nb.lproj/Localizable.strings @@ -0,0 +1,51 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "En modell basert på publiserte data for absorpsjon av Fiasp insulin."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "En modell basert på publiserte data for absorpsjon av Humalog, Novolog og Apidra insulin hos voksne."; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "En justering til modellen tilpasset voksne, basert på empiriske effekter hos barn."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "Omsider %1$@ %2$@"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ E"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Hurtigvirkende – voksen"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Hurtigvirkende – barn"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Den gamle modellen brukt av Loop, tillater endring av varighet for tiltak."; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + diff --git a/Loop Status Extension/nb.lproj/MainInterface.strings b/Loop Status Extension/nb.lproj/MainInterface.strings new file mode 100644 index 0000000000..c464634590 --- /dev/null +++ b/Loop Status Extension/nb.lproj/MainInterface.strings @@ -0,0 +1,6 @@ +/* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ +"9iF-xY-Bh4.text" = "Omsider 92 mg/dL"; + +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 E"; + diff --git a/Loop Status Extension/nl.lproj/InfoPlist.strings b/Loop Status Extension/nl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/nl.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/nl.lproj/Localizable.strings b/Loop Status Extension/nl.lproj/Localizable.strings new file mode 100644 index 0000000000..2d2db19264 --- /dev/null +++ b/Loop Status Extension/nl.lproj/Localizable.strings @@ -0,0 +1,51 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Een model gebaseerd op de gepubliceerde opname van Fiasp insuline."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Een model gebaseerd op de gepubliceerde opname van Humalog, Novorapid, en Apidra insuline bij volwassenen."; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Een aanpassing aan het volwassen model gebaseerd om praktijk effecten bij kinderen."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "Uiteindelijk %1$@ %2$@"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ E"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Snelwerkende - volwassenen"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Snelwerkende - kinderen"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Het oude model dat door Loop wordt gebruikt, waardoor de actieduur kan worden aangepast."; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + diff --git a/Loop Status Extension/nl.lproj/MainInterface.strings b/Loop Status Extension/nl.lproj/MainInterface.strings new file mode 100644 index 0000000000..c652dfaa76 --- /dev/null +++ b/Loop Status Extension/nl.lproj/MainInterface.strings @@ -0,0 +1,6 @@ +/* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ +"9iF-xY-Bh4.text" = "Uiteindelijk 92 mg/dL"; + +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 E"; + diff --git a/Loop Status Extension/ru.lproj/Localizable.strings b/Loop Status Extension/ru.lproj/Localizable.strings index 5dabd82453..eaad302889 100644 --- a/Loop Status Extension/ru.lproj/Localizable.strings +++ b/Loop Status Extension/ru.lproj/Localizable.strings @@ -1,12 +1,51 @@ /* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ "%1$@ v%2$@" = "%1$@ v%2$@"; +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "модель, основанная на опубликованных данных усвоения FIASP инсулина"; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "модель, основанная на опубликованных данных усвоения Humalog, Novolog и Apidra у взрослых"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Поправка к модели для взрослых основанная на эмпирических данных для детей"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ "Eventually %1$@ %2$@" = "В конечном итоге %1$@ %2$@"; +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "г"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ ед"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "мг/дл"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "ммоль/л"; +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Боыстродействующий - взрослые"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Быстродействующий - дети"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Модель, используемая для цикла/контура, позволяет настройку длительности действия"; + +/* The short unit display string for international units of insulin */ +"U" = "ед"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; diff --git a/Loop Status Extension/ru.lproj/MainInterface.strings b/Loop Status Extension/ru.lproj/MainInterface.strings index 6f65da80eb..ac17fcfd98 100644 --- a/Loop Status Extension/ru.lproj/MainInterface.strings +++ b/Loop Status Extension/ru.lproj/MainInterface.strings @@ -2,5 +2,5 @@ "9iF-xY-Bh4.text" = "в конечном итоге 92 мг/дл"; /* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ -"UPi-dG-yYD.text" = "IOB 1.0 U"; +"UPi-dG-yYD.text" = "IOB 1.0 ед"; diff --git a/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings b/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/zh-Hans.lproj/Localizable.strings b/Loop Status Extension/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000000..79541f11d5 --- /dev/null +++ b/Loop Status Extension/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,51 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "基于公布的Fiasp胰岛素吸收的模型"; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "基于已公布的Humalog,Novolog和Apidra胰岛素在成人中吸收的模型。"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "在成人胰岛素模型基础上专为儿童修改的胰岛素代谢模型"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "最终 %1$@ %2$@"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "克"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ 单位"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "毫克/分升"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "毫摩尔/升"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "速效胰岛素 - 成人模型"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "速效胰岛素 - 儿童模型"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Loop使用的默认模型参数,您可以自行修改胰岛素代谢时间。"; + +/* The short unit display string for international units of insulin */ +"U" = "单位"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + diff --git a/Loop Status Extension/zh-Hans.lproj/MainInterface.strings b/Loop Status Extension/zh-Hans.lproj/MainInterface.strings new file mode 100644 index 0000000000..c315a458c2 --- /dev/null +++ b/Loop Status Extension/zh-Hans.lproj/MainInterface.strings @@ -0,0 +1,6 @@ +/* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ +"9iF-xY-Bh4.text" = "最终血糖为92 毫克/分升"; + +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 单位"; + diff --git a/Loop.xcodeproj/project.pbxproj b/Loop.xcodeproj/project.pbxproj index c297766f10..af12a9709a 100644 --- a/Loop.xcodeproj/project.pbxproj +++ b/Loop.xcodeproj/project.pbxproj @@ -25,8 +25,6 @@ 43027F0F1DFE0EC900C51989 /* HKUnit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F526D5E1DF2459000A04910 /* HKUnit.swift */; }; 4302F4E11D4E9C8900F0FCAF /* TextFieldTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4302F4E01D4E9C8900F0FCAF /* TextFieldTableViewController.swift */; }; 4302F4E31D4EA54200F0FCAF /* InsulinDeliveryTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4302F4E21D4EA54200F0FCAF /* InsulinDeliveryTableViewController.swift */; }; - 43076BF31DFDBC4B0012A723 /* it.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 43076BF21DFDBC4B0012A723 /* it.lproj */; }; - 4309786C1E73D2F500BEBC82 /* it.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 4309786B1E73D2F500BEBC82 /* it.lproj */; }; 4309786E1E73DAD100BEBC82 /* CGM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4309786D1E73DAD100BEBC82 /* CGM.swift */; }; 430B298A2041F54A00BA9F93 /* NSUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 430B29892041F54A00BA9F93 /* NSUserDefaults.swift */; }; 430B298B2041F55700BA9F93 /* NSUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 430B29892041F54A00BA9F93 /* NSUserDefaults.swift */; }; @@ -261,6 +259,9 @@ 4FF4D0F91E17268800846527 /* IdentifiableClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 434FF1E91CF26C29000DB779 /* IdentifiableClass.swift */; }; 4FF4D1001E18374700846527 /* WatchContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FF4D0FF1E18374700846527 /* WatchContext.swift */; }; 4FF4D1011E18375000846527 /* WatchContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FF4D0FF1E18374700846527 /* WatchContext.swift */; }; + 7D23667D21250C7E0028B67D /* LocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D23667C21250C7E0028B67D /* LocalizedString.swift */; }; + 7D2366E621250E0A0028B67D /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D2366E421250E0A0028B67D /* InfoPlist.strings */; }; + 7D2366E821250E7B0028B67D /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D2366E421250E0A0028B67D /* InfoPlist.strings */; }; 7D7076351FE06EDE004AC8EA /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D7076371FE06EDE004AC8EA /* Localizable.strings */; }; 7D70763A1FE06EDF004AC8EA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D70763C1FE06EDF004AC8EA /* InfoPlist.strings */; }; 7D70763F1FE06EDF004AC8EA /* ckcomplication.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D7076411FE06EDF004AC8EA /* ckcomplication.strings */; }; @@ -429,8 +430,6 @@ /* Begin PBXFileReference section */ 4302F4E01D4E9C8900F0FCAF /* TextFieldTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldTableViewController.swift; sourceTree = ""; }; 4302F4E21D4EA54200F0FCAF /* InsulinDeliveryTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InsulinDeliveryTableViewController.swift; sourceTree = ""; }; - 43076BF21DFDBC4B0012A723 /* it.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; path = it.lproj; sourceTree = ""; }; - 4309786B1E73D2F500BEBC82 /* it.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; path = it.lproj; sourceTree = ""; }; 4309786D1E73DAD100BEBC82 /* CGM.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGM.swift; sourceTree = ""; }; 430B29892041F54A00BA9F93 /* NSUserDefaults.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSUserDefaults.swift; sourceTree = ""; }; 430B298C2041F56500BA9F93 /* LoopSettings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoopSettings.swift; sourceTree = ""; }; @@ -638,6 +637,123 @@ 4FB76FCD1E8C835D00B39636 /* ChartColorPalette.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChartColorPalette.swift; sourceTree = ""; }; 4FC8C8001DEB93E400A1452E /* NSUserDefaults+StatusExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSUserDefaults+StatusExtension.swift"; sourceTree = ""; }; 4FF4D0FF1E18374700846527 /* WatchContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WatchContext.swift; sourceTree = ""; }; + 7D23667521250BE30028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = ""; }; + 7D23667621250BF70028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23667721250C280028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23667821250C2D0028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = ""; }; + 7D23667921250C440028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = ""; }; + 7D23667A21250C480028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23667C21250C7E0028B67D /* LocalizedString.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LocalizedString.swift; path = LoopUI/Common/LocalizedString.swift; sourceTree = SOURCE_ROOT; }; + 7D23667E21250CAC0028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23667F21250CB80028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = ""; }; + 7D23668021250CBE0028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23668121250CC50028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/ckcomplication.strings; sourceTree = ""; }; + 7D23668221250CF60028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23668321250CFB0028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = ""; }; + 7D23668421250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/LaunchScreen.strings; sourceTree = ""; }; + 7D23668521250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Main.strings; sourceTree = ""; }; + 7D23668621250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/MainInterface.strings; sourceTree = ""; }; + 7D23668721250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Interface.strings; sourceTree = ""; }; + 7D23668821250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 7D23668921250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23668A21250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23668B21250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 7D23668C21250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 7D23668D21250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23668E21250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23668F21250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 7D23669021250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ckcomplication.strings; sourceTree = ""; }; + 7D23669121250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23669221250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23669321250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 7D23669421250D220028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/LaunchScreen.strings; sourceTree = ""; }; + 7D23669521250D220028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Main.strings; sourceTree = ""; }; + 7D23669621250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/MainInterface.strings; sourceTree = ""; }; + 7D23669721250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Interface.strings; sourceTree = ""; }; + 7D23669821250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 7D23669921250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23669A21250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23669B21250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 7D23669C21250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 7D23669D21250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23669E21250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23669F21250D240028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366A021250D240028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/ckcomplication.strings; sourceTree = ""; }; + 7D2366A121250D240028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366A221250D240028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366A321250D240028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366A421250D2C0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 7D2366A521250D2C0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Main.strings"; sourceTree = ""; }; + 7D2366A621250D2C0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/MainInterface.strings"; sourceTree = ""; }; + 7D2366A721250D2C0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Interface.strings"; sourceTree = ""; }; + 7D2366A821250D2C0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 7D2366A921250D2C0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + 7D2366AA21250D2C0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + 7D2366AB21250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 7D2366AC21250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 7D2366AD21250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + 7D2366AE21250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + 7D2366AF21250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 7D2366B021250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/ckcomplication.strings"; sourceTree = ""; }; + 7D2366B121250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + 7D2366B221250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + 7D2366B321250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 7D2366B421250D350028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Interface.strings; sourceTree = ""; }; + 7D2366B521250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366B621250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/LaunchScreen.strings; sourceTree = ""; }; + 7D2366B721250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Main.strings; sourceTree = ""; }; + 7D2366B821250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/MainInterface.strings; sourceTree = ""; }; + 7D2366B921250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366BA21250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366BB21250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366BC21250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366BD21250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366BE21250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366BF21250D370028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366C021250D370028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/ckcomplication.strings; sourceTree = ""; }; + 7D2366C121250D370028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366C221250D370028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366C321250D370028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366C421250D3F0028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/LaunchScreen.strings; sourceTree = ""; }; + 7D2366C521250D3F0028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Main.strings; sourceTree = ""; }; + 7D2366C621250D3F0028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/MainInterface.strings; sourceTree = ""; }; + 7D2366C721250D3F0028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Interface.strings; sourceTree = ""; }; + 7D2366C821250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366C921250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366CA21250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366CB21250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366CC21250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366CD21250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366CE21250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366CF21250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366D021250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/ckcomplication.strings; sourceTree = ""; }; + 7D2366D121250D410028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366D221250D410028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366D321250D410028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366D421250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/LaunchScreen.strings; sourceTree = ""; }; + 7D2366D521250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Main.strings; sourceTree = ""; }; + 7D2366D621250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/MainInterface.strings; sourceTree = ""; }; + 7D2366D721250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Interface.strings; sourceTree = ""; }; + 7D2366D821250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366D921250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366DA21250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366DB21250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366DC21250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366DD21250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366DE21250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366DF21250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366E021250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/ckcomplication.strings; sourceTree = ""; }; + 7D2366E121250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366E221250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366E321250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366E521250E0A0028B67D /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366E721250E7B0028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366E921250E8F0028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366EA21250EA40028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366EB21250EB80028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366EC21250ECE0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + 7D2366ED21250F010028B67D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366EE21250F170028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; 7D68AAA91FE2DB0A00522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/LaunchScreen.strings; sourceTree = ""; }; 7D68AAAA1FE2DB0A00522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Main.strings; sourceTree = ""; }; 7D68AAAB1FE2DB0A00522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/MainInterface.strings; sourceTree = ""; }; @@ -683,7 +799,6 @@ C18852E12082AB1A00BECC8C /* RileyLinkKitUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RileyLinkKitUI.framework; path = Carthage/Build/iOS/RileyLinkKitUI.framework; sourceTree = ""; }; C18C8C501D5A351900E043FB /* NightscoutDataManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NightscoutDataManager.swift; sourceTree = ""; }; C1C6591B1E1B1FDA0025CC58 /* recommend_temp_basal_dropping_then_rising.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = recommend_temp_basal_dropping_then_rising.json; sourceTree = ""; }; - C1C73F0E1DE3D0270022FC89 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; C9886AE41E5B2FAD00473BB8 /* gallery.ckcomplication */ = {isa = PBXFileReference; lastKnownFileType = folder; path = gallery.ckcomplication; sourceTree = ""; }; /* End PBXFileReference section */ @@ -863,7 +978,6 @@ 7D7076651FE06EE4004AC8EA /* Localizable.strings */, 7D7076511FE06EE1004AC8EA /* InfoPlist.strings */, C9886AE41E5B2FAD00473BB8 /* gallery.ckcomplication */, - 4309786B1E73D2F500BEBC82 /* it.lproj */, 43EDEE6B1CF2E12A00393BE3 /* Loop.entitlements */, 43F5C2D41B92A4A6003EB13D /* Info.plist */, 43776F8F1B8022E90074EA36 /* AppDelegate.swift */, @@ -921,7 +1035,6 @@ 7D70763C1FE06EDF004AC8EA /* InfoPlist.strings */, 43D533BB1CFD1DD7009E3085 /* WatchApp Extension.entitlements */, 43846AD41D8FA67800799272 /* Base.lproj */, - 43076BF21DFDBC4B0012A723 /* it.lproj */, 43A943911B926B7B0051FA24 /* Info.plist */, 43A9438D1B926B7B0051FA24 /* ComplicationController.swift */, 43A943871B926B7B0051FA24 /* ExtensionDelegate.swift */, @@ -1070,6 +1183,7 @@ isa = PBXGroup; children = ( 43E2D90F1D20C581004DA55F /* Info.plist */, + 7D2366E421250E0A0028B67D /* InfoPlist.strings */, 43E2D8C91D20B9E7004DA55F /* KeychainManagerTests.swift */, ); path = LoopTests; @@ -1093,6 +1207,7 @@ 4F75288C1DFE1DC600C322D6 /* LoopUI */ = { isa = PBXGroup; children = ( + 7D23667B21250C5A0028B67D /* Common */, 7D70764C1FE06EE1004AC8EA /* Localizable.strings */, 7D7076471FE06EE0004AC8EA /* InfoPlist.strings */, 4FB76FC41E8C576800B39636 /* Extensions */, @@ -1205,6 +1320,15 @@ path = Extensions; sourceTree = ""; }; + 7D23667B21250C5A0028B67D /* Common */ = { + isa = PBXGroup; + children = ( + 7D23667C21250C7E0028B67D /* LocalizedString.swift */, + ); + name = Common; + path = "New Group"; + sourceTree = ""; + }; 968DCD53F724DE56FFE51920 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -1476,6 +1600,13 @@ knownRegions = ( en, Base, + fr, + de, + "zh-Hans", + it, + nl, + nb, + es, ); mainGroup = 43776F831B8022E90074EA36; productRefGroup = 43776F8D1B8022E90074EA36 /* Products */; @@ -1506,7 +1637,6 @@ 7D7076631FE06EE4004AC8EA /* Localizable.strings in Resources */, 43776F971B8022E90074EA36 /* Main.storyboard in Resources */, C9886AE51E5B2FAD00473BB8 /* gallery.ckcomplication in Resources */, - 4309786C1E73D2F500BEBC82 /* it.lproj in Resources */, 434F545B1D2880D4002A9274 /* AuthenticationTableViewCell.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1528,7 +1658,6 @@ 43846AD51D8FA67800799272 /* Base.lproj in Resources */, 7D70765E1FE06EE3004AC8EA /* Localizable.strings in Resources */, 7D70763A1FE06EDF004AC8EA /* InfoPlist.strings in Resources */, - 43076BF31DFDBC4B0012A723 /* it.lproj in Resources */, 7D70763F1FE06EDF004AC8EA /* ckcomplication.strings in Resources */, 43A943901B926B7B0051FA24 /* Assets.xcassets in Resources */, ); @@ -1563,6 +1692,8 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7D2366E621250E0A0028B67D /* InfoPlist.strings in Resources */, + 7D2366E821250E7B0028B67D /* InfoPlist.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1870,6 +2001,7 @@ files = ( 4F20AE621E6B879C00D07A06 /* ReservoirVolumeHUDView.swift in Sources */, 4FB76FB91E8C42B000B39636 /* CollectionType.swift in Sources */, + 7D23667D21250C7E0028B67D /* LocalizedString.swift in Sources */, 4FF4D0F91E17268800846527 /* IdentifiableClass.swift in Sources */, 436961911F19D11E00447E89 /* ChartPointsContextFillLayer.swift in Sources */, 4FF4D0F81E1725B000846527 /* NibLoadable.swift in Sources */, @@ -1960,6 +2092,12 @@ 43776F961B8022E90074EA36 /* Base */, 7DD382771F8DBFC60071272B /* es */, 7D68AAAA1FE2DB0A00522C49 /* ru */, + 7D23668521250D180028B67D /* fr */, + 7D23669521250D220028B67D /* de */, + 7D2366A521250D2C0028B67D /* zh-Hans */, + 7D2366B721250D360028B67D /* it */, + 7D2366C521250D3F0028B67D /* nl */, + 7D2366D521250D4A0028B67D /* nb */, ); name = Main.storyboard; sourceTree = ""; @@ -1970,6 +2108,12 @@ 43776F9B1B8022E90074EA36 /* Base */, 7DD382761F8DBFC60071272B /* es */, 7D68AAA91FE2DB0A00522C49 /* ru */, + 7D23668421250D180028B67D /* fr */, + 7D23669421250D220028B67D /* de */, + 7D2366A421250D2C0028B67D /* zh-Hans */, + 7D2366B621250D360028B67D /* it */, + 7D2366C421250D3F0028B67D /* nl */, + 7D2366D421250D4A0028B67D /* nb */, ); name = LaunchScreen.storyboard; sourceTree = ""; @@ -1980,6 +2124,12 @@ 43A943751B926B7B0051FA24 /* Base */, 7DD382791F8DBFC60071272B /* es */, 7D68AAAC1FE2DB0A00522C49 /* ru */, + 7D23668721250D180028B67D /* fr */, + 7D23669721250D230028B67D /* de */, + 7D2366A721250D2C0028B67D /* zh-Hans */, + 7D2366B421250D350028B67D /* it */, + 7D2366C721250D3F0028B67D /* nl */, + 7D2366D721250D4A0028B67D /* nb */, ); name = Interface.storyboard; sourceTree = ""; @@ -1990,15 +2140,43 @@ 4F70C1E31DE8DCA7006380B7 /* Base */, 7DD382781F8DBFC60071272B /* es */, 7D68AAAB1FE2DB0A00522C49 /* ru */, + 7D23668621250D180028B67D /* fr */, + 7D23669621250D230028B67D /* de */, + 7D2366A621250D2C0028B67D /* zh-Hans */, + 7D2366B821250D360028B67D /* it */, + 7D2366C621250D3F0028B67D /* nl */, + 7D2366D621250D4A0028B67D /* nb */, ); name = MainInterface.storyboard; sourceTree = ""; }; + 7D2366E421250E0A0028B67D /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 7D2366E521250E0A0028B67D /* es */, + 7D2366E721250E7B0028B67D /* de */, + 7D2366E921250E8F0028B67D /* fr */, + 7D2366EA21250EA40028B67D /* it */, + 7D2366EB21250EB80028B67D /* nb */, + 7D2366EC21250ECE0028B67D /* zh-Hans */, + 7D2366ED21250F010028B67D /* ru */, + 7D2366EE21250F170028B67D /* nl */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; 7D7076371FE06EDE004AC8EA /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( 7D7076361FE06EDE004AC8EA /* es */, 7D68AAAD1FE2E8D400522C49 /* ru */, + 7D23667821250C2D0028B67D /* Base */, + 7D23668B21250D180028B67D /* fr */, + 7D23669B21250D230028B67D /* de */, + 7D2366AB21250D2D0028B67D /* zh-Hans */, + 7D2366BC21250D360028B67D /* it */, + 7D2366CB21250D400028B67D /* nl */, + 7D2366DB21250D4A0028B67D /* nb */, ); name = Localizable.strings; sourceTree = ""; @@ -2008,6 +2186,13 @@ children = ( 7D70763B1FE06EDF004AC8EA /* es */, 7D68AAAF1FE2E8D500522C49 /* ru */, + 7D23668021250CBE0028B67D /* Base */, + 7D23669121250D190028B67D /* fr */, + 7D2366A121250D240028B67D /* de */, + 7D2366B121250D2D0028B67D /* zh-Hans */, + 7D2366C121250D370028B67D /* it */, + 7D2366D121250D410028B67D /* nl */, + 7D2366E121250D4B0028B67D /* nb */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2017,6 +2202,13 @@ children = ( 7D7076401FE06EDF004AC8EA /* es */, 7D68AAB01FE2E8D500522C49 /* ru */, + 7D23668121250CC50028B67D /* Base */, + 7D23669021250D190028B67D /* fr */, + 7D2366A021250D240028B67D /* de */, + 7D2366B021250D2D0028B67D /* zh-Hans */, + 7D2366C021250D370028B67D /* it */, + 7D2366D021250D400028B67D /* nl */, + 7D2366E021250D4B0028B67D /* nb */, ); name = ckcomplication.strings; sourceTree = ""; @@ -2026,6 +2218,13 @@ children = ( 7D7076461FE06EE0004AC8EA /* es */, 7D68AAB21FE2E8D500522C49 /* ru */, + 7D23667A21250C480028B67D /* Base */, + 7D23668D21250D190028B67D /* fr */, + 7D23669D21250D230028B67D /* de */, + 7D2366AD21250D2D0028B67D /* zh-Hans */, + 7D2366BE21250D360028B67D /* it */, + 7D2366CD21250D400028B67D /* nl */, + 7D2366DD21250D4B0028B67D /* nb */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2035,6 +2234,13 @@ children = ( 7D70764B1FE06EE1004AC8EA /* es */, 7D68AAB31FE2E8D500522C49 /* ru */, + 7D23667921250C440028B67D /* Base */, + 7D23668C21250D190028B67D /* fr */, + 7D23669C21250D230028B67D /* de */, + 7D2366AC21250D2D0028B67D /* zh-Hans */, + 7D2366BD21250D360028B67D /* it */, + 7D2366CC21250D400028B67D /* nl */, + 7D2366DC21250D4B0028B67D /* nb */, ); name = Localizable.strings; sourceTree = ""; @@ -2044,6 +2250,13 @@ children = ( 7D7076501FE06EE1004AC8EA /* es */, 7D68AAB41FE2E8D600522C49 /* ru */, + 7D23667621250BF70028B67D /* Base */, + 7D23668921250D180028B67D /* fr */, + 7D23669921250D230028B67D /* de */, + 7D2366A921250D2C0028B67D /* zh-Hans */, + 7D2366BA21250D360028B67D /* it */, + 7D2366C921250D400028B67D /* nl */, + 7D2366D921250D4A0028B67D /* nb */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2053,6 +2266,13 @@ children = ( 7D7076551FE06EE2004AC8EA /* es */, 7D68AAB51FE2E8D600522C49 /* ru */, + 7D23667721250C280028B67D /* Base */, + 7D23668A21250D180028B67D /* fr */, + 7D23669A21250D230028B67D /* de */, + 7D2366AA21250D2C0028B67D /* zh-Hans */, + 7D2366BB21250D360028B67D /* it */, + 7D2366CA21250D400028B67D /* nl */, + 7D2366DA21250D4A0028B67D /* nb */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2062,6 +2282,13 @@ children = ( 7D70765A1FE06EE2004AC8EA /* es */, 7D68AAB61FE2E8D600522C49 /* ru */, + 7D23668321250CFB0028B67D /* Base */, + 7D23669321250D190028B67D /* fr */, + 7D2366A321250D240028B67D /* de */, + 7D2366B321250D2D0028B67D /* zh-Hans */, + 7D2366C321250D370028B67D /* it */, + 7D2366D321250D410028B67D /* nl */, + 7D2366E321250D4B0028B67D /* nb */, ); name = Localizable.strings; sourceTree = ""; @@ -2071,6 +2298,13 @@ children = ( 7D70765F1FE06EE3004AC8EA /* es */, 7D68AAB71FE2E8D600522C49 /* ru */, + 7D23667F21250CB80028B67D /* Base */, + 7D23668F21250D190028B67D /* fr */, + 7D23669F21250D240028B67D /* de */, + 7D2366AF21250D2D0028B67D /* zh-Hans */, + 7D2366BF21250D370028B67D /* it */, + 7D2366CF21250D400028B67D /* nl */, + 7D2366DF21250D4B0028B67D /* nb */, ); name = Localizable.strings; sourceTree = ""; @@ -2080,6 +2314,13 @@ children = ( 7D7076641FE06EE4004AC8EA /* es */, 7D68AAB81FE2E8D700522C49 /* ru */, + 7D23667521250BE30028B67D /* Base */, + 7D23668821250D180028B67D /* fr */, + 7D23669821250D230028B67D /* de */, + 7D2366A821250D2C0028B67D /* zh-Hans */, + 7D2366B921250D360028B67D /* it */, + 7D2366C821250D400028B67D /* nl */, + 7D2366D821250D4A0028B67D /* nb */, ); name = Localizable.strings; sourceTree = ""; @@ -2089,6 +2330,13 @@ children = ( 7D7076691FE0702F004AC8EA /* es */, 7D68AAAE1FE2E8D400522C49 /* ru */, + 7D23668221250CF60028B67D /* Base */, + 7D23669221250D190028B67D /* fr */, + 7D2366A221250D240028B67D /* de */, + 7D2366B221250D2D0028B67D /* zh-Hans */, + 7D2366C221250D370028B67D /* it */, + 7D2366D221250D410028B67D /* nl */, + 7D2366E221250D4B0028B67D /* nb */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2096,9 +2344,15 @@ C1C73F0F1DE3D0270022FC89 /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - C1C73F0E1DE3D0270022FC89 /* it */, 7D7076421FE06EE0004AC8EA /* es */, 7D68AAB11FE2E8D500522C49 /* ru */, + 7D23667E21250CAC0028B67D /* Base */, + 7D23668E21250D190028B67D /* fr */, + 7D23669E21250D230028B67D /* de */, + 7D2366AE21250D2D0028B67D /* zh-Hans */, + 7D2366B521250D360028B67D /* it */, + 7D2366CE21250D400028B67D /* nl */, + 7D2366DE21250D4B0028B67D /* nb */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2177,6 +2431,11 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 11.1; + LOCALIZED_STRING_MACRO_NAMES = ( + NSLocalizedString, + CFLocalizedString, + LocalizedString, + ); MAIN_APP_BUNDLE_IDENTIFIER = "$(inherited).Loop"; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; @@ -2238,6 +2497,11 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 11.1; + LOCALIZED_STRING_MACRO_NAMES = ( + NSLocalizedString, + CFLocalizedString, + LocalizedString, + ); MAIN_APP_BUNDLE_IDENTIFIER = "$(inherited).Loop"; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; diff --git a/Loop/Base.lproj/InfoPlist.strings b/Loop/Base.lproj/InfoPlist.strings new file mode 100644 index 0000000000..63a0c976de --- /dev/null +++ b/Loop/Base.lproj/InfoPlist.strings @@ -0,0 +1,17 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Loop"; + +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* Privacy - Bluetooth Peripheral Usage Description */ +"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices."; + +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "Face ID is used to authenticate insulin bolus."; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "Meal data from the Health database is used to determine glucose effects. Glucose data from the Health database is used for graphing and momentum calculation."; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "Carbohydrate meal data entered in the app and on the watch is stored in the Health database. Glucose data retrieved from the CGM is stored securely in HealthKit."; diff --git a/Loop/Base.lproj/Localizable.strings b/Loop/Base.lproj/Localizable.strings new file mode 100644 index 0000000000..60fd5e7d0b --- /dev/null +++ b/Loop/Base.lproj/Localizable.strings @@ -0,0 +1,413 @@ +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = "(pending: %@)"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ absorbed"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ U Total"; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string for carb ratio average. (1: value)(2: carb unit) + Format string for insulin sensitivity average (1: value)(2: glucose unit) */ +"%1$@ %2$@/U" = "%1$@ %2$@/U"; + +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + +/* Low reservoir alert format string. (1: Number of units remaining) */ +"%1$@ U left" = "%1$@ U left"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ +"%1$@ U left: %2$@" = "%1$@ U left: %2$@"; + +/* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ +"%1$@ U/hour @ %2$@" = "%1$@ U/hour @ %2$@"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; + +/* Description of the prediction input effect for glucose momentum */ +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15 min glucose regression coefficient (b₁), continued with decay over 30 min."; + +/* Description of the prediction input effect for retrospective correction */ +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 min comparison of glucose prediction vs actual, continued with decay over 60 min."; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "A model based on the published absorption of Fiasp insulin."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults."; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "AcceptRecommendedBolus"; + +/* The title of the Carbs On-Board graph */ +"Active Carbohydrates" = "Active Carbohydrates"; + +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "Active Carbohydrates: %@"; + +/* The title of the Insulin On-Board graph */ +"Active Insulin" = "Active Insulin"; + +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "Active Insulin: %@"; + +/* The title of the button to add the credentials for a service */ +"Add Account" = "Add Account"; + +/* The label of the carb entry button */ +"Add Meal" = "Add Meal"; + +/* Title text for button to set up a new pump */ +"Add Pump" = "Add Pump"; + +/* The title of the section containing algorithm settings */ +"Algorithm Settings" = "Algorithm Settings"; + +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "An adjustment to the adult model based on empirical effects in children."; + +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Format fragment for a specific time */ +"at %@" = "at %@"; + +/* The message displayed during a device authentication prompt for bolus specification */ +"Authenticate to Bolus %@ Units" = "Authenticate to Bolus %@ Units"; + +/* The title of the basal rate profile screen + The title text for the basal rate schedule */ +"Basal Rates" = "Basal Rates"; + +/* The label of the bolus entry button + The notification title for a bolus failure */ +"Bolus" = "Bolus"; + +/* The title of the cancel action in an action sheet */ +"Cancel" = "Cancel"; + +/* The title of the carb ratios schedule screen + The title text for the carb ratio schedule */ +"Carb Ratios" = "Carb Ratios"; + +/* Title of the prediction input effect for carbohydrates */ +"Carbohydrates" = "Carbohydrates"; + +/* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)"; + +/* The notification alert describing a low pump battery */ +"Change the pump battery immediately" = "Change the pump battery immediately"; + +/* The notification alert describing an empty pump reservoir */ +"Change the pump reservoir now" = "Change the pump reservoir now"; + +/* The title text for the looping enabled switch cell */ +"Closed Loop" = "Closed Loop"; + +/* The title of the configuration section in settings */ +"Configuration" = "Configuration"; + +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Configuration Error: %1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "Continuous Glucose Monitor"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "Correction Range"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = " Current glucose of %1$@ is below correction range."; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "Customer Token"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The title of the button to remove the credentials for a service */ +"Delete Account" = "Delete Account"; + +/* Title text for delivery limits */ +"Delivery Limits" = "Delivery Limits"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "Dexcom Share"; + +/* The action hint of the workout mode toggle button when enabled */ +"Disables" = "Disables"; + +/* Title of the switch which toggles retrospective correction effects */ +"Enable Retrospective Correction" = "Enable Retrospective Correction"; + +/* The action hint of the workout mode toggle button when disabled */ +"Enables" = "Enables"; + +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "Enter suspend threshold"; + +/* The placeholder text instructing users how to enter a transmitter ID */ +"Enter the 6-digit transmitter ID" = "Enter the 6-digit transmitter ID"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) */ +"Eventually %@" = "Eventually %@"; + +/* The title of the alert describing a maximum bolus validation error */ +"Exceeds Maximum Bolus" = "Exceeds Maximum Bolus"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The format string used to describe a finite workout targets duration */ +"For %1$@" = "For %1$@"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The title text for the G4 Share Receiver switch cell */ +"G4 Share Receiver" = "G4 Share Receiver"; + +/* The title text for the G5/G6 Transmitter switch cell */ +"G5/G6 Transmitter" = "G5/G6 Transmitter"; + +/* The title of the glucose and prediction graph */ +"Glucose" = "Glucose"; + +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "Glucose data is %1$@ old"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "Glucose data is unavailable"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "Glucose Momentum"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; + +/* The title of a target alert action specifying an indefinitely long workout targets duration */ +"Indefinitely" = "Indefinitely"; + +/* Title of the prediction input effect for insulin */ +"Insulin" = "Insulin"; + +/* Description of the prediction input effect for insulin */ +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)"; + +/* The title of the insulin delivery graph */ +"Insulin Delivery" = "Insulin Delivery"; + +/* The title text for the insulin model setting row */ +"Insulin Model" = "Insulin Model"; + +/* The title of the insulin sensitivities schedule screen + The title text for the insulin sensitivity schedule */ +"Insulin Sensitivities" = "Insulin Sensitivities"; + +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "Invalid data: %1$@"; + +/* The title text for the issue report cell */ +"Issue Report" = "Issue Report"; + +/* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ +"Last comparison: %1$@ → %2$@ vs %3$@" = "Last comparison: %1$@ → %2$@ vs %3$@"; + +/* Glucose HUD accessibility hint */ +"Launches CGM app" = "Launches CGM app"; + +/* The loading message for the diagnostic report screen */ +"Loading..." = "Loading..."; + +/* The title of the loggly service */ +"Loggly" = "Loggly"; + +/* The notification title for a loop failure */ +"Loop Failure" = "Loop Failure"; + +/* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ +"Loop has not completed successfully in %@" = "Loop has not completed successfully in %@"; + +/* The description of a low G5/G6 transmitter battery with a leading space */ +"Low Battery" = "Low Battery"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "Missing data: %1$@"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Sensor state description for the non-valid state */ +"Needs Attention" = "Needs Attention"; + +/* The title of the Nightscout service */ +"Nightscout" = "Nightscout"; + +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "No connected devices, or failure during device connection"; + +/* Sensor state description for the valid state */ +"OK" = "OK"; + +/* Outside US share server option title */ +"Outside US" = "Outside US"; + +/* The title of the Dexcom share password credential */ +"Password" = "Password"; + +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "Pre-Meal Targets"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Predicted glucose at %1$@ is %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Predicted glucose of %1$@ is below your suspend threshold setting."; + +/* The title of the pump section in settings */ +"Pump" = "Pump"; + +/* The notification title for a low pump battery */ +"Pump Battery Low" = "Pump Battery Low"; + +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Pump data is %1$@ old"; + +/* The notification title for an empty pump reservoir */ +"Pump Reservoir Empty" = "Pump Reservoir Empty"; + +/* The notification title for a low pump reservoir */ +"Pump Reservoir Low" = "Pump Reservoir Low"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Rapid-Acting – Adults"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Rapid-Acting – Children"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "Recommendation expired: %1$@ old"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "Recommended Basal"; + +/* Accessibility hint describing recommended bolus units */ +"Recommended Bolus: %@ Units" = "Recommended Bolus: %@ Units"; + +/* The default placeholder string for a credential */ +"Required" = "Required"; + +/* Title of the prediction input effect for retrospective correction */ +"Retrospective Correction" = "Retrospective Correction"; + +/* The title of the notification action to retry a bolus command */ +"Retry" = "Retry"; + +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "Sensor calibration is OK"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "Sensor is in unknown state %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "Sensor is stopped"; + +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "Sensor is warming up"; + +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "Sensor needs calibration"; + +/* The title of the Dexcom share server URL credential */ +"Server" = "Server"; + +/* The title of the services section in settings */ +"Services" = "Services"; + +/* The label of the settings button */ +"Settings" = "Settings"; + +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "Shows last loop error"; + +/* Format fragment for a start time */ +"since %@" = "since %@"; + +/* The title of the nightscout site URL credential */ +"Site URL" = "Site URL"; + +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; + +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "Starting Bolus"; + +/* The title text in settings */ +"Suspend Threshold" = "Suspend Threshold"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "The legacy model used by Loop, allowing customization of action duration."; + +/* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ +"The maximum bolus amount is %@ Units" = "The maximum bolus amount is %@ Units"; + +/* Instructions on where to find the transmitter ID */ +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app."; + +/* The description of the switch which toggles retrospective correction effects */ +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model."; + +/* The title text for the Dexcom G5/G6 transmitter ID config value */ +"Transmitter ID" = "Transmitter ID"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* U.S. share server option title */ +"US" = "US"; + +/* The title of the alert controller used to select a duration for workout targets */ +"Use Workout Glucose Targets" = "Use Workout Glucose Targets"; + +/* The title of the Dexcom share username credential */ +"Username" = "Username"; + +/* Label indicating validation is occurring */ +"Verifying" = "Verifying"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour."; + +/* The label of the workout mode toggle button */ +"Workout Targets" = "Workout Targets"; diff --git a/Loop/Info.plist b/Loop/Info.plist index 051d03f7b7..b3114fdf5d 100644 --- a/Loop/Info.plist +++ b/Loop/Info.plist @@ -46,11 +46,9 @@ NSBluetoothPeripheralUsageDescription Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices NSHealthShareUsageDescription - Meal data from the Health database is used to determine glucose effects. -Glucose data from the Health database is used for graphing and momentum calculation. + Meal data from the Health database is used to determine glucose effects. Glucose data from the Health database is used for graphing and momentum calculation. NSHealthUpdateUsageDescription - Carbohydrate meal data entered in the app and on the watch is stored in the Health database. -Glucose data retrieved from the CGM is stored securely in HealthKit. + Carbohydrate meal data entered in the app and on the watch is stored in the Health database. Glucose data retrieved from the CGM is stored securely in HealthKit. NSFaceIDUsageDescription Face ID is used to authenticate insulin bolus. UIBackgroundModes diff --git a/Loop/de.lproj/InfoPlist.strings b/Loop/de.lproj/InfoPlist.strings new file mode 100644 index 0000000000..c78a94f9b2 --- /dev/null +++ b/Loop/de.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Loop"; + +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* Privacy - Bluetooth Peripheral Usage Description */ +"NSBluetoothPeripheralUsageDescription" = "Bluetooth wird verwendet, um mit Insulinpumpen und kontinuierlichen Blutzuckermessgeräten zu kommunizieren"; + +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "Face ID wird benutzt um Insulin-Bolus zu authentifizieren."; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "Mahlzeitdaten aus der HealthKit datenbank werden verwendet, um Glukose effekte zu bestimmen. Glukosedaten aus der HealthKit Datenbank werden für die Graphik- und Impulsberechnung verwendet."; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "Die in der App und auf der Uhr eingegebenen Kohlenhydratmehldaten werden in der Health-Datenbank gespeichert. Glukosedaten, die vom CGM abgerufen werden, werden sicher in HealthKit gespeichert."; + diff --git a/Loop/de.lproj/LaunchScreen.strings b/Loop/de.lproj/LaunchScreen.strings new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Loop/de.lproj/LaunchScreen.strings @@ -0,0 +1 @@ + diff --git a/Loop/de.lproj/Localizable.strings b/Loop/de.lproj/Localizable.strings new file mode 100644 index 0000000000..0da07f9fda --- /dev/null +++ b/Loop/de.lproj/Localizable.strings @@ -0,0 +1,414 @@ +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = " (steht aus: %@)"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ absorbiert"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ Gesamteinheiten"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string for carb ratio average. (1: value)(2: carb unit) + Format string for insulin sensitivity average (1: value)(2: glucose unit) */ +"%1$@ %2$@/U" = "%1$@ %2$@/E"; + +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + +/* Low reservoir alert format string. (1: Number of units remaining) */ +"%1$@ U left" = "%1$@ E verbleibend"; + +/* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ +"%1$@ U left: %2$@" = "%1$@ E verbleibend: %2$@"; + +/* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ +"%1$@ U/hour @ %2$@" = "%1$@ E/St @ %2$@"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; + +/* Description of the prediction input effect for glucose momentum */ +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15 Minuten Glukose-Regressionskoeffizient (b1), fortgesetzt mit Zerfall über 30 min"; + +/* Description of the prediction input effect for retrospective correction */ +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30-minütiger Vergleich der Glukoseprädiktion gegenüber der tatsächlichen, Fortsetzung mit Zerfall über 60 min"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Ein Modell basierend auf der veröffentlichten Absorption von Fiasp-Insulin."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Ein Modell auf der Grundlage der veröffentlichten Absorption von Humalog, Novolog und Apidra Insulin bei Erwachsenen."; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "Akzeptiere empfohlenen Bolus"; + +/* The title of the Carbs On-Board graph */ +"Active Carbohydrates" = "Aktive Kohlenhydrate"; + +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "Aktive Kohlenhydrate: %@"; + +/* The title of the Insulin On-Board graph */ +"Active Insulin" = "Aktives Insulin"; + +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "Aktives Insulin: %@"; + +/* The title of the button to add the credentials for a service */ +"Add Account" = "Konto hinzufügen"; + +/* The label of the carb entry button */ +"Add Meal" = "Mahlzeit hinzufügen"; + +/* Title text for button to set up a new pump */ +"Add Pump" = "Pumpe hinzufügen"; + +/* The title of the section containing algorithm settings */ +"Algorithm Settings" = "Algorithmus einstellungen"; + +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Eine Anpassung an das Erwachsenenmodell basierend auf empirischen Effekten bei Kindern."; + +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Format fragment for a specific time */ +"at %@" = "bei %@"; + +/* The message displayed during a device authentication prompt for bolus specification */ +"Authenticate to Bolus %@ Units" = "Authentifizieren für Bolus %@ E"; + +/* The title of the basal rate profile screen + The title text for the basal rate schedule */ +"Basal Rates" = "Basalraten"; + +/* The label of the bolus entry button + The notification title for a bolus failure */ +"Bolus" = "Bolus"; + +/* The title of the cancel action in an action sheet */ +"Cancel" = "Abbrechen"; + +/* The title of the carb ratios schedule screen + The title text for the carb ratio schedule */ +"Carb Ratios" = "Kohlenhydrate Verhältnisse"; + +/* Title of the prediction input effect for carbohydrates */ +"Carbohydrates" = "Kohlenhydrate"; + +/* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Kohlenhydrate aufgenommen (G) ÷ Carb Ratio (G/E) × Insulinempfindlichkeit (%1$@/E)"; + +/* The notification alert describing a low pump battery */ +"Change the pump battery immediately" = "Wechseln Sie sofort die Pumpenbatterie"; + +/* The notification alert describing an empty pump reservoir */ +"Change the pump reservoir now" = "Wechseln Sie jetzt den Pumpenbehälter"; + +/* The title text for the looping enabled switch cell */ +"Closed Loop" = "Geschlossene Schleife"; + +/* The title of the configuration section in settings */ +"Configuration" = "Konfiguration"; + +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Konfigurationsfehler: %1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "Kontinuierlicher Glukosemonitor"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "Korrekturbereich"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Die aktuelle Glukose von %1$@ liegt unter dem Korrekturbereich."; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "Kunden-Token"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The title of the button to remove the credentials for a service */ +"Delete Account" = "Konto löschen"; + +/* Title text for delivery limits */ +"Delivery Limits" = "Verabreichungslimits"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "Dexcom Share"; + +/* The action hint of the workout mode toggle button when enabled */ +"Disables" = "Deaktiviert"; + +/* Title of the switch which toggles retrospective correction effects */ +"Enable Retrospective Correction" = "Aktivieren retrospektive Korrektur"; + +/* The action hint of the workout mode toggle button when disabled */ +"Enables" = "Ermöglicht"; + +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "Schwellwert für Aussetzung eingeben"; + +/* The placeholder text instructing users how to enter a transmitter ID */ +"Enter the 6-digit transmitter ID" = "Geben Sie die 6-stellige Sender-ID ein"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) */ +"Eventually %@" = "Schließlich %@"; + +/* The title of the alert describing a maximum bolus validation error */ +"Exceeds Maximum Bolus" = "Überschreitet den maximalen Bolus"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The format string used to describe a finite workout targets duration */ +"For %1$@" = "Für %1$@"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The title text for the G4 Share Receiver switch cell */ +"G4 Share Receiver" = "G4 Share Empfänger"; + +/* The title text for the G5/G6 Transmitter switch cell */ +"G5/G6 Transmitter" = "G5/G6 Sender"; + +/* The title of the glucose and prediction graph */ +"Glucose" = "Glukose"; + +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "Glukosedaten sind %1$@ alt"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "Glukosedaten sind nicht verfügbar"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "Glukose-Momentum"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; + +/* The title of a target alert action specifying an indefinitely long workout targets duration */ +"Indefinitely" = "Unendlich"; + +/* Title of the prediction input effect for insulin */ +"Insulin" = "Insulin"; + +/* Description of the prediction input effect for insulin */ +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Insulin absorbiert (E) × Insulinempfindlichkeit (%1$@/E)"; + +/* The title of the insulin delivery graph */ +"Insulin Delivery" = "Insulinabgabe"; + +/* The title text for the insulin model setting row */ +"Insulin Model" = "Insulin-Modell"; + +/* The title of the insulin sensitivities schedule screen + The title text for the insulin sensitivity schedule */ +"Insulin Sensitivities" = "Insulinsensitivitäten"; + +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "Ungültige Daten: %1$@"; + +/* The title text for the issue report cell */ +"Issue Report" = "Problembericht"; + +/* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ +"Last comparison: %1$@ → %2$@ vs %3$@" = "Letzter Vergleich: %1$@ → %2$@ vs %3$@"; + +/* Glucose HUD accessibility hint */ +"Launches CGM app" = "Startet die CGM-App"; + +/* The loading message for the diagnostic report screen */ +"Loading..." = "Wird geladen..."; + +/* The title of the loggly service */ +"Loggly" = "Loggly"; + +/* The notification title for a loop failure */ +"Loop Failure" = "Loop Fehler"; + +/* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ +"Loop has not completed successfully in %@" = "Loop wurde nicht erfolgreich abgeschlossen um %@"; + +/* The description of a low G5/G6 transmitter battery with a leading space */ +"Low Battery" = "niedriger Batteriestatus"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "Fehlende Daten: %1$@"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Sensor state description for the non-valid state */ +"Needs Attention" = "Erfordert Aufmerksamkeit"; + +/* The title of the Nightscout service */ +"Nightscout" = "Nightscout"; + +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "Keine angeschlossenen Geräte oder Fehler während der Geräteverbindung"; + +/* Sensor state description for the valid state */ +"OK" = "OK"; + +/* Outside US share server option title */ +"Outside US" = "Außerhalb der USA"; + +/* The title of the Dexcom share password credential */ +"Password" = "Passwort"; + +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "Ziele vor dem Essen"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Vorhergesagte Glukose um %1$@ ist %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Die vorhergesagte Glukose von %1$@ liegt unter der eingestellten Schwelle."; + +/* The title of the pump section in settings */ +"Pump" = "Pumpe"; + +/* The notification title for a low pump battery */ +"Pump Battery Low" = "Pumpenbatterie niedrig"; + +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Pumpendaten sind %1$@ alt"; + +/* The notification title for an empty pump reservoir */ +"Pump Reservoir Empty" = "Pumpenreservoir leer"; + +/* The notification title for a low pump reservoir */ +"Pump Reservoir Low" = "Pumpenreservoir niedrig"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Schnell handelnd - Erwachsene"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Schnell handelnd - Kinder"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "Empfehlung abgelaufen: %1$@ alt"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "Empfohlen Basal"; + +/* Accessibility hint describing recommended bolus units */ +"Recommended Bolus: %@ Units" = "BEmpfohlener Bolus: %@ Einheiten"; + +/* The default placeholder string for a credential */ +"Required" = "Erforderlich"; + +/* Title of the prediction input effect for retrospective correction */ +"Retrospective Correction" = "Retrospektive Korrektur"; + +/* The title of the notification action to retry a bolus command */ +"Retry" = "Wiederholen"; + +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "Sensorkalibrierung ist OK"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "Sensor ist in unbekanntem Zustand %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "Sensor ist gestoppt"; + +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "Sensor erwärmt sich"; + +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "Sensor benötigt Kalibrierung"; + +/* The title of the Dexcom share server URL credential */ +"Server" = "Server"; + +/* The title of the services section in settings */ +"Services" = "Services"; + +/* The label of the settings button */ +"Settings" = "Einstellungen"; + +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "Zeigt den letzten Loopfehler an"; + +/* Format fragment for a start time */ +"since %@" = "seit %@"; + +/* The title of the nightscout site URL credential */ +"Site URL" = "Seiten-URL"; + +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; + +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "Start Bolus"; + +/* The title text in settings */ +"Suspend Threshold" = "Suspend-Schwellenwert"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Das Legacy-Modell, das von Loop verwendet wird und die Anpassung der Aktionsdauer ermöglicht."; + +/* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ +"The maximum bolus amount is %@ Units" = "Die maximale Bolusmenge beträgt %@ Einheiten"; + +/* Instructions on where to find the transmitter ID */ +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "Die Sender-ID finden Sie auf der Rückseite des Geräts, auf der Seite der Box, in der es geliefert wurde, und in den Einstellungsmenüs des G5/G6-Empfängers und der mobilen App."; + +/* The description of the switch which toggles retrospective correction effects */ +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Dies wird die basale Abgabe aggressiver erhöhen oder verringern, wenn die Glukosebewegung nicht mit dem Kohlenhydrat- und Insulin-basierten Modell übereinstimmt."; + +/* The title text for the Dexcom G5/G6 transmitter ID config value */ +"Transmitter ID" = "Sender-ID"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* U.S. share server option title */ +"US" = "DE"; + +/* The title of the alert controller used to select a duration for workout targets */ +"Use Workout Glucose Targets" = "Verwenden Training Glucose Targets"; + +/* The title of the Dexcom share username credential */ +"Username" = "Nutzername"; + +/* Label indicating validation is occurring */ +"Verifying" = "Überprüfen"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Wenn die aktuelle oder prognostizierte Glukose unter dem Schwellenwert für die Aufhebung liegt, empfiehlt Loop keinen Bolus und empfiehlt immer eine temporäre Basalrate von 0 Einheiten pro Stunde."; + +/* The label of the workout mode toggle button */ +"Workout Targets" = "Training Glucose Targets"; + diff --git a/Loop/de.lproj/Main.strings b/Loop/de.lproj/Main.strings new file mode 100644 index 0000000000..d26b9714d1 --- /dev/null +++ b/Loop/de.lproj/Main.strings @@ -0,0 +1,147 @@ +/* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ +"3kU-n2-fha.title" = "Status"; + +/* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ +"5gz-kZ-iF1.text" = "3,5 E/St @ 12:12 PM"; + +/* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ +"5oA-6d-ZTL.text" = "Bolus"; + +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "Pumpen-ID"; + +/* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.accessibilityLabel" = "Bolusmenge"; + +/* Class = "UITextField"; placeholder = "0.0"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.placeholder" = "0.0"; + +/* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ +"87H-N1-0vJ.text" = "Vorhergesagt"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ +"aCb-Qs-bpu.text" = "Detail"; + +/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ +"aiu-ZA-zVa.title" = "Bolus"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Titel"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ +"bIL-Ub-qYp.text" = "Beschriftung"; + +/* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ +"bq4-98-cQU.text" = "Glucose-Änderung"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "Einheiten"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "E"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ +"cpo-Po-gFM.text" = "Beschriftung"; + +/* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ +"d3X-AN-tA5.text" = "g Insgesamt"; + +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "Zukünftige Glukose wird vorhergesagt, indem die Effekte mehrerer Eingaben kombiniert werden. Verwenden Sie dieses Tool, um verschiedene Eingaben umzuschalten, um zu sehen, wie sie mit der endgültigen Vorhersage verglichen werden."; + +/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ +"d6m-qV-wWi.text" = "Beschriftung"; + +/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ +"dmB-PQ-B44.title" = "Einstellungen"; + +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "Geräte"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "schließlich 92 mg/dL"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Beobachtete"; + +/* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ +"hHZ-uY-aKw.text" = "Aktive Kohlenhydrate: 40g"; + +/* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ +"hZZ-2S-lrd.title" = "Kohlenhydrat-Effekte"; + +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Beobachtete Änderungen in Glukose, subtrahierende Veränderungen, die aus der Insulinabgabe modelliert wurden, können verwendet werden, um die Kohlenhydratabsorption zu schätzen."; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Detail"; + +/* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ +"k0g-P7-OVN.text" = "⚠ Glukose Vorhergesagt Bereich"; + +/* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ +"k3F-Na-7mn.text" = "Empfohlen Basal"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Beschriftung"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ +"l7l-mw-Oc9.text" = "Beschriftung"; + +/* Class = "UILabel"; text = "Tap to set"; ObjectID = "m9c-SQ-djE"; */ +"m9c-SQ-djE.text" = "Tippen, um festzulegen"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.accessibilityLabel" = "Einheiten"; + +/* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.text" = "E"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Beschriftung"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Die Vorhergesagte Glukose"; + +/* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ +"pi6-Dh-72V.title" = "Insulin-Modell"; + +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "Ein Insulinaktivitätsmodell wird verwendet, um die Wirkungen von Insulin auf den Glucosespiegel abzuschätzen. Ein genaues Modell kann dazu beitragen, Insulinstapelung zu verhindern und korrigierende Behandlungen sicher zu empfehlen."; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "schließlich 92 mg/dL"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "g KaB"; + +/* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ +"tuw-av-A3x.text" = "Glukose"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "ufi-Kj-33k"; */ +"ufi-Kj-33k.text" = "Beschriftung"; + +/* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ +"viU-7a-kbI.text" = "Aktives Insulin: 1,5E"; + +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Kohlenhydrate"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 Stunden"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Verwalten"; + +/* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ +"yn7-2M-jZz.text" = "0"; + +/* Class = "UILabel"; text = "Recommended"; ObjectID = "ywT-OR-NnU"; */ +"ywT-OR-NnU.text" = "Empfohlen"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "zbc-87-wxZ"; */ +"zbc-87-wxZ.text" = "Titel"; + +/* Class = "UILabel"; text = "0"; ObjectID = "zvZ-uf-zMX"; */ +"zvZ-uf-zMX.text" = "0"; + diff --git a/Loop/es.lproj/InfoPlist.strings b/Loop/es.lproj/InfoPlist.strings index 84e8f22363..e30c655ce3 100644 --- a/Loop/es.lproj/InfoPlist.strings +++ b/Loop/es.lproj/InfoPlist.strings @@ -1,15 +1,18 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "Loop"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; -/* (No Comment) */ +/* Privacy - Bluetooth Peripheral Usage Description */ "NSBluetoothPeripheralUsageDescription" = "Bluetooth se utiliza para las comunicaciones con la microinfusora y los dispositivos de monitoreo continuo de glucosa."; -/* (No Comment) */ -"NSHealthShareUsageDescription" = "Datos de alimentos de la base de datos de Salud se utiliza para determinar los efectos en el nivel de glucosa. Datos de glucosa de la bsase de datos de Salud se utilizan para graficar y determinar cálculos de momentum."; +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "Se utiliza reconocimiento facial para autenticar el bolo de insulina."; -/* (No Comment) */ +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "Datos de alimentos de la base de datos de Salud se utiliza para determinar los efectos en el nivel de glucosa. Datos de glucosa de la bsase de datos de Salud se utilizan para graficar y determinar cálculos de momento."; + +/* Privacy - Health Update Usage Description */ "NSHealthUpdateUsageDescription" = "Datos de alimentos ingresados en la aplicación y en el reloj son almacenados en la base de datos de Salud. Los datos de glucosa extraídos del monitor continuo de glucosa se almacenan de manera segura en Kit de Salud."; diff --git a/Loop/es.lproj/Localizable.strings b/Loop/es.lproj/Localizable.strings index 7ac2f32ff5..0e47586269 100644 --- a/Loop/es.lproj/Localizable.strings +++ b/Loop/es.lproj/Localizable.strings @@ -1,8 +1,17 @@ /* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ " (pending: %@)" = "(pendiente: %@)"; -/* Format string for current suspend threshold. (1: value)(2: bg unit) */ -"%1$@ %2$@" = "%1$@ %2$@"; +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ absorbidos"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ U Totales"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; /* Format string for carb ratio average. (1: value)(2: carb unit) Format string for insulin sensitivity average (1: value)(2: glucose unit) */ @@ -23,20 +32,11 @@ /* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ "%1$@ v%2$@" = "%1$@ v%2$@"; -/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ -"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; - -/* Format string describing glucose units per minute (1: glucose unit string) */ -"%1$@/min" = "%1$@/min"; - /* Formats (1: carb value) and (2: food type) */ "%1$@: %2$@" = "%1$@: %2$@"; -/* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ U Totales"; - -/* Formats absorbed carb value */ -"%@ absorbed" = "%@ absorbidos"; +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; /* Description of the prediction input effect for glucose momentum */ "15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "Coeficiente de regresión de glucosa de 15 minutos (b₁), continuado con decadencia sobre 30 minutos."; @@ -50,9 +50,6 @@ /* Subtitle of Rapid-Acting – Adult preset */ "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modelo basado en la publicación de la absorción de insulina Humalog, Novolog y Apidra en adultos."; -/* The title of the nightscout API secret credential */ -"API Secret" = "API secreto"; - /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AceptarBoloRecomendado"; @@ -74,17 +71,29 @@ /* The label of the carb entry button */ "Add Meal" = "Agregar Alimento"; +/* Title text for button to set up a new pump */ +"Add Pump" = "Agregar Microinfusora"; + /* The title of the section containing algorithm settings */ "Algorithm Settings" = "Ajustes de Algoritmo"; -/* Instructions on selecting battery chemistry type */ -"Alkaline and Lithium batteries decay at differing rates. Alkaline tend to have a linear voltage drop over time whereas lithium cell batteries tend to maintain voltage until halfway through their lifespan. Under normal usage in a Non-MySentry compatible Minimed (x22/x15) insulin pump running Loop, Alkaline batteries last approximately 4 to 5 days. Lithium batteries last between 1-2 weeks. This selection will use different battery voltage decay rates for each of the battery chemistry types and alert the user when a battery is approximately 8 to 10 hours from failure." = "Las baterías alcalinas y de litio se degradan en ritmos distintos. La alcalinas tienden a tener una baja de voltaje linear en el tiempo mientras que las de litio tienden a mantener un voltaje hasta que pasan la mitad de su tiempo de vida. Bajo condiciones normales en una micro-infusora no compatible con MySentry ( x22/x15) siendo utilizado con Loop, las baterías alcalinas durarán aproximadamente de 4 a 5 días. Las baterías de litio durarán de una a dos semanas. Esta selección utilizará diferentes rangos de decadencia para el voltaje de cada una de las bataerías y alertará al usuario cuando la batería tenga aproximadamente de 8 a 10 horas restantes de vida."; +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; /* Subtitle of Rapid-Acting – Children preset */ "An adjustment to the adult model based on empirical effects in children." = "Un ajuste al modelo adulto basado en los efectos empíricos en niños."; +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API secreto"; + +/* Format fragment for a specific time */ +"at %@" = "a %@"; + /* The message displayed during a device authentication prompt for bolus specification */ -"Authenticate to Bolus %@ Units" = "Autentificar para Bolo"; +"Authenticate to Bolus %@ Units" = "Autentificar para Bolo %@ Unidades"; /* The title of the basal rate profile screen The title text for the basal rate schedule */ @@ -119,6 +128,9 @@ /* The title of the configuration section in settings */ "Configuration" = "Configuración"; +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Configuration Error: %1$@"; + /* The title of the continuous glucose monitor section in settings */ "Continuous Glucose Monitor" = "Monitor de glucosa continuo"; @@ -132,39 +144,33 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Token de Usuario"; -/* The title of the mLab database name credential */ -"Database" = "Base de datos"; +/* The short unit display string for decibles */ +"dB" = "dB"; /* The title of the button to remove the credentials for a service */ "Delete Account" = "Eliminar Cuenta"; +/* Title text for delivery limits */ +"Delivery Limits" = "Límites de Dosificación"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "Dexcom Share"; + /* The action hint of the workout mode toggle button when enabled */ "Disables" = "Inhabilita"; /* Title of the switch which toggles retrospective correction effects */ "Enable Retrospective Correction" = "Habilitar corrección retrospectiva"; -/* The detail text describing an enabled setting */ -"Enabled" = "Habilita"; - /* The action hint of the workout mode toggle button when disabled */ "Enables" = "Habilita"; -/* The placeholder text instructing users how to enter a maximum bolus */ -"Enter a number of units" = "Ingrese número de unidades"; - -/* The placeholder text instructing users how to enter a maximum basal rate */ -"Enter a rate in units per hour" = "Ingrese relación de unidades por hora"; - /* The placeholder text instructing users to enter a suspend treshold */ "Enter suspend threshold" = "Ingrese nivel de suspensión"; -/* The placeholder text instructing users how to enter a pump ID */ +/* The placeholder text instructing users how to enter a transmitter ID */ "Enter the 6-digit transmitter ID" = "Ingrese ID de 6 dígitios de transmisor"; -/* Describing the pump history insulin data source */ -"Event History" = "Historia de eventos"; - /* The subtitle format describing eventual glucose. (1: localized glucose value description) */ "Eventually %@" = "Eventualmente %@"; @@ -177,21 +183,30 @@ /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Por %1$@"; +/* The short unit display string for grams */ +"g" = "g"; + /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "Receptor G4 Share"; -/* The title text for the G5 Transmitter switch cell */ +/* The title text for the G5/G6 Transmitter switch cell */ "G5/G6 Transmitter" = "Transmisor G5/G6"; /* The title of the glucose and prediction graph */ "Glucose" = "Glucosa"; -/* Title of the prediction input effect for glucose momentum */ -"Glucose Momentum" = "Momenum de Glucosa"; - /* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ "Glucose data is %1$@ old" = "Los datos de glucosa son %1$@ viejos"; +/* Error description for unreliable state */ +"Glucose data is unavailable" = "Los datos de glucosa no están disponibles"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "Momento de Glucosa"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; + /* The title of a target alert action specifying an indefinitely long workout targets duration */ "Indefinitely" = "Indefinidamente"; @@ -211,9 +226,6 @@ The title text for the insulin sensitivity schedule */ "Insulin Sensitivities" = "Sensibilidades a Insulina"; -/* Instructions on selecting an insulin data source */ -"Insulin delivery can be determined from the pump by either interpreting the event history or comparing the reservoir volume over time. Reading event history allows for a more accurate status graph and uploading up-to-date treatment data to Nightscout, at the cost of faster pump battery drain and the possibility of a higher radio error rate compared to reading only reservoir volume. If the selected source cannot be used for any reason, the system will attempt to fall back to the other option." = "La entrega de insulina puede ser determinada por la microinfusora interpretando los eventos históricos o comparando el volúmen del reservorio sobre el tiempo. Leer los eventos históricos permite una gráfica de status mas exacta y permite subir tratamientos actualizados a Nightscout, con el costo de una menor duración de la batería y la posiblidad de mayores errores de radio comparado con leer solamente el volúmen del reservorio. Si la fuente seleccionada no puede utilizarse por algún motivo, el sistema intentará utilizar la otra opción."; - /* The error message when invalid data was encountered. (1: details of invalid data) */ "Invalid data: %1$@" = "Datos no válidos: %1$@"; @@ -238,18 +250,18 @@ /* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ "Loop has not completed successfully in %@" = "Loop no ha terminado correctamente en %@"; -/* The description of a low G5 transmitter battery with a leading space */ +/* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Batería Baja"; -/* The title text for the maximum basal rate value */ -"Maximum Basal Rate" = "Perfil Basal Máximo"; - -/* The title text for the maximum bolus value */ -"Maximum Bolus" = "Bolo Máximo"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Faltan Datos: %1$@"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Sensor state description for the non-valid state */ "Needs Attention" = "Necesita Atención"; @@ -277,20 +289,14 @@ /* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ "Predicted glucose of %1$@ is below your suspend threshold setting." = "Glucosa prevista de %1$@ se encuentra por debajo de su nivel de suspensión."; -/* The title text for the preferred insulin data source config */ -"Preferred Data Source" = "Fuente de datos preferida"; - /* The title of the pump section in settings */ "Pump" = "Microinfusora"; /* The notification title for a low pump battery */ "Pump Battery Low" = "Batería de Microinfusora Baja"; -/* The title text for the battery type value */ -"Pump Battery Type" = "Tipo de Batería de Microinfusora"; - -/* The title text for the pump ID config value */ -"Pump ID" = "ID de Microinfusora"; +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Los datos de la microinfusora son %1$@ viejos"; /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "Reservorio de Microinfusora Vacío"; @@ -298,9 +304,6 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Reservorio de Microinfusora Bajo"; -/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ -"Pump data is %1$@ old" = "Los datos de la microinfusora son %1$@ viejos"; - /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; @@ -322,9 +325,6 @@ /* The default placeholder string for a credential */ "Required" = "Requerido"; -/* Describing the reservoir insulin data source */ -"Reservoir" = "Reservorio"; - /* Title of the prediction input effect for retrospective correction */ "Retrospective Correction" = "Corrección Retrospectiva"; @@ -358,6 +358,9 @@ /* Loop Completion HUD accessibility hint */ "Shows last loop error" = "Muestra último error de Loop"; +/* Format fragment for a start time */ +"since %@" = "desde %@"; + /* The title of the nightscout site URL credential */ "Site URL" = "URL de Sitio"; @@ -365,14 +368,11 @@ "Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; /* The title of the cell indicating a bolus is being sent */ -"Starting Bolus" = "Bolo Inicial"; +"Starting Bolus" = "Comenzando Bolo"; /* The title text in settings */ "Suspend Threshold" = "Nivel de Suspensión"; -/* The empty-state text for a configuration value */ -"Tap to set" = "Toca para definir"; - /* Subtitle description of Walsh insulin model setting */ "The legacy model used by Loop, allowing customization of action duration." = "El model utilizado por ediciones iniciales de Loop, permite ajustar duración de acción."; @@ -385,18 +385,15 @@ /* The description of the switch which toggles retrospective correction effects */ "This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Esto incrementará o decrementará mas agresivamente la entrega de basales cuando el movimiento de glucosa no concuerde con el modelo de insulina y carbohidratos."; -/* The title text for the Dexcom G5 transmitter ID config value */ +/* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "ID de Transmisor"; -/* The unit string for units per hour */ -"U/hour" = "U/hora"; +/* The short unit display string for international units of insulin */ +"U" = "U"; /* U.S. share server option title */ "US" = "EEUU"; -/* The unit string for units */ -"Units" = "Unidades"; - /* The title of the alert controller used to select a duration for workout targets */ "Use Workout Glucose Targets" = "Utilice Objetivos de Glucosa de Ejercicio"; @@ -415,18 +412,3 @@ /* The label of the workout mode toggle button */ "Workout Targets" = "Objetivos de Ejercicio"; -/* Format fragment for a specific time */ -"at %@" = "a %@"; - -/* The placeholder text for the nightscout site URL credential */ -"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; - -/* The title of the mLab service */ -"mLab" = "mLab"; - -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; - -/* Format fragment for a start time */ -"since %@" = "desde %@"; - diff --git a/Loop/es.lproj/Main.strings b/Loop/es.lproj/Main.strings index 0bcb633721..1f3057f308 100644 --- a/Loop/es.lproj/Main.strings +++ b/Loop/es.lproj/Main.strings @@ -1,15 +1,15 @@ /* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ "3kU-n2-fha.title" = "Estatus"; -/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ -"5TX-kX-nBo.text" = "ID de Microinfusora"; - /* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ "5gz-kZ-iF1.text" = "3.5 U/hora @ 12:12 PM"; /* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ "5oA-6d-ZTL.text" = "Bolo"; +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "ID de Microinfusora"; + /* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ "7LT-50-ZzK.accessibilityLabel" = "Cantidad de Bolo"; @@ -19,93 +19,72 @@ /* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ "87H-N1-0vJ.text" = "Proyectada"; -/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ -"BR0-dr-Fj2.accessibilityLabel" = "Unidades"; - -/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ -"BR0-dr-Fj2.text" = "U"; - -/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ -"D4C-I2-dhA.text" = "La glucosa futura se predice combinando los efectos de diversas entradada de datos. Utiliza esta herramienta para cambiar datos de entrada y ver como varía la predicción final."; - -/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ -"DyC-Sv-qP8.text" = "DISPOSITIVOS"; - -/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ -"E41-FN-nkk.text" = "eventualmente 92 mg/dL"; - -/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ -"EAn-Ja-S1d.text" = "Observado"; - -/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ -"IxU-As-glo.text" = "Los cambios observados en glucosa sustrayendo los cambios modelados para la entrega de insulina pueden ser utilizados para estimar la absorción de carbohidratos."; - -/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ -"J7x-W5-gwo.text" = "Detalle"; - -/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ -"Krd-Aa-ret.text" = "Etiqueta"; - -/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ -"OFA-qT-ZAg.text" = "Etiqueta"; - -/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ -"PA3-sP-cWY.title" = "Glucosa Proyectada"; - -/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ -"PJv-p9-cFe.text" = "Un modelo de actividad de insulin se utiliza para calcular los efectos de ésta en los niveles glucémicos. La precision del modelo puede ayudar a prevenir la acumulación de insulina y a hacer recomendaciones de tratamientos de corrección más seguros."; - -/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ -"Rse-x8-amW.text" = "eventualmente 92 mg/dL"; - -/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ -"SQx-au-ZcM.text" = "gr CAB"; - -/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ -"Vpi-5b-bY5.title" = "Carbohidratos"; - -/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ -"Wk3-xv-IM5.text" = "4 horas"; - -/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ -"Ya0-9b-ZAS.normalTitle" = "Administración"; - /* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ "aCb-Qs-bpu.text" = "Detalle"; /* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ "aiu-ZA-zVa.title" = "Bolo"; +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Título"; + /* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ "bIL-Ub-qYp.text" = "Etiqueta"; /* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ "bq4-98-cQU.text" = "Cambio de Glucosa"; +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "Unidades"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "U"; + /* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ "cpo-Po-gFM.text" = "Etiqueta"; /* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ "d3X-AN-tA5.text" = "gr Totales"; +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "La glucosa futura se predice combinando los efectos de diversas entradada de datos. Utiliza esta herramienta para cambiar datos de entrada y ver como varía la predicción final."; + /* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ "d6m-qV-wWi.text" = "Etiqueta"; /* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ "dmB-PQ-B44.title" = "Ajustes"; +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "DISPOSITIVOS"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "eventualmente 92 mg/dL"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Observado"; + /* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ "hHZ-uY-aKw.text" = "Carbohidratos Activos: 40gr"; /* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ "hZZ-2S-lrd.title" = "Efecto de Carbohidratos"; +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Los cambios observados en glucosa sustrayendo los cambios modelados para la entrega de insulina pueden ser utilizados para estimar la absorción de carbohidratos."; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Detalle"; + /* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ "k0g-P7-OVN.text" = "⚠ Glucosa Proyectada Por Debajo Del Rango."; /* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ "k3F-Na-7mn.text" = "Basal Recomendada"; +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Etiqueta"; + /* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ "l7l-mw-Oc9.text" = "Etiqueta"; @@ -118,9 +97,24 @@ /* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ "mVz-dr-xLU.text" = "U"; +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Etiqueta"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Glucosa Proyectada"; + /* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ "pi6-Dh-72V.title" = "Modelo de Insulina"; +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "Un modelo de actividad de insulin se utiliza para calcular los efectos de ésta en los niveles glucémicos. La precision del modelo puede ayudar a prevenir la acumulación de insulina y a hacer recomendaciones de tratamientos de corrección más seguros."; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "eventualmente 92 mg/dL"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "gr CAB"; + /* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ "tuw-av-A3x.text" = "Glucosa"; @@ -130,6 +124,15 @@ /* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ "viU-7a-kbI.text" = "Insulina Activa: 1.5U"; +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Carbohidratos"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 horas"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Administración"; + /* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ "yn7-2M-jZz.text" = "0"; diff --git a/Loop/fr.lproj/InfoPlist.strings b/Loop/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..796f9060cb --- /dev/null +++ b/Loop/fr.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Loop"; + +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* Privacy - Bluetooth Peripheral Usage Description */ +"NSBluetoothPeripheralUsageDescription" = "Bluetooth est utilisé pour communiquer avec la pompe à insuline et les dispositifs de surveillance continue du glucose."; + +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "ID de visage est utilisé pour authentifier le bolus d'insuline."; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "Les données sur les repas provenant de la base de données Health sont utilisées pour déterminer les effets du glucose. Les données sur la glycémie de la base de données Health sont utilisées pour le calcul graphique et le calcul du momentum."; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "Les données sur les repas glucidiques saisies dans l'application et sur la montre sont stockées dans la base de données Health. Les données de glucose extraites du CGM sont stockées de manière sécurisée dans HealthKit."; + diff --git a/Loop/fr.lproj/LaunchScreen.strings b/Loop/fr.lproj/LaunchScreen.strings new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Loop/fr.lproj/LaunchScreen.strings @@ -0,0 +1 @@ + diff --git a/Loop/fr.lproj/Localizable.strings b/Loop/fr.lproj/Localizable.strings new file mode 100644 index 0000000000..dc9552fd66 --- /dev/null +++ b/Loop/fr.lproj/Localizable.strings @@ -0,0 +1,414 @@ +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = "(En suspen: %@)"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ absorbé"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ U Totaux"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string for carb ratio average. (1: value)(2: carb unit) + Format string for insulin sensitivity average (1: value)(2: glucose unit) */ +"%1$@ %2$@/U" = "%1$@ %2$@/U"; + +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + +/* Low reservoir alert format string. (1: Number of units remaining) */ +"%1$@ U left" = "%1$@ U restantes"; + +/* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ +"%1$@ U left: %2$@" = "%1$@ U restantes: %2$@"; + +/* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ +"%1$@ U/hour @ %2$@" = "%1$@ U/heure @ %2$@"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; + +/* Description of the prediction input effect for glucose momentum */ +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "Coefficient de régression du glucose de 15 minutes (b1), désintégration poursuivi au delà de 30 min."; + +/* Description of the prediction input effect for retrospective correction */ +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "Comparaison sur 30 min de la glycémie Prédiction vs Actuelle, suivie d'une décroissance (decay) sur 60 min."; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Un modèle basé sur l'absorption publiée de l'insuline FIASP."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modèle basé sur l'absorption publiée de l'insuline Humalog, Novolog et Apidra chez l'adulte."; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "AcceptRecommendedBolus"; + +/* The title of the Carbs On-Board graph */ +"Active Carbohydrates" = "Glucides actifs"; + +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "Glucides actifs: %@"; + +/* The title of the Insulin On-Board graph */ +"Active Insulin" = "Insuline active"; + +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "Insuline active: %@"; + +/* The title of the button to add the credentials for a service */ +"Add Account" = "Ajouter un compte"; + +/* The label of the carb entry button */ +"Add Meal" = "Entrer un repas"; + +/* Title text for button to set up a new pump */ +"Add Pump" = "Ajouter une pompe"; + +/* The title of the section containing algorithm settings */ +"Algorithm Settings" = "Paramètres de l'algorithme"; + +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Un ajustement au modèle adulte basé sur des effets empiriques chez les enfants."; + +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Format fragment for a specific time */ +"at %@" = "at %@"; + +/* The message displayed during a device authentication prompt for bolus specification */ +"Authenticate to Bolus %@ Units" = "Authentifier pour effectuer un Bolus %@ Unités"; + +/* The title of the basal rate profile screen + The title text for the basal rate schedule */ +"Basal Rates" = "Taux de basale"; + +/* The label of the bolus entry button + The notification title for a bolus failure */ +"Bolus" = "Bolus"; + +/* The title of the cancel action in an action sheet */ +"Cancel" = "Annuler"; + +/* The title of the carb ratios schedule screen + The title text for the carb ratio schedule */ +"Carb Ratios" = "Ratios Glucides"; + +/* Title of the prediction input effect for carbohydrates */ +"Carbohydrates" = "Glucides"; + +/* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Glucides Absorbés (g) ÷ Ratio Glucides (g/U) x Sensibilité à l'insuline (%1$@/U)"; + +/* The notification alert describing a low pump battery */ +"Change the pump battery immediately" = "Changer immédiatement la pile de la pompe"; + +/* The notification alert describing an empty pump reservoir */ +"Change the pump reservoir now" = "Changer maintenant le réservoir de la pompe"; + +/* The title text for the looping enabled switch cell */ +"Closed Loop" = "Loop Fermé"; + +/* The title of the configuration section in settings */ +"Configuration" = "Configuration"; + +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Erreur de Configuration: %1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "Lecteur de glycémie en continu"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "Plage de correction"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Glycémie actuelle de %1$@ est en dessous de la plage."; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "Token client"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The title of the button to remove the credentials for a service */ +"Delete Account" = "Supprimer le compte"; + +/* Title text for delivery limits */ +"Delivery Limits" = "Limites de Administration"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "Dexcom Share"; + +/* The action hint of the workout mode toggle button when enabled */ +"Disables" = "Désactive"; + +/* Title of the switch which toggles retrospective correction effects */ +"Enable Retrospective Correction" = "Activer Correction Retrospective"; + +/* The action hint of the workout mode toggle button when disabled */ +"Enables" = "Active"; + +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "Entrez le seuil de suspension"; + +/* The placeholder text instructing users how to enter a transmitter ID */ +"Enter the 6-digit transmitter ID" = "Entrez le numéro d'identification (ID) du transmetteur à 6 chiffres"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) */ +"Eventually %@" = "Éventuellement %@"; + +/* The title of the alert describing a maximum bolus validation error */ +"Exceeds Maximum Bolus" = "Dépasse le bolus maximal"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The format string used to describe a finite workout targets duration */ +"For %1$@" = "Pour %1$@"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The title text for the G4 Share Receiver switch cell */ +"G4 Share Receiver" = "Récepteur G4 Share"; + +/* The title text for the G5/G6 Transmitter switch cell */ +"G5/G6 Transmitter" = "Transmetteur G5/G6"; + +/* The title of the glucose and prediction graph */ +"Glucose" = "Glycémie"; + +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "Données de glucose sont vielles de %1$@"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "Les données de glucose ne sont pas disponibles"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "Momentum de glucose"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; + +/* The title of a target alert action specifying an indefinitely long workout targets duration */ +"Indefinitely" = "Indéfiniment"; + +/* Title of the prediction input effect for insulin */ +"Insulin" = "Insuline"; + +/* Description of the prediction input effect for insulin */ +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Insuline absorbée x Facteur de sensibilité à l'insuline (%1$@/U)"; + +/* The title of the insulin delivery graph */ +"Insulin Delivery" = "Administration de l'insuline"; + +/* The title text for the insulin model setting row */ +"Insulin Model" = "Modèle d'insuline"; + +/* The title of the insulin sensitivities schedule screen + The title text for the insulin sensitivity schedule */ +"Insulin Sensitivities" = "Facteurs de sensibilité à l'insuline"; + +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "Données Incorrectes: %1$@"; + +/* The title text for the issue report cell */ +"Issue Report" = "Editer rapport"; + +/* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ +"Last comparison: %1$@ → %2$@ vs %3$@" = "Dernière comparaison: %1$@ → %2$@ vs %3$@"; + +/* Glucose HUD accessibility hint */ +"Launches CGM app" = "Lance Application CGM"; + +/* The loading message for the diagnostic report screen */ +"Loading..." = "Chargement..."; + +/* The title of the loggly service */ +"Loggly" = "Loggly"; + +/* The notification title for a loop failure */ +"Loop Failure" = "Echec Loop"; + +/* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ +"Loop has not completed successfully in %@" = "Loop ne s'est pas complété avec succès depuis %@"; + +/* The description of a low G5/G6 transmitter battery with a leading space */ +"Low Battery" = "Batterie faible"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "Données manquantes: %1$@"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Sensor state description for the non-valid state */ +"Needs Attention" = "Attention Requise"; + +/* The title of the Nightscout service */ +"Nightscout" = "Nightscout"; + +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "Pas d'appareil connecté, ou échec durant la connectionà l'appareil"; + +/* Sensor state description for the valid state */ +"OK" = "OK"; + +/* Outside US share server option title */ +"Outside US" = "À l'extérieur des É.-U."; + +/* The title of the Dexcom share password credential */ +"Password" = "Mot de passe"; + +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "Objectif de Pré-Repas"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Glycémie prévue à %1$@ est %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Prédiction de la glycémie à %1$@ sous le seuil de suspension défini."; + +/* The title of the pump section in settings */ +"Pump" = "Pompe"; + +/* The notification title for a low pump battery */ +"Pump Battery Low" = "Batterie de la pompe faible"; + +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Données de pompe sont vielles de %1$@"; + +/* The notification title for an empty pump reservoir */ +"Pump Reservoir Empty" = "Réservoir de la pompe vide"; + +/* The notification title for a low pump reservoir */ +"Pump Reservoir Low" = "Niveau du réservoir de la pompe bas"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Action Rapide - Adulte"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Action Rapide - Enfant"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "Recommandation expirée: veille de %1$@"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "Basale Recommendée"; + +/* Accessibility hint describing recommended bolus units */ +"Recommended Bolus: %@ Units" = "Bolus Recommendé: %@ Unités"; + +/* The default placeholder string for a credential */ +"Required" = "Nécessaire"; + +/* Title of the prediction input effect for retrospective correction */ +"Retrospective Correction" = "Correction Rétrospective"; + +/* The title of the notification action to retry a bolus command */ +"Retry" = "Nouvel essai"; + +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "Calibration de capteur OK"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "Capteur est dans un état inconnu %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "Capteur est arrêté"; + +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "Capteur est en période de réchauffement"; + +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "Capteur a besoin de calibration"; + +/* The title of the Dexcom share server URL credential */ +"Server" = "Serveur"; + +/* The title of the services section in settings */ +"Services" = "Services"; + +/* The label of the settings button */ +"Settings" = "Options"; + +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "Affiche la dernière erreur de Loop"; + +/* Format fragment for a start time */ +"since %@" = "depuis %@"; + +/* The title of the nightscout site URL credential */ +"Site URL" = "URL du site"; + +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; + +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "Commencer un bolus"; + +/* The title text in settings */ +"Suspend Threshold" = "Seuil de suspension"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Le modèle hérité utilisé par Loop, permettant de personnaliser la durée de l'action."; + +/* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ +"The maximum bolus amount is %@ Units" = "Le bolus maximal est de %@ unités"; + +/* Instructions on where to find the transmitter ID */ +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "L'identifiant de l'émetteur se trouve à l'arrière de l'appareil, sur le côté de la boîte, et dans les menus de réglage du récepteur et de l'application mobile."; + +/* The description of the switch which toggles retrospective correction effects */ +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Cela augmentera ou diminuera plus agressivement l'accouchement basal lorsque le mouvement du glucose ne correspond pas au modèle à base de glucides et d'insuline."; + +/* The title text for the Dexcom G5/G6 transmitter ID config value */ +"Transmitter ID" = "ID du transmetteur"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* U.S. share server option title */ +"US" = "É.-U."; + +/* The title of the alert controller used to select a duration for workout targets */ +"Use Workout Glucose Targets" = "Utiliser les objectifs d'entraînement"; + +/* The title of the Dexcom share username credential */ +"Username" = "Nom d'utilisateur"; + +/* Label indicating validation is occurring */ +"Verifying" = "En train de vérifier"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Lorsque le glucose actuel ou prévu est inférieur au seuil de suspension, Loop ne recommandera pas de bolus et recommandera toujours un débit basal temporaire de 0 unité par heure."; + +/* The label of the workout mode toggle button */ +"Workout Targets" = "Objectifs d'entraînement"; + diff --git a/Loop/fr.lproj/Main.strings b/Loop/fr.lproj/Main.strings new file mode 100644 index 0000000000..0614a69d95 --- /dev/null +++ b/Loop/fr.lproj/Main.strings @@ -0,0 +1,147 @@ +/* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ +"3kU-n2-fha.title" = "Statut"; + +/* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ +"5gz-kZ-iF1.text" = "3.5 U/h @ 12:12 PM"; + +/* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ +"5oA-6d-ZTL.text" = "Bolus"; + +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "ID de la pompe"; + +/* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.accessibilityLabel" = "Quantité de bolus"; + +/* Class = "UITextField"; placeholder = "0.0"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.placeholder" = "0.0"; + +/* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ +"87H-N1-0vJ.text" = "Prédit"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ +"aCb-Qs-bpu.text" = "Détail"; + +/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ +"aiu-ZA-zVa.title" = "Bolus"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Titre"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ +"bIL-Ub-qYp.text" = "Étiquette"; + +/* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ +"bq4-98-cQU.text" = "Variation de la glycémie"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "Unités"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "U"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ +"cpo-Po-gFM.text" = "Étiquette"; + +/* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ +"d3X-AN-tA5.text" = "g Totaux"; + +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "La glycémie future est prédite en combinant les effets de plusieurs facteurs. Utilisez cet outils pour changer différents facteurs afin d'observer leur impact sur la prédiction finale."; + +/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ +"d6m-qV-wWi.text" = "Étiquette"; + +/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ +"dmB-PQ-B44.title" = "Paramètres"; + +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "Dispositifs"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "Éventuellement 92 mg/dL"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Observé"; + +/* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ +"hHZ-uY-aKw.text" = "Glucides actifs: 40g"; + +/* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ +"hZZ-2S-lrd.title" = "Effets des glucides"; + +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Les variations observées dans la glycémie, soustrayant les variations modélisées d'administration d'insuline peuvent être utilisées pour estimer l'absoption des glucides."; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Détail"; + +/* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ +"k0g-P7-OVN.text" = "⚠ Glycémie prédite sous plage objectif"; + +/* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ +"k3F-Na-7mn.text" = "Basale Recommendée"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Étiquette"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ +"l7l-mw-Oc9.text" = "Étiquette"; + +/* Class = "UILabel"; text = "Tap to set"; ObjectID = "m9c-SQ-djE"; */ +"m9c-SQ-djE.text" = "Appuyez pour définir"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.accessibilityLabel" = "Unités"; + +/* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.text" = "U"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Étiquette"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Glycémie prédite"; + +/* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ +"pi6-Dh-72V.title" = "Modèle d'insuline"; + +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "Un modèle de l'activité de l'insuline est utilisé pour estimer les effets de l'insuline sur le niveau de la glycémie. Un modèle fiable peut aider à empêcher un empillement d'insuline et recommender des traitements correctifs en toute sécurité."; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "Éventuellement 92 mg/dL"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "g COB"; + +/* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ +"tuw-av-A3x.text" = "Glycémie"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "ufi-Kj-33k"; */ +"ufi-Kj-33k.text" = "Étiquette"; + +/* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ +"viU-7a-kbI.text" = "Insuline active: 1.5U"; + +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Glucides"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 heure"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Administrer"; + +/* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ +"yn7-2M-jZz.text" = "0"; + +/* Class = "UILabel"; text = "Recommended"; ObjectID = "ywT-OR-NnU"; */ +"ywT-OR-NnU.text" = "Recommendé"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "zbc-87-wxZ"; */ +"zbc-87-wxZ.text" = "Titre"; + +/* Class = "UILabel"; text = "0"; ObjectID = "zvZ-uf-zMX"; */ +"zvZ-uf-zMX.text" = "0"; + diff --git a/Loop/it.lproj/InfoPlist.strings b/Loop/it.lproj/InfoPlist.strings index dc49399421..eebd32a20a 100644 --- a/Loop/it.lproj/InfoPlist.strings +++ b/Loop/it.lproj/InfoPlist.strings @@ -1,2 +1,18 @@ -/* (No Commment) */ +/* Bundle display name */ "CFBundleDisplayName" = "Loop"; + +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* Privacy - Bluetooth Peripheral Usage Description */ +"NSBluetoothPeripheralUsageDescription" = "Il Bluetooth viene utilizzato per comunicare con il microinfusore e i dispositivi CGM."; + +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "Face ID viene utilizzato per autenticare il bolo."; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "I dati sui pasti dal database Salute vengono utilizzati per determinare gli effetti del glucosio. I dati del glucosio del database Salute vengono utilizzati per il calcolo del grafico della glicemia."; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "I dati sui carboidrati inseriti nell'app e sull'orologio sono memorizzati nel database Salute. I dati relativi al glucosio recuperati dal CGM vengono memorizzati in modo sicuro in Salute."; + diff --git a/Loop/it.lproj/LaunchScreen.strings b/Loop/it.lproj/LaunchScreen.strings new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Loop/it.lproj/LaunchScreen.strings @@ -0,0 +1 @@ + diff --git a/Loop/it.lproj/Localizable.strings b/Loop/it.lproj/Localizable.strings index 6d1f6cea4b..9c5c0c2970 100644 --- a/Loop/it.lproj/Localizable.strings +++ b/Loop/it.lproj/Localizable.strings @@ -1,79 +1,99 @@ +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = " (prevista l'erogazione di: %@)"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ assorbiti"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ U Totali"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + /* Format string for carb ratio average. (1: value)(2: carb unit) Format string for insulin sensitivity average (1: value)(2: glucose unit) */ "%1$@ %2$@/U" = "%1$@ %2$@/U"; +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + /* Low reservoir alert format string. (1: Number of units remaining) */ -"%1$@ U left" = "%1$@ U left"; +"%1$@ U left" = "%1$@ U residue"; /* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ -"%1$@ U left: %2$@" = "%1$@ U left: %2$@"; +"%1$@ U left: %2$@" = "%1$@ U residue: %2$@"; /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ U/ora @ %2$@"; -/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ -"%1$@ at %2$@" = "%1$@ a %2$@"; - -/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ -"%1$@ units per hour at %2$@" = "%1$@ unità per ora a %2$@"; - -/* Accessibility format string for (1: localized volume)(2: time) */ -"%1$@ units remaining at %2$@" = "%1$@ unità residua a %2$@"; - /* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ "%1$@ v%2$@" = "%1$@ v%2$@"; -/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ -"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; - -/* The format string describing the basal rate. */ -"%@ U" = "%@ U"; - -/* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ U Totali"; - -/* The notification alert describing a possible bolus failure. The substitution parameter is the size of the bolus in units. */ -"%@ U bolus may have failed." = "%@ U bolo potrebbe essere fallito."; - -/* Format string describing the time interval since the last completion date. (1: The localized date components */ -"%@ ago" = "%@ fa"; +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; -/* Format string for reservoir volume. (1: The localized volume) */ -"%@U" = "%@U"; +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; /* Description of the prediction input effect for glucose momentum */ -"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15 min coefficiente di regressione del glucosio (b₁), prosegue con decadimento sopra 30 min"; +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "Coefficiente di regressione del glucosio a 15 min (b₁), interpolato con il decadimento a 30 min."; /* Description of the prediction input effect for retrospective correction */ -"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 min confronto di previsione del glucosio vs reale, prosegue con decadimento sopra 60 min"; +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "Confronto della previsione della glicemia a 30 min vs reale, interpolato con il decadimento sino a 60 min."; -/* The title of the amplitude API key credential - The title of the mLab API Key credential */ -"API Key" = "API Key"; +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Modello basato sull'assorbimento dell'insulina Fiasp."; -/* The title of the nightscout API secret credential */ -"API Secret" = "API Secret"; +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Modello basato sull'assorbimento dell'insulina Humalog, Novorapid e Apidra negli adulti."; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "AccettaBoloConsigliato"; /* The title of the Carbs On-Board graph */ "Active Carbohydrates" = "Carboidrati Attivi"; +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "Carboidrati Attivi: %@"; + /* The title of the Insulin On-Board graph */ "Active Insulin" = "Insulina Attiva"; +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "Insulina Attiva: %@"; + /* The title of the button to add the credentials for a service */ "Add Account" = "Aggiungi Account"; /* The label of the carb entry button */ "Add Meal" = "Aggiungi Pasto"; +/* Title text for button to set up a new pump */ +"Add Pump" = "Aggiungi Microinfusore"; + /* The title of the section containing algorithm settings */ "Algorithm Settings" = "Impostazioni Algoritmo"; /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Adattamento del modello per adulti basato su effetti empirici nei bambini."; + +/* The title of the amplitude API key credential */ +"API Key" = "Chiave API"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Format fragment for a specific time */ +"at %@" = "a %@"; + /* The message displayed during a device authentication prompt for bolus specification */ -"Authenticate to Bolus %@ Units" = "Autenticazione dei Boli %@ Unità"; +"Authenticate to Bolus %@ Units" = "Autenticati per eseguire il bolo di %@ Unità"; /* The title of the basal rate profile screen The title text for the basal rate schedule */ @@ -83,111 +103,112 @@ The notification title for a bolus failure */ "Bolus" = "Bolo"; -/* The title of the alert controller displayed after a bolus attempt fails */ -"Bolus Failed" = "Bolo Fallito"; - /* The title of the cancel action in an action sheet */ "Cancel" = "Cancella"; /* The title of the carb ratios schedule screen The title text for the carb ratio schedule */ -"Carb Ratios" = "Rapporti g/U"; +"Carb Ratios" = "Rapp. Carb:Insulina"; /* Title of the prediction input effect for carbohydrates */ "Carbohydrates" = "Carboidrati"; /* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ -"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Carbs Assorbiti (g) ÷ Carb Rapporti (g/U) × Sensibilità Insulinica (%1$@/U)"; +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Carboidrati Assorbiti (g) ÷ Rapporto carboidrati/insulina (g/U) × Sensibilità Insulinica (%1$@/U)"; /* The notification alert describing a low pump battery */ -"Change the pump battery immediately" = "Cambiare immediatamente la batteria della pompa"; +"Change the pump battery immediately" = "Cambiare immediatamente la batteria del microinfusore"; /* The notification alert describing an empty pump reservoir */ -"Change the pump reservoir now" = "Cambiare il serbatoio della pompa"; +"Change the pump reservoir now" = "Cambiare il serbatoio del microinfusore"; /* The title text for the looping enabled switch cell */ "Closed Loop" = "Loop Chiuso"; -/* Accessibility hint describing completion HUD for a closed loop */ -"Closed loop" = "Loop chiuso"; - /* The title of the configuration section in settings */ "Configuration" = "Configurazione"; -/* The title of the mLab database name credential */ -"Database" = "Database"; +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Errore di configurazione: %1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "CGM: Monitoraggio Continuo Glicemia"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "Intervallo Glicemico"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "L'attuale valore glicemico di %1$@ e' inferiore al valore inferiore del target glicemico."; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "Token dell'utente"; + +/* The short unit display string for decibles */ +"dB" = "dB"; /* The title of the button to remove the credentials for a service */ "Delete Account" = "Cancella Account"; +/* Title text for delivery limits */ +"Delivery Limits" = "Limiti Erogazione"; + /* The title of the Dexcom Share service */ "Dexcom Share" = "Dexcom Share"; /* The action hint of the workout mode toggle button when enabled */ "Disables" = "Disabilitato"; -/* The action button title to dismiss an error message */ -"Dismiss" = "Rimuovere"; - /* Title of the switch which toggles retrospective correction effects */ "Enable Retrospective Correction" = "Abilita Correzione Retrospettiva"; -/* The detail text describing an enabled setting */ -"Enabled" = "Abilita"; - /* The action hint of the workout mode toggle button when disabled */ "Enables" = "Abilita"; -/* The placeholder text instructing users how to enter an insulin action duration */ -"Enter a number of hours" = "Inserire un numero di ore"; +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "Inserisci il valore minimo sotto al quale l'erogazione e' sospesa"; -/* The placeholder text instructing users how to enter a maximum bolus */ -"Enter a number of units" = "Inserire un numero di unità"; - -/* The placeholder text instructing users how to enter a maximum basal rate */ -"Enter a rate in units per hour" = "Inserire un tasso di unità per ora"; - -/* The placeholder text instructing users how to enter a pump ID */ -"Enter the 6-digit transmitter ID" = "Inserire 6-numeri ID trasmettitore"; - -/* Describing the pump history insulin data source */ -"Event History" = "Cronologia Eventi"; +/* The placeholder text instructing users how to enter a transmitter ID */ +"Enter the 6-digit transmitter ID" = "Inserire l'ID del trasmettitore composto da 6 caratteri"; /* The subtitle format describing eventual glucose. (1: localized glucose value description) */ "Eventually %@" = "Probabile Glic. %@"; /* The title of the alert describing a maximum bolus validation error */ -"Exceeds Maximum Bolus" = "Superare Bolo Massimo"; - -/* Glucose trend down */ -"Falling" = "Abbassamento"; - -/* Glucose trend down-down */ -"Falling fast" = "Abbassamento veloce"; +"Exceeds Maximum Bolus" = "Valore superiore al Bolo Massimo"; -/* Glucose trend down-down-down */ -"Falling very fast" = "Abbassamento molto veloce"; - -/* Glucose trend flat */ -"Flat" = "Piatto"; +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Per %1$@"; -/* The title text for the G4 Share Receiver enabled switch cell */ +/* The short unit display string for grams */ +"g" = "g"; + +/* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "G4 Ricevitore Share"; -/* The title text for the Dexcom G5 transmitter ID config value */ -"G5/G6 Transmitter ID" = "G5/G6 ID Trasmettitore"; +/* The title text for the G5/G6 Transmitter switch cell */ +"G5/G6 Transmitter" = "G5/G6 ID Trasmettitore"; /* The title of the glucose and prediction graph */ "Glucose" = "Glicemie"; +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "L'ultimo valore glicemico e' di %1$@ fa"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "I dati sulla glicemia non sono disponibili"; + /* Title of the prediction input effect for glucose momentum */ -"Glucose Momentum" = "Glicemia Effetto"; +"Glucose Momentum" = "Effetto Glicemico"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; /* The title of a target alert action specifying an indefinitely long workout targets duration */ -"Indefinitely" = "Indefinitivamente"; +"Indefinitely" = "Per sempre"; /* Title of the prediction input effect for insulin */ "Insulin" = "Insulina"; @@ -195,112 +216,138 @@ /* Description of the prediction input effect for insulin */ "Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Assorbimento Insulinico (U) × Sensibilità Insulinica (%1$@/U)"; -/* The title text for the insulin action duration value */ -"Insulin Action Duration" = "Azione dell'Insulina"; - /* The title of the insulin delivery graph */ "Insulin Delivery" = "Insulina Somministrata"; +/* The title text for the insulin model setting row */ +"Insulin Model" = "Modello di azione dell'Insulina"; + /* The title of the insulin sensitivities schedule screen The title text for the insulin sensitivity schedule */ "Insulin Sensitivities" = "Sensibilità Insulinica"; -/* Instructions on selecting an insulin data source */ -"Insulin delivery can be determined from the pump by either interpreting the event history or comparing the reservoir volume over time. Reading event history allows for a more accurate status graph and uploading up-to-date treatment data to Nightscout, at the cost of faster pump battery drain and the possibility of a higher radio error rate compared to reading only reservoir volume. If the selected source cannot be used for any reason, the system will attempt to fall back to the other option." = "L'insulina somministrata può essere determinata dalla pompa sia interpretando la cronologia eventi o confrontando il volume del serbatoio nel tempo. Lettura della cronologia eventi consente un diagramma di stato più accurato e caricando i dati aggiornati dai trattamenti di Nightscout, a costo di esaurimento della batteria pompa più veloce e la possibilità di un tasso di errore radiofonica superiore rispetto alla sola lettura del volume del serbatoio. Se la sorgente selezionata non può essere utilizzato per qualsiasi ragione, il sistema tenterà di ripiegare sull'altra opzione."; +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "Dati non validi: %1$@"; /* The title text for the issue report cell */ "Issue Report" = "Segnalazione"; /* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ -"Last comparison: %1$@ → %2$@ vs %3$@" = "Last comparison: %1$@ → %2$@ vs %3$@"; +"Last comparison: %1$@ → %2$@ vs %3$@" = "Ultimo confronto: %1$@ → %2$@ vs %3$@"; /* Glucose HUD accessibility hint */ -"Launches CGM app" = "Lancia CGM app"; +"Launches CGM app" = "Avvia CGM app"; /* The loading message for the diagnostic report screen */ "Loading..." = "Carica..."; +/* The title of the loggly service */ +"Loggly" = "Loggly"; + /* The notification title for a loop failure */ "Loop Failure" = "Loop Fallito"; /* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ -"Loop has not completed successfully in %@" = "Loop non completato con successo in %@"; +"Loop has not completed successfully in %@" = "Loop non completato con successo da %@"; -/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ -"Loop ran %@ ago" = "Loop funziona %@ fa"; +/* The description of a low G5/G6 transmitter battery with a leading space */ +"Low Battery" = "Batteria Bassa"; -/* The recovery message displayed after a bolus attempt fails - The recovery message displayed after a carb entry send attempt fails */ -"Make sure your iPhone is nearby and try again" = "Assicurati che il tuo iPhone si trovi nelle vicinanze e riprova"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; -/* The title text for the maximum basal rate value */ -"Maximum Basal Rate" = "Profilo Basale Massimo"; +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "Dati mancanti: %1$@"; -/* The title text for the maximum bolus value */ -"Maximum Bolus" = "Bolo Massimo"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; /* Sensor state description for the non-valid state */ -"Needs Attention" = "Esige Attenzione"; - -/* Accessibility label component for glucose HUD describing an invalid state */ -"Needs attention" = "Esige Attenzione"; +"Needs Attention" = "Fai Attenzione"; /* The title of the Nightscout service */ "Nightscout" = "Nightscout"; +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "Nessun dispositivo connesso o mancanza di segnale durante la connessione del dispositivo"; + /* Sensor state description for the valid state */ "OK" = "OK"; -/* Accessbility hint describing completion HUD for an open loop */ -"Open loop" = "Loop Aperto"; +/* Outside US share server option title */ +"Outside US" = "Fuori USA"; /* The title of the Dexcom share password credential */ "Password" = "Password"; -/* The title text for the preferred insulin data source config */ -"Preferred Data Source" = "Fonte Dati"; +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "Obiettivo pre-pasto"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "La glicemia prevista tra %1$@ e' di %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "La glicemia prevista %1$@ e' inferiore al valore soglia per la sospensione dell'erogazione."; + +/* The title of the pump section in settings */ +"Pump" = "Microinfusore"; /* The notification title for a low pump battery */ -"Pump Battery Low" = "Batteria Pompa Bassa"; +"Pump Battery Low" = "Batteria Microinfusore e' quasi esaurita"; -/* The title text for the pump ID config value */ -"Pump ID" = "ID pompa"; +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "I dati forniti dal microinfusore sono di %1$@ fa"; /* The notification title for an empty pump reservoir */ -"Pump Reservoir Empty" = "Serbatoio Pompa vuoto"; +"Pump Reservoir Empty" = "Serbatoio microinfusore Vuoto"; /* The notification title for a low pump reservoir */ -"Pump Reservoir Low" = "Serbatoio Pompa Basso"; +"Pump Reservoir Low" = "Serbatoio microinfusore Basso"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Insulina ultrarapida – Adulti"; -/* The label and value showing the recommended bolus */ -"Rec: %@ U" = "Rec: %@ U"; +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Insulina ultrarapida – Bambini"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "La dose raccomandata e' scaduta da %1$@"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "Basale Raccomandata"; /* Accessibility hint describing recommended bolus units */ -"Recommended Bolus: %@ Units" = "Bolo consigliato: %@ Unità"; +"Recommended Bolus: %@ Units" = "Bolo Consigliato: %@ Unità"; /* The default placeholder string for a credential */ "Required" = "Necessario"; -/* Describing the reservoir insulin data source */ -"Reservoir" = "Serbatoio"; - /* Title of the prediction input effect for retrospective correction */ -"Retrospective Correction" = "Correzione Retroattiva"; +"Retrospective Correction" = "Correzione Retrospettiva"; /* The title of the notification action to retry a bolus command */ "Retry" = "Riprovare"; -/* Glucose trend up */ -"Rising" = "Crescente"; +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "La calibrazione del sensore e' valida"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "Il sensore presenta stato sconosciuto %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "Il sensore e' spento"; -/* Glucose trend up-up */ -"Rising fast" = "Crescente veloce"; +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "Il sensore e' in fase di avvio"; -/* Glucose trend up-up-up */ -"Rising very fast" = "Crescente molto veloce"; +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "Il sensore necessita di calibrazione"; -/* The title of the alert controller displayed after a carb entry send attempt fails */ -"Send Failed" = "Invio Fallito"; +/* The title of the Dexcom share server URL credential */ +"Server" = "Server"; /* The title of the services section in settings */ "Services" = "Servizi"; @@ -308,52 +355,60 @@ /* The label of the settings button */ "Settings" = "Impostazioni"; +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "Mostra ultimo errore di Loop"; + +/* Format fragment for a start time */ +"since %@" = "da %@"; + /* The title of the nightscout site URL credential */ "Site URL" = "Sito URL"; -/* The empty-state text for a configuration value */ -"Tap to set" = "Imposta"; +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; -/* The title of the glucose target range schedule screen - The title text for the glucose target range schedule */ -"Correction Range" = "Intervallo Glicemico"; +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "Invio Bolo"; + +/* The title text in settings */ +"Suspend Threshold" = "Blocco Erogazione"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Il modello base usato da Loop, permette la personalizzazione della durata della glicemia."; /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ -"The maximum bolus amount is %@ Units" = "La quantità massima di bolo è %@ Unità"; +"The maximum bolus amount is %@ Units" = "Il massimo bolo eseguibile e' pari a %@ Unità"; /* Instructions on where to find the transmitter ID */ -"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "L'ID trasmettitore può essere trovato stampato sul retro del dispositivo, sul lato della scatola, e all'interno del menu impostazione del ricevitore all'interno dell'applicazione mobile."; +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "L'ID trasmettitore può essere trovato stampato sul retro del dispositivo, sul lato della scatola, e all'interno del menù impostazione del ricevitore all'interno dell'applicazione mobile."; /* The description of the switch which toggles retrospective correction effects */ -"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Questo sarà più aggressivo all'aumentare o al diminuire della basale quando il movimento di glucosio non corrisponde al modello di carboidrati e al modello insulino-basale"; +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Questa impostazione rendera' piu' aggressiva l'erogazione o il blocco delle basali quando l'andamento glicemico non corrisponde al numero di carboidrati attivi e all'insulina attiva."; -/* The unit string for units per hour */ -"U/hour" = "U/ora"; +/* The title text for the Dexcom G5/G6 transmitter ID config value */ +"Transmitter ID" = "ID Trasmettitore"; -/* The unit string for units */ -"Units" = "Unità"; +/* The short unit display string for international units of insulin */ +"U" = "U"; -/* Accessibility value for an unknown value */ -"Unknown" = "Sconosciuto"; +/* U.S. share server option title */ +"US" = "USA"; /* The title of the alert controller used to select a duration for workout targets */ -"Use Workout Glucose Targets" = "Allenarsi con gli Obiettivi di Glucosio"; +"Use Workout Glucose Targets" = "Utilizza i target glicemici personalizzati per l'attivita' sportiva"; /* The title of the Dexcom share username credential */ "Username" = "Nome Utente"; /* Label indicating validation is occurring */ -"Verifying" = "Verificare"; +"Verifying" = "Sto verificando"; -/* Acessibility label describing completion HUD waiting for first run */ -"Waiting for first run" = "In attesa di prima esecuzione"; +/* Title of insulin model setting */ +"Walsh" = "Walsh"; -/* The label of the workout mode toggle button */ -"Workout Mode" = "Modalità di allenamento"; +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Quando l'attuale valore glicemico o un valore previsto nel futuro e' al di sotto del valore minimo previsto per la sospensione dell'erogazione, Loop non consigliera' un bolo e blocchera' l'erogazione delle basali."; -/* The unit string for hours */ -"hours" = "ore"; - -/* The title of the mLab service */ -"mLab" = "mlab"; +/* The label of the workout mode toggle button */ +"Workout Targets" = "Target per l'attivita' sportiva"; diff --git a/Loop/it.lproj/Main.strings b/Loop/it.lproj/Main.strings index a1877b453a..414d42588a 100644 --- a/Loop/it.lproj/Main.strings +++ b/Loop/it.lproj/Main.strings @@ -1,26 +1,38 @@ -/* Class = "UILabel"; text = "399"; ObjectID = "01f-Du-MVi"; */ -"01f-Du-MVi.text" = "399"; - /* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ "3kU-n2-fha.title" = "Stato"; -/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ -"5TX-kX-nBo.text" = "ID Pumpa"; - /* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ "5gz-kZ-iF1.text" = "3.5 U/ora @ 12:12 PM"; /* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ "5oA-6d-ZTL.text" = "Bolo"; +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "ID Microinfusore"; + /* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ "7LT-50-ZzK.accessibilityLabel" = "Importa Boli"; /* Class = "UITextField"; placeholder = "0.0"; ObjectID = "7LT-50-ZzK"; */ "7LT-50-ZzK.placeholder" = "0.0"; -/* Class = "UIView"; accessibilityLabel = "Net Basal Rate"; ObjectID = "BEG-xe-e6y"; */ -"BEG-xe-e6y.accessibilityLabel" = "Profilo Basale"; +/* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ +"87H-N1-0vJ.text" = "Predittivo"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ +"aCb-Qs-bpu.text" = "Dettaglio"; + +/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ +"aiu-ZA-zVa.title" = "Bolo"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Titolo"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ +"bIL-Ub-qYp.text" = "Etichetta"; + +/* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ +"bq4-98-cQU.text" = "Modifica del Glucosio"; /* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ "BR0-dr-Fj2.accessibilityLabel" = "Unità"; @@ -28,74 +40,53 @@ /* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ "BR0-dr-Fj2.text" = "U"; +/* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ +"cpo-Po-gFM.text" = "Etichetta"; + +/* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ +"d3X-AN-tA5.text" = "g Totali"; + /* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ "D4C-I2-dhA.text" = "La glicemia futura é predetta adottando una combinazione di multiple funzioni. Utilizzare questo strumento per attivare o meno le varie funzioni per valutare come esse influiscono sul valore glicemico predetto."; -/* Class = "UILabel"; text = "10:09 AM"; ObjectID = "DKc-Kc-dgR"; */ -"DKc-Kc-dgR.text" = "10:09 AM"; +/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ +"d6m-qV-wWi.text" = "Etichetta"; + +/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ +"dmB-PQ-B44.title" = "Impostazioni"; /* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ "DyC-Sv-qP8.text" = "DISPOSITIVI"; /* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ -"E41-FN-nkk.text" = "Probabile glic. 92 mg/dL"; - -/* Class = "UILabel"; text = "44U"; ObjectID = "I7M-3l-Pf0"; */ -"I7M-3l-Pf0.text" = "44U"; - -/* Class = "UILabel"; text = "100%"; ObjectID = "LaA-uX-OgX"; */ -"LaA-uX-OgX.text" = "100%"; - -/* Class = "UILabel"; text = "!"; ObjectID = "Nps-jD-4lb"; */ -"Nps-jD-4lb.text" = "!"; - -/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ -"OFA-qT-ZAg.text" = "Etichetta"; - -/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ -"PA3-sP-cWY.title" = "Glicemia Predetta"; - -/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ -"Rse-x8-amW.text" = "Probabile glic. 92 mg/dL"; +"E41-FN-nkk.text" = "probabile glic. 92 mg/dL"; -/* Class = "UILabel"; text = "10:09 AM"; ObjectID = "TfZ-En-Kls"; */ -"TfZ-En-Kls.text" = "10:09 AM"; +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Osservato"; -/* Class = "UILabel"; text = "10:09 AM"; ObjectID = "Wkb-m1-PVZ"; */ -"Wkb-m1-PVZ.text" = "10:09 AM"; +/* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ +"hHZ-uY-aKw.text" = "Carboidrati Attivi: 40g"; -/* Class = "UILabel"; text = "-0.85 U"; ObjectID = "Xq9-7P-H39"; */ -"Xq9-7P-H39.text" = "-0.85 U"; +/* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ +"hZZ-2S-lrd.title" = "Effetti dei Carboidrati"; -/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ -"Ya0-9b-ZAS.normalTitle" = "Invia"; - -/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ -"aiu-ZA-zVa.title" = "Bolo"; - -/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ -"bIL-Ub-qYp.text" = "Etichetta"; +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Per valutare l'assorbimento dei carboidrati, è possibile utilizzare i cambiamenti osservati nel glucosio, sottraendo i cambiamenti modellati dall'erogazione di insulina."; -/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ -"d6m-qV-wWi.text" = "Etichetta"; - -/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ -"dmB-PQ-B44.title" = "Impostazioni"; - -/* Class = "UIView"; accessibilityLabel = "Battery Level"; ObjectID = "ecE-wE-iZx"; */ -"ecE-wE-iZx.accessibilityLabel" = "Livello Batteria"; +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Dettaglio"; -/* Class = "UIView"; accessibilityLabel = "Glucose"; ObjectID = "hJo-df-An0"; */ -"hJo-df-An0.accessibilityLabel" = "Glicemie"; +/* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ +"k0g-P7-OVN.text" = "⚠ Glicemie previste sotto il Range"; /* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ "k3F-Na-7mn.text" = "Basale Raccomandata"; -/* Class = "UILabel"; text = "mmol/L ↗︎"; ObjectID = "kbE-jN-1cR"; */ -"kbE-jN-1cR.text" = "mmol/L ↗︎"; +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Etichetta"; -/* Class = "UILabel"; text = "4 min ago"; ObjectID = "krM-Ky-OTb"; */ -"krM-Ky-OTb.text" = "4 min fa"; +/* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ +"l7l-mw-Oc9.text" = "Etichetta"; /* Class = "UILabel"; text = "Tap to set"; ObjectID = "m9c-SQ-djE"; */ "m9c-SQ-djE.text" = "Imposta"; @@ -106,18 +97,51 @@ /* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ "mVz-dr-xLU.text" = "U"; -/* Class = "UILabel"; text = "Title"; ObjectID = "moR-fS-DWR"; */ -"moR-fS-DWR.text" = "Titolo"; +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Etichetta"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Glicemia Predetta"; + +/* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ +"pi6-Dh-72V.title" = "Modello Insulina"; + +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "Un modello di attività insulinica viene utilizzato per stimare gli effetti dell'insulina sui livelli di glucosio. Un modello accurato può aiutare a prevenire l'accumulo di insulina e consigliare in modo sicuro trattamenti correttivi."; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "probabile glic. 92 mg/dL"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "g COB"; /* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ "tuw-av-A3x.text" = "Glicemie"; -/* Class = "UIView"; accessibilityLabel = "Reservoir Volume"; ObjectID = "uVa-hu-HBZ"; */ -"uVa-hu-HBZ.accessibilityLabel" = "Volume Serbatoio"; +/* Class = "UILabel"; text = "Label"; ObjectID = "ufi-Kj-33k"; */ +"ufi-Kj-33k.text" = "Etichetta"; + +/* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ +"viU-7a-kbI.text" = "Insulina Attiva: 1.5U"; + +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Carboidrati"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 ore"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Invia"; + +/* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ +"yn7-2M-jZz.text" = "0"; /* Class = "UILabel"; text = "Recommended"; ObjectID = "ywT-OR-NnU"; */ -"ywT-OR-NnU.text" = "Bolo Consigliato"; +"ywT-OR-NnU.text" = "Consigliato"; /* Class = "UILabel"; text = "Title"; ObjectID = "zbc-87-wxZ"; */ "zbc-87-wxZ.text" = "Titolo"; +/* Class = "UILabel"; text = "0"; ObjectID = "zvZ-uf-zMX"; */ +"zvZ-uf-zMX.text" = "0"; + diff --git a/Loop/nb.lproj/InfoPlist.strings b/Loop/nb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..873226eaeb --- /dev/null +++ b/Loop/nb.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Loop"; + +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* Privacy - Bluetooth Peripheral Usage Description */ +"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices."; + +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "Face ID is used to authenticate insulin bolus."; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "Meal data from the Health database is used to determine glucose effects. Glucose data from the Health database is used for graphing and momentum calculation."; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "Carbohydrate meal data entered in the app and on the watch is stored in the Health database. Glucose data retrieved from the CGM is stored securely in HealthKit."; + diff --git a/Loop/nb.lproj/LaunchScreen.strings b/Loop/nb.lproj/LaunchScreen.strings new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Loop/nb.lproj/LaunchScreen.strings @@ -0,0 +1 @@ + diff --git a/Loop/nb.lproj/Localizable.strings b/Loop/nb.lproj/Localizable.strings new file mode 100644 index 0000000000..803c7e90c5 --- /dev/null +++ b/Loop/nb.lproj/Localizable.strings @@ -0,0 +1,414 @@ +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = "(Gjenstår: %@)"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ absorbert"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ E Totalt"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string for carb ratio average. (1: value)(2: carb unit) + Format string for insulin sensitivity average (1: value)(2: glucose unit) */ +"%1$@ %2$@/U" = "%1$@ %2$@/E"; + +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + +/* Low reservoir alert format string. (1: Number of units remaining) */ +"%1$@ U left" = "%1$@ E gjenstår"; + +/* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ +"%1$@ U left: %2$@" = "%1$@ E gjenstår: %2$@"; + +/* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ +"%1$@ U/hour @ %2$@" = "%1$@ E/timen @ %2$@"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; + +/* Description of the prediction input effect for glucose momentum */ +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15 minutters glukose-regresjonskoeffisient (b1), fortsatt med henfall over 30 minutter."; + +/* Description of the prediction input effect for retrospective correction */ +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 min sammenligning av glukose-prediksjon vs faktisk, fortsatt med forfall over 60 min."; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "En modell basert på publiserte data for absorpsjon av Fiasp insulin."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "En modell basert på publiserte data for absorpsjon av Humalog, Novolog og Apidra insulin hos voksne."; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "AksepterAnbefaltBolus"; + +/* The title of the Carbs On-Board graph */ +"Active Carbohydrates" = "Aktive Karbohydrater"; + +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "Aktive Karbohydrater: %@"; + +/* The title of the Insulin On-Board graph */ +"Active Insulin" = "Aktivt Insulin"; + +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "Aktivt Insulin: %@"; + +/* The title of the button to add the credentials for a service */ +"Add Account" = "Legg Til Konto"; + +/* The label of the carb entry button */ +"Add Meal" = "Legg Til Måltid"; + +/* Title text for button to set up a new pump */ +"Add Pump" = "Legg til Pumpe"; + +/* The title of the section containing algorithm settings */ +"Algorithm Settings" = "Algoritmeinnstillinger"; + +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "En justering til modellen tilpasset voksne, basert på empiriske effekter hos barn."; + +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Format fragment for a specific time */ +"at %@" = "kl. %@"; + +/* The message displayed during a device authentication prompt for bolus specification */ +"Authenticate to Bolus %@ Units" = "Autentiser for å gi bolus %@ E"; + +/* The title of the basal rate profile screen + The title text for the basal rate schedule */ +"Basal Rates" = "Basaldoser"; + +/* The label of the bolus entry button + The notification title for a bolus failure */ +"Bolus" = "Bolus"; + +/* The title of the cancel action in an action sheet */ +"Cancel" = "Avbryt"; + +/* The title of the carb ratios schedule screen + The title text for the carb ratio schedule */ +"Carb Ratios" = "Karbohydratforhold"; + +/* Title of the prediction input effect for carbohydrates */ +"Carbohydrates" = "Karbohydrater"; + +/* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Karbohydrater absorbert (g) ÷ Karbohydratforhold (g/E) × Insulinfølsomhet (%1$@/E)"; + +/* The notification alert describing a low pump battery */ +"Change the pump battery immediately" = "Bytt batteri på pumpe snarest"; + +/* The notification alert describing an empty pump reservoir */ +"Change the pump reservoir now" = "Bytt reservoar på pumpe nå"; + +/* The title text for the looping enabled switch cell */ +"Closed Loop" = "Lukket Loop"; + +/* The title of the configuration section in settings */ +"Configuration" = "Konfigurasjon"; + +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Konfigurasjonsfeil: %1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "Kontinuerlig glukosemonitor"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "Korreksjonsområde"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Nåværende blodsukker på %1$@ er under korreksjonsområde."; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "Customer Token"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The title of the button to remove the credentials for a service */ +"Delete Account" = "Slett Konto"; + +/* Title text for delivery limits */ +"Delivery Limits" = "Leveringsgrense"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "Dexcom Share"; + +/* The action hint of the workout mode toggle button when enabled */ +"Disables" = "Deaktiver"; + +/* Title of the switch which toggles retrospective correction effects */ +"Enable Retrospective Correction" = "Aktiver Retrospektiv Korrigering"; + +/* The action hint of the workout mode toggle button when disabled */ +"Enables" = "Aktiverer"; + +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "Legg til grense for stopp av insulintilførsel"; + +/* The placeholder text instructing users how to enter a transmitter ID */ +"Enter the 6-digit transmitter ID" = "Angi 6-sifret sender (CGM) ID"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) */ +"Eventually %@" = "Omsider %@"; + +/* The title of the alert describing a maximum bolus validation error */ +"Exceeds Maximum Bolus" = "Overskrider Maks Bolus"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The format string used to describe a finite workout targets duration */ +"For %1$@" = "For %1$@"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The title text for the G4 Share Receiver switch cell */ +"G4 Share Receiver" = "G4 Share Receiver"; + +/* The title text for the G5/G6 Transmitter switch cell */ +"G5/G6 Transmitter" = "G5/G6 Sender"; + +/* The title of the glucose and prediction graph */ +"Glucose" = "Glukose"; + +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "Glukosedata er %1$@ gammel"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "Glukose data er utilgjengelig"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "Glukosemomentum"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; + +/* The title of a target alert action specifying an indefinitely long workout targets duration */ +"Indefinitely" = "Uendelig"; + +/* Title of the prediction input effect for insulin */ +"Insulin" = "Insulin"; + +/* Description of the prediction input effect for insulin */ +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Insulin Absorbert (E) × Insulinfølsomhet (%1$@/E)"; + +/* The title of the insulin delivery graph */ +"Insulin Delivery" = "Insulinlevering"; + +/* The title text for the insulin model setting row */ +"Insulin Model" = "Insulinmodell"; + +/* The title of the insulin sensitivities schedule screen + The title text for the insulin sensitivity schedule */ +"Insulin Sensitivities" = "Insulinfølsomhet"; + +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "Ugyldig data: %1$@"; + +/* The title text for the issue report cell */ +"Issue Report" = "Hendelsesrapport"; + +/* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ +"Last comparison: %1$@ → %2$@ vs %3$@" = "Siste sammenligning: %1$@ → %2$@ vs %3$@"; + +/* Glucose HUD accessibility hint */ +"Launches CGM app" = "Starter CGM app"; + +/* The loading message for the diagnostic report screen */ +"Loading..." = "Laster..."; + +/* The title of the loggly service */ +"Loggly" = "Loggly"; + +/* The notification title for a loop failure */ +"Loop Failure" = "Loop Feilet"; + +/* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ +"Loop has not completed successfully in %@" = "Loop har ikke kjørt vellykket på %@"; + +/* The description of a low G5/G6 transmitter battery with a leading space */ +"Low Battery" = "Lite Batteri"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "Mangler Data: %1$@"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Sensor state description for the non-valid state */ +"Needs Attention" = "Trenger Tilsyn"; + +/* The title of the Nightscout service */ +"Nightscout" = "Nightscout"; + +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "Ingen tilkoblede enheter, eller feil under tilkobling til enhet"; + +/* Sensor state description for the valid state */ +"OK" = "OK"; + +/* Outside US share server option title */ +"Outside US" = "Utenfor USA"; + +/* The title of the Dexcom share password credential */ +"Password" = "Passord"; + +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "Pre-måltids mål"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Forventet blodsukker om %1$@ er %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Forventet blodsukker %1$@ er under innstilling for stopp av insulintilførsel"; + +/* The title of the pump section in settings */ +"Pump" = "Pumpe"; + +/* The notification title for a low pump battery */ +"Pump Battery Low" = "Pumpebatteri Lavt"; + +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Pumpedata er %1$@ gammelt"; + +/* The notification title for an empty pump reservoir */ +"Pump Reservoir Empty" = "Pumpereservoar Tomt"; + +/* The notification title for a low pump reservoir */ +"Pump Reservoir Low" = "Pumpereservoar Lavt"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Hurtigvirkende – voksen"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Hurtigvirkende – barn"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "Anbefaling utløpt: %1$@ gammelt"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "Anbefalt Basal"; + +/* Accessibility hint describing recommended bolus units */ +"Recommended Bolus: %@ Units" = "Anbefalt Bolus: %@ Enheter"; + +/* The default placeholder string for a credential */ +"Required" = "Påkrevd"; + +/* Title of the prediction input effect for retrospective correction */ +"Retrospective Correction" = "Retrospektiv Korreksjon"; + +/* The title of the notification action to retry a bolus command */ +"Retry" = "Prøv igjen"; + +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "Sensorkalibrering er OK"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "Sensor er i ukjent status %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "Sensor er stoppet"; + +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "Sensor varmer opp"; + +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "Sensor trenger kalibrering"; + +/* The title of the Dexcom share server URL credential */ +"Server" = "Tjener"; + +/* The title of the services section in settings */ +"Services" = "Tjenester"; + +/* The label of the settings button */ +"Settings" = "Innstillinger"; + +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "Viser siste Loop-feil"; + +/* Format fragment for a start time */ +"since %@" = "siden %@"; + +/* The title of the nightscout site URL credential */ +"Site URL" = "Nettstedslenke (URL)"; + +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; + +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "Starter Bolus"; + +/* The title text in settings */ +"Suspend Threshold" = "Grense for stopp av insulintilførsel"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Den gamle modellen brukt av Loop, tillater endring av varighet for handling."; + +/* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ +"The maximum bolus amount is %@ Units" = "Maks bolus er satt til %@ enheter"; + +/* Instructions on where to find the transmitter ID */ +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "Transmitter ID kan du finne på baksiden av senderen, på siden av eska, og fra meny for innstillinger på avsenderen, eller i mobilappen."; + +/* The description of the switch which toggles retrospective correction effects */ +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Dette vil øke eller redusere basallevering mer aggressivt når glukosebevegelsen ikke samsvarer med karbohydrat- og insulinbasert modell."; + +/* The title text for the Dexcom G5/G6 transmitter ID config value */ +"Transmitter ID" = "Sender ID"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* U.S. share server option title */ +"US" = "USA"; + +/* The title of the alert controller used to select a duration for workout targets */ +"Use Workout Glucose Targets" = "Bruk Treningsmodus for Glukosemålområde"; + +/* The title of the Dexcom share username credential */ +"Username" = "Brukernavn"; + +/* Label indicating validation is occurring */ +"Verifying" = "Bekrefter"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Når nåværende eller forventet blodsukker er under grensen for stopp av insulintilførsel, vil ikke Loop anbefale en bolus, og vil alltid anbefale en midlertidig basalrate på 0 enheter per time."; + +/* The label of the workout mode toggle button */ +"Workout Targets" = "Treningsmål"; + diff --git a/Loop/nb.lproj/Main.strings b/Loop/nb.lproj/Main.strings new file mode 100644 index 0000000000..700d177da1 --- /dev/null +++ b/Loop/nb.lproj/Main.strings @@ -0,0 +1,147 @@ +/* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ +"3kU-n2-fha.title" = "Status"; + +/* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ +"5gz-kZ-iF1.text" = "3,5 E/timen @ 12:12 PM"; + +/* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ +"5oA-6d-ZTL.text" = "Bolus"; + +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "Pumpe-ID"; + +/* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.accessibilityLabel" = "Bolusmengde"; + +/* Class = "UITextField"; placeholder = "0.0"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.placeholder" = "0.0"; + +/* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ +"87H-N1-0vJ.text" = "Forventet"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ +"aCb-Qs-bpu.text" = "Detaljer"; + +/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ +"aiu-ZA-zVa.title" = "Bolus"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Tittel"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ +"bIL-Ub-qYp.text" = "Etikett"; + +/* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ +"bq4-98-cQU.text" = "Blodsukkerendring"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "Enheter"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "E"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ +"cpo-Po-gFM.text" = "Etikett"; + +/* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ +"d3X-AN-tA5.text" = "g Totalt"; + +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "Fremtidig blodsukker forutsies ved å kombinere effektene av flere parametre. Bruk dette verktøyet til å bytte ulike parametre for å se hvordan de påvirker den endelige prediksjonen."; + +/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ +"d6m-qV-wWi.text" = "Etikett"; + +/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ +"dmB-PQ-B44.title" = "Innstillinger"; + +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "APPARATER"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "omsider 92 mg/dL"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Observert"; + +/* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ +"hHZ-uY-aKw.text" = "Aktive Karbohydrater: 40g"; + +/* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ +"hZZ-2S-lrd.title" = "Effekt av Karbohydrater"; + +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Observerte endringer i blodsukker, minus endringer fra levert insulin, kan brukes for å estimere absorpsjon av karbohydrater."; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Detaljer"; + +/* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ +"k0g-P7-OVN.text" = "⚠ Forventet Blodsukker Under Område"; + +/* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ +"k3F-Na-7mn.text" = "Anbefalt Basal"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Etikett"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ +"l7l-mw-Oc9.text" = "Etikett"; + +/* Class = "UILabel"; text = "Tap to set"; ObjectID = "m9c-SQ-djE"; */ +"m9c-SQ-djE.text" = "Trykk for å velge"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.accessibilityLabel" = "Enheter"; + +/* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.text" = "E"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Etikett"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Forventet Blodsukker"; + +/* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ +"pi6-Dh-72V.title" = "Insulinmodell"; + +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "En insulinaktivitetsmodell brukes til å estimere effekten av insulin på blodsukkeret. En nøyaktig modell kan bidra til å forhindre insulinstacking samt anbefale korrigerende tiltak"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "omsider 92 mg/dL"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "g KaB"; + +/* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ +"tuw-av-A3x.text" = "Glukose"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "ufi-Kj-33k"; */ +"ufi-Kj-33k.text" = "Etikett"; + +/* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ +"viU-7a-kbI.text" = "Aktivt Insulin: 1,5E"; + +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Karbohydrater"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 timer"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Lever"; + +/* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ +"yn7-2M-jZz.text" = "0"; + +/* Class = "UILabel"; text = "Recommended"; ObjectID = "ywT-OR-NnU"; */ +"ywT-OR-NnU.text" = "Anbefalt"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "zbc-87-wxZ"; */ +"zbc-87-wxZ.text" = "Tittel"; + +/* Class = "UILabel"; text = "0"; ObjectID = "zvZ-uf-zMX"; */ +"zvZ-uf-zMX.text" = "0"; + diff --git a/Loop/nl.lproj/InfoPlist.strings b/Loop/nl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..c88a46adf6 --- /dev/null +++ b/Loop/nl.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Loop"; + +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* Privacy - Bluetooth Peripheral Usage Description */ +"NSBluetoothPeripheralUsageDescription" = "Bluetooth wordt gebruikt om te communiceren met de insuline pomp en de continue glucose meter."; + +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "Face ID wordt gebruikt om de insuline bolus te verifiëren."; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "Voedsel informatie van de Gezondheid database wordt gebruikt om de glucose impact te bepalen. Glucose data van de Gezondheid database wordt gebruikt voor de tijdslijn en momentberekening"; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "Koolhydraten van de maaltijd die worden ingevoerd in de app op de apple watch worden opgeslagen in de Gezondheid database. Glucose gegevens ontvangen van de CGM wordt veilig opgeslagen in Gezondheid."; + diff --git a/Loop/nl.lproj/LaunchScreen.strings b/Loop/nl.lproj/LaunchScreen.strings new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Loop/nl.lproj/LaunchScreen.strings @@ -0,0 +1 @@ + diff --git a/Loop/nl.lproj/Localizable.strings b/Loop/nl.lproj/Localizable.strings new file mode 100644 index 0000000000..ee0a4be593 --- /dev/null +++ b/Loop/nl.lproj/Localizable.strings @@ -0,0 +1,414 @@ +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = " (Wachten: %@)"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ opgenomen"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ E totaal"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string for carb ratio average. (1: value)(2: carb unit) + Format string for insulin sensitivity average (1: value)(2: glucose unit) */ +"%1$@ %2$@/U" = "%1$@ %2$@/E"; + +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + +/* Low reservoir alert format string. (1: Number of units remaining) */ +"%1$@ U left" = "%1$@ E resterend"; + +/* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ +"%1$@ U left: %2$@" = "%1$@ E resterend: %2$@"; + +/* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ +"%1$@ U/hour @ %2$@" = "%1$@ E/uur @ %2$@"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; + +/* Description of the prediction input effect for glucose momentum */ +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15 minuten glucose regressie coëficient (b1), continue zonder afbouw over 30 min"; + +/* Description of the prediction input effect for retrospective correction */ +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 min vergelijking van glucose voorspelling versus actueel, gevolgd door afbouw over 60 min"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Een model gebaseerd op de gepubliceerde opname van Fiasp insuline."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Een model gebaseerd op de gepubliceerde opname van Humalog, Novorapid, en Apidra insuline bij volwassenen."; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "AccepteerVoorgesteldeBolus"; + +/* The title of the Carbs On-Board graph */ +"Active Carbohydrates" = "Actieve koolhydraten"; + +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "Actieve koolhydraten: %@"; + +/* The title of the Insulin On-Board graph */ +"Active Insulin" = "Actieve insuline"; + +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "Actieve insuline: %@"; + +/* The title of the button to add the credentials for a service */ +"Add Account" = "Voeg account toe"; + +/* The label of the carb entry button */ +"Add Meal" = "Voeg maaltijd toe"; + +/* Title text for button to set up a new pump */ +"Add Pump" = "Voeg Pomp toe"; + +/* The title of the section containing algorithm settings */ +"Algorithm Settings" = "Algoritme Instellingen"; + +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Een aanpasing op het model voor volwassen wanneer deze door kinderen wordt gebruikt."; + +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Format fragment for a specific time */ +"at %@" = "bij %@"; + +/* The message displayed during a device authentication prompt for bolus specification */ +"Authenticate to Bolus %@ Units" = "Authenticeer om te bolussen %@ E"; + +/* The title of the basal rate profile screen + The title text for the basal rate schedule */ +"Basal Rates" = "Basaal waardes"; + +/* The label of the bolus entry button + The notification title for a bolus failure */ +"Bolus" = "Bolus"; + +/* The title of the cancel action in an action sheet */ +"Cancel" = "Annuleer"; + +/* The title of the carb ratios schedule screen + The title text for the carb ratio schedule */ +"Carb Ratios" = "Koolhydraten verhoudingen"; + +/* Title of the prediction input effect for carbohydrates */ +"Carbohydrates" = "Koolhydraten"; + +/* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Koolhydraten geabsorbeerd (gr) ÷ Koolhydraten per eenheid insuline (gr/E) × Insuline gevoeligheid (%1$@/E)"; + +/* The notification alert describing a low pump battery */ +"Change the pump battery immediately" = "Vervang direct de pomp batterij"; + +/* The notification alert describing an empty pump reservoir */ +"Change the pump reservoir now" = "Vervang direct het pomp reservoir"; + +/* The title text for the looping enabled switch cell */ +"Closed Loop" = "Gesloten loop"; + +/* The title of the configuration section in settings */ +"Configuration" = "Configuratie"; + +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Configuratie Fout: %1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "Continue Glucose Monitor"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "Correctie bereik"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Huidige glucose van %1$@ is lager dan het correctie bereik"; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "Gebruiker token"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The title of the button to remove the credentials for a service */ +"Delete Account" = "Verwijder Account"; + +/* Title text for delivery limits */ +"Delivery Limits" = "Insuline toediening limiet"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "Dexcom Share"; + +/* The action hint of the workout mode toggle button when enabled */ +"Disables" = "Uitschakelen"; + +/* Title of the switch which toggles retrospective correction effects */ +"Enable Retrospective Correction" = "Retroperspectieve correctie inschakelen"; + +/* The action hint of the workout mode toggle button when disabled */ +"Enables" = "Inschakelen"; + +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "Voer drempel voor onderbreking insuline in"; + +/* The placeholder text instructing users how to enter a transmitter ID */ +"Enter the 6-digit transmitter ID" = "Voer het 6 cijferige zender ID in"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) */ +"Eventually %@" = "Uiteindelijk %@"; + +/* The title of the alert describing a maximum bolus validation error */ +"Exceeds Maximum Bolus" = "Overschrijdt Maximum Bolus"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The format string used to describe a finite workout targets duration */ +"For %1$@" = "Voor %1$@"; + +/* The short unit display string for grams */ +"g" = "gr"; + +/* The title text for the G4 Share Receiver switch cell */ +"G4 Share Receiver" = "G4 Share Ontvanger"; + +/* The title text for the G5/G6 Transmitter switch cell */ +"G5/G6 Transmitter" = "G5/G6 Zender"; + +/* The title of the glucose and prediction graph */ +"Glucose" = "Glucose"; + +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "Glucose data is %1$@ oud"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "Los datos de glucosa no están disponibles"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "Glucose momementum"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; + +/* The title of a target alert action specifying an indefinitely long workout targets duration */ +"Indefinitely" = "Oneindig"; + +/* Title of the prediction input effect for insulin */ +"Insulin" = "Insuline"; + +/* Description of the prediction input effect for insulin */ +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Opgenomen insuline (E) x insuline gevoeligheid (%1$@/E)"; + +/* The title of the insulin delivery graph */ +"Insulin Delivery" = "Insuline toediening"; + +/* The title text for the insulin model setting row */ +"Insulin Model" = "Insuline Model"; + +/* The title of the insulin sensitivities schedule screen + The title text for the insulin sensitivity schedule */ +"Insulin Sensitivities" = "Insuline gevoeligheden (ISF)"; + +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "Niet valide gegevens: %1$@"; + +/* The title text for the issue report cell */ +"Issue Report" = "Incidenten rapport"; + +/* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ +"Last comparison: %1$@ → %2$@ vs %3$@" = "Laatste vergelijking: %1$@ → %2$@ vs %3$@"; + +/* Glucose HUD accessibility hint */ +"Launches CGM app" = "Opstarten van de CGM app"; + +/* The loading message for the diagnostic report screen */ +"Loading..." = "Laden..."; + +/* The title of the loggly service */ +"Loggly" = "Loggly"; + +/* The notification title for a loop failure */ +"Loop Failure" = "Loop Fout"; + +/* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ +"Loop has not completed successfully in %@" = "Loop is niet goed afgerond in %@"; + +/* The description of a low G5/G6 transmitter battery with a leading space */ +"Low Battery" = "Lage batterij"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "Missende gegevens: %1$@"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Sensor state description for the non-valid state */ +"Needs Attention" = "Aandacht Vereist"; + +/* The title of the Nightscout service */ +"Nightscout" = "Nightscout"; + +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "Geen gekoppelde apparaten, of fout bij apparaat verbinding"; + +/* Sensor state description for the valid state */ +"OK" = "OK"; + +/* Outside US share server option title */ +"Outside US" = "Buiten US"; + +/* The title of the Dexcom share password credential */ +"Password" = "Paswoord"; + +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "Pre-Maaltijd Doelen"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Verwachte glucose op %1$@ is %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Verwachte glucose van %1$@ is lager dan de onderbroken insuline drempel instelling."; + +/* The title of the pump section in settings */ +"Pump" = "Pomp"; + +/* The notification title for a low pump battery */ +"Pump Battery Low" = "Pomp Batterij Laag"; + +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Pomp gegevens is %1$@ oud"; + +/* The notification title for an empty pump reservoir */ +"Pump Reservoir Empty" = "Pomp Reservoir Leeg"; + +/* The notification title for a low pump reservoir */ +"Pump Reservoir Low" = "Pomp Reservoir Laag"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Snelwerkende - volwassenen"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Snelwerkende - kinderen"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "Aanbeveling verlopen: %1$@ oud"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "Voorgestelde basaal"; + +/* Accessibility hint describing recommended bolus units */ +"Recommended Bolus: %@ Units" = "Voorgestelde bolus: %@ Eenheden"; + +/* The default placeholder string for a credential */ +"Required" = "Vereist"; + +/* Title of the prediction input effect for retrospective correction */ +"Retrospective Correction" = "Retroperspectieve correctie"; + +/* The title of the notification action to retry a bolus command */ +"Retry" = "Opnieuw proberen"; + +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "Sensor callibratie is geslaagd"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "Senor is in onbekende status %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "Sensor is gestopt"; + +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "Sensor is aan het opwarmen"; + +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "Sensor heeft callibratie nodig"; + +/* The title of the Dexcom share server URL credential */ +"Server" = "Server"; + +/* The title of the services section in settings */ +"Services" = "Diensten"; + +/* The label of the settings button */ +"Settings" = "Instellingen"; + +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "Toont laatste loop foutmelding"; + +/* Format fragment for a start time */ +"since %@" = "na %@"; + +/* The title of the nightscout site URL credential */ +"Site URL" = "Webpagina URL"; + +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; + +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "Start Bolus"; + +/* The title text in settings */ +"Suspend Threshold" = "Onderbrekingsdrempel"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Het oude model dat door Loop wordt gebruikt, waardoor de actieduur kan worden aangepast."; + +/* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ +"The maximum bolus amount is %@ Units" = "De maximale bolushoeveelheid is %@ Eenheden"; + +/* Instructions on where to find the transmitter ID */ +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "De zender-ID staat afgedrukt op de achterkant van het apparaat, aan de zijkant van de doos waarin deze is geplaatst en in de instellingenmenu's van de G5/G6-ontvanger en de mobiele app."; + +/* The description of the switch which toggles retrospective correction effects */ +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Dit zal agressiever de basale toediening verhogen of verlagen wanneer de glucosebeweging niet overeenkomt met het koolhydraat- en insuline-gebaseerde model."; + +/* The title text for the Dexcom G5/G6 transmitter ID config value */ +"Transmitter ID" = "Zender ID"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* U.S. share server option title */ +"US" = "NL"; + +/* The title of the alert controller used to select a duration for workout targets */ +"Use Workout Glucose Targets" = "Gebruik training glucose doelen"; + +/* The title of the Dexcom share username credential */ +"Username" = "Gebruikersnaam"; + +/* Label indicating validation is occurring */ +"Verifying" = "Verifiëren"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Wanneer de huidige of voorspelde glucose onder de drempel voor onderbreken ligt, zal Loop geen bolus aanbevelen en zal altijd een tijdelijke basaal van 0 eenheden per uur aanbevelen."; + +/* The label of the workout mode toggle button */ +"Workout Targets" = "Trainings doel waardes"; + diff --git a/Loop/nl.lproj/Main.strings b/Loop/nl.lproj/Main.strings new file mode 100644 index 0000000000..48e37006ae --- /dev/null +++ b/Loop/nl.lproj/Main.strings @@ -0,0 +1,147 @@ +/* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ +"3kU-n2-fha.title" = "Status"; + +/* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ +"5gz-kZ-iF1.text" = "3,5 E/U @ 12:12 PM"; + +/* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ +"5oA-6d-ZTL.text" = "Bolus"; + +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "Pomp ID"; + +/* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.accessibilityLabel" = "Bolus hoeveelheid"; + +/* Class = "UITextField"; placeholder = "0.0"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.placeholder" = "0.0"; + +/* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ +"87H-N1-0vJ.text" = "Voorspelde"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ +"aCb-Qs-bpu.text" = "Detail"; + +/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ +"aiu-ZA-zVa.title" = "Bolus"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Titel"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ +"bIL-Ub-qYp.text" = "Etiket"; + +/* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ +"bq4-98-cQU.text" = "Glucose Verandering"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "Eenheden"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "E"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ +"cpo-Po-gFM.text" = "Etiket"; + +/* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ +"d3X-AN-tA5.text" = "gr totaal"; + +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "De toekomstige glucose waarde wordt voorspeld door de effecten van meerdere input waardes mee te nemen. Gebruik deze tool om verschillende inputs aan en uit te zetten om ze zo te kunnen vergelijken met de uiteindelijke voorspelde waarde."; + +/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ +"d6m-qV-wWi.text" = "Etiket"; + +/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ +"dmB-PQ-B44.title" = "Instellingen"; + +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "Apparaten"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "uiteindelijk 92 mg/dL"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Geobserveerd"; + +/* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ +"hHZ-uY-aKw.text" = "Actieve koolhydraten: 40gr"; + +/* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ +"hZZ-2S-lrd.title" = "Effect Koolhydraten"; + +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Geobserveerde veranderingen in glucose. Kan gebruikt worden om de verhouding insuline/koolhydraten in te schatten, minus de veranderingen die reeds door insuline toediening hebben plaatsgevonden."; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Detail"; + +/* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ +"k0g-P7-OVN.text" = "⚠ Verwachte glucose lager dan bereik"; + +/* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ +"k3F-Na-7mn.text" = "Voorgestelde basaal"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Etiket"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ +"l7l-mw-Oc9.text" = "Etiket"; + +/* Class = "UILabel"; text = "Tap to set"; ObjectID = "m9c-SQ-djE"; */ +"m9c-SQ-djE.text" = "Instellen…"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.accessibilityLabel" = "Eenheden"; + +/* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.text" = "E"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Etiket"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Voorspelde Glucose"; + +/* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ +"pi6-Dh-72V.title" = "Insuline model"; + +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "Een model voor insuline gevoeligheid wordt gebruikt om de effecten van insuline op de glucose waarde in te schatten. Het kiezen van het juiste model die jij gebruikt, helpt voorkomen dat insuline zich opstapelt en zorgt zo voor beter voorgestelde correcties."; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "uiteindelijk 92 mg/dL"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "g KaB"; + +/* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ +"tuw-av-A3x.text" = "Glucose"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "ufi-Kj-33k"; */ +"ufi-Kj-33k.text" = "Etiket"; + +/* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ +"viU-7a-kbI.text" = "Actieve insuline: 1,5E"; + +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Koolhydraten"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 uur"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Toedienen"; + +/* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ +"yn7-2M-jZz.text" = "0"; + +/* Class = "UILabel"; text = "Recommended"; ObjectID = "ywT-OR-NnU"; */ +"ywT-OR-NnU.text" = "Voorgestelde"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "zbc-87-wxZ"; */ +"zbc-87-wxZ.text" = "Titel"; + +/* Class = "UILabel"; text = "0"; ObjectID = "zvZ-uf-zMX"; */ +"zvZ-uf-zMX.text" = "0"; + diff --git a/Loop/ru.lproj/InfoPlist.strings b/Loop/ru.lproj/InfoPlist.strings index 8c1ec56692..fef7ac0773 100644 --- a/Loop/ru.lproj/InfoPlist.strings +++ b/Loop/ru.lproj/InfoPlist.strings @@ -1,15 +1,18 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "Loop"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; -/* (No Comment) */ +/* Privacy - Bluetooth Peripheral Usage Description */ "NSBluetoothPeripheralUsageDescription" = "Блутус применяется для коммуникации с инсулиновой помпой и устройствами непрерывного мониторинга СК"; -/* (No Comment) */ +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "Идентификатор Face ID применяется для авторизации болюса инсулина"; + +/* Privacy - Health Share Usage Description */ "NSHealthShareUsageDescription" = "Данные о пище из базы данных Здоровье используются для определения влияния на гликемию. Данные гликемии из базы данных Здоровье используются для графического отображения и вычисления скорости изменений"; -/* (No Comment) */ +/* Privacy - Health Update Usage Description */ "NSHealthUpdateUsageDescription" = "Данные об углеводах в приложении и на смарт-часах хранятся в базе данных Здоровье. Данные о гликемии полученные от систем непрерывного мониторинга хранятся в безопасности в Комплексе Здоровья HealthKit "; diff --git a/Loop/ru.lproj/Localizable.strings b/Loop/ru.lproj/Localizable.strings index 89284a6633..4487a156a7 100644 --- a/Loop/ru.lproj/Localizable.strings +++ b/Loop/ru.lproj/Localizable.strings @@ -1,8 +1,17 @@ /* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ -" (pending: %@)" = "(В ожидании: %@)"; +" (pending: %@)" = " (В ожидании: %@)"; -/* Format string for current suspend threshold. (1: value)(2: bg unit) */ -"%1$@ %2$@" = "%1$@ %2$@"; +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ усвоено"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ всего ед"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; /* Format string for carb ratio average. (1: value)(2: carb unit) Format string for insulin sensitivity average (1: value)(2: glucose unit) */ @@ -23,20 +32,11 @@ /* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ "%1$@ v%2$@" = "%1$@ v%2$@"; -/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ -"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; - -/* Format string describing glucose units per minute (1: glucose unit string) */ -"%1$@/min" = "%1$@/минут"; - /* Formats (1: carb value) and (2: food type) */ "%1$@: %2$@" = "%1$@: %2$@"; -/* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ всего ед"; - -/* Formats absorbed carb value */ -"%@ absorbed" = "%@ усвоено"; +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/минут"; /* Description of the prediction input effect for glucose momentum */ "15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15-мин коэффициент регрессии гликемии (b1), продолжен с угасанием 30 мин"; @@ -50,13 +50,6 @@ /* Subtitle of Rapid-Acting – Adult preset */ "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "модель, основанная на опубликованных данных усвоения Humalog, Novolog и Apidra у взрослых "; -/* The title of the amplitude API key credential - The title of the mLab API Key credential */ -"API Key" = "API Key"; - -/* The title of the nightscout API secret credential */ -"API Secret" = "API Secret"; - /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "Принятьрекомендуемыйболюс"; @@ -78,18 +71,27 @@ /* The label of the carb entry button */ "Add Meal" = "Добавить продукт"; +/* Title text for button to set up a new pump */ +"Add Pump" = "Добавить помпу"; + /* The title of the section containing algorithm settings */ "Algorithm Settings" = "Настройки алгоритма"; -/* Instructions on selecting battery chemistry type */ -"Alkaline and Lithium batteries decay at differing rates. Alkaline tend to have a linear voltage drop over time whereas lithium cell batteries tend to maintain voltage until halfway through their lifespan. Under normal usage in a Non-MySentry compatible Minimed (x22/x15) insulin pump running Loop, Alkaline batteries last approximately 4 to 5 days. Lithium batteries last between 1-2 weeks. This selection will use different battery voltage decay rates for each of the battery chemistry types and alert the user when a battery is approximately 8 to 10 hours from failure." = "Щелочные и литиевые батарейки садятся с различной скоростью. У щелочных падение линейное, в то время как литиевые сохраняют напряжение в течение половины срока службы. При нормальном пользовании в помпе Minimed без Mysentry (x22/x15) с применением алгоритма ИПЖ щелочные батарейки служат примерно от 4 до 5 дней. Литиевые служат от 1 до 2 недель. Эта настройка будет использовать разную скорость падения напряжения батареек в зависимости от их химического типа и предупреждать пользователя за 8-10 часов до отказа "; - /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; /* Subtitle of Rapid-Acting – Children preset */ "An adjustment to the adult model based on empirical effects in children." = "Поправка к модели для взрослых основанная на эмпирических данных для детей"; +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Format fragment for a specific time */ +"at %@" = "В %@"; + /* The message displayed during a device authentication prompt for bolus specification */ "Authenticate to Bolus %@ Units" = "Подтверждение болюса %@ ед"; @@ -142,12 +144,15 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Жетон пользователя"; -/* The title of the mLab database name credential */ -"Database" = "База данных"; +/* The short unit display string for decibles */ +"dB" = "dB"; /* The title of the button to remove the credentials for a service */ "Delete Account" = "Удалить аккаунт"; +/* Title text for delivery limits */ +"Delivery Limits" = "Предел подачи"; + /* The title of the Dexcom Share service */ "Dexcom Share" = "Декском Шеар"; @@ -157,27 +162,15 @@ /* Title of the switch which toggles retrospective correction effects */ "Enable Retrospective Correction" = "Активирует ретроспективную коррекцию"; -/* The detail text describing an enabled setting */ -"Enabled" = "Активировано"; - /* The action hint of the workout mode toggle button when disabled */ "Enables" = "Активирует"; -/* The placeholder text instructing users how to enter a maximum bolus */ -"Enter a number of units" = "Введите кол-во единиц"; - -/* The placeholder text instructing users how to enter a maximum basal rate */ -"Enter a rate in units per hour" = "Введите скорость в единицах в час"; - /* The placeholder text instructing users to enter a suspend treshold */ "Enter suspend threshold" = "Введите рубеж приостановки"; -/* The placeholder text instructing users how to enter a pump ID */ +/* The placeholder text instructing users how to enter a transmitter ID */ "Enter the 6-digit transmitter ID" = "Введите инд. номер трансмиттера (6 цифр)"; -/* Describing the pump history insulin data source */ -"Event History" = "История событий"; - /* The subtitle format describing eventual glucose. (1: localized glucose value description) */ "Eventually %@" = "В конечном итоге %@"; @@ -190,20 +183,29 @@ /* The format string used to describe a finite workout targets duration */ "For %1$@" = "В течение %1$@"; +/* The short unit display string for grams */ +"g" = "г"; + /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "Ресивер G4 Шеар"; -/* The title text for the G5 Transmitter switch cell */ +/* The title text for the G5/G6 Transmitter switch cell */ "G5/G6 Transmitter" = "Трансмиттер G5/G6"; /* The title of the glucose and prediction graph */ "Glucose" = "Гликемия"; +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "Данным гликемии %1$@"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "Данные глюкозы недоступны"; + /* Title of the prediction input effect for glucose momentum */ "Glucose Momentum" = "Динамика гликемии"; -/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ -"Glucose data is %1$@ old" = "Данным гликемии %1$@"; +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://мойсайт. azurewebsites.net"; /* The title of a target alert action specifying an indefinitely long workout targets duration */ "Indefinitely" = "На неопределенное время"; @@ -224,9 +226,6 @@ The title text for the insulin sensitivity schedule */ "Insulin Sensitivities" = "Факторы чувствительности инсулина"; -/* Instructions on selecting an insulin data source */ -"Insulin delivery can be determined from the pump by either interpreting the event history or comparing the reservoir volume over time. Reading event history allows for a more accurate status graph and uploading up-to-date treatment data to Nightscout, at the cost of faster pump battery drain and the possibility of a higher radio error rate compared to reading only reservoir volume. If the selected source cannot be used for any reason, the system will attempt to fall back to the other option." = "Подача инсулина может определяться с помпы путем интерпретации истории событий или сравнением изменения объемов резервуара за прошедшее время. Чтение истории событий позволяет вычертить более точный график состояния и загрузить в Nightscout актуальные данные лечения/назначений (за счет более быстрого истощения батареи помпы и более высокого процента ошибок радиосвязи) по сравнению со считыванием данных только об объеме резервуара."; - /* The error message when invalid data was encountered. (1: details of invalid data) */ "Invalid data: %1$@" = "Неверные данные: %1$@"; @@ -251,18 +250,18 @@ /* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ "Loop has not completed successfully in %@" = "Ну удалось успешно замкнуть цикл/контур в %@"; -/* The description of a low transmitter battery with a leading space */ +/* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Низкий заряд батареи"; -/* The title text for the maximum basal rate value */ -"Maximum Basal Rate" = "Максимальная скорость подачи базала"; - -/* The title text for the maximum bolus value */ -"Maximum Bolus" = "Максимальный болюс"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "мг/дл"; /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Пропущены данные: %1$@"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + /* Sensor state description for the non-valid state */ "Needs Attention" = "Требует внимания"; @@ -290,20 +289,14 @@ /* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ "Predicted glucose of %1$@ is below your suspend threshold setting." = "Предсказываемая гликемия %1$@ ниже ваших настроек порога приостановки помпы"; -/* The title text for the preferred insulin data source config */ -"Preferred Data Source" = "Предпочтительный источник данных"; - /* The title of the pump section in settings */ "Pump" = "Помпа"; /* The notification title for a low pump battery */ "Pump Battery Low" = "Низкий заряд батареи помпы"; -/* The title text for the battery type value */ -"Pump Battery Type" = "Тип батареи помпы"; - -/* The title text for the pump ID config value */ -"Pump ID" = "Инд номер помпы"; +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Данные помпы от %1$@ "; /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "Резервуар помпы пуст"; @@ -311,9 +304,6 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Низкий уровень резервуара помпы"; -/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ -"Pump data is %1$@ old" = "Данные помпы от %1$@ "; - /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; @@ -335,9 +325,6 @@ /* The default placeholder string for a credential */ "Required" = "обязательный"; -/* Describing the reservoir insulin data source */ -"Reservoir" = "Резервуар"; - /* Title of the prediction input effect for retrospective correction */ "Retrospective Correction" = "Ретроспективная коррекция"; @@ -371,6 +358,9 @@ /* Loop Completion HUD accessibility hint */ "Shows last loop error" = "Показывает крайнюю ошибку помпы"; +/* Format fragment for a start time */ +"since %@" = "от %@"; + /* The title of the nightscout site URL credential */ "Site URL" = "URL сайта"; @@ -383,9 +373,6 @@ /* The title text in settings */ "Suspend Threshold" = "Порог приостановки"; -/* The empty-state text for a configuration value */ -"Tap to set" = "Щелкнуть чтобы задать"; - /* Subtitle description of Walsh insulin model setting */ "The legacy model used by Loop, allowing customization of action duration." = "Модель, используемая для цикла/контура, позволяет настройку длительности действия"; @@ -398,18 +385,15 @@ /* The description of the switch which toggles retrospective correction effects */ "This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Это более радикально понизит или увеличит подачу базала в тех случаях когда динамика гликемии не соответствует моделям основанным на углеводах и инсулине"; -/* The title text for the Dexcom G5 transmitter ID config value */ +/* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "Инд № трансмиттера"; -/* The unit string for units per hour */ -"U/hour" = "Ед/час"; +/* The short unit display string for international units of insulin */ +"U" = "ед"; /* U.S. share server option title */ "US" = "США"; -/* The unit string for units */ -"Units" = "Ед"; - /* The title of the alert controller used to select a duration for workout targets */ "Use Workout Glucose Targets" = "Применить цели гликемии как для физической нагрузки"; @@ -428,18 +412,3 @@ /* The label of the workout mode toggle button */ "Workout Targets" = "Целевые значения при физической нагрузке"; -/* Format fragment for a specific time */ -"at %@" = "В %@"; - -/* The placeholder text for the nightscout site URL credential */ -"https://mysite.azurewebsites.net" = "https://мойсайт. azurewebsites.net"; - -/* The title of the mLab service */ -"mLab" = "mLab"; - -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "ммоль/л"; - -/* Format fragment for a start time */ -"since %@" = "от %@"; - diff --git a/Loop/ru.lproj/Main.strings b/Loop/ru.lproj/Main.strings index db2511db8c..f0915a04c6 100644 --- a/Loop/ru.lproj/Main.strings +++ b/Loop/ru.lproj/Main.strings @@ -1,15 +1,15 @@ /* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ "3kU-n2-fha.title" = "Состояние"; -/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ -"5TX-kX-nBo.text" = "идентификационный № помпы"; - /* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ "5gz-kZ-iF1.text" = "3,5 ед./час @ 12:12 PM"; /* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ "5oA-6d-ZTL.text" = "Болюс"; +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "идентификационный № помпы"; + /* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ "7LT-50-ZzK.accessibilityLabel" = "Величина болюса"; @@ -19,96 +19,72 @@ /* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ "87H-N1-0vJ.text" = "Предсказываемый"; -/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ -"B9F-K3-7RI.text" = "Название"; - -/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ -"BR0-dr-Fj2.accessibilityLabel" = "Единицы"; - -/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ -"BR0-dr-Fj2.text" = "ед"; - -/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ -"D4C-I2-dhA.text" = "Будущие значения СК предсказываются на основе определения эффекта множественных факторов. Пользуйтесь этим инструментом для перехода между разными вводными чтобы увидеть как они сопоставимы с окончательным предсказанием"; - -/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ -"DyC-Sv-qP8.text" = "Устройства"; - -/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ -"E41-FN-nkk.text" = "в конечном итоге 92 мг/дл"; - -/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ -"EAn-Ja-S1d.text" = "Наблюдается"; - -/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ -"IxU-As-glo.text" = "Наблюдаются изменения СК, вычитаются изменения смоделированные на подаваемом инсулине, могут использоваться для оценки усвоения углеводов"; - -/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ -"J7x-W5-gwo.text" = "Детали"; - -/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ -"Krd-Aa-ret.text" = "Пометка"; - -/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ -"OFA-qT-ZAg.text" = "Пометка"; - -/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ -"PA3-sP-cWY.title" = "Предсказываемый СК"; - -/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ -"PJv-p9-cFe.text" = "Модель действия инсулина применяется для оценки влияния инсулина на уровни гликемии. Точная модель может помочь предотвратить переизбыток инсулина и рекомендовать безопасную коррекцию"; - -/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ -"Rse-x8-amW.text" = "в конечном итоге 92 мг/дл"; - -/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ -"SQx-au-ZcM.text" = "г COB"; - -/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ -"Vpi-5b-bY5.title" = "Углеводы"; - -/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ -"Wk3-xv-IM5.text" = "4 часа"; - -/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ -"Ya0-9b-ZAS.normalTitle" = "Доставить"; - /* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ "aCb-Qs-bpu.text" = "Детали"; /* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ "aiu-ZA-zVa.title" = "Болюс"; +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Название"; + /* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ "bIL-Ub-qYp.text" = "Пометка"; /* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ "bq4-98-cQU.text" = "Изменение глюкозы"; +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "Единицы"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "ед"; + /* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ "cpo-Po-gFM.text" = "Пометка"; /* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ "d3X-AN-tA5.text" = "всего грамм"; +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "Будущие значения СК предсказываются на основе определения эффекта множественных факторов. Пользуйтесь этим инструментом для перехода между разными вводными чтобы увидеть как они сопоставимы с окончательным предсказанием"; + /* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ "d6m-qV-wWi.text" = "Пометка"; /* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ "dmB-PQ-B44.title" = "Настройки"; +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "Устройства"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "в конечном итоге 92 мг/дл"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Наблюдается"; + /* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ "hHZ-uY-aKw.text" = "Активные углеводы : 40 г"; /* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ "hZZ-2S-lrd.title" = "Действие углеводов"; +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Наблюдаются изменения СК, вычитаются изменения смоделированные на подаваемом инсулине, могут использоваться для оценки усвоения углеводов"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Детали"; + /* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ "k0g-P7-OVN.text" = "⚠ Предсказываемая гликемия ниже диапазона"; /* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ "k3F-Na-7mn.text" = "Рекомендуемый базал"; +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Пометка"; + /* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ "l7l-mw-Oc9.text" = "Пометка"; @@ -121,9 +97,24 @@ /* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ "mVz-dr-xLU.text" = "Ед"; +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Пометка"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Предсказываемый СК"; + /* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ "pi6-Dh-72V.title" = "Модель инсулина"; +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "Модель действия инсулина применяется для оценки влияния инсулина на уровни гликемии. Точная модель может помочь предотвратить переизбыток инсулина и рекомендовать безопасную коррекцию"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "в конечном итоге 92 мг/дл"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "г COB"; + /* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ "tuw-av-A3x.text" = "Гликемия"; @@ -133,6 +124,15 @@ /* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ "viU-7a-kbI.text" = "Активный инсулин: 1,5 ед"; +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Углеводы"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 часа"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Доставить"; + /* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ "yn7-2M-jZz.text" = "0"; diff --git a/Loop/zh-Hans.lproj/InfoPlist.strings b/Loop/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000000..03b550bc9c --- /dev/null +++ b/Loop/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Loop"; + +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* Privacy - Bluetooth Peripheral Usage Description */ +"NSBluetoothPeripheralUsageDescription" = "蓝牙用于与胰岛素泵和连续血糖监测设备进行通信"; + +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "使用人脸解锁来确认输注胰岛素剂量"; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "数据库中的膳食数据用于确定葡萄糖影响。健康数据库中的葡萄糖数据用于绘图和动量计算。"; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "在应用程序和手表中输入的碳水化合物膳食数据存储在健康数据库中。从CGM检索的葡萄糖数据安全地存储在HealthKit中。"; + diff --git a/Loop/zh-Hans.lproj/LaunchScreen.strings b/Loop/zh-Hans.lproj/LaunchScreen.strings new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Loop/zh-Hans.lproj/LaunchScreen.strings @@ -0,0 +1 @@ + diff --git a/Loop/zh-Hans.lproj/Localizable.strings b/Loop/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000000..68afd989de --- /dev/null +++ b/Loop/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,414 @@ +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = "(待执行: %@)"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ 已吸收"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ 单位 总量"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string for carb ratio average. (1: value)(2: carb unit) + Format string for insulin sensitivity average (1: value)(2: glucose unit) */ +"%1$@ %2$@/U" = "%1$@ %2$@/单位"; + +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + +/* Low reservoir alert format string. (1: Number of units remaining) */ +"%1$@ U left" = "%1$@ 单位 剩余"; + +/* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ +"%1$@ U left: %2$@" = "%1$@ 单位 剩余: %2$@"; + +/* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ +"%1$@ U/hour @ %2$@" = "%1$@ 单位/小时 @ %2$@"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/分钟"; + +/* Description of the prediction input effect for glucose momentum */ +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15分钟葡萄糖回归系数(b1),持续30分钟衰减"; + +/* Description of the prediction input effect for retrospective correction */ +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30分钟葡萄糖预测与实际比较,持续60分钟以上衰减"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "基于公布的Fiasp胰岛素吸收的模型"; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "基于已公布的Humalog,Novolog和Apidra胰岛素在成人中吸收的模型。"; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "按照推荐的大剂量输注"; + +/* The title of the Carbs On-Board graph */ +"Active Carbohydrates" = "活性碳水化合物"; + +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "活性碳水化合物: %@"; + +/* The title of the Insulin On-Board graph */ +"Active Insulin" = "活性胰岛素"; + +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "活性胰岛素: %@"; + +/* The title of the button to add the credentials for a service */ +"Add Account" = "添加账户"; + +/* The label of the carb entry button */ +"Add Meal" = "添加用餐信息"; + +/* Title text for button to set up a new pump */ +"Add Pump" = "添加泵"; + +/* The title of the section containing algorithm settings */ +"Algorithm Settings" = "算法设置"; + +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "在成人胰岛素模型基础上专为儿童修改的胰岛素代谢模型"; + +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API密码"; + +/* Format fragment for a specific time */ +"at %@" = "%@分钟内"; + +/* The message displayed during a device authentication prompt for bolus specification */ +"Authenticate to Bolus %@ Units" = "解锁以输注大剂量 %@ 单位"; + +/* The title of the basal rate profile screen + The title text for the basal rate schedule */ +"Basal Rates" = "基础率"; + +/* The label of the bolus entry button + The notification title for a bolus failure */ +"Bolus" = "大剂量"; + +/* The title of the cancel action in an action sheet */ +"Cancel" = "取消"; + +/* The title of the carb ratios schedule screen + The title text for the carb ratio schedule */ +"Carb Ratios" = "碳水化合物吸收率"; + +/* Title of the prediction input effect for carbohydrates */ +"Carbohydrates" = "碳水化合物"; + +/* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "已吸收碳水化合物(克)÷碳水化合物吸收率(克 / 单位)×胰岛素敏感系数 (%1$@/单位)"; + +/* The notification alert describing a low pump battery */ +"Change the pump battery immediately" = "立即更换胰岛素泵电池"; + +/* The notification alert describing an empty pump reservoir */ +"Change the pump reservoir now" = "立即更换储药器"; + +/* The title text for the looping enabled switch cell */ +"Closed Loop" = "开启闭环"; + +/* The title of the configuration section in settings */ +"Configuration" = "配置"; + +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "配置错误:%1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "连续葡萄糖监测"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "修正范围"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "当前葡萄糖%1$@低于修正范围"; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "用户Token"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The title of the button to remove the credentials for a service */ +"Delete Account" = "删除账户"; + +/* Title text for delivery limits */ +"Delivery Limits" = "输注限制"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "德康远程"; + +/* The action hint of the workout mode toggle button when enabled */ +"Disables" = "禁用"; + +/* Title of the switch which toggles retrospective correction effects */ +"Enable Retrospective Correction" = "启用回溯修正算法"; + +/* The action hint of the workout mode toggle button when disabled */ +"Enables" = "启用"; + +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "输入暂停阈值"; + +/* The placeholder text instructing users how to enter a transmitter ID */ +"Enter the 6-digit transmitter ID" = "输入6位数的发射器编号"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) */ +"Eventually %@" = "最终 %@"; + +/* The title of the alert describing a maximum bolus validation error */ +"Exceeds Maximum Bolus" = "超过大剂量最大输注限制"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The format string used to describe a finite workout targets duration */ +"For %1$@" = "对于 %1$@"; + +/* The short unit display string for grams */ +"g" = "克"; + +/* The title text for the G4 Share Receiver switch cell */ +"G4 Share Receiver" = "带有蓝牙功能G4接收器"; + +/* The title text for the G5/G6 Transmitter switch cell */ +"G5/G6 Transmitter" = "G5/G6发射器"; + +/* The title of the glucose and prediction graph */ +"Glucose" = "葡萄糖"; + +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "葡萄糖%1$@分钟未更新"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "葡萄糖数据不可用"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "葡萄糖增量预测算法"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; + +/* The title of a target alert action specifying an indefinitely long workout targets duration */ +"Indefinitely" = "永久"; + +/* Title of the prediction input effect for insulin */ +"Insulin" = "胰岛素"; + +/* Description of the prediction input effect for insulin */ +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "已吸收胰岛素×胰岛素敏感系数"; + +/* The title of the insulin delivery graph */ +"Insulin Delivery" = "已输注胰岛素"; + +/* The title text for the insulin model setting row */ +"Insulin Model" = "胰岛素模型"; + +/* The title of the insulin sensitivities schedule screen + The title text for the insulin sensitivity schedule */ +"Insulin Sensitivities" = "胰岛素敏感系数"; + +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "无效数据: %1$@"; + +/* The title text for the issue report cell */ +"Issue Report" = "反馈问题"; + +/* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ +"Last comparison: %1$@ → %2$@ vs %3$@" = "的最后一次对比: %1$@ → %2$@ vs %3$@"; + +/* Glucose HUD accessibility hint */ +"Launches CGM app" = "启动CGM软件"; + +/* The loading message for the diagnostic report screen */ +"Loading..." = "读取中..."; + +/* The title of the loggly service */ +"Loggly" = "Loggly"; + +/* The notification title for a loop failure */ +"Loop Failure" = "Loop失败"; + +/* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ +"Loop has not completed successfully in %@" = "Loop运行异常 %@"; + +/* The description of a low G5/G6 transmitter battery with a leading space */ +"Low Battery" = "电量低"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "毫克/分升"; + +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "数据缺失: %1$@"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "毫摩尔/升"; + +/* Sensor state description for the non-valid state */ +"Needs Attention" = "请注意"; + +/* The title of the Nightscout service */ +"Nightscout" = "Nightscout"; + +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "没有连接的设备,或设备连接期间发生故障"; + +/* Sensor state description for the valid state */ +"OK" = "好"; + +/* Outside US share server option title */ +"Outside US" = "非美国地区"; + +/* The title of the Dexcom share password credential */ +"Password" = "密码"; + +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "餐前目标"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "预测%1$@时的葡萄糖是%2$@"; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "预测葡萄糖%1$@低于您的暂停阈值设置"; + +/* The title of the pump section in settings */ +"Pump" = "胰岛素泵"; + +/* The notification title for a low pump battery */ +"Pump Battery Low" = "胰岛素泵电量低"; + +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "胰岛素泵数据%1$@分钟未更新"; + +/* The notification title for an empty pump reservoir */ +"Pump Reservoir Empty" = "储药器药量已用完"; + +/* The notification title for a low pump reservoir */ +"Pump Reservoir Low" = "药量低"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "速效胰岛素 - 成人模型"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "速效胰岛素 - 儿童模型"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "%1$@分钟前推荐剂量已过期"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "推荐基础率"; + +/* Accessibility hint describing recommended bolus units */ +"Recommended Bolus: %@ Units" = "推荐大剂量:%@单位"; + +/* The default placeholder string for a credential */ +"Required" = "需要"; + +/* Title of the prediction input effect for retrospective correction */ +"Retrospective Correction" = "回顾性修正"; + +/* The title of the notification action to retry a bolus command */ +"Retry" = "重试"; + +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "传感器校准成功"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "传感器处于未知状态 %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "传感器停止"; + +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "传感器在启动中"; + +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "传感器需要校准"; + +/* The title of the Dexcom share server URL credential */ +"Server" = "服务器"; + +/* The title of the services section in settings */ +"Services" = "服务"; + +/* The label of the settings button */ +"Settings" = "设置"; + +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "显示Loop上一次的错误"; + +/* Format fragment for a start time */ +"since %@" = "自从%@分钟前"; + +/* The title of the nightscout site URL credential */ +"Site URL" = "网址"; + +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; + +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "开始输注大剂量"; + +/* The title text in settings */ +"Suspend Threshold" = "暂停阈值"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Loop使用的默认模型参数,您可以自行修改胰岛素代谢时间。"; + +/* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ +"The maximum bolus amount is %@ Units" = "大剂量输注最大限制为%@单位"; + +/* Instructions on where to find the transmitter ID */ +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "G5发射器编号可以在发射器背部,或者发射器包盒、以及接收器找找到"; + +/* The description of the switch which toggles retrospective correction effects */ +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "当葡萄糖与碳水化合物和基于胰岛素的模型不匹配时,这将更积极地增加或减少基础递送。"; + +/* The title text for the Dexcom G5/G6 transmitter ID config value */ +"Transmitter ID" = "发射器编号"; + +/* The short unit display string for international units of insulin */ +"U" = "单位"; + +/* U.S. share server option title */ +"US" = "美国"; + +/* The title of the alert controller used to select a duration for workout targets */ +"Use Workout Glucose Targets" = "使用运动状态的血糖目标"; + +/* The title of the Dexcom share username credential */ +"Username" = "用户名"; + +/* Label indicating validation is occurring */ +"Verifying" = "验证"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "当前或预测的葡萄糖低于暂停阈值时,Loop不推荐推注,并且总是建议每小时0单位的临时基础速率。"; + +/* The label of the workout mode toggle button */ +"Workout Targets" = "运动模式血糖目标"; + diff --git a/Loop/zh-Hans.lproj/Main.strings b/Loop/zh-Hans.lproj/Main.strings new file mode 100644 index 0000000000..e9edcd3dd9 --- /dev/null +++ b/Loop/zh-Hans.lproj/Main.strings @@ -0,0 +1,147 @@ +/* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ +"3kU-n2-fha.title" = "状态"; + +/* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ +"5gz-kZ-iF1.text" = "3.5u/小时 @ 12:12 PM"; + +/* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ +"5oA-6d-ZTL.text" = "大剂量"; + +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "胰岛素泵序列号"; + +/* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.accessibilityLabel" = "大剂量剂量"; + +/* Class = "UITextField"; placeholder = "0.0"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.placeholder" = "0.0"; + +/* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ +"87H-N1-0vJ.text" = "预计"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ +"aCb-Qs-bpu.text" = "详细"; + +/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ +"aiu-ZA-zVa.title" = "大剂量"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "标题"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ +"bIL-Ub-qYp.text" = "标签"; + +/* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ +"bq4-98-cQU.text" = "葡萄糖变化"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "单位"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "单位"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ +"cpo-Po-gFM.text" = "标签"; + +/* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ +"d3X-AN-tA5.text" = "克 总计"; + +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "未来血糖根据您输入的多种参数计算,选中不同选项可以观察不同输入对最终血糖预测的影响"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ +"d6m-qV-wWi.text" = "标签"; + +/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ +"dmB-PQ-B44.title" = "设置"; + +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "设备"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "最终血糖为92 毫克/分升"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "观察值"; + +/* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ +"hHZ-uY-aKw.text" = "活性碳水化合物:40克"; + +/* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ +"hZZ-2S-lrd.title" = " 碳水化合物的影响"; + +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "观察到的葡萄糖变化,减去以胰岛素递送为模型的变化,可用于估计碳水化合物吸收。"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "详情"; + +/* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ +"k0g-P7-OVN.text" = "⚠ 预测葡萄糖低于目标范围"; + +/* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ +"k3F-Na-7mn.text" = "推荐基础率"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Label"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ +"l7l-mw-Oc9.text" = "标签"; + +/* Class = "UILabel"; text = "Tap to set"; ObjectID = "m9c-SQ-djE"; */ +"m9c-SQ-djE.text" = "点击设置"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.accessibilityLabel" = "单位"; + +/* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.text" = "单位"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "标签"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "预测的血糖"; + +/* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ +"pi6-Dh-72V.title" = "胰岛素模型"; + +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "胰岛素代谢模型用于估计胰岛素对葡萄糖水平的影响。 准确的模型可以帮助预防胰岛素蓄积并安全地推荐校正剂量。"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "最终血糖为92 毫克/分升"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "活性碳水化合物 克"; + +/* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ +"tuw-av-A3x.text" = "葡萄糖"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "ufi-Kj-33k"; */ +"ufi-Kj-33k.text" = "标签"; + +/* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ +"viU-7a-kbI.text" = "活性胰岛素:1.5单位"; + +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "碳水化合物"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4小时"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "输注"; + +/* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ +"yn7-2M-jZz.text" = "0"; + +/* Class = "UILabel"; text = "Recommended"; ObjectID = "ywT-OR-NnU"; */ +"ywT-OR-NnU.text" = "建议"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "zbc-87-wxZ"; */ +"zbc-87-wxZ.text" = "标题"; + +/* Class = "UILabel"; text = "0"; ObjectID = "zvZ-uf-zMX"; */ +"zvZ-uf-zMX.text" = "0"; + diff --git a/LoopTests/de.lproj/InfoPlist.strings b/LoopTests/de.lproj/InfoPlist.strings new file mode 100644 index 0000000000..bbcf8f9040 --- /dev/null +++ b/LoopTests/de.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopTests/es.lproj/InfoPlist.strings b/LoopTests/es.lproj/InfoPlist.strings new file mode 100644 index 0000000000..bbcf8f9040 --- /dev/null +++ b/LoopTests/es.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopTests/fr.lproj/InfoPlist.strings b/LoopTests/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..bbcf8f9040 --- /dev/null +++ b/LoopTests/fr.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopTests/it.lproj/InfoPlist.strings b/LoopTests/it.lproj/InfoPlist.strings new file mode 100644 index 0000000000..bbcf8f9040 --- /dev/null +++ b/LoopTests/it.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopTests/nb.lproj/InfoPlist.strings b/LoopTests/nb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..bbcf8f9040 --- /dev/null +++ b/LoopTests/nb.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopTests/nl.lproj/InfoPlist.strings b/LoopTests/nl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..bbcf8f9040 --- /dev/null +++ b/LoopTests/nl.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopTests/ru.lproj/InfoPlist.strings b/LoopTests/ru.lproj/InfoPlist.strings new file mode 100644 index 0000000000..bbcf8f9040 --- /dev/null +++ b/LoopTests/ru.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopTests/zh-Hans.lproj/InfoPlist.strings b/LoopTests/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000000..e69de29bb2 diff --git a/LoopUI/Views/BasalRateHUDView.swift b/LoopUI/Views/BasalRateHUDView.swift index 58e39bd2ea..0c44579a5e 100644 --- a/LoopUI/Views/BasalRateHUDView.swift +++ b/LoopUI/Views/BasalRateHUDView.swift @@ -18,7 +18,7 @@ public final class BasalRateHUDView: BaseHUDView { basalRateLabel?.text = String(format: basalRateFormatString, "–") updateTintColor() - accessibilityValue = NSLocalizedString("Unknown", comment: "Accessibility value for an unknown value") + accessibilityValue = LocalizedString("Unknown", comment: "Accessibility value for an unknown value") } } @@ -31,7 +31,7 @@ public final class BasalRateHUDView: BaseHUDView { basalRateLabel?.textColor = tintColor } - private lazy var basalRateFormatString = NSLocalizedString("%@ U", comment: "The format string describing the basal rate.") + private lazy var basalRateFormatString = LocalizedString("%@ U", comment: "The format string describing the basal rate.") public func setNetBasalRate(_ rate: Double, percent: Double, at date: Date) { let time = timeFormatter.string(from: date) @@ -39,7 +39,7 @@ public final class BasalRateHUDView: BaseHUDView { if let rateString = decimalFormatter.string(from: rate) { basalRateLabel?.text = String(format: basalRateFormatString, rateString) - accessibilityValue = String(format: NSLocalizedString("%1$@ units per hour at %2$@", comment: "Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time)"), rateString, time) + accessibilityValue = String(format: LocalizedString("%1$@ units per hour at %2$@", comment: "Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time)"), rateString, time) } else { basalRateLabel?.text = nil accessibilityValue = nil diff --git a/LoopUI/Views/GlucoseHUDView.swift b/LoopUI/Views/GlucoseHUDView.swift index 136c30f2ac..9a7acf26c9 100644 --- a/LoopUI/Views/GlucoseHUDView.swift +++ b/LoopUI/Views/GlucoseHUDView.swift @@ -97,7 +97,7 @@ public final class GlucoseHUDView: BaseHUDView { let numberFormatter = NumberFormatter.glucoseFormatter(for: unit) if let valueString = numberFormatter.string(from: glucoseQuantity) { glucoseLabel.text = valueString - accessibilityStrings.append(String(format: NSLocalizedString("%1$@ at %2$@", comment: "Accessbility format value describing glucose: (1: glucose number)(2: glucose time)"), valueString, time)) + accessibilityStrings.append(String(format: LocalizedString("%1$@ at %2$@", comment: "Accessbility format value describing glucose: (1: glucose number)(2: glucose time)"), valueString, time)) } var unitStrings = [unit.localizedShortUnitString] @@ -111,7 +111,7 @@ public final class GlucoseHUDView: BaseHUDView { sensorAlertState = .missing } else if sensor!.isStateValid == false { sensorAlertState = .invalid - accessibilityStrings.append(NSLocalizedString("Needs attention", comment: "Accessibility label component for glucose HUD describing an invalid state")) + accessibilityStrings.append(LocalizedString("Needs attention", comment: "Accessibility label component for glucose HUD describing an invalid state")) } else if sensor!.isLocal == false { sensorAlertState = .remote } else { diff --git a/LoopUI/Views/LevelHUDView.swift b/LoopUI/Views/LevelHUDView.swift index f15be707f0..aec0371fd8 100644 --- a/LoopUI/Views/LevelHUDView.swift +++ b/LoopUI/Views/LevelHUDView.swift @@ -17,7 +17,7 @@ public class LevelHUDView: BaseHUDView { updateColor() - accessibilityValue = NSLocalizedString("Unknown", comment: "Accessibility value for an unknown value") + accessibilityValue = LocalizedString("Unknown", comment: "Accessibility value for an unknown value") } public var stateColors: StateColorPalette? { diff --git a/LoopUI/Views/LoopCompletionHUDView.swift b/LoopUI/Views/LoopCompletionHUDView.swift index 13982c7456..077f699998 100644 --- a/LoopUI/Views/LoopCompletionHUDView.swift +++ b/LoopUI/Views/LoopCompletionHUDView.swift @@ -143,25 +143,25 @@ public final class LoopCompletionHUDView: BaseHUDView { UIContentSizeCategory.medium, UIContentSizeCategory.large: // Use a longer form only for smaller text sizes - caption.text = String(format: NSLocalizedString("%@ ago", comment: "Format string describing the time interval since the last completion date. (1: The localized date components"), timeString) + caption.text = String(format: LocalizedString("%@ ago", comment: "Format string describing the time interval since the last completion date. (1: The localized date components"), timeString) default: caption.text = timeString } - accessibilityLabel = String(format: NSLocalizedString("Loop ran %@ ago", comment: "Accessbility format label describing the time interval since the last completion date. (1: The localized date components)"), timeString) + accessibilityLabel = String(format: LocalizedString("Loop ran %@ ago", comment: "Accessbility format label describing the time interval since the last completion date. (1: The localized date components)"), timeString) } else { caption.text = "—" accessibilityLabel = nil } } else { caption.text = "—" - accessibilityLabel = NSLocalizedString("Waiting for first run", comment: "Acessibility label describing completion HUD waiting for first run") + accessibilityLabel = LocalizedString("Waiting for first run", comment: "Acessibility label describing completion HUD waiting for first run") } if dosingEnabled { - accessibilityHint = NSLocalizedString("Closed loop", comment: "Accessibility hint describing completion HUD for a closed loop") + accessibilityHint = LocalizedString("Closed loop", comment: "Accessibility hint describing completion HUD for a closed loop") } else { - accessibilityHint = NSLocalizedString("Open loop", comment: "Accessbility hint describing completion HUD for an open loop") + accessibilityHint = LocalizedString("Open loop", comment: "Accessbility hint describing completion HUD for an open loop") } } diff --git a/LoopUI/Views/ReservoirVolumeHUDView.swift b/LoopUI/Views/ReservoirVolumeHUDView.swift index d78850e21a..6f57fe09d1 100644 --- a/LoopUI/Views/ReservoirVolumeHUDView.swift +++ b/LoopUI/Views/ReservoirVolumeHUDView.swift @@ -55,11 +55,11 @@ public final class ReservoirVolumeHUDView: LevelHUDView { public func setReservoirVolume(volume: Double, at date: Date) { if let units = numberFormatter.string(from: volume) { - volumeLabel.text = String(format: NSLocalizedString("%@U", comment: "Format string for reservoir volume. (1: The localized volume)"), units) + volumeLabel.text = String(format: LocalizedString("%@U", comment: "Format string for reservoir volume. (1: The localized volume)"), units) let time = timeFormatter.string(from: date) caption?.text = time - accessibilityValue = String(format: NSLocalizedString("%1$@ units remaining at %2$@", comment: "Accessibility format string for (1: localized volume)(2: time)"), units, time) + accessibilityValue = String(format: LocalizedString("%1$@ units remaining at %2$@", comment: "Accessibility format string for (1: localized volume)(2: time)"), units, time) } } } diff --git a/LoopUI/de.lproj/InfoPlist.strings b/LoopUI/de.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/de.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/de.lproj/Localizable.strings b/LoopUI/de.lproj/Localizable.strings new file mode 100644 index 0000000000..41a0d71700 --- /dev/null +++ b/LoopUI/de.lproj/Localizable.strings @@ -0,0 +1,54 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "vor %@"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ E"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@U"; + +/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ +"%1$@ at %2$@" = "%1$@ in %2$@"; + +/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ +"%1$@ units per hour at %2$@" = "%1$@ Einheiten pro Stunde in %2$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ verbleibende Einheiten in %2$@"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "Geschlossener Loop"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "Loop lief seit %@"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Accessibility label component for glucose HUD describing an invalid state */ +"Needs attention" = "Erfordert Aufmerksamkeit"; + +/* Accessbility hint describing completion HUD for an open loop */ +"Open loop" = "Offener Loop"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* Accessibility value for an unknown value */ +"Unknown" = "Unbekannt"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "Warten auf erste Ausführung"; + diff --git a/LoopUI/es.lproj/Localizable.strings b/LoopUI/es.lproj/Localizable.strings index 4997127206..c629b57ec6 100644 --- a/LoopUI/es.lproj/Localizable.strings +++ b/LoopUI/es.lproj/Localizable.strings @@ -1,3 +1,12 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "hace %@"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ U"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@U"; + /* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ "%1$@ at %2$@" = "%1$@ en %2$@"; @@ -7,33 +16,24 @@ /* Accessibility format string for (1: localized volume)(2: time) */ "%1$@ units remaining at %2$@" = "%1$@ unidades restantes a %2$@"; -/* The format string describing the basal rate. */ -"%@ U" = "%@ U"; - -/* Format string describing the time interval since the last completion date. (1: The localized date components */ -"%@ ago" = "hace %@"; - -/* Format string for reservoir volume. (1: The localized volume) */ -"%@U" = "%@U"; - /* Accessibility hint describing completion HUD for a closed loop */ "Closed loop" = "Asa cerrada"; -/* Glucose trend down */ -"Falling" = "Bajando"; +/* The short unit display string for decibles */ +"dB" = "dB"; -/* Glucose trend down-down */ -"Falling fast" = "Bajando rápido"; - -/* Glucose trend down-down-down */ -"Falling very fast" = "Bajando muy rápido"; - -/* Glucose trend flat */ -"Flat" = "Estable"; +/* The short unit display string for grams */ +"g" = "g"; /* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ "Loop ran %@ ago" = "Loop corrió hace %@"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Accessibility label component for glucose HUD describing an invalid state */ "Needs attention" = "Necesita atención"; @@ -43,14 +43,8 @@ /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; -/* Glucose trend up */ -"Rising" = "Subiendo"; - -/* Glucose trend up-up */ -"Rising fast" = "Subiendo rápido"; - -/* Glucose trend up-up-up */ -"Rising very fast" = "Subiendo muy rápido"; +/* The short unit display string for international units of insulin */ +"U" = "U"; /* Accessibility value for an unknown value */ "Unknown" = "Desconocido"; @@ -58,6 +52,3 @@ /* Acessibility label describing completion HUD waiting for first run */ "Waiting for first run" = "Esperando el primer uso"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; - diff --git a/LoopUI/fr.lproj/InfoPlist.strings b/LoopUI/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/fr.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/fr.lproj/Localizable.strings b/LoopUI/fr.lproj/Localizable.strings new file mode 100644 index 0000000000..5a8db48187 --- /dev/null +++ b/LoopUI/fr.lproj/Localizable.strings @@ -0,0 +1,54 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "Il y a %@"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ U"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@U"; + +/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ +"%1$@ at %2$@" = "%1$@ à %2$@"; + +/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ +"%1$@ units per hour at %2$@" = "%1$@ unités par heure à %2$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ unités restants à %2$@"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "Loop fermée"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "Loop a roulé il y a %@"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Accessibility label component for glucose HUD describing an invalid state */ +"Needs attention" = "Nécessite de l'attention"; + +/* Accessbility hint describing completion HUD for an open loop */ +"Open loop" = "Loop ouverte"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Accessibility value for an unknown value */ +"Unknown" = "Inconnu"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "En attente de la première exécution"; + diff --git a/LoopUI/it.lproj/InfoPlist.strings b/LoopUI/it.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/it.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/it.lproj/Localizable.strings b/LoopUI/it.lproj/Localizable.strings new file mode 100644 index 0000000000..00424f37e1 --- /dev/null +++ b/LoopUI/it.lproj/Localizable.strings @@ -0,0 +1,54 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "%@ fa"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ U"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@U"; + +/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ +"%1$@ at %2$@" = "%1$@ a %2$@"; + +/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ +"%1$@ units per hour at %2$@" = "%1$@ unità per ora a %2$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ unità residua a %2$@"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "Loop chiuso"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "Loop funziona %@ fa"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Accessibility label component for glucose HUD describing an invalid state */ +"Needs attention" = "Esige attenzione"; + +/* Accessbility hint describing completion HUD for an open loop */ +"Open loop" = "Loop aperto"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Accessibility value for an unknown value */ +"Unknown" = "Sconosciuto"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "In attesa di prima esecuzione"; + diff --git a/LoopUI/nb.lproj/InfoPlist.strings b/LoopUI/nb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/nb.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/nb.lproj/Localizable.strings b/LoopUI/nb.lproj/Localizable.strings new file mode 100644 index 0000000000..0a8b6ffba7 --- /dev/null +++ b/LoopUI/nb.lproj/Localizable.strings @@ -0,0 +1,54 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "%@ siden"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ E"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@E"; + +/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ +"%1$@ at %2$@" = "%1$@ kl. %2$@"; + +/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ +"%1$@ units per hour at %2$@" = "%1$@ enheter per time kl. %2$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ enheter igjen kl. %2$@"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "Lukket Loop"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "Loop kjørte %@ siden"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Accessibility label component for glucose HUD describing an invalid state */ +"Needs attention" = "Trenger tilsyn"; + +/* Accessbility hint describing completion HUD for an open loop */ +"Open loop" = "Åpen Loop"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Accessibility value for an unknown value */ +"Unknown" = "Ukjent"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "Venter på første kjøring"; + diff --git a/LoopUI/nl.lproj/InfoPlist.strings b/LoopUI/nl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/nl.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/nl.lproj/Localizable.strings b/LoopUI/nl.lproj/Localizable.strings new file mode 100644 index 0000000000..ee4c09b1b5 --- /dev/null +++ b/LoopUI/nl.lproj/Localizable.strings @@ -0,0 +1,54 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "%@ geleden"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ E"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@E"; + +/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ +"%1$@ at %2$@" = "%1$@ op %2$@"; + +/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ +"%1$@ units per hour at %2$@" = "%1$@ eenheden per uur op %2$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ eenheden resterend op %2$@"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "Closed loop"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "gr"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "Loop heeft %@ geleden gedraaid"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Accessibility label component for glucose HUD describing an invalid state */ +"Needs attention" = "Aandacht Benodigd"; + +/* Accessbility hint describing completion HUD for an open loop */ +"Open loop" = "Open loop"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* Accessibility value for an unknown value */ +"Unknown" = "Onbekend"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "Wachten op eerste run"; + diff --git a/LoopUI/ru.lproj/Localizable.strings b/LoopUI/ru.lproj/Localizable.strings index 592ce0feae..62b83425d4 100644 --- a/LoopUI/ru.lproj/Localizable.strings +++ b/LoopUI/ru.lproj/Localizable.strings @@ -1,3 +1,12 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "%@ назад"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ ед"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@ед"; + /* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ "%1$@ at %2$@" = "%1$@ в %2$@ "; @@ -7,33 +16,24 @@ /* Accessibility format string for (1: localized volume)(2: time) */ "%1$@ units remaining at %2$@" = "%1$@ ед остающихся в %2$@"; -/* The format string describing the basal rate. */ -"%@ U" = "%@ ед"; - -/* Format string describing the time interval since the last completion date. (1: The localized date components */ -"%@ ago" = "%@ назад"; - -/* Format string for reservoir volume. (1: The localized volume) */ -"%@U" = "%@ед"; - /* Accessibility hint describing completion HUD for a closed loop */ "Closed loop" = "Алгоритм замкнутого цикла"; -/* Glucose trend down */ -"Falling" = "Падение"; +/* The short unit display string for decibles */ +"dB" = "dB"; -/* Glucose trend down-down */ -"Falling fast" = "Быстрое падение"; - -/* Glucose trend down-down-down */ -"Falling very fast" = "Очень быстрое падение"; - -/* Glucose trend flat */ -"Flat" = "Стабильно"; +/* The short unit display string for grams */ +"g" = "г"; /* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ "Loop ran %@ ago" = "Алгоритм цикла запущен %@ назад"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "мг/дл"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + /* Accessibility label component for glucose HUD describing an invalid state */ "Needs attention" = "Требует внимания"; @@ -43,14 +43,8 @@ /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; -/* Glucose trend up */ -"Rising" = "Повышение"; - -/* Glucose trend up-up */ -"Rising fast" = "Быстрое повышение"; - -/* Glucose trend up-up-up */ -"Rising very fast" = "Очень быстрое повышение"; +/* The short unit display string for international units of insulin */ +"U" = "ед"; /* Accessibility value for an unknown value */ "Unknown" = "Неизвестно"; @@ -58,6 +52,3 @@ /* Acessibility label describing completion HUD waiting for first run */ "Waiting for first run" = "Ожидает первичного запуска"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "ммоль/л"; - diff --git a/LoopUI/zh-Hans.lproj/InfoPlist.strings b/LoopUI/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/zh-Hans.lproj/Localizable.strings b/LoopUI/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000000..855a1631a0 --- /dev/null +++ b/LoopUI/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,54 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "之前%@"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ 单位"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@单位"; + +/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ +"%1$@ at %2$@" = "%1$@ at %2$@"; + +/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ +"%1$@ units per hour at %2$@" = "%1$@ 每小时的单位 %2$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ 剩余的单位 %2$@"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "启动闭环"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "克"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "闭环已停止运行%@"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "毫克/分升"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "毫摩尔/升"; + +/* Accessibility label component for glucose HUD describing an invalid state */ +"Needs attention" = "请注意"; + +/* Accessbility hint describing completion HUD for an open loop */ +"Open loop" = "关闭闭环"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "单位"; + +/* Accessibility value for an unknown value */ +"Unknown" = "未知"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "等待第一次运行"; + diff --git a/WatchApp Extension/Base.lproj/InfoPlist.strings b/WatchApp Extension/Base.lproj/InfoPlist.strings new file mode 100644 index 0000000000..06077199aa --- /dev/null +++ b/WatchApp Extension/Base.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp Extension/Base.lproj/Localizable.strings b/WatchApp Extension/Base.lproj/Localizable.strings new file mode 100644 index 0000000000..eec161a5e6 --- /dev/null +++ b/WatchApp Extension/Base.lproj/Localizable.strings @@ -0,0 +1,37 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "Bolus Failed"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "Dismiss"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ +"Make sure your iPhone is nearby and try again" = "Make sure your iPhone is nearby and try again"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "Rec: %@ U"; + +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ +"Send Failed" = "Send Failed"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + + diff --git a/WatchApp Extension/de.lproj/InfoPlist.strings b/WatchApp Extension/de.lproj/InfoPlist.strings new file mode 100644 index 0000000000..06077199aa --- /dev/null +++ b/WatchApp Extension/de.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp Extension/de.lproj/Localizable.strings b/WatchApp Extension/de.lproj/Localizable.strings new file mode 100644 index 0000000000..7e701ddebe --- /dev/null +++ b/WatchApp Extension/de.lproj/Localizable.strings @@ -0,0 +1,36 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "Bolus fehlgeschlagen"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "Verwerfen"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ +"Make sure your iPhone is nearby and try again" = "Stellen Sie sicher, dass Ihr iPhone in der Nähe ist, und versuchen Sie es erneut."; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "Empfohlen: %@ E"; + +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ +"Send Failed" = "Senden fehlgeschlagen"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + diff --git a/WatchApp Extension/de.lproj/ckcomplication.strings b/WatchApp Extension/de.lproj/ckcomplication.strings new file mode 100644 index 0000000000..f05b483c67 --- /dev/null +++ b/WatchApp Extension/de.lproj/ckcomplication.strings @@ -0,0 +1,13 @@ +/* + ckcomplication.strings + Loop + + Created by Nate Racklyeft on 9/18/16. + Copyright © 2016 Nathan Racklyeft. All rights reserved. +*/ + +/* The complication template example unit string */ +"120↘︎" = "120↘︎"; + +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "%@%@ %@"; diff --git a/WatchApp Extension/es.lproj/Localizable.strings b/WatchApp Extension/es.lproj/Localizable.strings index 7ce2b650c1..0a557ee744 100644 --- a/WatchApp Extension/es.lproj/Localizable.strings +++ b/WatchApp Extension/es.lproj/Localizable.strings @@ -1,43 +1,36 @@ /* The title of the alert controller displayed after a bolus attempt fails */ "Bolus Failed" = "Bolo Falló"; +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The action button title to dismiss an error message */ "Dismiss" = "Ignorar"; -/* Glucose trend down */ -"Falling" = "Bajando"; - -/* Glucose trend down-down */ -"Falling fast" = "Bajando rápido"; - -/* Glucose trend down-down-down */ -"Falling very fast" = "Bajando muy rápido"; - -/* Glucose trend flat */ -"Flat" = "Estable"; +/* The short unit display string for grams */ +"g" = "g"; /* The recovery message displayed after a bolus attempt fails - The recovery message displayed after a carb entry send attempt fails */ + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ "Make sure your iPhone is nearby and try again" = "Asegúrate que tu iPhone se encuentre cerca e inténtalo de nuevo"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; /* The label and value showing the recommended bolus */ "Rec: %@ U" = "Rec: %@ U"; -/* Glucose trend up */ -"Rising" = "Subiendo"; - -/* Glucose trend up-up */ -"Rising fast" = "Subiendo rápido"; - -/* Glucose trend up-up-up */ -"Rising very fast" = "Subiendo muy rápido"; - -/* The title of the alert controller displayed after a carb entry send attempt fails */ +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ "Send Failed" = "Envío Falló"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; +/* The short unit display string for international units of insulin */ +"U" = "U"; diff --git a/WatchApp Extension/fr.lproj/InfoPlist.strings b/WatchApp Extension/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..06077199aa --- /dev/null +++ b/WatchApp Extension/fr.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp Extension/fr.lproj/Localizable.strings b/WatchApp Extension/fr.lproj/Localizable.strings new file mode 100644 index 0000000000..5b2d012031 --- /dev/null +++ b/WatchApp Extension/fr.lproj/Localizable.strings @@ -0,0 +1,36 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "Bolus Failed"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "Dismiss"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ +"Make sure your iPhone is nearby and try again" = "Make sure your iPhone is nearby and try again"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "Rec: %@ U"; + +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ +"Send Failed" = "Send Failed"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + diff --git a/WatchApp Extension/fr.lproj/ckcomplication.strings b/WatchApp Extension/fr.lproj/ckcomplication.strings new file mode 100644 index 0000000000..f05b483c67 --- /dev/null +++ b/WatchApp Extension/fr.lproj/ckcomplication.strings @@ -0,0 +1,13 @@ +/* + ckcomplication.strings + Loop + + Created by Nate Racklyeft on 9/18/16. + Copyright © 2016 Nathan Racklyeft. All rights reserved. +*/ + +/* The complication template example unit string */ +"120↘︎" = "120↘︎"; + +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "%@%@ %@"; diff --git a/WatchApp Extension/it.lproj/InfoPlist.strings b/WatchApp Extension/it.lproj/InfoPlist.strings index 95055d6bef..06077199aa 100644 --- a/WatchApp Extension/it.lproj/InfoPlist.strings +++ b/WatchApp Extension/it.lproj/InfoPlist.strings @@ -1,3 +1,6 @@ -/* (No Commment) */ -"CFBundleDisplayName" = "Estensione WatchApp"; +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/WatchApp Extension/it.lproj/Localizable.strings b/WatchApp Extension/it.lproj/Localizable.strings new file mode 100644 index 0000000000..7cbdcc4938 --- /dev/null +++ b/WatchApp Extension/it.lproj/Localizable.strings @@ -0,0 +1,36 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "Bolo Fallito"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "Rimuovere"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ +"Make sure your iPhone is nearby and try again" = "Assicurati che il tuo iPhone sia vicino e riprova"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "Rec: %@ U"; + +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ +"Send Failed" = "Invio Fallito"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + diff --git a/WatchApp Extension/it.lproj/ckcomplication.strings b/WatchApp Extension/it.lproj/ckcomplication.strings index 26493ed457..f05b483c67 100644 --- a/WatchApp Extension/it.lproj/ckcomplication.strings +++ b/WatchApp Extension/it.lproj/ckcomplication.strings @@ -6,8 +6,8 @@ Copyright © 2016 Nathan Racklyeft. All rights reserved. */ -/* The complication template example glucose & trend */ -"120↘︎" = "6.7↘︎"; +/* The complication template example unit string */ +"120↘︎" = "120↘︎"; -/* The complication template example eventual glucose */ -"75" = "3.0"; +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "%@%@ %@"; diff --git a/WatchApp Extension/nb.lproj/InfoPlist.strings b/WatchApp Extension/nb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..06077199aa --- /dev/null +++ b/WatchApp Extension/nb.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp Extension/nb.lproj/Localizable.strings b/WatchApp Extension/nb.lproj/Localizable.strings new file mode 100644 index 0000000000..e2798b7973 --- /dev/null +++ b/WatchApp Extension/nb.lproj/Localizable.strings @@ -0,0 +1,36 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "Bolus mislyktes"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "Avskjedige"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ +"Make sure your iPhone is nearby and try again" = "Pass på at iPhone er i nærheten, og prøv igjen"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "Rec: %@ E"; + +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ +"Send Failed" = "Send mislyktes"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + diff --git a/WatchApp Extension/nb.lproj/ckcomplication.strings b/WatchApp Extension/nb.lproj/ckcomplication.strings new file mode 100644 index 0000000000..f05b483c67 --- /dev/null +++ b/WatchApp Extension/nb.lproj/ckcomplication.strings @@ -0,0 +1,13 @@ +/* + ckcomplication.strings + Loop + + Created by Nate Racklyeft on 9/18/16. + Copyright © 2016 Nathan Racklyeft. All rights reserved. +*/ + +/* The complication template example unit string */ +"120↘︎" = "120↘︎"; + +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "%@%@ %@"; diff --git a/WatchApp Extension/nl.lproj/InfoPlist.strings b/WatchApp Extension/nl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..06077199aa --- /dev/null +++ b/WatchApp Extension/nl.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp Extension/nl.lproj/Localizable.strings b/WatchApp Extension/nl.lproj/Localizable.strings new file mode 100644 index 0000000000..af7687e354 --- /dev/null +++ b/WatchApp Extension/nl.lproj/Localizable.strings @@ -0,0 +1,36 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "Bolus Mislukt"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "Verwerp"; + +/* The short unit display string for grams */ +"g" = "gr"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ +"Make sure your iPhone is nearby and try again" = "Zorg dat je iPhone in de buurt is en probeer opnieuw"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "Voorgesteld: %@ E"; + +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ +"Send Failed" = "Versturen Mislukt"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + diff --git a/WatchApp Extension/nl.lproj/ckcomplication.strings b/WatchApp Extension/nl.lproj/ckcomplication.strings new file mode 100644 index 0000000000..f05b483c67 --- /dev/null +++ b/WatchApp Extension/nl.lproj/ckcomplication.strings @@ -0,0 +1,13 @@ +/* + ckcomplication.strings + Loop + + Created by Nate Racklyeft on 9/18/16. + Copyright © 2016 Nathan Racklyeft. All rights reserved. +*/ + +/* The complication template example unit string */ +"120↘︎" = "120↘︎"; + +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "%@%@ %@"; diff --git a/WatchApp Extension/ru.lproj/Localizable.strings b/WatchApp Extension/ru.lproj/Localizable.strings index bc53c93560..2a57835c53 100644 --- a/WatchApp Extension/ru.lproj/Localizable.strings +++ b/WatchApp Extension/ru.lproj/Localizable.strings @@ -1,43 +1,33 @@ /* The title of the alert controller displayed after a bolus attempt fails */ "Bolus Failed" = "Болюс не состоялся"; +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The action button title to dismiss an error message */ "Dismiss" = "Пропустить"; -/* Glucose trend down */ -"Falling" = "Падение"; - -/* Glucose trend down-down */ -"Falling fast" = "Быстрое падение"; - -/* Glucose trend down-down-down */ -"Falling very fast" = "Очень быстрое падение"; - -/* Glucose trend flat */ -"Flat" = "Стабильно"; +/* The short unit display string for grams */ +"g" = "г"; /* The recovery message displayed after a bolus attempt fails - The recovery message displayed after a carb entry send attempt fails */ + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ "Make sure your iPhone is nearby and try again" = "Убедитесь, что ваш iPhone поблизости и повторите попытку"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; /* The label and value showing the recommended bolus */ "Rec: %@ U" = "Рекомендовано: %@ ед"; -/* Glucose trend up */ -"Rising" = "Повышение"; - -/* Glucose trend up-up */ -"Rising fast" = "Быстрое повышение"; - -/* Glucose trend up-up-up */ -"Rising very fast" = "Очень быстрое повышение"; - -/* The title of the alert controller displayed after a carb entry send attempt fails */ +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ "Send Failed" = "Ошибка отправки"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "ммоль/л"; +/* The short unit display string for international units of insulin */ +"U" = "ед"; diff --git a/WatchApp Extension/zh-Hans.lproj/InfoPlist.strings b/WatchApp Extension/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000000..06077199aa --- /dev/null +++ b/WatchApp Extension/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp Extension/zh-Hans.lproj/Localizable.strings b/WatchApp Extension/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000000..d0cb929818 --- /dev/null +++ b/WatchApp Extension/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,36 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "大剂量输注失败"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "忽略"; + +/* The short unit display string for grams */ +"g" = "克"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ +"Make sure your iPhone is nearby and try again" = "请确保苹果手机接近设备并重试"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "毫克/分升"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "推荐: %@ 单位"; + +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ +"Send Failed" = "发送失败"; + +/* The short unit display string for international units of insulin */ +"U" = "单位"; + diff --git a/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings b/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings new file mode 100644 index 0000000000..f05b483c67 --- /dev/null +++ b/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings @@ -0,0 +1,13 @@ +/* + ckcomplication.strings + Loop + + Created by Nate Racklyeft on 9/18/16. + Copyright © 2016 Nathan Racklyeft. All rights reserved. +*/ + +/* The complication template example unit string */ +"120↘︎" = "120↘︎"; + +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "%@%@ %@"; diff --git a/WatchApp/Base.lproj/InfoPlist.strings b/WatchApp/Base.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/WatchApp/Base.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/de.lproj/InfoPlist.strings b/WatchApp/de.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/WatchApp/de.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/de.lproj/Interface.strings b/WatchApp/de.lproj/Interface.strings new file mode 100644 index 0000000000..127eb5b947 --- /dev/null +++ b/WatchApp/de.lproj/Interface.strings @@ -0,0 +1,72 @@ +/* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ +"0fo-Z3-hTi.title" = "🌮"; + +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Carbs zufuegen"; + +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.accessibilityLabel" = "Abziehen"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.title" = "−"; + +/* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ +"dPF-QZ-sh6.title" = "🍕"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Zufuegen"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.accessibilityLabel" = "Zufuegen"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.title" = "+"; + +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "Vor dem Essen"; + +/* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ +"gAn-qe-OvX.title" = "🍭"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.accessibilityLabel" = "Abziehen"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.title" = "−"; + +/* Class = "WKInterfaceLabel"; text = "Carbs"; ObjectID = "hln-CI-MRP"; */ +"hln-CI-MRP.text" = "Carbs"; + +/* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ +"jj3-Gq-HBy.text" = "Bolus fehlgeschlagen"; + +/* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ +"mpK-zY-UvA.text" = "0.000"; + +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "Training"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Bolus"; + +/* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ +"rNf-Mh-tID.title" = "Loop"; + +/* Class = "WKInterfaceLabel"; text = "UNITS"; ObjectID = "rV7-d9-n6u"; */ +"rV7-d9-n6u.text" = "EINHEITEN"; + +/* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ +"smL-Rc-IZh.text" = "Bolus"; + +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + diff --git a/WatchApp/es.lproj/Interface.strings b/WatchApp/es.lproj/Interface.strings index 3fc94b8dd5..6e1953753b 100644 --- a/WatchApp/es.lproj/Interface.strings +++ b/WatchApp/es.lproj/Interface.strings @@ -1,14 +1,11 @@ /* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ "0fo-Z3-hTi.title" = "🌮"; -/* Class = "WKInterfaceLabel"; text = "GRAMS"; ObjectID = "18G-mT-92P"; */ -"18G-mT-92P.text" = "GRAMOS"; - -/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ -"DZc-Gn-RLu.accessibilityLabel" = "Agregar"; +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Agregar Carbs"; -/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ -"DZc-Gn-RLu.title" = "+"; +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; /* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ "Dh9-HV-fXy.accessibilityLabel" = "Substraer"; @@ -16,27 +13,24 @@ /* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ "Dh9-HV-fXy.title" = "−"; -/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "E5r-2c-UZm"; */ -"E5r-2c-UZm.text" = "15"; - -/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ -"Qsq-p5-1J0.title" = "Bolo"; - -/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ -"XkS-y5-khE.text" = ""; - -/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ -"b6f-3I-jki.title" = "Agregar Carbs"; - /* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ "dPF-QZ-sh6.title" = "🍕"; +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Agregar"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + /* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ "eu3-pj-GH3.accessibilityLabel" = "Agregar"; /* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ "eu3-pj-GH3.title" = "+"; +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "Pre-Comida"; + /* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ "gAn-qe-OvX.title" = "🍭"; @@ -55,6 +49,12 @@ /* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ "mpK-zY-UvA.text" = "0.000"; +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "Workout"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Bolo"; + /* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ "rNf-Mh-tID.title" = "Loop"; @@ -64,3 +64,9 @@ /* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ "smL-Rc-IZh.text" = "Bolo"; +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + diff --git a/WatchApp/fr.lproj/InfoPlist.strings b/WatchApp/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/WatchApp/fr.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/fr.lproj/Interface.strings b/WatchApp/fr.lproj/Interface.strings new file mode 100644 index 0000000000..f35c37da43 --- /dev/null +++ b/WatchApp/fr.lproj/Interface.strings @@ -0,0 +1,72 @@ +/* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ +"0fo-Z3-hTi.title" = "🌮"; + +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Ajouter des glucides"; + +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.accessibilityLabel" = "Soustraire"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.title" = "−"; + +/* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ +"dPF-QZ-sh6.title" = "🍕"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Ajouter"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.accessibilityLabel" = "Ajouter"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.title" = "+"; + +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "Pré-Repas"; + +/* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ +"gAn-qe-OvX.title" = "🍭"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.accessibilityLabel" = "Soustraire"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.title" = "−"; + +/* Class = "WKInterfaceLabel"; text = "Carbs"; ObjectID = "hln-CI-MRP"; */ +"hln-CI-MRP.text" = "Glucides"; + +/* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ +"jj3-Gq-HBy.text" = "Échec du bolus"; + +/* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ +"mpK-zY-UvA.text" = "0.000"; + +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "Entraînement"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Bolus"; + +/* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ +"rNf-Mh-tID.title" = "Loop"; + +/* Class = "WKInterfaceLabel"; text = "UNITS"; ObjectID = "rV7-d9-n6u"; */ +"rV7-d9-n6u.text" = "Unités"; + +/* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ +"smL-Rc-IZh.text" = "Bolus"; + +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + diff --git a/WatchApp/it.lproj/InfoPlist.strings b/WatchApp/it.lproj/InfoPlist.strings index dc49399421..9250064a26 100644 --- a/WatchApp/it.lproj/InfoPlist.strings +++ b/WatchApp/it.lproj/InfoPlist.strings @@ -1,2 +1,6 @@ -/* (No Commment) */ +/* (No Comment) */ "CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/it.lproj/Interface.strings b/WatchApp/it.lproj/Interface.strings index 968f777874..617964b394 100644 --- a/WatchApp/it.lproj/Interface.strings +++ b/WatchApp/it.lproj/Interface.strings @@ -1,14 +1,11 @@ /* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ "0fo-Z3-hTi.title" = "🌮"; -/* Class = "WKInterfaceLabel"; text = "GRAMS"; ObjectID = "18G-mT-92P"; */ -"18G-mT-92P.text" = "GR"; - -/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ -"DZc-Gn-RLu.accessibilityLabel" = "Aggiungi"; +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Aggiungi Carb"; -/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ -"DZc-Gn-RLu.title" = "+"; +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; /* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ "Dh9-HV-fXy.accessibilityLabel" = "Sottrarre"; @@ -16,33 +13,24 @@ /* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ "Dh9-HV-fXy.title" = "−"; -/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "E5r-2c-UZm"; */ -"E5r-2c-UZm.text" = "15"; - -/* Class = "WKInterfaceMenuItem"; title = "Carbs"; ObjectID = "Fhb-O2-qgq"; */ -"Fhb-O2-qgq.title" = "CHO"; - -/* Class = "WKInterfaceMenuItem"; title = "Bolus"; ObjectID = "ONR-Fr-rMn"; */ -"ONR-Fr-rMn.title" = "Boli"; - -/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ -"Qsq-p5-1J0.title" = "Boli"; - -/* Class = "WKInterfaceLabel"; text = "Alert Label"; ObjectID = "XkS-y5-khE"; */ -"XkS-y5-khE.text" = "Allarme Etichetta"; - -/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ -"b6f-3I-jki.title" = "Aggiungi Cho"; - /* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ "dPF-QZ-sh6.title" = "🍕"; +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Aggiungi"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + /* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ "eu3-pj-GH3.accessibilityLabel" = "Aggiungi"; /* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ "eu3-pj-GH3.title" = "+"; +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "Pre-Pasto"; + /* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ "gAn-qe-OvX.title" = "🍭"; @@ -52,12 +40,33 @@ /* Class = "WKInterfaceButton"; title = "−"; ObjectID = "hjF-xr-cwO"; */ "hjF-xr-cwO.title" = "−"; +/* Class = "WKInterfaceLabel"; text = "Carbs"; ObjectID = "hln-CI-MRP"; */ +"hln-CI-MRP.text" = "Carb"; + +/* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ +"jj3-Gq-HBy.text" = "Bolo Fallito"; + /* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ "mpK-zY-UvA.text" = "0.000"; +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "Attività fisica"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Bolo"; + /* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ "rNf-Mh-tID.title" = "Loop"; /* Class = "WKInterfaceLabel"; text = "UNITS"; ObjectID = "rV7-d9-n6u"; */ -"rV7-d9-n6u.text" = "UNITA'"; +"rV7-d9-n6u.text" = "Unità"; + +/* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ +"smL-Rc-IZh.text" = "Bolo"; + +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; diff --git a/WatchApp/nb.lproj/InfoPlist.strings b/WatchApp/nb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/WatchApp/nb.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/nb.lproj/Interface.strings b/WatchApp/nb.lproj/Interface.strings new file mode 100644 index 0000000000..3ad8cafb2e --- /dev/null +++ b/WatchApp/nb.lproj/Interface.strings @@ -0,0 +1,72 @@ +/* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ +"0fo-Z3-hTi.title" = "🌮"; + +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Legg til Karbohydrater"; + +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.accessibilityLabel" = "Trekk fra"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.title" = "−"; + +/* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ +"dPF-QZ-sh6.title" = "🍕"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Legg til"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.accessibilityLabel" = "Legg til"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.title" = "+"; + +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "Pre-Måltid"; + +/* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ +"gAn-qe-OvX.title" = "🍭"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.accessibilityLabel" = "Trekk fra"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.title" = "−"; + +/* Class = "WKInterfaceLabel"; text = "Carbs"; ObjectID = "hln-CI-MRP"; */ +"hln-CI-MRP.text" = "Karbohydrater"; + +/* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ +"jj3-Gq-HBy.text" = "Bolus Feilet"; + +/* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ +"mpK-zY-UvA.text" = "0.000"; + +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "Trening"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Bolus"; + +/* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ +"rNf-Mh-tID.title" = "Loop"; + +/* Class = "WKInterfaceLabel"; text = "UNITS"; ObjectID = "rV7-d9-n6u"; */ +"rV7-d9-n6u.text" = "ENHETER"; + +/* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ +"smL-Rc-IZh.text" = "Bolus"; + +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + diff --git a/WatchApp/nl.lproj/InfoPlist.strings b/WatchApp/nl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/WatchApp/nl.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/nl.lproj/Interface.strings b/WatchApp/nl.lproj/Interface.strings new file mode 100644 index 0000000000..97e0b87bae --- /dev/null +++ b/WatchApp/nl.lproj/Interface.strings @@ -0,0 +1,72 @@ +/* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ +"0fo-Z3-hTi.title" = "🌮"; + +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Koolhydraten toevoegen"; + +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.accessibilityLabel" = "Aftrekken"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.title" = "−"; + +/* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ +"dPF-QZ-sh6.title" = "🍕"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Toevoegen"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.accessibilityLabel" = "Toevoegen"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.title" = "+"; + +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "Pre-Maaltijd"; + +/* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ +"gAn-qe-OvX.title" = "🍭"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.accessibilityLabel" = "Aftrekken"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.title" = "−"; + +/* Class = "WKInterfaceLabel"; text = "Carbs"; ObjectID = "hln-CI-MRP"; */ +"hln-CI-MRP.text" = "Koolhydraten"; + +/* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ +"jj3-Gq-HBy.text" = "Bolus Mislukt"; + +/* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ +"mpK-zY-UvA.text" = "0.000"; + +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "Training"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Bolus"; + +/* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ +"rNf-Mh-tID.title" = "Loop"; + +/* Class = "WKInterfaceLabel"; text = "UNITS"; ObjectID = "rV7-d9-n6u"; */ +"rV7-d9-n6u.text" = "Eenheden"; + +/* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ +"smL-Rc-IZh.text" = "Bolus"; + +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + diff --git a/WatchApp/ru.lproj/Interface.strings b/WatchApp/ru.lproj/Interface.strings index 838655b533..684ab55934 100644 --- a/WatchApp/ru.lproj/Interface.strings +++ b/WatchApp/ru.lproj/Interface.strings @@ -1,42 +1,36 @@ /* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ "0fo-Z3-hTi.title" = "🌮"; +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Добавить углеводов"; + /* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ "CWt-7U-cnK.text" = "15"; -/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ -"DZc-Gn-RLu.accessibilityLabel" = "Добавить"; - -/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ -"DZc-Gn-RLu.title" = "+"; - /* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ "Dh9-HV-fXy.accessibilityLabel" = "вычитать"; /* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ "Dh9-HV-fXy.title" = "−"; -/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ -"Qsq-p5-1J0.title" = "Болюс"; - -/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ -"Ury-of-vQg.text" = "10:09 AM"; - -/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ -"XkS-y5-khE.text" = ""; - -/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ -"b6f-3I-jki.title" = "Добавить углеводов"; - /* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ "dPF-QZ-sh6.title" = "🍕"; +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Добавить"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + /* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ "eu3-pj-GH3.accessibilityLabel" = "Добавить\n "; /* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ "eu3-pj-GH3.title" = "+"; +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "До еды"; + /* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ "gAn-qe-OvX.title" = "🍭"; @@ -55,6 +49,12 @@ /* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ "mpK-zY-UvA.text" = "0.000"; +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "Физическая нагрузка"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Болюс"; + /* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ "rNf-Mh-tID.title" = "Loop"; @@ -64,3 +64,9 @@ /* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ "smL-Rc-IZh.text" = "Болюс"; +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + diff --git a/WatchApp/zh-Hans.lproj/InfoPlist.strings b/WatchApp/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/WatchApp/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/zh-Hans.lproj/Interface.strings b/WatchApp/zh-Hans.lproj/Interface.strings new file mode 100644 index 0000000000..3e589f2423 --- /dev/null +++ b/WatchApp/zh-Hans.lproj/Interface.strings @@ -0,0 +1,72 @@ +/* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ +"0fo-Z3-hTi.title" = "🌮"; + +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "添加碳水化合物"; + +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.accessibilityLabel" = "减去"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.title" = "−"; + +/* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ +"dPF-QZ-sh6.title" = "🍕"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "添加"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.accessibilityLabel" = "添加"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.title" = "+"; + +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "餐前模式"; + +/* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ +"gAn-qe-OvX.title" = "🍭"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.accessibilityLabel" = "减去"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.title" = "−"; + +/* Class = "WKInterfaceLabel"; text = "Carbs"; ObjectID = "hln-CI-MRP"; */ +"hln-CI-MRP.text" = "碳水化合物"; + +/* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ +"jj3-Gq-HBy.text" = "大剂量输注失败"; + +/* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ +"mpK-zY-UvA.text" = "0.000"; + +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "锻炼/运动模式"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "大剂量"; + +/* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ +"rNf-Mh-tID.title" = "Loop"; + +/* Class = "WKInterfaceLabel"; text = "UNITS"; ObjectID = "rV7-d9-n6u"; */ +"rV7-d9-n6u.text" = "单位"; + +/* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ +"smL-Rc-IZh.text" = "大剂量"; + +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + From 0143419e90e85baeb31eb9404c7fd7bb2b079b6d Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Wed, 15 Aug 2018 18:54:30 -0700 Subject: [PATCH 02/24] adding folders --- DoseMathTests/Base.lproj/InfoPlist.strings | 1 + DoseMathTests/Base.lproj/Localizable.strings | 26 ++++++++++ LoopUI/Base.lproj/InfoPlist.strings | 6 +++ LoopUI/Base.lproj/Localizable.strings | 53 ++++++++++++++++++++ LoopUI/Common/LocalizedString.swift | 17 +++++++ 5 files changed, 103 insertions(+) create mode 100644 DoseMathTests/Base.lproj/InfoPlist.strings create mode 100644 DoseMathTests/Base.lproj/Localizable.strings create mode 100644 LoopUI/Base.lproj/InfoPlist.strings create mode 100644 LoopUI/Base.lproj/Localizable.strings create mode 100644 LoopUI/Common/LocalizedString.swift diff --git a/DoseMathTests/Base.lproj/InfoPlist.strings b/DoseMathTests/Base.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/Base.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/Base.lproj/Localizable.strings b/DoseMathTests/Base.lproj/Localizable.strings new file mode 100644 index 0000000000..cb195752e8 --- /dev/null +++ b/DoseMathTests/Base.lproj/Localizable.strings @@ -0,0 +1,26 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Current glucose of %1$@ is below correction range."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Predicted glucose at %1$@ is %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Predicted glucose of %1$@ is below your suspend threshold setting."; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; diff --git a/LoopUI/Base.lproj/InfoPlist.strings b/LoopUI/Base.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/Base.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/Base.lproj/Localizable.strings b/LoopUI/Base.lproj/Localizable.strings new file mode 100644 index 0000000000..e232ec6b42 --- /dev/null +++ b/LoopUI/Base.lproj/Localizable.strings @@ -0,0 +1,53 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "%@ ago"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ U"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@U"; + +/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ +"%1$@ at %2$@" = "%1$@ at %2$@"; + +/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ +"%1$@ units per hour at %2$@" = "%1$@ units per hour at %2$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ units remaining at %2$@"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "Closed loop"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "Loop ran %@ ago"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Accessibility label component for glucose HUD describing an invalid state */ +"Needs attention" = "Needs attention"; + +/* Accessbility hint describing completion HUD for an open loop */ +"Open loop" = "Open loop"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Accessibility value for an unknown value */ +"Unknown" = "Unknown"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "Waiting for first run"; diff --git a/LoopUI/Common/LocalizedString.swift b/LoopUI/Common/LocalizedString.swift new file mode 100644 index 0000000000..93805c0068 --- /dev/null +++ b/LoopUI/Common/LocalizedString.swift @@ -0,0 +1,17 @@ +// +// LocalizedString.swift +// LoopUI +// +// Created by Kathryn DiSimone on 8/15/18. +// Copyright © 2018 LoopKit Authors. All rights reserved. +// + +import Foundation + +private class FrameworkBundle { + static let main = Bundle(for: FrameworkBundle.self) +} + +func LocalizedString(_ key: String, tableName: String? = nil, value: String = "", comment: String) -> String { + return NSLocalizedString(key, tableName: tableName, bundle: FrameworkBundle.main, value: value, comment: comment) +} From 57e5c8ddab420fd2ad6e6132d5846894e0164950 Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Wed, 15 Aug 2018 19:36:23 -0700 Subject: [PATCH 03/24] touchup on translations --- Loop/es.lproj/Localizable.strings | 32 +++++++++++++++---------------- Loop/fr.lproj/Localizable.strings | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Loop/es.lproj/Localizable.strings b/Loop/es.lproj/Localizable.strings index 0e47586269..9b6e0f7d28 100644 --- a/Loop/es.lproj/Localizable.strings +++ b/Loop/es.lproj/Localizable.strings @@ -2,7 +2,7 @@ " (pending: %@)" = "(pendiente: %@)"; /* Formats absorbed carb value */ -"%@ absorbed" = "%@ absorbidos"; +"%@ absorbed" = "%@ absorbido"; /* The subtitle format describing total insulin. (1: localized insulin total) */ "%@ U Total" = "%@ U Totales"; @@ -45,10 +45,10 @@ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "Comparación de glucosa actual contra la predicha en 30 minutos, continuada con decadencia sobre 60 minutos."; /* Subtitle of Fiasp preset */ -"A model based on the published absorption of Fiasp insulin." = "Un modelo basado en la publicación de la absorción de insulina Fiasp."; +"A model based on the published absorption of Fiasp insulin." = "Un modelo basado en la absorción de la insulina Fiasp."; /* Subtitle of Rapid-Acting – Adult preset */ -"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modelo basado en la publicación de la absorción de insulina Humalog, Novolog y Apidra en adultos."; +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modelo basado en la absorción de las insulinas Humalog, Novolog y Apidra en adultos."; /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AceptarBoloRecomendado"; @@ -93,7 +93,7 @@ "at %@" = "a %@"; /* The message displayed during a device authentication prompt for bolus specification */ -"Authenticate to Bolus %@ Units" = "Autentificar para Bolo %@ Unidades"; +"Authenticate to Bolus %@ Units" = "Autenticar para Bolo %@ Unidades"; /* The title of the basal rate profile screen The title text for the basal rate schedule */ @@ -117,10 +117,10 @@ "Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Carbohidratos absorbidos (gr) ÷ Relación de Carbohidratos (gr/U) x Sensibilidad a Insulina (%1$@/U)"; /* The notification alert describing a low pump battery */ -"Change the pump battery immediately" = "Cambie la batería de la microinfusora inmediatamente"; +"Change the pump battery immediately" = "Cambie la batería de la microinfusora de inmediato"; /* The notification alert describing an empty pump reservoir */ -"Change the pump reservoir now" = "Cambie el reservorio de la microinfusora ahora"; +"Change the pump reservoir now" = "Cambie el reservorio de la microinfusora ya"; /* The title text for the looping enabled switch cell */ "Closed Loop" = "Asa cerrada"; @@ -136,10 +136,10 @@ /* The title of the glucose target range schedule screen The title text for the glucose target range schedule */ -"Correction Range" = "Rango Correctivo"; +"Correction Range" = "Rango de Correción"; /* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ -"Current glucose of %1$@ is below correction range." = " Glucosa actual de %1$@ está por debajo del rango correctivo."; +"Current glucose of %1$@ is below correction range." = "Glucosa actual de %1$@ está por debajo del rango de correción."; /* The title of the Loggly customer token credential */ "Customer Token" = "Token de Usuario"; @@ -157,13 +157,13 @@ "Dexcom Share" = "Dexcom Share"; /* The action hint of the workout mode toggle button when enabled */ -"Disables" = "Inhabilita"; +"Disables" = "Desactivar"; /* Title of the switch which toggles retrospective correction effects */ "Enable Retrospective Correction" = "Habilitar corrección retrospectiva"; /* The action hint of the workout mode toggle button when disabled */ -"Enables" = "Habilita"; +"Enables" = "Permitir"; /* The placeholder text instructing users to enter a suspend treshold */ "Enter suspend threshold" = "Ingrese nivel de suspensión"; @@ -196,7 +196,7 @@ "Glucose" = "Glucosa"; /* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ -"Glucose data is %1$@ old" = "Los datos de glucosa son %1$@ viejos"; +"Glucose data is %1$@ old" = "Los datos de glucosa son %1$@ antiguos"; /* Error description for unreliable state */ "Glucose data is unavailable" = "Los datos de glucosa no están disponibles"; @@ -245,7 +245,7 @@ "Loggly" = "Loggly"; /* The notification title for a loop failure */ -"Loop Failure" = "Falla de Loop"; +"Loop Failure" = "Falla del Loop"; /* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ "Loop has not completed successfully in %@" = "Loop no ha terminado correctamente en %@"; @@ -338,13 +338,13 @@ "Sensor is in unknown state %1$d" = "Estado desconocido de sensor %1$d"; /* The description of sensor calibration state when sensor sensor is stopped. */ -"Sensor is stopped" = "Sensor se detuvo"; +"Sensor is stopped" = "Sensor se ha detenido"; /* The description of sensor calibration state when sensor sensor is warming up. */ "Sensor is warming up" = "Preparación de sensor"; /* The description of sensor calibration state when sensor needs calibration. */ -"Sensor needs calibration" = "Sensor requiere calibración"; +"Sensor needs calibration" = "Sensor se necesita de calibración"; /* The title of the Dexcom share server URL credential */ "Server" = "Servidor"; @@ -374,7 +374,7 @@ "Suspend Threshold" = "Nivel de Suspensión"; /* Subtitle description of Walsh insulin model setting */ -"The legacy model used by Loop, allowing customization of action duration." = "El model utilizado por ediciones iniciales de Loop, permite ajustar duración de acción."; +"The legacy model used by Loop, allowing customization of action duration." = "El model utilizado por versiones iniciales del Loop, permite ajustar duración de acción de la insulina."; /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "Bolo máximo es %@ Unidades"; @@ -383,7 +383,7 @@ "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "El ID de transmisor puede encontrarse impreso en la parte trasera del dispositivo, a un lado de la caja en la que estaba empacado y dentro del menú de ajustes del receptor y la app móvil"; /* The description of the switch which toggles retrospective correction effects */ -"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Esto incrementará o decrementará mas agresivamente la entrega de basales cuando el movimiento de glucosa no concuerde con el modelo de insulina y carbohidratos."; +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Esto aumentará o disminuirá de manera más agresiva la dosificación de la insulina basal cuando la dirección del nivel de la glucosa no concuerde con el modelo de la insulina y carbohidratos."; /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "ID de Transmisor"; diff --git a/Loop/fr.lproj/Localizable.strings b/Loop/fr.lproj/Localizable.strings index dc9552fd66..c9d24500d2 100644 --- a/Loop/fr.lproj/Localizable.strings +++ b/Loop/fr.lproj/Localizable.strings @@ -1,5 +1,5 @@ /* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ -" (pending: %@)" = "(En suspen: %@)"; +" (pending: %@)" = "(En suspens: %@)"; /* Formats absorbed carb value */ "%@ absorbed" = "%@ absorbé"; From e2d2e5823efbe1132c6e77af882039fbb9494e3a Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Wed, 15 Aug 2018 19:39:51 -0700 Subject: [PATCH 04/24] norwegian touchup --- Loop/nb.lproj/InfoPlist.strings | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Loop/nb.lproj/InfoPlist.strings b/Loop/nb.lproj/InfoPlist.strings index 873226eaeb..cbcf3bc1b0 100644 --- a/Loop/nb.lproj/InfoPlist.strings +++ b/Loop/nb.lproj/InfoPlist.strings @@ -11,8 +11,8 @@ "NSFaceIDUsageDescription" = "Face ID is used to authenticate insulin bolus."; /* Privacy - Health Share Usage Description */ -"NSHealthShareUsageDescription" = "Meal data from the Health database is used to determine glucose effects. Glucose data from the Health database is used for graphing and momentum calculation."; +"NSHealthShareUsageDescription" = "Matdata fra Health-databasen brukes til å bestemme blodsukkereffekt. Blodsukkerdata hentes fra HealthKit for opptegning og analyse."; /* Privacy - Health Update Usage Description */ -"NSHealthUpdateUsageDescription" = "Carbohydrate meal data entered in the app and on the watch is stored in the Health database. Glucose data retrieved from the CGM is stored securely in HealthKit."; +"NSHealthUpdateUsageDescription" = "Angitte karbohydrater i matdataene som tastes inn i appen blir lagret i Health-databasen."; From 1b8ade38b715723e33e8ee7335631f285f66779d Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Wed, 15 Aug 2018 21:52:04 -0500 Subject: [PATCH 05/24] Localize loop error messages --- Loop/Managers/DeviceDataManager.swift | 4 ++-- Loop/Managers/LoopDataManager.swift | 30 +++++++++++++++++---------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/Loop/Managers/DeviceDataManager.swift b/Loop/Managers/DeviceDataManager.swift index b73be05a22..7738b7ecb7 100644 --- a/Loop/Managers/DeviceDataManager.swift +++ b/Loop/Managers/DeviceDataManager.swift @@ -311,7 +311,7 @@ extension DeviceDataManager: DoseStoreDelegate { extension DeviceDataManager { func enactBolus(units: Double, at startDate: Date = Date(), completion: @escaping (_ error: Error?) -> Void) { guard let pumpManager = pumpManager else { - completion(LoopError.configurationError("Pump Manager")) + completion(LoopError.configurationError(NSLocalizedString("Pump Manager", comment: "Details for configuration error when pump manager is missing"))) return } @@ -338,7 +338,7 @@ extension DeviceDataManager: LoopDataManagerDelegate { completion: @escaping (_ result: Result) -> Void ) { guard let pumpManager = pumpManager else { - completion(.failure(LoopError.configurationError("Pump Manager"))) + completion(.failure(LoopError.configurationError(NSLocalizedString("Pump Manager", comment: "Details for configuration error when pump manager is missing")))) return } diff --git a/Loop/Managers/LoopDataManager.swift b/Loop/Managers/LoopDataManager.swift index 2d5549d299..7237959cde 100644 --- a/Loop/Managers/LoopDataManager.swift +++ b/Loop/Managers/LoopDataManager.swift @@ -612,7 +612,9 @@ extension LoopDataManager { _ = updateGroup.wait(timeout: .distantFuture) guard let lastGlucoseDate = latestGlucoseDate else { - throw LoopError.missingDataError(details: "Glucose data not available", recovery: "Check your CGM data source") + throw LoopError.missingDataError( + details: NSLocalizedString("Glucose data not available", comment: "Description of error when glucose data is missing"), + recovery: NSLocalizedString("Check your CGM data source", comment: "Recovery suggestion when glucose data is missing")) } let retrospectiveStart = lastGlucoseDate.addingTimeInterval(-settings.retrospectiveCorrectionInterval) @@ -738,7 +740,7 @@ extension LoopDataManager { dispatchPrecondition(condition: .onQueue(dataAccessQueue)) guard let basalRates = basalRateSchedule else { - throw LoopError.configurationError("Basal Rate Schedule") + throw LoopError.configurationError(NSLocalizedString("Basal Rate Schedule", comment: "Details for configuration error when basal rate schedule is missing")) } let pendingTempBasalInsulin: Double @@ -765,11 +767,13 @@ extension LoopDataManager { dispatchPrecondition(condition: .onQueue(dataAccessQueue)) guard let model = insulinModelSettings?.model else { - throw LoopError.configurationError("Check settings") + throw LoopError.configurationError(NSLocalizedString("Insulin Model", comment: "Details for configuration error when insulin model is missing")) } guard let glucose = self.glucoseStore.latestGlucose else { - throw LoopError.missingDataError(details: "Cannot predict glucose due to missing input data", recovery: "Check your CGM data source") + throw LoopError.missingDataError( + details: NSLocalizedString("Cannot predict glucose due to missing input data", comment: "Message shown when forecast cannot be made due to missing glucose data"), + recovery: NSLocalizedString("Check your CGM data source", comment: "Recovery suggestion when glucose data is missing")) } var momentum: [GlucoseEffect] = [] @@ -816,7 +820,7 @@ extension LoopDataManager { let insulinEffect = self.insulinEffect else { self.retrospectivePredictedGlucose = nil - throw LoopError.missingDataError(details: "Cannot retrospect glucose due to missing input data", recovery: nil) + throw LoopError.missingDataError(details: NSLocalizedString("Cannot retrospect glucose due to missing input data", comment: "Error shown when carb effects or insulin effects are missing"), recovery: nil) } guard let change = retrospectiveGlucoseChange else { @@ -858,12 +862,16 @@ extension LoopDataManager { guard let glucose = glucoseStore.latestGlucose else { self.predictedGlucose = nil - throw LoopError.missingDataError(details: "Glucose", recovery: "Check your CGM data source") + throw LoopError.missingDataError( + details: NSLocalizedString("Glucose", comment: "Details for missing data error when glucose data is missing"), + recovery: NSLocalizedString("Check your CGM data source", comment: "Recovery suggestion when glucose data is missing")) } guard let pumpStatusDate = doseStore.lastReservoirValue?.startDate else { self.predictedGlucose = nil - throw LoopError.missingDataError(details: "Reservoir", recovery: "Check that your pump is in range") + throw LoopError.missingDataError( + details: NSLocalizedString("Reservoir", comment: "Details for missing data error when reservoir data is missing"), + recovery: NSLocalizedString("Check that your pump is in range", comment: "Recovery suggestion when reservoir data is missing")) } let startDate = Date() @@ -880,17 +888,17 @@ extension LoopDataManager { guard glucoseMomentumEffect != nil else { self.predictedGlucose = nil - throw LoopError.missingDataError(details: "Momentum effects", recovery: nil) + throw LoopError.missingDataError(details: NSLocalizedString("Momentum effects", comment: "Details for missing data error when momentum effects are missing"), recovery: nil) } guard carbEffect != nil else { self.predictedGlucose = nil - throw LoopError.missingDataError(details: "Carb effects", recovery: nil) + throw LoopError.missingDataError(details: NSLocalizedString("Carb effects", comment: "Details for missing data error when carb effects are missing"), recovery: nil) } guard insulinEffect != nil else { self.predictedGlucose = nil - throw LoopError.missingDataError(details: "Insulin effects", recovery: nil) + throw LoopError.missingDataError(details: NSLocalizedString("Insulin effects", comment: "Details for missing data error when insulin effects are missing"), recovery: nil) } let predictedGlucose = try predictGlucose(using: settings.enabledEffects) @@ -904,7 +912,7 @@ extension LoopDataManager { let maxBolus = settings.maximumBolus, let model = insulinModelSettings?.model else { - throw LoopError.configurationError("Check settings") + throw LoopError.configurationError(NSLocalizedString("Check settings", comment: "Details for configuration error when one or more loop settings are missing")) } guard lastRequestedBolus == nil From 4ec6c2e9860d0109aeaa919a2da6e8b655eed0d5 Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Wed, 15 Aug 2018 19:54:10 -0700 Subject: [PATCH 06/24] touchups --- Loop/es.lproj/Localizable.strings | 4 +- Loop/nl.lproj/Localizable.strings | 38 +++++++++---------- Loop/nl.lproj/Main.strings | 4 +- LoopUI/nl.lproj/Localizable.strings | 2 +- .../nl.lproj/Localizable.strings | 4 +- WatchApp/nl.lproj/Interface.strings | 4 +- 6 files changed, 28 insertions(+), 28 deletions(-) diff --git a/Loop/es.lproj/Localizable.strings b/Loop/es.lproj/Localizable.strings index 9b6e0f7d28..ea7b5dec9d 100644 --- a/Loop/es.lproj/Localizable.strings +++ b/Loop/es.lproj/Localizable.strings @@ -136,10 +136,10 @@ /* The title of the glucose target range schedule screen The title text for the glucose target range schedule */ -"Correction Range" = "Rango de Correción"; +"Correction Range" = "Rango Correctivo"; /* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ -"Current glucose of %1$@ is below correction range." = "Glucosa actual de %1$@ está por debajo del rango de correción."; +"Current glucose of %1$@ is below correction range." = "Glucosa actual de %1$@ está por debajo del rango correctivo."; /* The title of the Loggly customer token credential */ "Customer Token" = "Token de Usuario"; diff --git a/Loop/nl.lproj/Localizable.strings b/Loop/nl.lproj/Localizable.strings index ee0a4be593..1c0cec47fe 100644 --- a/Loop/nl.lproj/Localizable.strings +++ b/Loop/nl.lproj/Localizable.strings @@ -72,10 +72,10 @@ "Add Meal" = "Voeg maaltijd toe"; /* Title text for button to set up a new pump */ -"Add Pump" = "Voeg Pomp toe"; +"Add Pump" = "Voeg pomp toe"; /* The title of the section containing algorithm settings */ -"Algorithm Settings" = "Algoritme Instellingen"; +"Algorithm Settings" = "Algoritme instellingen"; /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; @@ -108,7 +108,7 @@ /* The title of the carb ratios schedule screen The title text for the carb ratio schedule */ -"Carb Ratios" = "Koolhydraten verhoudingen"; +"Carb Ratios" = "Koolhydraten ratio's"; /* Title of the prediction input effect for carbohydrates */ "Carbohydrates" = "Koolhydraten"; @@ -151,7 +151,7 @@ "Delete Account" = "Verwijder Account"; /* Title text for delivery limits */ -"Delivery Limits" = "Insuline toediening limiet"; +"Delivery Limits" = "Toediening limieten"; /* The title of the Dexcom Share service */ "Dexcom Share" = "Dexcom Share"; @@ -160,7 +160,7 @@ "Disables" = "Uitschakelen"; /* Title of the switch which toggles retrospective correction effects */ -"Enable Retrospective Correction" = "Retroperspectieve correctie inschakelen"; +"Enable Retrospective Correction" = "Schakel ‘correctie achteraf’ in"; /* The action hint of the workout mode toggle button when disabled */ "Enables" = "Inschakelen"; @@ -175,7 +175,7 @@ "Eventually %@" = "Uiteindelijk %@"; /* The title of the alert describing a maximum bolus validation error */ -"Exceeds Maximum Bolus" = "Overschrijdt Maximum Bolus"; +"Exceeds Maximum Bolus" = "Overschrijdt maximale bolus"; /* Title of insulin model preset */ "Fiasp" = "Fiasp"; @@ -202,10 +202,10 @@ "Glucose data is unavailable" = "Los datos de glucosa no están disponibles"; /* Title of the prediction input effect for glucose momentum */ -"Glucose Momentum" = "Glucose momementum"; +"Glucose Momentum" = "Glucose momentum"; /* The placeholder text for the nightscout site URL credential */ -"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; +"https://mysite.azurewebsites.net" = "https://mijnsite.azurewebsites.net"; /* The title of a target alert action specifying an indefinitely long workout targets duration */ "Indefinitely" = "Oneindig"; @@ -220,23 +220,23 @@ "Insulin Delivery" = "Insuline toediening"; /* The title text for the insulin model setting row */ -"Insulin Model" = "Insuline Model"; +"Insulin Model" = "Insuline model"; /* The title of the insulin sensitivities schedule screen The title text for the insulin sensitivity schedule */ -"Insulin Sensitivities" = "Insuline gevoeligheden (ISF)"; +"Insulin Sensitivities" = "Insuline gevoeligheden"; /* The error message when invalid data was encountered. (1: details of invalid data) */ "Invalid data: %1$@" = "Niet valide gegevens: %1$@"; /* The title text for the issue report cell */ -"Issue Report" = "Incidenten rapport"; +"Issue Report" = "Incidenten rapportage"; /* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ "Last comparison: %1$@ → %2$@ vs %3$@" = "Laatste vergelijking: %1$@ → %2$@ vs %3$@"; /* Glucose HUD accessibility hint */ -"Launches CGM app" = "Opstarten van de CGM app"; +"Launches CGM app" = "Start de CGM app op"; /* The loading message for the diagnostic report screen */ "Loading..." = "Laden..."; @@ -245,7 +245,7 @@ "Loggly" = "Loggly"; /* The notification title for a loop failure */ -"Loop Failure" = "Loop Fout"; +"Loop Failure" = "Loop fout"; /* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ "Loop has not completed successfully in %@" = "Loop is niet goed afgerond in %@"; @@ -263,7 +263,7 @@ "mmol/L" = "mmol/L"; /* Sensor state description for the non-valid state */ -"Needs Attention" = "Aandacht Vereist"; +"Needs Attention" = "Aandacht vereist"; /* The title of the Nightscout service */ "Nightscout" = "Nightscout"; @@ -272,7 +272,7 @@ "No connected devices, or failure during device connection" = "Geen gekoppelde apparaten, of fout bij apparaat verbinding"; /* Sensor state description for the valid state */ -"OK" = "OK"; +"OK" = "Ok"; /* Outside US share server option title */ "Outside US" = "Buiten US"; @@ -293,16 +293,16 @@ "Pump" = "Pomp"; /* The notification title for a low pump battery */ -"Pump Battery Low" = "Pomp Batterij Laag"; +"Pump Battery Low" = "Pomp batterij bijna leeg"; /* The error message when pump data is too old to be used. (1: pump data age in minutes) */ "Pump data is %1$@ old" = "Pomp gegevens is %1$@ oud"; /* The notification title for an empty pump reservoir */ -"Pump Reservoir Empty" = "Pomp Reservoir Leeg"; +"Pump Reservoir Empty" = "Pomp reservoir leeg"; /* The notification title for a low pump reservoir */ -"Pump Reservoir Low" = "Pomp Reservoir Laag"; +"Pump Reservoir Low" = "Pomp reservoir bijna leeg"; /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; @@ -392,7 +392,7 @@ "U" = "E"; /* U.S. share server option title */ -"US" = "NL"; +"US" = "US"; /* The title of the alert controller used to select a duration for workout targets */ "Use Workout Glucose Targets" = "Gebruik training glucose doelen"; diff --git a/Loop/nl.lproj/Main.strings b/Loop/nl.lproj/Main.strings index 48e37006ae..fcb2590636 100644 --- a/Loop/nl.lproj/Main.strings +++ b/Loop/nl.lproj/Main.strings @@ -32,7 +32,7 @@ "bIL-Ub-qYp.text" = "Etiket"; /* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ -"bq4-98-cQU.text" = "Glucose Verandering"; +"bq4-98-cQU.text" = "Glucose verandering"; /* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ "BR0-dr-Fj2.accessibilityLabel" = "Eenheden"; @@ -101,7 +101,7 @@ "OFA-qT-ZAg.text" = "Etiket"; /* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ -"PA3-sP-cWY.title" = "Voorspelde Glucose"; +"PA3-sP-cWY.title" = "Voorspelde glucose"; /* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ "pi6-Dh-72V.title" = "Insuline model"; diff --git a/LoopUI/nl.lproj/Localizable.strings b/LoopUI/nl.lproj/Localizable.strings index ee4c09b1b5..8702d0cb99 100644 --- a/LoopUI/nl.lproj/Localizable.strings +++ b/LoopUI/nl.lproj/Localizable.strings @@ -35,7 +35,7 @@ "mmol/L" = "mmol/L"; /* Accessibility label component for glucose HUD describing an invalid state */ -"Needs attention" = "Aandacht Benodigd"; +"Needs attention" = "Aandacht vereist"; /* Accessbility hint describing completion HUD for an open loop */ "Open loop" = "Open loop"; diff --git a/WatchApp Extension/nl.lproj/Localizable.strings b/WatchApp Extension/nl.lproj/Localizable.strings index af7687e354..990a8941e5 100644 --- a/WatchApp Extension/nl.lproj/Localizable.strings +++ b/WatchApp Extension/nl.lproj/Localizable.strings @@ -1,5 +1,5 @@ /* The title of the alert controller displayed after a bolus attempt fails */ -"Bolus Failed" = "Bolus Mislukt"; +"Bolus Failed" = "Bolus mislukt"; /* The short unit display string for decibles */ "dB" = "dB"; @@ -29,7 +29,7 @@ /* The title of the alert controller displayed after a carb entry send attempt fails The title of the alert controller displayed after a glucose range override send attempt fails */ -"Send Failed" = "Versturen Mislukt"; +"Send Failed" = "Versturen mislukt"; /* The short unit display string for international units of insulin */ "U" = "E"; diff --git a/WatchApp/nl.lproj/Interface.strings b/WatchApp/nl.lproj/Interface.strings index 97e0b87bae..cf90b350b9 100644 --- a/WatchApp/nl.lproj/Interface.strings +++ b/WatchApp/nl.lproj/Interface.strings @@ -29,7 +29,7 @@ "eu3-pj-GH3.title" = "+"; /* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ -"f5G-bS-9pd.text" = "Pre-Maaltijd"; +"f5G-bS-9pd.text" = "Pre-maaltijd"; /* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ "gAn-qe-OvX.title" = "🍭"; @@ -44,7 +44,7 @@ "hln-CI-MRP.text" = "Koolhydraten"; /* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ -"jj3-Gq-HBy.text" = "Bolus Mislukt"; +"jj3-Gq-HBy.text" = "Bolus mislukt"; /* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ "mpK-zY-UvA.text" = "0.000"; From 932ecb44ff8088a7e7141108cbbbf068f5e23762 Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Wed, 15 Aug 2018 20:18:00 -0700 Subject: [PATCH 07/24] spanish --- DoseMathTests/es.lproj/InfoPlist.strings | 1 - .../es.lproj/InfoPlist.strings | 4 +- Loop/es.lproj/Localizable.strings | 39 ++++++++++++++++++- LoopUI/es.lproj/InfoPlist.strings | 4 +- WatchApp Extension/es.lproj/InfoPlist.strings | 4 +- 5 files changed, 43 insertions(+), 9 deletions(-) diff --git a/DoseMathTests/es.lproj/InfoPlist.strings b/DoseMathTests/es.lproj/InfoPlist.strings index 874e8a4532..e69de29bb2 100644 --- a/DoseMathTests/es.lproj/InfoPlist.strings +++ b/DoseMathTests/es.lproj/InfoPlist.strings @@ -1 +0,0 @@ -/* No Localized Strings */ diff --git a/Loop Status Extension/es.lproj/InfoPlist.strings b/Loop Status Extension/es.lproj/InfoPlist.strings index 9250064a26..9cd95a0151 100644 --- a/Loop Status Extension/es.lproj/InfoPlist.strings +++ b/Loop Status Extension/es.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "Loop"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/Loop/es.lproj/Localizable.strings b/Loop/es.lproj/Localizable.strings index ea7b5dec9d..d4ef33eecb 100644 --- a/Loop/es.lproj/Localizable.strings +++ b/Loop/es.lproj/Localizable.strings @@ -95,6 +95,9 @@ /* The message displayed during a device authentication prompt for bolus specification */ "Authenticate to Bolus %@ Units" = "Autenticar para Bolo %@ Unidades"; +/* Details for configuration error when basal rate schedule is missing */ +"Basal Rate Schedule" = "Perfil Basal"; + /* The title of the basal rate profile screen The title text for the basal rate schedule */ "Basal Rates" = "Perfil basal"; @@ -106,6 +109,15 @@ /* The title of the cancel action in an action sheet */ "Cancel" = "Cancelar"; +/* Message shown when forecast cannot be made due to missing glucose data */ +"Cannot predict glucose due to missing input data" = "No se puede predecir la glucosa debido a la falta de datos de entrada"; + +/* Error shown when carb effects or insulin effects are missing */ +"Cannot retrospect glucose due to missing input data" = "No se puede retrospectivar la glucosa debido a la falta de datos de entrada"; + +/* Details for missing data error when carb effects are missing */ +"Carb effects" = "Efectos de carbohidratos"; + /* The title of the carb ratios schedule screen The title text for the carb ratio schedule */ "Carb Ratios" = "Relacíon de carbohidratos"; @@ -122,6 +134,15 @@ /* The notification alert describing an empty pump reservoir */ "Change the pump reservoir now" = "Cambie el reservorio de la microinfusora ya"; +/* Details for configuration error when one or more loop settings are missing */ +"Check settings" = "Verificar configuración"; + +/* Recovery suggestion when reservoir data is missing */ +"Check that your pump is in range" = "Verifique que su microinfusora esté dentro del rango"; + +/* Recovery suggestion when glucose data is missing */ +"Check your CGM data source" = "Verifique su fuente de datos CGM"; + /* The title text for the looping enabled switch cell */ "Closed Loop" = "Asa cerrada"; @@ -192,7 +213,8 @@ /* The title text for the G5/G6 Transmitter switch cell */ "G5/G6 Transmitter" = "Transmisor G5/G6"; -/* The title of the glucose and prediction graph */ +/* Details for missing data error when glucose data is missing + The title of the glucose and prediction graph */ "Glucose" = "Glucosa"; /* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ @@ -201,6 +223,9 @@ /* Error description for unreliable state */ "Glucose data is unavailable" = "Los datos de glucosa no están disponibles"; +/* Description of error when glucose data is missing */ +"Glucose data not available" = "Datos de glucosa no disponibles"; + /* Title of the prediction input effect for glucose momentum */ "Glucose Momentum" = "Momento de Glucosa"; @@ -219,7 +244,11 @@ /* The title of the insulin delivery graph */ "Insulin Delivery" = "Administración de Insulina"; -/* The title text for the insulin model setting row */ +/* Details for missing data error when insulin effects are missing */ +"Insulin effects" = "Efectos de la insulina"; + +/* Details for configuration error when insulin model is missing + The title text for the insulin model setting row */ "Insulin Model" = "Modelo de Insulina"; /* The title of the insulin sensitivities schedule screen @@ -298,6 +327,9 @@ /* The error message when pump data is too old to be used. (1: pump data age in minutes) */ "Pump data is %1$@ old" = "Los datos de la microinfusora son %1$@ viejos"; +/* Details for configuration error when pump manager is missing */ +"Pump Manager" = "Administratión de Microinfusora"; + /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "Reservorio de Microinfusora Vacío"; @@ -325,6 +357,9 @@ /* The default placeholder string for a credential */ "Required" = "Requerido"; +/* Details for missing data error when reservoir data is missing */ +"Reservoir" = "Reservorio"; + /* Title of the prediction input effect for retrospective correction */ "Retrospective Correction" = "Corrección Retrospectiva"; diff --git a/LoopUI/es.lproj/InfoPlist.strings b/LoopUI/es.lproj/InfoPlist.strings index 5c1fb13406..13ab538314 100644 --- a/LoopUI/es.lproj/InfoPlist.strings +++ b/LoopUI/es.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "LoopUI"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/WatchApp Extension/es.lproj/InfoPlist.strings b/WatchApp Extension/es.lproj/InfoPlist.strings index 06077199aa..d133967074 100644 --- a/WatchApp Extension/es.lproj/InfoPlist.strings +++ b/WatchApp Extension/es.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "WatchApp Extension"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; From 25504920d2c65181ac3582bd25b2fe3980eee9a2 Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Wed, 15 Aug 2018 23:30:58 -0700 Subject: [PATCH 08/24] Loop Errors for french, chinese, russian --- DoseMathTests/fr.lproj/InfoPlist.strings | 1 - DoseMathTests/ru.lproj/InfoPlist.strings | 1 - DoseMathTests/zh-Hans.lproj/InfoPlist.strings | 1 - .../fr.lproj/InfoPlist.strings | 4 +- .../ru.lproj/InfoPlist.strings | 1 - .../zh-Hans.lproj/InfoPlist.strings | 4 +- Loop/fr.lproj/Localizable.strings | 42 ++++++++++++++++++- Loop/ru.lproj/Localizable.strings | 42 ++++++++++++++++++- Loop/zh-Hans.lproj/Localizable.strings | 42 ++++++++++++++++++- LoopUI/fr.lproj/InfoPlist.strings | 4 +- LoopUI/ru.lproj/InfoPlist.strings | 4 +- LoopUI/zh-Hans.lproj/InfoPlist.strings | 4 +- WatchApp Extension/fr.lproj/InfoPlist.strings | 4 +- .../fr.lproj/ckcomplication.strings | 9 +--- WatchApp Extension/ru.lproj/InfoPlist.strings | 4 +- .../zh-Hans.lproj/InfoPlist.strings | 4 +- .../zh-Hans.lproj/ckcomplication.strings | 9 +--- 17 files changed, 138 insertions(+), 42 deletions(-) diff --git a/DoseMathTests/fr.lproj/InfoPlist.strings b/DoseMathTests/fr.lproj/InfoPlist.strings index 874e8a4532..e69de29bb2 100644 --- a/DoseMathTests/fr.lproj/InfoPlist.strings +++ b/DoseMathTests/fr.lproj/InfoPlist.strings @@ -1 +0,0 @@ -/* No Localized Strings */ diff --git a/DoseMathTests/ru.lproj/InfoPlist.strings b/DoseMathTests/ru.lproj/InfoPlist.strings index 874e8a4532..e69de29bb2 100644 --- a/DoseMathTests/ru.lproj/InfoPlist.strings +++ b/DoseMathTests/ru.lproj/InfoPlist.strings @@ -1 +0,0 @@ -/* No Localized Strings */ diff --git a/DoseMathTests/zh-Hans.lproj/InfoPlist.strings b/DoseMathTests/zh-Hans.lproj/InfoPlist.strings index 874e8a4532..e69de29bb2 100644 --- a/DoseMathTests/zh-Hans.lproj/InfoPlist.strings +++ b/DoseMathTests/zh-Hans.lproj/InfoPlist.strings @@ -1 +0,0 @@ -/* No Localized Strings */ diff --git a/Loop Status Extension/fr.lproj/InfoPlist.strings b/Loop Status Extension/fr.lproj/InfoPlist.strings index 9250064a26..9cd95a0151 100644 --- a/Loop Status Extension/fr.lproj/InfoPlist.strings +++ b/Loop Status Extension/fr.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "Loop"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/Loop Status Extension/ru.lproj/InfoPlist.strings b/Loop Status Extension/ru.lproj/InfoPlist.strings index 874e8a4532..e69de29bb2 100644 --- a/Loop Status Extension/ru.lproj/InfoPlist.strings +++ b/Loop Status Extension/ru.lproj/InfoPlist.strings @@ -1 +0,0 @@ -/* No Localized Strings */ diff --git a/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings b/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings index 9250064a26..9cd95a0151 100644 --- a/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings +++ b/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "Loop"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/Loop/fr.lproj/Localizable.strings b/Loop/fr.lproj/Localizable.strings index c9d24500d2..2045987e74 100644 --- a/Loop/fr.lproj/Localizable.strings +++ b/Loop/fr.lproj/Localizable.strings @@ -95,6 +95,9 @@ /* The message displayed during a device authentication prompt for bolus specification */ "Authenticate to Bolus %@ Units" = "Authentifier pour effectuer un Bolus %@ Unités"; +/* Details for configuration error when basal rate schedule is missing */ +"Basal Rate Schedule" = "Horaire de taux basal"; + /* The title of the basal rate profile screen The title text for the basal rate schedule */ "Basal Rates" = "Taux de basale"; @@ -106,6 +109,15 @@ /* The title of the cancel action in an action sheet */ "Cancel" = "Annuler"; +/* Message shown when forecast cannot be made due to missing glucose data */ +"Cannot predict glucose due to missing input data" = "Impossible de prédire la glycémie en raison de données manquantes"; + +/* Error shown when carb effects or insulin effects are missing */ +"Cannot retrospect glucose due to missing input data" = "Impossible de rétrospecter la glycémie en raison de données manquantes"; + +/* Details for missing data error when carb effects are missing */ +"Carb effects" = "Effets des glucides"; + /* The title of the carb ratios schedule screen The title text for the carb ratio schedule */ "Carb Ratios" = "Ratios Glucides"; @@ -122,6 +134,15 @@ /* The notification alert describing an empty pump reservoir */ "Change the pump reservoir now" = "Changer maintenant le réservoir de la pompe"; +/* Details for configuration error when one or more loop settings are missing */ +"Check settings" = "Vérifier les paramètres"; + +/* Recovery suggestion when reservoir data is missing */ +"Check that your pump is in range" = "Vérifier que votre pompe est à portée"; + +/* Recovery suggestion when glucose data is missing */ +"Check your CGM data source" = "Vérifier votre source de données de SGC"; + /* The title text for the looping enabled switch cell */ "Closed Loop" = "Loop Fermé"; @@ -192,7 +213,8 @@ /* The title text for the G5/G6 Transmitter switch cell */ "G5/G6 Transmitter" = "Transmetteur G5/G6"; -/* The title of the glucose and prediction graph */ +/* Details for missing data error when glucose data is missing + The title of the glucose and prediction graph */ "Glucose" = "Glycémie"; /* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ @@ -201,6 +223,9 @@ /* Error description for unreliable state */ "Glucose data is unavailable" = "Les données de glucose ne sont pas disponibles"; +/* Description of error when glucose data is missing */ +"Glucose data not available" = "Les données de glucose ne sont pas disponibles"; + /* Title of the prediction input effect for glucose momentum */ "Glucose Momentum" = "Momentum de glucose"; @@ -219,7 +244,11 @@ /* The title of the insulin delivery graph */ "Insulin Delivery" = "Administration de l'insuline"; -/* The title text for the insulin model setting row */ +/* Details for missing data error when insulin effects are missing */ +"Insulin effects" = "Effets de l'insuline"; + +/* Details for configuration error when insulin model is missing + The title text for the insulin model setting row */ "Insulin Model" = "Modèle d'insuline"; /* The title of the insulin sensitivities schedule screen @@ -262,6 +291,9 @@ /* The short unit display string for millimoles of glucose per liter */ "mmol/L" = "mmol/L"; +/* Details for missing data error when momentum effects are missing */ +"Momentum effects" = "Effets de momentum"; + /* Sensor state description for the non-valid state */ "Needs Attention" = "Attention Requise"; @@ -298,6 +330,9 @@ /* The error message when pump data is too old to be used. (1: pump data age in minutes) */ "Pump data is %1$@ old" = "Données de pompe sont vielles de %1$@"; +/* Details for configuration error when pump manager is missing */ +"Pump Manager" = "Gestionnaire de pompe"; + /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "Réservoir de la pompe vide"; @@ -325,6 +360,9 @@ /* The default placeholder string for a credential */ "Required" = "Nécessaire"; +/* Details for missing data error when reservoir data is missing */ +"Reservoir" = "Réservoir"; + /* Title of the prediction input effect for retrospective correction */ "Retrospective Correction" = "Correction Rétrospective"; diff --git a/Loop/ru.lproj/Localizable.strings b/Loop/ru.lproj/Localizable.strings index 4487a156a7..fec160d899 100644 --- a/Loop/ru.lproj/Localizable.strings +++ b/Loop/ru.lproj/Localizable.strings @@ -95,6 +95,9 @@ /* The message displayed during a device authentication prompt for bolus specification */ "Authenticate to Bolus %@ Units" = "Подтверждение болюса %@ ед"; +/* Details for configuration error when basal rate schedule is missing */ +"Basal Rate Schedule" = "Скорости базала"; + /* The title of the basal rate profile screen The title text for the basal rate schedule */ "Basal Rates" = "Скорости базала"; @@ -106,6 +109,15 @@ /* The title of the cancel action in an action sheet */ "Cancel" = "Отмена"; +/* Message shown when forecast cannot be made due to missing glucose data */ +"Cannot predict glucose due to missing input data" = "Невозможно предсказать гликемию из-за недостатка введенных данных"; + +/* Error shown when carb effects or insulin effects are missing */ +"Cannot retrospect glucose due to missing input data" = "Невозможно показать ретро гликемию из-за недостатка введенных данных"; + +/* Details for missing data error when carb effects are missing */ +"Carb effects" = "Влияние углеводов"; + /* The title of the carb ratios schedule screen The title text for the carb ratio schedule */ "Carb Ratios" = "Соотношения углеводов"; @@ -122,6 +134,15 @@ /* The notification alert describing an empty pump reservoir */ "Change the pump reservoir now" = "Замените резервуар помпы сейчас"; +/* Details for configuration error when one or more loop settings are missing */ +"Check settings" = "Проверьте настройки"; + +/* Recovery suggestion when reservoir data is missing */ +"Check that your pump is in range" = "Убедитесь, что помпа в зоне коммуникации"; + +/* Recovery suggestion when glucose data is missing */ +"Check your CGM data source" = "Проверьте источник мониторинга СК"; + /* The title text for the looping enabled switch cell */ "Closed Loop" = "Замкнутый цикл"; @@ -192,7 +213,8 @@ /* The title text for the G5/G6 Transmitter switch cell */ "G5/G6 Transmitter" = "Трансмиттер G5/G6"; -/* The title of the glucose and prediction graph */ +/* Details for missing data error when glucose data is missing + The title of the glucose and prediction graph */ "Glucose" = "Гликемия"; /* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ @@ -201,6 +223,9 @@ /* Error description for unreliable state */ "Glucose data is unavailable" = "Данные глюкозы недоступны"; +/* Description of error when glucose data is missing */ +"Glucose data not available" = "Данные гликемии недоступны"; + /* Title of the prediction input effect for glucose momentum */ "Glucose Momentum" = "Динамика гликемии"; @@ -219,7 +244,11 @@ /* The title of the insulin delivery graph */ "Insulin Delivery" = "Подача инсулина"; -/* The title text for the insulin model setting row */ +/* Details for missing data error when insulin effects are missing */ +"Insulin effects" = "Влияние инсулина"; + +/* Details for configuration error when insulin model is missing + The title text for the insulin model setting row */ "Insulin Model" = "Модель инсулина"; /* The title of the insulin sensitivities schedule screen @@ -262,6 +291,9 @@ /* The short unit display string for millimoles of glucose per liter */ "mmol/L" = "ммоль/л"; +/* Details for missing data error when momentum effects are missing */ +"Momentum effects" = "Влияние динамики СК"; + /* Sensor state description for the non-valid state */ "Needs Attention" = "Требует внимания"; @@ -298,6 +330,9 @@ /* The error message when pump data is too old to be used. (1: pump data age in minutes) */ "Pump data is %1$@ old" = "Данные помпы от %1$@ "; +/* Details for configuration error when pump manager is missing */ +"Pump Manager" = "Управление помпой"; + /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "Резервуар помпы пуст"; @@ -325,6 +360,9 @@ /* The default placeholder string for a credential */ "Required" = "обязательный"; +/* Details for missing data error when reservoir data is missing */ +"Reservoir" = "Резервуар"; + /* Title of the prediction input effect for retrospective correction */ "Retrospective Correction" = "Ретроспективная коррекция"; diff --git a/Loop/zh-Hans.lproj/Localizable.strings b/Loop/zh-Hans.lproj/Localizable.strings index 68afd989de..2b4a089ba5 100644 --- a/Loop/zh-Hans.lproj/Localizable.strings +++ b/Loop/zh-Hans.lproj/Localizable.strings @@ -95,6 +95,9 @@ /* The message displayed during a device authentication prompt for bolus specification */ "Authenticate to Bolus %@ Units" = "解锁以输注大剂量 %@ 单位"; +/* Details for configuration error when basal rate schedule is missing */ +"Basal Rate Schedule" = "基础率表"; + /* The title of the basal rate profile screen The title text for the basal rate schedule */ "Basal Rates" = "基础率"; @@ -106,6 +109,15 @@ /* The title of the cancel action in an action sheet */ "Cancel" = "取消"; +/* Message shown when forecast cannot be made due to missing glucose data */ +"Cannot predict glucose due to missing input data" = "由于缺少输入数据无法预测血糖"; + +/* Error shown when carb effects or insulin effects are missing */ +"Cannot retrospect glucose due to missing input data" = "由于缺少输入数据无法回溯血糖"; + +/* Details for missing data error when carb effects are missing */ +"Carb effects" = "碳水效果"; + /* The title of the carb ratios schedule screen The title text for the carb ratio schedule */ "Carb Ratios" = "碳水化合物吸收率"; @@ -122,6 +134,15 @@ /* The notification alert describing an empty pump reservoir */ "Change the pump reservoir now" = "立即更换储药器"; +/* Details for configuration error when one or more loop settings are missing */ +"Check settings" = "检查设置"; + +/* Recovery suggestion when reservoir data is missing */ +"Check that your pump is in range" = "请检查你的泵是否在范围内"; + +/* Recovery suggestion when glucose data is missing */ +"Check your CGM data source" = "请检查你的动态血糖数据来源"; + /* The title text for the looping enabled switch cell */ "Closed Loop" = "开启闭环"; @@ -192,7 +213,8 @@ /* The title text for the G5/G6 Transmitter switch cell */ "G5/G6 Transmitter" = "G5/G6发射器"; -/* The title of the glucose and prediction graph */ +/* Details for missing data error when glucose data is missing + The title of the glucose and prediction graph */ "Glucose" = "葡萄糖"; /* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ @@ -201,6 +223,9 @@ /* Error description for unreliable state */ "Glucose data is unavailable" = "葡萄糖数据不可用"; +/* Description of error when glucose data is missing */ +"Glucose data not available" = "血糖数据不可用"; + /* Title of the prediction input effect for glucose momentum */ "Glucose Momentum" = "葡萄糖增量预测算法"; @@ -219,7 +244,11 @@ /* The title of the insulin delivery graph */ "Insulin Delivery" = "已输注胰岛素"; -/* The title text for the insulin model setting row */ +/* Details for missing data error when insulin effects are missing */ +"Insulin effects" = "胰岛素效果"; + +/* Details for configuration error when insulin model is missing + The title text for the insulin model setting row */ "Insulin Model" = "胰岛素模型"; /* The title of the insulin sensitivities schedule screen @@ -262,6 +291,9 @@ /* The short unit display string for millimoles of glucose per liter */ "mmol/L" = "毫摩尔/升"; +/* Details for missing data error when momentum effects are missing */ +"Momentum effects" = "葡萄糖动量效应"; + /* Sensor state description for the non-valid state */ "Needs Attention" = "请注意"; @@ -298,6 +330,9 @@ /* The error message when pump data is too old to be used. (1: pump data age in minutes) */ "Pump data is %1$@ old" = "胰岛素泵数据%1$@分钟未更新"; +/* Details for configuration error when pump manager is missing */ +"Pump Manager" = "泵管理"; + /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "储药器药量已用完"; @@ -325,6 +360,9 @@ /* The default placeholder string for a credential */ "Required" = "需要"; +/* Details for missing data error when reservoir data is missing */ +"Reservoir" = "储药器"; + /* Title of the prediction input effect for retrospective correction */ "Retrospective Correction" = "回顾性修正"; diff --git a/LoopUI/fr.lproj/InfoPlist.strings b/LoopUI/fr.lproj/InfoPlist.strings index 5c1fb13406..13ab538314 100644 --- a/LoopUI/fr.lproj/InfoPlist.strings +++ b/LoopUI/fr.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "LoopUI"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/LoopUI/ru.lproj/InfoPlist.strings b/LoopUI/ru.lproj/InfoPlist.strings index 5c1fb13406..13ab538314 100644 --- a/LoopUI/ru.lproj/InfoPlist.strings +++ b/LoopUI/ru.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "LoopUI"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/LoopUI/zh-Hans.lproj/InfoPlist.strings b/LoopUI/zh-Hans.lproj/InfoPlist.strings index 5c1fb13406..13ab538314 100644 --- a/LoopUI/zh-Hans.lproj/InfoPlist.strings +++ b/LoopUI/zh-Hans.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "LoopUI"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/WatchApp Extension/fr.lproj/InfoPlist.strings b/WatchApp Extension/fr.lproj/InfoPlist.strings index 06077199aa..d133967074 100644 --- a/WatchApp Extension/fr.lproj/InfoPlist.strings +++ b/WatchApp Extension/fr.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "WatchApp Extension"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/WatchApp Extension/fr.lproj/ckcomplication.strings b/WatchApp Extension/fr.lproj/ckcomplication.strings index f05b483c67..57e3b0a8e6 100644 --- a/WatchApp Extension/fr.lproj/ckcomplication.strings +++ b/WatchApp Extension/fr.lproj/ckcomplication.strings @@ -1,13 +1,6 @@ -/* - ckcomplication.strings - Loop - - Created by Nate Racklyeft on 9/18/16. - Copyright © 2016 Nathan Racklyeft. All rights reserved. -*/ - /* The complication template example unit string */ "120↘︎" = "120↘︎"; /* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ "UtilitarianLargeFlat" = "%@%@ %@"; + diff --git a/WatchApp Extension/ru.lproj/InfoPlist.strings b/WatchApp Extension/ru.lproj/InfoPlist.strings index 06077199aa..d133967074 100644 --- a/WatchApp Extension/ru.lproj/InfoPlist.strings +++ b/WatchApp Extension/ru.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "WatchApp Extension"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/WatchApp Extension/zh-Hans.lproj/InfoPlist.strings b/WatchApp Extension/zh-Hans.lproj/InfoPlist.strings index 06077199aa..d133967074 100644 --- a/WatchApp Extension/zh-Hans.lproj/InfoPlist.strings +++ b/WatchApp Extension/zh-Hans.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "WatchApp Extension"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings b/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings index f05b483c67..57e3b0a8e6 100644 --- a/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings +++ b/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings @@ -1,13 +1,6 @@ -/* - ckcomplication.strings - Loop - - Created by Nate Racklyeft on 9/18/16. - Copyright © 2016 Nathan Racklyeft. All rights reserved. -*/ - /* The complication template example unit string */ "120↘︎" = "120↘︎"; /* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ "UtilitarianLargeFlat" = "%@%@ %@"; + From 8190d13dbf36ff7b945b389b16db0689421c6c8a Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Wed, 15 Aug 2018 18:50:11 -0700 Subject: [PATCH 09/24] Language commits --- DoseMathTests/de.lproj/InfoPlist.strings | 1 + DoseMathTests/de.lproj/Localizable.strings | 27 ++ DoseMathTests/es.lproj/Localizable.strings | 16 +- DoseMathTests/fr.lproj/InfoPlist.strings | 1 + DoseMathTests/fr.lproj/Localizable.strings | 27 ++ DoseMathTests/it.lproj/InfoPlist.strings | 1 + DoseMathTests/it.lproj/Localizable.strings | 27 ++ DoseMathTests/nb.lproj/InfoPlist.strings | 1 + DoseMathTests/nb.lproj/Localizable.strings | 27 ++ DoseMathTests/nl.lproj/InfoPlist.strings | 1 + DoseMathTests/nl.lproj/Localizable.strings | 27 ++ DoseMathTests/ru.lproj/Localizable.strings | 16 +- DoseMathTests/zh-Hans.lproj/InfoPlist.strings | 1 + .../zh-Hans.lproj/Localizable.strings | 27 ++ .../Base.lproj/InfoPlist.strings | 6 + .../Base.lproj/Localizable.strings | 50 +++ .../de.lproj/InfoPlist.strings | 6 + .../de.lproj/Localizable.strings | 51 +++ .../de.lproj/MainInterface.strings | 6 + .../es.lproj/Localizable.strings | 45 +- .../es.lproj/MainInterface.strings | 3 + .../fr.lproj/InfoPlist.strings | 6 + .../fr.lproj/Localizable.strings | 51 +++ .../fr.lproj/MainInterface.strings | 6 + .../it.lproj/InfoPlist.strings | 6 + .../it.lproj/Localizable.strings | 51 +++ .../it.lproj/MainInterface.strings | 6 + .../nb.lproj/InfoPlist.strings | 6 + .../nb.lproj/Localizable.strings | 51 +++ .../nb.lproj/MainInterface.strings | 6 + .../nl.lproj/InfoPlist.strings | 6 + .../nl.lproj/Localizable.strings | 51 +++ .../nl.lproj/MainInterface.strings | 6 + .../ru.lproj/Localizable.strings | 43 +- .../ru.lproj/MainInterface.strings | 2 +- .../zh-Hans.lproj/InfoPlist.strings | 6 + .../zh-Hans.lproj/Localizable.strings | 51 +++ .../zh-Hans.lproj/MainInterface.strings | 6 + Loop.xcodeproj/project.pbxproj | 284 +++++++++++- Loop/Base.lproj/InfoPlist.strings | 17 + Loop/Base.lproj/Localizable.strings | 413 +++++++++++++++++ Loop/Info.plist | 6 +- Loop/de.lproj/InfoPlist.strings | 18 + Loop/de.lproj/LaunchScreen.strings | 1 + Loop/de.lproj/Localizable.strings | 414 ++++++++++++++++++ Loop/de.lproj/Main.strings | 147 +++++++ Loop/es.lproj/InfoPlist.strings | 15 +- Loop/es.lproj/Localizable.strings | 154 +++---- Loop/es.lproj/Main.strings | 111 ++--- Loop/fr.lproj/InfoPlist.strings | 18 + Loop/fr.lproj/LaunchScreen.strings | 1 + Loop/fr.lproj/Localizable.strings | 414 ++++++++++++++++++ Loop/fr.lproj/Main.strings | 147 +++++++ Loop/it.lproj/InfoPlist.strings | 18 +- Loop/it.lproj/LaunchScreen.strings | 1 + Loop/it.lproj/Localizable.strings | 361 ++++++++------- Loop/it.lproj/Main.strings | 148 ++++--- Loop/nb.lproj/InfoPlist.strings | 18 + Loop/nb.lproj/LaunchScreen.strings | 1 + Loop/nb.lproj/Localizable.strings | 414 ++++++++++++++++++ Loop/nb.lproj/Main.strings | 147 +++++++ Loop/nl.lproj/InfoPlist.strings | 18 + Loop/nl.lproj/LaunchScreen.strings | 1 + Loop/nl.lproj/Localizable.strings | 414 ++++++++++++++++++ Loop/nl.lproj/Main.strings | 147 +++++++ Loop/ru.lproj/InfoPlist.strings | 13 +- Loop/ru.lproj/Localizable.strings | 147 +++---- Loop/ru.lproj/Main.strings | 114 ++--- Loop/zh-Hans.lproj/InfoPlist.strings | 18 + Loop/zh-Hans.lproj/LaunchScreen.strings | 1 + Loop/zh-Hans.lproj/Localizable.strings | 414 ++++++++++++++++++ Loop/zh-Hans.lproj/Main.strings | 147 +++++++ LoopTests/de.lproj/InfoPlist.strings | 3 + LoopTests/es.lproj/InfoPlist.strings | 3 + LoopTests/fr.lproj/InfoPlist.strings | 3 + LoopTests/it.lproj/InfoPlist.strings | 3 + LoopTests/nb.lproj/InfoPlist.strings | 3 + LoopTests/nl.lproj/InfoPlist.strings | 3 + LoopTests/ru.lproj/InfoPlist.strings | 3 + LoopTests/zh-Hans.lproj/InfoPlist.strings | 0 LoopUI/Views/BasalRateHUDView.swift | 6 +- LoopUI/Views/GlucoseHUDView.swift | 4 +- LoopUI/Views/LevelHUDView.swift | 2 +- LoopUI/Views/LoopCompletionHUDView.swift | 10 +- LoopUI/Views/ReservoirVolumeHUDView.swift | 4 +- LoopUI/de.lproj/InfoPlist.strings | 6 + LoopUI/de.lproj/Localizable.strings | 54 +++ LoopUI/es.lproj/Localizable.strings | 51 +-- LoopUI/fr.lproj/InfoPlist.strings | 6 + LoopUI/fr.lproj/Localizable.strings | 54 +++ LoopUI/it.lproj/InfoPlist.strings | 6 + LoopUI/it.lproj/Localizable.strings | 54 +++ LoopUI/nb.lproj/InfoPlist.strings | 6 + LoopUI/nb.lproj/Localizable.strings | 54 +++ LoopUI/nl.lproj/InfoPlist.strings | 6 + LoopUI/nl.lproj/Localizable.strings | 54 +++ LoopUI/ru.lproj/Localizable.strings | 51 +-- LoopUI/zh-Hans.lproj/InfoPlist.strings | 6 + LoopUI/zh-Hans.lproj/Localizable.strings | 54 +++ .../Base.lproj/InfoPlist.strings | 6 + .../Base.lproj/Localizable.strings | 37 ++ WatchApp Extension/de.lproj/InfoPlist.strings | 6 + .../de.lproj/Localizable.strings | 36 ++ .../de.lproj/ckcomplication.strings | 13 + .../es.lproj/Localizable.strings | 41 +- WatchApp Extension/fr.lproj/InfoPlist.strings | 6 + .../fr.lproj/Localizable.strings | 36 ++ .../fr.lproj/ckcomplication.strings | 13 + WatchApp Extension/it.lproj/InfoPlist.strings | 7 +- .../it.lproj/Localizable.strings | 36 ++ .../it.lproj/ckcomplication.strings | 8 +- WatchApp Extension/nb.lproj/InfoPlist.strings | 6 + .../nb.lproj/Localizable.strings | 36 ++ .../nb.lproj/ckcomplication.strings | 13 + WatchApp Extension/nl.lproj/InfoPlist.strings | 6 + .../nl.lproj/Localizable.strings | 36 ++ .../nl.lproj/ckcomplication.strings | 13 + .../ru.lproj/Localizable.strings | 38 +- .../zh-Hans.lproj/InfoPlist.strings | 6 + .../zh-Hans.lproj/Localizable.strings | 36 ++ .../zh-Hans.lproj/ckcomplication.strings | 13 + WatchApp/Base.lproj/InfoPlist.strings | 6 + WatchApp/de.lproj/InfoPlist.strings | 6 + WatchApp/de.lproj/Interface.strings | 72 +++ WatchApp/es.lproj/Interface.strings | 44 +- WatchApp/fr.lproj/InfoPlist.strings | 6 + WatchApp/fr.lproj/Interface.strings | 72 +++ WatchApp/it.lproj/InfoPlist.strings | 6 +- WatchApp/it.lproj/Interface.strings | 61 +-- WatchApp/nb.lproj/InfoPlist.strings | 6 + WatchApp/nb.lproj/Interface.strings | 72 +++ WatchApp/nl.lproj/InfoPlist.strings | 6 + WatchApp/nl.lproj/Interface.strings | 72 +++ WatchApp/ru.lproj/Interface.strings | 42 +- WatchApp/zh-Hans.lproj/InfoPlist.strings | 6 + WatchApp/zh-Hans.lproj/Interface.strings | 72 +++ 136 files changed, 6207 insertions(+), 728 deletions(-) create mode 100644 DoseMathTests/de.lproj/InfoPlist.strings create mode 100644 DoseMathTests/de.lproj/Localizable.strings create mode 100644 DoseMathTests/fr.lproj/InfoPlist.strings create mode 100644 DoseMathTests/fr.lproj/Localizable.strings create mode 100644 DoseMathTests/it.lproj/InfoPlist.strings create mode 100644 DoseMathTests/it.lproj/Localizable.strings create mode 100644 DoseMathTests/nb.lproj/InfoPlist.strings create mode 100644 DoseMathTests/nb.lproj/Localizable.strings create mode 100644 DoseMathTests/nl.lproj/InfoPlist.strings create mode 100644 DoseMathTests/nl.lproj/Localizable.strings create mode 100644 DoseMathTests/zh-Hans.lproj/InfoPlist.strings create mode 100644 DoseMathTests/zh-Hans.lproj/Localizable.strings create mode 100644 Loop Status Extension/Base.lproj/InfoPlist.strings create mode 100644 Loop Status Extension/Base.lproj/Localizable.strings create mode 100644 Loop Status Extension/de.lproj/InfoPlist.strings create mode 100644 Loop Status Extension/de.lproj/Localizable.strings create mode 100644 Loop Status Extension/de.lproj/MainInterface.strings create mode 100644 Loop Status Extension/fr.lproj/InfoPlist.strings create mode 100644 Loop Status Extension/fr.lproj/Localizable.strings create mode 100644 Loop Status Extension/fr.lproj/MainInterface.strings create mode 100644 Loop Status Extension/it.lproj/InfoPlist.strings create mode 100644 Loop Status Extension/it.lproj/Localizable.strings create mode 100644 Loop Status Extension/it.lproj/MainInterface.strings create mode 100644 Loop Status Extension/nb.lproj/InfoPlist.strings create mode 100644 Loop Status Extension/nb.lproj/Localizable.strings create mode 100644 Loop Status Extension/nb.lproj/MainInterface.strings create mode 100644 Loop Status Extension/nl.lproj/InfoPlist.strings create mode 100644 Loop Status Extension/nl.lproj/Localizable.strings create mode 100644 Loop Status Extension/nl.lproj/MainInterface.strings create mode 100644 Loop Status Extension/zh-Hans.lproj/InfoPlist.strings create mode 100644 Loop Status Extension/zh-Hans.lproj/Localizable.strings create mode 100644 Loop Status Extension/zh-Hans.lproj/MainInterface.strings create mode 100644 Loop/Base.lproj/InfoPlist.strings create mode 100644 Loop/Base.lproj/Localizable.strings create mode 100644 Loop/de.lproj/InfoPlist.strings create mode 100644 Loop/de.lproj/LaunchScreen.strings create mode 100644 Loop/de.lproj/Localizable.strings create mode 100644 Loop/de.lproj/Main.strings create mode 100644 Loop/fr.lproj/InfoPlist.strings create mode 100644 Loop/fr.lproj/LaunchScreen.strings create mode 100644 Loop/fr.lproj/Localizable.strings create mode 100644 Loop/fr.lproj/Main.strings create mode 100644 Loop/it.lproj/LaunchScreen.strings create mode 100644 Loop/nb.lproj/InfoPlist.strings create mode 100644 Loop/nb.lproj/LaunchScreen.strings create mode 100644 Loop/nb.lproj/Localizable.strings create mode 100644 Loop/nb.lproj/Main.strings create mode 100644 Loop/nl.lproj/InfoPlist.strings create mode 100644 Loop/nl.lproj/LaunchScreen.strings create mode 100644 Loop/nl.lproj/Localizable.strings create mode 100644 Loop/nl.lproj/Main.strings create mode 100644 Loop/zh-Hans.lproj/InfoPlist.strings create mode 100644 Loop/zh-Hans.lproj/LaunchScreen.strings create mode 100644 Loop/zh-Hans.lproj/Localizable.strings create mode 100644 Loop/zh-Hans.lproj/Main.strings create mode 100644 LoopTests/de.lproj/InfoPlist.strings create mode 100644 LoopTests/es.lproj/InfoPlist.strings create mode 100644 LoopTests/fr.lproj/InfoPlist.strings create mode 100644 LoopTests/it.lproj/InfoPlist.strings create mode 100644 LoopTests/nb.lproj/InfoPlist.strings create mode 100644 LoopTests/nl.lproj/InfoPlist.strings create mode 100644 LoopTests/ru.lproj/InfoPlist.strings create mode 100644 LoopTests/zh-Hans.lproj/InfoPlist.strings create mode 100644 LoopUI/de.lproj/InfoPlist.strings create mode 100644 LoopUI/de.lproj/Localizable.strings create mode 100644 LoopUI/fr.lproj/InfoPlist.strings create mode 100644 LoopUI/fr.lproj/Localizable.strings create mode 100644 LoopUI/it.lproj/InfoPlist.strings create mode 100644 LoopUI/it.lproj/Localizable.strings create mode 100644 LoopUI/nb.lproj/InfoPlist.strings create mode 100644 LoopUI/nb.lproj/Localizable.strings create mode 100644 LoopUI/nl.lproj/InfoPlist.strings create mode 100644 LoopUI/nl.lproj/Localizable.strings create mode 100644 LoopUI/zh-Hans.lproj/InfoPlist.strings create mode 100644 LoopUI/zh-Hans.lproj/Localizable.strings create mode 100644 WatchApp Extension/Base.lproj/InfoPlist.strings create mode 100644 WatchApp Extension/Base.lproj/Localizable.strings create mode 100644 WatchApp Extension/de.lproj/InfoPlist.strings create mode 100644 WatchApp Extension/de.lproj/Localizable.strings create mode 100644 WatchApp Extension/de.lproj/ckcomplication.strings create mode 100644 WatchApp Extension/fr.lproj/InfoPlist.strings create mode 100644 WatchApp Extension/fr.lproj/Localizable.strings create mode 100644 WatchApp Extension/fr.lproj/ckcomplication.strings create mode 100644 WatchApp Extension/it.lproj/Localizable.strings create mode 100644 WatchApp Extension/nb.lproj/InfoPlist.strings create mode 100644 WatchApp Extension/nb.lproj/Localizable.strings create mode 100644 WatchApp Extension/nb.lproj/ckcomplication.strings create mode 100644 WatchApp Extension/nl.lproj/InfoPlist.strings create mode 100644 WatchApp Extension/nl.lproj/Localizable.strings create mode 100644 WatchApp Extension/nl.lproj/ckcomplication.strings create mode 100644 WatchApp Extension/zh-Hans.lproj/InfoPlist.strings create mode 100644 WatchApp Extension/zh-Hans.lproj/Localizable.strings create mode 100644 WatchApp Extension/zh-Hans.lproj/ckcomplication.strings create mode 100644 WatchApp/Base.lproj/InfoPlist.strings create mode 100644 WatchApp/de.lproj/InfoPlist.strings create mode 100644 WatchApp/de.lproj/Interface.strings create mode 100644 WatchApp/fr.lproj/InfoPlist.strings create mode 100644 WatchApp/fr.lproj/Interface.strings create mode 100644 WatchApp/nb.lproj/InfoPlist.strings create mode 100644 WatchApp/nb.lproj/Interface.strings create mode 100644 WatchApp/nl.lproj/InfoPlist.strings create mode 100644 WatchApp/nl.lproj/Interface.strings create mode 100644 WatchApp/zh-Hans.lproj/InfoPlist.strings create mode 100644 WatchApp/zh-Hans.lproj/Interface.strings diff --git a/DoseMathTests/de.lproj/InfoPlist.strings b/DoseMathTests/de.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/de.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/de.lproj/Localizable.strings b/DoseMathTests/de.lproj/Localizable.strings new file mode 100644 index 0000000000..73f655822e --- /dev/null +++ b/DoseMathTests/de.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Der aktuell Blutzucker von %1$@ liegt unterhalb des Korrekturbereiches."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Der Vorhergesagte Blutzucker um %1$@ ist %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Der vorhergesagte Blutzucker von %1$@ liegt unterhalb des eingestellten Schwellwertes zur Unterbrechung der Basalrate. "; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + diff --git a/DoseMathTests/es.lproj/Localizable.strings b/DoseMathTests/es.lproj/Localizable.strings index f891fbeef2..ea86cdbd48 100644 --- a/DoseMathTests/es.lproj/Localizable.strings +++ b/DoseMathTests/es.lproj/Localizable.strings @@ -1,6 +1,18 @@ /* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ "Current glucose of %1$@ is below correction range." = "Glucosa actual de %1$@ está debajo del rango correctivo."; +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ "Predicted glucose at %1$@ is %2$@." = "Glucosa proyectada en %1$@ es %2$@."; @@ -10,6 +22,6 @@ /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; +/* The short unit display string for international units of insulin */ +"U" = "U"; diff --git a/DoseMathTests/fr.lproj/InfoPlist.strings b/DoseMathTests/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/fr.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/fr.lproj/Localizable.strings b/DoseMathTests/fr.lproj/Localizable.strings new file mode 100644 index 0000000000..a148669627 --- /dev/null +++ b/DoseMathTests/fr.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Glycémie actuelle %1$@ sous la plage de correction."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Glycémie de %2$@ prédite pour %1$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Prédiction de la glycémie à %1$@ sous le seuil de suspension défini."; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + diff --git a/DoseMathTests/it.lproj/InfoPlist.strings b/DoseMathTests/it.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/it.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/it.lproj/Localizable.strings b/DoseMathTests/it.lproj/Localizable.strings new file mode 100644 index 0000000000..ac7b220625 --- /dev/null +++ b/DoseMathTests/it.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "La glicemia corrente %1$@ é al di sotto dell'intervallo glicemico selezionato."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "La glicemia prevista a %1$@ è %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "La glicemia prevista %1$@ è inferiore al valore glicemico previsto per la sospensione dell'erogazione."; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + diff --git a/DoseMathTests/nb.lproj/InfoPlist.strings b/DoseMathTests/nb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/nb.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/nb.lproj/Localizable.strings b/DoseMathTests/nb.lproj/Localizable.strings new file mode 100644 index 0000000000..0739d24535 --- /dev/null +++ b/DoseMathTests/nb.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Nåværende blodsukker på %1$@ er under målområde."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Forventet blodsukker om %1$@ er %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Forventet blodsukker %1$@ er under innstillingen for stopp av insulintilførsel."; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + diff --git a/DoseMathTests/nl.lproj/InfoPlist.strings b/DoseMathTests/nl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/nl.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/nl.lproj/Localizable.strings b/DoseMathTests/nl.lproj/Localizable.strings new file mode 100644 index 0000000000..f104ed4a4d --- /dev/null +++ b/DoseMathTests/nl.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Huidige glucose van %1$@ is onder het correctie bereik."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "gr"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Voorspelde glucose van %1$@ is %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Voorspelde glucose van %1$@ is onder het onderbreken van basaal instelling."; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + diff --git a/DoseMathTests/ru.lproj/Localizable.strings b/DoseMathTests/ru.lproj/Localizable.strings index 4d12f14694..c15e8d72e7 100644 --- a/DoseMathTests/ru.lproj/Localizable.strings +++ b/DoseMathTests/ru.lproj/Localizable.strings @@ -1,6 +1,18 @@ /* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ "Current glucose of %1$@ is below correction range." = " Текущая гликемия %1$@ ниже диапазона коррекции"; +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "г"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "мг/дл"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + /* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ "Predicted glucose at %1$@ is %2$@." = "Предсказываемая гликемия в %1$@ - %2$@."; @@ -10,6 +22,6 @@ /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "ммоль/л"; +/* The short unit display string for international units of insulin */ +"U" = "ед"; diff --git a/DoseMathTests/zh-Hans.lproj/InfoPlist.strings b/DoseMathTests/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/zh-Hans.lproj/Localizable.strings b/DoseMathTests/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000000..11863c50dc --- /dev/null +++ b/DoseMathTests/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,27 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "当前血糖%1$@低于纠正目标."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "克"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "毫克/分升"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "毫摩尔/升"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "未来%1$@时间的血糖为%2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "预计血糖%1$@低于低血糖暂停阈值"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "单位"; + diff --git a/Loop Status Extension/Base.lproj/InfoPlist.strings b/Loop Status Extension/Base.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/Base.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/Base.lproj/Localizable.strings b/Loop Status Extension/Base.lproj/Localizable.strings new file mode 100644 index 0000000000..4c9097d64c --- /dev/null +++ b/Loop Status Extension/Base.lproj/Localizable.strings @@ -0,0 +1,50 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "A model based on the published absorption of Fiasp insulin."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults."; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "An adjustment to the adult model based on empirical effects in children."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "Eventually %1$@ %2$@"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ U"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Rapid-Acting – Adults"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Rapid-Acting – Children"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "The legacy model used by Loop, allowing customization of action duration."; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; diff --git a/Loop Status Extension/de.lproj/InfoPlist.strings b/Loop Status Extension/de.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/de.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/de.lproj/Localizable.strings b/Loop Status Extension/de.lproj/Localizable.strings new file mode 100644 index 0000000000..e18f2cf64d --- /dev/null +++ b/Loop Status Extension/de.lproj/Localizable.strings @@ -0,0 +1,51 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Ein Modell basierend auf der veröffentlichten Absorption von Fiasp-Insulin."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Ein Modell auf der Grundlage der veröffentlichten Absorption von Humalog, Novolog und Apidra Insulin bei Erwachsenen."; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Eine Anpassung an das Erwachsenenmodell basierend auf empirischen Effekten bei Kindern."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "Schließlich %1$@ %2$@"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ E"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Schnell handelnd - Erwachsene"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Schnell handelnd - Kinder"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Das Legacy-Modell, das von Loop verwendet wird und die Anpassung der Aktionsdauer ermöglicht."; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + diff --git a/Loop Status Extension/de.lproj/MainInterface.strings b/Loop Status Extension/de.lproj/MainInterface.strings new file mode 100644 index 0000000000..9f4e0690f3 --- /dev/null +++ b/Loop Status Extension/de.lproj/MainInterface.strings @@ -0,0 +1,6 @@ +/* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ +"9iF-xY-Bh4.text" = "schließlich 92 mg/dL"; + +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 E"; + diff --git a/Loop Status Extension/es.lproj/Localizable.strings b/Loop Status Extension/es.lproj/Localizable.strings index f3457c9c08..689064591d 100644 --- a/Loop Status Extension/es.lproj/Localizable.strings +++ b/Loop Status Extension/es.lproj/Localizable.strings @@ -1,12 +1,51 @@ /* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ "%1$@ v%2$@" = "%1$@ v%2$@"; -/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Un modelo basado en la publicación de la absorción de insulina Fiasp."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modelo basado en la publicación de la absorción de insulina Humalog, Novolog y Apidra en adultos."; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Un ajuste al modelo adulto basado en los efectos empíricos en niños."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ "Eventually %1$@ %2$@" = "Eventualmente %1$@ %2$@"; +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ U"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Acción Rápida — Adultos"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Acción Rápida — Niños"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "El model utilizado por ediciones iniciales de Loop, permite ajustar duración de acción."; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; diff --git a/Loop Status Extension/es.lproj/MainInterface.strings b/Loop Status Extension/es.lproj/MainInterface.strings index 3360a8bb6f..8d4fcfa1e0 100644 --- a/Loop Status Extension/es.lproj/MainInterface.strings +++ b/Loop Status Extension/es.lproj/MainInterface.strings @@ -1,3 +1,6 @@ /* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ "9iF-xY-Bh4.text" = "Eventualmente 92 mg/dL"; +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 U"; + diff --git a/Loop Status Extension/fr.lproj/InfoPlist.strings b/Loop Status Extension/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/fr.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/fr.lproj/Localizable.strings b/Loop Status Extension/fr.lproj/Localizable.strings new file mode 100644 index 0000000000..1baaaf0570 --- /dev/null +++ b/Loop Status Extension/fr.lproj/Localizable.strings @@ -0,0 +1,51 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Un modèle basé sur l’absorption publiée de l’insuline FIASP."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modèle basé sur l’absorption publiée de l’Hunalog, Novolog, et Apidra chez l’adulte."; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Un ajustement au modèle adulte basé sur des effets empiriques chez les enfants."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "Éventuellement %1$@ %2$@"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ U"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Action rapide - Adulte"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Action rapide - Enfant"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Le modèle hérité utilisé par Loop, permettant de personnaliser la durée de l’action."; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + diff --git a/Loop Status Extension/fr.lproj/MainInterface.strings b/Loop Status Extension/fr.lproj/MainInterface.strings new file mode 100644 index 0000000000..718222e748 --- /dev/null +++ b/Loop Status Extension/fr.lproj/MainInterface.strings @@ -0,0 +1,6 @@ +/* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ +"9iF-xY-Bh4.text" = "Éventuellement 92 mg/dL"; + +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 U"; + diff --git a/Loop Status Extension/it.lproj/InfoPlist.strings b/Loop Status Extension/it.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/it.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/it.lproj/Localizable.strings b/Loop Status Extension/it.lproj/Localizable.strings new file mode 100644 index 0000000000..732d79d715 --- /dev/null +++ b/Loop Status Extension/it.lproj/Localizable.strings @@ -0,0 +1,51 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Modello basato sull'assorbimento dell'insulina Fiasp."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Modello basato sull'assorbimento negli adulti dell'insulina Humalog, Novolog ed Apidra."; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Un adattamento al modello adulto basato su effetti empirici nei bambini."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "Probabile Glic. %1$@ %2$@"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ U"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Insulina ultrarapida – Adulti"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Insulina ultrarapida – Bambini"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "ll modello legacy utilizzato da Loop, che consente la personalizzazione della durata dell'azione."; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + diff --git a/Loop Status Extension/it.lproj/MainInterface.strings b/Loop Status Extension/it.lproj/MainInterface.strings new file mode 100644 index 0000000000..660125a4df --- /dev/null +++ b/Loop Status Extension/it.lproj/MainInterface.strings @@ -0,0 +1,6 @@ +/* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ +"9iF-xY-Bh4.text" = "probabile glic. 92 mg/dL"; + +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 U"; + diff --git a/Loop Status Extension/nb.lproj/InfoPlist.strings b/Loop Status Extension/nb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/nb.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/nb.lproj/Localizable.strings b/Loop Status Extension/nb.lproj/Localizable.strings new file mode 100644 index 0000000000..766f3ff5d7 --- /dev/null +++ b/Loop Status Extension/nb.lproj/Localizable.strings @@ -0,0 +1,51 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "En modell basert på publiserte data for absorpsjon av Fiasp insulin."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "En modell basert på publiserte data for absorpsjon av Humalog, Novolog og Apidra insulin hos voksne."; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "En justering til modellen tilpasset voksne, basert på empiriske effekter hos barn."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "Omsider %1$@ %2$@"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ E"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Hurtigvirkende – voksen"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Hurtigvirkende – barn"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Den gamle modellen brukt av Loop, tillater endring av varighet for tiltak."; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + diff --git a/Loop Status Extension/nb.lproj/MainInterface.strings b/Loop Status Extension/nb.lproj/MainInterface.strings new file mode 100644 index 0000000000..c464634590 --- /dev/null +++ b/Loop Status Extension/nb.lproj/MainInterface.strings @@ -0,0 +1,6 @@ +/* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ +"9iF-xY-Bh4.text" = "Omsider 92 mg/dL"; + +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 E"; + diff --git a/Loop Status Extension/nl.lproj/InfoPlist.strings b/Loop Status Extension/nl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/nl.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/nl.lproj/Localizable.strings b/Loop Status Extension/nl.lproj/Localizable.strings new file mode 100644 index 0000000000..2d2db19264 --- /dev/null +++ b/Loop Status Extension/nl.lproj/Localizable.strings @@ -0,0 +1,51 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Een model gebaseerd op de gepubliceerde opname van Fiasp insuline."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Een model gebaseerd op de gepubliceerde opname van Humalog, Novorapid, en Apidra insuline bij volwassenen."; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Een aanpassing aan het volwassen model gebaseerd om praktijk effecten bij kinderen."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "Uiteindelijk %1$@ %2$@"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ E"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Snelwerkende - volwassenen"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Snelwerkende - kinderen"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Het oude model dat door Loop wordt gebruikt, waardoor de actieduur kan worden aangepast."; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + diff --git a/Loop Status Extension/nl.lproj/MainInterface.strings b/Loop Status Extension/nl.lproj/MainInterface.strings new file mode 100644 index 0000000000..c652dfaa76 --- /dev/null +++ b/Loop Status Extension/nl.lproj/MainInterface.strings @@ -0,0 +1,6 @@ +/* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ +"9iF-xY-Bh4.text" = "Uiteindelijk 92 mg/dL"; + +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 E"; + diff --git a/Loop Status Extension/ru.lproj/Localizable.strings b/Loop Status Extension/ru.lproj/Localizable.strings index 5dabd82453..eaad302889 100644 --- a/Loop Status Extension/ru.lproj/Localizable.strings +++ b/Loop Status Extension/ru.lproj/Localizable.strings @@ -1,12 +1,51 @@ /* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ "%1$@ v%2$@" = "%1$@ v%2$@"; +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "модель, основанная на опубликованных данных усвоения FIASP инсулина"; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "модель, основанная на опубликованных данных усвоения Humalog, Novolog и Apidra у взрослых"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Поправка к модели для взрослых основанная на эмпирических данных для детей"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ "Eventually %1$@ %2$@" = "В конечном итоге %1$@ %2$@"; +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "г"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ ед"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "мг/дл"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "ммоль/л"; +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Боыстродействующий - взрослые"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Быстродействующий - дети"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Модель, используемая для цикла/контура, позволяет настройку длительности действия"; + +/* The short unit display string for international units of insulin */ +"U" = "ед"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; diff --git a/Loop Status Extension/ru.lproj/MainInterface.strings b/Loop Status Extension/ru.lproj/MainInterface.strings index 6f65da80eb..ac17fcfd98 100644 --- a/Loop Status Extension/ru.lproj/MainInterface.strings +++ b/Loop Status Extension/ru.lproj/MainInterface.strings @@ -2,5 +2,5 @@ "9iF-xY-Bh4.text" = "в конечном итоге 92 мг/дл"; /* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ -"UPi-dG-yYD.text" = "IOB 1.0 U"; +"UPi-dG-yYD.text" = "IOB 1.0 ед"; diff --git a/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings b/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/zh-Hans.lproj/Localizable.strings b/Loop Status Extension/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000000..79541f11d5 --- /dev/null +++ b/Loop Status Extension/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,51 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "基于公布的Fiasp胰岛素吸收的模型"; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "基于已公布的Humalog,Novolog和Apidra胰岛素在成人中吸收的模型。"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "在成人胰岛素模型基础上专为儿童修改的胰岛素代谢模型"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "最终 %1$@ %2$@"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "克"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ 单位"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "毫克/分升"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "毫摩尔/升"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "速效胰岛素 - 成人模型"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "速效胰岛素 - 儿童模型"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Loop使用的默认模型参数,您可以自行修改胰岛素代谢时间。"; + +/* The short unit display string for international units of insulin */ +"U" = "单位"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + diff --git a/Loop Status Extension/zh-Hans.lproj/MainInterface.strings b/Loop Status Extension/zh-Hans.lproj/MainInterface.strings new file mode 100644 index 0000000000..c315a458c2 --- /dev/null +++ b/Loop Status Extension/zh-Hans.lproj/MainInterface.strings @@ -0,0 +1,6 @@ +/* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ +"9iF-xY-Bh4.text" = "最终血糖为92 毫克/分升"; + +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 单位"; + diff --git a/Loop.xcodeproj/project.pbxproj b/Loop.xcodeproj/project.pbxproj index ed322964ea..78f8fcfcc4 100644 --- a/Loop.xcodeproj/project.pbxproj +++ b/Loop.xcodeproj/project.pbxproj @@ -25,8 +25,6 @@ 43027F0F1DFE0EC900C51989 /* HKUnit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F526D5E1DF2459000A04910 /* HKUnit.swift */; }; 4302F4E11D4E9C8900F0FCAF /* TextFieldTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4302F4E01D4E9C8900F0FCAF /* TextFieldTableViewController.swift */; }; 4302F4E31D4EA54200F0FCAF /* InsulinDeliveryTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4302F4E21D4EA54200F0FCAF /* InsulinDeliveryTableViewController.swift */; }; - 43076BF31DFDBC4B0012A723 /* it.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 43076BF21DFDBC4B0012A723 /* it.lproj */; }; - 4309786C1E73D2F500BEBC82 /* it.lproj in Resources */ = {isa = PBXBuildFile; fileRef = 4309786B1E73D2F500BEBC82 /* it.lproj */; }; 4309786E1E73DAD100BEBC82 /* CGM.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4309786D1E73DAD100BEBC82 /* CGM.swift */; }; 430B298A2041F54A00BA9F93 /* NSUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 430B29892041F54A00BA9F93 /* NSUserDefaults.swift */; }; 430B298B2041F55700BA9F93 /* NSUserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = 430B29892041F54A00BA9F93 /* NSUserDefaults.swift */; }; @@ -261,6 +259,9 @@ 4FF4D0F91E17268800846527 /* IdentifiableClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 434FF1E91CF26C29000DB779 /* IdentifiableClass.swift */; }; 4FF4D1001E18374700846527 /* WatchContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FF4D0FF1E18374700846527 /* WatchContext.swift */; }; 4FF4D1011E18375000846527 /* WatchContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FF4D0FF1E18374700846527 /* WatchContext.swift */; }; + 7D23667D21250C7E0028B67D /* LocalizedString.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D23667C21250C7E0028B67D /* LocalizedString.swift */; }; + 7D2366E621250E0A0028B67D /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D2366E421250E0A0028B67D /* InfoPlist.strings */; }; + 7D2366E821250E7B0028B67D /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D2366E421250E0A0028B67D /* InfoPlist.strings */; }; 7D7076351FE06EDE004AC8EA /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D7076371FE06EDE004AC8EA /* Localizable.strings */; }; 7D70763A1FE06EDF004AC8EA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D70763C1FE06EDF004AC8EA /* InfoPlist.strings */; }; 7D70763F1FE06EDF004AC8EA /* ckcomplication.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D7076411FE06EDF004AC8EA /* ckcomplication.strings */; }; @@ -429,8 +430,6 @@ /* Begin PBXFileReference section */ 4302F4E01D4E9C8900F0FCAF /* TextFieldTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldTableViewController.swift; sourceTree = ""; }; 4302F4E21D4EA54200F0FCAF /* InsulinDeliveryTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InsulinDeliveryTableViewController.swift; sourceTree = ""; }; - 43076BF21DFDBC4B0012A723 /* it.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; path = it.lproj; sourceTree = ""; }; - 4309786B1E73D2F500BEBC82 /* it.lproj */ = {isa = PBXFileReference; lastKnownFileType = folder; path = it.lproj; sourceTree = ""; }; 4309786D1E73DAD100BEBC82 /* CGM.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CGM.swift; sourceTree = ""; }; 430B29892041F54A00BA9F93 /* NSUserDefaults.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSUserDefaults.swift; sourceTree = ""; }; 430B298C2041F56500BA9F93 /* LoopSettings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoopSettings.swift; sourceTree = ""; }; @@ -638,6 +637,123 @@ 4FB76FCD1E8C835D00B39636 /* ChartColorPalette.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChartColorPalette.swift; sourceTree = ""; }; 4FC8C8001DEB93E400A1452E /* NSUserDefaults+StatusExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSUserDefaults+StatusExtension.swift"; sourceTree = ""; }; 4FF4D0FF1E18374700846527 /* WatchContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WatchContext.swift; sourceTree = ""; }; + 7D23667521250BE30028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = ""; }; + 7D23667621250BF70028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23667721250C280028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23667821250C2D0028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = ""; }; + 7D23667921250C440028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = ""; }; + 7D23667A21250C480028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23667C21250C7E0028B67D /* LocalizedString.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LocalizedString.swift; path = LoopUI/Common/LocalizedString.swift; sourceTree = SOURCE_ROOT; }; + 7D23667E21250CAC0028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23667F21250CB80028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = ""; }; + 7D23668021250CBE0028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23668121250CC50028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/ckcomplication.strings; sourceTree = ""; }; + 7D23668221250CF60028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23668321250CFB0028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = ""; }; + 7D23668421250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/LaunchScreen.strings; sourceTree = ""; }; + 7D23668521250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Main.strings; sourceTree = ""; }; + 7D23668621250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/MainInterface.strings; sourceTree = ""; }; + 7D23668721250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Interface.strings; sourceTree = ""; }; + 7D23668821250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 7D23668921250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23668A21250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23668B21250D180028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 7D23668C21250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 7D23668D21250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23668E21250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23668F21250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 7D23669021250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/ckcomplication.strings; sourceTree = ""; }; + 7D23669121250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23669221250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23669321250D190028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + 7D23669421250D220028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/LaunchScreen.strings; sourceTree = ""; }; + 7D23669521250D220028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Main.strings; sourceTree = ""; }; + 7D23669621250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/MainInterface.strings; sourceTree = ""; }; + 7D23669721250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Interface.strings; sourceTree = ""; }; + 7D23669821250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 7D23669921250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23669A21250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23669B21250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 7D23669C21250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 7D23669D21250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23669E21250D230028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D23669F21250D240028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366A021250D240028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/ckcomplication.strings; sourceTree = ""; }; + 7D2366A121250D240028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366A221250D240028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366A321250D240028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366A421250D2C0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/LaunchScreen.strings"; sourceTree = ""; }; + 7D2366A521250D2C0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Main.strings"; sourceTree = ""; }; + 7D2366A621250D2C0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/MainInterface.strings"; sourceTree = ""; }; + 7D2366A721250D2C0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Interface.strings"; sourceTree = ""; }; + 7D2366A821250D2C0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 7D2366A921250D2C0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + 7D2366AA21250D2C0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + 7D2366AB21250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 7D2366AC21250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 7D2366AD21250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + 7D2366AE21250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + 7D2366AF21250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 7D2366B021250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/ckcomplication.strings"; sourceTree = ""; }; + 7D2366B121250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + 7D2366B221250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + 7D2366B321250D2D0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; + 7D2366B421250D350028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Interface.strings; sourceTree = ""; }; + 7D2366B521250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366B621250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/LaunchScreen.strings; sourceTree = ""; }; + 7D2366B721250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Main.strings; sourceTree = ""; }; + 7D2366B821250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/MainInterface.strings; sourceTree = ""; }; + 7D2366B921250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366BA21250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366BB21250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366BC21250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366BD21250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366BE21250D360028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366BF21250D370028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366C021250D370028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/ckcomplication.strings; sourceTree = ""; }; + 7D2366C121250D370028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366C221250D370028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366C321250D370028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366C421250D3F0028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/LaunchScreen.strings; sourceTree = ""; }; + 7D2366C521250D3F0028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Main.strings; sourceTree = ""; }; + 7D2366C621250D3F0028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/MainInterface.strings; sourceTree = ""; }; + 7D2366C721250D3F0028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Interface.strings; sourceTree = ""; }; + 7D2366C821250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366C921250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366CA21250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366CB21250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366CC21250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366CD21250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366CE21250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366CF21250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366D021250D400028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/ckcomplication.strings; sourceTree = ""; }; + 7D2366D121250D410028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366D221250D410028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366D321250D410028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366D421250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/LaunchScreen.strings; sourceTree = ""; }; + 7D2366D521250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Main.strings; sourceTree = ""; }; + 7D2366D621250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/MainInterface.strings; sourceTree = ""; }; + 7D2366D721250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Interface.strings; sourceTree = ""; }; + 7D2366D821250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366D921250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366DA21250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366DB21250D4A0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366DC21250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366DD21250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366DE21250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366DF21250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366E021250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/ckcomplication.strings; sourceTree = ""; }; + 7D2366E121250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366E221250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366E321250D4B0028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/Localizable.strings; sourceTree = ""; }; + 7D2366E521250E0A0028B67D /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366E721250E7B0028B67D /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366E921250E8F0028B67D /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366EA21250EA40028B67D /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366EB21250EB80028B67D /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = nb.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366EC21250ECE0028B67D /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/InfoPlist.strings"; sourceTree = ""; }; + 7D2366ED21250F010028B67D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D2366EE21250F170028B67D /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/InfoPlist.strings; sourceTree = ""; }; 7D68AAA91FE2DB0A00522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/LaunchScreen.strings; sourceTree = ""; }; 7D68AAAA1FE2DB0A00522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Main.strings; sourceTree = ""; }; 7D68AAAB1FE2DB0A00522C49 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/MainInterface.strings; sourceTree = ""; }; @@ -683,7 +799,6 @@ C18852E12082AB1A00BECC8C /* RileyLinkKitUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RileyLinkKitUI.framework; path = Carthage/Build/iOS/RileyLinkKitUI.framework; sourceTree = ""; }; C18C8C501D5A351900E043FB /* NightscoutDataManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NightscoutDataManager.swift; sourceTree = ""; }; C1C6591B1E1B1FDA0025CC58 /* recommend_temp_basal_dropping_then_rising.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = recommend_temp_basal_dropping_then_rising.json; sourceTree = ""; }; - C1C73F0E1DE3D0270022FC89 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/InfoPlist.strings; sourceTree = ""; }; C9886AE41E5B2FAD00473BB8 /* gallery.ckcomplication */ = {isa = PBXFileReference; lastKnownFileType = folder; path = gallery.ckcomplication; sourceTree = ""; }; /* End PBXFileReference section */ @@ -863,7 +978,6 @@ 7D7076651FE06EE4004AC8EA /* Localizable.strings */, 7D7076511FE06EE1004AC8EA /* InfoPlist.strings */, C9886AE41E5B2FAD00473BB8 /* gallery.ckcomplication */, - 4309786B1E73D2F500BEBC82 /* it.lproj */, 43EDEE6B1CF2E12A00393BE3 /* Loop.entitlements */, 43F5C2D41B92A4A6003EB13D /* Info.plist */, 43776F8F1B8022E90074EA36 /* AppDelegate.swift */, @@ -921,7 +1035,6 @@ 7D70763C1FE06EDF004AC8EA /* InfoPlist.strings */, 43D533BB1CFD1DD7009E3085 /* WatchApp Extension.entitlements */, 43846AD41D8FA67800799272 /* Base.lproj */, - 43076BF21DFDBC4B0012A723 /* it.lproj */, 43A943911B926B7B0051FA24 /* Info.plist */, 43A9438D1B926B7B0051FA24 /* ComplicationController.swift */, 43A943871B926B7B0051FA24 /* ExtensionDelegate.swift */, @@ -1070,6 +1183,7 @@ isa = PBXGroup; children = ( 43E2D90F1D20C581004DA55F /* Info.plist */, + 7D2366E421250E0A0028B67D /* InfoPlist.strings */, 43E2D8C91D20B9E7004DA55F /* KeychainManagerTests.swift */, ); path = LoopTests; @@ -1093,6 +1207,7 @@ 4F75288C1DFE1DC600C322D6 /* LoopUI */ = { isa = PBXGroup; children = ( + 7D23667B21250C5A0028B67D /* Common */, 7D70764C1FE06EE1004AC8EA /* Localizable.strings */, 7D7076471FE06EE0004AC8EA /* InfoPlist.strings */, 4FB76FC41E8C576800B39636 /* Extensions */, @@ -1205,6 +1320,15 @@ path = Extensions; sourceTree = ""; }; + 7D23667B21250C5A0028B67D /* Common */ = { + isa = PBXGroup; + children = ( + 7D23667C21250C7E0028B67D /* LocalizedString.swift */, + ); + name = Common; + path = "New Group"; + sourceTree = ""; + }; 968DCD53F724DE56FFE51920 /* Frameworks */ = { isa = PBXGroup; children = ( @@ -1476,6 +1600,13 @@ knownRegions = ( en, Base, + fr, + de, + "zh-Hans", + it, + nl, + nb, + es, ); mainGroup = 43776F831B8022E90074EA36; productRefGroup = 43776F8D1B8022E90074EA36 /* Products */; @@ -1506,7 +1637,6 @@ 7D7076631FE06EE4004AC8EA /* Localizable.strings in Resources */, 43776F971B8022E90074EA36 /* Main.storyboard in Resources */, C9886AE51E5B2FAD00473BB8 /* gallery.ckcomplication in Resources */, - 4309786C1E73D2F500BEBC82 /* it.lproj in Resources */, 434F545B1D2880D4002A9274 /* AuthenticationTableViewCell.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1528,7 +1658,6 @@ 43846AD51D8FA67800799272 /* Base.lproj in Resources */, 7D70765E1FE06EE3004AC8EA /* Localizable.strings in Resources */, 7D70763A1FE06EDF004AC8EA /* InfoPlist.strings in Resources */, - 43076BF31DFDBC4B0012A723 /* it.lproj in Resources */, 7D70763F1FE06EDF004AC8EA /* ckcomplication.strings in Resources */, 43A943901B926B7B0051FA24 /* Assets.xcassets in Resources */, ); @@ -1563,6 +1692,8 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7D2366E621250E0A0028B67D /* InfoPlist.strings in Resources */, + 7D2366E821250E7B0028B67D /* InfoPlist.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1870,6 +2001,7 @@ files = ( 4F20AE621E6B879C00D07A06 /* ReservoirVolumeHUDView.swift in Sources */, 4FB76FB91E8C42B000B39636 /* CollectionType.swift in Sources */, + 7D23667D21250C7E0028B67D /* LocalizedString.swift in Sources */, 4FF4D0F91E17268800846527 /* IdentifiableClass.swift in Sources */, 436961911F19D11E00447E89 /* ChartPointsContextFillLayer.swift in Sources */, 4FF4D0F81E1725B000846527 /* NibLoadable.swift in Sources */, @@ -1960,6 +2092,12 @@ 43776F961B8022E90074EA36 /* Base */, 7DD382771F8DBFC60071272B /* es */, 7D68AAAA1FE2DB0A00522C49 /* ru */, + 7D23668521250D180028B67D /* fr */, + 7D23669521250D220028B67D /* de */, + 7D2366A521250D2C0028B67D /* zh-Hans */, + 7D2366B721250D360028B67D /* it */, + 7D2366C521250D3F0028B67D /* nl */, + 7D2366D521250D4A0028B67D /* nb */, ); name = Main.storyboard; sourceTree = ""; @@ -1970,6 +2108,12 @@ 43776F9B1B8022E90074EA36 /* Base */, 7DD382761F8DBFC60071272B /* es */, 7D68AAA91FE2DB0A00522C49 /* ru */, + 7D23668421250D180028B67D /* fr */, + 7D23669421250D220028B67D /* de */, + 7D2366A421250D2C0028B67D /* zh-Hans */, + 7D2366B621250D360028B67D /* it */, + 7D2366C421250D3F0028B67D /* nl */, + 7D2366D421250D4A0028B67D /* nb */, ); name = LaunchScreen.storyboard; sourceTree = ""; @@ -1980,6 +2124,12 @@ 43A943751B926B7B0051FA24 /* Base */, 7DD382791F8DBFC60071272B /* es */, 7D68AAAC1FE2DB0A00522C49 /* ru */, + 7D23668721250D180028B67D /* fr */, + 7D23669721250D230028B67D /* de */, + 7D2366A721250D2C0028B67D /* zh-Hans */, + 7D2366B421250D350028B67D /* it */, + 7D2366C721250D3F0028B67D /* nl */, + 7D2366D721250D4A0028B67D /* nb */, ); name = Interface.storyboard; sourceTree = ""; @@ -1990,15 +2140,43 @@ 4F70C1E31DE8DCA7006380B7 /* Base */, 7DD382781F8DBFC60071272B /* es */, 7D68AAAB1FE2DB0A00522C49 /* ru */, + 7D23668621250D180028B67D /* fr */, + 7D23669621250D230028B67D /* de */, + 7D2366A621250D2C0028B67D /* zh-Hans */, + 7D2366B821250D360028B67D /* it */, + 7D2366C621250D3F0028B67D /* nl */, + 7D2366D621250D4A0028B67D /* nb */, ); name = MainInterface.storyboard; sourceTree = ""; }; + 7D2366E421250E0A0028B67D /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 7D2366E521250E0A0028B67D /* es */, + 7D2366E721250E7B0028B67D /* de */, + 7D2366E921250E8F0028B67D /* fr */, + 7D2366EA21250EA40028B67D /* it */, + 7D2366EB21250EB80028B67D /* nb */, + 7D2366EC21250ECE0028B67D /* zh-Hans */, + 7D2366ED21250F010028B67D /* ru */, + 7D2366EE21250F170028B67D /* nl */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; 7D7076371FE06EDE004AC8EA /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( 7D7076361FE06EDE004AC8EA /* es */, 7D68AAAD1FE2E8D400522C49 /* ru */, + 7D23667821250C2D0028B67D /* Base */, + 7D23668B21250D180028B67D /* fr */, + 7D23669B21250D230028B67D /* de */, + 7D2366AB21250D2D0028B67D /* zh-Hans */, + 7D2366BC21250D360028B67D /* it */, + 7D2366CB21250D400028B67D /* nl */, + 7D2366DB21250D4A0028B67D /* nb */, ); name = Localizable.strings; sourceTree = ""; @@ -2008,6 +2186,13 @@ children = ( 7D70763B1FE06EDF004AC8EA /* es */, 7D68AAAF1FE2E8D500522C49 /* ru */, + 7D23668021250CBE0028B67D /* Base */, + 7D23669121250D190028B67D /* fr */, + 7D2366A121250D240028B67D /* de */, + 7D2366B121250D2D0028B67D /* zh-Hans */, + 7D2366C121250D370028B67D /* it */, + 7D2366D121250D410028B67D /* nl */, + 7D2366E121250D4B0028B67D /* nb */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2017,6 +2202,13 @@ children = ( 7D7076401FE06EDF004AC8EA /* es */, 7D68AAB01FE2E8D500522C49 /* ru */, + 7D23668121250CC50028B67D /* Base */, + 7D23669021250D190028B67D /* fr */, + 7D2366A021250D240028B67D /* de */, + 7D2366B021250D2D0028B67D /* zh-Hans */, + 7D2366C021250D370028B67D /* it */, + 7D2366D021250D400028B67D /* nl */, + 7D2366E021250D4B0028B67D /* nb */, ); name = ckcomplication.strings; sourceTree = ""; @@ -2026,6 +2218,13 @@ children = ( 7D7076461FE06EE0004AC8EA /* es */, 7D68AAB21FE2E8D500522C49 /* ru */, + 7D23667A21250C480028B67D /* Base */, + 7D23668D21250D190028B67D /* fr */, + 7D23669D21250D230028B67D /* de */, + 7D2366AD21250D2D0028B67D /* zh-Hans */, + 7D2366BE21250D360028B67D /* it */, + 7D2366CD21250D400028B67D /* nl */, + 7D2366DD21250D4B0028B67D /* nb */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2035,6 +2234,13 @@ children = ( 7D70764B1FE06EE1004AC8EA /* es */, 7D68AAB31FE2E8D500522C49 /* ru */, + 7D23667921250C440028B67D /* Base */, + 7D23668C21250D190028B67D /* fr */, + 7D23669C21250D230028B67D /* de */, + 7D2366AC21250D2D0028B67D /* zh-Hans */, + 7D2366BD21250D360028B67D /* it */, + 7D2366CC21250D400028B67D /* nl */, + 7D2366DC21250D4B0028B67D /* nb */, ); name = Localizable.strings; sourceTree = ""; @@ -2044,6 +2250,13 @@ children = ( 7D7076501FE06EE1004AC8EA /* es */, 7D68AAB41FE2E8D600522C49 /* ru */, + 7D23667621250BF70028B67D /* Base */, + 7D23668921250D180028B67D /* fr */, + 7D23669921250D230028B67D /* de */, + 7D2366A921250D2C0028B67D /* zh-Hans */, + 7D2366BA21250D360028B67D /* it */, + 7D2366C921250D400028B67D /* nl */, + 7D2366D921250D4A0028B67D /* nb */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2053,6 +2266,13 @@ children = ( 7D7076551FE06EE2004AC8EA /* es */, 7D68AAB51FE2E8D600522C49 /* ru */, + 7D23667721250C280028B67D /* Base */, + 7D23668A21250D180028B67D /* fr */, + 7D23669A21250D230028B67D /* de */, + 7D2366AA21250D2C0028B67D /* zh-Hans */, + 7D2366BB21250D360028B67D /* it */, + 7D2366CA21250D400028B67D /* nl */, + 7D2366DA21250D4A0028B67D /* nb */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2062,6 +2282,13 @@ children = ( 7D70765A1FE06EE2004AC8EA /* es */, 7D68AAB61FE2E8D600522C49 /* ru */, + 7D23668321250CFB0028B67D /* Base */, + 7D23669321250D190028B67D /* fr */, + 7D2366A321250D240028B67D /* de */, + 7D2366B321250D2D0028B67D /* zh-Hans */, + 7D2366C321250D370028B67D /* it */, + 7D2366D321250D410028B67D /* nl */, + 7D2366E321250D4B0028B67D /* nb */, ); name = Localizable.strings; sourceTree = ""; @@ -2071,6 +2298,13 @@ children = ( 7D70765F1FE06EE3004AC8EA /* es */, 7D68AAB71FE2E8D600522C49 /* ru */, + 7D23667F21250CB80028B67D /* Base */, + 7D23668F21250D190028B67D /* fr */, + 7D23669F21250D240028B67D /* de */, + 7D2366AF21250D2D0028B67D /* zh-Hans */, + 7D2366BF21250D370028B67D /* it */, + 7D2366CF21250D400028B67D /* nl */, + 7D2366DF21250D4B0028B67D /* nb */, ); name = Localizable.strings; sourceTree = ""; @@ -2080,6 +2314,13 @@ children = ( 7D7076641FE06EE4004AC8EA /* es */, 7D68AAB81FE2E8D700522C49 /* ru */, + 7D23667521250BE30028B67D /* Base */, + 7D23668821250D180028B67D /* fr */, + 7D23669821250D230028B67D /* de */, + 7D2366A821250D2C0028B67D /* zh-Hans */, + 7D2366B921250D360028B67D /* it */, + 7D2366C821250D400028B67D /* nl */, + 7D2366D821250D4A0028B67D /* nb */, ); name = Localizable.strings; sourceTree = ""; @@ -2089,6 +2330,13 @@ children = ( 7D7076691FE0702F004AC8EA /* es */, 7D68AAAE1FE2E8D400522C49 /* ru */, + 7D23668221250CF60028B67D /* Base */, + 7D23669221250D190028B67D /* fr */, + 7D2366A221250D240028B67D /* de */, + 7D2366B221250D2D0028B67D /* zh-Hans */, + 7D2366C221250D370028B67D /* it */, + 7D2366D221250D410028B67D /* nl */, + 7D2366E221250D4B0028B67D /* nb */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2096,9 +2344,15 @@ C1C73F0F1DE3D0270022FC89 /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - C1C73F0E1DE3D0270022FC89 /* it */, 7D7076421FE06EE0004AC8EA /* es */, 7D68AAB11FE2E8D500522C49 /* ru */, + 7D23667E21250CAC0028B67D /* Base */, + 7D23668E21250D190028B67D /* fr */, + 7D23669E21250D230028B67D /* de */, + 7D2366AE21250D2D0028B67D /* zh-Hans */, + 7D2366B521250D360028B67D /* it */, + 7D2366CE21250D400028B67D /* nl */, + 7D2366DE21250D4B0028B67D /* nb */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2177,6 +2431,11 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 11.1; + LOCALIZED_STRING_MACRO_NAMES = ( + NSLocalizedString, + CFLocalizedString, + LocalizedString, + ); MAIN_APP_BUNDLE_IDENTIFIER = "$(inherited).Loop"; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; @@ -2238,6 +2497,11 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 11.1; + LOCALIZED_STRING_MACRO_NAMES = ( + NSLocalizedString, + CFLocalizedString, + LocalizedString, + ); MAIN_APP_BUNDLE_IDENTIFIER = "$(inherited).Loop"; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; diff --git a/Loop/Base.lproj/InfoPlist.strings b/Loop/Base.lproj/InfoPlist.strings new file mode 100644 index 0000000000..63a0c976de --- /dev/null +++ b/Loop/Base.lproj/InfoPlist.strings @@ -0,0 +1,17 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Loop"; + +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* Privacy - Bluetooth Peripheral Usage Description */ +"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices."; + +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "Face ID is used to authenticate insulin bolus."; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "Meal data from the Health database is used to determine glucose effects. Glucose data from the Health database is used for graphing and momentum calculation."; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "Carbohydrate meal data entered in the app and on the watch is stored in the Health database. Glucose data retrieved from the CGM is stored securely in HealthKit."; diff --git a/Loop/Base.lproj/Localizable.strings b/Loop/Base.lproj/Localizable.strings new file mode 100644 index 0000000000..60fd5e7d0b --- /dev/null +++ b/Loop/Base.lproj/Localizable.strings @@ -0,0 +1,413 @@ +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = "(pending: %@)"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ absorbed"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ U Total"; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string for carb ratio average. (1: value)(2: carb unit) + Format string for insulin sensitivity average (1: value)(2: glucose unit) */ +"%1$@ %2$@/U" = "%1$@ %2$@/U"; + +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + +/* Low reservoir alert format string. (1: Number of units remaining) */ +"%1$@ U left" = "%1$@ U left"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ +"%1$@ U left: %2$@" = "%1$@ U left: %2$@"; + +/* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ +"%1$@ U/hour @ %2$@" = "%1$@ U/hour @ %2$@"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; + +/* Description of the prediction input effect for glucose momentum */ +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15 min glucose regression coefficient (b₁), continued with decay over 30 min."; + +/* Description of the prediction input effect for retrospective correction */ +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 min comparison of glucose prediction vs actual, continued with decay over 60 min."; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "A model based on the published absorption of Fiasp insulin."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults."; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "AcceptRecommendedBolus"; + +/* The title of the Carbs On-Board graph */ +"Active Carbohydrates" = "Active Carbohydrates"; + +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "Active Carbohydrates: %@"; + +/* The title of the Insulin On-Board graph */ +"Active Insulin" = "Active Insulin"; + +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "Active Insulin: %@"; + +/* The title of the button to add the credentials for a service */ +"Add Account" = "Add Account"; + +/* The label of the carb entry button */ +"Add Meal" = "Add Meal"; + +/* Title text for button to set up a new pump */ +"Add Pump" = "Add Pump"; + +/* The title of the section containing algorithm settings */ +"Algorithm Settings" = "Algorithm Settings"; + +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "An adjustment to the adult model based on empirical effects in children."; + +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Format fragment for a specific time */ +"at %@" = "at %@"; + +/* The message displayed during a device authentication prompt for bolus specification */ +"Authenticate to Bolus %@ Units" = "Authenticate to Bolus %@ Units"; + +/* The title of the basal rate profile screen + The title text for the basal rate schedule */ +"Basal Rates" = "Basal Rates"; + +/* The label of the bolus entry button + The notification title for a bolus failure */ +"Bolus" = "Bolus"; + +/* The title of the cancel action in an action sheet */ +"Cancel" = "Cancel"; + +/* The title of the carb ratios schedule screen + The title text for the carb ratio schedule */ +"Carb Ratios" = "Carb Ratios"; + +/* Title of the prediction input effect for carbohydrates */ +"Carbohydrates" = "Carbohydrates"; + +/* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)"; + +/* The notification alert describing a low pump battery */ +"Change the pump battery immediately" = "Change the pump battery immediately"; + +/* The notification alert describing an empty pump reservoir */ +"Change the pump reservoir now" = "Change the pump reservoir now"; + +/* The title text for the looping enabled switch cell */ +"Closed Loop" = "Closed Loop"; + +/* The title of the configuration section in settings */ +"Configuration" = "Configuration"; + +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Configuration Error: %1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "Continuous Glucose Monitor"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "Correction Range"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = " Current glucose of %1$@ is below correction range."; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "Customer Token"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The title of the button to remove the credentials for a service */ +"Delete Account" = "Delete Account"; + +/* Title text for delivery limits */ +"Delivery Limits" = "Delivery Limits"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "Dexcom Share"; + +/* The action hint of the workout mode toggle button when enabled */ +"Disables" = "Disables"; + +/* Title of the switch which toggles retrospective correction effects */ +"Enable Retrospective Correction" = "Enable Retrospective Correction"; + +/* The action hint of the workout mode toggle button when disabled */ +"Enables" = "Enables"; + +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "Enter suspend threshold"; + +/* The placeholder text instructing users how to enter a transmitter ID */ +"Enter the 6-digit transmitter ID" = "Enter the 6-digit transmitter ID"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) */ +"Eventually %@" = "Eventually %@"; + +/* The title of the alert describing a maximum bolus validation error */ +"Exceeds Maximum Bolus" = "Exceeds Maximum Bolus"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The format string used to describe a finite workout targets duration */ +"For %1$@" = "For %1$@"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The title text for the G4 Share Receiver switch cell */ +"G4 Share Receiver" = "G4 Share Receiver"; + +/* The title text for the G5/G6 Transmitter switch cell */ +"G5/G6 Transmitter" = "G5/G6 Transmitter"; + +/* The title of the glucose and prediction graph */ +"Glucose" = "Glucose"; + +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "Glucose data is %1$@ old"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "Glucose data is unavailable"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "Glucose Momentum"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; + +/* The title of a target alert action specifying an indefinitely long workout targets duration */ +"Indefinitely" = "Indefinitely"; + +/* Title of the prediction input effect for insulin */ +"Insulin" = "Insulin"; + +/* Description of the prediction input effect for insulin */ +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)"; + +/* The title of the insulin delivery graph */ +"Insulin Delivery" = "Insulin Delivery"; + +/* The title text for the insulin model setting row */ +"Insulin Model" = "Insulin Model"; + +/* The title of the insulin sensitivities schedule screen + The title text for the insulin sensitivity schedule */ +"Insulin Sensitivities" = "Insulin Sensitivities"; + +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "Invalid data: %1$@"; + +/* The title text for the issue report cell */ +"Issue Report" = "Issue Report"; + +/* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ +"Last comparison: %1$@ → %2$@ vs %3$@" = "Last comparison: %1$@ → %2$@ vs %3$@"; + +/* Glucose HUD accessibility hint */ +"Launches CGM app" = "Launches CGM app"; + +/* The loading message for the diagnostic report screen */ +"Loading..." = "Loading..."; + +/* The title of the loggly service */ +"Loggly" = "Loggly"; + +/* The notification title for a loop failure */ +"Loop Failure" = "Loop Failure"; + +/* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ +"Loop has not completed successfully in %@" = "Loop has not completed successfully in %@"; + +/* The description of a low G5/G6 transmitter battery with a leading space */ +"Low Battery" = "Low Battery"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "Missing data: %1$@"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Sensor state description for the non-valid state */ +"Needs Attention" = "Needs Attention"; + +/* The title of the Nightscout service */ +"Nightscout" = "Nightscout"; + +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "No connected devices, or failure during device connection"; + +/* Sensor state description for the valid state */ +"OK" = "OK"; + +/* Outside US share server option title */ +"Outside US" = "Outside US"; + +/* The title of the Dexcom share password credential */ +"Password" = "Password"; + +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "Pre-Meal Targets"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Predicted glucose at %1$@ is %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Predicted glucose of %1$@ is below your suspend threshold setting."; + +/* The title of the pump section in settings */ +"Pump" = "Pump"; + +/* The notification title for a low pump battery */ +"Pump Battery Low" = "Pump Battery Low"; + +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Pump data is %1$@ old"; + +/* The notification title for an empty pump reservoir */ +"Pump Reservoir Empty" = "Pump Reservoir Empty"; + +/* The notification title for a low pump reservoir */ +"Pump Reservoir Low" = "Pump Reservoir Low"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Rapid-Acting – Adults"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Rapid-Acting – Children"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "Recommendation expired: %1$@ old"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "Recommended Basal"; + +/* Accessibility hint describing recommended bolus units */ +"Recommended Bolus: %@ Units" = "Recommended Bolus: %@ Units"; + +/* The default placeholder string for a credential */ +"Required" = "Required"; + +/* Title of the prediction input effect for retrospective correction */ +"Retrospective Correction" = "Retrospective Correction"; + +/* The title of the notification action to retry a bolus command */ +"Retry" = "Retry"; + +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "Sensor calibration is OK"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "Sensor is in unknown state %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "Sensor is stopped"; + +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "Sensor is warming up"; + +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "Sensor needs calibration"; + +/* The title of the Dexcom share server URL credential */ +"Server" = "Server"; + +/* The title of the services section in settings */ +"Services" = "Services"; + +/* The label of the settings button */ +"Settings" = "Settings"; + +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "Shows last loop error"; + +/* Format fragment for a start time */ +"since %@" = "since %@"; + +/* The title of the nightscout site URL credential */ +"Site URL" = "Site URL"; + +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; + +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "Starting Bolus"; + +/* The title text in settings */ +"Suspend Threshold" = "Suspend Threshold"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "The legacy model used by Loop, allowing customization of action duration."; + +/* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ +"The maximum bolus amount is %@ Units" = "The maximum bolus amount is %@ Units"; + +/* Instructions on where to find the transmitter ID */ +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app."; + +/* The description of the switch which toggles retrospective correction effects */ +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model."; + +/* The title text for the Dexcom G5/G6 transmitter ID config value */ +"Transmitter ID" = "Transmitter ID"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* U.S. share server option title */ +"US" = "US"; + +/* The title of the alert controller used to select a duration for workout targets */ +"Use Workout Glucose Targets" = "Use Workout Glucose Targets"; + +/* The title of the Dexcom share username credential */ +"Username" = "Username"; + +/* Label indicating validation is occurring */ +"Verifying" = "Verifying"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour."; + +/* The label of the workout mode toggle button */ +"Workout Targets" = "Workout Targets"; diff --git a/Loop/Info.plist b/Loop/Info.plist index 051d03f7b7..b3114fdf5d 100644 --- a/Loop/Info.plist +++ b/Loop/Info.plist @@ -46,11 +46,9 @@ NSBluetoothPeripheralUsageDescription Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices NSHealthShareUsageDescription - Meal data from the Health database is used to determine glucose effects. -Glucose data from the Health database is used for graphing and momentum calculation. + Meal data from the Health database is used to determine glucose effects. Glucose data from the Health database is used for graphing and momentum calculation. NSHealthUpdateUsageDescription - Carbohydrate meal data entered in the app and on the watch is stored in the Health database. -Glucose data retrieved from the CGM is stored securely in HealthKit. + Carbohydrate meal data entered in the app and on the watch is stored in the Health database. Glucose data retrieved from the CGM is stored securely in HealthKit. NSFaceIDUsageDescription Face ID is used to authenticate insulin bolus. UIBackgroundModes diff --git a/Loop/de.lproj/InfoPlist.strings b/Loop/de.lproj/InfoPlist.strings new file mode 100644 index 0000000000..c78a94f9b2 --- /dev/null +++ b/Loop/de.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Loop"; + +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* Privacy - Bluetooth Peripheral Usage Description */ +"NSBluetoothPeripheralUsageDescription" = "Bluetooth wird verwendet, um mit Insulinpumpen und kontinuierlichen Blutzuckermessgeräten zu kommunizieren"; + +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "Face ID wird benutzt um Insulin-Bolus zu authentifizieren."; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "Mahlzeitdaten aus der HealthKit datenbank werden verwendet, um Glukose effekte zu bestimmen. Glukosedaten aus der HealthKit Datenbank werden für die Graphik- und Impulsberechnung verwendet."; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "Die in der App und auf der Uhr eingegebenen Kohlenhydratmehldaten werden in der Health-Datenbank gespeichert. Glukosedaten, die vom CGM abgerufen werden, werden sicher in HealthKit gespeichert."; + diff --git a/Loop/de.lproj/LaunchScreen.strings b/Loop/de.lproj/LaunchScreen.strings new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Loop/de.lproj/LaunchScreen.strings @@ -0,0 +1 @@ + diff --git a/Loop/de.lproj/Localizable.strings b/Loop/de.lproj/Localizable.strings new file mode 100644 index 0000000000..0da07f9fda --- /dev/null +++ b/Loop/de.lproj/Localizable.strings @@ -0,0 +1,414 @@ +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = " (steht aus: %@)"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ absorbiert"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ Gesamteinheiten"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string for carb ratio average. (1: value)(2: carb unit) + Format string for insulin sensitivity average (1: value)(2: glucose unit) */ +"%1$@ %2$@/U" = "%1$@ %2$@/E"; + +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + +/* Low reservoir alert format string. (1: Number of units remaining) */ +"%1$@ U left" = "%1$@ E verbleibend"; + +/* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ +"%1$@ U left: %2$@" = "%1$@ E verbleibend: %2$@"; + +/* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ +"%1$@ U/hour @ %2$@" = "%1$@ E/St @ %2$@"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; + +/* Description of the prediction input effect for glucose momentum */ +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15 Minuten Glukose-Regressionskoeffizient (b1), fortgesetzt mit Zerfall über 30 min"; + +/* Description of the prediction input effect for retrospective correction */ +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30-minütiger Vergleich der Glukoseprädiktion gegenüber der tatsächlichen, Fortsetzung mit Zerfall über 60 min"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Ein Modell basierend auf der veröffentlichten Absorption von Fiasp-Insulin."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Ein Modell auf der Grundlage der veröffentlichten Absorption von Humalog, Novolog und Apidra Insulin bei Erwachsenen."; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "Akzeptiere empfohlenen Bolus"; + +/* The title of the Carbs On-Board graph */ +"Active Carbohydrates" = "Aktive Kohlenhydrate"; + +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "Aktive Kohlenhydrate: %@"; + +/* The title of the Insulin On-Board graph */ +"Active Insulin" = "Aktives Insulin"; + +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "Aktives Insulin: %@"; + +/* The title of the button to add the credentials for a service */ +"Add Account" = "Konto hinzufügen"; + +/* The label of the carb entry button */ +"Add Meal" = "Mahlzeit hinzufügen"; + +/* Title text for button to set up a new pump */ +"Add Pump" = "Pumpe hinzufügen"; + +/* The title of the section containing algorithm settings */ +"Algorithm Settings" = "Algorithmus einstellungen"; + +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Eine Anpassung an das Erwachsenenmodell basierend auf empirischen Effekten bei Kindern."; + +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Format fragment for a specific time */ +"at %@" = "bei %@"; + +/* The message displayed during a device authentication prompt for bolus specification */ +"Authenticate to Bolus %@ Units" = "Authentifizieren für Bolus %@ E"; + +/* The title of the basal rate profile screen + The title text for the basal rate schedule */ +"Basal Rates" = "Basalraten"; + +/* The label of the bolus entry button + The notification title for a bolus failure */ +"Bolus" = "Bolus"; + +/* The title of the cancel action in an action sheet */ +"Cancel" = "Abbrechen"; + +/* The title of the carb ratios schedule screen + The title text for the carb ratio schedule */ +"Carb Ratios" = "Kohlenhydrate Verhältnisse"; + +/* Title of the prediction input effect for carbohydrates */ +"Carbohydrates" = "Kohlenhydrate"; + +/* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Kohlenhydrate aufgenommen (G) ÷ Carb Ratio (G/E) × Insulinempfindlichkeit (%1$@/E)"; + +/* The notification alert describing a low pump battery */ +"Change the pump battery immediately" = "Wechseln Sie sofort die Pumpenbatterie"; + +/* The notification alert describing an empty pump reservoir */ +"Change the pump reservoir now" = "Wechseln Sie jetzt den Pumpenbehälter"; + +/* The title text for the looping enabled switch cell */ +"Closed Loop" = "Geschlossene Schleife"; + +/* The title of the configuration section in settings */ +"Configuration" = "Konfiguration"; + +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Konfigurationsfehler: %1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "Kontinuierlicher Glukosemonitor"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "Korrekturbereich"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Die aktuelle Glukose von %1$@ liegt unter dem Korrekturbereich."; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "Kunden-Token"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The title of the button to remove the credentials for a service */ +"Delete Account" = "Konto löschen"; + +/* Title text for delivery limits */ +"Delivery Limits" = "Verabreichungslimits"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "Dexcom Share"; + +/* The action hint of the workout mode toggle button when enabled */ +"Disables" = "Deaktiviert"; + +/* Title of the switch which toggles retrospective correction effects */ +"Enable Retrospective Correction" = "Aktivieren retrospektive Korrektur"; + +/* The action hint of the workout mode toggle button when disabled */ +"Enables" = "Ermöglicht"; + +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "Schwellwert für Aussetzung eingeben"; + +/* The placeholder text instructing users how to enter a transmitter ID */ +"Enter the 6-digit transmitter ID" = "Geben Sie die 6-stellige Sender-ID ein"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) */ +"Eventually %@" = "Schließlich %@"; + +/* The title of the alert describing a maximum bolus validation error */ +"Exceeds Maximum Bolus" = "Überschreitet den maximalen Bolus"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The format string used to describe a finite workout targets duration */ +"For %1$@" = "Für %1$@"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The title text for the G4 Share Receiver switch cell */ +"G4 Share Receiver" = "G4 Share Empfänger"; + +/* The title text for the G5/G6 Transmitter switch cell */ +"G5/G6 Transmitter" = "G5/G6 Sender"; + +/* The title of the glucose and prediction graph */ +"Glucose" = "Glukose"; + +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "Glukosedaten sind %1$@ alt"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "Glukosedaten sind nicht verfügbar"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "Glukose-Momentum"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; + +/* The title of a target alert action specifying an indefinitely long workout targets duration */ +"Indefinitely" = "Unendlich"; + +/* Title of the prediction input effect for insulin */ +"Insulin" = "Insulin"; + +/* Description of the prediction input effect for insulin */ +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Insulin absorbiert (E) × Insulinempfindlichkeit (%1$@/E)"; + +/* The title of the insulin delivery graph */ +"Insulin Delivery" = "Insulinabgabe"; + +/* The title text for the insulin model setting row */ +"Insulin Model" = "Insulin-Modell"; + +/* The title of the insulin sensitivities schedule screen + The title text for the insulin sensitivity schedule */ +"Insulin Sensitivities" = "Insulinsensitivitäten"; + +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "Ungültige Daten: %1$@"; + +/* The title text for the issue report cell */ +"Issue Report" = "Problembericht"; + +/* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ +"Last comparison: %1$@ → %2$@ vs %3$@" = "Letzter Vergleich: %1$@ → %2$@ vs %3$@"; + +/* Glucose HUD accessibility hint */ +"Launches CGM app" = "Startet die CGM-App"; + +/* The loading message for the diagnostic report screen */ +"Loading..." = "Wird geladen..."; + +/* The title of the loggly service */ +"Loggly" = "Loggly"; + +/* The notification title for a loop failure */ +"Loop Failure" = "Loop Fehler"; + +/* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ +"Loop has not completed successfully in %@" = "Loop wurde nicht erfolgreich abgeschlossen um %@"; + +/* The description of a low G5/G6 transmitter battery with a leading space */ +"Low Battery" = "niedriger Batteriestatus"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "Fehlende Daten: %1$@"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Sensor state description for the non-valid state */ +"Needs Attention" = "Erfordert Aufmerksamkeit"; + +/* The title of the Nightscout service */ +"Nightscout" = "Nightscout"; + +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "Keine angeschlossenen Geräte oder Fehler während der Geräteverbindung"; + +/* Sensor state description for the valid state */ +"OK" = "OK"; + +/* Outside US share server option title */ +"Outside US" = "Außerhalb der USA"; + +/* The title of the Dexcom share password credential */ +"Password" = "Passwort"; + +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "Ziele vor dem Essen"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Vorhergesagte Glukose um %1$@ ist %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Die vorhergesagte Glukose von %1$@ liegt unter der eingestellten Schwelle."; + +/* The title of the pump section in settings */ +"Pump" = "Pumpe"; + +/* The notification title for a low pump battery */ +"Pump Battery Low" = "Pumpenbatterie niedrig"; + +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Pumpendaten sind %1$@ alt"; + +/* The notification title for an empty pump reservoir */ +"Pump Reservoir Empty" = "Pumpenreservoir leer"; + +/* The notification title for a low pump reservoir */ +"Pump Reservoir Low" = "Pumpenreservoir niedrig"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Schnell handelnd - Erwachsene"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Schnell handelnd - Kinder"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "Empfehlung abgelaufen: %1$@ alt"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "Empfohlen Basal"; + +/* Accessibility hint describing recommended bolus units */ +"Recommended Bolus: %@ Units" = "BEmpfohlener Bolus: %@ Einheiten"; + +/* The default placeholder string for a credential */ +"Required" = "Erforderlich"; + +/* Title of the prediction input effect for retrospective correction */ +"Retrospective Correction" = "Retrospektive Korrektur"; + +/* The title of the notification action to retry a bolus command */ +"Retry" = "Wiederholen"; + +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "Sensorkalibrierung ist OK"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "Sensor ist in unbekanntem Zustand %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "Sensor ist gestoppt"; + +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "Sensor erwärmt sich"; + +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "Sensor benötigt Kalibrierung"; + +/* The title of the Dexcom share server URL credential */ +"Server" = "Server"; + +/* The title of the services section in settings */ +"Services" = "Services"; + +/* The label of the settings button */ +"Settings" = "Einstellungen"; + +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "Zeigt den letzten Loopfehler an"; + +/* Format fragment for a start time */ +"since %@" = "seit %@"; + +/* The title of the nightscout site URL credential */ +"Site URL" = "Seiten-URL"; + +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; + +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "Start Bolus"; + +/* The title text in settings */ +"Suspend Threshold" = "Suspend-Schwellenwert"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Das Legacy-Modell, das von Loop verwendet wird und die Anpassung der Aktionsdauer ermöglicht."; + +/* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ +"The maximum bolus amount is %@ Units" = "Die maximale Bolusmenge beträgt %@ Einheiten"; + +/* Instructions on where to find the transmitter ID */ +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "Die Sender-ID finden Sie auf der Rückseite des Geräts, auf der Seite der Box, in der es geliefert wurde, und in den Einstellungsmenüs des G5/G6-Empfängers und der mobilen App."; + +/* The description of the switch which toggles retrospective correction effects */ +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Dies wird die basale Abgabe aggressiver erhöhen oder verringern, wenn die Glukosebewegung nicht mit dem Kohlenhydrat- und Insulin-basierten Modell übereinstimmt."; + +/* The title text for the Dexcom G5/G6 transmitter ID config value */ +"Transmitter ID" = "Sender-ID"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* U.S. share server option title */ +"US" = "DE"; + +/* The title of the alert controller used to select a duration for workout targets */ +"Use Workout Glucose Targets" = "Verwenden Training Glucose Targets"; + +/* The title of the Dexcom share username credential */ +"Username" = "Nutzername"; + +/* Label indicating validation is occurring */ +"Verifying" = "Überprüfen"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Wenn die aktuelle oder prognostizierte Glukose unter dem Schwellenwert für die Aufhebung liegt, empfiehlt Loop keinen Bolus und empfiehlt immer eine temporäre Basalrate von 0 Einheiten pro Stunde."; + +/* The label of the workout mode toggle button */ +"Workout Targets" = "Training Glucose Targets"; + diff --git a/Loop/de.lproj/Main.strings b/Loop/de.lproj/Main.strings new file mode 100644 index 0000000000..d26b9714d1 --- /dev/null +++ b/Loop/de.lproj/Main.strings @@ -0,0 +1,147 @@ +/* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ +"3kU-n2-fha.title" = "Status"; + +/* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ +"5gz-kZ-iF1.text" = "3,5 E/St @ 12:12 PM"; + +/* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ +"5oA-6d-ZTL.text" = "Bolus"; + +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "Pumpen-ID"; + +/* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.accessibilityLabel" = "Bolusmenge"; + +/* Class = "UITextField"; placeholder = "0.0"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.placeholder" = "0.0"; + +/* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ +"87H-N1-0vJ.text" = "Vorhergesagt"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ +"aCb-Qs-bpu.text" = "Detail"; + +/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ +"aiu-ZA-zVa.title" = "Bolus"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Titel"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ +"bIL-Ub-qYp.text" = "Beschriftung"; + +/* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ +"bq4-98-cQU.text" = "Glucose-Änderung"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "Einheiten"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "E"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ +"cpo-Po-gFM.text" = "Beschriftung"; + +/* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ +"d3X-AN-tA5.text" = "g Insgesamt"; + +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "Zukünftige Glukose wird vorhergesagt, indem die Effekte mehrerer Eingaben kombiniert werden. Verwenden Sie dieses Tool, um verschiedene Eingaben umzuschalten, um zu sehen, wie sie mit der endgültigen Vorhersage verglichen werden."; + +/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ +"d6m-qV-wWi.text" = "Beschriftung"; + +/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ +"dmB-PQ-B44.title" = "Einstellungen"; + +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "Geräte"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "schließlich 92 mg/dL"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Beobachtete"; + +/* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ +"hHZ-uY-aKw.text" = "Aktive Kohlenhydrate: 40g"; + +/* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ +"hZZ-2S-lrd.title" = "Kohlenhydrat-Effekte"; + +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Beobachtete Änderungen in Glukose, subtrahierende Veränderungen, die aus der Insulinabgabe modelliert wurden, können verwendet werden, um die Kohlenhydratabsorption zu schätzen."; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Detail"; + +/* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ +"k0g-P7-OVN.text" = "⚠ Glukose Vorhergesagt Bereich"; + +/* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ +"k3F-Na-7mn.text" = "Empfohlen Basal"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Beschriftung"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ +"l7l-mw-Oc9.text" = "Beschriftung"; + +/* Class = "UILabel"; text = "Tap to set"; ObjectID = "m9c-SQ-djE"; */ +"m9c-SQ-djE.text" = "Tippen, um festzulegen"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.accessibilityLabel" = "Einheiten"; + +/* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.text" = "E"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Beschriftung"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Die Vorhergesagte Glukose"; + +/* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ +"pi6-Dh-72V.title" = "Insulin-Modell"; + +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "Ein Insulinaktivitätsmodell wird verwendet, um die Wirkungen von Insulin auf den Glucosespiegel abzuschätzen. Ein genaues Modell kann dazu beitragen, Insulinstapelung zu verhindern und korrigierende Behandlungen sicher zu empfehlen."; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "schließlich 92 mg/dL"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "g KaB"; + +/* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ +"tuw-av-A3x.text" = "Glukose"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "ufi-Kj-33k"; */ +"ufi-Kj-33k.text" = "Beschriftung"; + +/* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ +"viU-7a-kbI.text" = "Aktives Insulin: 1,5E"; + +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Kohlenhydrate"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 Stunden"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Verwalten"; + +/* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ +"yn7-2M-jZz.text" = "0"; + +/* Class = "UILabel"; text = "Recommended"; ObjectID = "ywT-OR-NnU"; */ +"ywT-OR-NnU.text" = "Empfohlen"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "zbc-87-wxZ"; */ +"zbc-87-wxZ.text" = "Titel"; + +/* Class = "UILabel"; text = "0"; ObjectID = "zvZ-uf-zMX"; */ +"zvZ-uf-zMX.text" = "0"; + diff --git a/Loop/es.lproj/InfoPlist.strings b/Loop/es.lproj/InfoPlist.strings index 84e8f22363..e30c655ce3 100644 --- a/Loop/es.lproj/InfoPlist.strings +++ b/Loop/es.lproj/InfoPlist.strings @@ -1,15 +1,18 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "Loop"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; -/* (No Comment) */ +/* Privacy - Bluetooth Peripheral Usage Description */ "NSBluetoothPeripheralUsageDescription" = "Bluetooth se utiliza para las comunicaciones con la microinfusora y los dispositivos de monitoreo continuo de glucosa."; -/* (No Comment) */ -"NSHealthShareUsageDescription" = "Datos de alimentos de la base de datos de Salud se utiliza para determinar los efectos en el nivel de glucosa. Datos de glucosa de la bsase de datos de Salud se utilizan para graficar y determinar cálculos de momentum."; +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "Se utiliza reconocimiento facial para autenticar el bolo de insulina."; -/* (No Comment) */ +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "Datos de alimentos de la base de datos de Salud se utiliza para determinar los efectos en el nivel de glucosa. Datos de glucosa de la bsase de datos de Salud se utilizan para graficar y determinar cálculos de momento."; + +/* Privacy - Health Update Usage Description */ "NSHealthUpdateUsageDescription" = "Datos de alimentos ingresados en la aplicación y en el reloj son almacenados en la base de datos de Salud. Los datos de glucosa extraídos del monitor continuo de glucosa se almacenan de manera segura en Kit de Salud."; diff --git a/Loop/es.lproj/Localizable.strings b/Loop/es.lproj/Localizable.strings index 7ac2f32ff5..0e47586269 100644 --- a/Loop/es.lproj/Localizable.strings +++ b/Loop/es.lproj/Localizable.strings @@ -1,8 +1,17 @@ /* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ " (pending: %@)" = "(pendiente: %@)"; -/* Format string for current suspend threshold. (1: value)(2: bg unit) */ -"%1$@ %2$@" = "%1$@ %2$@"; +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ absorbidos"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ U Totales"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; /* Format string for carb ratio average. (1: value)(2: carb unit) Format string for insulin sensitivity average (1: value)(2: glucose unit) */ @@ -23,20 +32,11 @@ /* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ "%1$@ v%2$@" = "%1$@ v%2$@"; -/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ -"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; - -/* Format string describing glucose units per minute (1: glucose unit string) */ -"%1$@/min" = "%1$@/min"; - /* Formats (1: carb value) and (2: food type) */ "%1$@: %2$@" = "%1$@: %2$@"; -/* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ U Totales"; - -/* Formats absorbed carb value */ -"%@ absorbed" = "%@ absorbidos"; +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; /* Description of the prediction input effect for glucose momentum */ "15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "Coeficiente de regresión de glucosa de 15 minutos (b₁), continuado con decadencia sobre 30 minutos."; @@ -50,9 +50,6 @@ /* Subtitle of Rapid-Acting – Adult preset */ "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modelo basado en la publicación de la absorción de insulina Humalog, Novolog y Apidra en adultos."; -/* The title of the nightscout API secret credential */ -"API Secret" = "API secreto"; - /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AceptarBoloRecomendado"; @@ -74,17 +71,29 @@ /* The label of the carb entry button */ "Add Meal" = "Agregar Alimento"; +/* Title text for button to set up a new pump */ +"Add Pump" = "Agregar Microinfusora"; + /* The title of the section containing algorithm settings */ "Algorithm Settings" = "Ajustes de Algoritmo"; -/* Instructions on selecting battery chemistry type */ -"Alkaline and Lithium batteries decay at differing rates. Alkaline tend to have a linear voltage drop over time whereas lithium cell batteries tend to maintain voltage until halfway through their lifespan. Under normal usage in a Non-MySentry compatible Minimed (x22/x15) insulin pump running Loop, Alkaline batteries last approximately 4 to 5 days. Lithium batteries last between 1-2 weeks. This selection will use different battery voltage decay rates for each of the battery chemistry types and alert the user when a battery is approximately 8 to 10 hours from failure." = "Las baterías alcalinas y de litio se degradan en ritmos distintos. La alcalinas tienden a tener una baja de voltaje linear en el tiempo mientras que las de litio tienden a mantener un voltaje hasta que pasan la mitad de su tiempo de vida. Bajo condiciones normales en una micro-infusora no compatible con MySentry ( x22/x15) siendo utilizado con Loop, las baterías alcalinas durarán aproximadamente de 4 a 5 días. Las baterías de litio durarán de una a dos semanas. Esta selección utilizará diferentes rangos de decadencia para el voltaje de cada una de las bataerías y alertará al usuario cuando la batería tenga aproximadamente de 8 a 10 horas restantes de vida."; +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; /* Subtitle of Rapid-Acting – Children preset */ "An adjustment to the adult model based on empirical effects in children." = "Un ajuste al modelo adulto basado en los efectos empíricos en niños."; +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API secreto"; + +/* Format fragment for a specific time */ +"at %@" = "a %@"; + /* The message displayed during a device authentication prompt for bolus specification */ -"Authenticate to Bolus %@ Units" = "Autentificar para Bolo"; +"Authenticate to Bolus %@ Units" = "Autentificar para Bolo %@ Unidades"; /* The title of the basal rate profile screen The title text for the basal rate schedule */ @@ -119,6 +128,9 @@ /* The title of the configuration section in settings */ "Configuration" = "Configuración"; +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Configuration Error: %1$@"; + /* The title of the continuous glucose monitor section in settings */ "Continuous Glucose Monitor" = "Monitor de glucosa continuo"; @@ -132,39 +144,33 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Token de Usuario"; -/* The title of the mLab database name credential */ -"Database" = "Base de datos"; +/* The short unit display string for decibles */ +"dB" = "dB"; /* The title of the button to remove the credentials for a service */ "Delete Account" = "Eliminar Cuenta"; +/* Title text for delivery limits */ +"Delivery Limits" = "Límites de Dosificación"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "Dexcom Share"; + /* The action hint of the workout mode toggle button when enabled */ "Disables" = "Inhabilita"; /* Title of the switch which toggles retrospective correction effects */ "Enable Retrospective Correction" = "Habilitar corrección retrospectiva"; -/* The detail text describing an enabled setting */ -"Enabled" = "Habilita"; - /* The action hint of the workout mode toggle button when disabled */ "Enables" = "Habilita"; -/* The placeholder text instructing users how to enter a maximum bolus */ -"Enter a number of units" = "Ingrese número de unidades"; - -/* The placeholder text instructing users how to enter a maximum basal rate */ -"Enter a rate in units per hour" = "Ingrese relación de unidades por hora"; - /* The placeholder text instructing users to enter a suspend treshold */ "Enter suspend threshold" = "Ingrese nivel de suspensión"; -/* The placeholder text instructing users how to enter a pump ID */ +/* The placeholder text instructing users how to enter a transmitter ID */ "Enter the 6-digit transmitter ID" = "Ingrese ID de 6 dígitios de transmisor"; -/* Describing the pump history insulin data source */ -"Event History" = "Historia de eventos"; - /* The subtitle format describing eventual glucose. (1: localized glucose value description) */ "Eventually %@" = "Eventualmente %@"; @@ -177,21 +183,30 @@ /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Por %1$@"; +/* The short unit display string for grams */ +"g" = "g"; + /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "Receptor G4 Share"; -/* The title text for the G5 Transmitter switch cell */ +/* The title text for the G5/G6 Transmitter switch cell */ "G5/G6 Transmitter" = "Transmisor G5/G6"; /* The title of the glucose and prediction graph */ "Glucose" = "Glucosa"; -/* Title of the prediction input effect for glucose momentum */ -"Glucose Momentum" = "Momenum de Glucosa"; - /* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ "Glucose data is %1$@ old" = "Los datos de glucosa son %1$@ viejos"; +/* Error description for unreliable state */ +"Glucose data is unavailable" = "Los datos de glucosa no están disponibles"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "Momento de Glucosa"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; + /* The title of a target alert action specifying an indefinitely long workout targets duration */ "Indefinitely" = "Indefinidamente"; @@ -211,9 +226,6 @@ The title text for the insulin sensitivity schedule */ "Insulin Sensitivities" = "Sensibilidades a Insulina"; -/* Instructions on selecting an insulin data source */ -"Insulin delivery can be determined from the pump by either interpreting the event history or comparing the reservoir volume over time. Reading event history allows for a more accurate status graph and uploading up-to-date treatment data to Nightscout, at the cost of faster pump battery drain and the possibility of a higher radio error rate compared to reading only reservoir volume. If the selected source cannot be used for any reason, the system will attempt to fall back to the other option." = "La entrega de insulina puede ser determinada por la microinfusora interpretando los eventos históricos o comparando el volúmen del reservorio sobre el tiempo. Leer los eventos históricos permite una gráfica de status mas exacta y permite subir tratamientos actualizados a Nightscout, con el costo de una menor duración de la batería y la posiblidad de mayores errores de radio comparado con leer solamente el volúmen del reservorio. Si la fuente seleccionada no puede utilizarse por algún motivo, el sistema intentará utilizar la otra opción."; - /* The error message when invalid data was encountered. (1: details of invalid data) */ "Invalid data: %1$@" = "Datos no válidos: %1$@"; @@ -238,18 +250,18 @@ /* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ "Loop has not completed successfully in %@" = "Loop no ha terminado correctamente en %@"; -/* The description of a low G5 transmitter battery with a leading space */ +/* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Batería Baja"; -/* The title text for the maximum basal rate value */ -"Maximum Basal Rate" = "Perfil Basal Máximo"; - -/* The title text for the maximum bolus value */ -"Maximum Bolus" = "Bolo Máximo"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Faltan Datos: %1$@"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Sensor state description for the non-valid state */ "Needs Attention" = "Necesita Atención"; @@ -277,20 +289,14 @@ /* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ "Predicted glucose of %1$@ is below your suspend threshold setting." = "Glucosa prevista de %1$@ se encuentra por debajo de su nivel de suspensión."; -/* The title text for the preferred insulin data source config */ -"Preferred Data Source" = "Fuente de datos preferida"; - /* The title of the pump section in settings */ "Pump" = "Microinfusora"; /* The notification title for a low pump battery */ "Pump Battery Low" = "Batería de Microinfusora Baja"; -/* The title text for the battery type value */ -"Pump Battery Type" = "Tipo de Batería de Microinfusora"; - -/* The title text for the pump ID config value */ -"Pump ID" = "ID de Microinfusora"; +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Los datos de la microinfusora son %1$@ viejos"; /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "Reservorio de Microinfusora Vacío"; @@ -298,9 +304,6 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Reservorio de Microinfusora Bajo"; -/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ -"Pump data is %1$@ old" = "Los datos de la microinfusora son %1$@ viejos"; - /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; @@ -322,9 +325,6 @@ /* The default placeholder string for a credential */ "Required" = "Requerido"; -/* Describing the reservoir insulin data source */ -"Reservoir" = "Reservorio"; - /* Title of the prediction input effect for retrospective correction */ "Retrospective Correction" = "Corrección Retrospectiva"; @@ -358,6 +358,9 @@ /* Loop Completion HUD accessibility hint */ "Shows last loop error" = "Muestra último error de Loop"; +/* Format fragment for a start time */ +"since %@" = "desde %@"; + /* The title of the nightscout site URL credential */ "Site URL" = "URL de Sitio"; @@ -365,14 +368,11 @@ "Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; /* The title of the cell indicating a bolus is being sent */ -"Starting Bolus" = "Bolo Inicial"; +"Starting Bolus" = "Comenzando Bolo"; /* The title text in settings */ "Suspend Threshold" = "Nivel de Suspensión"; -/* The empty-state text for a configuration value */ -"Tap to set" = "Toca para definir"; - /* Subtitle description of Walsh insulin model setting */ "The legacy model used by Loop, allowing customization of action duration." = "El model utilizado por ediciones iniciales de Loop, permite ajustar duración de acción."; @@ -385,18 +385,15 @@ /* The description of the switch which toggles retrospective correction effects */ "This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Esto incrementará o decrementará mas agresivamente la entrega de basales cuando el movimiento de glucosa no concuerde con el modelo de insulina y carbohidratos."; -/* The title text for the Dexcom G5 transmitter ID config value */ +/* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "ID de Transmisor"; -/* The unit string for units per hour */ -"U/hour" = "U/hora"; +/* The short unit display string for international units of insulin */ +"U" = "U"; /* U.S. share server option title */ "US" = "EEUU"; -/* The unit string for units */ -"Units" = "Unidades"; - /* The title of the alert controller used to select a duration for workout targets */ "Use Workout Glucose Targets" = "Utilice Objetivos de Glucosa de Ejercicio"; @@ -415,18 +412,3 @@ /* The label of the workout mode toggle button */ "Workout Targets" = "Objetivos de Ejercicio"; -/* Format fragment for a specific time */ -"at %@" = "a %@"; - -/* The placeholder text for the nightscout site URL credential */ -"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; - -/* The title of the mLab service */ -"mLab" = "mLab"; - -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; - -/* Format fragment for a start time */ -"since %@" = "desde %@"; - diff --git a/Loop/es.lproj/Main.strings b/Loop/es.lproj/Main.strings index 0bcb633721..1f3057f308 100644 --- a/Loop/es.lproj/Main.strings +++ b/Loop/es.lproj/Main.strings @@ -1,15 +1,15 @@ /* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ "3kU-n2-fha.title" = "Estatus"; -/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ -"5TX-kX-nBo.text" = "ID de Microinfusora"; - /* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ "5gz-kZ-iF1.text" = "3.5 U/hora @ 12:12 PM"; /* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ "5oA-6d-ZTL.text" = "Bolo"; +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "ID de Microinfusora"; + /* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ "7LT-50-ZzK.accessibilityLabel" = "Cantidad de Bolo"; @@ -19,93 +19,72 @@ /* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ "87H-N1-0vJ.text" = "Proyectada"; -/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ -"BR0-dr-Fj2.accessibilityLabel" = "Unidades"; - -/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ -"BR0-dr-Fj2.text" = "U"; - -/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ -"D4C-I2-dhA.text" = "La glucosa futura se predice combinando los efectos de diversas entradada de datos. Utiliza esta herramienta para cambiar datos de entrada y ver como varía la predicción final."; - -/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ -"DyC-Sv-qP8.text" = "DISPOSITIVOS"; - -/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ -"E41-FN-nkk.text" = "eventualmente 92 mg/dL"; - -/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ -"EAn-Ja-S1d.text" = "Observado"; - -/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ -"IxU-As-glo.text" = "Los cambios observados en glucosa sustrayendo los cambios modelados para la entrega de insulina pueden ser utilizados para estimar la absorción de carbohidratos."; - -/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ -"J7x-W5-gwo.text" = "Detalle"; - -/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ -"Krd-Aa-ret.text" = "Etiqueta"; - -/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ -"OFA-qT-ZAg.text" = "Etiqueta"; - -/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ -"PA3-sP-cWY.title" = "Glucosa Proyectada"; - -/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ -"PJv-p9-cFe.text" = "Un modelo de actividad de insulin se utiliza para calcular los efectos de ésta en los niveles glucémicos. La precision del modelo puede ayudar a prevenir la acumulación de insulina y a hacer recomendaciones de tratamientos de corrección más seguros."; - -/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ -"Rse-x8-amW.text" = "eventualmente 92 mg/dL"; - -/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ -"SQx-au-ZcM.text" = "gr CAB"; - -/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ -"Vpi-5b-bY5.title" = "Carbohidratos"; - -/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ -"Wk3-xv-IM5.text" = "4 horas"; - -/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ -"Ya0-9b-ZAS.normalTitle" = "Administración"; - /* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ "aCb-Qs-bpu.text" = "Detalle"; /* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ "aiu-ZA-zVa.title" = "Bolo"; +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Título"; + /* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ "bIL-Ub-qYp.text" = "Etiqueta"; /* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ "bq4-98-cQU.text" = "Cambio de Glucosa"; +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "Unidades"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "U"; + /* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ "cpo-Po-gFM.text" = "Etiqueta"; /* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ "d3X-AN-tA5.text" = "gr Totales"; +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "La glucosa futura se predice combinando los efectos de diversas entradada de datos. Utiliza esta herramienta para cambiar datos de entrada y ver como varía la predicción final."; + /* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ "d6m-qV-wWi.text" = "Etiqueta"; /* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ "dmB-PQ-B44.title" = "Ajustes"; +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "DISPOSITIVOS"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "eventualmente 92 mg/dL"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Observado"; + /* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ "hHZ-uY-aKw.text" = "Carbohidratos Activos: 40gr"; /* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ "hZZ-2S-lrd.title" = "Efecto de Carbohidratos"; +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Los cambios observados en glucosa sustrayendo los cambios modelados para la entrega de insulina pueden ser utilizados para estimar la absorción de carbohidratos."; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Detalle"; + /* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ "k0g-P7-OVN.text" = "⚠ Glucosa Proyectada Por Debajo Del Rango."; /* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ "k3F-Na-7mn.text" = "Basal Recomendada"; +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Etiqueta"; + /* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ "l7l-mw-Oc9.text" = "Etiqueta"; @@ -118,9 +97,24 @@ /* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ "mVz-dr-xLU.text" = "U"; +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Etiqueta"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Glucosa Proyectada"; + /* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ "pi6-Dh-72V.title" = "Modelo de Insulina"; +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "Un modelo de actividad de insulin se utiliza para calcular los efectos de ésta en los niveles glucémicos. La precision del modelo puede ayudar a prevenir la acumulación de insulina y a hacer recomendaciones de tratamientos de corrección más seguros."; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "eventualmente 92 mg/dL"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "gr CAB"; + /* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ "tuw-av-A3x.text" = "Glucosa"; @@ -130,6 +124,15 @@ /* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ "viU-7a-kbI.text" = "Insulina Activa: 1.5U"; +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Carbohidratos"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 horas"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Administración"; + /* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ "yn7-2M-jZz.text" = "0"; diff --git a/Loop/fr.lproj/InfoPlist.strings b/Loop/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..796f9060cb --- /dev/null +++ b/Loop/fr.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Loop"; + +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* Privacy - Bluetooth Peripheral Usage Description */ +"NSBluetoothPeripheralUsageDescription" = "Bluetooth est utilisé pour communiquer avec la pompe à insuline et les dispositifs de surveillance continue du glucose."; + +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "ID de visage est utilisé pour authentifier le bolus d'insuline."; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "Les données sur les repas provenant de la base de données Health sont utilisées pour déterminer les effets du glucose. Les données sur la glycémie de la base de données Health sont utilisées pour le calcul graphique et le calcul du momentum."; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "Les données sur les repas glucidiques saisies dans l'application et sur la montre sont stockées dans la base de données Health. Les données de glucose extraites du CGM sont stockées de manière sécurisée dans HealthKit."; + diff --git a/Loop/fr.lproj/LaunchScreen.strings b/Loop/fr.lproj/LaunchScreen.strings new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Loop/fr.lproj/LaunchScreen.strings @@ -0,0 +1 @@ + diff --git a/Loop/fr.lproj/Localizable.strings b/Loop/fr.lproj/Localizable.strings new file mode 100644 index 0000000000..dc9552fd66 --- /dev/null +++ b/Loop/fr.lproj/Localizable.strings @@ -0,0 +1,414 @@ +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = "(En suspen: %@)"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ absorbé"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ U Totaux"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string for carb ratio average. (1: value)(2: carb unit) + Format string for insulin sensitivity average (1: value)(2: glucose unit) */ +"%1$@ %2$@/U" = "%1$@ %2$@/U"; + +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + +/* Low reservoir alert format string. (1: Number of units remaining) */ +"%1$@ U left" = "%1$@ U restantes"; + +/* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ +"%1$@ U left: %2$@" = "%1$@ U restantes: %2$@"; + +/* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ +"%1$@ U/hour @ %2$@" = "%1$@ U/heure @ %2$@"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; + +/* Description of the prediction input effect for glucose momentum */ +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "Coefficient de régression du glucose de 15 minutes (b1), désintégration poursuivi au delà de 30 min."; + +/* Description of the prediction input effect for retrospective correction */ +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "Comparaison sur 30 min de la glycémie Prédiction vs Actuelle, suivie d'une décroissance (decay) sur 60 min."; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Un modèle basé sur l'absorption publiée de l'insuline FIASP."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modèle basé sur l'absorption publiée de l'insuline Humalog, Novolog et Apidra chez l'adulte."; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "AcceptRecommendedBolus"; + +/* The title of the Carbs On-Board graph */ +"Active Carbohydrates" = "Glucides actifs"; + +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "Glucides actifs: %@"; + +/* The title of the Insulin On-Board graph */ +"Active Insulin" = "Insuline active"; + +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "Insuline active: %@"; + +/* The title of the button to add the credentials for a service */ +"Add Account" = "Ajouter un compte"; + +/* The label of the carb entry button */ +"Add Meal" = "Entrer un repas"; + +/* Title text for button to set up a new pump */ +"Add Pump" = "Ajouter une pompe"; + +/* The title of the section containing algorithm settings */ +"Algorithm Settings" = "Paramètres de l'algorithme"; + +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Un ajustement au modèle adulte basé sur des effets empiriques chez les enfants."; + +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Format fragment for a specific time */ +"at %@" = "at %@"; + +/* The message displayed during a device authentication prompt for bolus specification */ +"Authenticate to Bolus %@ Units" = "Authentifier pour effectuer un Bolus %@ Unités"; + +/* The title of the basal rate profile screen + The title text for the basal rate schedule */ +"Basal Rates" = "Taux de basale"; + +/* The label of the bolus entry button + The notification title for a bolus failure */ +"Bolus" = "Bolus"; + +/* The title of the cancel action in an action sheet */ +"Cancel" = "Annuler"; + +/* The title of the carb ratios schedule screen + The title text for the carb ratio schedule */ +"Carb Ratios" = "Ratios Glucides"; + +/* Title of the prediction input effect for carbohydrates */ +"Carbohydrates" = "Glucides"; + +/* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Glucides Absorbés (g) ÷ Ratio Glucides (g/U) x Sensibilité à l'insuline (%1$@/U)"; + +/* The notification alert describing a low pump battery */ +"Change the pump battery immediately" = "Changer immédiatement la pile de la pompe"; + +/* The notification alert describing an empty pump reservoir */ +"Change the pump reservoir now" = "Changer maintenant le réservoir de la pompe"; + +/* The title text for the looping enabled switch cell */ +"Closed Loop" = "Loop Fermé"; + +/* The title of the configuration section in settings */ +"Configuration" = "Configuration"; + +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Erreur de Configuration: %1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "Lecteur de glycémie en continu"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "Plage de correction"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Glycémie actuelle de %1$@ est en dessous de la plage."; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "Token client"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The title of the button to remove the credentials for a service */ +"Delete Account" = "Supprimer le compte"; + +/* Title text for delivery limits */ +"Delivery Limits" = "Limites de Administration"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "Dexcom Share"; + +/* The action hint of the workout mode toggle button when enabled */ +"Disables" = "Désactive"; + +/* Title of the switch which toggles retrospective correction effects */ +"Enable Retrospective Correction" = "Activer Correction Retrospective"; + +/* The action hint of the workout mode toggle button when disabled */ +"Enables" = "Active"; + +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "Entrez le seuil de suspension"; + +/* The placeholder text instructing users how to enter a transmitter ID */ +"Enter the 6-digit transmitter ID" = "Entrez le numéro d'identification (ID) du transmetteur à 6 chiffres"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) */ +"Eventually %@" = "Éventuellement %@"; + +/* The title of the alert describing a maximum bolus validation error */ +"Exceeds Maximum Bolus" = "Dépasse le bolus maximal"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The format string used to describe a finite workout targets duration */ +"For %1$@" = "Pour %1$@"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The title text for the G4 Share Receiver switch cell */ +"G4 Share Receiver" = "Récepteur G4 Share"; + +/* The title text for the G5/G6 Transmitter switch cell */ +"G5/G6 Transmitter" = "Transmetteur G5/G6"; + +/* The title of the glucose and prediction graph */ +"Glucose" = "Glycémie"; + +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "Données de glucose sont vielles de %1$@"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "Les données de glucose ne sont pas disponibles"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "Momentum de glucose"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; + +/* The title of a target alert action specifying an indefinitely long workout targets duration */ +"Indefinitely" = "Indéfiniment"; + +/* Title of the prediction input effect for insulin */ +"Insulin" = "Insuline"; + +/* Description of the prediction input effect for insulin */ +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Insuline absorbée x Facteur de sensibilité à l'insuline (%1$@/U)"; + +/* The title of the insulin delivery graph */ +"Insulin Delivery" = "Administration de l'insuline"; + +/* The title text for the insulin model setting row */ +"Insulin Model" = "Modèle d'insuline"; + +/* The title of the insulin sensitivities schedule screen + The title text for the insulin sensitivity schedule */ +"Insulin Sensitivities" = "Facteurs de sensibilité à l'insuline"; + +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "Données Incorrectes: %1$@"; + +/* The title text for the issue report cell */ +"Issue Report" = "Editer rapport"; + +/* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ +"Last comparison: %1$@ → %2$@ vs %3$@" = "Dernière comparaison: %1$@ → %2$@ vs %3$@"; + +/* Glucose HUD accessibility hint */ +"Launches CGM app" = "Lance Application CGM"; + +/* The loading message for the diagnostic report screen */ +"Loading..." = "Chargement..."; + +/* The title of the loggly service */ +"Loggly" = "Loggly"; + +/* The notification title for a loop failure */ +"Loop Failure" = "Echec Loop"; + +/* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ +"Loop has not completed successfully in %@" = "Loop ne s'est pas complété avec succès depuis %@"; + +/* The description of a low G5/G6 transmitter battery with a leading space */ +"Low Battery" = "Batterie faible"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "Données manquantes: %1$@"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Sensor state description for the non-valid state */ +"Needs Attention" = "Attention Requise"; + +/* The title of the Nightscout service */ +"Nightscout" = "Nightscout"; + +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "Pas d'appareil connecté, ou échec durant la connectionà l'appareil"; + +/* Sensor state description for the valid state */ +"OK" = "OK"; + +/* Outside US share server option title */ +"Outside US" = "À l'extérieur des É.-U."; + +/* The title of the Dexcom share password credential */ +"Password" = "Mot de passe"; + +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "Objectif de Pré-Repas"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Glycémie prévue à %1$@ est %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Prédiction de la glycémie à %1$@ sous le seuil de suspension défini."; + +/* The title of the pump section in settings */ +"Pump" = "Pompe"; + +/* The notification title for a low pump battery */ +"Pump Battery Low" = "Batterie de la pompe faible"; + +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Données de pompe sont vielles de %1$@"; + +/* The notification title for an empty pump reservoir */ +"Pump Reservoir Empty" = "Réservoir de la pompe vide"; + +/* The notification title for a low pump reservoir */ +"Pump Reservoir Low" = "Niveau du réservoir de la pompe bas"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Action Rapide - Adulte"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Action Rapide - Enfant"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "Recommandation expirée: veille de %1$@"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "Basale Recommendée"; + +/* Accessibility hint describing recommended bolus units */ +"Recommended Bolus: %@ Units" = "Bolus Recommendé: %@ Unités"; + +/* The default placeholder string for a credential */ +"Required" = "Nécessaire"; + +/* Title of the prediction input effect for retrospective correction */ +"Retrospective Correction" = "Correction Rétrospective"; + +/* The title of the notification action to retry a bolus command */ +"Retry" = "Nouvel essai"; + +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "Calibration de capteur OK"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "Capteur est dans un état inconnu %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "Capteur est arrêté"; + +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "Capteur est en période de réchauffement"; + +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "Capteur a besoin de calibration"; + +/* The title of the Dexcom share server URL credential */ +"Server" = "Serveur"; + +/* The title of the services section in settings */ +"Services" = "Services"; + +/* The label of the settings button */ +"Settings" = "Options"; + +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "Affiche la dernière erreur de Loop"; + +/* Format fragment for a start time */ +"since %@" = "depuis %@"; + +/* The title of the nightscout site URL credential */ +"Site URL" = "URL du site"; + +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; + +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "Commencer un bolus"; + +/* The title text in settings */ +"Suspend Threshold" = "Seuil de suspension"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Le modèle hérité utilisé par Loop, permettant de personnaliser la durée de l'action."; + +/* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ +"The maximum bolus amount is %@ Units" = "Le bolus maximal est de %@ unités"; + +/* Instructions on where to find the transmitter ID */ +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "L'identifiant de l'émetteur se trouve à l'arrière de l'appareil, sur le côté de la boîte, et dans les menus de réglage du récepteur et de l'application mobile."; + +/* The description of the switch which toggles retrospective correction effects */ +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Cela augmentera ou diminuera plus agressivement l'accouchement basal lorsque le mouvement du glucose ne correspond pas au modèle à base de glucides et d'insuline."; + +/* The title text for the Dexcom G5/G6 transmitter ID config value */ +"Transmitter ID" = "ID du transmetteur"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* U.S. share server option title */ +"US" = "É.-U."; + +/* The title of the alert controller used to select a duration for workout targets */ +"Use Workout Glucose Targets" = "Utiliser les objectifs d'entraînement"; + +/* The title of the Dexcom share username credential */ +"Username" = "Nom d'utilisateur"; + +/* Label indicating validation is occurring */ +"Verifying" = "En train de vérifier"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Lorsque le glucose actuel ou prévu est inférieur au seuil de suspension, Loop ne recommandera pas de bolus et recommandera toujours un débit basal temporaire de 0 unité par heure."; + +/* The label of the workout mode toggle button */ +"Workout Targets" = "Objectifs d'entraînement"; + diff --git a/Loop/fr.lproj/Main.strings b/Loop/fr.lproj/Main.strings new file mode 100644 index 0000000000..0614a69d95 --- /dev/null +++ b/Loop/fr.lproj/Main.strings @@ -0,0 +1,147 @@ +/* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ +"3kU-n2-fha.title" = "Statut"; + +/* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ +"5gz-kZ-iF1.text" = "3.5 U/h @ 12:12 PM"; + +/* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ +"5oA-6d-ZTL.text" = "Bolus"; + +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "ID de la pompe"; + +/* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.accessibilityLabel" = "Quantité de bolus"; + +/* Class = "UITextField"; placeholder = "0.0"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.placeholder" = "0.0"; + +/* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ +"87H-N1-0vJ.text" = "Prédit"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ +"aCb-Qs-bpu.text" = "Détail"; + +/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ +"aiu-ZA-zVa.title" = "Bolus"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Titre"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ +"bIL-Ub-qYp.text" = "Étiquette"; + +/* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ +"bq4-98-cQU.text" = "Variation de la glycémie"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "Unités"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "U"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ +"cpo-Po-gFM.text" = "Étiquette"; + +/* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ +"d3X-AN-tA5.text" = "g Totaux"; + +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "La glycémie future est prédite en combinant les effets de plusieurs facteurs. Utilisez cet outils pour changer différents facteurs afin d'observer leur impact sur la prédiction finale."; + +/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ +"d6m-qV-wWi.text" = "Étiquette"; + +/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ +"dmB-PQ-B44.title" = "Paramètres"; + +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "Dispositifs"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "Éventuellement 92 mg/dL"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Observé"; + +/* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ +"hHZ-uY-aKw.text" = "Glucides actifs: 40g"; + +/* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ +"hZZ-2S-lrd.title" = "Effets des glucides"; + +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Les variations observées dans la glycémie, soustrayant les variations modélisées d'administration d'insuline peuvent être utilisées pour estimer l'absoption des glucides."; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Détail"; + +/* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ +"k0g-P7-OVN.text" = "⚠ Glycémie prédite sous plage objectif"; + +/* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ +"k3F-Na-7mn.text" = "Basale Recommendée"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Étiquette"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ +"l7l-mw-Oc9.text" = "Étiquette"; + +/* Class = "UILabel"; text = "Tap to set"; ObjectID = "m9c-SQ-djE"; */ +"m9c-SQ-djE.text" = "Appuyez pour définir"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.accessibilityLabel" = "Unités"; + +/* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.text" = "U"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Étiquette"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Glycémie prédite"; + +/* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ +"pi6-Dh-72V.title" = "Modèle d'insuline"; + +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "Un modèle de l'activité de l'insuline est utilisé pour estimer les effets de l'insuline sur le niveau de la glycémie. Un modèle fiable peut aider à empêcher un empillement d'insuline et recommender des traitements correctifs en toute sécurité."; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "Éventuellement 92 mg/dL"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "g COB"; + +/* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ +"tuw-av-A3x.text" = "Glycémie"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "ufi-Kj-33k"; */ +"ufi-Kj-33k.text" = "Étiquette"; + +/* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ +"viU-7a-kbI.text" = "Insuline active: 1.5U"; + +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Glucides"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 heure"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Administrer"; + +/* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ +"yn7-2M-jZz.text" = "0"; + +/* Class = "UILabel"; text = "Recommended"; ObjectID = "ywT-OR-NnU"; */ +"ywT-OR-NnU.text" = "Recommendé"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "zbc-87-wxZ"; */ +"zbc-87-wxZ.text" = "Titre"; + +/* Class = "UILabel"; text = "0"; ObjectID = "zvZ-uf-zMX"; */ +"zvZ-uf-zMX.text" = "0"; + diff --git a/Loop/it.lproj/InfoPlist.strings b/Loop/it.lproj/InfoPlist.strings index dc49399421..eebd32a20a 100644 --- a/Loop/it.lproj/InfoPlist.strings +++ b/Loop/it.lproj/InfoPlist.strings @@ -1,2 +1,18 @@ -/* (No Commment) */ +/* Bundle display name */ "CFBundleDisplayName" = "Loop"; + +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* Privacy - Bluetooth Peripheral Usage Description */ +"NSBluetoothPeripheralUsageDescription" = "Il Bluetooth viene utilizzato per comunicare con il microinfusore e i dispositivi CGM."; + +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "Face ID viene utilizzato per autenticare il bolo."; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "I dati sui pasti dal database Salute vengono utilizzati per determinare gli effetti del glucosio. I dati del glucosio del database Salute vengono utilizzati per il calcolo del grafico della glicemia."; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "I dati sui carboidrati inseriti nell'app e sull'orologio sono memorizzati nel database Salute. I dati relativi al glucosio recuperati dal CGM vengono memorizzati in modo sicuro in Salute."; + diff --git a/Loop/it.lproj/LaunchScreen.strings b/Loop/it.lproj/LaunchScreen.strings new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Loop/it.lproj/LaunchScreen.strings @@ -0,0 +1 @@ + diff --git a/Loop/it.lproj/Localizable.strings b/Loop/it.lproj/Localizable.strings index 6d1f6cea4b..9c5c0c2970 100644 --- a/Loop/it.lproj/Localizable.strings +++ b/Loop/it.lproj/Localizable.strings @@ -1,79 +1,99 @@ +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = " (prevista l'erogazione di: %@)"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ assorbiti"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ U Totali"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + /* Format string for carb ratio average. (1: value)(2: carb unit) Format string for insulin sensitivity average (1: value)(2: glucose unit) */ "%1$@ %2$@/U" = "%1$@ %2$@/U"; +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + /* Low reservoir alert format string. (1: Number of units remaining) */ -"%1$@ U left" = "%1$@ U left"; +"%1$@ U left" = "%1$@ U residue"; /* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ -"%1$@ U left: %2$@" = "%1$@ U left: %2$@"; +"%1$@ U left: %2$@" = "%1$@ U residue: %2$@"; /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ U/ora @ %2$@"; -/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ -"%1$@ at %2$@" = "%1$@ a %2$@"; - -/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ -"%1$@ units per hour at %2$@" = "%1$@ unità per ora a %2$@"; - -/* Accessibility format string for (1: localized volume)(2: time) */ -"%1$@ units remaining at %2$@" = "%1$@ unità residua a %2$@"; - /* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ "%1$@ v%2$@" = "%1$@ v%2$@"; -/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ -"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; - -/* The format string describing the basal rate. */ -"%@ U" = "%@ U"; - -/* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ U Totali"; - -/* The notification alert describing a possible bolus failure. The substitution parameter is the size of the bolus in units. */ -"%@ U bolus may have failed." = "%@ U bolo potrebbe essere fallito."; - -/* Format string describing the time interval since the last completion date. (1: The localized date components */ -"%@ ago" = "%@ fa"; +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; -/* Format string for reservoir volume. (1: The localized volume) */ -"%@U" = "%@U"; +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; /* Description of the prediction input effect for glucose momentum */ -"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15 min coefficiente di regressione del glucosio (b₁), prosegue con decadimento sopra 30 min"; +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "Coefficiente di regressione del glucosio a 15 min (b₁), interpolato con il decadimento a 30 min."; /* Description of the prediction input effect for retrospective correction */ -"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 min confronto di previsione del glucosio vs reale, prosegue con decadimento sopra 60 min"; +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "Confronto della previsione della glicemia a 30 min vs reale, interpolato con il decadimento sino a 60 min."; -/* The title of the amplitude API key credential - The title of the mLab API Key credential */ -"API Key" = "API Key"; +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Modello basato sull'assorbimento dell'insulina Fiasp."; -/* The title of the nightscout API secret credential */ -"API Secret" = "API Secret"; +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Modello basato sull'assorbimento dell'insulina Humalog, Novorapid e Apidra negli adulti."; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "AccettaBoloConsigliato"; /* The title of the Carbs On-Board graph */ "Active Carbohydrates" = "Carboidrati Attivi"; +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "Carboidrati Attivi: %@"; + /* The title of the Insulin On-Board graph */ "Active Insulin" = "Insulina Attiva"; +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "Insulina Attiva: %@"; + /* The title of the button to add the credentials for a service */ "Add Account" = "Aggiungi Account"; /* The label of the carb entry button */ "Add Meal" = "Aggiungi Pasto"; +/* Title text for button to set up a new pump */ +"Add Pump" = "Aggiungi Microinfusore"; + /* The title of the section containing algorithm settings */ "Algorithm Settings" = "Impostazioni Algoritmo"; /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Adattamento del modello per adulti basato su effetti empirici nei bambini."; + +/* The title of the amplitude API key credential */ +"API Key" = "Chiave API"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Format fragment for a specific time */ +"at %@" = "a %@"; + /* The message displayed during a device authentication prompt for bolus specification */ -"Authenticate to Bolus %@ Units" = "Autenticazione dei Boli %@ Unità"; +"Authenticate to Bolus %@ Units" = "Autenticati per eseguire il bolo di %@ Unità"; /* The title of the basal rate profile screen The title text for the basal rate schedule */ @@ -83,111 +103,112 @@ The notification title for a bolus failure */ "Bolus" = "Bolo"; -/* The title of the alert controller displayed after a bolus attempt fails */ -"Bolus Failed" = "Bolo Fallito"; - /* The title of the cancel action in an action sheet */ "Cancel" = "Cancella"; /* The title of the carb ratios schedule screen The title text for the carb ratio schedule */ -"Carb Ratios" = "Rapporti g/U"; +"Carb Ratios" = "Rapp. Carb:Insulina"; /* Title of the prediction input effect for carbohydrates */ "Carbohydrates" = "Carboidrati"; /* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ -"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Carbs Assorbiti (g) ÷ Carb Rapporti (g/U) × Sensibilità Insulinica (%1$@/U)"; +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Carboidrati Assorbiti (g) ÷ Rapporto carboidrati/insulina (g/U) × Sensibilità Insulinica (%1$@/U)"; /* The notification alert describing a low pump battery */ -"Change the pump battery immediately" = "Cambiare immediatamente la batteria della pompa"; +"Change the pump battery immediately" = "Cambiare immediatamente la batteria del microinfusore"; /* The notification alert describing an empty pump reservoir */ -"Change the pump reservoir now" = "Cambiare il serbatoio della pompa"; +"Change the pump reservoir now" = "Cambiare il serbatoio del microinfusore"; /* The title text for the looping enabled switch cell */ "Closed Loop" = "Loop Chiuso"; -/* Accessibility hint describing completion HUD for a closed loop */ -"Closed loop" = "Loop chiuso"; - /* The title of the configuration section in settings */ "Configuration" = "Configurazione"; -/* The title of the mLab database name credential */ -"Database" = "Database"; +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Errore di configurazione: %1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "CGM: Monitoraggio Continuo Glicemia"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "Intervallo Glicemico"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "L'attuale valore glicemico di %1$@ e' inferiore al valore inferiore del target glicemico."; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "Token dell'utente"; + +/* The short unit display string for decibles */ +"dB" = "dB"; /* The title of the button to remove the credentials for a service */ "Delete Account" = "Cancella Account"; +/* Title text for delivery limits */ +"Delivery Limits" = "Limiti Erogazione"; + /* The title of the Dexcom Share service */ "Dexcom Share" = "Dexcom Share"; /* The action hint of the workout mode toggle button when enabled */ "Disables" = "Disabilitato"; -/* The action button title to dismiss an error message */ -"Dismiss" = "Rimuovere"; - /* Title of the switch which toggles retrospective correction effects */ "Enable Retrospective Correction" = "Abilita Correzione Retrospettiva"; -/* The detail text describing an enabled setting */ -"Enabled" = "Abilita"; - /* The action hint of the workout mode toggle button when disabled */ "Enables" = "Abilita"; -/* The placeholder text instructing users how to enter an insulin action duration */ -"Enter a number of hours" = "Inserire un numero di ore"; +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "Inserisci il valore minimo sotto al quale l'erogazione e' sospesa"; -/* The placeholder text instructing users how to enter a maximum bolus */ -"Enter a number of units" = "Inserire un numero di unità"; - -/* The placeholder text instructing users how to enter a maximum basal rate */ -"Enter a rate in units per hour" = "Inserire un tasso di unità per ora"; - -/* The placeholder text instructing users how to enter a pump ID */ -"Enter the 6-digit transmitter ID" = "Inserire 6-numeri ID trasmettitore"; - -/* Describing the pump history insulin data source */ -"Event History" = "Cronologia Eventi"; +/* The placeholder text instructing users how to enter a transmitter ID */ +"Enter the 6-digit transmitter ID" = "Inserire l'ID del trasmettitore composto da 6 caratteri"; /* The subtitle format describing eventual glucose. (1: localized glucose value description) */ "Eventually %@" = "Probabile Glic. %@"; /* The title of the alert describing a maximum bolus validation error */ -"Exceeds Maximum Bolus" = "Superare Bolo Massimo"; - -/* Glucose trend down */ -"Falling" = "Abbassamento"; - -/* Glucose trend down-down */ -"Falling fast" = "Abbassamento veloce"; +"Exceeds Maximum Bolus" = "Valore superiore al Bolo Massimo"; -/* Glucose trend down-down-down */ -"Falling very fast" = "Abbassamento molto veloce"; - -/* Glucose trend flat */ -"Flat" = "Piatto"; +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Per %1$@"; -/* The title text for the G4 Share Receiver enabled switch cell */ +/* The short unit display string for grams */ +"g" = "g"; + +/* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "G4 Ricevitore Share"; -/* The title text for the Dexcom G5 transmitter ID config value */ -"G5/G6 Transmitter ID" = "G5/G6 ID Trasmettitore"; +/* The title text for the G5/G6 Transmitter switch cell */ +"G5/G6 Transmitter" = "G5/G6 ID Trasmettitore"; /* The title of the glucose and prediction graph */ "Glucose" = "Glicemie"; +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "L'ultimo valore glicemico e' di %1$@ fa"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "I dati sulla glicemia non sono disponibili"; + /* Title of the prediction input effect for glucose momentum */ -"Glucose Momentum" = "Glicemia Effetto"; +"Glucose Momentum" = "Effetto Glicemico"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; /* The title of a target alert action specifying an indefinitely long workout targets duration */ -"Indefinitely" = "Indefinitivamente"; +"Indefinitely" = "Per sempre"; /* Title of the prediction input effect for insulin */ "Insulin" = "Insulina"; @@ -195,112 +216,138 @@ /* Description of the prediction input effect for insulin */ "Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Assorbimento Insulinico (U) × Sensibilità Insulinica (%1$@/U)"; -/* The title text for the insulin action duration value */ -"Insulin Action Duration" = "Azione dell'Insulina"; - /* The title of the insulin delivery graph */ "Insulin Delivery" = "Insulina Somministrata"; +/* The title text for the insulin model setting row */ +"Insulin Model" = "Modello di azione dell'Insulina"; + /* The title of the insulin sensitivities schedule screen The title text for the insulin sensitivity schedule */ "Insulin Sensitivities" = "Sensibilità Insulinica"; -/* Instructions on selecting an insulin data source */ -"Insulin delivery can be determined from the pump by either interpreting the event history or comparing the reservoir volume over time. Reading event history allows for a more accurate status graph and uploading up-to-date treatment data to Nightscout, at the cost of faster pump battery drain and the possibility of a higher radio error rate compared to reading only reservoir volume. If the selected source cannot be used for any reason, the system will attempt to fall back to the other option." = "L'insulina somministrata può essere determinata dalla pompa sia interpretando la cronologia eventi o confrontando il volume del serbatoio nel tempo. Lettura della cronologia eventi consente un diagramma di stato più accurato e caricando i dati aggiornati dai trattamenti di Nightscout, a costo di esaurimento della batteria pompa più veloce e la possibilità di un tasso di errore radiofonica superiore rispetto alla sola lettura del volume del serbatoio. Se la sorgente selezionata non può essere utilizzato per qualsiasi ragione, il sistema tenterà di ripiegare sull'altra opzione."; +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "Dati non validi: %1$@"; /* The title text for the issue report cell */ "Issue Report" = "Segnalazione"; /* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ -"Last comparison: %1$@ → %2$@ vs %3$@" = "Last comparison: %1$@ → %2$@ vs %3$@"; +"Last comparison: %1$@ → %2$@ vs %3$@" = "Ultimo confronto: %1$@ → %2$@ vs %3$@"; /* Glucose HUD accessibility hint */ -"Launches CGM app" = "Lancia CGM app"; +"Launches CGM app" = "Avvia CGM app"; /* The loading message for the diagnostic report screen */ "Loading..." = "Carica..."; +/* The title of the loggly service */ +"Loggly" = "Loggly"; + /* The notification title for a loop failure */ "Loop Failure" = "Loop Fallito"; /* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ -"Loop has not completed successfully in %@" = "Loop non completato con successo in %@"; +"Loop has not completed successfully in %@" = "Loop non completato con successo da %@"; -/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ -"Loop ran %@ ago" = "Loop funziona %@ fa"; +/* The description of a low G5/G6 transmitter battery with a leading space */ +"Low Battery" = "Batteria Bassa"; -/* The recovery message displayed after a bolus attempt fails - The recovery message displayed after a carb entry send attempt fails */ -"Make sure your iPhone is nearby and try again" = "Assicurati che il tuo iPhone si trovi nelle vicinanze e riprova"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; -/* The title text for the maximum basal rate value */ -"Maximum Basal Rate" = "Profilo Basale Massimo"; +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "Dati mancanti: %1$@"; -/* The title text for the maximum bolus value */ -"Maximum Bolus" = "Bolo Massimo"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; /* Sensor state description for the non-valid state */ -"Needs Attention" = "Esige Attenzione"; - -/* Accessibility label component for glucose HUD describing an invalid state */ -"Needs attention" = "Esige Attenzione"; +"Needs Attention" = "Fai Attenzione"; /* The title of the Nightscout service */ "Nightscout" = "Nightscout"; +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "Nessun dispositivo connesso o mancanza di segnale durante la connessione del dispositivo"; + /* Sensor state description for the valid state */ "OK" = "OK"; -/* Accessbility hint describing completion HUD for an open loop */ -"Open loop" = "Loop Aperto"; +/* Outside US share server option title */ +"Outside US" = "Fuori USA"; /* The title of the Dexcom share password credential */ "Password" = "Password"; -/* The title text for the preferred insulin data source config */ -"Preferred Data Source" = "Fonte Dati"; +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "Obiettivo pre-pasto"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "La glicemia prevista tra %1$@ e' di %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "La glicemia prevista %1$@ e' inferiore al valore soglia per la sospensione dell'erogazione."; + +/* The title of the pump section in settings */ +"Pump" = "Microinfusore"; /* The notification title for a low pump battery */ -"Pump Battery Low" = "Batteria Pompa Bassa"; +"Pump Battery Low" = "Batteria Microinfusore e' quasi esaurita"; -/* The title text for the pump ID config value */ -"Pump ID" = "ID pompa"; +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "I dati forniti dal microinfusore sono di %1$@ fa"; /* The notification title for an empty pump reservoir */ -"Pump Reservoir Empty" = "Serbatoio Pompa vuoto"; +"Pump Reservoir Empty" = "Serbatoio microinfusore Vuoto"; /* The notification title for a low pump reservoir */ -"Pump Reservoir Low" = "Serbatoio Pompa Basso"; +"Pump Reservoir Low" = "Serbatoio microinfusore Basso"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Insulina ultrarapida – Adulti"; -/* The label and value showing the recommended bolus */ -"Rec: %@ U" = "Rec: %@ U"; +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Insulina ultrarapida – Bambini"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "La dose raccomandata e' scaduta da %1$@"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "Basale Raccomandata"; /* Accessibility hint describing recommended bolus units */ -"Recommended Bolus: %@ Units" = "Bolo consigliato: %@ Unità"; +"Recommended Bolus: %@ Units" = "Bolo Consigliato: %@ Unità"; /* The default placeholder string for a credential */ "Required" = "Necessario"; -/* Describing the reservoir insulin data source */ -"Reservoir" = "Serbatoio"; - /* Title of the prediction input effect for retrospective correction */ -"Retrospective Correction" = "Correzione Retroattiva"; +"Retrospective Correction" = "Correzione Retrospettiva"; /* The title of the notification action to retry a bolus command */ "Retry" = "Riprovare"; -/* Glucose trend up */ -"Rising" = "Crescente"; +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "La calibrazione del sensore e' valida"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "Il sensore presenta stato sconosciuto %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "Il sensore e' spento"; -/* Glucose trend up-up */ -"Rising fast" = "Crescente veloce"; +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "Il sensore e' in fase di avvio"; -/* Glucose trend up-up-up */ -"Rising very fast" = "Crescente molto veloce"; +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "Il sensore necessita di calibrazione"; -/* The title of the alert controller displayed after a carb entry send attempt fails */ -"Send Failed" = "Invio Fallito"; +/* The title of the Dexcom share server URL credential */ +"Server" = "Server"; /* The title of the services section in settings */ "Services" = "Servizi"; @@ -308,52 +355,60 @@ /* The label of the settings button */ "Settings" = "Impostazioni"; +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "Mostra ultimo errore di Loop"; + +/* Format fragment for a start time */ +"since %@" = "da %@"; + /* The title of the nightscout site URL credential */ "Site URL" = "Sito URL"; -/* The empty-state text for a configuration value */ -"Tap to set" = "Imposta"; +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; -/* The title of the glucose target range schedule screen - The title text for the glucose target range schedule */ -"Correction Range" = "Intervallo Glicemico"; +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "Invio Bolo"; + +/* The title text in settings */ +"Suspend Threshold" = "Blocco Erogazione"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Il modello base usato da Loop, permette la personalizzazione della durata della glicemia."; /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ -"The maximum bolus amount is %@ Units" = "La quantità massima di bolo è %@ Unità"; +"The maximum bolus amount is %@ Units" = "Il massimo bolo eseguibile e' pari a %@ Unità"; /* Instructions on where to find the transmitter ID */ -"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "L'ID trasmettitore può essere trovato stampato sul retro del dispositivo, sul lato della scatola, e all'interno del menu impostazione del ricevitore all'interno dell'applicazione mobile."; +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "L'ID trasmettitore può essere trovato stampato sul retro del dispositivo, sul lato della scatola, e all'interno del menù impostazione del ricevitore all'interno dell'applicazione mobile."; /* The description of the switch which toggles retrospective correction effects */ -"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Questo sarà più aggressivo all'aumentare o al diminuire della basale quando il movimento di glucosio non corrisponde al modello di carboidrati e al modello insulino-basale"; +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Questa impostazione rendera' piu' aggressiva l'erogazione o il blocco delle basali quando l'andamento glicemico non corrisponde al numero di carboidrati attivi e all'insulina attiva."; -/* The unit string for units per hour */ -"U/hour" = "U/ora"; +/* The title text for the Dexcom G5/G6 transmitter ID config value */ +"Transmitter ID" = "ID Trasmettitore"; -/* The unit string for units */ -"Units" = "Unità"; +/* The short unit display string for international units of insulin */ +"U" = "U"; -/* Accessibility value for an unknown value */ -"Unknown" = "Sconosciuto"; +/* U.S. share server option title */ +"US" = "USA"; /* The title of the alert controller used to select a duration for workout targets */ -"Use Workout Glucose Targets" = "Allenarsi con gli Obiettivi di Glucosio"; +"Use Workout Glucose Targets" = "Utilizza i target glicemici personalizzati per l'attivita' sportiva"; /* The title of the Dexcom share username credential */ "Username" = "Nome Utente"; /* Label indicating validation is occurring */ -"Verifying" = "Verificare"; +"Verifying" = "Sto verificando"; -/* Acessibility label describing completion HUD waiting for first run */ -"Waiting for first run" = "In attesa di prima esecuzione"; +/* Title of insulin model setting */ +"Walsh" = "Walsh"; -/* The label of the workout mode toggle button */ -"Workout Mode" = "Modalità di allenamento"; +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Quando l'attuale valore glicemico o un valore previsto nel futuro e' al di sotto del valore minimo previsto per la sospensione dell'erogazione, Loop non consigliera' un bolo e blocchera' l'erogazione delle basali."; -/* The unit string for hours */ -"hours" = "ore"; - -/* The title of the mLab service */ -"mLab" = "mlab"; +/* The label of the workout mode toggle button */ +"Workout Targets" = "Target per l'attivita' sportiva"; diff --git a/Loop/it.lproj/Main.strings b/Loop/it.lproj/Main.strings index a1877b453a..414d42588a 100644 --- a/Loop/it.lproj/Main.strings +++ b/Loop/it.lproj/Main.strings @@ -1,26 +1,38 @@ -/* Class = "UILabel"; text = "399"; ObjectID = "01f-Du-MVi"; */ -"01f-Du-MVi.text" = "399"; - /* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ "3kU-n2-fha.title" = "Stato"; -/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ -"5TX-kX-nBo.text" = "ID Pumpa"; - /* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ "5gz-kZ-iF1.text" = "3.5 U/ora @ 12:12 PM"; /* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ "5oA-6d-ZTL.text" = "Bolo"; +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "ID Microinfusore"; + /* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ "7LT-50-ZzK.accessibilityLabel" = "Importa Boli"; /* Class = "UITextField"; placeholder = "0.0"; ObjectID = "7LT-50-ZzK"; */ "7LT-50-ZzK.placeholder" = "0.0"; -/* Class = "UIView"; accessibilityLabel = "Net Basal Rate"; ObjectID = "BEG-xe-e6y"; */ -"BEG-xe-e6y.accessibilityLabel" = "Profilo Basale"; +/* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ +"87H-N1-0vJ.text" = "Predittivo"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ +"aCb-Qs-bpu.text" = "Dettaglio"; + +/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ +"aiu-ZA-zVa.title" = "Bolo"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Titolo"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ +"bIL-Ub-qYp.text" = "Etichetta"; + +/* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ +"bq4-98-cQU.text" = "Modifica del Glucosio"; /* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ "BR0-dr-Fj2.accessibilityLabel" = "Unità"; @@ -28,74 +40,53 @@ /* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ "BR0-dr-Fj2.text" = "U"; +/* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ +"cpo-Po-gFM.text" = "Etichetta"; + +/* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ +"d3X-AN-tA5.text" = "g Totali"; + /* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ "D4C-I2-dhA.text" = "La glicemia futura é predetta adottando una combinazione di multiple funzioni. Utilizzare questo strumento per attivare o meno le varie funzioni per valutare come esse influiscono sul valore glicemico predetto."; -/* Class = "UILabel"; text = "10:09 AM"; ObjectID = "DKc-Kc-dgR"; */ -"DKc-Kc-dgR.text" = "10:09 AM"; +/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ +"d6m-qV-wWi.text" = "Etichetta"; + +/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ +"dmB-PQ-B44.title" = "Impostazioni"; /* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ "DyC-Sv-qP8.text" = "DISPOSITIVI"; /* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ -"E41-FN-nkk.text" = "Probabile glic. 92 mg/dL"; - -/* Class = "UILabel"; text = "44U"; ObjectID = "I7M-3l-Pf0"; */ -"I7M-3l-Pf0.text" = "44U"; - -/* Class = "UILabel"; text = "100%"; ObjectID = "LaA-uX-OgX"; */ -"LaA-uX-OgX.text" = "100%"; - -/* Class = "UILabel"; text = "!"; ObjectID = "Nps-jD-4lb"; */ -"Nps-jD-4lb.text" = "!"; - -/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ -"OFA-qT-ZAg.text" = "Etichetta"; - -/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ -"PA3-sP-cWY.title" = "Glicemia Predetta"; - -/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ -"Rse-x8-amW.text" = "Probabile glic. 92 mg/dL"; +"E41-FN-nkk.text" = "probabile glic. 92 mg/dL"; -/* Class = "UILabel"; text = "10:09 AM"; ObjectID = "TfZ-En-Kls"; */ -"TfZ-En-Kls.text" = "10:09 AM"; +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Osservato"; -/* Class = "UILabel"; text = "10:09 AM"; ObjectID = "Wkb-m1-PVZ"; */ -"Wkb-m1-PVZ.text" = "10:09 AM"; +/* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ +"hHZ-uY-aKw.text" = "Carboidrati Attivi: 40g"; -/* Class = "UILabel"; text = "-0.85 U"; ObjectID = "Xq9-7P-H39"; */ -"Xq9-7P-H39.text" = "-0.85 U"; +/* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ +"hZZ-2S-lrd.title" = "Effetti dei Carboidrati"; -/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ -"Ya0-9b-ZAS.normalTitle" = "Invia"; - -/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ -"aiu-ZA-zVa.title" = "Bolo"; - -/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ -"bIL-Ub-qYp.text" = "Etichetta"; +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Per valutare l'assorbimento dei carboidrati, è possibile utilizzare i cambiamenti osservati nel glucosio, sottraendo i cambiamenti modellati dall'erogazione di insulina."; -/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ -"d6m-qV-wWi.text" = "Etichetta"; - -/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ -"dmB-PQ-B44.title" = "Impostazioni"; - -/* Class = "UIView"; accessibilityLabel = "Battery Level"; ObjectID = "ecE-wE-iZx"; */ -"ecE-wE-iZx.accessibilityLabel" = "Livello Batteria"; +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Dettaglio"; -/* Class = "UIView"; accessibilityLabel = "Glucose"; ObjectID = "hJo-df-An0"; */ -"hJo-df-An0.accessibilityLabel" = "Glicemie"; +/* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ +"k0g-P7-OVN.text" = "⚠ Glicemie previste sotto il Range"; /* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ "k3F-Na-7mn.text" = "Basale Raccomandata"; -/* Class = "UILabel"; text = "mmol/L ↗︎"; ObjectID = "kbE-jN-1cR"; */ -"kbE-jN-1cR.text" = "mmol/L ↗︎"; +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Etichetta"; -/* Class = "UILabel"; text = "4 min ago"; ObjectID = "krM-Ky-OTb"; */ -"krM-Ky-OTb.text" = "4 min fa"; +/* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ +"l7l-mw-Oc9.text" = "Etichetta"; /* Class = "UILabel"; text = "Tap to set"; ObjectID = "m9c-SQ-djE"; */ "m9c-SQ-djE.text" = "Imposta"; @@ -106,18 +97,51 @@ /* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ "mVz-dr-xLU.text" = "U"; -/* Class = "UILabel"; text = "Title"; ObjectID = "moR-fS-DWR"; */ -"moR-fS-DWR.text" = "Titolo"; +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Etichetta"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Glicemia Predetta"; + +/* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ +"pi6-Dh-72V.title" = "Modello Insulina"; + +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "Un modello di attività insulinica viene utilizzato per stimare gli effetti dell'insulina sui livelli di glucosio. Un modello accurato può aiutare a prevenire l'accumulo di insulina e consigliare in modo sicuro trattamenti correttivi."; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "probabile glic. 92 mg/dL"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "g COB"; /* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ "tuw-av-A3x.text" = "Glicemie"; -/* Class = "UIView"; accessibilityLabel = "Reservoir Volume"; ObjectID = "uVa-hu-HBZ"; */ -"uVa-hu-HBZ.accessibilityLabel" = "Volume Serbatoio"; +/* Class = "UILabel"; text = "Label"; ObjectID = "ufi-Kj-33k"; */ +"ufi-Kj-33k.text" = "Etichetta"; + +/* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ +"viU-7a-kbI.text" = "Insulina Attiva: 1.5U"; + +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Carboidrati"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 ore"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Invia"; + +/* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ +"yn7-2M-jZz.text" = "0"; /* Class = "UILabel"; text = "Recommended"; ObjectID = "ywT-OR-NnU"; */ -"ywT-OR-NnU.text" = "Bolo Consigliato"; +"ywT-OR-NnU.text" = "Consigliato"; /* Class = "UILabel"; text = "Title"; ObjectID = "zbc-87-wxZ"; */ "zbc-87-wxZ.text" = "Titolo"; +/* Class = "UILabel"; text = "0"; ObjectID = "zvZ-uf-zMX"; */ +"zvZ-uf-zMX.text" = "0"; + diff --git a/Loop/nb.lproj/InfoPlist.strings b/Loop/nb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..873226eaeb --- /dev/null +++ b/Loop/nb.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Loop"; + +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* Privacy - Bluetooth Peripheral Usage Description */ +"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices."; + +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "Face ID is used to authenticate insulin bolus."; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "Meal data from the Health database is used to determine glucose effects. Glucose data from the Health database is used for graphing and momentum calculation."; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "Carbohydrate meal data entered in the app and on the watch is stored in the Health database. Glucose data retrieved from the CGM is stored securely in HealthKit."; + diff --git a/Loop/nb.lproj/LaunchScreen.strings b/Loop/nb.lproj/LaunchScreen.strings new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Loop/nb.lproj/LaunchScreen.strings @@ -0,0 +1 @@ + diff --git a/Loop/nb.lproj/Localizable.strings b/Loop/nb.lproj/Localizable.strings new file mode 100644 index 0000000000..803c7e90c5 --- /dev/null +++ b/Loop/nb.lproj/Localizable.strings @@ -0,0 +1,414 @@ +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = "(Gjenstår: %@)"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ absorbert"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ E Totalt"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string for carb ratio average. (1: value)(2: carb unit) + Format string for insulin sensitivity average (1: value)(2: glucose unit) */ +"%1$@ %2$@/U" = "%1$@ %2$@/E"; + +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + +/* Low reservoir alert format string. (1: Number of units remaining) */ +"%1$@ U left" = "%1$@ E gjenstår"; + +/* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ +"%1$@ U left: %2$@" = "%1$@ E gjenstår: %2$@"; + +/* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ +"%1$@ U/hour @ %2$@" = "%1$@ E/timen @ %2$@"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; + +/* Description of the prediction input effect for glucose momentum */ +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15 minutters glukose-regresjonskoeffisient (b1), fortsatt med henfall over 30 minutter."; + +/* Description of the prediction input effect for retrospective correction */ +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 min sammenligning av glukose-prediksjon vs faktisk, fortsatt med forfall over 60 min."; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "En modell basert på publiserte data for absorpsjon av Fiasp insulin."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "En modell basert på publiserte data for absorpsjon av Humalog, Novolog og Apidra insulin hos voksne."; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "AksepterAnbefaltBolus"; + +/* The title of the Carbs On-Board graph */ +"Active Carbohydrates" = "Aktive Karbohydrater"; + +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "Aktive Karbohydrater: %@"; + +/* The title of the Insulin On-Board graph */ +"Active Insulin" = "Aktivt Insulin"; + +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "Aktivt Insulin: %@"; + +/* The title of the button to add the credentials for a service */ +"Add Account" = "Legg Til Konto"; + +/* The label of the carb entry button */ +"Add Meal" = "Legg Til Måltid"; + +/* Title text for button to set up a new pump */ +"Add Pump" = "Legg til Pumpe"; + +/* The title of the section containing algorithm settings */ +"Algorithm Settings" = "Algoritmeinnstillinger"; + +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "En justering til modellen tilpasset voksne, basert på empiriske effekter hos barn."; + +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Format fragment for a specific time */ +"at %@" = "kl. %@"; + +/* The message displayed during a device authentication prompt for bolus specification */ +"Authenticate to Bolus %@ Units" = "Autentiser for å gi bolus %@ E"; + +/* The title of the basal rate profile screen + The title text for the basal rate schedule */ +"Basal Rates" = "Basaldoser"; + +/* The label of the bolus entry button + The notification title for a bolus failure */ +"Bolus" = "Bolus"; + +/* The title of the cancel action in an action sheet */ +"Cancel" = "Avbryt"; + +/* The title of the carb ratios schedule screen + The title text for the carb ratio schedule */ +"Carb Ratios" = "Karbohydratforhold"; + +/* Title of the prediction input effect for carbohydrates */ +"Carbohydrates" = "Karbohydrater"; + +/* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Karbohydrater absorbert (g) ÷ Karbohydratforhold (g/E) × Insulinfølsomhet (%1$@/E)"; + +/* The notification alert describing a low pump battery */ +"Change the pump battery immediately" = "Bytt batteri på pumpe snarest"; + +/* The notification alert describing an empty pump reservoir */ +"Change the pump reservoir now" = "Bytt reservoar på pumpe nå"; + +/* The title text for the looping enabled switch cell */ +"Closed Loop" = "Lukket Loop"; + +/* The title of the configuration section in settings */ +"Configuration" = "Konfigurasjon"; + +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Konfigurasjonsfeil: %1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "Kontinuerlig glukosemonitor"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "Korreksjonsområde"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Nåværende blodsukker på %1$@ er under korreksjonsområde."; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "Customer Token"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The title of the button to remove the credentials for a service */ +"Delete Account" = "Slett Konto"; + +/* Title text for delivery limits */ +"Delivery Limits" = "Leveringsgrense"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "Dexcom Share"; + +/* The action hint of the workout mode toggle button when enabled */ +"Disables" = "Deaktiver"; + +/* Title of the switch which toggles retrospective correction effects */ +"Enable Retrospective Correction" = "Aktiver Retrospektiv Korrigering"; + +/* The action hint of the workout mode toggle button when disabled */ +"Enables" = "Aktiverer"; + +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "Legg til grense for stopp av insulintilførsel"; + +/* The placeholder text instructing users how to enter a transmitter ID */ +"Enter the 6-digit transmitter ID" = "Angi 6-sifret sender (CGM) ID"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) */ +"Eventually %@" = "Omsider %@"; + +/* The title of the alert describing a maximum bolus validation error */ +"Exceeds Maximum Bolus" = "Overskrider Maks Bolus"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The format string used to describe a finite workout targets duration */ +"For %1$@" = "For %1$@"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The title text for the G4 Share Receiver switch cell */ +"G4 Share Receiver" = "G4 Share Receiver"; + +/* The title text for the G5/G6 Transmitter switch cell */ +"G5/G6 Transmitter" = "G5/G6 Sender"; + +/* The title of the glucose and prediction graph */ +"Glucose" = "Glukose"; + +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "Glukosedata er %1$@ gammel"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "Glukose data er utilgjengelig"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "Glukosemomentum"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; + +/* The title of a target alert action specifying an indefinitely long workout targets duration */ +"Indefinitely" = "Uendelig"; + +/* Title of the prediction input effect for insulin */ +"Insulin" = "Insulin"; + +/* Description of the prediction input effect for insulin */ +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Insulin Absorbert (E) × Insulinfølsomhet (%1$@/E)"; + +/* The title of the insulin delivery graph */ +"Insulin Delivery" = "Insulinlevering"; + +/* The title text for the insulin model setting row */ +"Insulin Model" = "Insulinmodell"; + +/* The title of the insulin sensitivities schedule screen + The title text for the insulin sensitivity schedule */ +"Insulin Sensitivities" = "Insulinfølsomhet"; + +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "Ugyldig data: %1$@"; + +/* The title text for the issue report cell */ +"Issue Report" = "Hendelsesrapport"; + +/* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ +"Last comparison: %1$@ → %2$@ vs %3$@" = "Siste sammenligning: %1$@ → %2$@ vs %3$@"; + +/* Glucose HUD accessibility hint */ +"Launches CGM app" = "Starter CGM app"; + +/* The loading message for the diagnostic report screen */ +"Loading..." = "Laster..."; + +/* The title of the loggly service */ +"Loggly" = "Loggly"; + +/* The notification title for a loop failure */ +"Loop Failure" = "Loop Feilet"; + +/* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ +"Loop has not completed successfully in %@" = "Loop har ikke kjørt vellykket på %@"; + +/* The description of a low G5/G6 transmitter battery with a leading space */ +"Low Battery" = "Lite Batteri"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "Mangler Data: %1$@"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Sensor state description for the non-valid state */ +"Needs Attention" = "Trenger Tilsyn"; + +/* The title of the Nightscout service */ +"Nightscout" = "Nightscout"; + +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "Ingen tilkoblede enheter, eller feil under tilkobling til enhet"; + +/* Sensor state description for the valid state */ +"OK" = "OK"; + +/* Outside US share server option title */ +"Outside US" = "Utenfor USA"; + +/* The title of the Dexcom share password credential */ +"Password" = "Passord"; + +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "Pre-måltids mål"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Forventet blodsukker om %1$@ er %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Forventet blodsukker %1$@ er under innstilling for stopp av insulintilførsel"; + +/* The title of the pump section in settings */ +"Pump" = "Pumpe"; + +/* The notification title for a low pump battery */ +"Pump Battery Low" = "Pumpebatteri Lavt"; + +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Pumpedata er %1$@ gammelt"; + +/* The notification title for an empty pump reservoir */ +"Pump Reservoir Empty" = "Pumpereservoar Tomt"; + +/* The notification title for a low pump reservoir */ +"Pump Reservoir Low" = "Pumpereservoar Lavt"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Hurtigvirkende – voksen"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Hurtigvirkende – barn"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "Anbefaling utløpt: %1$@ gammelt"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "Anbefalt Basal"; + +/* Accessibility hint describing recommended bolus units */ +"Recommended Bolus: %@ Units" = "Anbefalt Bolus: %@ Enheter"; + +/* The default placeholder string for a credential */ +"Required" = "Påkrevd"; + +/* Title of the prediction input effect for retrospective correction */ +"Retrospective Correction" = "Retrospektiv Korreksjon"; + +/* The title of the notification action to retry a bolus command */ +"Retry" = "Prøv igjen"; + +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "Sensorkalibrering er OK"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "Sensor er i ukjent status %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "Sensor er stoppet"; + +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "Sensor varmer opp"; + +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "Sensor trenger kalibrering"; + +/* The title of the Dexcom share server URL credential */ +"Server" = "Tjener"; + +/* The title of the services section in settings */ +"Services" = "Tjenester"; + +/* The label of the settings button */ +"Settings" = "Innstillinger"; + +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "Viser siste Loop-feil"; + +/* Format fragment for a start time */ +"since %@" = "siden %@"; + +/* The title of the nightscout site URL credential */ +"Site URL" = "Nettstedslenke (URL)"; + +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; + +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "Starter Bolus"; + +/* The title text in settings */ +"Suspend Threshold" = "Grense for stopp av insulintilførsel"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Den gamle modellen brukt av Loop, tillater endring av varighet for handling."; + +/* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ +"The maximum bolus amount is %@ Units" = "Maks bolus er satt til %@ enheter"; + +/* Instructions on where to find the transmitter ID */ +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "Transmitter ID kan du finne på baksiden av senderen, på siden av eska, og fra meny for innstillinger på avsenderen, eller i mobilappen."; + +/* The description of the switch which toggles retrospective correction effects */ +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Dette vil øke eller redusere basallevering mer aggressivt når glukosebevegelsen ikke samsvarer med karbohydrat- og insulinbasert modell."; + +/* The title text for the Dexcom G5/G6 transmitter ID config value */ +"Transmitter ID" = "Sender ID"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* U.S. share server option title */ +"US" = "USA"; + +/* The title of the alert controller used to select a duration for workout targets */ +"Use Workout Glucose Targets" = "Bruk Treningsmodus for Glukosemålområde"; + +/* The title of the Dexcom share username credential */ +"Username" = "Brukernavn"; + +/* Label indicating validation is occurring */ +"Verifying" = "Bekrefter"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Når nåværende eller forventet blodsukker er under grensen for stopp av insulintilførsel, vil ikke Loop anbefale en bolus, og vil alltid anbefale en midlertidig basalrate på 0 enheter per time."; + +/* The label of the workout mode toggle button */ +"Workout Targets" = "Treningsmål"; + diff --git a/Loop/nb.lproj/Main.strings b/Loop/nb.lproj/Main.strings new file mode 100644 index 0000000000..700d177da1 --- /dev/null +++ b/Loop/nb.lproj/Main.strings @@ -0,0 +1,147 @@ +/* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ +"3kU-n2-fha.title" = "Status"; + +/* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ +"5gz-kZ-iF1.text" = "3,5 E/timen @ 12:12 PM"; + +/* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ +"5oA-6d-ZTL.text" = "Bolus"; + +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "Pumpe-ID"; + +/* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.accessibilityLabel" = "Bolusmengde"; + +/* Class = "UITextField"; placeholder = "0.0"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.placeholder" = "0.0"; + +/* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ +"87H-N1-0vJ.text" = "Forventet"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ +"aCb-Qs-bpu.text" = "Detaljer"; + +/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ +"aiu-ZA-zVa.title" = "Bolus"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Tittel"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ +"bIL-Ub-qYp.text" = "Etikett"; + +/* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ +"bq4-98-cQU.text" = "Blodsukkerendring"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "Enheter"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "E"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ +"cpo-Po-gFM.text" = "Etikett"; + +/* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ +"d3X-AN-tA5.text" = "g Totalt"; + +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "Fremtidig blodsukker forutsies ved å kombinere effektene av flere parametre. Bruk dette verktøyet til å bytte ulike parametre for å se hvordan de påvirker den endelige prediksjonen."; + +/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ +"d6m-qV-wWi.text" = "Etikett"; + +/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ +"dmB-PQ-B44.title" = "Innstillinger"; + +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "APPARATER"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "omsider 92 mg/dL"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Observert"; + +/* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ +"hHZ-uY-aKw.text" = "Aktive Karbohydrater: 40g"; + +/* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ +"hZZ-2S-lrd.title" = "Effekt av Karbohydrater"; + +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Observerte endringer i blodsukker, minus endringer fra levert insulin, kan brukes for å estimere absorpsjon av karbohydrater."; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Detaljer"; + +/* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ +"k0g-P7-OVN.text" = "⚠ Forventet Blodsukker Under Område"; + +/* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ +"k3F-Na-7mn.text" = "Anbefalt Basal"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Etikett"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ +"l7l-mw-Oc9.text" = "Etikett"; + +/* Class = "UILabel"; text = "Tap to set"; ObjectID = "m9c-SQ-djE"; */ +"m9c-SQ-djE.text" = "Trykk for å velge"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.accessibilityLabel" = "Enheter"; + +/* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.text" = "E"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Etikett"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Forventet Blodsukker"; + +/* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ +"pi6-Dh-72V.title" = "Insulinmodell"; + +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "En insulinaktivitetsmodell brukes til å estimere effekten av insulin på blodsukkeret. En nøyaktig modell kan bidra til å forhindre insulinstacking samt anbefale korrigerende tiltak"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "omsider 92 mg/dL"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "g KaB"; + +/* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ +"tuw-av-A3x.text" = "Glukose"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "ufi-Kj-33k"; */ +"ufi-Kj-33k.text" = "Etikett"; + +/* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ +"viU-7a-kbI.text" = "Aktivt Insulin: 1,5E"; + +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Karbohydrater"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 timer"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Lever"; + +/* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ +"yn7-2M-jZz.text" = "0"; + +/* Class = "UILabel"; text = "Recommended"; ObjectID = "ywT-OR-NnU"; */ +"ywT-OR-NnU.text" = "Anbefalt"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "zbc-87-wxZ"; */ +"zbc-87-wxZ.text" = "Tittel"; + +/* Class = "UILabel"; text = "0"; ObjectID = "zvZ-uf-zMX"; */ +"zvZ-uf-zMX.text" = "0"; + diff --git a/Loop/nl.lproj/InfoPlist.strings b/Loop/nl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..c88a46adf6 --- /dev/null +++ b/Loop/nl.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Loop"; + +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* Privacy - Bluetooth Peripheral Usage Description */ +"NSBluetoothPeripheralUsageDescription" = "Bluetooth wordt gebruikt om te communiceren met de insuline pomp en de continue glucose meter."; + +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "Face ID wordt gebruikt om de insuline bolus te verifiëren."; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "Voedsel informatie van de Gezondheid database wordt gebruikt om de glucose impact te bepalen. Glucose data van de Gezondheid database wordt gebruikt voor de tijdslijn en momentberekening"; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "Koolhydraten van de maaltijd die worden ingevoerd in de app op de apple watch worden opgeslagen in de Gezondheid database. Glucose gegevens ontvangen van de CGM wordt veilig opgeslagen in Gezondheid."; + diff --git a/Loop/nl.lproj/LaunchScreen.strings b/Loop/nl.lproj/LaunchScreen.strings new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Loop/nl.lproj/LaunchScreen.strings @@ -0,0 +1 @@ + diff --git a/Loop/nl.lproj/Localizable.strings b/Loop/nl.lproj/Localizable.strings new file mode 100644 index 0000000000..ee0a4be593 --- /dev/null +++ b/Loop/nl.lproj/Localizable.strings @@ -0,0 +1,414 @@ +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = " (Wachten: %@)"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ opgenomen"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ E totaal"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string for carb ratio average. (1: value)(2: carb unit) + Format string for insulin sensitivity average (1: value)(2: glucose unit) */ +"%1$@ %2$@/U" = "%1$@ %2$@/E"; + +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + +/* Low reservoir alert format string. (1: Number of units remaining) */ +"%1$@ U left" = "%1$@ E resterend"; + +/* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ +"%1$@ U left: %2$@" = "%1$@ E resterend: %2$@"; + +/* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ +"%1$@ U/hour @ %2$@" = "%1$@ E/uur @ %2$@"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; + +/* Description of the prediction input effect for glucose momentum */ +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15 minuten glucose regressie coëficient (b1), continue zonder afbouw over 30 min"; + +/* Description of the prediction input effect for retrospective correction */ +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 min vergelijking van glucose voorspelling versus actueel, gevolgd door afbouw over 60 min"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Een model gebaseerd op de gepubliceerde opname van Fiasp insuline."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Een model gebaseerd op de gepubliceerde opname van Humalog, Novorapid, en Apidra insuline bij volwassenen."; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "AccepteerVoorgesteldeBolus"; + +/* The title of the Carbs On-Board graph */ +"Active Carbohydrates" = "Actieve koolhydraten"; + +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "Actieve koolhydraten: %@"; + +/* The title of the Insulin On-Board graph */ +"Active Insulin" = "Actieve insuline"; + +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "Actieve insuline: %@"; + +/* The title of the button to add the credentials for a service */ +"Add Account" = "Voeg account toe"; + +/* The label of the carb entry button */ +"Add Meal" = "Voeg maaltijd toe"; + +/* Title text for button to set up a new pump */ +"Add Pump" = "Voeg Pomp toe"; + +/* The title of the section containing algorithm settings */ +"Algorithm Settings" = "Algoritme Instellingen"; + +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Een aanpasing op het model voor volwassen wanneer deze door kinderen wordt gebruikt."; + +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Format fragment for a specific time */ +"at %@" = "bij %@"; + +/* The message displayed during a device authentication prompt for bolus specification */ +"Authenticate to Bolus %@ Units" = "Authenticeer om te bolussen %@ E"; + +/* The title of the basal rate profile screen + The title text for the basal rate schedule */ +"Basal Rates" = "Basaal waardes"; + +/* The label of the bolus entry button + The notification title for a bolus failure */ +"Bolus" = "Bolus"; + +/* The title of the cancel action in an action sheet */ +"Cancel" = "Annuleer"; + +/* The title of the carb ratios schedule screen + The title text for the carb ratio schedule */ +"Carb Ratios" = "Koolhydraten verhoudingen"; + +/* Title of the prediction input effect for carbohydrates */ +"Carbohydrates" = "Koolhydraten"; + +/* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Koolhydraten geabsorbeerd (gr) ÷ Koolhydraten per eenheid insuline (gr/E) × Insuline gevoeligheid (%1$@/E)"; + +/* The notification alert describing a low pump battery */ +"Change the pump battery immediately" = "Vervang direct de pomp batterij"; + +/* The notification alert describing an empty pump reservoir */ +"Change the pump reservoir now" = "Vervang direct het pomp reservoir"; + +/* The title text for the looping enabled switch cell */ +"Closed Loop" = "Gesloten loop"; + +/* The title of the configuration section in settings */ +"Configuration" = "Configuratie"; + +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Configuratie Fout: %1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "Continue Glucose Monitor"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "Correctie bereik"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Huidige glucose van %1$@ is lager dan het correctie bereik"; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "Gebruiker token"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The title of the button to remove the credentials for a service */ +"Delete Account" = "Verwijder Account"; + +/* Title text for delivery limits */ +"Delivery Limits" = "Insuline toediening limiet"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "Dexcom Share"; + +/* The action hint of the workout mode toggle button when enabled */ +"Disables" = "Uitschakelen"; + +/* Title of the switch which toggles retrospective correction effects */ +"Enable Retrospective Correction" = "Retroperspectieve correctie inschakelen"; + +/* The action hint of the workout mode toggle button when disabled */ +"Enables" = "Inschakelen"; + +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "Voer drempel voor onderbreking insuline in"; + +/* The placeholder text instructing users how to enter a transmitter ID */ +"Enter the 6-digit transmitter ID" = "Voer het 6 cijferige zender ID in"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) */ +"Eventually %@" = "Uiteindelijk %@"; + +/* The title of the alert describing a maximum bolus validation error */ +"Exceeds Maximum Bolus" = "Overschrijdt Maximum Bolus"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The format string used to describe a finite workout targets duration */ +"For %1$@" = "Voor %1$@"; + +/* The short unit display string for grams */ +"g" = "gr"; + +/* The title text for the G4 Share Receiver switch cell */ +"G4 Share Receiver" = "G4 Share Ontvanger"; + +/* The title text for the G5/G6 Transmitter switch cell */ +"G5/G6 Transmitter" = "G5/G6 Zender"; + +/* The title of the glucose and prediction graph */ +"Glucose" = "Glucose"; + +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "Glucose data is %1$@ oud"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "Los datos de glucosa no están disponibles"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "Glucose momementum"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; + +/* The title of a target alert action specifying an indefinitely long workout targets duration */ +"Indefinitely" = "Oneindig"; + +/* Title of the prediction input effect for insulin */ +"Insulin" = "Insuline"; + +/* Description of the prediction input effect for insulin */ +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Opgenomen insuline (E) x insuline gevoeligheid (%1$@/E)"; + +/* The title of the insulin delivery graph */ +"Insulin Delivery" = "Insuline toediening"; + +/* The title text for the insulin model setting row */ +"Insulin Model" = "Insuline Model"; + +/* The title of the insulin sensitivities schedule screen + The title text for the insulin sensitivity schedule */ +"Insulin Sensitivities" = "Insuline gevoeligheden (ISF)"; + +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "Niet valide gegevens: %1$@"; + +/* The title text for the issue report cell */ +"Issue Report" = "Incidenten rapport"; + +/* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ +"Last comparison: %1$@ → %2$@ vs %3$@" = "Laatste vergelijking: %1$@ → %2$@ vs %3$@"; + +/* Glucose HUD accessibility hint */ +"Launches CGM app" = "Opstarten van de CGM app"; + +/* The loading message for the diagnostic report screen */ +"Loading..." = "Laden..."; + +/* The title of the loggly service */ +"Loggly" = "Loggly"; + +/* The notification title for a loop failure */ +"Loop Failure" = "Loop Fout"; + +/* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ +"Loop has not completed successfully in %@" = "Loop is niet goed afgerond in %@"; + +/* The description of a low G5/G6 transmitter battery with a leading space */ +"Low Battery" = "Lage batterij"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "Missende gegevens: %1$@"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Sensor state description for the non-valid state */ +"Needs Attention" = "Aandacht Vereist"; + +/* The title of the Nightscout service */ +"Nightscout" = "Nightscout"; + +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "Geen gekoppelde apparaten, of fout bij apparaat verbinding"; + +/* Sensor state description for the valid state */ +"OK" = "OK"; + +/* Outside US share server option title */ +"Outside US" = "Buiten US"; + +/* The title of the Dexcom share password credential */ +"Password" = "Paswoord"; + +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "Pre-Maaltijd Doelen"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Verwachte glucose op %1$@ is %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Verwachte glucose van %1$@ is lager dan de onderbroken insuline drempel instelling."; + +/* The title of the pump section in settings */ +"Pump" = "Pomp"; + +/* The notification title for a low pump battery */ +"Pump Battery Low" = "Pomp Batterij Laag"; + +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Pomp gegevens is %1$@ oud"; + +/* The notification title for an empty pump reservoir */ +"Pump Reservoir Empty" = "Pomp Reservoir Leeg"; + +/* The notification title for a low pump reservoir */ +"Pump Reservoir Low" = "Pomp Reservoir Laag"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Snelwerkende - volwassenen"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Snelwerkende - kinderen"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "Aanbeveling verlopen: %1$@ oud"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "Voorgestelde basaal"; + +/* Accessibility hint describing recommended bolus units */ +"Recommended Bolus: %@ Units" = "Voorgestelde bolus: %@ Eenheden"; + +/* The default placeholder string for a credential */ +"Required" = "Vereist"; + +/* Title of the prediction input effect for retrospective correction */ +"Retrospective Correction" = "Retroperspectieve correctie"; + +/* The title of the notification action to retry a bolus command */ +"Retry" = "Opnieuw proberen"; + +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "Sensor callibratie is geslaagd"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "Senor is in onbekende status %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "Sensor is gestopt"; + +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "Sensor is aan het opwarmen"; + +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "Sensor heeft callibratie nodig"; + +/* The title of the Dexcom share server URL credential */ +"Server" = "Server"; + +/* The title of the services section in settings */ +"Services" = "Diensten"; + +/* The label of the settings button */ +"Settings" = "Instellingen"; + +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "Toont laatste loop foutmelding"; + +/* Format fragment for a start time */ +"since %@" = "na %@"; + +/* The title of the nightscout site URL credential */ +"Site URL" = "Webpagina URL"; + +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; + +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "Start Bolus"; + +/* The title text in settings */ +"Suspend Threshold" = "Onderbrekingsdrempel"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Het oude model dat door Loop wordt gebruikt, waardoor de actieduur kan worden aangepast."; + +/* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ +"The maximum bolus amount is %@ Units" = "De maximale bolushoeveelheid is %@ Eenheden"; + +/* Instructions on where to find the transmitter ID */ +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "De zender-ID staat afgedrukt op de achterkant van het apparaat, aan de zijkant van de doos waarin deze is geplaatst en in de instellingenmenu's van de G5/G6-ontvanger en de mobiele app."; + +/* The description of the switch which toggles retrospective correction effects */ +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Dit zal agressiever de basale toediening verhogen of verlagen wanneer de glucosebeweging niet overeenkomt met het koolhydraat- en insuline-gebaseerde model."; + +/* The title text for the Dexcom G5/G6 transmitter ID config value */ +"Transmitter ID" = "Zender ID"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* U.S. share server option title */ +"US" = "NL"; + +/* The title of the alert controller used to select a duration for workout targets */ +"Use Workout Glucose Targets" = "Gebruik training glucose doelen"; + +/* The title of the Dexcom share username credential */ +"Username" = "Gebruikersnaam"; + +/* Label indicating validation is occurring */ +"Verifying" = "Verifiëren"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Wanneer de huidige of voorspelde glucose onder de drempel voor onderbreken ligt, zal Loop geen bolus aanbevelen en zal altijd een tijdelijke basaal van 0 eenheden per uur aanbevelen."; + +/* The label of the workout mode toggle button */ +"Workout Targets" = "Trainings doel waardes"; + diff --git a/Loop/nl.lproj/Main.strings b/Loop/nl.lproj/Main.strings new file mode 100644 index 0000000000..48e37006ae --- /dev/null +++ b/Loop/nl.lproj/Main.strings @@ -0,0 +1,147 @@ +/* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ +"3kU-n2-fha.title" = "Status"; + +/* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ +"5gz-kZ-iF1.text" = "3,5 E/U @ 12:12 PM"; + +/* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ +"5oA-6d-ZTL.text" = "Bolus"; + +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "Pomp ID"; + +/* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.accessibilityLabel" = "Bolus hoeveelheid"; + +/* Class = "UITextField"; placeholder = "0.0"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.placeholder" = "0.0"; + +/* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ +"87H-N1-0vJ.text" = "Voorspelde"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ +"aCb-Qs-bpu.text" = "Detail"; + +/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ +"aiu-ZA-zVa.title" = "Bolus"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Titel"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ +"bIL-Ub-qYp.text" = "Etiket"; + +/* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ +"bq4-98-cQU.text" = "Glucose Verandering"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "Eenheden"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "E"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ +"cpo-Po-gFM.text" = "Etiket"; + +/* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ +"d3X-AN-tA5.text" = "gr totaal"; + +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "De toekomstige glucose waarde wordt voorspeld door de effecten van meerdere input waardes mee te nemen. Gebruik deze tool om verschillende inputs aan en uit te zetten om ze zo te kunnen vergelijken met de uiteindelijke voorspelde waarde."; + +/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ +"d6m-qV-wWi.text" = "Etiket"; + +/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ +"dmB-PQ-B44.title" = "Instellingen"; + +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "Apparaten"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "uiteindelijk 92 mg/dL"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Geobserveerd"; + +/* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ +"hHZ-uY-aKw.text" = "Actieve koolhydraten: 40gr"; + +/* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ +"hZZ-2S-lrd.title" = "Effect Koolhydraten"; + +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Geobserveerde veranderingen in glucose. Kan gebruikt worden om de verhouding insuline/koolhydraten in te schatten, minus de veranderingen die reeds door insuline toediening hebben plaatsgevonden."; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Detail"; + +/* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ +"k0g-P7-OVN.text" = "⚠ Verwachte glucose lager dan bereik"; + +/* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ +"k3F-Na-7mn.text" = "Voorgestelde basaal"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Etiket"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ +"l7l-mw-Oc9.text" = "Etiket"; + +/* Class = "UILabel"; text = "Tap to set"; ObjectID = "m9c-SQ-djE"; */ +"m9c-SQ-djE.text" = "Instellen…"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.accessibilityLabel" = "Eenheden"; + +/* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.text" = "E"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Etiket"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Voorspelde Glucose"; + +/* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ +"pi6-Dh-72V.title" = "Insuline model"; + +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "Een model voor insuline gevoeligheid wordt gebruikt om de effecten van insuline op de glucose waarde in te schatten. Het kiezen van het juiste model die jij gebruikt, helpt voorkomen dat insuline zich opstapelt en zorgt zo voor beter voorgestelde correcties."; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "uiteindelijk 92 mg/dL"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "g KaB"; + +/* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ +"tuw-av-A3x.text" = "Glucose"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "ufi-Kj-33k"; */ +"ufi-Kj-33k.text" = "Etiket"; + +/* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ +"viU-7a-kbI.text" = "Actieve insuline: 1,5E"; + +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Koolhydraten"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 uur"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Toedienen"; + +/* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ +"yn7-2M-jZz.text" = "0"; + +/* Class = "UILabel"; text = "Recommended"; ObjectID = "ywT-OR-NnU"; */ +"ywT-OR-NnU.text" = "Voorgestelde"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "zbc-87-wxZ"; */ +"zbc-87-wxZ.text" = "Titel"; + +/* Class = "UILabel"; text = "0"; ObjectID = "zvZ-uf-zMX"; */ +"zvZ-uf-zMX.text" = "0"; + diff --git a/Loop/ru.lproj/InfoPlist.strings b/Loop/ru.lproj/InfoPlist.strings index 8c1ec56692..fef7ac0773 100644 --- a/Loop/ru.lproj/InfoPlist.strings +++ b/Loop/ru.lproj/InfoPlist.strings @@ -1,15 +1,18 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "Loop"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; -/* (No Comment) */ +/* Privacy - Bluetooth Peripheral Usage Description */ "NSBluetoothPeripheralUsageDescription" = "Блутус применяется для коммуникации с инсулиновой помпой и устройствами непрерывного мониторинга СК"; -/* (No Comment) */ +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "Идентификатор Face ID применяется для авторизации болюса инсулина"; + +/* Privacy - Health Share Usage Description */ "NSHealthShareUsageDescription" = "Данные о пище из базы данных Здоровье используются для определения влияния на гликемию. Данные гликемии из базы данных Здоровье используются для графического отображения и вычисления скорости изменений"; -/* (No Comment) */ +/* Privacy - Health Update Usage Description */ "NSHealthUpdateUsageDescription" = "Данные об углеводах в приложении и на смарт-часах хранятся в базе данных Здоровье. Данные о гликемии полученные от систем непрерывного мониторинга хранятся в безопасности в Комплексе Здоровья HealthKit "; diff --git a/Loop/ru.lproj/Localizable.strings b/Loop/ru.lproj/Localizable.strings index 89284a6633..4487a156a7 100644 --- a/Loop/ru.lproj/Localizable.strings +++ b/Loop/ru.lproj/Localizable.strings @@ -1,8 +1,17 @@ /* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ -" (pending: %@)" = "(В ожидании: %@)"; +" (pending: %@)" = " (В ожидании: %@)"; -/* Format string for current suspend threshold. (1: value)(2: bg unit) */ -"%1$@ %2$@" = "%1$@ %2$@"; +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ усвоено"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ всего ед"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; /* Format string for carb ratio average. (1: value)(2: carb unit) Format string for insulin sensitivity average (1: value)(2: glucose unit) */ @@ -23,20 +32,11 @@ /* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ "%1$@ v%2$@" = "%1$@ v%2$@"; -/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ -"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; - -/* Format string describing glucose units per minute (1: glucose unit string) */ -"%1$@/min" = "%1$@/минут"; - /* Formats (1: carb value) and (2: food type) */ "%1$@: %2$@" = "%1$@: %2$@"; -/* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ всего ед"; - -/* Formats absorbed carb value */ -"%@ absorbed" = "%@ усвоено"; +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/минут"; /* Description of the prediction input effect for glucose momentum */ "15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15-мин коэффициент регрессии гликемии (b1), продолжен с угасанием 30 мин"; @@ -50,13 +50,6 @@ /* Subtitle of Rapid-Acting – Adult preset */ "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "модель, основанная на опубликованных данных усвоения Humalog, Novolog и Apidra у взрослых "; -/* The title of the amplitude API key credential - The title of the mLab API Key credential */ -"API Key" = "API Key"; - -/* The title of the nightscout API secret credential */ -"API Secret" = "API Secret"; - /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "Принятьрекомендуемыйболюс"; @@ -78,18 +71,27 @@ /* The label of the carb entry button */ "Add Meal" = "Добавить продукт"; +/* Title text for button to set up a new pump */ +"Add Pump" = "Добавить помпу"; + /* The title of the section containing algorithm settings */ "Algorithm Settings" = "Настройки алгоритма"; -/* Instructions on selecting battery chemistry type */ -"Alkaline and Lithium batteries decay at differing rates. Alkaline tend to have a linear voltage drop over time whereas lithium cell batteries tend to maintain voltage until halfway through their lifespan. Under normal usage in a Non-MySentry compatible Minimed (x22/x15) insulin pump running Loop, Alkaline batteries last approximately 4 to 5 days. Lithium batteries last between 1-2 weeks. This selection will use different battery voltage decay rates for each of the battery chemistry types and alert the user when a battery is approximately 8 to 10 hours from failure." = "Щелочные и литиевые батарейки садятся с различной скоростью. У щелочных падение линейное, в то время как литиевые сохраняют напряжение в течение половины срока службы. При нормальном пользовании в помпе Minimed без Mysentry (x22/x15) с применением алгоритма ИПЖ щелочные батарейки служат примерно от 4 до 5 дней. Литиевые служат от 1 до 2 недель. Эта настройка будет использовать разную скорость падения напряжения батареек в зависимости от их химического типа и предупреждать пользователя за 8-10 часов до отказа "; - /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; /* Subtitle of Rapid-Acting – Children preset */ "An adjustment to the adult model based on empirical effects in children." = "Поправка к модели для взрослых основанная на эмпирических данных для детей"; +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Format fragment for a specific time */ +"at %@" = "В %@"; + /* The message displayed during a device authentication prompt for bolus specification */ "Authenticate to Bolus %@ Units" = "Подтверждение болюса %@ ед"; @@ -142,12 +144,15 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Жетон пользователя"; -/* The title of the mLab database name credential */ -"Database" = "База данных"; +/* The short unit display string for decibles */ +"dB" = "dB"; /* The title of the button to remove the credentials for a service */ "Delete Account" = "Удалить аккаунт"; +/* Title text for delivery limits */ +"Delivery Limits" = "Предел подачи"; + /* The title of the Dexcom Share service */ "Dexcom Share" = "Декском Шеар"; @@ -157,27 +162,15 @@ /* Title of the switch which toggles retrospective correction effects */ "Enable Retrospective Correction" = "Активирует ретроспективную коррекцию"; -/* The detail text describing an enabled setting */ -"Enabled" = "Активировано"; - /* The action hint of the workout mode toggle button when disabled */ "Enables" = "Активирует"; -/* The placeholder text instructing users how to enter a maximum bolus */ -"Enter a number of units" = "Введите кол-во единиц"; - -/* The placeholder text instructing users how to enter a maximum basal rate */ -"Enter a rate in units per hour" = "Введите скорость в единицах в час"; - /* The placeholder text instructing users to enter a suspend treshold */ "Enter suspend threshold" = "Введите рубеж приостановки"; -/* The placeholder text instructing users how to enter a pump ID */ +/* The placeholder text instructing users how to enter a transmitter ID */ "Enter the 6-digit transmitter ID" = "Введите инд. номер трансмиттера (6 цифр)"; -/* Describing the pump history insulin data source */ -"Event History" = "История событий"; - /* The subtitle format describing eventual glucose. (1: localized glucose value description) */ "Eventually %@" = "В конечном итоге %@"; @@ -190,20 +183,29 @@ /* The format string used to describe a finite workout targets duration */ "For %1$@" = "В течение %1$@"; +/* The short unit display string for grams */ +"g" = "г"; + /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "Ресивер G4 Шеар"; -/* The title text for the G5 Transmitter switch cell */ +/* The title text for the G5/G6 Transmitter switch cell */ "G5/G6 Transmitter" = "Трансмиттер G5/G6"; /* The title of the glucose and prediction graph */ "Glucose" = "Гликемия"; +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "Данным гликемии %1$@"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "Данные глюкозы недоступны"; + /* Title of the prediction input effect for glucose momentum */ "Glucose Momentum" = "Динамика гликемии"; -/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ -"Glucose data is %1$@ old" = "Данным гликемии %1$@"; +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://мойсайт. azurewebsites.net"; /* The title of a target alert action specifying an indefinitely long workout targets duration */ "Indefinitely" = "На неопределенное время"; @@ -224,9 +226,6 @@ The title text for the insulin sensitivity schedule */ "Insulin Sensitivities" = "Факторы чувствительности инсулина"; -/* Instructions on selecting an insulin data source */ -"Insulin delivery can be determined from the pump by either interpreting the event history or comparing the reservoir volume over time. Reading event history allows for a more accurate status graph and uploading up-to-date treatment data to Nightscout, at the cost of faster pump battery drain and the possibility of a higher radio error rate compared to reading only reservoir volume. If the selected source cannot be used for any reason, the system will attempt to fall back to the other option." = "Подача инсулина может определяться с помпы путем интерпретации истории событий или сравнением изменения объемов резервуара за прошедшее время. Чтение истории событий позволяет вычертить более точный график состояния и загрузить в Nightscout актуальные данные лечения/назначений (за счет более быстрого истощения батареи помпы и более высокого процента ошибок радиосвязи) по сравнению со считыванием данных только об объеме резервуара."; - /* The error message when invalid data was encountered. (1: details of invalid data) */ "Invalid data: %1$@" = "Неверные данные: %1$@"; @@ -251,18 +250,18 @@ /* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ "Loop has not completed successfully in %@" = "Ну удалось успешно замкнуть цикл/контур в %@"; -/* The description of a low transmitter battery with a leading space */ +/* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Низкий заряд батареи"; -/* The title text for the maximum basal rate value */ -"Maximum Basal Rate" = "Максимальная скорость подачи базала"; - -/* The title text for the maximum bolus value */ -"Maximum Bolus" = "Максимальный болюс"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "мг/дл"; /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Пропущены данные: %1$@"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + /* Sensor state description for the non-valid state */ "Needs Attention" = "Требует внимания"; @@ -290,20 +289,14 @@ /* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ "Predicted glucose of %1$@ is below your suspend threshold setting." = "Предсказываемая гликемия %1$@ ниже ваших настроек порога приостановки помпы"; -/* The title text for the preferred insulin data source config */ -"Preferred Data Source" = "Предпочтительный источник данных"; - /* The title of the pump section in settings */ "Pump" = "Помпа"; /* The notification title for a low pump battery */ "Pump Battery Low" = "Низкий заряд батареи помпы"; -/* The title text for the battery type value */ -"Pump Battery Type" = "Тип батареи помпы"; - -/* The title text for the pump ID config value */ -"Pump ID" = "Инд номер помпы"; +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Данные помпы от %1$@ "; /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "Резервуар помпы пуст"; @@ -311,9 +304,6 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Низкий уровень резервуара помпы"; -/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ -"Pump data is %1$@ old" = "Данные помпы от %1$@ "; - /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; @@ -335,9 +325,6 @@ /* The default placeholder string for a credential */ "Required" = "обязательный"; -/* Describing the reservoir insulin data source */ -"Reservoir" = "Резервуар"; - /* Title of the prediction input effect for retrospective correction */ "Retrospective Correction" = "Ретроспективная коррекция"; @@ -371,6 +358,9 @@ /* Loop Completion HUD accessibility hint */ "Shows last loop error" = "Показывает крайнюю ошибку помпы"; +/* Format fragment for a start time */ +"since %@" = "от %@"; + /* The title of the nightscout site URL credential */ "Site URL" = "URL сайта"; @@ -383,9 +373,6 @@ /* The title text in settings */ "Suspend Threshold" = "Порог приостановки"; -/* The empty-state text for a configuration value */ -"Tap to set" = "Щелкнуть чтобы задать"; - /* Subtitle description of Walsh insulin model setting */ "The legacy model used by Loop, allowing customization of action duration." = "Модель, используемая для цикла/контура, позволяет настройку длительности действия"; @@ -398,18 +385,15 @@ /* The description of the switch which toggles retrospective correction effects */ "This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Это более радикально понизит или увеличит подачу базала в тех случаях когда динамика гликемии не соответствует моделям основанным на углеводах и инсулине"; -/* The title text for the Dexcom G5 transmitter ID config value */ +/* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "Инд № трансмиттера"; -/* The unit string for units per hour */ -"U/hour" = "Ед/час"; +/* The short unit display string for international units of insulin */ +"U" = "ед"; /* U.S. share server option title */ "US" = "США"; -/* The unit string for units */ -"Units" = "Ед"; - /* The title of the alert controller used to select a duration for workout targets */ "Use Workout Glucose Targets" = "Применить цели гликемии как для физической нагрузки"; @@ -428,18 +412,3 @@ /* The label of the workout mode toggle button */ "Workout Targets" = "Целевые значения при физической нагрузке"; -/* Format fragment for a specific time */ -"at %@" = "В %@"; - -/* The placeholder text for the nightscout site URL credential */ -"https://mysite.azurewebsites.net" = "https://мойсайт. azurewebsites.net"; - -/* The title of the mLab service */ -"mLab" = "mLab"; - -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "ммоль/л"; - -/* Format fragment for a start time */ -"since %@" = "от %@"; - diff --git a/Loop/ru.lproj/Main.strings b/Loop/ru.lproj/Main.strings index db2511db8c..f0915a04c6 100644 --- a/Loop/ru.lproj/Main.strings +++ b/Loop/ru.lproj/Main.strings @@ -1,15 +1,15 @@ /* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ "3kU-n2-fha.title" = "Состояние"; -/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ -"5TX-kX-nBo.text" = "идентификационный № помпы"; - /* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ "5gz-kZ-iF1.text" = "3,5 ед./час @ 12:12 PM"; /* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ "5oA-6d-ZTL.text" = "Болюс"; +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "идентификационный № помпы"; + /* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ "7LT-50-ZzK.accessibilityLabel" = "Величина болюса"; @@ -19,96 +19,72 @@ /* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ "87H-N1-0vJ.text" = "Предсказываемый"; -/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ -"B9F-K3-7RI.text" = "Название"; - -/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ -"BR0-dr-Fj2.accessibilityLabel" = "Единицы"; - -/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ -"BR0-dr-Fj2.text" = "ед"; - -/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ -"D4C-I2-dhA.text" = "Будущие значения СК предсказываются на основе определения эффекта множественных факторов. Пользуйтесь этим инструментом для перехода между разными вводными чтобы увидеть как они сопоставимы с окончательным предсказанием"; - -/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ -"DyC-Sv-qP8.text" = "Устройства"; - -/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ -"E41-FN-nkk.text" = "в конечном итоге 92 мг/дл"; - -/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ -"EAn-Ja-S1d.text" = "Наблюдается"; - -/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ -"IxU-As-glo.text" = "Наблюдаются изменения СК, вычитаются изменения смоделированные на подаваемом инсулине, могут использоваться для оценки усвоения углеводов"; - -/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ -"J7x-W5-gwo.text" = "Детали"; - -/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ -"Krd-Aa-ret.text" = "Пометка"; - -/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ -"OFA-qT-ZAg.text" = "Пометка"; - -/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ -"PA3-sP-cWY.title" = "Предсказываемый СК"; - -/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ -"PJv-p9-cFe.text" = "Модель действия инсулина применяется для оценки влияния инсулина на уровни гликемии. Точная модель может помочь предотвратить переизбыток инсулина и рекомендовать безопасную коррекцию"; - -/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ -"Rse-x8-amW.text" = "в конечном итоге 92 мг/дл"; - -/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ -"SQx-au-ZcM.text" = "г COB"; - -/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ -"Vpi-5b-bY5.title" = "Углеводы"; - -/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ -"Wk3-xv-IM5.text" = "4 часа"; - -/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ -"Ya0-9b-ZAS.normalTitle" = "Доставить"; - /* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ "aCb-Qs-bpu.text" = "Детали"; /* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ "aiu-ZA-zVa.title" = "Болюс"; +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Название"; + /* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ "bIL-Ub-qYp.text" = "Пометка"; /* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ "bq4-98-cQU.text" = "Изменение глюкозы"; +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "Единицы"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "ед"; + /* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ "cpo-Po-gFM.text" = "Пометка"; /* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ "d3X-AN-tA5.text" = "всего грамм"; +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "Будущие значения СК предсказываются на основе определения эффекта множественных факторов. Пользуйтесь этим инструментом для перехода между разными вводными чтобы увидеть как они сопоставимы с окончательным предсказанием"; + /* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ "d6m-qV-wWi.text" = "Пометка"; /* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ "dmB-PQ-B44.title" = "Настройки"; +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "Устройства"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "в конечном итоге 92 мг/дл"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Наблюдается"; + /* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ "hHZ-uY-aKw.text" = "Активные углеводы : 40 г"; /* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ "hZZ-2S-lrd.title" = "Действие углеводов"; +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Наблюдаются изменения СК, вычитаются изменения смоделированные на подаваемом инсулине, могут использоваться для оценки усвоения углеводов"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Детали"; + /* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ "k0g-P7-OVN.text" = "⚠ Предсказываемая гликемия ниже диапазона"; /* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ "k3F-Na-7mn.text" = "Рекомендуемый базал"; +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Пометка"; + /* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ "l7l-mw-Oc9.text" = "Пометка"; @@ -121,9 +97,24 @@ /* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ "mVz-dr-xLU.text" = "Ед"; +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Пометка"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Предсказываемый СК"; + /* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ "pi6-Dh-72V.title" = "Модель инсулина"; +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "Модель действия инсулина применяется для оценки влияния инсулина на уровни гликемии. Точная модель может помочь предотвратить переизбыток инсулина и рекомендовать безопасную коррекцию"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "в конечном итоге 92 мг/дл"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "г COB"; + /* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ "tuw-av-A3x.text" = "Гликемия"; @@ -133,6 +124,15 @@ /* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ "viU-7a-kbI.text" = "Активный инсулин: 1,5 ед"; +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Углеводы"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 часа"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Доставить"; + /* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ "yn7-2M-jZz.text" = "0"; diff --git a/Loop/zh-Hans.lproj/InfoPlist.strings b/Loop/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000000..03b550bc9c --- /dev/null +++ b/Loop/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1,18 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Loop"; + +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* Privacy - Bluetooth Peripheral Usage Description */ +"NSBluetoothPeripheralUsageDescription" = "蓝牙用于与胰岛素泵和连续血糖监测设备进行通信"; + +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "使用人脸解锁来确认输注胰岛素剂量"; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "数据库中的膳食数据用于确定葡萄糖影响。健康数据库中的葡萄糖数据用于绘图和动量计算。"; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "在应用程序和手表中输入的碳水化合物膳食数据存储在健康数据库中。从CGM检索的葡萄糖数据安全地存储在HealthKit中。"; + diff --git a/Loop/zh-Hans.lproj/LaunchScreen.strings b/Loop/zh-Hans.lproj/LaunchScreen.strings new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Loop/zh-Hans.lproj/LaunchScreen.strings @@ -0,0 +1 @@ + diff --git a/Loop/zh-Hans.lproj/Localizable.strings b/Loop/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000000..68afd989de --- /dev/null +++ b/Loop/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,414 @@ +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = "(待执行: %@)"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ 已吸收"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ 单位 总量"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string for carb ratio average. (1: value)(2: carb unit) + Format string for insulin sensitivity average (1: value)(2: glucose unit) */ +"%1$@ %2$@/U" = "%1$@ %2$@/单位"; + +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + +/* Low reservoir alert format string. (1: Number of units remaining) */ +"%1$@ U left" = "%1$@ 单位 剩余"; + +/* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ +"%1$@ U left: %2$@" = "%1$@ 单位 剩余: %2$@"; + +/* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ +"%1$@ U/hour @ %2$@" = "%1$@ 单位/小时 @ %2$@"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/分钟"; + +/* Description of the prediction input effect for glucose momentum */ +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15分钟葡萄糖回归系数(b1),持续30分钟衰减"; + +/* Description of the prediction input effect for retrospective correction */ +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30分钟葡萄糖预测与实际比较,持续60分钟以上衰减"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "基于公布的Fiasp胰岛素吸收的模型"; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "基于已公布的Humalog,Novolog和Apidra胰岛素在成人中吸收的模型。"; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "按照推荐的大剂量输注"; + +/* The title of the Carbs On-Board graph */ +"Active Carbohydrates" = "活性碳水化合物"; + +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "活性碳水化合物: %@"; + +/* The title of the Insulin On-Board graph */ +"Active Insulin" = "活性胰岛素"; + +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "活性胰岛素: %@"; + +/* The title of the button to add the credentials for a service */ +"Add Account" = "添加账户"; + +/* The label of the carb entry button */ +"Add Meal" = "添加用餐信息"; + +/* Title text for button to set up a new pump */ +"Add Pump" = "添加泵"; + +/* The title of the section containing algorithm settings */ +"Algorithm Settings" = "算法设置"; + +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "在成人胰岛素模型基础上专为儿童修改的胰岛素代谢模型"; + +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API密码"; + +/* Format fragment for a specific time */ +"at %@" = "%@分钟内"; + +/* The message displayed during a device authentication prompt for bolus specification */ +"Authenticate to Bolus %@ Units" = "解锁以输注大剂量 %@ 单位"; + +/* The title of the basal rate profile screen + The title text for the basal rate schedule */ +"Basal Rates" = "基础率"; + +/* The label of the bolus entry button + The notification title for a bolus failure */ +"Bolus" = "大剂量"; + +/* The title of the cancel action in an action sheet */ +"Cancel" = "取消"; + +/* The title of the carb ratios schedule screen + The title text for the carb ratio schedule */ +"Carb Ratios" = "碳水化合物吸收率"; + +/* Title of the prediction input effect for carbohydrates */ +"Carbohydrates" = "碳水化合物"; + +/* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "已吸收碳水化合物(克)÷碳水化合物吸收率(克 / 单位)×胰岛素敏感系数 (%1$@/单位)"; + +/* The notification alert describing a low pump battery */ +"Change the pump battery immediately" = "立即更换胰岛素泵电池"; + +/* The notification alert describing an empty pump reservoir */ +"Change the pump reservoir now" = "立即更换储药器"; + +/* The title text for the looping enabled switch cell */ +"Closed Loop" = "开启闭环"; + +/* The title of the configuration section in settings */ +"Configuration" = "配置"; + +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "配置错误:%1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "连续葡萄糖监测"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "修正范围"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "当前葡萄糖%1$@低于修正范围"; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "用户Token"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The title of the button to remove the credentials for a service */ +"Delete Account" = "删除账户"; + +/* Title text for delivery limits */ +"Delivery Limits" = "输注限制"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "德康远程"; + +/* The action hint of the workout mode toggle button when enabled */ +"Disables" = "禁用"; + +/* Title of the switch which toggles retrospective correction effects */ +"Enable Retrospective Correction" = "启用回溯修正算法"; + +/* The action hint of the workout mode toggle button when disabled */ +"Enables" = "启用"; + +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "输入暂停阈值"; + +/* The placeholder text instructing users how to enter a transmitter ID */ +"Enter the 6-digit transmitter ID" = "输入6位数的发射器编号"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) */ +"Eventually %@" = "最终 %@"; + +/* The title of the alert describing a maximum bolus validation error */ +"Exceeds Maximum Bolus" = "超过大剂量最大输注限制"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The format string used to describe a finite workout targets duration */ +"For %1$@" = "对于 %1$@"; + +/* The short unit display string for grams */ +"g" = "克"; + +/* The title text for the G4 Share Receiver switch cell */ +"G4 Share Receiver" = "带有蓝牙功能G4接收器"; + +/* The title text for the G5/G6 Transmitter switch cell */ +"G5/G6 Transmitter" = "G5/G6发射器"; + +/* The title of the glucose and prediction graph */ +"Glucose" = "葡萄糖"; + +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "葡萄糖%1$@分钟未更新"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "葡萄糖数据不可用"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "葡萄糖增量预测算法"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; + +/* The title of a target alert action specifying an indefinitely long workout targets duration */ +"Indefinitely" = "永久"; + +/* Title of the prediction input effect for insulin */ +"Insulin" = "胰岛素"; + +/* Description of the prediction input effect for insulin */ +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "已吸收胰岛素×胰岛素敏感系数"; + +/* The title of the insulin delivery graph */ +"Insulin Delivery" = "已输注胰岛素"; + +/* The title text for the insulin model setting row */ +"Insulin Model" = "胰岛素模型"; + +/* The title of the insulin sensitivities schedule screen + The title text for the insulin sensitivity schedule */ +"Insulin Sensitivities" = "胰岛素敏感系数"; + +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "无效数据: %1$@"; + +/* The title text for the issue report cell */ +"Issue Report" = "反馈问题"; + +/* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ +"Last comparison: %1$@ → %2$@ vs %3$@" = "的最后一次对比: %1$@ → %2$@ vs %3$@"; + +/* Glucose HUD accessibility hint */ +"Launches CGM app" = "启动CGM软件"; + +/* The loading message for the diagnostic report screen */ +"Loading..." = "读取中..."; + +/* The title of the loggly service */ +"Loggly" = "Loggly"; + +/* The notification title for a loop failure */ +"Loop Failure" = "Loop失败"; + +/* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ +"Loop has not completed successfully in %@" = "Loop运行异常 %@"; + +/* The description of a low G5/G6 transmitter battery with a leading space */ +"Low Battery" = "电量低"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "毫克/分升"; + +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "数据缺失: %1$@"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "毫摩尔/升"; + +/* Sensor state description for the non-valid state */ +"Needs Attention" = "请注意"; + +/* The title of the Nightscout service */ +"Nightscout" = "Nightscout"; + +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "没有连接的设备,或设备连接期间发生故障"; + +/* Sensor state description for the valid state */ +"OK" = "好"; + +/* Outside US share server option title */ +"Outside US" = "非美国地区"; + +/* The title of the Dexcom share password credential */ +"Password" = "密码"; + +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "餐前目标"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "预测%1$@时的葡萄糖是%2$@"; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "预测葡萄糖%1$@低于您的暂停阈值设置"; + +/* The title of the pump section in settings */ +"Pump" = "胰岛素泵"; + +/* The notification title for a low pump battery */ +"Pump Battery Low" = "胰岛素泵电量低"; + +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "胰岛素泵数据%1$@分钟未更新"; + +/* The notification title for an empty pump reservoir */ +"Pump Reservoir Empty" = "储药器药量已用完"; + +/* The notification title for a low pump reservoir */ +"Pump Reservoir Low" = "药量低"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "速效胰岛素 - 成人模型"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "速效胰岛素 - 儿童模型"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "%1$@分钟前推荐剂量已过期"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "推荐基础率"; + +/* Accessibility hint describing recommended bolus units */ +"Recommended Bolus: %@ Units" = "推荐大剂量:%@单位"; + +/* The default placeholder string for a credential */ +"Required" = "需要"; + +/* Title of the prediction input effect for retrospective correction */ +"Retrospective Correction" = "回顾性修正"; + +/* The title of the notification action to retry a bolus command */ +"Retry" = "重试"; + +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "传感器校准成功"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "传感器处于未知状态 %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "传感器停止"; + +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "传感器在启动中"; + +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "传感器需要校准"; + +/* The title of the Dexcom share server URL credential */ +"Server" = "服务器"; + +/* The title of the services section in settings */ +"Services" = "服务"; + +/* The label of the settings button */ +"Settings" = "设置"; + +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "显示Loop上一次的错误"; + +/* Format fragment for a start time */ +"since %@" = "自从%@分钟前"; + +/* The title of the nightscout site URL credential */ +"Site URL" = "网址"; + +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; + +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "开始输注大剂量"; + +/* The title text in settings */ +"Suspend Threshold" = "暂停阈值"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Loop使用的默认模型参数,您可以自行修改胰岛素代谢时间。"; + +/* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ +"The maximum bolus amount is %@ Units" = "大剂量输注最大限制为%@单位"; + +/* Instructions on where to find the transmitter ID */ +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "G5发射器编号可以在发射器背部,或者发射器包盒、以及接收器找找到"; + +/* The description of the switch which toggles retrospective correction effects */ +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "当葡萄糖与碳水化合物和基于胰岛素的模型不匹配时,这将更积极地增加或减少基础递送。"; + +/* The title text for the Dexcom G5/G6 transmitter ID config value */ +"Transmitter ID" = "发射器编号"; + +/* The short unit display string for international units of insulin */ +"U" = "单位"; + +/* U.S. share server option title */ +"US" = "美国"; + +/* The title of the alert controller used to select a duration for workout targets */ +"Use Workout Glucose Targets" = "使用运动状态的血糖目标"; + +/* The title of the Dexcom share username credential */ +"Username" = "用户名"; + +/* Label indicating validation is occurring */ +"Verifying" = "验证"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "当前或预测的葡萄糖低于暂停阈值时,Loop不推荐推注,并且总是建议每小时0单位的临时基础速率。"; + +/* The label of the workout mode toggle button */ +"Workout Targets" = "运动模式血糖目标"; + diff --git a/Loop/zh-Hans.lproj/Main.strings b/Loop/zh-Hans.lproj/Main.strings new file mode 100644 index 0000000000..e9edcd3dd9 --- /dev/null +++ b/Loop/zh-Hans.lproj/Main.strings @@ -0,0 +1,147 @@ +/* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ +"3kU-n2-fha.title" = "状态"; + +/* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ +"5gz-kZ-iF1.text" = "3.5u/小时 @ 12:12 PM"; + +/* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ +"5oA-6d-ZTL.text" = "大剂量"; + +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "胰岛素泵序列号"; + +/* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.accessibilityLabel" = "大剂量剂量"; + +/* Class = "UITextField"; placeholder = "0.0"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.placeholder" = "0.0"; + +/* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ +"87H-N1-0vJ.text" = "预计"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ +"aCb-Qs-bpu.text" = "详细"; + +/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ +"aiu-ZA-zVa.title" = "大剂量"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "标题"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ +"bIL-Ub-qYp.text" = "标签"; + +/* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ +"bq4-98-cQU.text" = "葡萄糖变化"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "单位"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "单位"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ +"cpo-Po-gFM.text" = "标签"; + +/* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ +"d3X-AN-tA5.text" = "克 总计"; + +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "未来血糖根据您输入的多种参数计算,选中不同选项可以观察不同输入对最终血糖预测的影响"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ +"d6m-qV-wWi.text" = "标签"; + +/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ +"dmB-PQ-B44.title" = "设置"; + +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "设备"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "最终血糖为92 毫克/分升"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "观察值"; + +/* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ +"hHZ-uY-aKw.text" = "活性碳水化合物:40克"; + +/* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ +"hZZ-2S-lrd.title" = " 碳水化合物的影响"; + +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "观察到的葡萄糖变化,减去以胰岛素递送为模型的变化,可用于估计碳水化合物吸收。"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "详情"; + +/* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ +"k0g-P7-OVN.text" = "⚠ 预测葡萄糖低于目标范围"; + +/* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ +"k3F-Na-7mn.text" = "推荐基础率"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Label"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ +"l7l-mw-Oc9.text" = "标签"; + +/* Class = "UILabel"; text = "Tap to set"; ObjectID = "m9c-SQ-djE"; */ +"m9c-SQ-djE.text" = "点击设置"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.accessibilityLabel" = "单位"; + +/* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.text" = "单位"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "标签"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "预测的血糖"; + +/* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ +"pi6-Dh-72V.title" = "胰岛素模型"; + +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "胰岛素代谢模型用于估计胰岛素对葡萄糖水平的影响。 准确的模型可以帮助预防胰岛素蓄积并安全地推荐校正剂量。"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "最终血糖为92 毫克/分升"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "活性碳水化合物 克"; + +/* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ +"tuw-av-A3x.text" = "葡萄糖"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "ufi-Kj-33k"; */ +"ufi-Kj-33k.text" = "标签"; + +/* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ +"viU-7a-kbI.text" = "活性胰岛素:1.5单位"; + +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "碳水化合物"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4小时"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "输注"; + +/* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ +"yn7-2M-jZz.text" = "0"; + +/* Class = "UILabel"; text = "Recommended"; ObjectID = "ywT-OR-NnU"; */ +"ywT-OR-NnU.text" = "建议"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "zbc-87-wxZ"; */ +"zbc-87-wxZ.text" = "标题"; + +/* Class = "UILabel"; text = "0"; ObjectID = "zvZ-uf-zMX"; */ +"zvZ-uf-zMX.text" = "0"; + diff --git a/LoopTests/de.lproj/InfoPlist.strings b/LoopTests/de.lproj/InfoPlist.strings new file mode 100644 index 0000000000..bbcf8f9040 --- /dev/null +++ b/LoopTests/de.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopTests/es.lproj/InfoPlist.strings b/LoopTests/es.lproj/InfoPlist.strings new file mode 100644 index 0000000000..bbcf8f9040 --- /dev/null +++ b/LoopTests/es.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopTests/fr.lproj/InfoPlist.strings b/LoopTests/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..bbcf8f9040 --- /dev/null +++ b/LoopTests/fr.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopTests/it.lproj/InfoPlist.strings b/LoopTests/it.lproj/InfoPlist.strings new file mode 100644 index 0000000000..bbcf8f9040 --- /dev/null +++ b/LoopTests/it.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopTests/nb.lproj/InfoPlist.strings b/LoopTests/nb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..bbcf8f9040 --- /dev/null +++ b/LoopTests/nb.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopTests/nl.lproj/InfoPlist.strings b/LoopTests/nl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..bbcf8f9040 --- /dev/null +++ b/LoopTests/nl.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopTests/ru.lproj/InfoPlist.strings b/LoopTests/ru.lproj/InfoPlist.strings new file mode 100644 index 0000000000..bbcf8f9040 --- /dev/null +++ b/LoopTests/ru.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopTests/zh-Hans.lproj/InfoPlist.strings b/LoopTests/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000000..e69de29bb2 diff --git a/LoopUI/Views/BasalRateHUDView.swift b/LoopUI/Views/BasalRateHUDView.swift index 58e39bd2ea..0c44579a5e 100644 --- a/LoopUI/Views/BasalRateHUDView.swift +++ b/LoopUI/Views/BasalRateHUDView.swift @@ -18,7 +18,7 @@ public final class BasalRateHUDView: BaseHUDView { basalRateLabel?.text = String(format: basalRateFormatString, "–") updateTintColor() - accessibilityValue = NSLocalizedString("Unknown", comment: "Accessibility value for an unknown value") + accessibilityValue = LocalizedString("Unknown", comment: "Accessibility value for an unknown value") } } @@ -31,7 +31,7 @@ public final class BasalRateHUDView: BaseHUDView { basalRateLabel?.textColor = tintColor } - private lazy var basalRateFormatString = NSLocalizedString("%@ U", comment: "The format string describing the basal rate.") + private lazy var basalRateFormatString = LocalizedString("%@ U", comment: "The format string describing the basal rate.") public func setNetBasalRate(_ rate: Double, percent: Double, at date: Date) { let time = timeFormatter.string(from: date) @@ -39,7 +39,7 @@ public final class BasalRateHUDView: BaseHUDView { if let rateString = decimalFormatter.string(from: rate) { basalRateLabel?.text = String(format: basalRateFormatString, rateString) - accessibilityValue = String(format: NSLocalizedString("%1$@ units per hour at %2$@", comment: "Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time)"), rateString, time) + accessibilityValue = String(format: LocalizedString("%1$@ units per hour at %2$@", comment: "Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time)"), rateString, time) } else { basalRateLabel?.text = nil accessibilityValue = nil diff --git a/LoopUI/Views/GlucoseHUDView.swift b/LoopUI/Views/GlucoseHUDView.swift index 136c30f2ac..9a7acf26c9 100644 --- a/LoopUI/Views/GlucoseHUDView.swift +++ b/LoopUI/Views/GlucoseHUDView.swift @@ -97,7 +97,7 @@ public final class GlucoseHUDView: BaseHUDView { let numberFormatter = NumberFormatter.glucoseFormatter(for: unit) if let valueString = numberFormatter.string(from: glucoseQuantity) { glucoseLabel.text = valueString - accessibilityStrings.append(String(format: NSLocalizedString("%1$@ at %2$@", comment: "Accessbility format value describing glucose: (1: glucose number)(2: glucose time)"), valueString, time)) + accessibilityStrings.append(String(format: LocalizedString("%1$@ at %2$@", comment: "Accessbility format value describing glucose: (1: glucose number)(2: glucose time)"), valueString, time)) } var unitStrings = [unit.localizedShortUnitString] @@ -111,7 +111,7 @@ public final class GlucoseHUDView: BaseHUDView { sensorAlertState = .missing } else if sensor!.isStateValid == false { sensorAlertState = .invalid - accessibilityStrings.append(NSLocalizedString("Needs attention", comment: "Accessibility label component for glucose HUD describing an invalid state")) + accessibilityStrings.append(LocalizedString("Needs attention", comment: "Accessibility label component for glucose HUD describing an invalid state")) } else if sensor!.isLocal == false { sensorAlertState = .remote } else { diff --git a/LoopUI/Views/LevelHUDView.swift b/LoopUI/Views/LevelHUDView.swift index f15be707f0..aec0371fd8 100644 --- a/LoopUI/Views/LevelHUDView.swift +++ b/LoopUI/Views/LevelHUDView.swift @@ -17,7 +17,7 @@ public class LevelHUDView: BaseHUDView { updateColor() - accessibilityValue = NSLocalizedString("Unknown", comment: "Accessibility value for an unknown value") + accessibilityValue = LocalizedString("Unknown", comment: "Accessibility value for an unknown value") } public var stateColors: StateColorPalette? { diff --git a/LoopUI/Views/LoopCompletionHUDView.swift b/LoopUI/Views/LoopCompletionHUDView.swift index 13982c7456..077f699998 100644 --- a/LoopUI/Views/LoopCompletionHUDView.swift +++ b/LoopUI/Views/LoopCompletionHUDView.swift @@ -143,25 +143,25 @@ public final class LoopCompletionHUDView: BaseHUDView { UIContentSizeCategory.medium, UIContentSizeCategory.large: // Use a longer form only for smaller text sizes - caption.text = String(format: NSLocalizedString("%@ ago", comment: "Format string describing the time interval since the last completion date. (1: The localized date components"), timeString) + caption.text = String(format: LocalizedString("%@ ago", comment: "Format string describing the time interval since the last completion date. (1: The localized date components"), timeString) default: caption.text = timeString } - accessibilityLabel = String(format: NSLocalizedString("Loop ran %@ ago", comment: "Accessbility format label describing the time interval since the last completion date. (1: The localized date components)"), timeString) + accessibilityLabel = String(format: LocalizedString("Loop ran %@ ago", comment: "Accessbility format label describing the time interval since the last completion date. (1: The localized date components)"), timeString) } else { caption.text = "—" accessibilityLabel = nil } } else { caption.text = "—" - accessibilityLabel = NSLocalizedString("Waiting for first run", comment: "Acessibility label describing completion HUD waiting for first run") + accessibilityLabel = LocalizedString("Waiting for first run", comment: "Acessibility label describing completion HUD waiting for first run") } if dosingEnabled { - accessibilityHint = NSLocalizedString("Closed loop", comment: "Accessibility hint describing completion HUD for a closed loop") + accessibilityHint = LocalizedString("Closed loop", comment: "Accessibility hint describing completion HUD for a closed loop") } else { - accessibilityHint = NSLocalizedString("Open loop", comment: "Accessbility hint describing completion HUD for an open loop") + accessibilityHint = LocalizedString("Open loop", comment: "Accessbility hint describing completion HUD for an open loop") } } diff --git a/LoopUI/Views/ReservoirVolumeHUDView.swift b/LoopUI/Views/ReservoirVolumeHUDView.swift index d78850e21a..6f57fe09d1 100644 --- a/LoopUI/Views/ReservoirVolumeHUDView.swift +++ b/LoopUI/Views/ReservoirVolumeHUDView.swift @@ -55,11 +55,11 @@ public final class ReservoirVolumeHUDView: LevelHUDView { public func setReservoirVolume(volume: Double, at date: Date) { if let units = numberFormatter.string(from: volume) { - volumeLabel.text = String(format: NSLocalizedString("%@U", comment: "Format string for reservoir volume. (1: The localized volume)"), units) + volumeLabel.text = String(format: LocalizedString("%@U", comment: "Format string for reservoir volume. (1: The localized volume)"), units) let time = timeFormatter.string(from: date) caption?.text = time - accessibilityValue = String(format: NSLocalizedString("%1$@ units remaining at %2$@", comment: "Accessibility format string for (1: localized volume)(2: time)"), units, time) + accessibilityValue = String(format: LocalizedString("%1$@ units remaining at %2$@", comment: "Accessibility format string for (1: localized volume)(2: time)"), units, time) } } } diff --git a/LoopUI/de.lproj/InfoPlist.strings b/LoopUI/de.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/de.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/de.lproj/Localizable.strings b/LoopUI/de.lproj/Localizable.strings new file mode 100644 index 0000000000..41a0d71700 --- /dev/null +++ b/LoopUI/de.lproj/Localizable.strings @@ -0,0 +1,54 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "vor %@"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ E"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@U"; + +/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ +"%1$@ at %2$@" = "%1$@ in %2$@"; + +/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ +"%1$@ units per hour at %2$@" = "%1$@ Einheiten pro Stunde in %2$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ verbleibende Einheiten in %2$@"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "Geschlossener Loop"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "Loop lief seit %@"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Accessibility label component for glucose HUD describing an invalid state */ +"Needs attention" = "Erfordert Aufmerksamkeit"; + +/* Accessbility hint describing completion HUD for an open loop */ +"Open loop" = "Offener Loop"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* Accessibility value for an unknown value */ +"Unknown" = "Unbekannt"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "Warten auf erste Ausführung"; + diff --git a/LoopUI/es.lproj/Localizable.strings b/LoopUI/es.lproj/Localizable.strings index 4997127206..c629b57ec6 100644 --- a/LoopUI/es.lproj/Localizable.strings +++ b/LoopUI/es.lproj/Localizable.strings @@ -1,3 +1,12 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "hace %@"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ U"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@U"; + /* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ "%1$@ at %2$@" = "%1$@ en %2$@"; @@ -7,33 +16,24 @@ /* Accessibility format string for (1: localized volume)(2: time) */ "%1$@ units remaining at %2$@" = "%1$@ unidades restantes a %2$@"; -/* The format string describing the basal rate. */ -"%@ U" = "%@ U"; - -/* Format string describing the time interval since the last completion date. (1: The localized date components */ -"%@ ago" = "hace %@"; - -/* Format string for reservoir volume. (1: The localized volume) */ -"%@U" = "%@U"; - /* Accessibility hint describing completion HUD for a closed loop */ "Closed loop" = "Asa cerrada"; -/* Glucose trend down */ -"Falling" = "Bajando"; +/* The short unit display string for decibles */ +"dB" = "dB"; -/* Glucose trend down-down */ -"Falling fast" = "Bajando rápido"; - -/* Glucose trend down-down-down */ -"Falling very fast" = "Bajando muy rápido"; - -/* Glucose trend flat */ -"Flat" = "Estable"; +/* The short unit display string for grams */ +"g" = "g"; /* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ "Loop ran %@ ago" = "Loop corrió hace %@"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Accessibility label component for glucose HUD describing an invalid state */ "Needs attention" = "Necesita atención"; @@ -43,14 +43,8 @@ /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; -/* Glucose trend up */ -"Rising" = "Subiendo"; - -/* Glucose trend up-up */ -"Rising fast" = "Subiendo rápido"; - -/* Glucose trend up-up-up */ -"Rising very fast" = "Subiendo muy rápido"; +/* The short unit display string for international units of insulin */ +"U" = "U"; /* Accessibility value for an unknown value */ "Unknown" = "Desconocido"; @@ -58,6 +52,3 @@ /* Acessibility label describing completion HUD waiting for first run */ "Waiting for first run" = "Esperando el primer uso"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; - diff --git a/LoopUI/fr.lproj/InfoPlist.strings b/LoopUI/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/fr.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/fr.lproj/Localizable.strings b/LoopUI/fr.lproj/Localizable.strings new file mode 100644 index 0000000000..5a8db48187 --- /dev/null +++ b/LoopUI/fr.lproj/Localizable.strings @@ -0,0 +1,54 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "Il y a %@"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ U"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@U"; + +/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ +"%1$@ at %2$@" = "%1$@ à %2$@"; + +/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ +"%1$@ units per hour at %2$@" = "%1$@ unités par heure à %2$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ unités restants à %2$@"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "Loop fermée"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "Loop a roulé il y a %@"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Accessibility label component for glucose HUD describing an invalid state */ +"Needs attention" = "Nécessite de l'attention"; + +/* Accessbility hint describing completion HUD for an open loop */ +"Open loop" = "Loop ouverte"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Accessibility value for an unknown value */ +"Unknown" = "Inconnu"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "En attente de la première exécution"; + diff --git a/LoopUI/it.lproj/InfoPlist.strings b/LoopUI/it.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/it.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/it.lproj/Localizable.strings b/LoopUI/it.lproj/Localizable.strings new file mode 100644 index 0000000000..00424f37e1 --- /dev/null +++ b/LoopUI/it.lproj/Localizable.strings @@ -0,0 +1,54 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "%@ fa"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ U"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@U"; + +/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ +"%1$@ at %2$@" = "%1$@ a %2$@"; + +/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ +"%1$@ units per hour at %2$@" = "%1$@ unità per ora a %2$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ unità residua a %2$@"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "Loop chiuso"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "Loop funziona %@ fa"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Accessibility label component for glucose HUD describing an invalid state */ +"Needs attention" = "Esige attenzione"; + +/* Accessbility hint describing completion HUD for an open loop */ +"Open loop" = "Loop aperto"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Accessibility value for an unknown value */ +"Unknown" = "Sconosciuto"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "In attesa di prima esecuzione"; + diff --git a/LoopUI/nb.lproj/InfoPlist.strings b/LoopUI/nb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/nb.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/nb.lproj/Localizable.strings b/LoopUI/nb.lproj/Localizable.strings new file mode 100644 index 0000000000..0a8b6ffba7 --- /dev/null +++ b/LoopUI/nb.lproj/Localizable.strings @@ -0,0 +1,54 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "%@ siden"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ E"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@E"; + +/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ +"%1$@ at %2$@" = "%1$@ kl. %2$@"; + +/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ +"%1$@ units per hour at %2$@" = "%1$@ enheter per time kl. %2$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ enheter igjen kl. %2$@"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "Lukket Loop"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "Loop kjørte %@ siden"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Accessibility label component for glucose HUD describing an invalid state */ +"Needs attention" = "Trenger tilsyn"; + +/* Accessbility hint describing completion HUD for an open loop */ +"Open loop" = "Åpen Loop"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Accessibility value for an unknown value */ +"Unknown" = "Ukjent"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "Venter på første kjøring"; + diff --git a/LoopUI/nl.lproj/InfoPlist.strings b/LoopUI/nl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/nl.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/nl.lproj/Localizable.strings b/LoopUI/nl.lproj/Localizable.strings new file mode 100644 index 0000000000..ee4c09b1b5 --- /dev/null +++ b/LoopUI/nl.lproj/Localizable.strings @@ -0,0 +1,54 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "%@ geleden"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ E"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@E"; + +/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ +"%1$@ at %2$@" = "%1$@ op %2$@"; + +/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ +"%1$@ units per hour at %2$@" = "%1$@ eenheden per uur op %2$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ eenheden resterend op %2$@"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "Closed loop"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "gr"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "Loop heeft %@ geleden gedraaid"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Accessibility label component for glucose HUD describing an invalid state */ +"Needs attention" = "Aandacht Benodigd"; + +/* Accessbility hint describing completion HUD for an open loop */ +"Open loop" = "Open loop"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + +/* Accessibility value for an unknown value */ +"Unknown" = "Onbekend"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "Wachten op eerste run"; + diff --git a/LoopUI/ru.lproj/Localizable.strings b/LoopUI/ru.lproj/Localizable.strings index 592ce0feae..62b83425d4 100644 --- a/LoopUI/ru.lproj/Localizable.strings +++ b/LoopUI/ru.lproj/Localizable.strings @@ -1,3 +1,12 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "%@ назад"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ ед"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@ед"; + /* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ "%1$@ at %2$@" = "%1$@ в %2$@ "; @@ -7,33 +16,24 @@ /* Accessibility format string for (1: localized volume)(2: time) */ "%1$@ units remaining at %2$@" = "%1$@ ед остающихся в %2$@"; -/* The format string describing the basal rate. */ -"%@ U" = "%@ ед"; - -/* Format string describing the time interval since the last completion date. (1: The localized date components */ -"%@ ago" = "%@ назад"; - -/* Format string for reservoir volume. (1: The localized volume) */ -"%@U" = "%@ед"; - /* Accessibility hint describing completion HUD for a closed loop */ "Closed loop" = "Алгоритм замкнутого цикла"; -/* Glucose trend down */ -"Falling" = "Падение"; +/* The short unit display string for decibles */ +"dB" = "dB"; -/* Glucose trend down-down */ -"Falling fast" = "Быстрое падение"; - -/* Glucose trend down-down-down */ -"Falling very fast" = "Очень быстрое падение"; - -/* Glucose trend flat */ -"Flat" = "Стабильно"; +/* The short unit display string for grams */ +"g" = "г"; /* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ "Loop ran %@ ago" = "Алгоритм цикла запущен %@ назад"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "мг/дл"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + /* Accessibility label component for glucose HUD describing an invalid state */ "Needs attention" = "Требует внимания"; @@ -43,14 +43,8 @@ /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; -/* Glucose trend up */ -"Rising" = "Повышение"; - -/* Glucose trend up-up */ -"Rising fast" = "Быстрое повышение"; - -/* Glucose trend up-up-up */ -"Rising very fast" = "Очень быстрое повышение"; +/* The short unit display string for international units of insulin */ +"U" = "ед"; /* Accessibility value for an unknown value */ "Unknown" = "Неизвестно"; @@ -58,6 +52,3 @@ /* Acessibility label describing completion HUD waiting for first run */ "Waiting for first run" = "Ожидает первичного запуска"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "ммоль/л"; - diff --git a/LoopUI/zh-Hans.lproj/InfoPlist.strings b/LoopUI/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/zh-Hans.lproj/Localizable.strings b/LoopUI/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000000..855a1631a0 --- /dev/null +++ b/LoopUI/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,54 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "之前%@"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ 单位"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@单位"; + +/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ +"%1$@ at %2$@" = "%1$@ at %2$@"; + +/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ +"%1$@ units per hour at %2$@" = "%1$@ 每小时的单位 %2$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ 剩余的单位 %2$@"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "启动闭环"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "克"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "闭环已停止运行%@"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "毫克/分升"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "毫摩尔/升"; + +/* Accessibility label component for glucose HUD describing an invalid state */ +"Needs attention" = "请注意"; + +/* Accessbility hint describing completion HUD for an open loop */ +"Open loop" = "关闭闭环"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "单位"; + +/* Accessibility value for an unknown value */ +"Unknown" = "未知"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "等待第一次运行"; + diff --git a/WatchApp Extension/Base.lproj/InfoPlist.strings b/WatchApp Extension/Base.lproj/InfoPlist.strings new file mode 100644 index 0000000000..06077199aa --- /dev/null +++ b/WatchApp Extension/Base.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp Extension/Base.lproj/Localizable.strings b/WatchApp Extension/Base.lproj/Localizable.strings new file mode 100644 index 0000000000..eec161a5e6 --- /dev/null +++ b/WatchApp Extension/Base.lproj/Localizable.strings @@ -0,0 +1,37 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "Bolus Failed"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "Dismiss"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ +"Make sure your iPhone is nearby and try again" = "Make sure your iPhone is nearby and try again"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "Rec: %@ U"; + +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ +"Send Failed" = "Send Failed"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + + diff --git a/WatchApp Extension/de.lproj/InfoPlist.strings b/WatchApp Extension/de.lproj/InfoPlist.strings new file mode 100644 index 0000000000..06077199aa --- /dev/null +++ b/WatchApp Extension/de.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp Extension/de.lproj/Localizable.strings b/WatchApp Extension/de.lproj/Localizable.strings new file mode 100644 index 0000000000..7e701ddebe --- /dev/null +++ b/WatchApp Extension/de.lproj/Localizable.strings @@ -0,0 +1,36 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "Bolus fehlgeschlagen"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "Verwerfen"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ +"Make sure your iPhone is nearby and try again" = "Stellen Sie sicher, dass Ihr iPhone in der Nähe ist, und versuchen Sie es erneut."; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "Empfohlen: %@ E"; + +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ +"Send Failed" = "Senden fehlgeschlagen"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + diff --git a/WatchApp Extension/de.lproj/ckcomplication.strings b/WatchApp Extension/de.lproj/ckcomplication.strings new file mode 100644 index 0000000000..f05b483c67 --- /dev/null +++ b/WatchApp Extension/de.lproj/ckcomplication.strings @@ -0,0 +1,13 @@ +/* + ckcomplication.strings + Loop + + Created by Nate Racklyeft on 9/18/16. + Copyright © 2016 Nathan Racklyeft. All rights reserved. +*/ + +/* The complication template example unit string */ +"120↘︎" = "120↘︎"; + +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "%@%@ %@"; diff --git a/WatchApp Extension/es.lproj/Localizable.strings b/WatchApp Extension/es.lproj/Localizable.strings index 7ce2b650c1..0a557ee744 100644 --- a/WatchApp Extension/es.lproj/Localizable.strings +++ b/WatchApp Extension/es.lproj/Localizable.strings @@ -1,43 +1,36 @@ /* The title of the alert controller displayed after a bolus attempt fails */ "Bolus Failed" = "Bolo Falló"; +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The action button title to dismiss an error message */ "Dismiss" = "Ignorar"; -/* Glucose trend down */ -"Falling" = "Bajando"; - -/* Glucose trend down-down */ -"Falling fast" = "Bajando rápido"; - -/* Glucose trend down-down-down */ -"Falling very fast" = "Bajando muy rápido"; - -/* Glucose trend flat */ -"Flat" = "Estable"; +/* The short unit display string for grams */ +"g" = "g"; /* The recovery message displayed after a bolus attempt fails - The recovery message displayed after a carb entry send attempt fails */ + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ "Make sure your iPhone is nearby and try again" = "Asegúrate que tu iPhone se encuentre cerca e inténtalo de nuevo"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; /* The label and value showing the recommended bolus */ "Rec: %@ U" = "Rec: %@ U"; -/* Glucose trend up */ -"Rising" = "Subiendo"; - -/* Glucose trend up-up */ -"Rising fast" = "Subiendo rápido"; - -/* Glucose trend up-up-up */ -"Rising very fast" = "Subiendo muy rápido"; - -/* The title of the alert controller displayed after a carb entry send attempt fails */ +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ "Send Failed" = "Envío Falló"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; +/* The short unit display string for international units of insulin */ +"U" = "U"; diff --git a/WatchApp Extension/fr.lproj/InfoPlist.strings b/WatchApp Extension/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..06077199aa --- /dev/null +++ b/WatchApp Extension/fr.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp Extension/fr.lproj/Localizable.strings b/WatchApp Extension/fr.lproj/Localizable.strings new file mode 100644 index 0000000000..5b2d012031 --- /dev/null +++ b/WatchApp Extension/fr.lproj/Localizable.strings @@ -0,0 +1,36 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "Bolus Failed"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "Dismiss"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ +"Make sure your iPhone is nearby and try again" = "Make sure your iPhone is nearby and try again"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "Rec: %@ U"; + +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ +"Send Failed" = "Send Failed"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + diff --git a/WatchApp Extension/fr.lproj/ckcomplication.strings b/WatchApp Extension/fr.lproj/ckcomplication.strings new file mode 100644 index 0000000000..f05b483c67 --- /dev/null +++ b/WatchApp Extension/fr.lproj/ckcomplication.strings @@ -0,0 +1,13 @@ +/* + ckcomplication.strings + Loop + + Created by Nate Racklyeft on 9/18/16. + Copyright © 2016 Nathan Racklyeft. All rights reserved. +*/ + +/* The complication template example unit string */ +"120↘︎" = "120↘︎"; + +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "%@%@ %@"; diff --git a/WatchApp Extension/it.lproj/InfoPlist.strings b/WatchApp Extension/it.lproj/InfoPlist.strings index 95055d6bef..06077199aa 100644 --- a/WatchApp Extension/it.lproj/InfoPlist.strings +++ b/WatchApp Extension/it.lproj/InfoPlist.strings @@ -1,3 +1,6 @@ -/* (No Commment) */ -"CFBundleDisplayName" = "Estensione WatchApp"; +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/WatchApp Extension/it.lproj/Localizable.strings b/WatchApp Extension/it.lproj/Localizable.strings new file mode 100644 index 0000000000..7cbdcc4938 --- /dev/null +++ b/WatchApp Extension/it.lproj/Localizable.strings @@ -0,0 +1,36 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "Bolo Fallito"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "Rimuovere"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ +"Make sure your iPhone is nearby and try again" = "Assicurati che il tuo iPhone sia vicino e riprova"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "Rec: %@ U"; + +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ +"Send Failed" = "Invio Fallito"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + diff --git a/WatchApp Extension/it.lproj/ckcomplication.strings b/WatchApp Extension/it.lproj/ckcomplication.strings index 26493ed457..f05b483c67 100644 --- a/WatchApp Extension/it.lproj/ckcomplication.strings +++ b/WatchApp Extension/it.lproj/ckcomplication.strings @@ -6,8 +6,8 @@ Copyright © 2016 Nathan Racklyeft. All rights reserved. */ -/* The complication template example glucose & trend */ -"120↘︎" = "6.7↘︎"; +/* The complication template example unit string */ +"120↘︎" = "120↘︎"; -/* The complication template example eventual glucose */ -"75" = "3.0"; +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "%@%@ %@"; diff --git a/WatchApp Extension/nb.lproj/InfoPlist.strings b/WatchApp Extension/nb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..06077199aa --- /dev/null +++ b/WatchApp Extension/nb.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp Extension/nb.lproj/Localizable.strings b/WatchApp Extension/nb.lproj/Localizable.strings new file mode 100644 index 0000000000..e2798b7973 --- /dev/null +++ b/WatchApp Extension/nb.lproj/Localizable.strings @@ -0,0 +1,36 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "Bolus mislyktes"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "Avskjedige"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ +"Make sure your iPhone is nearby and try again" = "Pass på at iPhone er i nærheten, og prøv igjen"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "Rec: %@ E"; + +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ +"Send Failed" = "Send mislyktes"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + diff --git a/WatchApp Extension/nb.lproj/ckcomplication.strings b/WatchApp Extension/nb.lproj/ckcomplication.strings new file mode 100644 index 0000000000..f05b483c67 --- /dev/null +++ b/WatchApp Extension/nb.lproj/ckcomplication.strings @@ -0,0 +1,13 @@ +/* + ckcomplication.strings + Loop + + Created by Nate Racklyeft on 9/18/16. + Copyright © 2016 Nathan Racklyeft. All rights reserved. +*/ + +/* The complication template example unit string */ +"120↘︎" = "120↘︎"; + +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "%@%@ %@"; diff --git a/WatchApp Extension/nl.lproj/InfoPlist.strings b/WatchApp Extension/nl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..06077199aa --- /dev/null +++ b/WatchApp Extension/nl.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp Extension/nl.lproj/Localizable.strings b/WatchApp Extension/nl.lproj/Localizable.strings new file mode 100644 index 0000000000..af7687e354 --- /dev/null +++ b/WatchApp Extension/nl.lproj/Localizable.strings @@ -0,0 +1,36 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "Bolus Mislukt"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "Verwerp"; + +/* The short unit display string for grams */ +"g" = "gr"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ +"Make sure your iPhone is nearby and try again" = "Zorg dat je iPhone in de buurt is en probeer opnieuw"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "Voorgesteld: %@ E"; + +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ +"Send Failed" = "Versturen Mislukt"; + +/* The short unit display string for international units of insulin */ +"U" = "E"; + diff --git a/WatchApp Extension/nl.lproj/ckcomplication.strings b/WatchApp Extension/nl.lproj/ckcomplication.strings new file mode 100644 index 0000000000..f05b483c67 --- /dev/null +++ b/WatchApp Extension/nl.lproj/ckcomplication.strings @@ -0,0 +1,13 @@ +/* + ckcomplication.strings + Loop + + Created by Nate Racklyeft on 9/18/16. + Copyright © 2016 Nathan Racklyeft. All rights reserved. +*/ + +/* The complication template example unit string */ +"120↘︎" = "120↘︎"; + +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "%@%@ %@"; diff --git a/WatchApp Extension/ru.lproj/Localizable.strings b/WatchApp Extension/ru.lproj/Localizable.strings index bc53c93560..2a57835c53 100644 --- a/WatchApp Extension/ru.lproj/Localizable.strings +++ b/WatchApp Extension/ru.lproj/Localizable.strings @@ -1,43 +1,33 @@ /* The title of the alert controller displayed after a bolus attempt fails */ "Bolus Failed" = "Болюс не состоялся"; +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The action button title to dismiss an error message */ "Dismiss" = "Пропустить"; -/* Glucose trend down */ -"Falling" = "Падение"; - -/* Glucose trend down-down */ -"Falling fast" = "Быстрое падение"; - -/* Glucose trend down-down-down */ -"Falling very fast" = "Очень быстрое падение"; - -/* Glucose trend flat */ -"Flat" = "Стабильно"; +/* The short unit display string for grams */ +"g" = "г"; /* The recovery message displayed after a bolus attempt fails - The recovery message displayed after a carb entry send attempt fails */ + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ "Make sure your iPhone is nearby and try again" = "Убедитесь, что ваш iPhone поблизости и повторите попытку"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; /* The label and value showing the recommended bolus */ "Rec: %@ U" = "Рекомендовано: %@ ед"; -/* Glucose trend up */ -"Rising" = "Повышение"; - -/* Glucose trend up-up */ -"Rising fast" = "Быстрое повышение"; - -/* Glucose trend up-up-up */ -"Rising very fast" = "Очень быстрое повышение"; - -/* The title of the alert controller displayed after a carb entry send attempt fails */ +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ "Send Failed" = "Ошибка отправки"; -/* The unit display string for millimoles of glucose per liter */ -"mmol/L" = "ммоль/л"; +/* The short unit display string for international units of insulin */ +"U" = "ед"; diff --git a/WatchApp Extension/zh-Hans.lproj/InfoPlist.strings b/WatchApp Extension/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000000..06077199aa --- /dev/null +++ b/WatchApp Extension/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp Extension/zh-Hans.lproj/Localizable.strings b/WatchApp Extension/zh-Hans.lproj/Localizable.strings new file mode 100644 index 0000000000..d0cb929818 --- /dev/null +++ b/WatchApp Extension/zh-Hans.lproj/Localizable.strings @@ -0,0 +1,36 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "大剂量输注失败"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "忽略"; + +/* The short unit display string for grams */ +"g" = "克"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ +"Make sure your iPhone is nearby and try again" = "请确保苹果手机接近设备并重试"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "毫克/分升"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "推荐: %@ 单位"; + +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ +"Send Failed" = "发送失败"; + +/* The short unit display string for international units of insulin */ +"U" = "单位"; + diff --git a/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings b/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings new file mode 100644 index 0000000000..f05b483c67 --- /dev/null +++ b/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings @@ -0,0 +1,13 @@ +/* + ckcomplication.strings + Loop + + Created by Nate Racklyeft on 9/18/16. + Copyright © 2016 Nathan Racklyeft. All rights reserved. +*/ + +/* The complication template example unit string */ +"120↘︎" = "120↘︎"; + +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "%@%@ %@"; diff --git a/WatchApp/Base.lproj/InfoPlist.strings b/WatchApp/Base.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/WatchApp/Base.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/de.lproj/InfoPlist.strings b/WatchApp/de.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/WatchApp/de.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/de.lproj/Interface.strings b/WatchApp/de.lproj/Interface.strings new file mode 100644 index 0000000000..127eb5b947 --- /dev/null +++ b/WatchApp/de.lproj/Interface.strings @@ -0,0 +1,72 @@ +/* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ +"0fo-Z3-hTi.title" = "🌮"; + +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Carbs zufuegen"; + +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.accessibilityLabel" = "Abziehen"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.title" = "−"; + +/* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ +"dPF-QZ-sh6.title" = "🍕"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Zufuegen"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.accessibilityLabel" = "Zufuegen"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.title" = "+"; + +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "Vor dem Essen"; + +/* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ +"gAn-qe-OvX.title" = "🍭"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.accessibilityLabel" = "Abziehen"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.title" = "−"; + +/* Class = "WKInterfaceLabel"; text = "Carbs"; ObjectID = "hln-CI-MRP"; */ +"hln-CI-MRP.text" = "Carbs"; + +/* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ +"jj3-Gq-HBy.text" = "Bolus fehlgeschlagen"; + +/* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ +"mpK-zY-UvA.text" = "0.000"; + +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "Training"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Bolus"; + +/* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ +"rNf-Mh-tID.title" = "Loop"; + +/* Class = "WKInterfaceLabel"; text = "UNITS"; ObjectID = "rV7-d9-n6u"; */ +"rV7-d9-n6u.text" = "EINHEITEN"; + +/* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ +"smL-Rc-IZh.text" = "Bolus"; + +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + diff --git a/WatchApp/es.lproj/Interface.strings b/WatchApp/es.lproj/Interface.strings index 3fc94b8dd5..6e1953753b 100644 --- a/WatchApp/es.lproj/Interface.strings +++ b/WatchApp/es.lproj/Interface.strings @@ -1,14 +1,11 @@ /* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ "0fo-Z3-hTi.title" = "🌮"; -/* Class = "WKInterfaceLabel"; text = "GRAMS"; ObjectID = "18G-mT-92P"; */ -"18G-mT-92P.text" = "GRAMOS"; - -/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ -"DZc-Gn-RLu.accessibilityLabel" = "Agregar"; +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Agregar Carbs"; -/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ -"DZc-Gn-RLu.title" = "+"; +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; /* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ "Dh9-HV-fXy.accessibilityLabel" = "Substraer"; @@ -16,27 +13,24 @@ /* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ "Dh9-HV-fXy.title" = "−"; -/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "E5r-2c-UZm"; */ -"E5r-2c-UZm.text" = "15"; - -/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ -"Qsq-p5-1J0.title" = "Bolo"; - -/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ -"XkS-y5-khE.text" = ""; - -/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ -"b6f-3I-jki.title" = "Agregar Carbs"; - /* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ "dPF-QZ-sh6.title" = "🍕"; +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Agregar"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + /* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ "eu3-pj-GH3.accessibilityLabel" = "Agregar"; /* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ "eu3-pj-GH3.title" = "+"; +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "Pre-Comida"; + /* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ "gAn-qe-OvX.title" = "🍭"; @@ -55,6 +49,12 @@ /* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ "mpK-zY-UvA.text" = "0.000"; +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "Workout"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Bolo"; + /* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ "rNf-Mh-tID.title" = "Loop"; @@ -64,3 +64,9 @@ /* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ "smL-Rc-IZh.text" = "Bolo"; +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + diff --git a/WatchApp/fr.lproj/InfoPlist.strings b/WatchApp/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/WatchApp/fr.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/fr.lproj/Interface.strings b/WatchApp/fr.lproj/Interface.strings new file mode 100644 index 0000000000..f35c37da43 --- /dev/null +++ b/WatchApp/fr.lproj/Interface.strings @@ -0,0 +1,72 @@ +/* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ +"0fo-Z3-hTi.title" = "🌮"; + +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Ajouter des glucides"; + +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.accessibilityLabel" = "Soustraire"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.title" = "−"; + +/* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ +"dPF-QZ-sh6.title" = "🍕"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Ajouter"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.accessibilityLabel" = "Ajouter"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.title" = "+"; + +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "Pré-Repas"; + +/* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ +"gAn-qe-OvX.title" = "🍭"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.accessibilityLabel" = "Soustraire"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.title" = "−"; + +/* Class = "WKInterfaceLabel"; text = "Carbs"; ObjectID = "hln-CI-MRP"; */ +"hln-CI-MRP.text" = "Glucides"; + +/* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ +"jj3-Gq-HBy.text" = "Échec du bolus"; + +/* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ +"mpK-zY-UvA.text" = "0.000"; + +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "Entraînement"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Bolus"; + +/* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ +"rNf-Mh-tID.title" = "Loop"; + +/* Class = "WKInterfaceLabel"; text = "UNITS"; ObjectID = "rV7-d9-n6u"; */ +"rV7-d9-n6u.text" = "Unités"; + +/* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ +"smL-Rc-IZh.text" = "Bolus"; + +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + diff --git a/WatchApp/it.lproj/InfoPlist.strings b/WatchApp/it.lproj/InfoPlist.strings index dc49399421..9250064a26 100644 --- a/WatchApp/it.lproj/InfoPlist.strings +++ b/WatchApp/it.lproj/InfoPlist.strings @@ -1,2 +1,6 @@ -/* (No Commment) */ +/* (No Comment) */ "CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/it.lproj/Interface.strings b/WatchApp/it.lproj/Interface.strings index 968f777874..617964b394 100644 --- a/WatchApp/it.lproj/Interface.strings +++ b/WatchApp/it.lproj/Interface.strings @@ -1,14 +1,11 @@ /* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ "0fo-Z3-hTi.title" = "🌮"; -/* Class = "WKInterfaceLabel"; text = "GRAMS"; ObjectID = "18G-mT-92P"; */ -"18G-mT-92P.text" = "GR"; - -/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ -"DZc-Gn-RLu.accessibilityLabel" = "Aggiungi"; +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Aggiungi Carb"; -/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ -"DZc-Gn-RLu.title" = "+"; +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; /* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ "Dh9-HV-fXy.accessibilityLabel" = "Sottrarre"; @@ -16,33 +13,24 @@ /* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ "Dh9-HV-fXy.title" = "−"; -/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "E5r-2c-UZm"; */ -"E5r-2c-UZm.text" = "15"; - -/* Class = "WKInterfaceMenuItem"; title = "Carbs"; ObjectID = "Fhb-O2-qgq"; */ -"Fhb-O2-qgq.title" = "CHO"; - -/* Class = "WKInterfaceMenuItem"; title = "Bolus"; ObjectID = "ONR-Fr-rMn"; */ -"ONR-Fr-rMn.title" = "Boli"; - -/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ -"Qsq-p5-1J0.title" = "Boli"; - -/* Class = "WKInterfaceLabel"; text = "Alert Label"; ObjectID = "XkS-y5-khE"; */ -"XkS-y5-khE.text" = "Allarme Etichetta"; - -/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ -"b6f-3I-jki.title" = "Aggiungi Cho"; - /* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ "dPF-QZ-sh6.title" = "🍕"; +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Aggiungi"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + /* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ "eu3-pj-GH3.accessibilityLabel" = "Aggiungi"; /* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ "eu3-pj-GH3.title" = "+"; +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "Pre-Pasto"; + /* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ "gAn-qe-OvX.title" = "🍭"; @@ -52,12 +40,33 @@ /* Class = "WKInterfaceButton"; title = "−"; ObjectID = "hjF-xr-cwO"; */ "hjF-xr-cwO.title" = "−"; +/* Class = "WKInterfaceLabel"; text = "Carbs"; ObjectID = "hln-CI-MRP"; */ +"hln-CI-MRP.text" = "Carb"; + +/* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ +"jj3-Gq-HBy.text" = "Bolo Fallito"; + /* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ "mpK-zY-UvA.text" = "0.000"; +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "Attività fisica"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Bolo"; + /* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ "rNf-Mh-tID.title" = "Loop"; /* Class = "WKInterfaceLabel"; text = "UNITS"; ObjectID = "rV7-d9-n6u"; */ -"rV7-d9-n6u.text" = "UNITA'"; +"rV7-d9-n6u.text" = "Unità"; + +/* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ +"smL-Rc-IZh.text" = "Bolo"; + +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; diff --git a/WatchApp/nb.lproj/InfoPlist.strings b/WatchApp/nb.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/WatchApp/nb.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/nb.lproj/Interface.strings b/WatchApp/nb.lproj/Interface.strings new file mode 100644 index 0000000000..3ad8cafb2e --- /dev/null +++ b/WatchApp/nb.lproj/Interface.strings @@ -0,0 +1,72 @@ +/* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ +"0fo-Z3-hTi.title" = "🌮"; + +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Legg til Karbohydrater"; + +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.accessibilityLabel" = "Trekk fra"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.title" = "−"; + +/* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ +"dPF-QZ-sh6.title" = "🍕"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Legg til"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.accessibilityLabel" = "Legg til"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.title" = "+"; + +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "Pre-Måltid"; + +/* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ +"gAn-qe-OvX.title" = "🍭"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.accessibilityLabel" = "Trekk fra"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.title" = "−"; + +/* Class = "WKInterfaceLabel"; text = "Carbs"; ObjectID = "hln-CI-MRP"; */ +"hln-CI-MRP.text" = "Karbohydrater"; + +/* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ +"jj3-Gq-HBy.text" = "Bolus Feilet"; + +/* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ +"mpK-zY-UvA.text" = "0.000"; + +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "Trening"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Bolus"; + +/* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ +"rNf-Mh-tID.title" = "Loop"; + +/* Class = "WKInterfaceLabel"; text = "UNITS"; ObjectID = "rV7-d9-n6u"; */ +"rV7-d9-n6u.text" = "ENHETER"; + +/* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ +"smL-Rc-IZh.text" = "Bolus"; + +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + diff --git a/WatchApp/nl.lproj/InfoPlist.strings b/WatchApp/nl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/WatchApp/nl.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/nl.lproj/Interface.strings b/WatchApp/nl.lproj/Interface.strings new file mode 100644 index 0000000000..97e0b87bae --- /dev/null +++ b/WatchApp/nl.lproj/Interface.strings @@ -0,0 +1,72 @@ +/* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ +"0fo-Z3-hTi.title" = "🌮"; + +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Koolhydraten toevoegen"; + +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.accessibilityLabel" = "Aftrekken"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.title" = "−"; + +/* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ +"dPF-QZ-sh6.title" = "🍕"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Toevoegen"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.accessibilityLabel" = "Toevoegen"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.title" = "+"; + +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "Pre-Maaltijd"; + +/* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ +"gAn-qe-OvX.title" = "🍭"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.accessibilityLabel" = "Aftrekken"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.title" = "−"; + +/* Class = "WKInterfaceLabel"; text = "Carbs"; ObjectID = "hln-CI-MRP"; */ +"hln-CI-MRP.text" = "Koolhydraten"; + +/* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ +"jj3-Gq-HBy.text" = "Bolus Mislukt"; + +/* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ +"mpK-zY-UvA.text" = "0.000"; + +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "Training"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Bolus"; + +/* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ +"rNf-Mh-tID.title" = "Loop"; + +/* Class = "WKInterfaceLabel"; text = "UNITS"; ObjectID = "rV7-d9-n6u"; */ +"rV7-d9-n6u.text" = "Eenheden"; + +/* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ +"smL-Rc-IZh.text" = "Bolus"; + +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + diff --git a/WatchApp/ru.lproj/Interface.strings b/WatchApp/ru.lproj/Interface.strings index 838655b533..684ab55934 100644 --- a/WatchApp/ru.lproj/Interface.strings +++ b/WatchApp/ru.lproj/Interface.strings @@ -1,42 +1,36 @@ /* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ "0fo-Z3-hTi.title" = "🌮"; +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Добавить углеводов"; + /* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ "CWt-7U-cnK.text" = "15"; -/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ -"DZc-Gn-RLu.accessibilityLabel" = "Добавить"; - -/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ -"DZc-Gn-RLu.title" = "+"; - /* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ "Dh9-HV-fXy.accessibilityLabel" = "вычитать"; /* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ "Dh9-HV-fXy.title" = "−"; -/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ -"Qsq-p5-1J0.title" = "Болюс"; - -/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ -"Ury-of-vQg.text" = "10:09 AM"; - -/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ -"XkS-y5-khE.text" = ""; - -/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ -"b6f-3I-jki.title" = "Добавить углеводов"; - /* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ "dPF-QZ-sh6.title" = "🍕"; +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Добавить"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + /* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ "eu3-pj-GH3.accessibilityLabel" = "Добавить\n "; /* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ "eu3-pj-GH3.title" = "+"; +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "До еды"; + /* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ "gAn-qe-OvX.title" = "🍭"; @@ -55,6 +49,12 @@ /* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ "mpK-zY-UvA.text" = "0.000"; +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "Физическая нагрузка"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Болюс"; + /* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ "rNf-Mh-tID.title" = "Loop"; @@ -64,3 +64,9 @@ /* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ "smL-Rc-IZh.text" = "Болюс"; +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + diff --git a/WatchApp/zh-Hans.lproj/InfoPlist.strings b/WatchApp/zh-Hans.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/WatchApp/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/zh-Hans.lproj/Interface.strings b/WatchApp/zh-Hans.lproj/Interface.strings new file mode 100644 index 0000000000..3e589f2423 --- /dev/null +++ b/WatchApp/zh-Hans.lproj/Interface.strings @@ -0,0 +1,72 @@ +/* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ +"0fo-Z3-hTi.title" = "🌮"; + +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "添加碳水化合物"; + +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.accessibilityLabel" = "减去"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.title" = "−"; + +/* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ +"dPF-QZ-sh6.title" = "🍕"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "添加"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.accessibilityLabel" = "添加"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.title" = "+"; + +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "餐前模式"; + +/* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ +"gAn-qe-OvX.title" = "🍭"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.accessibilityLabel" = "减去"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.title" = "−"; + +/* Class = "WKInterfaceLabel"; text = "Carbs"; ObjectID = "hln-CI-MRP"; */ +"hln-CI-MRP.text" = "碳水化合物"; + +/* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ +"jj3-Gq-HBy.text" = "大剂量输注失败"; + +/* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ +"mpK-zY-UvA.text" = "0.000"; + +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "锻炼/运动模式"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "大剂量"; + +/* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ +"rNf-Mh-tID.title" = "Loop"; + +/* Class = "WKInterfaceLabel"; text = "UNITS"; ObjectID = "rV7-d9-n6u"; */ +"rV7-d9-n6u.text" = "单位"; + +/* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ +"smL-Rc-IZh.text" = "大剂量"; + +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + From 89aaaa43fc141391b526c0069b4131f9813b0df6 Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Wed, 15 Aug 2018 18:54:30 -0700 Subject: [PATCH 10/24] adding folders --- DoseMathTests/Base.lproj/InfoPlist.strings | 1 + DoseMathTests/Base.lproj/Localizable.strings | 26 ++++++++++ LoopUI/Base.lproj/InfoPlist.strings | 6 +++ LoopUI/Base.lproj/Localizable.strings | 53 ++++++++++++++++++++ LoopUI/Common/LocalizedString.swift | 17 +++++++ 5 files changed, 103 insertions(+) create mode 100644 DoseMathTests/Base.lproj/InfoPlist.strings create mode 100644 DoseMathTests/Base.lproj/Localizable.strings create mode 100644 LoopUI/Base.lproj/InfoPlist.strings create mode 100644 LoopUI/Base.lproj/Localizable.strings create mode 100644 LoopUI/Common/LocalizedString.swift diff --git a/DoseMathTests/Base.lproj/InfoPlist.strings b/DoseMathTests/Base.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/Base.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/Base.lproj/Localizable.strings b/DoseMathTests/Base.lproj/Localizable.strings new file mode 100644 index 0000000000..cb195752e8 --- /dev/null +++ b/DoseMathTests/Base.lproj/Localizable.strings @@ -0,0 +1,26 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Current glucose of %1$@ is below correction range."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Predicted glucose at %1$@ is %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Predicted glucose of %1$@ is below your suspend threshold setting."; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; diff --git a/LoopUI/Base.lproj/InfoPlist.strings b/LoopUI/Base.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/Base.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/Base.lproj/Localizable.strings b/LoopUI/Base.lproj/Localizable.strings new file mode 100644 index 0000000000..e232ec6b42 --- /dev/null +++ b/LoopUI/Base.lproj/Localizable.strings @@ -0,0 +1,53 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "%@ ago"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ U"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@U"; + +/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ +"%1$@ at %2$@" = "%1$@ at %2$@"; + +/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ +"%1$@ units per hour at %2$@" = "%1$@ units per hour at %2$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ units remaining at %2$@"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "Closed loop"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "Loop ran %@ ago"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Accessibility label component for glucose HUD describing an invalid state */ +"Needs attention" = "Needs attention"; + +/* Accessbility hint describing completion HUD for an open loop */ +"Open loop" = "Open loop"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + +/* Accessibility value for an unknown value */ +"Unknown" = "Unknown"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "Waiting for first run"; diff --git a/LoopUI/Common/LocalizedString.swift b/LoopUI/Common/LocalizedString.swift new file mode 100644 index 0000000000..93805c0068 --- /dev/null +++ b/LoopUI/Common/LocalizedString.swift @@ -0,0 +1,17 @@ +// +// LocalizedString.swift +// LoopUI +// +// Created by Kathryn DiSimone on 8/15/18. +// Copyright © 2018 LoopKit Authors. All rights reserved. +// + +import Foundation + +private class FrameworkBundle { + static let main = Bundle(for: FrameworkBundle.self) +} + +func LocalizedString(_ key: String, tableName: String? = nil, value: String = "", comment: String) -> String { + return NSLocalizedString(key, tableName: tableName, bundle: FrameworkBundle.main, value: value, comment: comment) +} From e36351f99e7dd4d75a322323ab4a2758f3aa3425 Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Wed, 15 Aug 2018 19:36:23 -0700 Subject: [PATCH 11/24] touchup on translations --- Loop/es.lproj/Localizable.strings | 32 +++++++++++++++---------------- Loop/fr.lproj/Localizable.strings | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Loop/es.lproj/Localizable.strings b/Loop/es.lproj/Localizable.strings index 0e47586269..9b6e0f7d28 100644 --- a/Loop/es.lproj/Localizable.strings +++ b/Loop/es.lproj/Localizable.strings @@ -2,7 +2,7 @@ " (pending: %@)" = "(pendiente: %@)"; /* Formats absorbed carb value */ -"%@ absorbed" = "%@ absorbidos"; +"%@ absorbed" = "%@ absorbido"; /* The subtitle format describing total insulin. (1: localized insulin total) */ "%@ U Total" = "%@ U Totales"; @@ -45,10 +45,10 @@ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "Comparación de glucosa actual contra la predicha en 30 minutos, continuada con decadencia sobre 60 minutos."; /* Subtitle of Fiasp preset */ -"A model based on the published absorption of Fiasp insulin." = "Un modelo basado en la publicación de la absorción de insulina Fiasp."; +"A model based on the published absorption of Fiasp insulin." = "Un modelo basado en la absorción de la insulina Fiasp."; /* Subtitle of Rapid-Acting – Adult preset */ -"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modelo basado en la publicación de la absorción de insulina Humalog, Novolog y Apidra en adultos."; +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modelo basado en la absorción de las insulinas Humalog, Novolog y Apidra en adultos."; /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AceptarBoloRecomendado"; @@ -93,7 +93,7 @@ "at %@" = "a %@"; /* The message displayed during a device authentication prompt for bolus specification */ -"Authenticate to Bolus %@ Units" = "Autentificar para Bolo %@ Unidades"; +"Authenticate to Bolus %@ Units" = "Autenticar para Bolo %@ Unidades"; /* The title of the basal rate profile screen The title text for the basal rate schedule */ @@ -117,10 +117,10 @@ "Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Carbohidratos absorbidos (gr) ÷ Relación de Carbohidratos (gr/U) x Sensibilidad a Insulina (%1$@/U)"; /* The notification alert describing a low pump battery */ -"Change the pump battery immediately" = "Cambie la batería de la microinfusora inmediatamente"; +"Change the pump battery immediately" = "Cambie la batería de la microinfusora de inmediato"; /* The notification alert describing an empty pump reservoir */ -"Change the pump reservoir now" = "Cambie el reservorio de la microinfusora ahora"; +"Change the pump reservoir now" = "Cambie el reservorio de la microinfusora ya"; /* The title text for the looping enabled switch cell */ "Closed Loop" = "Asa cerrada"; @@ -136,10 +136,10 @@ /* The title of the glucose target range schedule screen The title text for the glucose target range schedule */ -"Correction Range" = "Rango Correctivo"; +"Correction Range" = "Rango de Correción"; /* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ -"Current glucose of %1$@ is below correction range." = " Glucosa actual de %1$@ está por debajo del rango correctivo."; +"Current glucose of %1$@ is below correction range." = "Glucosa actual de %1$@ está por debajo del rango de correción."; /* The title of the Loggly customer token credential */ "Customer Token" = "Token de Usuario"; @@ -157,13 +157,13 @@ "Dexcom Share" = "Dexcom Share"; /* The action hint of the workout mode toggle button when enabled */ -"Disables" = "Inhabilita"; +"Disables" = "Desactivar"; /* Title of the switch which toggles retrospective correction effects */ "Enable Retrospective Correction" = "Habilitar corrección retrospectiva"; /* The action hint of the workout mode toggle button when disabled */ -"Enables" = "Habilita"; +"Enables" = "Permitir"; /* The placeholder text instructing users to enter a suspend treshold */ "Enter suspend threshold" = "Ingrese nivel de suspensión"; @@ -196,7 +196,7 @@ "Glucose" = "Glucosa"; /* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ -"Glucose data is %1$@ old" = "Los datos de glucosa son %1$@ viejos"; +"Glucose data is %1$@ old" = "Los datos de glucosa son %1$@ antiguos"; /* Error description for unreliable state */ "Glucose data is unavailable" = "Los datos de glucosa no están disponibles"; @@ -245,7 +245,7 @@ "Loggly" = "Loggly"; /* The notification title for a loop failure */ -"Loop Failure" = "Falla de Loop"; +"Loop Failure" = "Falla del Loop"; /* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ "Loop has not completed successfully in %@" = "Loop no ha terminado correctamente en %@"; @@ -338,13 +338,13 @@ "Sensor is in unknown state %1$d" = "Estado desconocido de sensor %1$d"; /* The description of sensor calibration state when sensor sensor is stopped. */ -"Sensor is stopped" = "Sensor se detuvo"; +"Sensor is stopped" = "Sensor se ha detenido"; /* The description of sensor calibration state when sensor sensor is warming up. */ "Sensor is warming up" = "Preparación de sensor"; /* The description of sensor calibration state when sensor needs calibration. */ -"Sensor needs calibration" = "Sensor requiere calibración"; +"Sensor needs calibration" = "Sensor se necesita de calibración"; /* The title of the Dexcom share server URL credential */ "Server" = "Servidor"; @@ -374,7 +374,7 @@ "Suspend Threshold" = "Nivel de Suspensión"; /* Subtitle description of Walsh insulin model setting */ -"The legacy model used by Loop, allowing customization of action duration." = "El model utilizado por ediciones iniciales de Loop, permite ajustar duración de acción."; +"The legacy model used by Loop, allowing customization of action duration." = "El model utilizado por versiones iniciales del Loop, permite ajustar duración de acción de la insulina."; /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "Bolo máximo es %@ Unidades"; @@ -383,7 +383,7 @@ "The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "El ID de transmisor puede encontrarse impreso en la parte trasera del dispositivo, a un lado de la caja en la que estaba empacado y dentro del menú de ajustes del receptor y la app móvil"; /* The description of the switch which toggles retrospective correction effects */ -"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Esto incrementará o decrementará mas agresivamente la entrega de basales cuando el movimiento de glucosa no concuerde con el modelo de insulina y carbohidratos."; +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Esto aumentará o disminuirá de manera más agresiva la dosificación de la insulina basal cuando la dirección del nivel de la glucosa no concuerde con el modelo de la insulina y carbohidratos."; /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "ID de Transmisor"; diff --git a/Loop/fr.lproj/Localizable.strings b/Loop/fr.lproj/Localizable.strings index dc9552fd66..c9d24500d2 100644 --- a/Loop/fr.lproj/Localizable.strings +++ b/Loop/fr.lproj/Localizable.strings @@ -1,5 +1,5 @@ /* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ -" (pending: %@)" = "(En suspen: %@)"; +" (pending: %@)" = "(En suspens: %@)"; /* Formats absorbed carb value */ "%@ absorbed" = "%@ absorbé"; From eb9465da120d0b96b216b5bab9c152ba2a1c7c48 Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Wed, 15 Aug 2018 19:39:51 -0700 Subject: [PATCH 12/24] norwegian touchup --- Loop/nb.lproj/InfoPlist.strings | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Loop/nb.lproj/InfoPlist.strings b/Loop/nb.lproj/InfoPlist.strings index 873226eaeb..cbcf3bc1b0 100644 --- a/Loop/nb.lproj/InfoPlist.strings +++ b/Loop/nb.lproj/InfoPlist.strings @@ -11,8 +11,8 @@ "NSFaceIDUsageDescription" = "Face ID is used to authenticate insulin bolus."; /* Privacy - Health Share Usage Description */ -"NSHealthShareUsageDescription" = "Meal data from the Health database is used to determine glucose effects. Glucose data from the Health database is used for graphing and momentum calculation."; +"NSHealthShareUsageDescription" = "Matdata fra Health-databasen brukes til å bestemme blodsukkereffekt. Blodsukkerdata hentes fra HealthKit for opptegning og analyse."; /* Privacy - Health Update Usage Description */ -"NSHealthUpdateUsageDescription" = "Carbohydrate meal data entered in the app and on the watch is stored in the Health database. Glucose data retrieved from the CGM is stored securely in HealthKit."; +"NSHealthUpdateUsageDescription" = "Angitte karbohydrater i matdataene som tastes inn i appen blir lagret i Health-databasen."; From a20d520dcad2cc52fd7e8c0513d3dad73d5c5dac Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Thu, 16 Aug 2018 13:32:00 -0700 Subject: [PATCH 13/24] french --- WatchApp Extension/fr.lproj/InfoPlist.strings | 7 ------- 1 file changed, 7 deletions(-) diff --git a/WatchApp Extension/fr.lproj/InfoPlist.strings b/WatchApp Extension/fr.lproj/InfoPlist.strings index b2d1c5749d..d133967074 100644 --- a/WatchApp Extension/fr.lproj/InfoPlist.strings +++ b/WatchApp Extension/fr.lproj/InfoPlist.strings @@ -1,13 +1,6 @@ -<<<<<<< HEAD /* Bundle display name */ "CFBundleDisplayName" = "WatchApp Extension"; /* Bundle name */ -======= -/* (No Comment) */ -"CFBundleDisplayName" = "WatchApp Extension"; - -/* (No Comment) */ ->>>>>>> please "CFBundleName" = "$(PRODUCT_NAME)"; From 9539a5969e8d62372bdfa49b65d67015c9b6c97c Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Thu, 16 Aug 2018 13:35:27 -0700 Subject: [PATCH 14/24] updating translations after rebase --- .../fr.lproj/InfoPlist.strings | 6 --- .../zh-Hans.lproj/InfoPlist.strings | 6 --- Loop/Managers/DeviceDataManager.swift | 8 --- Loop/Managers/LoopDataManager.swift | 52 ------------------- LoopUI/fr.lproj/InfoPlist.strings | 6 --- LoopUI/nl.lproj/Localizable.strings | 4 -- LoopUI/zh-Hans.lproj/InfoPlist.strings | 6 --- .../fr.lproj/ckcomplication.strings | 9 +--- .../nl.lproj/Localizable.strings | 8 --- .../zh-Hans.lproj/InfoPlist.strings | 7 --- .../zh-Hans.lproj/ckcomplication.strings | 8 +-- WatchApp/nl.lproj/Interface.strings | 8 --- 12 files changed, 3 insertions(+), 125 deletions(-) diff --git a/Loop Status Extension/fr.lproj/InfoPlist.strings b/Loop Status Extension/fr.lproj/InfoPlist.strings index 7a7ca27a91..54724c9e9d 100644 --- a/Loop Status Extension/fr.lproj/InfoPlist.strings +++ b/Loop Status Extension/fr.lproj/InfoPlist.strings @@ -3,11 +3,5 @@ "CFBundleDisplayName" = "Loop"; /* Bundle name */ -======= -/* (No Comment) */ -"CFBundleDisplayName" = "Loop"; - -/* (No Comment) */ ->>>>>>> please "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings b/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings index 7a7ca27a91..54724c9e9d 100644 --- a/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings +++ b/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings @@ -3,11 +3,5 @@ "CFBundleDisplayName" = "Loop"; /* Bundle name */ -======= -/* (No Comment) */ -"CFBundleDisplayName" = "Loop"; - -/* (No Comment) */ ->>>>>>> please "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/Loop/Managers/DeviceDataManager.swift b/Loop/Managers/DeviceDataManager.swift index ab1a6471b2..ac619e96ad 100644 --- a/Loop/Managers/DeviceDataManager.swift +++ b/Loop/Managers/DeviceDataManager.swift @@ -311,11 +311,7 @@ extension DeviceDataManager: DoseStoreDelegate { extension DeviceDataManager { func enactBolus(units: Double, at startDate: Date = Date(), completion: @escaping (_ error: Error?) -> Void) { guard let pumpManager = pumpManager else { -<<<<<<< HEAD - completion(LoopError.configurationError(NSLocalizedString("Pump Manager", comment: "Details for configuration error when pump manager is missing"))) -======= completion(LoopError.configurationError(.pumpManager)) ->>>>>>> please return } @@ -342,11 +338,7 @@ extension DeviceDataManager: LoopDataManagerDelegate { completion: @escaping (_ result: Result) -> Void ) { guard let pumpManager = pumpManager else { -<<<<<<< HEAD - completion(.failure(LoopError.configurationError(NSLocalizedString("Pump Manager", comment: "Details for configuration error when pump manager is missing")))) -======= completion(.failure(LoopError.configurationError(.pumpManager))) ->>>>>>> please return } diff --git a/Loop/Managers/LoopDataManager.swift b/Loop/Managers/LoopDataManager.swift index 221023b266..d3748d4e1f 100644 --- a/Loop/Managers/LoopDataManager.swift +++ b/Loop/Managers/LoopDataManager.swift @@ -612,13 +612,7 @@ extension LoopDataManager { _ = updateGroup.wait(timeout: .distantFuture) guard let lastGlucoseDate = latestGlucoseDate else { -<<<<<<< HEAD - throw LoopError.missingDataError( - details: NSLocalizedString("Glucose data not available", comment: "Description of error when glucose data is missing"), - recovery: NSLocalizedString("Check your CGM data source", comment: "Recovery suggestion when glucose data is missing")) -======= throw LoopError.missingDataError(.glucose) ->>>>>>> please } let retrospectiveStart = lastGlucoseDate.addingTimeInterval(-settings.retrospectiveCorrectionInterval) @@ -744,11 +738,7 @@ extension LoopDataManager { dispatchPrecondition(condition: .onQueue(dataAccessQueue)) guard let basalRates = basalRateSchedule else { -<<<<<<< HEAD - throw LoopError.configurationError(NSLocalizedString("Basal Rate Schedule", comment: "Details for configuration error when basal rate schedule is missing")) -======= throw LoopError.configurationError(.basalRateSchedule) ->>>>>>> please } let pendingTempBasalInsulin: Double @@ -775,21 +765,11 @@ extension LoopDataManager { dispatchPrecondition(condition: .onQueue(dataAccessQueue)) guard let model = insulinModelSettings?.model else { -<<<<<<< HEAD - throw LoopError.configurationError(NSLocalizedString("Insulin Model", comment: "Details for configuration error when insulin model is missing")) - } - - guard let glucose = self.glucoseStore.latestGlucose else { - throw LoopError.missingDataError( - details: NSLocalizedString("Cannot predict glucose due to missing input data", comment: "Message shown when forecast cannot be made due to missing glucose data"), - recovery: NSLocalizedString("Check your CGM data source", comment: "Recovery suggestion when glucose data is missing")) -======= throw LoopError.configurationError(.insulinModel) } guard let glucose = self.glucoseStore.latestGlucose else { throw LoopError.missingDataError(.glucose) ->>>>>>> please } var momentum: [GlucoseEffect] = [] @@ -838,11 +818,7 @@ extension LoopDataManager { guard let insulinEffect = self.insulinEffect else { self.retrospectivePredictedGlucose = nil -<<<<<<< HEAD - throw LoopError.missingDataError(details: NSLocalizedString("Cannot retrospect glucose due to missing input data", comment: "Error shown when carb effects or insulin effects are missing"), recovery: nil) -======= throw LoopError.missingDataError(.insulinEffect) ->>>>>>> please } guard let change = retrospectiveGlucoseChange else { @@ -887,24 +863,12 @@ extension LoopDataManager { guard let glucose = glucoseStore.latestGlucose else { self.predictedGlucose = nil -<<<<<<< HEAD - throw LoopError.missingDataError( - details: NSLocalizedString("Glucose", comment: "Details for missing data error when glucose data is missing"), - recovery: NSLocalizedString("Check your CGM data source", comment: "Recovery suggestion when glucose data is missing")) -======= throw LoopError.missingDataError(.glucose) ->>>>>>> please } guard let pumpStatusDate = doseStore.lastReservoirValue?.startDate else { self.predictedGlucose = nil -<<<<<<< HEAD - throw LoopError.missingDataError( - details: NSLocalizedString("Reservoir", comment: "Details for missing data error when reservoir data is missing"), - recovery: NSLocalizedString("Check that your pump is in range", comment: "Recovery suggestion when reservoir data is missing")) -======= throw LoopError.missingDataError(.reservoir) ->>>>>>> please } let startDate = Date() @@ -921,29 +885,17 @@ extension LoopDataManager { guard glucoseMomentumEffect != nil else { self.predictedGlucose = nil -<<<<<<< HEAD - throw LoopError.missingDataError(details: NSLocalizedString("Momentum effects", comment: "Details for missing data error when momentum effects are missing"), recovery: nil) -======= throw LoopError.missingDataError(.momentumEffect) ->>>>>>> please } guard carbEffect != nil else { self.predictedGlucose = nil -<<<<<<< HEAD - throw LoopError.missingDataError(details: NSLocalizedString("Carb effects", comment: "Details for missing data error when carb effects are missing"), recovery: nil) -======= throw LoopError.missingDataError(.carbEffect) ->>>>>>> please } guard insulinEffect != nil else { self.predictedGlucose = nil -<<<<<<< HEAD - throw LoopError.missingDataError(details: NSLocalizedString("Insulin effects", comment: "Details for missing data error when insulin effects are missing"), recovery: nil) -======= throw LoopError.missingDataError(.insulinEffect) ->>>>>>> please } let predictedGlucose = try predictGlucose(using: settings.enabledEffects) @@ -957,11 +909,7 @@ extension LoopDataManager { let maxBolus = settings.maximumBolus, let model = insulinModelSettings?.model else { -<<<<<<< HEAD - throw LoopError.configurationError(NSLocalizedString("Check settings", comment: "Details for configuration error when one or more loop settings are missing")) -======= throw LoopError.configurationError(.generalSettings) ->>>>>>> please } guard lastRequestedBolus == nil diff --git a/LoopUI/fr.lproj/InfoPlist.strings b/LoopUI/fr.lproj/InfoPlist.strings index e437692505..16aa43b7f1 100644 --- a/LoopUI/fr.lproj/InfoPlist.strings +++ b/LoopUI/fr.lproj/InfoPlist.strings @@ -3,11 +3,5 @@ "CFBundleDisplayName" = "LoopUI"; /* Bundle name */ -======= -/* (No Comment) */ -"CFBundleDisplayName" = "LoopUI"; - -/* (No Comment) */ ->>>>>>> please "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/LoopUI/nl.lproj/Localizable.strings b/LoopUI/nl.lproj/Localizable.strings index 2c80ee9aee..8702d0cb99 100644 --- a/LoopUI/nl.lproj/Localizable.strings +++ b/LoopUI/nl.lproj/Localizable.strings @@ -35,11 +35,7 @@ "mmol/L" = "mmol/L"; /* Accessibility label component for glucose HUD describing an invalid state */ -<<<<<<< HEAD "Needs attention" = "Aandacht vereist"; -======= -"Needs attention" = "Aandacht Benodigd"; ->>>>>>> please /* Accessbility hint describing completion HUD for an open loop */ "Open loop" = "Open loop"; diff --git a/LoopUI/zh-Hans.lproj/InfoPlist.strings b/LoopUI/zh-Hans.lproj/InfoPlist.strings index e437692505..16aa43b7f1 100644 --- a/LoopUI/zh-Hans.lproj/InfoPlist.strings +++ b/LoopUI/zh-Hans.lproj/InfoPlist.strings @@ -3,11 +3,5 @@ "CFBundleDisplayName" = "LoopUI"; /* Bundle name */ -======= -/* (No Comment) */ -"CFBundleDisplayName" = "LoopUI"; - -/* (No Comment) */ ->>>>>>> please "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/WatchApp Extension/fr.lproj/ckcomplication.strings b/WatchApp Extension/fr.lproj/ckcomplication.strings index 752d39e5b5..ba82abd915 100644 --- a/WatchApp Extension/fr.lproj/ckcomplication.strings +++ b/WatchApp Extension/fr.lproj/ckcomplication.strings @@ -1,6 +1,4 @@ -<<<<<<< HEAD -======= -/* +/* ckcomplication.strings Loop @@ -8,13 +6,10 @@ Copyright © 2016 Nathan Racklyeft. All rights reserved. */ ->>>>>>> please /* The complication template example unit string */ "120↘︎" = "120↘︎"; /* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ "UtilitarianLargeFlat" = "%@%@ %@"; -<<<<<<< HEAD -======= ->>>>>>> please + diff --git a/WatchApp Extension/nl.lproj/Localizable.strings b/WatchApp Extension/nl.lproj/Localizable.strings index 5b5cf39524..990a8941e5 100644 --- a/WatchApp Extension/nl.lproj/Localizable.strings +++ b/WatchApp Extension/nl.lproj/Localizable.strings @@ -1,9 +1,5 @@ /* The title of the alert controller displayed after a bolus attempt fails */ -<<<<<<< HEAD "Bolus Failed" = "Bolus mislukt"; -======= -"Bolus Failed" = "Bolus Mislukt"; ->>>>>>> please /* The short unit display string for decibles */ "dB" = "dB"; @@ -33,11 +29,7 @@ /* The title of the alert controller displayed after a carb entry send attempt fails The title of the alert controller displayed after a glucose range override send attempt fails */ -<<<<<<< HEAD "Send Failed" = "Versturen mislukt"; -======= -"Send Failed" = "Versturen Mislukt"; ->>>>>>> please /* The short unit display string for international units of insulin */ "U" = "E"; diff --git a/WatchApp Extension/zh-Hans.lproj/InfoPlist.strings b/WatchApp Extension/zh-Hans.lproj/InfoPlist.strings index b2d1c5749d..d133967074 100644 --- a/WatchApp Extension/zh-Hans.lproj/InfoPlist.strings +++ b/WatchApp Extension/zh-Hans.lproj/InfoPlist.strings @@ -1,13 +1,6 @@ -<<<<<<< HEAD /* Bundle display name */ "CFBundleDisplayName" = "WatchApp Extension"; /* Bundle name */ -======= -/* (No Comment) */ -"CFBundleDisplayName" = "WatchApp Extension"; - -/* (No Comment) */ ->>>>>>> please "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings b/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings index 752d39e5b5..ace6594f6c 100644 --- a/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings +++ b/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings @@ -1,6 +1,4 @@ -<<<<<<< HEAD -======= -/* +/* ckcomplication.strings Loop @@ -8,13 +6,9 @@ Copyright © 2016 Nathan Racklyeft. All rights reserved. */ ->>>>>>> please /* The complication template example unit string */ "120↘︎" = "120↘︎"; /* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ "UtilitarianLargeFlat" = "%@%@ %@"; -<<<<<<< HEAD -======= ->>>>>>> please diff --git a/WatchApp/nl.lproj/Interface.strings b/WatchApp/nl.lproj/Interface.strings index 23a525a52d..cf90b350b9 100644 --- a/WatchApp/nl.lproj/Interface.strings +++ b/WatchApp/nl.lproj/Interface.strings @@ -29,11 +29,7 @@ "eu3-pj-GH3.title" = "+"; /* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ -<<<<<<< HEAD "f5G-bS-9pd.text" = "Pre-maaltijd"; -======= -"f5G-bS-9pd.text" = "Pre-Maaltijd"; ->>>>>>> please /* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ "gAn-qe-OvX.title" = "🍭"; @@ -48,11 +44,7 @@ "hln-CI-MRP.text" = "Koolhydraten"; /* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ -<<<<<<< HEAD "jj3-Gq-HBy.text" = "Bolus mislukt"; -======= -"jj3-Gq-HBy.text" = "Bolus Mislukt"; ->>>>>>> please /* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ "mpK-zY-UvA.text" = "0.000"; From 90a469a4bc660b31dc785e89b1321865ecd6c99a Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Fri, 17 Aug 2018 09:13:53 -0700 Subject: [PATCH 15/24] fix errant "head" --- Loop Status Extension/fr.lproj/InfoPlist.strings | 1 - Loop Status Extension/zh-Hans.lproj/InfoPlist.strings | 1 - LoopUI/fr.lproj/InfoPlist.strings | 1 - LoopUI/zh-Hans.lproj/InfoPlist.strings | 1 - 4 files changed, 4 deletions(-) diff --git a/Loop Status Extension/fr.lproj/InfoPlist.strings b/Loop Status Extension/fr.lproj/InfoPlist.strings index 54724c9e9d..9cd95a0151 100644 --- a/Loop Status Extension/fr.lproj/InfoPlist.strings +++ b/Loop Status Extension/fr.lproj/InfoPlist.strings @@ -1,4 +1,3 @@ -<<<<<<< HEAD /* Bundle display name */ "CFBundleDisplayName" = "Loop"; diff --git a/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings b/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings index 54724c9e9d..9cd95a0151 100644 --- a/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings +++ b/Loop Status Extension/zh-Hans.lproj/InfoPlist.strings @@ -1,4 +1,3 @@ -<<<<<<< HEAD /* Bundle display name */ "CFBundleDisplayName" = "Loop"; diff --git a/LoopUI/fr.lproj/InfoPlist.strings b/LoopUI/fr.lproj/InfoPlist.strings index 16aa43b7f1..13ab538314 100644 --- a/LoopUI/fr.lproj/InfoPlist.strings +++ b/LoopUI/fr.lproj/InfoPlist.strings @@ -1,4 +1,3 @@ -<<<<<<< HEAD /* Bundle display name */ "CFBundleDisplayName" = "LoopUI"; diff --git a/LoopUI/zh-Hans.lproj/InfoPlist.strings b/LoopUI/zh-Hans.lproj/InfoPlist.strings index 16aa43b7f1..13ab538314 100644 --- a/LoopUI/zh-Hans.lproj/InfoPlist.strings +++ b/LoopUI/zh-Hans.lproj/InfoPlist.strings @@ -1,4 +1,3 @@ -<<<<<<< HEAD /* Bundle display name */ "CFBundleDisplayName" = "LoopUI"; From 1c3712ba31f8f287c66bf48ecb54858a41542235 Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Fri, 17 Aug 2018 16:10:47 -0700 Subject: [PATCH 16/24] italian and chinese --- DoseMathTests/it.lproj/InfoPlist.strings | 4 ++- DoseMathTests/zh-Hans.lproj/InfoPlist.strings | 4 ++- .../it.lproj/InfoPlist.strings | 4 +-- Loop/it.lproj/Localizable.strings | 30 ++++++++++++++++++- Loop/it.lproj/Main.strings | 2 +- Loop/zh-Hans.lproj/Localizable.strings | 9 +----- Loop/zh-Hans.lproj/Main.strings | 2 +- LoopTests/zh-Hans.lproj/InfoPlist.strings | 3 ++ LoopUI/it.lproj/InfoPlist.strings | 4 +-- LoopUI/zh-Hans.lproj/Localizable.strings | 2 +- WatchApp Extension/it.lproj/InfoPlist.strings | 4 +-- .../it.lproj/ckcomplication.strings | 9 +----- .../zh-Hans.lproj/Localizable.strings | 2 +- .../zh-Hans.lproj/ckcomplication.strings | 8 ----- 14 files changed, 50 insertions(+), 37 deletions(-) diff --git a/DoseMathTests/it.lproj/InfoPlist.strings b/DoseMathTests/it.lproj/InfoPlist.strings index 874e8a4532..bbcf8f9040 100644 --- a/DoseMathTests/it.lproj/InfoPlist.strings +++ b/DoseMathTests/it.lproj/InfoPlist.strings @@ -1 +1,3 @@ -/* No Localized Strings */ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/DoseMathTests/zh-Hans.lproj/InfoPlist.strings b/DoseMathTests/zh-Hans.lproj/InfoPlist.strings index 874e8a4532..bbcf8f9040 100644 --- a/DoseMathTests/zh-Hans.lproj/InfoPlist.strings +++ b/DoseMathTests/zh-Hans.lproj/InfoPlist.strings @@ -1 +1,3 @@ -/* No Localized Strings */ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/it.lproj/InfoPlist.strings b/Loop Status Extension/it.lproj/InfoPlist.strings index 9250064a26..9cd95a0151 100644 --- a/Loop Status Extension/it.lproj/InfoPlist.strings +++ b/Loop Status Extension/it.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "Loop"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/Loop/it.lproj/Localizable.strings b/Loop/it.lproj/Localizable.strings index 9c5c0c2970..d7c23981d4 100644 --- a/Loop/it.lproj/Localizable.strings +++ b/Loop/it.lproj/Localizable.strings @@ -95,6 +95,9 @@ /* The message displayed during a device authentication prompt for bolus specification */ "Authenticate to Bolus %@ Units" = "Autenticati per eseguire il bolo di %@ Unità"; +/* Details for configuration error when basal rate schedule is missing */ +"Basal Rate Schedule" = "Impostazione valori della basale"; + /* The title of the basal rate profile screen The title text for the basal rate schedule */ "Basal Rates" = "Impostazione Basale"; @@ -106,6 +109,9 @@ /* The title of the cancel action in an action sheet */ "Cancel" = "Cancella"; +/* Details for missing data error when carb effects are missing */ +"Carb effects" = "Effetto dei carboidrati"; + /* The title of the carb ratios schedule screen The title text for the carb ratio schedule */ "Carb Ratios" = "Rapp. Carb:Insulina"; @@ -122,6 +128,15 @@ /* The notification alert describing an empty pump reservoir */ "Change the pump reservoir now" = "Cambiare il serbatoio del microinfusore"; +/* Details for configuration error when one or more loop settings are missing */ +"Check settings" = "Controlla le impostazioni"; + +/* Recovery suggestion when reservoir data is missing */ +"Check that your pump is in range" = "Controlla che il tuo microinfusore sia nei paraggi"; + +/* Recovery suggestion when glucose data is missing */ +"Check your CGM data source" = "Controlla la sorgente CGM"; + /* The title text for the looping enabled switch cell */ "Closed Loop" = "Loop Chiuso"; @@ -201,6 +216,9 @@ /* Error description for unreliable state */ "Glucose data is unavailable" = "I dati sulla glicemia non sono disponibili"; +/* Description of error when glucose data is missing */ +"Glucose data not available" = "I dati sulla glicemia non sono disponibili"; + /* Title of the prediction input effect for glucose momentum */ "Glucose Momentum" = "Effetto Glicemico"; @@ -219,7 +237,11 @@ /* The title of the insulin delivery graph */ "Insulin Delivery" = "Insulina Somministrata"; -/* The title text for the insulin model setting row */ +/* Details for missing data error when insulin effects are missing */ +"Insulin effects" = "Effetto dell’insulina"; + +/* Details for configuration error when insulin model is missing + The title text for the insulin model setting row */ "Insulin Model" = "Modello di azione dell'Insulina"; /* The title of the insulin sensitivities schedule screen @@ -262,6 +284,9 @@ /* The short unit display string for millimoles of glucose per liter */ "mmol/L" = "mmol/L"; +/* Details for missing data error when momentum effects are missing */ +"Momentum effects" = "Effetto glicemico attuale"; + /* Sensor state description for the non-valid state */ "Needs Attention" = "Fai Attenzione"; @@ -298,6 +323,9 @@ /* The error message when pump data is too old to be used. (1: pump data age in minutes) */ "Pump data is %1$@ old" = "I dati forniti dal microinfusore sono di %1$@ fa"; +/* Details for configuration error when pump manager is missing */ +"Pump Manager" = "Gestione Microinfusore"; + /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "Serbatoio microinfusore Vuoto"; diff --git a/Loop/it.lproj/Main.strings b/Loop/it.lproj/Main.strings index 414d42588a..aba9288282 100644 --- a/Loop/it.lproj/Main.strings +++ b/Loop/it.lproj/Main.strings @@ -11,7 +11,7 @@ "5TX-kX-nBo.text" = "ID Microinfusore"; /* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ -"7LT-50-ZzK.accessibilityLabel" = "Importa Boli"; +"7LT-50-ZzK.accessibilityLabel" = "Quantità di bolo"; /* Class = "UITextField"; placeholder = "0.0"; ObjectID = "7LT-50-ZzK"; */ "7LT-50-ZzK.placeholder" = "0.0"; diff --git a/Loop/zh-Hans.lproj/Localizable.strings b/Loop/zh-Hans.lproj/Localizable.strings index 2b4a089ba5..f96283fccb 100644 --- a/Loop/zh-Hans.lproj/Localizable.strings +++ b/Loop/zh-Hans.lproj/Localizable.strings @@ -109,12 +109,6 @@ /* The title of the cancel action in an action sheet */ "Cancel" = "取消"; -/* Message shown when forecast cannot be made due to missing glucose data */ -"Cannot predict glucose due to missing input data" = "由于缺少输入数据无法预测血糖"; - -/* Error shown when carb effects or insulin effects are missing */ -"Cannot retrospect glucose due to missing input data" = "由于缺少输入数据无法回溯血糖"; - /* Details for missing data error when carb effects are missing */ "Carb effects" = "碳水效果"; @@ -213,8 +207,7 @@ /* The title text for the G5/G6 Transmitter switch cell */ "G5/G6 Transmitter" = "G5/G6发射器"; -/* Details for missing data error when glucose data is missing - The title of the glucose and prediction graph */ +/* The title of the glucose and prediction graph */ "Glucose" = "葡萄糖"; /* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ diff --git a/Loop/zh-Hans.lproj/Main.strings b/Loop/zh-Hans.lproj/Main.strings index e9edcd3dd9..969307fa2d 100644 --- a/Loop/zh-Hans.lproj/Main.strings +++ b/Loop/zh-Hans.lproj/Main.strings @@ -83,7 +83,7 @@ "k3F-Na-7mn.text" = "推荐基础率"; /* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ -"Krd-Aa-ret.text" = "Label"; +"Krd-Aa-ret.text" = "标签"; /* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ "l7l-mw-Oc9.text" = "标签"; diff --git a/LoopTests/zh-Hans.lproj/InfoPlist.strings b/LoopTests/zh-Hans.lproj/InfoPlist.strings index e69de29bb2..bbcf8f9040 100644 --- a/LoopTests/zh-Hans.lproj/InfoPlist.strings +++ b/LoopTests/zh-Hans.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/it.lproj/InfoPlist.strings b/LoopUI/it.lproj/InfoPlist.strings index 5c1fb13406..13ab538314 100644 --- a/LoopUI/it.lproj/InfoPlist.strings +++ b/LoopUI/it.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "LoopUI"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/LoopUI/zh-Hans.lproj/Localizable.strings b/LoopUI/zh-Hans.lproj/Localizable.strings index 855a1631a0..54264f6927 100644 --- a/LoopUI/zh-Hans.lproj/Localizable.strings +++ b/LoopUI/zh-Hans.lproj/Localizable.strings @@ -8,7 +8,7 @@ "%@U" = "%@单位"; /* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ -"%1$@ at %2$@" = "%1$@ at %2$@"; +"%1$@ at %2$@" = "%2$@ 分钟时为 %1$@"; /* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ "%1$@ units per hour at %2$@" = "%1$@ 每小时的单位 %2$@"; diff --git a/WatchApp Extension/it.lproj/InfoPlist.strings b/WatchApp Extension/it.lproj/InfoPlist.strings index 06077199aa..d133967074 100644 --- a/WatchApp Extension/it.lproj/InfoPlist.strings +++ b/WatchApp Extension/it.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "WatchApp Extension"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/WatchApp Extension/it.lproj/ckcomplication.strings b/WatchApp Extension/it.lproj/ckcomplication.strings index f05b483c67..57e3b0a8e6 100644 --- a/WatchApp Extension/it.lproj/ckcomplication.strings +++ b/WatchApp Extension/it.lproj/ckcomplication.strings @@ -1,13 +1,6 @@ -/* - ckcomplication.strings - Loop - - Created by Nate Racklyeft on 9/18/16. - Copyright © 2016 Nathan Racklyeft. All rights reserved. -*/ - /* The complication template example unit string */ "120↘︎" = "120↘︎"; /* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ "UtilitarianLargeFlat" = "%@%@ %@"; + diff --git a/WatchApp Extension/zh-Hans.lproj/Localizable.strings b/WatchApp Extension/zh-Hans.lproj/Localizable.strings index d0cb929818..2e4ecb1643 100644 --- a/WatchApp Extension/zh-Hans.lproj/Localizable.strings +++ b/WatchApp Extension/zh-Hans.lproj/Localizable.strings @@ -19,7 +19,7 @@ "mg/dL" = "毫克/分升"; /* The short unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; +"mmol/L" = "毫摩尔/升"; /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; diff --git a/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings b/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings index ace6594f6c..57e3b0a8e6 100644 --- a/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings +++ b/WatchApp Extension/zh-Hans.lproj/ckcomplication.strings @@ -1,11 +1,3 @@ -/* - ckcomplication.strings - Loop - - Created by Nate Racklyeft on 9/18/16. - Copyright © 2016 Nathan Racklyeft. All rights reserved. -*/ - /* The complication template example unit string */ "120↘︎" = "120↘︎"; From 7c9972f26efdfe506e7888028e1dbd6cc8c84f06 Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Fri, 17 Aug 2018 22:07:53 -0700 Subject: [PATCH 17/24] added strings for loop errors...all but Norwegian done --- DoseMathTests/de.lproj/InfoPlist.strings | 4 +- .../de.lproj/InfoPlist.strings | 4 +- .../de.lproj/MainInterface.strings | 2 +- .../nl.lproj/Localizable.strings | 2 +- Loop/Base.lproj/Localizable.strings | 117 ++++++++--------- Loop/de.lproj/Localizable.strings | 112 ++++++++-------- Loop/es.lproj/Localizable.strings | 93 ++++---------- Loop/fr.lproj/Localizable.strings | 84 +++--------- Loop/it.lproj/Localizable.strings | 76 +++-------- Loop/nb.lproj/InfoPlist.strings | 4 +- Loop/nb.lproj/Localizable.strings | 108 +++++++--------- Loop/nl.lproj/Localizable.strings | 120 ++++++++---------- Loop/nl.lproj/Main.strings | 4 +- Loop/ru.lproj/Localizable.strings | 82 +++--------- Loop/zh-Hans.lproj/Localizable.strings | 73 +++-------- LoopUI/de.lproj/InfoPlist.strings | 4 +- LoopUI/de.lproj/Localizable.strings | 2 +- WatchApp Extension/de.lproj/InfoPlist.strings | 4 +- .../de.lproj/ckcomplication.strings | 9 +- .../fr.lproj/Localizable.strings | 8 +- WatchApp/es.lproj/Interface.strings | 2 +- WatchApp/nl.lproj/Interface.strings | 2 +- 22 files changed, 317 insertions(+), 599 deletions(-) diff --git a/DoseMathTests/de.lproj/InfoPlist.strings b/DoseMathTests/de.lproj/InfoPlist.strings index 874e8a4532..bbcf8f9040 100644 --- a/DoseMathTests/de.lproj/InfoPlist.strings +++ b/DoseMathTests/de.lproj/InfoPlist.strings @@ -1 +1,3 @@ -/* No Localized Strings */ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/de.lproj/InfoPlist.strings b/Loop Status Extension/de.lproj/InfoPlist.strings index 9250064a26..9cd95a0151 100644 --- a/Loop Status Extension/de.lproj/InfoPlist.strings +++ b/Loop Status Extension/de.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "Loop"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/Loop Status Extension/de.lproj/MainInterface.strings b/Loop Status Extension/de.lproj/MainInterface.strings index 9f4e0690f3..f72bf72bc2 100644 --- a/Loop Status Extension/de.lproj/MainInterface.strings +++ b/Loop Status Extension/de.lproj/MainInterface.strings @@ -1,5 +1,5 @@ /* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ -"9iF-xY-Bh4.text" = "schließlich 92 mg/dL"; +"9iF-xY-Bh4.text" = "Schließlich 92 mg/dL"; /* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ "UPi-dG-yYD.text" = "IOB 1.0 E"; diff --git a/Loop Status Extension/nl.lproj/Localizable.strings b/Loop Status Extension/nl.lproj/Localizable.strings index 2d2db19264..d245c795f3 100644 --- a/Loop Status Extension/nl.lproj/Localizable.strings +++ b/Loop Status Extension/nl.lproj/Localizable.strings @@ -20,7 +20,7 @@ "Fiasp" = "Fiasp"; /* The short unit display string for grams */ -"g" = "g"; +"g" = "gr"; /* The subtitle format describing units of active insulin. (1: localized insulin value description) */ "IOB %1$@ U" = "IOB %1$@ E"; diff --git a/Loop/Base.lproj/Localizable.strings b/Loop/Base.lproj/Localizable.strings index 60fd5e7d0b..72b082e0f7 100644 --- a/Loop/Base.lproj/Localizable.strings +++ b/Loop/Base.lproj/Localizable.strings @@ -1,17 +1,10 @@ +/* Created with Localizable Strings Merge, the swiss-army knife for iOS and OS X localization. */ + /* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ " (pending: %@)" = "(pending: %@)"; -/* Formats absorbed carb value */ -"%@ absorbed" = "%@ absorbed"; - -/* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ U Total"; - -/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ -"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; - /* Format string for carb ratio average. (1: value)(2: carb unit) - Format string for insulin sensitivity average (1: value)(2: glucose unit) */ + Format string for insulin sensitivity average (1: value)(2: glucose unit) */ "%1$@ %2$@/U" = "%1$@ %2$@/U"; /* Formats (1: carb start time) and (2: carb absorption duration) */ @@ -20,23 +13,29 @@ /* Low reservoir alert format string. (1: Number of units remaining) */ "%1$@ U left" = "%1$@ U left"; -/* Appends a full-stop to a statement */ -"%@." = "%@."; - /* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ "%1$@ U left: %2$@" = "%1$@ U left: %2$@"; /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ U/hour @ %2$@"; -/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ -"%1$@ v%2$@" = "%1$@ v%2$@"; +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; /* Formats (1: carb value) and (2: food type) */ "%1$@: %2$@" = "%1$@: %2$@"; -/* Format string describing glucose units per minute (1: glucose unit string) */ -"%1$@/min" = "%1$@/min"; +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ absorbed"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ U Total"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; /* Description of the prediction input effect for glucose momentum */ "15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15 min glucose regression coefficient (b₁), continued with decay over 30 min."; @@ -44,12 +43,6 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 min comparison of glucose prediction vs actual, continued with decay over 60 min."; -/* Subtitle of Fiasp preset */ -"A model based on the published absorption of Fiasp insulin." = "A model based on the published absorption of Fiasp insulin."; - -/* Subtitle of Rapid-Acting – Adult preset */ -"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults."; - /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AcceptRecommendedBolus"; @@ -80,9 +73,6 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; -/* Subtitle of Rapid-Acting – Children preset */ -"An adjustment to the adult model based on empirical effects in children." = "An adjustment to the adult model based on empirical effects in children."; - /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -95,19 +85,25 @@ /* The message displayed during a device authentication prompt for bolus specification */ "Authenticate to Bolus %@ Units" = "Authenticate to Bolus %@ Units"; +/* Details for configuration error when basal rate schedule is missing */ +"Basal Rate Schedule" = "Basal Rate Schedule"; + /* The title of the basal rate profile screen - The title text for the basal rate schedule */ + The title text for the basal rate schedule */ "Basal Rates" = "Basal Rates"; /* The label of the bolus entry button - The notification title for a bolus failure */ + The notification title for a bolus failure */ "Bolus" = "Bolus"; /* The title of the cancel action in an action sheet */ "Cancel" = "Cancel"; +/* Details for missing data error when carb effects are missing */ +"Carb effects" = "Carb effects"; + /* The title of the carb ratios schedule screen - The title text for the carb ratio schedule */ + The title text for the carb ratio schedule */ "Carb Ratios" = "Carb Ratios"; /* Title of the prediction input effect for carbohydrates */ @@ -122,6 +118,15 @@ /* The notification alert describing an empty pump reservoir */ "Change the pump reservoir now" = "Change the pump reservoir now"; +/* Details for configuration error when one or more loop settings are missing */ +"Check settings" = "Check settings"; + +/* Recovery suggestion when reservoir data is missing */ +"Check that your pump is in range" = "Check that your pump is in range"; + +/* Recovery suggestion when glucose data is missing */ +"Check your CGM data source" = "Check your CGM data source"; + /* The title text for the looping enabled switch cell */ "Closed Loop" = "Closed Loop"; @@ -135,7 +140,7 @@ "Continuous Glucose Monitor" = "Continuous Glucose Monitor"; /* The title of the glucose target range schedule screen - The title text for the glucose target range schedule */ + The title text for the glucose target range schedule */ "Correction Range" = "Correction Range"; /* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ @@ -144,9 +149,6 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Customer Token"; -/* The short unit display string for decibles */ -"dB" = "dB"; - /* The title of the button to remove the credentials for a service */ "Delete Account" = "Delete Account"; @@ -177,15 +179,9 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Exceeds Maximum Bolus"; -/* Title of insulin model preset */ -"Fiasp" = "Fiasp"; - /* The format string used to describe a finite workout targets duration */ "For %1$@" = "For %1$@"; -/* The short unit display string for grams */ -"g" = "g"; - /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "G4 Share Receiver"; @@ -201,6 +197,9 @@ /* Error description for unreliable state */ "Glucose data is unavailable" = "Glucose data is unavailable"; +/* Description of error when glucose data is missing */ +"Glucose data not available" = "Glucose data not available"; + /* Title of the prediction input effect for glucose momentum */ "Glucose Momentum" = "Glucose Momentum"; @@ -219,11 +218,15 @@ /* The title of the insulin delivery graph */ "Insulin Delivery" = "Insulin Delivery"; -/* The title text for the insulin model setting row */ +/* Details for missing data error when insulin effects are missing */ +"Insulin effects" = "Insulin effects"; + +/* Details for configuration error when insulin model is missing + The title text for the insulin model setting row */ "Insulin Model" = "Insulin Model"; /* The title of the insulin sensitivities schedule screen - The title text for the insulin sensitivity schedule */ + The title text for the insulin sensitivity schedule */ "Insulin Sensitivities" = "Insulin Sensitivities"; /* The error message when invalid data was encountered. (1: details of invalid data) */ @@ -253,14 +256,11 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Low Battery"; -/* The short unit display string for milligrams of glucose per decilter */ -"mg/dL" = "mg/dL"; - /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Missing data: %1$@"; -/* The short unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; +/* Details for missing data error when momentum effects are missing */ +"Momentum effects" = "Momentum effects"; /* Sensor state description for the non-valid state */ "Needs Attention" = "Needs Attention"; @@ -298,21 +298,15 @@ /* The error message when pump data is too old to be used. (1: pump data age in minutes) */ "Pump data is %1$@ old" = "Pump data is %1$@ old"; +/* Details for configuration error when pump manager is missing */ +"Pump Manager" = "Pump Manager"; + /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "Pump Reservoir Empty"; /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Pump Reservoir Low"; -/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ -"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; - -/* Title of insulin model preset */ -"Rapid-Acting – Adults" = "Rapid-Acting – Adults"; - -/* Title of insulin model preset */ -"Rapid-Acting – Children" = "Rapid-Acting – Children"; - /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "Recommendation expired: %1$@ old"; @@ -325,6 +319,9 @@ /* The default placeholder string for a credential */ "Required" = "Required"; +/* Details for missing data error when reservoir data is missing */ +"Reservoir" = "Reservoir"; + /* Title of the prediction input effect for retrospective correction */ "Retrospective Correction" = "Retrospective Correction"; @@ -373,9 +370,6 @@ /* The title text in settings */ "Suspend Threshold" = "Suspend Threshold"; -/* Subtitle description of Walsh insulin model setting */ -"The legacy model used by Loop, allowing customization of action duration." = "The legacy model used by Loop, allowing customization of action duration."; - /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "The maximum bolus amount is %@ Units"; @@ -388,9 +382,6 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "Transmitter ID"; -/* The short unit display string for international units of insulin */ -"U" = "U"; - /* U.S. share server option title */ "US" = "US"; @@ -403,11 +394,9 @@ /* Label indicating validation is occurring */ "Verifying" = "Verifying"; -/* Title of insulin model setting */ -"Walsh" = "Walsh"; - /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour."; /* The label of the workout mode toggle button */ "Workout Targets" = "Workout Targets"; + diff --git a/Loop/de.lproj/Localizable.strings b/Loop/de.lproj/Localizable.strings index 0da07f9fda..dd1bdfda17 100644 --- a/Loop/de.lproj/Localizable.strings +++ b/Loop/de.lproj/Localizable.strings @@ -1,18 +1,8 @@ +/* Created with Localizable Strings Merge, the swiss-army knife for iOS and OS X localization. */ + /* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ " (pending: %@)" = " (steht aus: %@)"; -/* Formats absorbed carb value */ -"%@ absorbed" = "%@ absorbiert"; - -/* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ Gesamteinheiten"; - -/* Appends a full-stop to a statement */ -"%@." = "%@."; - -/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ -"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; - /* Format string for carb ratio average. (1: value)(2: carb unit) Format string for insulin sensitivity average (1: value)(2: glucose unit) */ "%1$@ %2$@/U" = "%1$@ %2$@/E"; @@ -29,14 +19,23 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ E/St @ %2$@"; -/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ -"%1$@ v%2$@" = "%1$@ v%2$@"; +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; /* Formats (1: carb value) and (2: food type) */ "%1$@: %2$@" = "%1$@: %2$@"; -/* Format string describing glucose units per minute (1: glucose unit string) */ -"%1$@/min" = "%1$@/min"; +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ absorbiert"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ Gesamteinheiten"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; /* Description of the prediction input effect for glucose momentum */ "15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15 Minuten Glukose-Regressionskoeffizient (b1), fortgesetzt mit Zerfall über 30 min"; @@ -44,14 +43,8 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30-minütiger Vergleich der Glukoseprädiktion gegenüber der tatsächlichen, Fortsetzung mit Zerfall über 60 min"; -/* Subtitle of Fiasp preset */ -"A model based on the published absorption of Fiasp insulin." = "Ein Modell basierend auf der veröffentlichten Absorption von Fiasp-Insulin."; - -/* Subtitle of Rapid-Acting – Adult preset */ -"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Ein Modell auf der Grundlage der veröffentlichten Absorption von Humalog, Novolog und Apidra Insulin bei Erwachsenen."; - /* Action to copy the recommended Bolus value to the actual Bolus Field */ -"AcceptRecommendedBolus" = "Akzeptiere empfohlenen Bolus"; +"AcceptRecommendedBolus" = "AkzeptiereEmpfohlenenBolus"; /* The title of the Carbs On-Board graph */ "Active Carbohydrates" = "Aktive Kohlenhydrate"; @@ -80,9 +73,6 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; -/* Subtitle of Rapid-Acting – Children preset */ -"An adjustment to the adult model based on empirical effects in children." = "Eine Anpassung an das Erwachsenenmodell basierend auf empirischen Effekten bei Kindern."; - /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -95,6 +85,9 @@ /* The message displayed during a device authentication prompt for bolus specification */ "Authenticate to Bolus %@ Units" = "Authentifizieren für Bolus %@ E"; +/* Details for configuration error when basal rate schedule is missing */ +"Basal Rate Schedule" = "Basalraten-Zeitplan"; + /* The title of the basal rate profile screen The title text for the basal rate schedule */ "Basal Rates" = "Basalraten"; @@ -106,6 +99,9 @@ /* The title of the cancel action in an action sheet */ "Cancel" = "Abbrechen"; +/* Details for missing data error when carb effects are missing */ +"Carb effects" = "Carbwirkungen"; + /* The title of the carb ratios schedule screen The title text for the carb ratio schedule */ "Carb Ratios" = "Kohlenhydrate Verhältnisse"; @@ -122,8 +118,17 @@ /* The notification alert describing an empty pump reservoir */ "Change the pump reservoir now" = "Wechseln Sie jetzt den Pumpenbehälter"; +/* Details for configuration error when one or more loop settings are missing */ +"Check settings" = "Überprüfen Sie die Einstellungen"; + +/* Recovery suggestion when reservoir data is missing */ +"Check that your pump is in range" = "Stellen Sie sicher, dass sich Ihre Pumpe in Reichweite befindet"; + +/* Recovery suggestion when glucose data is missing */ +"Check your CGM data source" = "Überprüfen Sie Ihre CGM-Datenquelle"; + /* The title text for the looping enabled switch cell */ -"Closed Loop" = "Geschlossene Schleife"; +"Closed Loop" = "Geschlossene Loop"; /* The title of the configuration section in settings */ "Configuration" = "Konfiguration"; @@ -144,9 +149,6 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Kunden-Token"; -/* The short unit display string for decibles */ -"dB" = "dB"; - /* The title of the button to remove the credentials for a service */ "Delete Account" = "Konto löschen"; @@ -177,15 +179,9 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Überschreitet den maximalen Bolus"; -/* Title of insulin model preset */ -"Fiasp" = "Fiasp"; - /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Für %1$@"; -/* The short unit display string for grams */ -"g" = "g"; - /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "G4 Share Empfänger"; @@ -201,6 +197,9 @@ /* Error description for unreliable state */ "Glucose data is unavailable" = "Glukosedaten sind nicht verfügbar"; +/* Description of error when glucose data is missing */ +"Glucose data not available" = "Glukosedaten sind nicht verfügbar"; + /* Title of the prediction input effect for glucose momentum */ "Glucose Momentum" = "Glukose-Momentum"; @@ -219,7 +218,11 @@ /* The title of the insulin delivery graph */ "Insulin Delivery" = "Insulinabgabe"; -/* The title text for the insulin model setting row */ +/* Details for missing data error when insulin effects are missing */ +"Insulin effects" = "Insulinwirkungen"; + +/* Details for configuration error when insulin model is missing + The title text for the insulin model setting row */ "Insulin Model" = "Insulin-Modell"; /* The title of the insulin sensitivities schedule screen @@ -251,16 +254,13 @@ "Loop has not completed successfully in %@" = "Loop wurde nicht erfolgreich abgeschlossen um %@"; /* The description of a low G5/G6 transmitter battery with a leading space */ -"Low Battery" = "niedriger Batteriestatus"; - -/* The short unit display string for milligrams of glucose per decilter */ -"mg/dL" = "mg/dL"; +"Low Battery" = "Niedriger Batteriestatus"; /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Fehlende Daten: %1$@"; -/* The short unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; +/* Details for missing data error when momentum effects are missing */ +"Momentum effects" = "Momentumwirkungen"; /* Sensor state description for the non-valid state */ "Needs Attention" = "Erfordert Aufmerksamkeit"; @@ -298,21 +298,15 @@ /* The error message when pump data is too old to be used. (1: pump data age in minutes) */ "Pump data is %1$@ old" = "Pumpendaten sind %1$@ alt"; +/* Details for configuration error when pump manager is missing */ +"Pump Manager" = "Pumpenmanager"; + /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "Pumpenreservoir leer"; /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Pumpenreservoir niedrig"; -/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ -"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; - -/* Title of insulin model preset */ -"Rapid-Acting – Adults" = "Schnell handelnd - Erwachsene"; - -/* Title of insulin model preset */ -"Rapid-Acting – Children" = "Schnell handelnd - Kinder"; - /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "Empfehlung abgelaufen: %1$@ alt"; @@ -320,11 +314,14 @@ "Recommended Basal" = "Empfohlen Basal"; /* Accessibility hint describing recommended bolus units */ -"Recommended Bolus: %@ Units" = "BEmpfohlener Bolus: %@ Einheiten"; +"Recommended Bolus: %@ Units" = "Empfohlener Bolus: %@ Einheiten"; /* The default placeholder string for a credential */ "Required" = "Erforderlich"; +/* Details for missing data error when reservoir data is missing */ +"Reservoir" = "Reservoir"; + /* Title of the prediction input effect for retrospective correction */ "Retrospective Correction" = "Retrospektive Korrektur"; @@ -373,9 +370,6 @@ /* The title text in settings */ "Suspend Threshold" = "Suspend-Schwellenwert"; -/* Subtitle description of Walsh insulin model setting */ -"The legacy model used by Loop, allowing customization of action duration." = "Das Legacy-Modell, das von Loop verwendet wird und die Anpassung der Aktionsdauer ermöglicht."; - /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "Die maximale Bolusmenge beträgt %@ Einheiten"; @@ -388,9 +382,6 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "Sender-ID"; -/* The short unit display string for international units of insulin */ -"U" = "E"; - /* U.S. share server option title */ "US" = "DE"; @@ -403,9 +394,6 @@ /* Label indicating validation is occurring */ "Verifying" = "Überprüfen"; -/* Title of insulin model setting */ -"Walsh" = "Walsh"; - /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Wenn die aktuelle oder prognostizierte Glukose unter dem Schwellenwert für die Aufhebung liegt, empfiehlt Loop keinen Bolus und empfiehlt immer eine temporäre Basalrate von 0 Einheiten pro Stunde."; diff --git a/Loop/es.lproj/Localizable.strings b/Loop/es.lproj/Localizable.strings index af24e7aad4..8a49c7ad57 100644 --- a/Loop/es.lproj/Localizable.strings +++ b/Loop/es.lproj/Localizable.strings @@ -1,18 +1,8 @@ +/* Created with Localizable Strings Merge, the swiss-army knife for iOS and OS X localization. */ + /* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ " (pending: %@)" = "(pendiente: %@)"; -/* Formats absorbed carb value */ -"%@ absorbed" = "%@ absorbido"; - -/* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ U Totales"; - -/* Appends a full-stop to a statement */ -"%@." = "%@."; - -/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ -"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; - /* Format string for carb ratio average. (1: value)(2: carb unit) Format string for insulin sensitivity average (1: value)(2: glucose unit) */ "%1$@ %2$@/U" = "%1$@ %2$@/U"; @@ -29,14 +19,23 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ U/hora @ %2$@"; -/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ -"%1$@ v%2$@" = "%1$@ v%2$@"; +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; /* Formats (1: carb value) and (2: food type) */ "%1$@: %2$@" = "%1$@: %2$@"; -/* Format string describing glucose units per minute (1: glucose unit string) */ -"%1$@/min" = "%1$@/min"; +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ absorbido"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ U Totales"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; /* Description of the prediction input effect for glucose momentum */ "15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "Coeficiente de regresión de glucosa de 15 minutos (b₁), continuado con decadencia sobre 30 minutos."; @@ -44,12 +43,6 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "Comparación de glucosa actual contra la predicha en 30 minutos, continuada con decadencia sobre 60 minutos."; -/* Subtitle of Fiasp preset */ -"A model based on the published absorption of Fiasp insulin." = "Un modelo basado en la absorción de la insulina Fiasp."; - -/* Subtitle of Rapid-Acting – Adult preset */ -"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modelo basado en la absorción de las insulinas Humalog, Novolog y Apidra en adultos."; - /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AceptarBoloRecomendado"; @@ -80,9 +73,6 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; -/* Subtitle of Rapid-Acting – Children preset */ -"An adjustment to the adult model based on empirical effects in children." = "Un ajuste al modelo adulto basado en los efectos empíricos en niños."; - /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -109,12 +99,6 @@ /* The title of the cancel action in an action sheet */ "Cancel" = "Cancelar"; -/* Message shown when forecast cannot be made due to missing glucose data */ -"Cannot predict glucose due to missing input data" = "No se puede predecir la glucosa debido a la falta de datos de entrada"; - -/* Error shown when carb effects or insulin effects are missing */ -"Cannot retrospect glucose due to missing input data" = "No se puede retrospectivar la glucosa debido a la falta de datos de entrada"; - /* Details for missing data error when carb effects are missing */ "Carb effects" = "Efectos de carbohidratos"; @@ -135,7 +119,7 @@ "Change the pump reservoir now" = "Cambie el reservorio de la microinfusora ya"; /* Details for configuration error when one or more loop settings are missing */ -"Check settings" = "Verificar configuración"; +"Check settings" = "Verificar ajustes"; /* Recovery suggestion when reservoir data is missing */ "Check that your pump is in range" = "Verifique que su microinfusora esté dentro del rango"; @@ -150,7 +134,7 @@ "Configuration" = "Configuración"; /* The error message displayed for configuration errors. (1: configuration error details) */ -"Configuration Error: %1$@" = "Configuration Error: %1$@"; +"Configuration Error: %1$@" = "Error de Configuración: %1$@"; /* The title of the continuous glucose monitor section in settings */ "Continuous Glucose Monitor" = "Monitor de glucosa continuo"; @@ -165,9 +149,6 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Token de Usuario"; -/* The short unit display string for decibles */ -"dB" = "dB"; - /* The title of the button to remove the credentials for a service */ "Delete Account" = "Eliminar Cuenta"; @@ -198,23 +179,16 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Excede bolo máximo"; -/* Title of insulin model preset */ -"Fiasp" = "Fiasp"; - /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Por %1$@"; -/* The short unit display string for grams */ -"g" = "g"; - /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "Receptor G4 Share"; /* The title text for the G5/G6 Transmitter switch cell */ "G5/G6 Transmitter" = "Transmisor G5/G6"; -/* Details for missing data error when glucose data is missing - The title of the glucose and prediction graph */ +/* The title of the glucose and prediction graph */ "Glucose" = "Glucosa"; /* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ @@ -224,7 +198,7 @@ "Glucose data is unavailable" = "Los datos de glucosa no están disponibles"; /* Description of error when glucose data is missing */ -"Glucose data not available" = "Datos de glucosa no disponibles"; +"Glucose data not available" = "Los datos de glucosa no están disponibles"; /* Title of the prediction input effect for glucose momentum */ "Glucose Momentum" = "Momento de Glucosa"; @@ -282,14 +256,11 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Batería Baja"; -/* The short unit display string for milligrams of glucose per decilter */ -"mg/dL" = "mg/dL"; - /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Faltan Datos: %1$@"; -/* The short unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; +/* Details for missing data error when momentum effects are missing */ +"Momentum effects" = "Efectos de Momento"; /* Sensor state description for the non-valid state */ "Needs Attention" = "Necesita Atención"; @@ -316,7 +287,7 @@ "Predicted glucose at %1$@ is %2$@." = "Glucosa proyectada en %1$@ es %2$@."; /* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ -"Predicted glucose of %1$@ is below your suspend threshold setting." = "Glucosa prevista de %1$@ se encuentra por debajo de su nivel de suspensión."; +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Glucosa proyectada de %1$@ se encuentra por debajo de su nivel de suspensión."; /* The title of the pump section in settings */ "Pump" = "Microinfusora"; @@ -336,15 +307,6 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Reservorio de Microinfusora Bajo"; -/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ -"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; - -/* Title of insulin model preset */ -"Rapid-Acting – Adults" = "Acción Rápida — Adultos"; - -/* Title of insulin model preset */ -"Rapid-Acting – Children" = "Acción Rápida — Niños"; - /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "Recomendación expiró: %1$@ vieja"; @@ -352,7 +314,7 @@ "Recommended Basal" = "Basal Recomendada"; /* Accessibility hint describing recommended bolus units */ -"Recommended Bolus: %@ Units" = "Bolo recomendado: %@ Unidades"; +"Recommended Bolus: %@ Units" = "Bolo Recomendado: %@ Unidades"; /* The default placeholder string for a credential */ "Required" = "Requerido"; @@ -408,9 +370,6 @@ /* The title text in settings */ "Suspend Threshold" = "Nivel de Suspensión"; -/* Subtitle description of Walsh insulin model setting */ -"The legacy model used by Loop, allowing customization of action duration." = "El model utilizado por versiones iniciales del Loop, permite ajustar duración de acción de la insulina."; - /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "Bolo máximo es %@ Unidades"; @@ -423,9 +382,6 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "ID de Transmisor"; -/* The short unit display string for international units of insulin */ -"U" = "U"; - /* U.S. share server option title */ "US" = "EEUU"; @@ -438,9 +394,6 @@ /* Label indicating validation is occurring */ "Verifying" = "Verificando"; -/* Title of insulin model setting */ -"Walsh" = "Walsh"; - /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Cuando la glucosa actual o proyectada se encuentre debajo del nivel de suspensión, Loop no recomendará un bolo y siempre recomendará un basal temporal de 0 unidades por hora."; diff --git a/Loop/fr.lproj/Localizable.strings b/Loop/fr.lproj/Localizable.strings index 54413fa866..93a2793dd0 100644 --- a/Loop/fr.lproj/Localizable.strings +++ b/Loop/fr.lproj/Localizable.strings @@ -1,17 +1,7 @@ -/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ -" (pending: %@)" = "(En suspens: %@)"; - -/* Formats absorbed carb value */ -"%@ absorbed" = "%@ absorbé"; +/* Created with Localizable Strings Merge, the swiss-army knife for iOS and OS X localization. */ -/* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ U Totaux"; - -/* Appends a full-stop to a statement */ -"%@." = "%@."; - -/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ -"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = "(en suspens: %@)"; /* Format string for carb ratio average. (1: value)(2: carb unit) Format string for insulin sensitivity average (1: value)(2: glucose unit) */ @@ -29,14 +19,23 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ U/heure @ %2$@"; -/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ -"%1$@ v%2$@" = "%1$@ v%2$@"; +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; /* Formats (1: carb value) and (2: food type) */ "%1$@: %2$@" = "%1$@: %2$@"; -/* Format string describing glucose units per minute (1: glucose unit string) */ -"%1$@/min" = "%1$@/min"; +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ absorbé"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ U Totaux"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; /* Description of the prediction input effect for glucose momentum */ "15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "Coefficient de régression du glucose de 15 minutes (b1), désintégration poursuivi au delà de 30 min."; @@ -44,12 +43,6 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "Comparaison sur 30 min de la glycémie Prédiction vs Actuelle, suivie d'une décroissance (decay) sur 60 min."; -/* Subtitle of Fiasp preset */ -"A model based on the published absorption of Fiasp insulin." = "Un modèle basé sur l'absorption publiée de l'insuline FIASP."; - -/* Subtitle of Rapid-Acting – Adult preset */ -"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modèle basé sur l'absorption publiée de l'insuline Humalog, Novolog et Apidra chez l'adulte."; - /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AcceptRecommendedBolus"; @@ -80,9 +73,6 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; -/* Subtitle of Rapid-Acting – Children preset */ -"An adjustment to the adult model based on empirical effects in children." = "Un ajustement au modèle adulte basé sur des effets empiriques chez les enfants."; - /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -109,12 +99,6 @@ /* The title of the cancel action in an action sheet */ "Cancel" = "Annuler"; -/* Message shown when forecast cannot be made due to missing glucose data */ -"Cannot predict glucose due to missing input data" = "Impossible de prédire la glycémie en raison de données manquantes"; - -/* Error shown when carb effects or insulin effects are missing */ -"Cannot retrospect glucose due to missing input data" = "Impossible de rétrospecter la glycémie en raison de données manquantes"; - /* Details for missing data error when carb effects are missing */ "Carb effects" = "Effets des glucides"; @@ -165,9 +149,6 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Token client"; -/* The short unit display string for decibles */ -"dB" = "dB"; - /* The title of the button to remove the credentials for a service */ "Delete Account" = "Supprimer le compte"; @@ -198,23 +179,16 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Dépasse le bolus maximal"; -/* Title of insulin model preset */ -"Fiasp" = "Fiasp"; - /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Pour %1$@"; -/* The short unit display string for grams */ -"g" = "g"; - /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "Récepteur G4 Share"; /* The title text for the G5/G6 Transmitter switch cell */ "G5/G6 Transmitter" = "Transmetteur G5/G6"; -/* Details for missing data error when glucose data is missing - The title of the glucose and prediction graph */ +/* The title of the glucose and prediction graph */ "Glucose" = "Glycémie"; /* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ @@ -282,15 +256,9 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Batterie faible"; -/* The short unit display string for milligrams of glucose per decilter */ -"mg/dL" = "mg/dL"; - /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Données manquantes: %1$@"; -/* The short unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; - /* Details for missing data error when momentum effects are missing */ "Momentum effects" = "Effets de momentum"; @@ -339,15 +307,6 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Niveau du réservoir de la pompe bas"; -/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ -"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; - -/* Title of insulin model preset */ -"Rapid-Acting – Adults" = "Action Rapide - Adulte"; - -/* Title of insulin model preset */ -"Rapid-Acting – Children" = "Action Rapide - Enfant"; - /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "Recommandation expirée: veille de %1$@"; @@ -411,9 +370,6 @@ /* The title text in settings */ "Suspend Threshold" = "Seuil de suspension"; -/* Subtitle description of Walsh insulin model setting */ -"The legacy model used by Loop, allowing customization of action duration." = "Le modèle hérité utilisé par Loop, permettant de personnaliser la durée de l'action."; - /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "Le bolus maximal est de %@ unités"; @@ -426,9 +382,6 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "ID du transmetteur"; -/* The short unit display string for international units of insulin */ -"U" = "U"; - /* U.S. share server option title */ "US" = "É.-U."; @@ -441,9 +394,6 @@ /* Label indicating validation is occurring */ "Verifying" = "En train de vérifier"; -/* Title of insulin model setting */ -"Walsh" = "Walsh"; - /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Lorsque le glucose actuel ou prévu est inférieur au seuil de suspension, Loop ne recommandera pas de bolus et recommandera toujours un débit basal temporaire de 0 unité par heure."; diff --git a/Loop/it.lproj/Localizable.strings b/Loop/it.lproj/Localizable.strings index d7c23981d4..f4e7e437a3 100644 --- a/Loop/it.lproj/Localizable.strings +++ b/Loop/it.lproj/Localizable.strings @@ -1,18 +1,8 @@ +/* Created with Localizable Strings Merge, the swiss-army knife for iOS and OS X localization. */ + /* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ " (pending: %@)" = " (prevista l'erogazione di: %@)"; -/* Formats absorbed carb value */ -"%@ absorbed" = "%@ assorbiti"; - -/* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ U Totali"; - -/* Appends a full-stop to a statement */ -"%@." = "%@."; - -/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ -"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; - /* Format string for carb ratio average. (1: value)(2: carb unit) Format string for insulin sensitivity average (1: value)(2: glucose unit) */ "%1$@ %2$@/U" = "%1$@ %2$@/U"; @@ -29,14 +19,23 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ U/ora @ %2$@"; -/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ -"%1$@ v%2$@" = "%1$@ v%2$@"; +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; /* Formats (1: carb value) and (2: food type) */ "%1$@: %2$@" = "%1$@: %2$@"; -/* Format string describing glucose units per minute (1: glucose unit string) */ -"%1$@/min" = "%1$@/min"; +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ assorbiti"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ U Totali"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; /* Description of the prediction input effect for glucose momentum */ "15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "Coefficiente di regressione del glucosio a 15 min (b₁), interpolato con il decadimento a 30 min."; @@ -44,12 +43,6 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "Confronto della previsione della glicemia a 30 min vs reale, interpolato con il decadimento sino a 60 min."; -/* Subtitle of Fiasp preset */ -"A model based on the published absorption of Fiasp insulin." = "Modello basato sull'assorbimento dell'insulina Fiasp."; - -/* Subtitle of Rapid-Acting – Adult preset */ -"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Modello basato sull'assorbimento dell'insulina Humalog, Novorapid e Apidra negli adulti."; - /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AccettaBoloConsigliato"; @@ -80,9 +73,6 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; -/* Subtitle of Rapid-Acting – Children preset */ -"An adjustment to the adult model based on empirical effects in children." = "Adattamento del modello per adulti basato su effetti empirici nei bambini."; - /* The title of the amplitude API key credential */ "API Key" = "Chiave API"; @@ -159,9 +149,6 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Token dell'utente"; -/* The short unit display string for decibles */ -"dB" = "dB"; - /* The title of the button to remove the credentials for a service */ "Delete Account" = "Cancella Account"; @@ -192,15 +179,9 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Valore superiore al Bolo Massimo"; -/* Title of insulin model preset */ -"Fiasp" = "Fiasp"; - /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Per %1$@"; -/* The short unit display string for grams */ -"g" = "g"; - /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "G4 Ricevitore Share"; @@ -275,15 +256,9 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Batteria Bassa"; -/* The short unit display string for milligrams of glucose per decilter */ -"mg/dL" = "mg/dL"; - /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Dati mancanti: %1$@"; -/* The short unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; - /* Details for missing data error when momentum effects are missing */ "Momentum effects" = "Effetto glicemico attuale"; @@ -332,15 +307,6 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Serbatoio microinfusore Basso"; -/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ -"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; - -/* Title of insulin model preset */ -"Rapid-Acting – Adults" = "Insulina ultrarapida – Adulti"; - -/* Title of insulin model preset */ -"Rapid-Acting – Children" = "Insulina ultrarapida – Bambini"; - /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "La dose raccomandata e' scaduta da %1$@"; @@ -353,6 +319,9 @@ /* The default placeholder string for a credential */ "Required" = "Necessario"; +/* Details for missing data error when reservoir data is missing */ +"Reservoir" = "Serbatoio"; + /* Title of the prediction input effect for retrospective correction */ "Retrospective Correction" = "Correzione Retrospettiva"; @@ -401,9 +370,6 @@ /* The title text in settings */ "Suspend Threshold" = "Blocco Erogazione"; -/* Subtitle description of Walsh insulin model setting */ -"The legacy model used by Loop, allowing customization of action duration." = "Il modello base usato da Loop, permette la personalizzazione della durata della glicemia."; - /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "Il massimo bolo eseguibile e' pari a %@ Unità"; @@ -416,9 +382,6 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "ID Trasmettitore"; -/* The short unit display string for international units of insulin */ -"U" = "U"; - /* U.S. share server option title */ "US" = "USA"; @@ -431,9 +394,6 @@ /* Label indicating validation is occurring */ "Verifying" = "Sto verificando"; -/* Title of insulin model setting */ -"Walsh" = "Walsh"; - /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Quando l'attuale valore glicemico o un valore previsto nel futuro e' al di sotto del valore minimo previsto per la sospensione dell'erogazione, Loop non consigliera' un bolo e blocchera' l'erogazione delle basali."; diff --git a/Loop/nb.lproj/InfoPlist.strings b/Loop/nb.lproj/InfoPlist.strings index cbcf3bc1b0..38f7988fe6 100644 --- a/Loop/nb.lproj/InfoPlist.strings +++ b/Loop/nb.lproj/InfoPlist.strings @@ -5,10 +5,10 @@ "CFBundleName" = "$(PRODUCT_NAME)"; /* Privacy - Bluetooth Peripheral Usage Description */ -"NSBluetoothPeripheralUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices."; +"NSBluetoothPeripheralUsageDescription" = "Bluetooth brukes til å kommunisere med insulinpumpe og kontinuerlige glukosemonitorer."; /* Privacy - Face ID Usage Description */ -"NSFaceIDUsageDescription" = "Face ID is used to authenticate insulin bolus."; +"NSFaceIDUsageDescription" = "Face ID brukes til å autentisere insulin bolus."; /* Privacy - Health Share Usage Description */ "NSHealthShareUsageDescription" = "Matdata fra Health-databasen brukes til å bestemme blodsukkereffekt. Blodsukkerdata hentes fra HealthKit for opptegning og analyse."; diff --git a/Loop/nb.lproj/Localizable.strings b/Loop/nb.lproj/Localizable.strings index 803c7e90c5..b012a64024 100644 --- a/Loop/nb.lproj/Localizable.strings +++ b/Loop/nb.lproj/Localizable.strings @@ -1,18 +1,8 @@ +/* Created with Localizable Strings Merge, the swiss-army knife for iOS and OS X localization. */ + /* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ " (pending: %@)" = "(Gjenstår: %@)"; -/* Formats absorbed carb value */ -"%@ absorbed" = "%@ absorbert"; - -/* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ E Totalt"; - -/* Appends a full-stop to a statement */ -"%@." = "%@."; - -/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ -"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; - /* Format string for carb ratio average. (1: value)(2: carb unit) Format string for insulin sensitivity average (1: value)(2: glucose unit) */ "%1$@ %2$@/U" = "%1$@ %2$@/E"; @@ -29,14 +19,23 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ E/timen @ %2$@"; -/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ -"%1$@ v%2$@" = "%1$@ v%2$@"; +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; /* Formats (1: carb value) and (2: food type) */ "%1$@: %2$@" = "%1$@: %2$@"; -/* Format string describing glucose units per minute (1: glucose unit string) */ -"%1$@/min" = "%1$@/min"; +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ absorbert"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ E Totalt"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; /* Description of the prediction input effect for glucose momentum */ "15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15 minutters glukose-regresjonskoeffisient (b1), fortsatt med henfall over 30 minutter."; @@ -44,12 +43,6 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 min sammenligning av glukose-prediksjon vs faktisk, fortsatt med forfall over 60 min."; -/* Subtitle of Fiasp preset */ -"A model based on the published absorption of Fiasp insulin." = "En modell basert på publiserte data for absorpsjon av Fiasp insulin."; - -/* Subtitle of Rapid-Acting – Adult preset */ -"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "En modell basert på publiserte data for absorpsjon av Humalog, Novolog og Apidra insulin hos voksne."; - /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AksepterAnbefaltBolus"; @@ -80,9 +73,6 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; -/* Subtitle of Rapid-Acting – Children preset */ -"An adjustment to the adult model based on empirical effects in children." = "En justering til modellen tilpasset voksne, basert på empiriske effekter hos barn."; - /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -95,6 +85,9 @@ /* The message displayed during a device authentication prompt for bolus specification */ "Authenticate to Bolus %@ Units" = "Autentiser for å gi bolus %@ E"; +/* Details for configuration error when basal rate schedule is missing */ +"Basal Rate Schedule" = "Basaldoser"; + /* The title of the basal rate profile screen The title text for the basal rate schedule */ "Basal Rates" = "Basaldoser"; @@ -106,6 +99,9 @@ /* The title of the cancel action in an action sheet */ "Cancel" = "Avbryt"; +/* Details for missing data error when carb effects are missing */ +"Carb effects" = "Carb effects"; /* NEW */ + /* The title of the carb ratios schedule screen The title text for the carb ratio schedule */ "Carb Ratios" = "Karbohydratforhold"; @@ -122,6 +118,15 @@ /* The notification alert describing an empty pump reservoir */ "Change the pump reservoir now" = "Bytt reservoar på pumpe nå"; +/* Details for configuration error when one or more loop settings are missing */ +"Check settings" = "Check settings"; /* NEW */ + +/* Recovery suggestion when reservoir data is missing */ +"Check that your pump is in range" = "Check that your pump is in range"; /* NEW */ + +/* Recovery suggestion when glucose data is missing */ +"Check your CGM data source" = "Check your CGM data source"; /* NEW */ + /* The title text for the looping enabled switch cell */ "Closed Loop" = "Lukket Loop"; @@ -144,9 +149,6 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Customer Token"; -/* The short unit display string for decibles */ -"dB" = "dB"; - /* The title of the button to remove the credentials for a service */ "Delete Account" = "Slett Konto"; @@ -177,15 +179,9 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Overskrider Maks Bolus"; -/* Title of insulin model preset */ -"Fiasp" = "Fiasp"; - /* The format string used to describe a finite workout targets duration */ "For %1$@" = "For %1$@"; -/* The short unit display string for grams */ -"g" = "g"; - /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "G4 Share Receiver"; @@ -201,6 +197,9 @@ /* Error description for unreliable state */ "Glucose data is unavailable" = "Glukose data er utilgjengelig"; +/* Description of error when glucose data is missing */ +"Glucose data not available" = "Glukose data er utilgjengelig"; /* NEW */ + /* Title of the prediction input effect for glucose momentum */ "Glucose Momentum" = "Glukosemomentum"; @@ -219,7 +218,11 @@ /* The title of the insulin delivery graph */ "Insulin Delivery" = "Insulinlevering"; -/* The title text for the insulin model setting row */ +/* Details for missing data error when insulin effects are missing */ +"Insulin effects" = "Insulin effects"; /* NEW */ + +/* Details for configuration error when insulin model is missing + The title text for the insulin model setting row */ "Insulin Model" = "Insulinmodell"; /* The title of the insulin sensitivities schedule screen @@ -253,17 +256,14 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Lite Batteri"; -/* The short unit display string for milligrams of glucose per decilter */ -"mg/dL" = "mg/dL"; - /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Mangler Data: %1$@"; -/* The short unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; +/* Details for missing data error when momentum effects are missing */ +"Momentum effects" = "Momentum effects"; /* NEW */ /* Sensor state description for the non-valid state */ -"Needs Attention" = "Trenger Tilsyn"; +"Needs Attention" = "Trenger tilsyn"; /* The title of the Nightscout service */ "Nightscout" = "Nightscout"; @@ -298,21 +298,15 @@ /* The error message when pump data is too old to be used. (1: pump data age in minutes) */ "Pump data is %1$@ old" = "Pumpedata er %1$@ gammelt"; +/* Details for configuration error when pump manager is missing */ +"Pump Manager" = "Pump Manager"; /* NEW */ + /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "Pumpereservoar Tomt"; /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Pumpereservoar Lavt"; -/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ -"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; - -/* Title of insulin model preset */ -"Rapid-Acting – Adults" = "Hurtigvirkende – voksen"; - -/* Title of insulin model preset */ -"Rapid-Acting – Children" = "Hurtigvirkende – barn"; - /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "Anbefaling utløpt: %1$@ gammelt"; @@ -325,6 +319,9 @@ /* The default placeholder string for a credential */ "Required" = "Påkrevd"; +/* Details for missing data error when reservoir data is missing */ +"Reservoir" = "Reservoar"; + /* Title of the prediction input effect for retrospective correction */ "Retrospective Correction" = "Retrospektiv Korreksjon"; @@ -373,14 +370,11 @@ /* The title text in settings */ "Suspend Threshold" = "Grense for stopp av insulintilførsel"; -/* Subtitle description of Walsh insulin model setting */ -"The legacy model used by Loop, allowing customization of action duration." = "Den gamle modellen brukt av Loop, tillater endring av varighet for handling."; - /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "Maks bolus er satt til %@ enheter"; /* Instructions on where to find the transmitter ID */ -"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "Transmitter ID kan du finne på baksiden av senderen, på siden av eska, og fra meny for innstillinger på avsenderen, eller i mobilappen."; +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "Sender ID kan du finne på baksiden av senderen, på siden av eska, og fra meny for innstillinger på avsenderen, eller i mobilappen."; /* The description of the switch which toggles retrospective correction effects */ "This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Dette vil øke eller redusere basallevering mer aggressivt når glukosebevegelsen ikke samsvarer med karbohydrat- og insulinbasert modell."; @@ -388,9 +382,6 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "Sender ID"; -/* The short unit display string for international units of insulin */ -"U" = "E"; - /* U.S. share server option title */ "US" = "USA"; @@ -403,9 +394,6 @@ /* Label indicating validation is occurring */ "Verifying" = "Bekrefter"; -/* Title of insulin model setting */ -"Walsh" = "Walsh"; - /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Når nåværende eller forventet blodsukker er under grensen for stopp av insulintilførsel, vil ikke Loop anbefale en bolus, og vil alltid anbefale en midlertidig basalrate på 0 enheter per time."; diff --git a/Loop/nl.lproj/Localizable.strings b/Loop/nl.lproj/Localizable.strings index 1c0cec47fe..612e2e6f1e 100644 --- a/Loop/nl.lproj/Localizable.strings +++ b/Loop/nl.lproj/Localizable.strings @@ -1,18 +1,8 @@ +/* Created with Localizable Strings Merge, the swiss-army knife for iOS and OS X localization. */ + /* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ " (pending: %@)" = " (Wachten: %@)"; -/* Formats absorbed carb value */ -"%@ absorbed" = "%@ opgenomen"; - -/* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ E totaal"; - -/* Appends a full-stop to a statement */ -"%@." = "%@."; - -/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ -"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; - /* Format string for carb ratio average. (1: value)(2: carb unit) Format string for insulin sensitivity average (1: value)(2: glucose unit) */ "%1$@ %2$@/U" = "%1$@ %2$@/E"; @@ -29,14 +19,23 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ E/uur @ %2$@"; -/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ -"%1$@ v%2$@" = "%1$@ v%2$@"; +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; /* Formats (1: carb value) and (2: food type) */ "%1$@: %2$@" = "%1$@: %2$@"; -/* Format string describing glucose units per minute (1: glucose unit string) */ -"%1$@/min" = "%1$@/min"; +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ opgenomen"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ E totaal"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; /* Description of the prediction input effect for glucose momentum */ "15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15 minuten glucose regressie coëficient (b1), continue zonder afbouw over 30 min"; @@ -44,12 +43,6 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 min vergelijking van glucose voorspelling versus actueel, gevolgd door afbouw over 60 min"; -/* Subtitle of Fiasp preset */ -"A model based on the published absorption of Fiasp insulin." = "Een model gebaseerd op de gepubliceerde opname van Fiasp insuline."; - -/* Subtitle of Rapid-Acting – Adult preset */ -"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Een model gebaseerd op de gepubliceerde opname van Humalog, Novorapid, en Apidra insuline bij volwassenen."; - /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AccepteerVoorgesteldeBolus"; @@ -80,9 +73,6 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; -/* Subtitle of Rapid-Acting – Children preset */ -"An adjustment to the adult model based on empirical effects in children." = "Een aanpasing op het model voor volwassen wanneer deze door kinderen wordt gebruikt."; - /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -95,6 +85,9 @@ /* The message displayed during a device authentication prompt for bolus specification */ "Authenticate to Bolus %@ Units" = "Authenticeer om te bolussen %@ E"; +/* Details for configuration error when basal rate schedule is missing */ +"Basal Rate Schedule" = "Basaal schema"; + /* The title of the basal rate profile screen The title text for the basal rate schedule */ "Basal Rates" = "Basaal waardes"; @@ -106,6 +99,9 @@ /* The title of the cancel action in an action sheet */ "Cancel" = "Annuleer"; +/* Details for missing data error when carb effects are missing */ +"Carb effects" = "Koolhydraten impact"; + /* The title of the carb ratios schedule screen The title text for the carb ratio schedule */ "Carb Ratios" = "Koolhydraten ratio's"; @@ -122,6 +118,15 @@ /* The notification alert describing an empty pump reservoir */ "Change the pump reservoir now" = "Vervang direct het pomp reservoir"; +/* Details for configuration error when one or more loop settings are missing */ +"Check settings" = "Controleer je instellingen"; + +/* Recovery suggestion when reservoir data is missing */ +"Check that your pump is in range" = "Controleer of je pomp binnen bereik is"; + +/* Recovery suggestion when glucose data is missing */ +"Check your CGM data source" = "Controleer je CGM gegevensbron"; + /* The title text for the looping enabled switch cell */ "Closed Loop" = "Gesloten loop"; @@ -129,7 +134,7 @@ "Configuration" = "Configuratie"; /* The error message displayed for configuration errors. (1: configuration error details) */ -"Configuration Error: %1$@" = "Configuratie Fout: %1$@"; +"Configuration Error: %1$@" = "Configuratie fout: %1$@"; /* The title of the continuous glucose monitor section in settings */ "Continuous Glucose Monitor" = "Continue Glucose Monitor"; @@ -144,11 +149,8 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Gebruiker token"; -/* The short unit display string for decibles */ -"dB" = "dB"; - /* The title of the button to remove the credentials for a service */ -"Delete Account" = "Verwijder Account"; +"Delete Account" = "Verwijder account"; /* Title text for delivery limits */ "Delivery Limits" = "Toediening limieten"; @@ -177,29 +179,26 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Overschrijdt maximale bolus"; -/* Title of insulin model preset */ -"Fiasp" = "Fiasp"; - /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Voor %1$@"; -/* The short unit display string for grams */ -"g" = "gr"; - /* The title text for the G4 Share Receiver switch cell */ -"G4 Share Receiver" = "G4 Share Ontvanger"; +"G4 Share Receiver" = "G4 Share ontvanger"; /* The title text for the G5/G6 Transmitter switch cell */ -"G5/G6 Transmitter" = "G5/G6 Zender"; +"G5/G6 Transmitter" = "G5/G6 zender"; /* The title of the glucose and prediction graph */ "Glucose" = "Glucose"; /* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ -"Glucose data is %1$@ old" = "Glucose data is %1$@ oud"; +"Glucose data is %1$@ old" = "Glucose gegevens is %1$@ oud"; /* Error description for unreliable state */ -"Glucose data is unavailable" = "Los datos de glucosa no están disponibles"; +"Glucose data is unavailable" = "Glucose gegevens niet beschikbaar"; + +/* Description of error when glucose data is missing */ +"Glucose data not available" = "Glucose gegevens niet beschikbaar"; /* Title of the prediction input effect for glucose momentum */ "Glucose Momentum" = "Glucose momentum"; @@ -219,7 +218,11 @@ /* The title of the insulin delivery graph */ "Insulin Delivery" = "Insuline toediening"; -/* The title text for the insulin model setting row */ +/* Details for missing data error when insulin effects are missing */ +"Insulin effects" = "Insuline impact"; + +/* Details for configuration error when insulin model is missing + The title text for the insulin model setting row */ "Insulin Model" = "Insuline model"; /* The title of the insulin sensitivities schedule screen @@ -253,14 +256,11 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Lage batterij"; -/* The short unit display string for milligrams of glucose per decilter */ -"mg/dL" = "mg/dL"; - /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Missende gegevens: %1$@"; -/* The short unit display string for millimoles of glucose per liter */ -"mmol/L" = "mmol/L"; +/* Details for missing data error when momentum effects are missing */ +"Momentum effects" = "Momentum impact"; /* Sensor state description for the non-valid state */ "Needs Attention" = "Aandacht vereist"; @@ -281,7 +281,7 @@ "Password" = "Paswoord"; /* The label of the pre-meal mode toggle button */ -"Pre-Meal Targets" = "Pre-Maaltijd Doelen"; +"Pre-Meal Targets" = "Voor de maaltijd doelen"; /* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ "Predicted glucose at %1$@ is %2$@." = "Verwachte glucose op %1$@ is %2$@."; @@ -298,21 +298,15 @@ /* The error message when pump data is too old to be used. (1: pump data age in minutes) */ "Pump data is %1$@ old" = "Pomp gegevens is %1$@ oud"; +/* Details for configuration error when pump manager is missing */ +"Pump Manager" = "Pompbeheer"; + /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "Pomp reservoir leeg"; /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Pomp reservoir bijna leeg"; -/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ -"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; - -/* Title of insulin model preset */ -"Rapid-Acting – Adults" = "Snelwerkende - volwassenen"; - -/* Title of insulin model preset */ -"Rapid-Acting – Children" = "Snelwerkende - kinderen"; - /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "Aanbeveling verlopen: %1$@ oud"; @@ -325,6 +319,9 @@ /* The default placeholder string for a credential */ "Required" = "Vereist"; +/* Details for missing data error when reservoir data is missing */ +"Reservoir" = "Reservoir"; + /* Title of the prediction input effect for retrospective correction */ "Retrospective Correction" = "Retroperspectieve correctie"; @@ -368,14 +365,11 @@ "Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; /* The title of the cell indicating a bolus is being sent */ -"Starting Bolus" = "Start Bolus"; +"Starting Bolus" = "Start bolus"; /* The title text in settings */ "Suspend Threshold" = "Onderbrekingsdrempel"; -/* Subtitle description of Walsh insulin model setting */ -"The legacy model used by Loop, allowing customization of action duration." = "Het oude model dat door Loop wordt gebruikt, waardoor de actieduur kan worden aangepast."; - /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "De maximale bolushoeveelheid is %@ Eenheden"; @@ -388,9 +382,6 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "Zender ID"; -/* The short unit display string for international units of insulin */ -"U" = "E"; - /* U.S. share server option title */ "US" = "US"; @@ -403,9 +394,6 @@ /* Label indicating validation is occurring */ "Verifying" = "Verifiëren"; -/* Title of insulin model setting */ -"Walsh" = "Walsh"; - /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Wanneer de huidige of voorspelde glucose onder de drempel voor onderbreken ligt, zal Loop geen bolus aanbevelen en zal altijd een tijdelijke basaal van 0 eenheden per uur aanbevelen."; diff --git a/Loop/nl.lproj/Main.strings b/Loop/nl.lproj/Main.strings index fcb2590636..4f3d11ccde 100644 --- a/Loop/nl.lproj/Main.strings +++ b/Loop/nl.lproj/Main.strings @@ -68,7 +68,7 @@ "hHZ-uY-aKw.text" = "Actieve koolhydraten: 40gr"; /* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ -"hZZ-2S-lrd.title" = "Effect Koolhydraten"; +"hZZ-2S-lrd.title" = "Effect koolhydraten"; /* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ "IxU-As-glo.text" = "Geobserveerde veranderingen in glucose. Kan gebruikt worden om de verhouding insuline/koolhydraten in te schatten, minus de veranderingen die reeds door insuline toediening hebben plaatsgevonden."; @@ -113,7 +113,7 @@ "Rse-x8-amW.text" = "uiteindelijk 92 mg/dL"; /* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ -"SQx-au-ZcM.text" = "g KaB"; +"SQx-au-ZcM.text" = "gr KaB"; /* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ "tuw-av-A3x.text" = "Glucose"; diff --git a/Loop/ru.lproj/Localizable.strings b/Loop/ru.lproj/Localizable.strings index fec160d899..af613a21cb 100644 --- a/Loop/ru.lproj/Localizable.strings +++ b/Loop/ru.lproj/Localizable.strings @@ -1,18 +1,8 @@ +/* Created with Localizable Strings Merge, the swiss-army knife for iOS and OS X localization. */ + /* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ " (pending: %@)" = " (В ожидании: %@)"; -/* Formats absorbed carb value */ -"%@ absorbed" = "%@ усвоено"; - -/* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ всего ед"; - -/* Appends a full-stop to a statement */ -"%@." = "%@."; - -/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ -"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; - /* Format string for carb ratio average. (1: value)(2: carb unit) Format string for insulin sensitivity average (1: value)(2: glucose unit) */ "%1$@ %2$@/U" = "%1$@ %2$@/ед"; @@ -29,14 +19,23 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ ед/час @ %2$@"; -/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ -"%1$@ v%2$@" = "%1$@ v%2$@"; +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/минут"; /* Formats (1: carb value) and (2: food type) */ "%1$@: %2$@" = "%1$@: %2$@"; -/* Format string describing glucose units per minute (1: glucose unit string) */ -"%1$@/min" = "%1$@/минут"; +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ усвоено"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ всего ед"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; /* Description of the prediction input effect for glucose momentum */ "15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15-мин коэффициент регрессии гликемии (b1), продолжен с угасанием 30 мин"; @@ -44,12 +43,6 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 мин сравнение предсказанной гликемии с действительной, продолжено с угасанием 60 мин"; -/* Subtitle of Fiasp preset */ -"A model based on the published absorption of Fiasp insulin." = "модель, основанная на опубликованных данных усвоения FIASP инсулина "; - -/* Subtitle of Rapid-Acting – Adult preset */ -"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "модель, основанная на опубликованных данных усвоения Humalog, Novolog и Apidra у взрослых "; - /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "Принятьрекомендуемыйболюс"; @@ -80,9 +73,6 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; -/* Subtitle of Rapid-Acting – Children preset */ -"An adjustment to the adult model based on empirical effects in children." = "Поправка к модели для взрослых основанная на эмпирических данных для детей"; - /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -109,12 +99,6 @@ /* The title of the cancel action in an action sheet */ "Cancel" = "Отмена"; -/* Message shown when forecast cannot be made due to missing glucose data */ -"Cannot predict glucose due to missing input data" = "Невозможно предсказать гликемию из-за недостатка введенных данных"; - -/* Error shown when carb effects or insulin effects are missing */ -"Cannot retrospect glucose due to missing input data" = "Невозможно показать ретро гликемию из-за недостатка введенных данных"; - /* Details for missing data error when carb effects are missing */ "Carb effects" = "Влияние углеводов"; @@ -165,9 +149,6 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Жетон пользователя"; -/* The short unit display string for decibles */ -"dB" = "dB"; - /* The title of the button to remove the credentials for a service */ "Delete Account" = "Удалить аккаунт"; @@ -198,23 +179,16 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Превышает макс болюс"; -/* Title of insulin model preset */ -"Fiasp" = "Fiasp"; - /* The format string used to describe a finite workout targets duration */ "For %1$@" = "В течение %1$@"; -/* The short unit display string for grams */ -"g" = "г"; - /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "Ресивер G4 Шеар"; /* The title text for the G5/G6 Transmitter switch cell */ "G5/G6 Transmitter" = "Трансмиттер G5/G6"; -/* Details for missing data error when glucose data is missing - The title of the glucose and prediction graph */ +/* The title of the glucose and prediction graph */ "Glucose" = "Гликемия"; /* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ @@ -282,15 +256,9 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Низкий заряд батареи"; -/* The short unit display string for milligrams of glucose per decilter */ -"mg/dL" = "мг/дл"; - /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Пропущены данные: %1$@"; -/* The short unit display string for millimoles of glucose per liter */ -"mmol/L" = "ммоль/л"; - /* Details for missing data error when momentum effects are missing */ "Momentum effects" = "Влияние динамики СК"; @@ -339,15 +307,6 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Низкий уровень резервуара помпы"; -/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ -"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; - -/* Title of insulin model preset */ -"Rapid-Acting – Adults" = "Боыстродействующий - взрослые"; - -/* Title of insulin model preset */ -"Rapid-Acting – Children" = "Быстродействующий - дети"; - /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "Рекомнендация истекла : от %1$@"; @@ -411,9 +370,6 @@ /* The title text in settings */ "Suspend Threshold" = "Порог приостановки"; -/* Subtitle description of Walsh insulin model setting */ -"The legacy model used by Loop, allowing customization of action duration." = "Модель, используемая для цикла/контура, позволяет настройку длительности действия"; - /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "максимальный болюс %@ ед"; @@ -426,9 +382,6 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "Инд № трансмиттера"; -/* The short unit display string for international units of insulin */ -"U" = "ед"; - /* U.S. share server option title */ "US" = "США"; @@ -441,9 +394,6 @@ /* Label indicating validation is occurring */ "Verifying" = "Верифицируется"; -/* Title of insulin model setting */ -"Walsh" = "Walsh"; - /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Если текущая или предсказываемая гликемия ниже порога приостановки помпы, алгоритм цикла ипж не рекомендует болюс и всегда рекомендует временный базал 0 ед/час"; diff --git a/Loop/zh-Hans.lproj/Localizable.strings b/Loop/zh-Hans.lproj/Localizable.strings index f96283fccb..5a2af280c7 100644 --- a/Loop/zh-Hans.lproj/Localizable.strings +++ b/Loop/zh-Hans.lproj/Localizable.strings @@ -1,18 +1,8 @@ +/* Created with Localizable Strings Merge, the swiss-army knife for iOS and OS X localization. */ + /* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ " (pending: %@)" = "(待执行: %@)"; -/* Formats absorbed carb value */ -"%@ absorbed" = "%@ 已吸收"; - -/* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ 单位 总量"; - -/* Appends a full-stop to a statement */ -"%@." = "%@."; - -/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ -"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; - /* Format string for carb ratio average. (1: value)(2: carb unit) Format string for insulin sensitivity average (1: value)(2: glucose unit) */ "%1$@ %2$@/U" = "%1$@ %2$@/单位"; @@ -29,14 +19,23 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ 单位/小时 @ %2$@"; -/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ -"%1$@ v%2$@" = "%1$@ v%2$@"; +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/分钟"; /* Formats (1: carb value) and (2: food type) */ "%1$@: %2$@" = "%1$@: %2$@"; -/* Format string describing glucose units per minute (1: glucose unit string) */ -"%1$@/min" = "%1$@/分钟"; +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ 已吸收"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ 单位 总量"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; /* Description of the prediction input effect for glucose momentum */ "15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15分钟葡萄糖回归系数(b1),持续30分钟衰减"; @@ -44,12 +43,6 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30分钟葡萄糖预测与实际比较,持续60分钟以上衰减"; -/* Subtitle of Fiasp preset */ -"A model based on the published absorption of Fiasp insulin." = "基于公布的Fiasp胰岛素吸收的模型"; - -/* Subtitle of Rapid-Acting – Adult preset */ -"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "基于已公布的Humalog,Novolog和Apidra胰岛素在成人中吸收的模型。"; - /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "按照推荐的大剂量输注"; @@ -80,9 +73,6 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; -/* Subtitle of Rapid-Acting – Children preset */ -"An adjustment to the adult model based on empirical effects in children." = "在成人胰岛素模型基础上专为儿童修改的胰岛素代谢模型"; - /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -159,9 +149,6 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "用户Token"; -/* The short unit display string for decibles */ -"dB" = "dB"; - /* The title of the button to remove the credentials for a service */ "Delete Account" = "删除账户"; @@ -192,15 +179,9 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "超过大剂量最大输注限制"; -/* Title of insulin model preset */ -"Fiasp" = "Fiasp"; - /* The format string used to describe a finite workout targets duration */ "For %1$@" = "对于 %1$@"; -/* The short unit display string for grams */ -"g" = "克"; - /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "带有蓝牙功能G4接收器"; @@ -275,15 +256,9 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "电量低"; -/* The short unit display string for milligrams of glucose per decilter */ -"mg/dL" = "毫克/分升"; - /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "数据缺失: %1$@"; -/* The short unit display string for millimoles of glucose per liter */ -"mmol/L" = "毫摩尔/升"; - /* Details for missing data error when momentum effects are missing */ "Momentum effects" = "葡萄糖动量效应"; @@ -332,15 +307,6 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "药量低"; -/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ -"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; - -/* Title of insulin model preset */ -"Rapid-Acting – Adults" = "速效胰岛素 - 成人模型"; - -/* Title of insulin model preset */ -"Rapid-Acting – Children" = "速效胰岛素 - 儿童模型"; - /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "%1$@分钟前推荐剂量已过期"; @@ -404,9 +370,6 @@ /* The title text in settings */ "Suspend Threshold" = "暂停阈值"; -/* Subtitle description of Walsh insulin model setting */ -"The legacy model used by Loop, allowing customization of action duration." = "Loop使用的默认模型参数,您可以自行修改胰岛素代谢时间。"; - /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "大剂量输注最大限制为%@单位"; @@ -419,9 +382,6 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "发射器编号"; -/* The short unit display string for international units of insulin */ -"U" = "单位"; - /* U.S. share server option title */ "US" = "美国"; @@ -434,9 +394,6 @@ /* Label indicating validation is occurring */ "Verifying" = "验证"; -/* Title of insulin model setting */ -"Walsh" = "Walsh"; - /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "当前或预测的葡萄糖低于暂停阈值时,Loop不推荐推注,并且总是建议每小时0单位的临时基础速率。"; diff --git a/LoopUI/de.lproj/InfoPlist.strings b/LoopUI/de.lproj/InfoPlist.strings index 5c1fb13406..13ab538314 100644 --- a/LoopUI/de.lproj/InfoPlist.strings +++ b/LoopUI/de.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "LoopUI"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/LoopUI/de.lproj/Localizable.strings b/LoopUI/de.lproj/Localizable.strings index 41a0d71700..143d6d6806 100644 --- a/LoopUI/de.lproj/Localizable.strings +++ b/LoopUI/de.lproj/Localizable.strings @@ -5,7 +5,7 @@ "%@ U" = "%@ E"; /* Format string for reservoir volume. (1: The localized volume) */ -"%@U" = "%@U"; +"%@U" = "%@E"; /* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ "%1$@ at %2$@" = "%1$@ in %2$@"; diff --git a/WatchApp Extension/de.lproj/InfoPlist.strings b/WatchApp Extension/de.lproj/InfoPlist.strings index 06077199aa..d133967074 100644 --- a/WatchApp Extension/de.lproj/InfoPlist.strings +++ b/WatchApp Extension/de.lproj/InfoPlist.strings @@ -1,6 +1,6 @@ -/* (No Comment) */ +/* Bundle display name */ "CFBundleDisplayName" = "WatchApp Extension"; -/* (No Comment) */ +/* Bundle name */ "CFBundleName" = "$(PRODUCT_NAME)"; diff --git a/WatchApp Extension/de.lproj/ckcomplication.strings b/WatchApp Extension/de.lproj/ckcomplication.strings index f05b483c67..57e3b0a8e6 100644 --- a/WatchApp Extension/de.lproj/ckcomplication.strings +++ b/WatchApp Extension/de.lproj/ckcomplication.strings @@ -1,13 +1,6 @@ -/* - ckcomplication.strings - Loop - - Created by Nate Racklyeft on 9/18/16. - Copyright © 2016 Nathan Racklyeft. All rights reserved. -*/ - /* The complication template example unit string */ "120↘︎" = "120↘︎"; /* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ "UtilitarianLargeFlat" = "%@%@ %@"; + diff --git a/WatchApp Extension/fr.lproj/Localizable.strings b/WatchApp Extension/fr.lproj/Localizable.strings index 5b2d012031..ccbc8eecb8 100644 --- a/WatchApp Extension/fr.lproj/Localizable.strings +++ b/WatchApp Extension/fr.lproj/Localizable.strings @@ -1,11 +1,11 @@ /* The title of the alert controller displayed after a bolus attempt fails */ -"Bolus Failed" = "Bolus Failed"; +"Bolus Failed" = "Bolus Échoué"; /* The short unit display string for decibles */ "dB" = "dB"; /* The action button title to dismiss an error message */ -"Dismiss" = "Dismiss"; +"Dismiss" = "Rejeter"; /* The short unit display string for grams */ "g" = "g"; @@ -13,7 +13,7 @@ /* The recovery message displayed after a bolus attempt fails The recovery message displayed after a carb entry send attempt fails The recovery message displayed after a glucose range override send attempt fails */ -"Make sure your iPhone is nearby and try again" = "Make sure your iPhone is nearby and try again"; +"Make sure your iPhone is nearby and try again" = "Assurez-vous que votre iPhone est à proximité et réessayez"; /* The short unit display string for milligrams of glucose per decilter */ "mg/dL" = "mg/dL"; @@ -29,7 +29,7 @@ /* The title of the alert controller displayed after a carb entry send attempt fails The title of the alert controller displayed after a glucose range override send attempt fails */ -"Send Failed" = "Send Failed"; +"Send Failed" = "Echec de l'envoi"; /* The short unit display string for international units of insulin */ "U" = "U"; diff --git a/WatchApp/es.lproj/Interface.strings b/WatchApp/es.lproj/Interface.strings index 6e1953753b..da577b444a 100644 --- a/WatchApp/es.lproj/Interface.strings +++ b/WatchApp/es.lproj/Interface.strings @@ -50,7 +50,7 @@ "mpK-zY-UvA.text" = "0.000"; /* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ -"nC0-X3-oFJ.text" = "Workout"; +"nC0-X3-oFJ.text" = "Ejercicio"; /* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ "Qsq-p5-1J0.title" = "Bolo"; diff --git a/WatchApp/nl.lproj/Interface.strings b/WatchApp/nl.lproj/Interface.strings index cf90b350b9..5937e17ec6 100644 --- a/WatchApp/nl.lproj/Interface.strings +++ b/WatchApp/nl.lproj/Interface.strings @@ -29,7 +29,7 @@ "eu3-pj-GH3.title" = "+"; /* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ -"f5G-bS-9pd.text" = "Pre-maaltijd"; +"f5G-bS-9pd.text" = "Voor de maaltijd"; /* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ "gAn-qe-OvX.title" = "🍭"; From 3d869216c9f9ccfa87fbef3d85aab4604a186158 Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Fri, 17 Aug 2018 23:06:42 -0700 Subject: [PATCH 18/24] touchups --- Loop/Base.lproj/Localizable.strings | 42 +++++++++++++++++++++++ Loop/de.lproj/Localizable.strings | 42 +++++++++++++++++++++++ Loop/es.lproj/Localizable.strings | 44 +++++++++++++++++++++++- Loop/fr.lproj/Localizable.strings | 42 +++++++++++++++++++++++ Loop/it.lproj/Localizable.strings | 44 +++++++++++++++++++++++- Loop/nb.lproj/Localizable.strings | 46 ++++++++++++++++++++++++-- Loop/nl.lproj/Localizable.strings | 42 +++++++++++++++++++++++ Loop/ru.lproj/Localizable.strings | 42 +++++++++++++++++++++++ Loop/zh-Hans.lproj/Localizable.strings | 42 +++++++++++++++++++++++ 9 files changed, 382 insertions(+), 4 deletions(-) diff --git a/Loop/Base.lproj/Localizable.strings b/Loop/Base.lproj/Localizable.strings index 72b082e0f7..7f7ac0fb97 100644 --- a/Loop/Base.lproj/Localizable.strings +++ b/Loop/Base.lproj/Localizable.strings @@ -19,6 +19,9 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ U/hour @ %2$@"; +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + /* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ "%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; @@ -43,6 +46,12 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 min comparison of glucose prediction vs actual, continued with decay over 60 min."; +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "A model based on the published absorption of Fiasp insulin."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults."; + /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AcceptRecommendedBolus"; @@ -73,6 +82,9 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "An adjustment to the adult model based on empirical effects in children."; + /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -149,6 +161,9 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Customer Token"; +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The title of the button to remove the credentials for a service */ "Delete Account" = "Delete Account"; @@ -179,9 +194,15 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Exceeds Maximum Bolus"; +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "For %1$@"; +/* The short unit display string for grams */ +"g" = "g"; + /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "G4 Share Receiver"; @@ -256,9 +277,15 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Low Battery"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Missing data: %1$@"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Details for missing data error when momentum effects are missing */ "Momentum effects" = "Momentum effects"; @@ -307,6 +334,12 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Pump Reservoir Low"; +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Rapid-Acting – Adults"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Rapid-Acting – Children"; + /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "Recommendation expired: %1$@ old"; @@ -370,6 +403,9 @@ /* The title text in settings */ "Suspend Threshold" = "Suspend Threshold"; +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "The legacy model used by Loop, allowing customization of action duration."; + /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "The maximum bolus amount is %@ Units"; @@ -382,6 +418,9 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "Transmitter ID"; +/* The short unit display string for international units of insulin */ +"U" = "U"; + /* U.S. share server option title */ "US" = "US"; @@ -394,6 +433,9 @@ /* Label indicating validation is occurring */ "Verifying" = "Verifying"; +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour."; diff --git a/Loop/de.lproj/Localizable.strings b/Loop/de.lproj/Localizable.strings index dd1bdfda17..dab2a14cad 100644 --- a/Loop/de.lproj/Localizable.strings +++ b/Loop/de.lproj/Localizable.strings @@ -19,6 +19,9 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ E/St @ %2$@"; +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + /* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ "%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; @@ -43,6 +46,12 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30-minütiger Vergleich der Glukoseprädiktion gegenüber der tatsächlichen, Fortsetzung mit Zerfall über 60 min"; +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Ein Modell basierend auf der veröffentlichten Absorption von Fiasp-Insulin."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Ein Modell auf der Grundlage der veröffentlichten Absorption von Humalog, Novolog und Apidra Insulin bei Erwachsenen."; + /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AkzeptiereEmpfohlenenBolus"; @@ -73,6 +82,9 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Eine Anpassung an das Erwachsenenmodell basierend auf empirischen Effekten bei Kindern."; + /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -149,6 +161,9 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Kunden-Token"; +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The title of the button to remove the credentials for a service */ "Delete Account" = "Konto löschen"; @@ -179,9 +194,15 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Überschreitet den maximalen Bolus"; +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Für %1$@"; +/* The short unit display string for grams */ +"g" = "g"; + /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "G4 Share Empfänger"; @@ -256,9 +277,15 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Niedriger Batteriestatus"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Fehlende Daten: %1$@"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Details for missing data error when momentum effects are missing */ "Momentum effects" = "Momentumwirkungen"; @@ -307,6 +334,12 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Pumpenreservoir niedrig"; +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Schnell handelnd - Erwachsene"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Schnell handelnd - Kinder"; + /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "Empfehlung abgelaufen: %1$@ alt"; @@ -370,6 +403,9 @@ /* The title text in settings */ "Suspend Threshold" = "Suspend-Schwellenwert"; +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Das Legacy-Modell, das von Loop verwendet wird und die Anpassung der Aktionsdauer ermöglicht."; + /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "Die maximale Bolusmenge beträgt %@ Einheiten"; @@ -382,6 +418,9 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "Sender-ID"; +/* The short unit display string for international units of insulin */ +"U" = "E"; + /* U.S. share server option title */ "US" = "DE"; @@ -394,6 +433,9 @@ /* Label indicating validation is occurring */ "Verifying" = "Überprüfen"; +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Wenn die aktuelle oder prognostizierte Glukose unter dem Schwellenwert für die Aufhebung liegt, empfiehlt Loop keinen Bolus und empfiehlt immer eine temporäre Basalrate von 0 Einheiten pro Stunde."; diff --git a/Loop/es.lproj/Localizable.strings b/Loop/es.lproj/Localizable.strings index 8a49c7ad57..a53a118db6 100644 --- a/Loop/es.lproj/Localizable.strings +++ b/Loop/es.lproj/Localizable.strings @@ -19,6 +19,9 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ U/hora @ %2$@"; +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + /* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ "%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; @@ -41,7 +44,13 @@ "15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "Coeficiente de regresión de glucosa de 15 minutos (b₁), continuado con decadencia sobre 30 minutos."; /* Description of the prediction input effect for retrospective correction */ -"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "Comparación de glucosa actual contra la predicha en 30 minutos, continuada con decadencia sobre 60 minutos."; +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "Comparación de glucosa actual contra la predicha en 30 minutos, continuada con decaimiento sobre 60 minutos."; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Un modelo basado en la publicación de la absorción de insulina Fiasp."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modelo basado en la publicación de la absorción de insulina Humalog, Novolog y Apidra en adultos."; /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AceptarBoloRecomendado"; @@ -73,6 +82,9 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Un ajuste al modelo adulto basado en los efectos empíricos en niños."; + /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -149,6 +161,9 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Token de Usuario"; +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The title of the button to remove the credentials for a service */ "Delete Account" = "Eliminar Cuenta"; @@ -179,9 +194,15 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Excede bolo máximo"; +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Por %1$@"; +/* The short unit display string for grams */ +"g" = "g"; + /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "Receptor G4 Share"; @@ -256,9 +277,15 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Batería Baja"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Faltan Datos: %1$@"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Details for missing data error when momentum effects are missing */ "Momentum effects" = "Efectos de Momento"; @@ -307,6 +334,12 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Reservorio de Microinfusora Bajo"; +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Acción Rápida — Adultos"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Acción Rápida — Niños"; + /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "Recomendación expiró: %1$@ vieja"; @@ -370,6 +403,9 @@ /* The title text in settings */ "Suspend Threshold" = "Nivel de Suspensión"; +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "El model utilizado por ediciones iniciales de Loop, permite ajustar duración de acción."; + /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "Bolo máximo es %@ Unidades"; @@ -382,6 +418,9 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "ID de Transmisor"; +/* The short unit display string for international units of insulin */ +"U" = "U"; + /* U.S. share server option title */ "US" = "EEUU"; @@ -394,6 +433,9 @@ /* Label indicating validation is occurring */ "Verifying" = "Verificando"; +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Cuando la glucosa actual o proyectada se encuentre debajo del nivel de suspensión, Loop no recomendará un bolo y siempre recomendará un basal temporal de 0 unidades por hora."; diff --git a/Loop/fr.lproj/Localizable.strings b/Loop/fr.lproj/Localizable.strings index 93a2793dd0..5a82f85b4e 100644 --- a/Loop/fr.lproj/Localizable.strings +++ b/Loop/fr.lproj/Localizable.strings @@ -19,6 +19,9 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ U/heure @ %2$@"; +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + /* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ "%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; @@ -43,6 +46,12 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "Comparaison sur 30 min de la glycémie Prédiction vs Actuelle, suivie d'une décroissance (decay) sur 60 min."; +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Un modèle basé sur l’absorption publiée de l’insuline FIASP."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un modèle basé sur l’absorption publiée de l’Hunalog, Novolog, et Apidra chez l’adulte."; + /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AcceptRecommendedBolus"; @@ -73,6 +82,9 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Un ajustement au modèle adulte basé sur des effets empiriques chez les enfants."; + /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -149,6 +161,9 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Token client"; +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The title of the button to remove the credentials for a service */ "Delete Account" = "Supprimer le compte"; @@ -179,9 +194,15 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Dépasse le bolus maximal"; +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Pour %1$@"; +/* The short unit display string for grams */ +"g" = "g"; + /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "Récepteur G4 Share"; @@ -256,9 +277,15 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Batterie faible"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Données manquantes: %1$@"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Details for missing data error when momentum effects are missing */ "Momentum effects" = "Effets de momentum"; @@ -307,6 +334,12 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Niveau du réservoir de la pompe bas"; +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Action rapide - Adulte"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Action rapide - Enfant"; + /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "Recommandation expirée: veille de %1$@"; @@ -370,6 +403,9 @@ /* The title text in settings */ "Suspend Threshold" = "Seuil de suspension"; +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Le modèle hérité utilisé par Loop, permettant de personnaliser la durée de l’action."; + /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "Le bolus maximal est de %@ unités"; @@ -382,6 +418,9 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "ID du transmetteur"; +/* The short unit display string for international units of insulin */ +"U" = "U"; + /* U.S. share server option title */ "US" = "É.-U."; @@ -394,6 +433,9 @@ /* Label indicating validation is occurring */ "Verifying" = "En train de vérifier"; +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Lorsque le glucose actuel ou prévu est inférieur au seuil de suspension, Loop ne recommandera pas de bolus et recommandera toujours un débit basal temporaire de 0 unité par heure."; diff --git a/Loop/it.lproj/Localizable.strings b/Loop/it.lproj/Localizable.strings index f4e7e437a3..79239a7b40 100644 --- a/Loop/it.lproj/Localizable.strings +++ b/Loop/it.lproj/Localizable.strings @@ -19,6 +19,9 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ U/ora @ %2$@"; +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + /* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ "%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; @@ -43,6 +46,12 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "Confronto della previsione della glicemia a 30 min vs reale, interpolato con il decadimento sino a 60 min."; +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Modello basato sull'assorbimento dell'insulina Fiasp."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Modello basato sull'assorbimento negli adulti dell'insulina Humalog, Novolog ed Apidra."; + /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AccettaBoloConsigliato"; @@ -73,6 +82,9 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Un adattamento al modello adulto basato su effetti empirici nei bambini."; + /* The title of the amplitude API key credential */ "API Key" = "Chiave API"; @@ -149,6 +161,9 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Token dell'utente"; +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The title of the button to remove the credentials for a service */ "Delete Account" = "Cancella Account"; @@ -179,9 +194,15 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Valore superiore al Bolo Massimo"; +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Per %1$@"; +/* The short unit display string for grams */ +"g" = "g"; + /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "G4 Ricevitore Share"; @@ -256,9 +277,15 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Batteria Bassa"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Dati mancanti: %1$@"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Details for missing data error when momentum effects are missing */ "Momentum effects" = "Effetto glicemico attuale"; @@ -307,6 +334,12 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Serbatoio microinfusore Basso"; +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Insulina ultrarapida – Adulti"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Insulina ultrarapida – Bambini"; + /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "La dose raccomandata e' scaduta da %1$@"; @@ -320,7 +353,7 @@ "Required" = "Necessario"; /* Details for missing data error when reservoir data is missing */ -"Reservoir" = "Serbatoio"; +"Reservoir" = "Serbatoio"; /* Title of the prediction input effect for retrospective correction */ "Retrospective Correction" = "Correzione Retrospettiva"; @@ -370,6 +403,9 @@ /* The title text in settings */ "Suspend Threshold" = "Blocco Erogazione"; +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "ll modello legacy utilizzato da Loop, che consente la personalizzazione della durata dell'azione."; + /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "Il massimo bolo eseguibile e' pari a %@ Unità"; @@ -382,6 +418,9 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "ID Trasmettitore"; +/* The short unit display string for international units of insulin */ +"U" = "U"; + /* U.S. share server option title */ "US" = "USA"; @@ -394,6 +433,9 @@ /* Label indicating validation is occurring */ "Verifying" = "Sto verificando"; +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Quando l'attuale valore glicemico o un valore previsto nel futuro e' al di sotto del valore minimo previsto per la sospensione dell'erogazione, Loop non consigliera' un bolo e blocchera' l'erogazione delle basali."; diff --git a/Loop/nb.lproj/Localizable.strings b/Loop/nb.lproj/Localizable.strings index b012a64024..659119a873 100644 --- a/Loop/nb.lproj/Localizable.strings +++ b/Loop/nb.lproj/Localizable.strings @@ -19,6 +19,9 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ E/timen @ %2$@"; +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + /* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ "%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; @@ -43,6 +46,12 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 min sammenligning av glukose-prediksjon vs faktisk, fortsatt med forfall over 60 min."; +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "En modell basert på publiserte data for absorpsjon av Fiasp insulin."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "En modell basert på publiserte data for absorpsjon av Humalog, Novolog og Apidra insulin hos voksne."; + /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AksepterAnbefaltBolus"; @@ -73,6 +82,9 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "En justering til modellen tilpasset voksne, basert på empiriske effekter hos barn."; + /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -86,7 +98,7 @@ "Authenticate to Bolus %@ Units" = "Autentiser for å gi bolus %@ E"; /* Details for configuration error when basal rate schedule is missing */ -"Basal Rate Schedule" = "Basaldoser"; +"Basal Rate Schedule" = "Basaldoser"; /* NEW */ /* The title of the basal rate profile screen The title text for the basal rate schedule */ @@ -149,6 +161,9 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Customer Token"; +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The title of the button to remove the credentials for a service */ "Delete Account" = "Slett Konto"; @@ -179,9 +194,15 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Overskrider Maks Bolus"; +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "For %1$@"; +/* The short unit display string for grams */ +"g" = "g"; + /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "G4 Share Receiver"; @@ -198,7 +219,7 @@ "Glucose data is unavailable" = "Glukose data er utilgjengelig"; /* Description of error when glucose data is missing */ -"Glucose data not available" = "Glukose data er utilgjengelig"; /* NEW */ +"Glucose data not available" = "Glukose data er utilgjengelig"; /* Title of the prediction input effect for glucose momentum */ "Glucose Momentum" = "Glukosemomentum"; @@ -256,9 +277,15 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Lite Batteri"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Mangler Data: %1$@"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Details for missing data error when momentum effects are missing */ "Momentum effects" = "Momentum effects"; /* NEW */ @@ -307,6 +334,12 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Pumpereservoar Lavt"; +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Hurtigvirkende – voksen"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Hurtigvirkende – barn"; + /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "Anbefaling utløpt: %1$@ gammelt"; @@ -370,6 +403,9 @@ /* The title text in settings */ "Suspend Threshold" = "Grense for stopp av insulintilførsel"; +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Den gamle modellen brukt av Loop, tillater endring av varighet for tiltak."; + /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "Maks bolus er satt til %@ enheter"; @@ -382,6 +418,9 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "Sender ID"; +/* The short unit display string for international units of insulin */ +"U" = "E"; + /* U.S. share server option title */ "US" = "USA"; @@ -394,6 +433,9 @@ /* Label indicating validation is occurring */ "Verifying" = "Bekrefter"; +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Når nåværende eller forventet blodsukker er under grensen for stopp av insulintilførsel, vil ikke Loop anbefale en bolus, og vil alltid anbefale en midlertidig basalrate på 0 enheter per time."; diff --git a/Loop/nl.lproj/Localizable.strings b/Loop/nl.lproj/Localizable.strings index 612e2e6f1e..9d62063a9c 100644 --- a/Loop/nl.lproj/Localizable.strings +++ b/Loop/nl.lproj/Localizable.strings @@ -19,6 +19,9 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ E/uur @ %2$@"; +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + /* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ "%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; @@ -43,6 +46,12 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 min vergelijking van glucose voorspelling versus actueel, gevolgd door afbouw over 60 min"; +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Een model gebaseerd op de gepubliceerde opname van Fiasp insuline."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Een model gebaseerd op de gepubliceerde opname van Humalog, Novorapid, en Apidra insuline bij volwassenen."; + /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "AccepteerVoorgesteldeBolus"; @@ -73,6 +82,9 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Een aanpassing aan het volwassen model gebaseerd om praktijk effecten bij kinderen."; + /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -149,6 +161,9 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Gebruiker token"; +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The title of the button to remove the credentials for a service */ "Delete Account" = "Verwijder account"; @@ -179,9 +194,15 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Overschrijdt maximale bolus"; +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Voor %1$@"; +/* The short unit display string for grams */ +"g" = "gr"; + /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "G4 Share ontvanger"; @@ -256,9 +277,15 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Lage batterij"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Missende gegevens: %1$@"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + /* Details for missing data error when momentum effects are missing */ "Momentum effects" = "Momentum impact"; @@ -307,6 +334,12 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Pomp reservoir bijna leeg"; +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Snelwerkende - volwassenen"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Snelwerkende - kinderen"; + /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "Aanbeveling verlopen: %1$@ oud"; @@ -370,6 +403,9 @@ /* The title text in settings */ "Suspend Threshold" = "Onderbrekingsdrempel"; +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Het oude model dat door Loop wordt gebruikt, waardoor de actieduur kan worden aangepast."; + /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "De maximale bolushoeveelheid is %@ Eenheden"; @@ -382,6 +418,9 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "Zender ID"; +/* The short unit display string for international units of insulin */ +"U" = "E"; + /* U.S. share server option title */ "US" = "US"; @@ -394,6 +433,9 @@ /* Label indicating validation is occurring */ "Verifying" = "Verifiëren"; +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Wanneer de huidige of voorspelde glucose onder de drempel voor onderbreken ligt, zal Loop geen bolus aanbevelen en zal altijd een tijdelijke basaal van 0 eenheden per uur aanbevelen."; diff --git a/Loop/ru.lproj/Localizable.strings b/Loop/ru.lproj/Localizable.strings index af613a21cb..861efcdfb9 100644 --- a/Loop/ru.lproj/Localizable.strings +++ b/Loop/ru.lproj/Localizable.strings @@ -19,6 +19,9 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ ед/час @ %2$@"; +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + /* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ "%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; @@ -43,6 +46,12 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 мин сравнение предсказанной гликемии с действительной, продолжено с угасанием 60 мин"; +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "модель, основанная на опубликованных данных усвоения FIASP инсулина."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "модель, основанная на опубликованных данных усвоения Humalog, Novolog и Apidra у взрослых."; + /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "Принятьрекомендуемыйболюс"; @@ -73,6 +82,9 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Поправка к модели для взрослых основанная на эмпирических данных для детей."; + /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -149,6 +161,9 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "Жетон пользователя"; +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The title of the button to remove the credentials for a service */ "Delete Account" = "Удалить аккаунт"; @@ -179,9 +194,15 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Превышает макс болюс"; +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "В течение %1$@"; +/* The short unit display string for grams */ +"g" = "г"; + /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "Ресивер G4 Шеар"; @@ -256,9 +277,15 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "Низкий заряд батареи"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "мг/дл"; + /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Пропущены данные: %1$@"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + /* Details for missing data error when momentum effects are missing */ "Momentum effects" = "Влияние динамики СК"; @@ -307,6 +334,12 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "Низкий уровень резервуара помпы"; +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Боыстродействующий - взрослые"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Быстродействующий - дети"; + /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "Рекомнендация истекла : от %1$@"; @@ -370,6 +403,9 @@ /* The title text in settings */ "Suspend Threshold" = "Порог приостановки"; +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Модель, используемая для цикла/контура, позволяет настройку длительности действия."; + /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "максимальный болюс %@ ед"; @@ -382,6 +418,9 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "Инд № трансмиттера"; +/* The short unit display string for international units of insulin */ +"U" = "U"; + /* U.S. share server option title */ "US" = "США"; @@ -394,6 +433,9 @@ /* Label indicating validation is occurring */ "Verifying" = "Верифицируется"; +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Если текущая или предсказываемая гликемия ниже порога приостановки помпы, алгоритм цикла ипж не рекомендует болюс и всегда рекомендует временный базал 0 ед/час"; diff --git a/Loop/zh-Hans.lproj/Localizable.strings b/Loop/zh-Hans.lproj/Localizable.strings index 5a2af280c7..7a6ab44a07 100644 --- a/Loop/zh-Hans.lproj/Localizable.strings +++ b/Loop/zh-Hans.lproj/Localizable.strings @@ -19,6 +19,9 @@ /* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ "%1$@ U/hour @ %2$@" = "%1$@ 单位/小时 @ %2$@"; +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + /* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ "%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; @@ -43,6 +46,12 @@ /* Description of the prediction input effect for retrospective correction */ "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30分钟葡萄糖预测与实际比较,持续60分钟以上衰减"; +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "基于公布的Fiasp胰岛素吸收的模型"; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "基于已公布的Humalog,Novolog和Apidra胰岛素在成人中吸收的模型。"; + /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "按照推荐的大剂量输注"; @@ -73,6 +82,9 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "在成人胰岛素模型基础上专为儿童修改的胰岛素代谢模型"; + /* The title of the amplitude API key credential */ "API Key" = "API Key"; @@ -149,6 +161,9 @@ /* The title of the Loggly customer token credential */ "Customer Token" = "用户Token"; +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The title of the button to remove the credentials for a service */ "Delete Account" = "删除账户"; @@ -179,9 +194,15 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "超过大剂量最大输注限制"; +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "对于 %1$@"; +/* The short unit display string for grams */ +"g" = "克"; + /* The title text for the G4 Share Receiver switch cell */ "G4 Share Receiver" = "带有蓝牙功能G4接收器"; @@ -256,9 +277,15 @@ /* The description of a low G5/G6 transmitter battery with a leading space */ "Low Battery" = "电量低"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "毫克/分升"; + /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "数据缺失: %1$@"; +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "毫摩尔/升"; + /* Details for missing data error when momentum effects are missing */ "Momentum effects" = "葡萄糖动量效应"; @@ -307,6 +334,12 @@ /* The notification title for a low pump reservoir */ "Pump Reservoir Low" = "药量低"; +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "速效胰岛素 - 成人模型"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "速效胰岛素 - 儿童模型"; + /* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ "Recommendation expired: %1$@ old" = "%1$@分钟前推荐剂量已过期"; @@ -370,6 +403,9 @@ /* The title text in settings */ "Suspend Threshold" = "暂停阈值"; +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Loop使用的默认模型参数,您可以自行修改胰岛素代谢时间。"; + /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "大剂量输注最大限制为%@单位"; @@ -382,6 +418,9 @@ /* The title text for the Dexcom G5/G6 transmitter ID config value */ "Transmitter ID" = "发射器编号"; +/* The short unit display string for international units of insulin */ +"U" = "单位"; + /* U.S. share server option title */ "US" = "美国"; @@ -394,6 +433,9 @@ /* Label indicating validation is occurring */ "Verifying" = "验证"; +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "当前或预测的葡萄糖低于暂停阈值时,Loop不推荐推注,并且总是建议每小时0单位的临时基础速率。"; From 50d6ffa60da0b94f8c5e5b5bb1e19a5bcf24e4ee Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Fri, 17 Aug 2018 23:14:55 -0700 Subject: [PATCH 19/24] norwegian --- Loop/nb.lproj/Localizable.strings | 16 ++++++++-------- LoopUI/nl.lproj/Localizable.strings | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Loop/nb.lproj/Localizable.strings b/Loop/nb.lproj/Localizable.strings index 659119a873..1d06c91a62 100644 --- a/Loop/nb.lproj/Localizable.strings +++ b/Loop/nb.lproj/Localizable.strings @@ -98,7 +98,7 @@ "Authenticate to Bolus %@ Units" = "Autentiser for å gi bolus %@ E"; /* Details for configuration error when basal rate schedule is missing */ -"Basal Rate Schedule" = "Basaldoser"; /* NEW */ +"Basal Rate Schedule" = "Basaldoser"; /* The title of the basal rate profile screen The title text for the basal rate schedule */ @@ -112,7 +112,7 @@ "Cancel" = "Avbryt"; /* Details for missing data error when carb effects are missing */ -"Carb effects" = "Carb effects"; /* NEW */ +"Carb effects" = "Karbohydrat effekter"; /* The title of the carb ratios schedule screen The title text for the carb ratio schedule */ @@ -131,13 +131,13 @@ "Change the pump reservoir now" = "Bytt reservoar på pumpe nå"; /* Details for configuration error when one or more loop settings are missing */ -"Check settings" = "Check settings"; /* NEW */ +"Check settings" = "Sjekk innstillingene"; /* Recovery suggestion when reservoir data is missing */ -"Check that your pump is in range" = "Check that your pump is in range"; /* NEW */ +"Check that your pump is in range" = "Kontroller at pumpen din er innenfor rekkevidde"; /* Recovery suggestion when glucose data is missing */ -"Check your CGM data source" = "Check your CGM data source"; /* NEW */ +"Check your CGM data source" = "Sjekk din CGM datakilde"; /* The title text for the looping enabled switch cell */ "Closed Loop" = "Lukket Loop"; @@ -240,7 +240,7 @@ "Insulin Delivery" = "Insulinlevering"; /* Details for missing data error when insulin effects are missing */ -"Insulin effects" = "Insulin effects"; /* NEW */ +"Insulin effects" = "Insulin effekter"; /* Details for configuration error when insulin model is missing The title text for the insulin model setting row */ @@ -287,7 +287,7 @@ "mmol/L" = "mmol/L"; /* Details for missing data error when momentum effects are missing */ -"Momentum effects" = "Momentum effects"; /* NEW */ +"Momentum effects" = "Momentum effekter"; /* Sensor state description for the non-valid state */ "Needs Attention" = "Trenger tilsyn"; @@ -326,7 +326,7 @@ "Pump data is %1$@ old" = "Pumpedata er %1$@ gammelt"; /* Details for configuration error when pump manager is missing */ -"Pump Manager" = "Pump Manager"; /* NEW */ +"Pump Manager" = "Pumpe Manager"; /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "Pumpereservoar Tomt"; diff --git a/LoopUI/nl.lproj/Localizable.strings b/LoopUI/nl.lproj/Localizable.strings index 8702d0cb99..c267cc3e69 100644 --- a/LoopUI/nl.lproj/Localizable.strings +++ b/LoopUI/nl.lproj/Localizable.strings @@ -17,7 +17,7 @@ "%1$@ units remaining at %2$@" = "%1$@ eenheden resterend op %2$@"; /* Accessibility hint describing completion HUD for a closed loop */ -"Closed loop" = "Closed loop"; +"Closed loop" = "Gesloten loop"; /* The short unit display string for decibles */ "dB" = "dB"; From 1f2993d991d3e739d409518bdb93738e36d4a788 Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Fri, 17 Aug 2018 23:21:46 -0700 Subject: [PATCH 20/24] DONE! --- Loop/nb.lproj/Localizable.strings | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Loop/nb.lproj/Localizable.strings b/Loop/nb.lproj/Localizable.strings index 1d06c91a62..11e076ed74 100644 --- a/Loop/nb.lproj/Localizable.strings +++ b/Loop/nb.lproj/Localizable.strings @@ -98,7 +98,7 @@ "Authenticate to Bolus %@ Units" = "Autentiser for å gi bolus %@ E"; /* Details for configuration error when basal rate schedule is missing */ -"Basal Rate Schedule" = "Basaldoser"; +"Basal Rate Schedule" = "Basalrate program"; /* The title of the basal rate profile screen The title text for the basal rate schedule */ @@ -112,7 +112,7 @@ "Cancel" = "Avbryt"; /* Details for missing data error when carb effects are missing */ -"Carb effects" = "Karbohydrat effekter"; +"Carb effects" = "Karbohydrateffekt"; /* The title of the carb ratios schedule screen The title text for the carb ratio schedule */ @@ -131,13 +131,13 @@ "Change the pump reservoir now" = "Bytt reservoar på pumpe nå"; /* Details for configuration error when one or more loop settings are missing */ -"Check settings" = "Sjekk innstillingene"; +"Check settings" = "Sjekk innstillinger"; /* Recovery suggestion when reservoir data is missing */ -"Check that your pump is in range" = "Kontroller at pumpen din er innenfor rekkevidde"; +"Check that your pump is in range" = "Sjekk at pumpen er innen rekkevidde"; /* Recovery suggestion when glucose data is missing */ -"Check your CGM data source" = "Sjekk din CGM datakilde"; +"Check your CGM data source" = "Sjekk blodsukkerkilde"; /* The title text for the looping enabled switch cell */ "Closed Loop" = "Lukket Loop"; @@ -240,7 +240,7 @@ "Insulin Delivery" = "Insulinlevering"; /* Details for missing data error when insulin effects are missing */ -"Insulin effects" = "Insulin effekter"; +"Insulin effects" = "Insulineffekt"; /* Details for configuration error when insulin model is missing The title text for the insulin model setting row */ @@ -287,7 +287,7 @@ "mmol/L" = "mmol/L"; /* Details for missing data error when momentum effects are missing */ -"Momentum effects" = "Momentum effekter"; +"Momentum effects" = "Momentumeffekt"; /* Sensor state description for the non-valid state */ "Needs Attention" = "Trenger tilsyn"; @@ -326,7 +326,7 @@ "Pump data is %1$@ old" = "Pumpedata er %1$@ gammelt"; /* Details for configuration error when pump manager is missing */ -"Pump Manager" = "Pumpe Manager"; +"Pump Manager" = "Pumpeinnstilling"; /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "Pumpereservoar Tomt"; From 1b9adfdbbacddb78631db9c3c1d279acda956189 Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Sat, 18 Aug 2018 11:37:40 -0700 Subject: [PATCH 21/24] ALLL DONE! norwegian touchups --- Loop/nb.lproj/Localizable.strings | 50 ++++++++++++++--------------- Loop/nb.lproj/Main.strings | 14 ++++---- WatchApp/nb.lproj/Interface.strings | 6 ++-- 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/Loop/nb.lproj/Localizable.strings b/Loop/nb.lproj/Localizable.strings index 11e076ed74..be0e91912a 100644 --- a/Loop/nb.lproj/Localizable.strings +++ b/Loop/nb.lproj/Localizable.strings @@ -35,7 +35,7 @@ "%@ absorbed" = "%@ absorbert"; /* The subtitle format describing total insulin. (1: localized insulin total) */ -"%@ U Total" = "%@ E Totalt"; +"%@ U Total" = "%@ E totalt"; /* Appends a full-stop to a statement */ "%@." = "%@."; @@ -56,25 +56,25 @@ "AcceptRecommendedBolus" = "AksepterAnbefaltBolus"; /* The title of the Carbs On-Board graph */ -"Active Carbohydrates" = "Aktive Karbohydrater"; +"Active Carbohydrates" = "Aktive karbohydrater"; /* The string format describing active carbohydrates. (1: localized glucose value description) */ -"Active Carbohydrates: %@" = "Aktive Karbohydrater: %@"; +"Active Carbohydrates: %@" = "Aktive karbohydrater: %@"; /* The title of the Insulin On-Board graph */ -"Active Insulin" = "Aktivt Insulin"; +"Active Insulin" = "Aktivt insulin"; /* The string format describing active insulin. (1: localized insulin value description) */ -"Active Insulin: %@" = "Aktivt Insulin: %@"; +"Active Insulin: %@" = "Aktivt insulin: %@"; /* The title of the button to add the credentials for a service */ -"Add Account" = "Legg Til Konto"; +"Add Account" = "Legg til konto"; /* The label of the carb entry button */ -"Add Meal" = "Legg Til Måltid"; +"Add Meal" = "Legg til måltid"; /* Title text for button to set up a new pump */ -"Add Pump" = "Legg til Pumpe"; +"Add Pump" = "Legg til pumpe"; /* The title of the section containing algorithm settings */ "Algorithm Settings" = "Algoritmeinnstillinger"; @@ -165,7 +165,7 @@ "dB" = "dB"; /* The title of the button to remove the credentials for a service */ -"Delete Account" = "Slett Konto"; +"Delete Account" = "Slett konto"; /* Title text for delivery limits */ "Delivery Limits" = "Leveringsgrense"; @@ -177,7 +177,7 @@ "Disables" = "Deaktiver"; /* Title of the switch which toggles retrospective correction effects */ -"Enable Retrospective Correction" = "Aktiver Retrospektiv Korrigering"; +"Enable Retrospective Correction" = "Aktiver retrospektiv korrigering"; /* The action hint of the workout mode toggle button when disabled */ "Enables" = "Aktiverer"; @@ -192,7 +192,7 @@ "Eventually %@" = "Omsider %@"; /* The title of the alert describing a maximum bolus validation error */ -"Exceeds Maximum Bolus" = "Overskrider Maks Bolus"; +"Exceeds Maximum Bolus" = "Overskrider maks bolus"; /* Title of insulin model preset */ "Fiasp" = "Fiasp"; @@ -207,7 +207,7 @@ "G4 Share Receiver" = "G4 Share Receiver"; /* The title text for the G5/G6 Transmitter switch cell */ -"G5/G6 Transmitter" = "G5/G6 Sender"; +"G5/G6 Transmitter" = "G5/G6 sender"; /* The title of the glucose and prediction graph */ "Glucose" = "Glukose"; @@ -234,7 +234,7 @@ "Insulin" = "Insulin"; /* Description of the prediction input effect for insulin */ -"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Insulin Absorbert (E) × Insulinfølsomhet (%1$@/E)"; +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Insulin absorbert (E) × Insulinfølsomhet (%1$@/E)"; /* The title of the insulin delivery graph */ "Insulin Delivery" = "Insulinlevering"; @@ -269,19 +269,19 @@ "Loggly" = "Loggly"; /* The notification title for a loop failure */ -"Loop Failure" = "Loop Feilet"; +"Loop Failure" = "Loop feilet"; /* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ "Loop has not completed successfully in %@" = "Loop har ikke kjørt vellykket på %@"; /* The description of a low G5/G6 transmitter battery with a leading space */ -"Low Battery" = "Lite Batteri"; +"Low Battery" = "Lite batteri"; /* The short unit display string for milligrams of glucose per decilter */ "mg/dL" = "mg/dL"; /* The error message for missing data. (1: missing data details) */ -"Missing data: %1$@" = "Mangler Data: %1$@"; +"Missing data: %1$@" = "Mangler data: %1$@"; /* The short unit display string for millimoles of glucose per liter */ "mmol/L" = "mmol/L"; @@ -299,7 +299,7 @@ "No connected devices, or failure during device connection" = "Ingen tilkoblede enheter, eller feil under tilkobling til enhet"; /* Sensor state description for the valid state */ -"OK" = "OK"; +"OK" = "Ok"; /* Outside US share server option title */ "Outside US" = "Utenfor USA"; @@ -320,7 +320,7 @@ "Pump" = "Pumpe"; /* The notification title for a low pump battery */ -"Pump Battery Low" = "Pumpebatteri Lavt"; +"Pump Battery Low" = "Pumpebatteri lavt"; /* The error message when pump data is too old to be used. (1: pump data age in minutes) */ "Pump data is %1$@ old" = "Pumpedata er %1$@ gammelt"; @@ -329,10 +329,10 @@ "Pump Manager" = "Pumpeinnstilling"; /* The notification title for an empty pump reservoir */ -"Pump Reservoir Empty" = "Pumpereservoar Tomt"; +"Pump Reservoir Empty" = "Pumpereservoar tomt"; /* The notification title for a low pump reservoir */ -"Pump Reservoir Low" = "Pumpereservoar Lavt"; +"Pump Reservoir Low" = "Pumpereservoar lavt"; /* Title of insulin model preset */ "Rapid-Acting – Adults" = "Hurtigvirkende – voksen"; @@ -344,10 +344,10 @@ "Recommendation expired: %1$@ old" = "Anbefaling utløpt: %1$@ gammelt"; /* The title of the cell displaying a recommended temp basal value */ -"Recommended Basal" = "Anbefalt Basal"; +"Recommended Basal" = "Anbefalt basal"; /* Accessibility hint describing recommended bolus units */ -"Recommended Bolus: %@ Units" = "Anbefalt Bolus: %@ Enheter"; +"Recommended Bolus: %@ Units" = "Anbefalt bolus: %@ enheter"; /* The default placeholder string for a credential */ "Required" = "Påkrevd"; @@ -356,7 +356,7 @@ "Reservoir" = "Reservoar"; /* Title of the prediction input effect for retrospective correction */ -"Retrospective Correction" = "Retrospektiv Korreksjon"; +"Retrospective Correction" = "Retrospektiv korreksjon"; /* The title of the notification action to retry a bolus command */ "Retry" = "Prøv igjen"; @@ -398,7 +398,7 @@ "Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; /* The title of the cell indicating a bolus is being sent */ -"Starting Bolus" = "Starter Bolus"; +"Starting Bolus" = "Starter bolus"; /* The title text in settings */ "Suspend Threshold" = "Grense for stopp av insulintilførsel"; @@ -425,7 +425,7 @@ "US" = "USA"; /* The title of the alert controller used to select a duration for workout targets */ -"Use Workout Glucose Targets" = "Bruk Treningsmodus for Glukosemålområde"; +"Use Workout Glucose Targets" = "Bruk treningsmodus for glukosemålområde"; /* The title of the Dexcom share username credential */ "Username" = "Brukernavn"; diff --git a/Loop/nb.lproj/Main.strings b/Loop/nb.lproj/Main.strings index 700d177da1..be7639a085 100644 --- a/Loop/nb.lproj/Main.strings +++ b/Loop/nb.lproj/Main.strings @@ -44,7 +44,7 @@ "cpo-Po-gFM.text" = "Etikett"; /* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ -"d3X-AN-tA5.text" = "g Totalt"; +"d3X-AN-tA5.text" = "g totalt"; /* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ "D4C-I2-dhA.text" = "Fremtidig blodsukker forutsies ved å kombinere effektene av flere parametre. Bruk dette verktøyet til å bytte ulike parametre for å se hvordan de påvirker den endelige prediksjonen."; @@ -65,10 +65,10 @@ "EAn-Ja-S1d.text" = "Observert"; /* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ -"hHZ-uY-aKw.text" = "Aktive Karbohydrater: 40g"; +"hHZ-uY-aKw.text" = "Aktive karbohydrater: 40g"; /* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ -"hZZ-2S-lrd.title" = "Effekt av Karbohydrater"; +"hZZ-2S-lrd.title" = "Effekt av karbohydrater"; /* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ "IxU-As-glo.text" = "Observerte endringer i blodsukker, minus endringer fra levert insulin, kan brukes for å estimere absorpsjon av karbohydrater."; @@ -77,10 +77,10 @@ "J7x-W5-gwo.text" = "Detaljer"; /* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ -"k0g-P7-OVN.text" = "⚠ Forventet Blodsukker Under Område"; +"k0g-P7-OVN.text" = "⚠ Forventet blodsukker under område"; /* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ -"k3F-Na-7mn.text" = "Anbefalt Basal"; +"k3F-Na-7mn.text" = "Anbefalt basal"; /* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ "Krd-Aa-ret.text" = "Etikett"; @@ -101,7 +101,7 @@ "OFA-qT-ZAg.text" = "Etikett"; /* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ -"PA3-sP-cWY.title" = "Forventet Blodsukker"; +"PA3-sP-cWY.title" = "Forventet blodsukker"; /* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ "pi6-Dh-72V.title" = "Insulinmodell"; @@ -122,7 +122,7 @@ "ufi-Kj-33k.text" = "Etikett"; /* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ -"viU-7a-kbI.text" = "Aktivt Insulin: 1,5E"; +"viU-7a-kbI.text" = "Aktivt insulin: 1,5E"; /* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ "Vpi-5b-bY5.title" = "Karbohydrater"; diff --git a/WatchApp/nb.lproj/Interface.strings b/WatchApp/nb.lproj/Interface.strings index 3ad8cafb2e..8168dbc854 100644 --- a/WatchApp/nb.lproj/Interface.strings +++ b/WatchApp/nb.lproj/Interface.strings @@ -2,7 +2,7 @@ "0fo-Z3-hTi.title" = "🌮"; /* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ -"b6f-3I-jki.title" = "Legg til Karbohydrater"; +"b6f-3I-jki.title" = "Legg til karbohydrater"; /* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ "CWt-7U-cnK.text" = "15"; @@ -29,7 +29,7 @@ "eu3-pj-GH3.title" = "+"; /* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ -"f5G-bS-9pd.text" = "Pre-Måltid"; +"f5G-bS-9pd.text" = "Pre-måltid"; /* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ "gAn-qe-OvX.title" = "🍭"; @@ -44,7 +44,7 @@ "hln-CI-MRP.text" = "Karbohydrater"; /* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ -"jj3-Gq-HBy.text" = "Bolus Feilet"; +"jj3-Gq-HBy.text" = "Bolus feilet"; /* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ "mpK-zY-UvA.text" = "0.000"; From 0471684f8837881c863daa05eb64fecf3ea3007b Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Sun, 19 Aug 2018 14:04:42 -0700 Subject: [PATCH 22/24] Polish addition --- DoseMathTests/pl.lproj/InfoPlist.strings | 1 + DoseMathTests/pl.lproj/Localizable.strings | 26 + .../pl.lproj/InfoPlist.strings | 6 + .../pl.lproj/Localizable.strings | 50 ++ .../pl.lproj/MainInterface.strings | 6 + Loop.xcodeproj/project.pbxproj | 35 ++ Loop/nb.lproj/Localizable.strings | 6 +- Loop/pl.lproj/InfoPlist.strings | 17 + Loop/pl.lproj/LaunchScreen.strings | 1 + Loop/pl.lproj/Localizable.strings | 444 ++++++++++++++++++ Loop/pl.lproj/Main.strings | 147 ++++++ LoopTests/pl.lproj/InfoPlist.strings | 3 + LoopUI/pl.lproj/InfoPlist.strings | 6 + LoopUI/pl.lproj/Localizable.strings | 53 +++ WatchApp Extension/pl.lproj/InfoPlist.strings | 6 + .../pl.lproj/Localizable.strings | 37 ++ .../pl.lproj/ckcomplication.strings | 13 + WatchApp/pl.lproj/InfoPlist.strings | 6 + WatchApp/pl.lproj/Interface.strings | 72 +++ 19 files changed, 932 insertions(+), 3 deletions(-) create mode 100644 DoseMathTests/pl.lproj/InfoPlist.strings create mode 100644 DoseMathTests/pl.lproj/Localizable.strings create mode 100644 Loop Status Extension/pl.lproj/InfoPlist.strings create mode 100644 Loop Status Extension/pl.lproj/Localizable.strings create mode 100644 Loop Status Extension/pl.lproj/MainInterface.strings create mode 100644 Loop/pl.lproj/InfoPlist.strings create mode 100644 Loop/pl.lproj/LaunchScreen.strings create mode 100644 Loop/pl.lproj/Localizable.strings create mode 100644 Loop/pl.lproj/Main.strings create mode 100644 LoopTests/pl.lproj/InfoPlist.strings create mode 100644 LoopUI/pl.lproj/InfoPlist.strings create mode 100644 LoopUI/pl.lproj/Localizable.strings create mode 100644 WatchApp Extension/pl.lproj/InfoPlist.strings create mode 100644 WatchApp Extension/pl.lproj/Localizable.strings create mode 100644 WatchApp Extension/pl.lproj/ckcomplication.strings create mode 100644 WatchApp/pl.lproj/InfoPlist.strings create mode 100644 WatchApp/pl.lproj/Interface.strings diff --git a/DoseMathTests/pl.lproj/InfoPlist.strings b/DoseMathTests/pl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/pl.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/pl.lproj/Localizable.strings b/DoseMathTests/pl.lproj/Localizable.strings new file mode 100644 index 0000000000..de8ed4e1d2 --- /dev/null +++ b/DoseMathTests/pl.lproj/Localizable.strings @@ -0,0 +1,26 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Obecny cukier jest %1$@ poniżej poziomu korekcji."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Przewidywany cukier o %1$@ wyniesie %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Przewidywany poziom cukru %1$@ jest poniżej progu wstrzymania."; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "J"; diff --git a/Loop Status Extension/pl.lproj/InfoPlist.strings b/Loop Status Extension/pl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/pl.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/pl.lproj/Localizable.strings b/Loop Status Extension/pl.lproj/Localizable.strings new file mode 100644 index 0000000000..faab632afe --- /dev/null +++ b/Loop Status Extension/pl.lproj/Localizable.strings @@ -0,0 +1,50 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Model oparty na opublikowanym czasie absorpcji insuliny Fiasp."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Model oparty na opublikowanym czasie absorpcji insulin Humalog, Novolog/Novorapid i Apidra u dorosłych."; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Model absorpcji insuliny u dzieci oparty na empirycznym dostosowaniu czasu absorpcji u dorosłych."; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "Docelowo %1$@ %2$@"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The subtitle format describing units of active insulin. (1: localized insulin value description) */ +"IOB %1$@ U" = "IOB %1$@ J"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Szybko działająca – dorośli"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Szybko działająca – dzieci"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Model umożliwiający dostosowanie czasu działania insuliny."; + +/* The short unit display string for international units of insulin */ +"U" = "J"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; diff --git a/Loop Status Extension/pl.lproj/MainInterface.strings b/Loop Status Extension/pl.lproj/MainInterface.strings new file mode 100644 index 0000000000..7421b4922b --- /dev/null +++ b/Loop Status Extension/pl.lproj/MainInterface.strings @@ -0,0 +1,6 @@ + +/* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ +"9iF-xY-Bh4.text" = "docelowo 92 mg/dL"; + +/* Class = "UILabel"; text = "IOB 1.0 U"; ObjectID = "UPi-dG-yYD"; */ +"UPi-dG-yYD.text" = "IOB 1.0 J"; diff --git a/Loop.xcodeproj/project.pbxproj b/Loop.xcodeproj/project.pbxproj index 78f8fcfcc4..13e8cfaee6 100644 --- a/Loop.xcodeproj/project.pbxproj +++ b/Loop.xcodeproj/project.pbxproj @@ -637,6 +637,23 @@ 4FB76FCD1E8C835D00B39636 /* ChartColorPalette.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChartColorPalette.swift; sourceTree = ""; }; 4FC8C8001DEB93E400A1452E /* NSUserDefaults+StatusExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSUserDefaults+StatusExtension.swift"; sourceTree = ""; }; 4FF4D0FF1E18374700846527 /* WatchContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WatchContext.swift; sourceTree = ""; }; + 7D199D92212A067600241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/LaunchScreen.strings; sourceTree = ""; }; + 7D199D93212A067600241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Main.strings; sourceTree = ""; }; + 7D199D94212A067600241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/MainInterface.strings; sourceTree = ""; }; + 7D199D95212A067600241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Interface.strings; sourceTree = ""; }; + 7D199D96212A067600241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; + 7D199D97212A067600241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D199D98212A067600241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D199D99212A067600241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; + 7D199D9A212A067600241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; + 7D199D9B212A067600241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D199D9C212A067700241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D199D9D212A067700241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; + 7D199D9E212A067700241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/ckcomplication.strings; sourceTree = ""; }; + 7D199D9F212A067700241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D199DA0212A067700241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D199DA1212A067700241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D199DA2212A067700241026 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = pl.lproj/Localizable.strings; sourceTree = ""; }; 7D23667521250BE30028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Localizable.strings; sourceTree = ""; }; 7D23667621250BF70028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; }; 7D23667721250C280028B67D /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/InfoPlist.strings; sourceTree = ""; }; @@ -1607,6 +1624,7 @@ nl, nb, es, + pl, ); mainGroup = 43776F831B8022E90074EA36; productRefGroup = 43776F8D1B8022E90074EA36 /* Products */; @@ -2098,6 +2116,7 @@ 7D2366B721250D360028B67D /* it */, 7D2366C521250D3F0028B67D /* nl */, 7D2366D521250D4A0028B67D /* nb */, + 7D199D93212A067600241026 /* pl */, ); name = Main.storyboard; sourceTree = ""; @@ -2114,6 +2133,7 @@ 7D2366B621250D360028B67D /* it */, 7D2366C421250D3F0028B67D /* nl */, 7D2366D421250D4A0028B67D /* nb */, + 7D199D92212A067600241026 /* pl */, ); name = LaunchScreen.storyboard; sourceTree = ""; @@ -2130,6 +2150,7 @@ 7D2366B421250D350028B67D /* it */, 7D2366C721250D3F0028B67D /* nl */, 7D2366D721250D4A0028B67D /* nb */, + 7D199D95212A067600241026 /* pl */, ); name = Interface.storyboard; sourceTree = ""; @@ -2146,6 +2167,7 @@ 7D2366B821250D360028B67D /* it */, 7D2366C621250D3F0028B67D /* nl */, 7D2366D621250D4A0028B67D /* nb */, + 7D199D94212A067600241026 /* pl */, ); name = MainInterface.storyboard; sourceTree = ""; @@ -2161,6 +2183,7 @@ 7D2366EC21250ECE0028B67D /* zh-Hans */, 7D2366ED21250F010028B67D /* ru */, 7D2366EE21250F170028B67D /* nl */, + 7D199DA0212A067700241026 /* pl */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2177,6 +2200,7 @@ 7D2366BC21250D360028B67D /* it */, 7D2366CB21250D400028B67D /* nl */, 7D2366DB21250D4A0028B67D /* nb */, + 7D199D99212A067600241026 /* pl */, ); name = Localizable.strings; sourceTree = ""; @@ -2193,6 +2217,7 @@ 7D2366C121250D370028B67D /* it */, 7D2366D121250D410028B67D /* nl */, 7D2366E121250D4B0028B67D /* nb */, + 7D199D9F212A067700241026 /* pl */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2209,6 +2234,7 @@ 7D2366C021250D370028B67D /* it */, 7D2366D021250D400028B67D /* nl */, 7D2366E021250D4B0028B67D /* nb */, + 7D199D9E212A067700241026 /* pl */, ); name = ckcomplication.strings; sourceTree = ""; @@ -2225,6 +2251,7 @@ 7D2366BE21250D360028B67D /* it */, 7D2366CD21250D400028B67D /* nl */, 7D2366DD21250D4B0028B67D /* nb */, + 7D199D9B212A067600241026 /* pl */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2241,6 +2268,7 @@ 7D2366BD21250D360028B67D /* it */, 7D2366CC21250D400028B67D /* nl */, 7D2366DC21250D4B0028B67D /* nb */, + 7D199D9A212A067600241026 /* pl */, ); name = Localizable.strings; sourceTree = ""; @@ -2257,6 +2285,7 @@ 7D2366BA21250D360028B67D /* it */, 7D2366C921250D400028B67D /* nl */, 7D2366D921250D4A0028B67D /* nb */, + 7D199D97212A067600241026 /* pl */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2273,6 +2302,7 @@ 7D2366BB21250D360028B67D /* it */, 7D2366CA21250D400028B67D /* nl */, 7D2366DA21250D4A0028B67D /* nb */, + 7D199D98212A067600241026 /* pl */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2289,6 +2319,7 @@ 7D2366C321250D370028B67D /* it */, 7D2366D321250D410028B67D /* nl */, 7D2366E321250D4B0028B67D /* nb */, + 7D199DA2212A067700241026 /* pl */, ); name = Localizable.strings; sourceTree = ""; @@ -2305,6 +2336,7 @@ 7D2366BF21250D370028B67D /* it */, 7D2366CF21250D400028B67D /* nl */, 7D2366DF21250D4B0028B67D /* nb */, + 7D199D9D212A067700241026 /* pl */, ); name = Localizable.strings; sourceTree = ""; @@ -2321,6 +2353,7 @@ 7D2366B921250D360028B67D /* it */, 7D2366C821250D400028B67D /* nl */, 7D2366D821250D4A0028B67D /* nb */, + 7D199D96212A067600241026 /* pl */, ); name = Localizable.strings; sourceTree = ""; @@ -2337,6 +2370,7 @@ 7D2366C221250D370028B67D /* it */, 7D2366D221250D410028B67D /* nl */, 7D2366E221250D4B0028B67D /* nb */, + 7D199DA1212A067700241026 /* pl */, ); name = InfoPlist.strings; sourceTree = ""; @@ -2353,6 +2387,7 @@ 7D2366B521250D360028B67D /* it */, 7D2366CE21250D400028B67D /* nl */, 7D2366DE21250D4B0028B67D /* nb */, + 7D199D9C212A067700241026 /* pl */, ); name = InfoPlist.strings; sourceTree = ""; diff --git a/Loop/nb.lproj/Localizable.strings b/Loop/nb.lproj/Localizable.strings index be0e91912a..d88cc40b35 100644 --- a/Loop/nb.lproj/Localizable.strings +++ b/Loop/nb.lproj/Localizable.strings @@ -112,7 +112,7 @@ "Cancel" = "Avbryt"; /* Details for missing data error when carb effects are missing */ -"Carb effects" = "Karbohydrateffekt"; +"Carb effects" = "Karbohydrateffekter"; /* The title of the carb ratios schedule screen The title text for the carb ratio schedule */ @@ -240,7 +240,7 @@ "Insulin Delivery" = "Insulinlevering"; /* Details for missing data error when insulin effects are missing */ -"Insulin effects" = "Insulineffekt"; +"Insulin effects" = "Insulineffekter"; /* Details for configuration error when insulin model is missing The title text for the insulin model setting row */ @@ -287,7 +287,7 @@ "mmol/L" = "mmol/L"; /* Details for missing data error when momentum effects are missing */ -"Momentum effects" = "Momentumeffekt"; +"Momentum effects" = "Momentumeffekter"; /* Sensor state description for the non-valid state */ "Needs Attention" = "Trenger tilsyn"; diff --git a/Loop/pl.lproj/InfoPlist.strings b/Loop/pl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..83e8caa8d8 --- /dev/null +++ b/Loop/pl.lproj/InfoPlist.strings @@ -0,0 +1,17 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Loop"; + +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + +/* Privacy - Bluetooth Peripheral Usage Description */ +"NSBluetoothPeripheralUsageDescription" = "Bluetooth jest używany do komunikacji z pompą i urządzeniami ciągłego monitoringu glukozy."; + +/* Privacy - Face ID Usage Description */ +"NSFaceIDUsageDescription" = "Face ID jest używane do autoryzacji podaży bolusa."; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "Dane o posiłkach z bazy aplikacji Zdrowie będą używane do określenia ich wpływu na poziom cukru. Informacje o poziomie cukru z bazy danych aplikacji Zdrowie są używane do narysowania wykresu oraz obliczenia przewidywanego poziomu cukru."; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "Posiłek węglowodanowy wprowadzony w aplikacji i na zegarku oraz dane o poziomie cukru pobrane z ciągłego monitoringu glukozy są bezpiecznie przechowywane w aplikacji Zdrowie."; diff --git a/Loop/pl.lproj/LaunchScreen.strings b/Loop/pl.lproj/LaunchScreen.strings new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/Loop/pl.lproj/LaunchScreen.strings @@ -0,0 +1 @@ + diff --git a/Loop/pl.lproj/Localizable.strings b/Loop/pl.lproj/Localizable.strings new file mode 100644 index 0000000000..72f035e724 --- /dev/null +++ b/Loop/pl.lproj/Localizable.strings @@ -0,0 +1,444 @@ +/* Created with Localizable Strings Merge, the swiss-army knife for iOS and OS X localization. */ + +/* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ +" (pending: %@)" = "(oczekujące: %@)"; + +/* Format string for carb ratio average. (1: value)(2: carb unit) + Format string for insulin sensitivity average (1: value)(2: glucose unit) */ +"%1$@ %2$@/U" = "%1$@ %2$@/J"; + +/* Formats (1: carb start time) and (2: carb absorption duration) */ +"%1$@ + %2$@" = "%1$@ + %2$@"; + +/* Low reservoir alert format string. (1: Number of units remaining) */ +"%1$@ U left" = "%1$@ J pozostało"; + +/* Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining) */ +"%1$@ U left: %2$@" = "%1$@ J pozostało: %2$@"; + +/* The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time) */ +"%1$@ U/hour @ %2$@" = "%1$@ J/godzinę @ %2$@"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + +/* Format string describing glucose units per minute (1: glucose unit string) */ +"%1$@/min" = "%1$@/min"; + +/* Formats (1: carb value) and (2: food type) */ +"%1$@: %2$@" = "%1$@: %2$@"; + +/* Formats absorbed carb value */ +"%@ absorbed" = "%@ zaabsorbowane"; + +/* The subtitle format describing total insulin. (1: localized insulin total) */ +"%@ U Total" = "%@ J łącznie"; + +/* Appends a full-stop to a statement */ +"%@." = "%@."; + +/* Description of the prediction input effect for glucose momentum */ +"15 min glucose regression coefficient (b₁), continued with decay over 30 min" = "15 minutowy współczynnik regresji glukozy (b₁), kontynuowany z rozkładem przez 30 min."; + +/* Description of the prediction input effect for retrospective correction */ +"30 min comparison of glucose prediction vs actual, continued with decay over 60 min" = "30 minutowe porównanie przewidywania stężenia glukozy w stosunku do rzeczywistego, kontynuowane z rozkładem przez 60 min."; + +/* Subtitle of Fiasp preset */ +"A model based on the published absorption of Fiasp insulin." = "Model oparty na opublikowanej absorpcji insulin Humalog, Novolog/Novorapid i Apidra u dorosłych."; + +/* Subtitle of Rapid-Acting – Adult preset */ +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults."; + +/* Action to copy the recommended Bolus value to the actual Bolus Field */ +"AcceptRecommendedBolus" = "AcceptRecommendedBolus"; + +/* The title of the Carbs On-Board graph */ +"Active Carbohydrates" = "Aktywne węglowodany"; + +/* The string format describing active carbohydrates. (1: localized glucose value description) */ +"Active Carbohydrates: %@" = "Aktywne węglowodany: %@"; + +/* The title of the Insulin On-Board graph */ +"Active Insulin" = "Aktywna Insulina"; + +/* The string format describing active insulin. (1: localized insulin value description) */ +"Active Insulin: %@" = "Aktywna Insulina: %@"; + +/* The title of the button to add the credentials for a service */ +"Add Account" = "Dodaj konto"; + +/* The label of the carb entry button */ +"Add Meal" = "Dodaj posiłek"; + +/* Title text for button to set up a new pump */ +"Add Pump" = "Dodaj pompę"; + +/* The title of the section containing algorithm settings */ +"Algorithm Settings" = "Ustawienia algorytmu"; + +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; + +/* Subtitle of Rapid-Acting – Children preset */ +"An adjustment to the adult model based on empirical effects in children." = "Dostosowanie do modelu dorosłego opartego na efektach empirycznych u dzieci."; + +/* The title of the amplitude API key credential */ +"API Key" = "API Key"; + +/* The title of the nightscout API secret credential */ +"API Secret" = "API Secret"; + +/* Format fragment for a specific time */ +"at %@" = "o %@"; + +/* The message displayed during a device authentication prompt for bolus specification */ +"Authenticate to Bolus %@ Units" = "Autoryzacja Bolusa %@ jednostek"; + +/* Details for configuration error when basal rate schedule is missing */ +"Basal Rate Schedule" = "Harmonogram dawki standardowej"; + +/* The title of the basal rate profile screen + The title text for the basal rate schedule */ +"Basal Rates" = "Wartości bazy"; + +/* The label of the bolus entry button + The notification title for a bolus failure */ +"Bolus" = "Bolus"; + +/* The title of the cancel action in an action sheet */ +"Cancel" = "Anuluj"; + +/* Details for missing data error when carb effects are missing */ +"Carb effects" = "wpływ węglowodanów"; + +/* The title of the carb ratios schedule screen + The title text for the carb ratio schedule */ +"Carb Ratios" = "Wartości Węglowodanów"; + +/* Title of the prediction input effect for carbohydrates */ +"Carbohydrates" = "Węglowodany"; + +/* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Ilość węglowodanów (g) ÷ stosunek węglowodanów (g/J) × czułość insuliny (%1$@/J)"; + +/* The notification alert describing a low pump battery */ +"Change the pump battery immediately" = "Zmień pilnie baterię w pompie"; + +/* The notification alert describing an empty pump reservoir */ +"Change the pump reservoir now" = "Uzupełnij insulinę w pompie"; + +/* Details for configuration error when one or more loop settings are missing */ +"Check settings" = "Sprawdź ustawienia"; + +/* Recovery suggestion when reservoir data is missing */ +"Check that your pump is in range" = "Upewnij się, że Twoja pompa jest w zasięgu"; + +/* Recovery suggestion when glucose data is missing */ +"Check your CGM data source" = "Sprawdź swój CGM"; + +/* The title text for the looping enabled switch cell */ +"Closed Loop" = "Zamknięta Loop"; + +/* The title of the configuration section in settings */ +"Configuration" = "Konfiguracja"; + +/* The error message displayed for configuration errors. (1: configuration error details) */ +"Configuration Error: %1$@" = "Błąd konfiguracji: %1$@"; + +/* The title of the continuous glucose monitor section in settings */ +"Continuous Glucose Monitor" = "Ciągły Monitoring Glukozy"; + +/* The title of the glucose target range schedule screen + The title text for the glucose target range schedule */ +"Correction Range" = "Zakres korekty"; + +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Poziom glukozy %1$@ jest poniżej wartości korekcji."; + +/* The title of the Loggly customer token credential */ +"Customer Token" = "Token użytkownika"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The title of the button to remove the credentials for a service */ +"Delete Account" = "Usuń konto"; + +/* Title text for delivery limits */ +"Delivery Limits" = "Limit podaży"; + +/* The title of the Dexcom Share service */ +"Dexcom Share" = "Dexcom Share"; + +/* The action hint of the workout mode toggle button when enabled */ +"Disables" = "Wyłącza"; + +/* Title of the switch which toggles retrospective correction effects */ +"Enable Retrospective Correction" = "Włącz retrospektywną korektę"; + +/* The action hint of the workout mode toggle button when disabled */ +"Enables" = "Włącza"; + +/* The placeholder text instructing users to enter a suspend treshold */ +"Enter suspend threshold" = "Wprowadź próg zawieszenia pompy"; + +/* The placeholder text instructing users how to enter a transmitter ID */ +"Enter the 6-digit transmitter ID" = "Wprowadź 6-cyfrowy ID transmitera"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) */ +"Eventually %@" = "docelowo %@"; + +/* The title of the alert describing a maximum bolus validation error */ +"Exceeds Maximum Bolus" = "Osiągnięto bolus maksymalny"; + +/* Title of insulin model preset */ +"Fiasp" = "Fiasp"; + +/* The format string used to describe a finite workout targets duration */ +"For %1$@" = "Do %1$@"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The title text for the G4 Share Receiver switch cell */ +"G4 Share Receiver" = "Odbiornik G4 Share"; + +/* The title text for the G5/G6 Transmitter switch cell */ +"G5/G6 Transmitter" = "Transmiter G5/G6"; + +/* The title of the glucose and prediction graph */ +"Glucose" = "Glukoza"; + +/* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ +"Glucose data is %1$@ old" = "Dane o glukozie są nieaktualne od %1$@"; + +/* Error description for unreliable state */ +"Glucose data is unavailable" = "Dane o glukozie są niedostępne"; + +/* Description of error when glucose data is missing */ +"Glucose data not available" = "Dane o glukozie są niedostępne"; + +/* Title of the prediction input effect for glucose momentum */ +"Glucose Momentum" = "Pęd glukozy"; + +/* The placeholder text for the nightscout site URL credential */ +"https://mysite.azurewebsites.net" = "https://mysite.azurewebsites.net"; + +/* The title of a target alert action specifying an indefinitely long workout targets duration */ +"Indefinitely" = "Niemożliwy do określenia"; + +/* Title of the prediction input effect for insulin */ +"Insulin" = "Insulina"; + +/* Description of the prediction input effect for insulin */ +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Insulina podana (U) × czułość insuliny (%1$@/J)"; + +/* The title of the insulin delivery graph */ +"Insulin Delivery" = "Podaż insuliny"; + +/* Details for missing data error when insulin effects are missing */ +"Insulin effects" = "wpływ insuliny"; + +/* Details for configuration error when insulin model is missing + The title text for the insulin model setting row */ +"Insulin Model" = "Model insuliny"; + +/* The title of the insulin sensitivities schedule screen + The title text for the insulin sensitivity schedule */ +"Insulin Sensitivities" = "Wrażliwość na insulinę"; + +/* The error message when invalid data was encountered. (1: details of invalid data) */ +"Invalid data: %1$@" = "Błędne dane: %1$@"; + +/* The title text for the issue report cell */ +"Issue Report" = "Zgłaszanie błędów"; + +/* Format string describing retrospective glucose prediction comparison. (1: Previous glucose)(2: Predicted glucose)(3: Actual glucose) */ +"Last comparison: %1$@ → %2$@ vs %3$@" = "Ostatnie porównanie: %1$@ → %2$@ vs %3$@"; + +/* Glucose HUD accessibility hint */ +"Launches CGM app" = "Uruchamia aplikację CGM"; + +/* The loading message for the diagnostic report screen */ +"Loading..." = "Ładowanie..."; + +/* The title of the loggly service */ +"Loggly" = "Loggly"; + +/* The notification title for a loop failure */ +"Loop Failure" = "Błąd Loop"; + +/* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ +"Loop has not completed successfully in %@" = "Loop nie działał poprawnie przez %@"; + +/* The description of a low G5/G6 transmitter battery with a leading space */ +"Low Battery" = "Słaba bateria"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The error message for missing data. (1: missing data details) */ +"Missing data: %1$@" = "Brakujące dane: %1$@"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Details for missing data error when momentum effects are missing */ +"Momentum effects" = "wpływ pędu"; + +/* Sensor state description for the non-valid state */ +"Needs Attention" = "Potrzebuje uwagi"; + +/* The title of the Nightscout service */ +"Nightscout" = "Nightscout"; + +/* The error message displayed for device connection errors. */ +"No connected devices, or failure during device connection" = "Brak podłączonych urządzeń lub awaria podczas połączenia urządzenia"; + +/* Sensor state description for the valid state */ +"OK" = "OK"; + +/* Outside US share server option title */ +"Outside US" = "Poza USA"; + +/* The title of the Dexcom share password credential */ +"Password" = "Hasło"; + +/* The label of the pre-meal mode toggle button */ +"Pre-Meal Targets" = "Poziom przed posiłkiem"; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Przewidywany poziom cukru o %1$@ wyniesie %2$@"; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Przewidywany poziom cukru %1$@ jest poniżej progu zawieszenia."; + +/* The title of the pump section in settings */ +"Pump" = "Pompa"; + +/* The notification title for a low pump battery */ +"Pump Battery Low" = "Niski poziom baterii w pompie"; + +/* The error message when pump data is too old to be used. (1: pump data age in minutes) */ +"Pump data is %1$@ old" = "Dane z pompy są nieaktualne od %1$@"; + +/* Details for configuration error when pump manager is missing */ +"Pump Manager" = "Zarządzanie Pompą"; + +/* The notification title for an empty pump reservoir */ +"Pump Reservoir Empty" = "Zbiornik w pompie jest pusty"; + +/* The notification title for a low pump reservoir */ +"Pump Reservoir Low" = "Niski stan zbiornika w pompie"; + +/* Title of insulin model preset */ +"Rapid-Acting – Adults" = "Szybko-działająca - Dorośli"; + +/* Title of insulin model preset */ +"Rapid-Acting – Children" = "Szybko-działająca - Dzieci"; + +/* The error message when a recommendation has expired. (1: age of recommendation in minutes) */ +"Recommendation expired: %1$@ old" = "Rekomendacja nieaktualna od %1$@"; + +/* The title of the cell displaying a recommended temp basal value */ +"Recommended Basal" = "Rekomendowana baza"; + +/* Accessibility hint describing recommended bolus units */ +"Recommended Bolus: %@ Units" = "Rekomendowany bolus: %@ jednostek"; + +/* The default placeholder string for a credential */ +"Required" = "Wymagane"; + +/* Details for missing data error when reservoir data is missing */ +"Reservoir" = "Reservoir"; + +/* Title of the prediction input effect for retrospective correction */ +"Retrospective Correction" = "Korekcja retrospektywna"; + +/* The title of the notification action to retry a bolus command */ +"Retry" = "Ponów"; + +/* The description of sensor calibration state when sensor calibration is ok. */ +"Sensor calibration is OK" = "Kalibracja sensora powiodła się"; + +/* The description of sensor calibration state when raw value is unknown. (1: missing data details) */ +"Sensor is in unknown state %1$d" = "Sensor jest w nieznanym stanie %1$d"; + +/* The description of sensor calibration state when sensor sensor is stopped. */ +"Sensor is stopped" = "Sensor jest wstrzymany"; + +/* The description of sensor calibration state when sensor sensor is warming up. */ +"Sensor is warming up" = "Sensor jest w trakcie uruchamiania"; + +/* The description of sensor calibration state when sensor needs calibration. */ +"Sensor needs calibration" = "Sensor wymaga kalibracji"; + +/* The title of the Dexcom share server URL credential */ +"Server" = "Serwer"; + +/* The title of the services section in settings */ +"Services" = "Usługi"; + +/* The label of the settings button */ +"Settings" = "Ustawienia"; + +/* Loop Completion HUD accessibility hint */ +"Shows last loop error" = "Pokazuje ostatni błąd Loop"; + +/* Format fragment for a start time */ +"since %@" = "od %@"; + +/* The title of the nightscout site URL credential */ +"Site URL" = "URL strony"; + +/* The title text for the Medtronic sensor switch cell */ +"Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; + +/* The title of the cell indicating a bolus is being sent */ +"Starting Bolus" = "Rozpoczynam podawanie bolusa"; + +/* The title text in settings */ +"Suspend Threshold" = "Próg zawieszenia pompy"; + +/* Subtitle description of Walsh insulin model setting */ +"The legacy model used by Loop, allowing customization of action duration." = "Model umożliwiający dostosowanie czasu działania insuliny."; + +/* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ +"The maximum bolus amount is %@ Units" = "Maksymalny bolus wynosi %@ jednostek"; + +/* Instructions on where to find the transmitter ID */ +"The transmitter ID can be found printed on the back of the device, on the side of the box it came in, and from within the settings menus of the receiver and mobile app." = "ID transmitera znajduje się na odwrocie urządzenia, na boku pudełka, w którym został dostarczony oraz z poziomu menu ustawień odbiornika lub aplikacji mobilnej."; + +/* The description of the switch which toggles retrospective correction effects */ +"This will more aggresively increase or decrease basal delivery when glucose movement doesn't match the carbohydrate and insulin-based model." = "Spowoduje to bardziej agresywny wzrost lub spadek w podaży dawki podstawowej, gdy zmiany poziomu glukozy nie odpowiadają zastosowanym modelom absorpcji węglowodanów i aktywności insuliny."; + +/* The title text for the Dexcom G5/G6 transmitter ID config value */ +"Transmitter ID" = "ID transmitera"; + +/* The short unit display string for international units of insulin */ +"U" = "J"; + +/* U.S. share server option title */ +"US" = "USA"; + +/* The title of the alert controller used to select a duration for workout targets */ +"Use Workout Glucose Targets" = "Użyj zakresu glukozy dla wysiłku fizycznego"; + +/* The title of the Dexcom share username credential */ +"Username" = "Nazwa użytkownika"; + +/* Label indicating validation is occurring */ +"Verifying" = "Weryfikuję"; + +/* Title of insulin model setting */ +"Walsh" = "Walsh"; + +/* Explanation of suspend threshold */ +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Kiedy aktualna lub prognozowana glukoza znajduje się poniżej progu zawieszenia, Loop nie zaleca bolusa i zawsze zaleca tymczasową dawkę podstawową wynoszącą 0 jednostek na godzinę."; + +/* The label of the workout mode toggle button */ +"Workout Targets" = "Zakres w czasie wysiłku fizycznego"; + diff --git a/Loop/pl.lproj/Main.strings b/Loop/pl.lproj/Main.strings new file mode 100644 index 0000000000..f59e397a5d --- /dev/null +++ b/Loop/pl.lproj/Main.strings @@ -0,0 +1,147 @@ + +/* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ +"3kU-n2-fha.title" = "Status"; + +/* Class = "UILabel"; text = "Pump ID"; ObjectID = "5TX-kX-nBo"; */ +"5TX-kX-nBo.text" = "ID pompy"; + +/* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "5gz-kZ-iF1"; */ +"5gz-kZ-iF1.text" = "3.5 J/godzinę @ 12:12 PM"; + +/* Class = "UILabel"; text = "Bolus"; ObjectID = "5oA-6d-ZTL"; */ +"5oA-6d-ZTL.text" = "Bolus"; + +/* Class = "UITextField"; accessibilityLabel = "Bolus Amount"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.accessibilityLabel" = "Ilość bolusa"; + +/* Class = "UITextField"; placeholder = "0.0"; ObjectID = "7LT-50-ZzK"; */ +"7LT-50-ZzK.placeholder" = "0.0"; + +/* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ +"87H-N1-0vJ.text" = "Przewidywany"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "B9F-K3-7RI"; */ +"B9F-K3-7RI.text" = "Tytuł"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.accessibilityLabel" = "Jednostki"; + +/* Class = "UILabel"; text = "U"; ObjectID = "BR0-dr-Fj2"; */ +"BR0-dr-Fj2.text" = "J"; + +/* Class = "UILabel"; text = "Future glucose is predicted by combining the effects of multiple inputs. Use this tool to toggle various inputs to see how they compare to the final prediction."; ObjectID = "D4C-I2-dhA"; */ +"D4C-I2-dhA.text" = "Poziom glukozy jest przewidywany dzięki syntezie wielu wprowadzonych danych z różnych źródeł. Użyj tego narzędzia, aby przełączyć różne źródła i zobaczyć jak wpływają na ostateczny wynik."; + +/* Class = "UILabel"; text = "DEVICES"; ObjectID = "DyC-Sv-qP8"; */ +"DyC-Sv-qP8.text" = "URZĄDZENIA"; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "E41-FN-nkk"; */ +"E41-FN-nkk.text" = "docelowo 92 mg/dL"; + +/* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ +"EAn-Ja-S1d.text" = "Obserwowany"; + +/* Class = "UILabel"; text = "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption."; ObjectID = "IxU-As-glo"; */ +"IxU-As-glo.text" = "Obserwowane zmiany w poziomie glukozy i uwzględnianie zmian podaży insuliny mogą być użyte do oszacowania czasu absorpcji węglowodanów."; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ +"J7x-W5-gwo.text" = "Szczegóły"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "Krd-Aa-ret"; */ +"Krd-Aa-ret.text" = "Etykieta"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "OFA-qT-ZAg"; */ +"OFA-qT-ZAg.text" = "Etykieta"; + +/* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ +"PA3-sP-cWY.title" = "Przewidywany poziom cukru"; + +/* Class = "UILabel"; text = "An insulin activity model is used to estimate effects of insulin on glucose levels. An accurate model can help prevent insulin stacking and safely recommend corrective treatments."; ObjectID = "PJv-p9-cFe"; */ +"PJv-p9-cFe.text" = "Model aktywności insuliny jest używany do oszacowania wpływu insuliny na poziom glukozy. Dokładny model może uchronić przed chaotycznym/nadmiernym podawaniem insuliny i pozwala na zarekomendowanie prawidłowych dawek."; + +/* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ +"Rse-x8-amW.text" = "docelowo 92 mg/dL"; + +/* Class = "UILabel"; text = "g COB"; ObjectID = "SQx-au-ZcM"; */ +"SQx-au-ZcM.text" = "g COB"; + +/* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ +"Vpi-5b-bY5.title" = "Węglowodany"; + +/* Class = "UITextField"; text = "4 hour"; ObjectID = "Wk3-xv-IM5"; */ +"Wk3-xv-IM5.text" = "4 godziny"; + +/* Class = "UIButton"; normalTitle = "Deliver"; ObjectID = "Ya0-9b-ZAS"; */ +"Ya0-9b-ZAS.normalTitle" = "Podaj"; + +/* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ +"aCb-Qs-bpu.text" = "Szczegóły"; + +/* Class = "UINavigationItem"; title = "Bolus"; ObjectID = "aiu-ZA-zVa"; */ +"aiu-ZA-zVa.title" = "Bolus"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ +"bIL-Ub-qYp.text" = "Etykieta"; + +/* Class = "UILabel"; text = "Glucose Change"; ObjectID = "bq4-98-cQU"; */ +"bq4-98-cQU.text" = "Zmiana poziomu glukozy"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "cpo-Po-gFM"; */ +"cpo-Po-gFM.text" = "Etykieta"; + +/* Class = "UILabel"; text = "g Total"; ObjectID = "d3X-AN-tA5"; */ +"d3X-AN-tA5.text" = "g łącznie"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "d6m-qV-wWi"; */ +"d6m-qV-wWi.text" = "Etykieta"; + +/* Class = "UINavigationItem"; title = "Settings"; ObjectID = "dmB-PQ-B44"; */ +"dmB-PQ-B44.title" = "Ustawienia"; + +/* Class = "UILabel"; text = "Active Carbohydrates: 40g"; ObjectID = "hHZ-uY-aKw"; */ +"hHZ-uY-aKw.text" = "Aktywne węglowodany: 40g"; + +/* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ +"hZZ-2S-lrd.title" = "Efekty wywołane przez węglowodany"; + +/* Class = "UILabel"; text = "⚠ Glucose Predicted Below Range"; ObjectID = "k0g-P7-OVN"; */ +"k0g-P7-OVN.text" = "⚠ Przewidywana glukoza poniżej zakresu"; + +/* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ +"k3F-Na-7mn.text" = "Rekomendowana dawka podstawowa"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "l7l-mw-Oc9"; */ +"l7l-mw-Oc9.text" = "Etykieta"; + +/* Class = "UILabel"; text = "Tap to set"; ObjectID = "m9c-SQ-djE"; */ +"m9c-SQ-djE.text" = "Kliknij, aby ustawić"; + +/* Class = "UILabel"; accessibilityLabel = "Units"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.accessibilityLabel" = "Units"; + +/* Class = "UILabel"; text = "U"; ObjectID = "mVz-dr-xLU"; */ +"mVz-dr-xLU.text" = "J"; + +/* Class = "UITableViewController"; title = "Insulin Model"; ObjectID = "pi6-Dh-72V"; */ +"pi6-Dh-72V.title" = "Typ insuliny"; + +/* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ +"tuw-av-A3x.text" = "Glukoza"; + +/* Class = "UILabel"; text = "Label"; ObjectID = "ufi-Kj-33k"; */ +"ufi-Kj-33k.text" = "Etykieta"; + +/* Class = "UILabel"; text = "Active Insulin: 1.5U"; ObjectID = "viU-7a-kbI"; */ +"viU-7a-kbI.text" = "Aktywna insulina: 1.5J"; + +/* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ +"yn7-2M-jZz.text" = "0"; + +/* Class = "UILabel"; text = "Recommended"; ObjectID = "ywT-OR-NnU"; */ +"ywT-OR-NnU.text" = "Rekomendowane"; + +/* Class = "UILabel"; text = "Title"; ObjectID = "zbc-87-wxZ"; */ +"zbc-87-wxZ.text" = "Tytuł"; + +/* Class = "UILabel"; text = "0"; ObjectID = "zvZ-uf-zMX"; */ +"zvZ-uf-zMX.text" = "0"; diff --git a/LoopTests/pl.lproj/InfoPlist.strings b/LoopTests/pl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..bbcf8f9040 --- /dev/null +++ b/LoopTests/pl.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* Bundle name */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/pl.lproj/InfoPlist.strings b/LoopUI/pl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..5c1fb13406 --- /dev/null +++ b/LoopUI/pl.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/LoopUI/pl.lproj/Localizable.strings b/LoopUI/pl.lproj/Localizable.strings new file mode 100644 index 0000000000..7f2011af46 --- /dev/null +++ b/LoopUI/pl.lproj/Localizable.strings @@ -0,0 +1,53 @@ +/* Format string describing the time interval since the last completion date. (1: The localized date components */ +"%@ ago" = "%@ temu"; + +/* The format string describing the basal rate. */ +"%@ U" = "%@ J"; + +/* Format string for reservoir volume. (1: The localized volume) */ +"%@U" = "%@J"; + +/* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ +"%1$@ at %2$@" = "%1$@ o %2$@"; + +/* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ +"%1$@ units per hour at %2$@" = "%1$@ jednostek na godzinę o %2$@"; + +/* Accessibility format string for (1: localized volume)(2: time) */ +"%1$@ units remaining at %2$@" = "%1$@ pozostałych jednostek o %2$@"; + +/* Accessibility hint describing completion HUD for a closed loop */ +"Closed loop" = "Zamknięta Loop"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ +"Loop ran %@ ago" = "Pętla była uruchomiona %@ temu"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Accessibility label component for glucose HUD describing an invalid state */ +"Needs attention" = "Wymaga uwagi"; + +/* Accessbility hint describing completion HUD for an open loop */ +"Open loop" = "Otwarta Loop"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The short unit display string for international units of insulin */ +"U" = "J"; + +/* Accessibility value for an unknown value */ +"Unknown" = "Nieznany"; + +/* Acessibility label describing completion HUD waiting for first run */ +"Waiting for first run" = "Oczekiwanie na pierwsze uruchomienie"; diff --git a/WatchApp Extension/pl.lproj/InfoPlist.strings b/WatchApp Extension/pl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..06077199aa --- /dev/null +++ b/WatchApp Extension/pl.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "WatchApp Extension"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp Extension/pl.lproj/Localizable.strings b/WatchApp Extension/pl.lproj/Localizable.strings new file mode 100644 index 0000000000..707b1a66b0 --- /dev/null +++ b/WatchApp Extension/pl.lproj/Localizable.strings @@ -0,0 +1,37 @@ +/* The title of the alert controller displayed after a bolus attempt fails */ +"Bolus Failed" = "Podanie bolusa nie powiodło się"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* The action button title to dismiss an error message */ +"Dismiss" = "Zignoruj"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a carb entry send attempt fails + The recovery message displayed after a glucose range override send attempt fails */ +"Make sure your iPhone is nearby and try again" = "Upewnij się, że Twój iPhone jest w pobliżu i spróbuj ponownie"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The label and value showing the recommended bolus */ +"Rec: %@ U" = "Rekomendowane: %@ J"; + +/* The title of the alert controller displayed after a carb entry send attempt fails + The title of the alert controller displayed after a glucose range override send attempt fails */ +"Send Failed" = "Wysyłanie nie powiodło się"; + +/* The short unit display string for international units of insulin */ +"U" = "J"; + + diff --git a/WatchApp Extension/pl.lproj/ckcomplication.strings b/WatchApp Extension/pl.lproj/ckcomplication.strings new file mode 100644 index 0000000000..f05b483c67 --- /dev/null +++ b/WatchApp Extension/pl.lproj/ckcomplication.strings @@ -0,0 +1,13 @@ +/* + ckcomplication.strings + Loop + + Created by Nate Racklyeft on 9/18/16. + Copyright © 2016 Nathan Racklyeft. All rights reserved. +*/ + +/* The complication template example unit string */ +"120↘︎" = "120↘︎"; + +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "%@%@ %@"; diff --git a/WatchApp/pl.lproj/InfoPlist.strings b/WatchApp/pl.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/WatchApp/pl.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/WatchApp/pl.lproj/Interface.strings b/WatchApp/pl.lproj/Interface.strings new file mode 100644 index 0000000000..20e326240f --- /dev/null +++ b/WatchApp/pl.lproj/Interface.strings @@ -0,0 +1,72 @@ + +/* Class = "WKInterfaceButton"; title = "🌮"; ObjectID = "0fo-Z3-hTi"; */ +"0fo-Z3-hTi.title" = "🌮"; + +/* Class = "WKInterfaceLabel"; text = "15"; ObjectID = "CWt-7U-cnK"; */ +"CWt-7U-cnK.text" = "15"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.accessibilityLabel" = "Dodaj"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "DZc-Gn-RLu"; */ +"DZc-Gn-RLu.title" = "+"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.accessibilityLabel" = "Odejmij"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "Dh9-HV-fXy"; */ +"Dh9-HV-fXy.title" = "−"; + +/* Class = "WKInterfaceButton"; title = "Bolus"; ObjectID = "Qsq-p5-1J0"; */ +"Qsq-p5-1J0.title" = "Bolus"; + +/* Class = "WKInterfaceLabel"; text = "10:09 AM"; ObjectID = "Ury-of-vQg"; */ +"Ury-of-vQg.text" = "10:09 AM"; + +/* Class = "WKInterfaceLabel"; text = ""; ObjectID = "XkS-y5-khE"; */ +"XkS-y5-khE.text" = ""; + +/* Class = "WKInterfaceButton"; title = "Add Carbs"; ObjectID = "b6f-3I-jki"; */ +"b6f-3I-jki.title" = "Dodaj węglowodany"; + +/* Class = "WKInterfaceButton"; title = "🍕"; ObjectID = "dPF-QZ-sh6"; */ +"dPF-QZ-sh6.title" = "🍕"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Add"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.accessibilityLabel" = "Dodaj"; + +/* Class = "WKInterfaceButton"; title = "+"; ObjectID = "eu3-pj-GH3"; */ +"eu3-pj-GH3.title" = "+"; + +/* Class = "WKInterfaceLabel"; text = "Pre-Meal"; ObjectID = "f5G-bS-9pd"; */ +"f5G-bS-9pd.text" = "Przed posiłkiem"; + +/* Class = "WKInterfaceButton"; title = "🍭"; ObjectID = "gAn-qe-OvX"; */ +"gAn-qe-OvX.title" = "🍭"; + +/* Class = "WKInterfaceButton"; accessibilityLabel = "Subtract"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.accessibilityLabel" = "Odejmij"; + +/* Class = "WKInterfaceButton"; title = "−"; ObjectID = "hjF-xr-cwO"; */ +"hjF-xr-cwO.title" = "−"; + +/* Class = "WKInterfaceLabel"; text = "Carbs"; ObjectID = "hln-CI-MRP"; */ +"hln-CI-MRP.text" = "Węglowodany"; + +/* Class = "WKInterfaceLabel"; text = "Bolus Failed"; ObjectID = "jj3-Gq-HBy"; */ +"jj3-Gq-HBy.text" = "Bolus nie podany"; + +/* Class = "WKInterfaceLabel"; text = "0.000"; ObjectID = "mpK-zY-UvA"; */ +"mpK-zY-UvA.text" = "0.000"; + +/* Class = "WKInterfaceLabel"; text = "Workout"; ObjectID = "nC0-X3-oFJ"; */ +"nC0-X3-oFJ.text" = "Wysiłek fizyczny"; + +/* Class = "WKInterfaceController"; title = "Loop"; ObjectID = "rNf-Mh-tID"; */ +"rNf-Mh-tID.title" = "Loop"; + +/* Class = "WKInterfaceLabel"; text = "UNITS"; ObjectID = "rV7-d9-n6u"; */ +"rV7-d9-n6u.text" = "JEDNOSTKI"; + +/* Class = "WKInterfaceLabel"; text = "Bolus"; ObjectID = "smL-Rc-IZh"; */ +"smL-Rc-IZh.text" = "Bolus"; From e9876d0760934d93f98f653fed898799dfdbe137 Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Sun, 19 Aug 2018 14:11:31 -0700 Subject: [PATCH 23/24] more norwegian cleanup --- DoseMathTests/nb.lproj/Localizable.strings | 2 +- Loop/nb.lproj/Localizable.strings | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/DoseMathTests/nb.lproj/Localizable.strings b/DoseMathTests/nb.lproj/Localizable.strings index 0739d24535..f76a4f8154 100644 --- a/DoseMathTests/nb.lproj/Localizable.strings +++ b/DoseMathTests/nb.lproj/Localizable.strings @@ -17,7 +17,7 @@ "Predicted glucose at %1$@ is %2$@." = "Forventet blodsukker om %1$@ er %2$@."; /* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ -"Predicted glucose of %1$@ is below your suspend threshold setting." = "Forventet blodsukker %1$@ er under innstillingen for stopp av insulintilførsel."; +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Forventet blodsukker %1$@ er under innstillingen for insulinstopp."; /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; diff --git a/Loop/nb.lproj/Localizable.strings b/Loop/nb.lproj/Localizable.strings index d88cc40b35..33548cef51 100644 --- a/Loop/nb.lproj/Localizable.strings +++ b/Loop/nb.lproj/Localizable.strings @@ -177,13 +177,13 @@ "Disables" = "Deaktiver"; /* Title of the switch which toggles retrospective correction effects */ -"Enable Retrospective Correction" = "Aktiver retrospektiv korrigering"; +"Enable Retrospective Correction" = "Aktiver retrospektiv korreksjon"; /* The action hint of the workout mode toggle button when disabled */ "Enables" = "Aktiverer"; /* The placeholder text instructing users to enter a suspend treshold */ -"Enter suspend threshold" = "Legg til grense for stopp av insulintilførsel"; +"Enter suspend threshold" = "Legg til grense for insulinstopp"; /* The placeholder text instructing users how to enter a transmitter ID */ "Enter the 6-digit transmitter ID" = "Angi 6-sifret sender (CGM) ID"; @@ -314,7 +314,7 @@ "Predicted glucose at %1$@ is %2$@." = "Forventet blodsukker om %1$@ er %2$@."; /* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ -"Predicted glucose of %1$@ is below your suspend threshold setting." = "Forventet blodsukker %1$@ er under innstilling for stopp av insulintilførsel"; +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Forventet blodsukker %1$@ er under innstilling for insulinstopp"; /* The title of the pump section in settings */ "Pump" = "Pumpe"; @@ -392,7 +392,7 @@ "since %@" = "siden %@"; /* The title of the nightscout site URL credential */ -"Site URL" = "Nettstedslenke (URL)"; +"Site URL" = "Nettsted (URL)"; /* The title text for the Medtronic sensor switch cell */ "Sof-Sensor / Enlite" = "Sof-Sensor / Enlite"; @@ -401,10 +401,10 @@ "Starting Bolus" = "Starter bolus"; /* The title text in settings */ -"Suspend Threshold" = "Grense for stopp av insulintilførsel"; +"Suspend Threshold" = "Grense for insulinstopp"; /* Subtitle description of Walsh insulin model setting */ -"The legacy model used by Loop, allowing customization of action duration." = "Den gamle modellen brukt av Loop, tillater endring av varighet for tiltak."; +"The legacy model used by Loop, allowing customization of action duration." = "Den gamle modellen brukt av Loop, tillater endring av varighet for handling."; /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "Maks bolus er satt til %@ enheter"; @@ -437,7 +437,7 @@ "Walsh" = "Walsh"; /* Explanation of suspend threshold */ -"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Når nåværende eller forventet blodsukker er under grensen for stopp av insulintilførsel, vil ikke Loop anbefale en bolus, og vil alltid anbefale en midlertidig basalrate på 0 enheter per time."; +"When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Når nåværende eller forventet blodsukker er under grensen for insulinstopp, vil ikke Loop anbefale en bolus, og vil alltid anbefale en midlertidig basalrate på 0 enheter per time."; /* The label of the workout mode toggle button */ "Workout Targets" = "Treningsmål"; From 4f7fabf25c75b6585e87ed218f6d3a2fac2d3b56 Mon Sep 17 00:00:00 2001 From: Kdisimone Date: Sun, 19 Aug 2018 14:22:15 -0700 Subject: [PATCH 24/24] one polish word --- Loop/pl.lproj/Localizable.strings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Loop/pl.lproj/Localizable.strings b/Loop/pl.lproj/Localizable.strings index 72f035e724..da90f0542d 100644 --- a/Loop/pl.lproj/Localizable.strings +++ b/Loop/pl.lproj/Localizable.strings @@ -353,7 +353,7 @@ "Required" = "Wymagane"; /* Details for missing data error when reservoir data is missing */ -"Reservoir" = "Reservoir"; +"Reservoir" = "Zbiornik"; /* Title of the prediction input effect for retrospective correction */ "Retrospective Correction" = "Korekcja retrospektywna";