From 7104fee544dd8442eece66ca58d52b59f4b51778 Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Mon, 26 Oct 2026 10:02:05 +0000 Subject: [PATCH 01/17] Add the redesigned Loop interface with reviewed history and state handling Build Now, Trends and Logbook around Loop's existing controllers and stores. Keep delivered quantities and history partitions accurate, preserve editing drafts across updates, propagate load failures and share chart averages. Per-day Trends figures leave out the day in progress and share insulin's days, the day chart names a day without readings, and the Logbook carb editor receives Loop updates on the main thread. Co-Authored-By: Claude Opus 5.5 (1M context) --- Loop.xcodeproj/project.pbxproj | 56 ++ .../accent-ink.colorset/Contents.json | 38 ++ .../agp-inner.colorset/Contents.json | 38 ++ .../agp-outer.colorset/Contents.json | 38 ++ .../basal-edge.colorset/Contents.json | 38 ++ .../basal.colorset/Contents.json | 38 ++ .../carbs-ink.colorset/Contents.json | 38 ++ .../control-thumb.colorset/Contents.json | 38 ++ .../critical-ink.colorset/Contents.json | 38 ++ .../glucose-ink.colorset/Contents.json | 38 ++ .../ink-muted.colorset/Contents.json | 38 ++ .../insulin-ink.colorset/Contents.json | 38 ++ .../range-high.colorset/Contents.json | 38 ++ .../range-in.colorset/Contents.json | 38 ++ .../range-low.colorset/Contents.json | 38 ++ .../range-very-high.colorset/Contents.json | 38 ++ .../range-very-low.colorset/Contents.json | 38 ++ .../status-critical.colorset/Contents.json | 38 ++ .../target-band.colorset/Contents.json | 38 ++ Loop/Managers/LoopAppManager.swift | 87 ++- Loop/Redesign/DayCharts.swift | 621 ++++++++++++++++++ Loop/Redesign/DayDetailView.swift | 127 ++++ Loop/Redesign/LogbookScreen.swift | 486 ++++++++++++++ Loop/Redesign/LoopDesign.swift | 313 +++++++++ Loop/Redesign/LoopHistoryMath.swift | 343 ++++++++++ Loop/Redesign/LoopHistoryModels.swift | 292 ++++++++ Loop/Redesign/LoopHistoryProvider.swift | 431 ++++++++++++ Loop/Redesign/MainTabBarController.swift | 82 +++ Loop/Redesign/NowScreen.swift | 594 +++++++++++++++++ Loop/Redesign/TrendsComponents.swift | 580 ++++++++++++++++ Loop/Redesign/TrendsScreen.swift | 428 ++++++++++++ .../StatusTableViewController.swift | 107 ++- Loop/Views/SettingsView.swift | 10 + Loop/Views/StatusTableView.swift | 48 +- LoopTests/Models/LoopHistoryMathTests.swift | 216 ++++++ 35 files changed, 5463 insertions(+), 42 deletions(-) create mode 100644 Loop/DerivedAssetsBase.xcassets/accent-ink.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/agp-inner.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/agp-outer.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/basal.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/carbs-ink.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/control-thumb.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/critical-ink.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/glucose-ink.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/ink-muted.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/range-high.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/range-in.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/range-low.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/range-very-high.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/range-very-low.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/status-critical.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/target-band.colorset/Contents.json create mode 100644 Loop/Redesign/DayCharts.swift create mode 100644 Loop/Redesign/DayDetailView.swift create mode 100644 Loop/Redesign/LogbookScreen.swift create mode 100644 Loop/Redesign/LoopDesign.swift create mode 100644 Loop/Redesign/LoopHistoryMath.swift create mode 100644 Loop/Redesign/LoopHistoryModels.swift create mode 100644 Loop/Redesign/LoopHistoryProvider.swift create mode 100644 Loop/Redesign/MainTabBarController.swift create mode 100644 Loop/Redesign/NowScreen.swift create mode 100644 Loop/Redesign/TrendsComponents.swift create mode 100644 Loop/Redesign/TrendsScreen.swift create mode 100644 LoopTests/Models/LoopHistoryMathTests.swift diff --git a/Loop.xcodeproj/project.pbxproj b/Loop.xcodeproj/project.pbxproj index 03ce9afa1d..a600fa7dd4 100644 --- a/Loop.xcodeproj/project.pbxproj +++ b/Loop.xcodeproj/project.pbxproj @@ -717,6 +717,18 @@ FEEDB0000000000000000004 /* Statistics/TimeInRangeBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEEDF0000000000000000004 /* Statistics/TimeInRangeBar.swift */; }; 30E4A68B8C914C5E4B245555 /* InsulinDeliveryHistoryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F69CE2EE3714858772FE7A26 /* InsulinDeliveryHistoryTests.swift */; }; FEEDB0000000000000000005 /* GlucoseStatisticsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEEDF0000000000000000005 /* GlucoseStatisticsTests.swift */; }; + 89C0C34F420190E8CC7D03B1 /* DayCharts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6F40DE2F3FC02CBA3BE7AF2F /* DayCharts.swift */; }; + 332CC9FC011E78CE5BEA583C /* LoopDesign.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BD3DDF41B598A8C4B5CEB92 /* LoopDesign.swift */; }; + 0C70F4D862F6D3FDB3D91D87 /* LoopHistoryMath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21622B2355AED8F6A12FE17C /* LoopHistoryMath.swift */; }; + 2ADBB92A8ABB74360D18EEFA /* LoopHistoryModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 471FFD525A4EB897745608BE /* LoopHistoryModels.swift */; }; + A743DC26D066EE5AC88C2F45 /* LoopHistoryProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09448CF97996C40BEDDE6588 /* LoopHistoryProvider.swift */; }; + 6A6C1E1C7A26EC88AFB4FAB1 /* DayDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3A83D311A9ECAE563F74A51 /* DayDetailView.swift */; }; + 23B98F0A53A093412229364D /* LogbookScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AEDC42672A7A8C57546EA0C /* LogbookScreen.swift */; }; + 3ED693ACBF8F9E416055BD56 /* MainTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 844BECBB6357021979B9443F /* MainTabBarController.swift */; }; + 7705483CFFCF0B89F8F1A08E /* NowScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0874B7B679DB9CE661CCE152 /* NowScreen.swift */; }; + 591F13AF435B37B4818E2F2B /* TrendsComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BFDE56977CC73CBDA1170C5 /* TrendsComponents.swift */; }; + 5CD0888FF33D6F844A81E638 /* TrendsScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = AF0FD64B2B3E9C9AA8764684 /* TrendsScreen.swift */; }; + 97CF13197936D2794766C84A /* LoopHistoryMathTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42B08644C3031D9E815F9892 /* LoopHistoryMathTests.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -1584,6 +1596,18 @@ FEEDF0000000000000000004 /* Statistics/TimeInRangeBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Statistics/TimeInRangeBar.swift; sourceTree = ""; }; F69CE2EE3714858772FE7A26 /* InsulinDeliveryHistoryTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InsulinDeliveryHistoryTests.swift; sourceTree = ""; }; FEEDF0000000000000000005 /* GlucoseStatisticsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlucoseStatisticsTests.swift; sourceTree = ""; }; + 6F40DE2F3FC02CBA3BE7AF2F /* DayCharts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DayCharts.swift; sourceTree = ""; }; + 0BD3DDF41B598A8C4B5CEB92 /* LoopDesign.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoopDesign.swift; sourceTree = ""; }; + 21622B2355AED8F6A12FE17C /* LoopHistoryMath.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoopHistoryMath.swift; sourceTree = ""; }; + 471FFD525A4EB897745608BE /* LoopHistoryModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoopHistoryModels.swift; sourceTree = ""; }; + 09448CF97996C40BEDDE6588 /* LoopHistoryProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoopHistoryProvider.swift; sourceTree = ""; }; + E3A83D311A9ECAE563F74A51 /* DayDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DayDetailView.swift; sourceTree = ""; }; + 7AEDC42672A7A8C57546EA0C /* LogbookScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogbookScreen.swift; sourceTree = ""; }; + 844BECBB6357021979B9443F /* MainTabBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainTabBarController.swift; sourceTree = ""; }; + 0874B7B679DB9CE661CCE152 /* NowScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NowScreen.swift; sourceTree = ""; }; + 4BFDE56977CC73CBDA1170C5 /* TrendsComponents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrendsComponents.swift; sourceTree = ""; }; + AF0FD64B2B3E9C9AA8764684 /* TrendsScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrendsScreen.swift; sourceTree = ""; }; + 42B08644C3031D9E815F9892 /* LoopHistoryMathTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoopHistoryMathTests.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -1903,6 +1927,7 @@ 43776F8E1B8022E90074EA36 /* Loop */ = { isa = PBXGroup; children = ( + 8574687EF267DC59043C0242 /* Redesign */, C16DA84022E8E104008624C2 /* Plugins */, B66D1F322E6A5D6600471149 /* Localizable.xcstrings */, B66D1F382E6A5D6600471149 /* InfoPlist.xcstrings */, @@ -2800,6 +2825,7 @@ 6C1F8E3BA2D45079B3E2F512 /* OutcomesPackageTests.swift */, BE36167100E59D7413C50F63 /* SetupComparisonTests.swift */, FEEDF0000000000000000005 /* GlucoseStatisticsTests.swift */, + 42B08644C3031D9E815F9892 /* LoopHistoryMathTests.swift */, A9DFAFB224F0415E00950D1E /* CarbBackfillRequestUserInfoTests.swift */, A963B279252CEBAE0062AA12 /* SetBolusUserInfoTests.swift */, C19008FF252271BB00721625 /* SimpleBolusCalculatorTests.swift */, @@ -2975,6 +3001,24 @@ path = Fixtures; sourceTree = ""; }; + 8574687EF267DC59043C0242 /* Redesign */ = { + isa = PBXGroup; + children = ( + AF0FD64B2B3E9C9AA8764684 /* TrendsScreen.swift */, + 4BFDE56977CC73CBDA1170C5 /* TrendsComponents.swift */, + 0874B7B679DB9CE661CCE152 /* NowScreen.swift */, + 844BECBB6357021979B9443F /* MainTabBarController.swift */, + 7AEDC42672A7A8C57546EA0C /* LogbookScreen.swift */, + E3A83D311A9ECAE563F74A51 /* DayDetailView.swift */, + 09448CF97996C40BEDDE6588 /* LoopHistoryProvider.swift */, + 471FFD525A4EB897745608BE /* LoopHistoryModels.swift */, + 21622B2355AED8F6A12FE17C /* LoopHistoryMath.swift */, + 0BD3DDF41B598A8C4B5CEB92 /* LoopDesign.swift */, + 6F40DE2F3FC02CBA3BE7AF2F /* DayCharts.swift */, + ); + path = Redesign; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -3626,6 +3670,17 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 5CD0888FF33D6F844A81E638 /* TrendsScreen.swift in Sources */, + 591F13AF435B37B4818E2F2B /* TrendsComponents.swift in Sources */, + 7705483CFFCF0B89F8F1A08E /* NowScreen.swift in Sources */, + 3ED693ACBF8F9E416055BD56 /* MainTabBarController.swift in Sources */, + 23B98F0A53A093412229364D /* LogbookScreen.swift in Sources */, + 6A6C1E1C7A26EC88AFB4FAB1 /* DayDetailView.swift in Sources */, + A743DC26D066EE5AC88C2F45 /* LoopHistoryProvider.swift in Sources */, + 2ADBB92A8ABB74360D18EEFA /* LoopHistoryModels.swift in Sources */, + 0C70F4D862F6D3FDB3D91D87 /* LoopHistoryMath.swift in Sources */, + 332CC9FC011E78CE5BEA583C /* LoopDesign.swift in Sources */, + 89C0C34F420190E8CC7D03B1 /* DayCharts.swift in Sources */, C17824A51E1AD4D100D9D25C /* ManualBolusRecommendation.swift in Sources */, 897A5A9624C2175B00C4E71D /* BolusEntryView.swift in Sources */, 4F70C2131DE90339006380B7 /* StatusExtensionContext.swift in Sources */, @@ -4074,6 +4129,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 97CF13197936D2794766C84A /* LoopHistoryMathTests.swift in Sources */, A9DF02CB24F72B9E00B7C988 /* CriticalEventLogTests.swift in Sources */, 1D80313D24746274002810DF /* AlertStoreTests.swift in Sources */, C1777A6625A125F100595963 /* ManualEntryDoseViewModelTests.swift in Sources */, diff --git a/Loop/DerivedAssetsBase.xcassets/accent-ink.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/accent-ink.colorset/Contents.json new file mode 100644 index 0000000000..af109ce19a --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/accent-ink.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.000", + "green": "0.384", + "blue": "0.800", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.039", + "green": "0.518", + "blue": "1.000", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/agp-inner.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/agp-inner.colorset/Contents.json new file mode 100644 index 0000000000..2ddc0f5f90 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/agp-inner.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.000", + "green": "0.690", + "blue": "1.000", + "alpha": "0.340" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.388", + "green": "0.729", + "blue": "1.000", + "alpha": "0.380" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/agp-outer.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/agp-outer.colorset/Contents.json new file mode 100644 index 0000000000..270771d475 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/agp-outer.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.000", + "green": "0.690", + "blue": "1.000", + "alpha": "0.160" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.388", + "green": "0.729", + "blue": "1.000", + "alpha": "0.180" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json new file mode 100644 index 0000000000..9f06dc63c3 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.878", + "green": "0.471", + "blue": "0.000", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.624", + "blue": "0.039", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/basal.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/basal.colorset/Contents.json new file mode 100644 index 0000000000..5921aa2401 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/basal.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.851", + "blue": "0.639", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.420", + "green": "0.259", + "blue": "0.063", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/carbs-ink.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/carbs-ink.colorset/Contents.json new file mode 100644 index 0000000000..df21da3860 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/carbs-ink.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.184", + "green": "0.490", + "blue": "0.086", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.349", + "green": "0.894", + "blue": "0.200", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/control-thumb.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/control-thumb.colorset/Contents.json new file mode 100644 index 0000000000..34b15edebe --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/control-thumb.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "1.000", + "blue": "1.000", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.388", + "green": "0.388", + "blue": "0.400", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/critical-ink.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/critical-ink.colorset/Contents.json new file mode 100644 index 0000000000..2f18c32cc1 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/critical-ink.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.769", + "green": "0.188", + "blue": "0.169", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.412", + "blue": "0.380", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/glucose-ink.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/glucose-ink.colorset/Contents.json new file mode 100644 index 0000000000..b704d8af81 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/glucose-ink.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.000", + "green": "0.439", + "blue": "0.722", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.388", + "green": "0.729", + "blue": "1.000", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/ink-muted.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/ink-muted.colorset/Contents.json new file mode 100644 index 0000000000..6eda3190f3 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/ink-muted.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.424", + "green": "0.424", + "blue": "0.439", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.682", + "green": "0.682", + "blue": "0.698", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json new file mode 100644 index 0000000000..d9eb09683b --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.639", + "green": "0.322", + "blue": "0.000", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.624", + "blue": "0.039", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/range-high.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/range-high.colorset/Contents.json new file mode 100644 index 0000000000..28f578bf71 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/range-high.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.949", + "green": "0.718", + "blue": "0.020", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.839", + "blue": "0.039", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/range-in.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/range-in.colorset/Contents.json new file mode 100644 index 0000000000..3d0f452a75 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/range-in.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.184", + "green": "0.659", + "blue": "0.310", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.196", + "green": "0.843", + "blue": "0.294", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/range-low.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/range-low.colorset/Contents.json new file mode 100644 index 0000000000..1349d6a59e --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/range-low.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.898", + "green": "0.282", + "blue": "0.302", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.624", + "blue": "0.604", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/range-very-high.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/range-very-high.colorset/Contents.json new file mode 100644 index 0000000000..b2851438d1 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/range-very-high.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.541", + "green": "0.380", + "blue": "0.000", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.788", + "green": "0.541", + "blue": "0.000", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/range-very-low.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/range-very-low.colorset/Contents.json new file mode 100644 index 0000000000..46e9e70555 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/range-very-low.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.608", + "green": "0.110", + "blue": "0.122", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.271", + "blue": "0.227", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/status-critical.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/status-critical.colorset/Contents.json new file mode 100644 index 0000000000..9c67fd2db6 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/status-critical.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.231", + "blue": "0.188", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.271", + "blue": "0.227", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/target-band.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/target-band.colorset/Contents.json new file mode 100644 index 0000000000..6ff45863c5 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/target-band.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.000", + "green": "0.690", + "blue": "1.000", + "alpha": "0.140" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.388", + "green": "0.729", + "blue": "1.000", + "alpha": "0.180" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/Managers/LoopAppManager.swift b/Loop/Managers/LoopAppManager.swift index 57d121a979..b9e0d477bd 100644 --- a/Loop/Managers/LoopAppManager.swift +++ b/Loop/Managers/LoopAppManager.swift @@ -518,6 +518,19 @@ class LoopAppManager: NSObject { analyticsServicesManager.application(didFinishLaunchingWithOptions: launchOptions) + // Loop's automation history only goes back 36 hours, so the Trends screen keeps its own longer record. + // The debounce keeps a quick off-and-on from being recorded as open loop. + ObservablePublishers.tracking(settingsManager, keyPath: \.dosingEnabled) + .debounce(for: .seconds(15), scheduler: RunLoop.main) + .removeDuplicates() + .sink { LoopModeHistory.shared.record(closedLoop: $0) } + .store(in: &cancellables) + + NotificationCenter.default.publisher(for: LoopInterfacePreference.didChange) + .receive(on: RunLoop.main) + .sink { [weak self] _ in self?.relaunchHomeScreenForInterfaceChange() } + .store(in: &cancellables) + state = state.next await loopDataManager.updateDisplayState() @@ -623,10 +636,8 @@ class LoopAppManager: NSObject { return viewModel }() - private func launchHomeScreen() async { - dispatchPrecondition(condition: .onQueue(.main)) - precondition(state == .launchHomeScreen) - + /// Builds the status screen and makes it (or the redesign's tabs around it) the window's root. + private func installHomeScreen() { let viewModel = StatusTableViewModel( alertPermissionsChecker: alertPermissionsChecker, alertMuter: alertManager.alertMuter, @@ -652,26 +663,57 @@ class LoopAppManager: NSObject { self.statusTableViewController = statusTableView.viewController - var rootNavigationController = rootViewController as? RootNavigationController - if rootNavigationController == nil { - rootNavigationController = RootNavigationController() - rootViewController = rootNavigationController - } + let showsActionTabs = !LoopInterfacePreference.useRedesign + let statusScreen = UIHostingController( + rootView: statusTableView + .showsActionTabs(showsActionTabs) + .environmentObject(deviceDataManager.displayGlucosePreference) + .environment(\.appName, Bundle.main.bundleDisplayName) + .environment(\.isInvestigationalDevice, FeatureFlags.isInvestigationalDevice) + .environment(\.guidanceColors, .default) + .environment(\.loopStatusColorPalette, .loopStatus) + .environment(\.colorPalette, .default) + .environment(\.settingsManager, settingsManager) + .environment(\.temporaryPresetsManager, temporaryPresetsManager) + .edgesIgnoringSafeArea(.top) + ) - rootNavigationController?.setViewControllers([ - UIHostingController( - rootView: statusTableView - .environmentObject(deviceDataManager.displayGlucosePreference) - .environment(\.appName, Bundle.main.bundleDisplayName) - .environment(\.isInvestigationalDevice, FeatureFlags.isInvestigationalDevice) - .environment(\.guidanceColors, .default) - .environment(\.loopStatusColorPalette, .loopStatus) - .environment(\.colorPalette, .default) - .environment(\.settingsManager, settingsManager) - .environment(\.temporaryPresetsManager, temporaryPresetsManager) - .edgesIgnoringSafeArea(.top) + if LoopInterfacePreference.useRedesign { + let rootNavigationController = RootNavigationController() + rootNavigationController.setViewControllers([statusScreen], animated: false) + rootViewController = MainTabBarController( + rootNavigationController: rootNavigationController, + statusTableViewController: statusTableView.viewController, + deviceManager: deviceDataManager, + loopDataManager: loopDataManager, + settingsManager: settingsManager ) - ], animated: true) + } else { + var rootNavigationController = rootViewController as? RootNavigationController + if rootNavigationController == nil { + rootNavigationController = RootNavigationController() + rootViewController = rootNavigationController + } + + rootNavigationController?.setViewControllers([statusScreen], animated: true) + } + } + + /// Swaps between the classic and redesigned interface once Loop is running. + private func relaunchHomeScreenForInterfaceChange() { + guard state == .launchComplete else { return } + if let presented = rootViewController?.presentedViewController { + presented.dismiss(animated: true) { [weak self] in self?.installHomeScreen() } + } else { + installHomeScreen() + } + } + + private func launchHomeScreen() async { + dispatchPrecondition(condition: .onQueue(.main)) + precondition(state == .launchHomeScreen) + + installHomeScreen() await deviceDataManager.refreshDeviceData() @@ -755,6 +797,7 @@ class LoopAppManager: NSObject { } analyticsServicesManager.didOpenFromLink() + (rootViewController as? MainTabBarController)?.showNow() switch deeplink { case let .carbEntry(carbEntryLink): diff --git a/Loop/Redesign/DayCharts.swift b/Loop/Redesign/DayCharts.swift new file mode 100644 index 0000000000..3de31bd079 --- /dev/null +++ b/Loop/Redesign/DayCharts.swift @@ -0,0 +1,621 @@ +// +// DayCharts.swift +// Loop +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import SwiftUI +import Charts +import UIKit + +private typealias P = LoopDesign.Palette + +// MARK: - Shared axis helpers + +enum DayAxis { + /// Midnight, 6 AM, noon and 6 PM inside `window`, by the clock, so a day when the clocks change still marks 6 AM. + static func quarterDayMarks(in window: DateInterval, calendar: Calendar = .current) -> [Date] { + var marks: [Date] = [] + var day = calendar.startOfDay(for: window.start) + while day <= window.end { + for hour in [0, 6, 12, 18] { + if let mark = calendar.date(bySettingHour: hour, minute: 0, second: 0, of: day), window.contains(mark) { + marks.append(mark) + } + } + guard let next = calendar.date(byAdding: .day, value: 1, to: day) else { break } + day = next + } + return marks + } + + static func hourLabel(_ date: Date) -> String { + date.formatted(.dateTime.hour()) + } + + /// Gaps of more than 30 minutes between readings, so a chart can say where data is missing. + static func gaps(in points: [GlucosePoint], window: DateInterval, until end: Date) -> [DateInterval] { + let limit: TimeInterval = 30 * 60 + var gaps: [DateInterval] = [] + var previous = window.start + for point in points.sorted(by: { $0.date < $1.date }) where window.contains(point.date) { + if point.date.timeIntervalSince(previous) > limit { + gaps.append(DateInterval(start: previous, end: point.date)) + } + previous = point.date + } + let last = min(end, window.end) + if last.timeIntervalSince(previous) > limit { + gaps.append(DateInterval(start: previous, end: last)) + } + return gaps + } + + static func gapMessage(_ gaps: [DateInterval], window: DateInterval, until end: Date) -> String? { + guard let longest = gaps.max(by: { $0.duration < $1.duration }) else { return nil } + // A gap over the whole period would read "0:00 – 0:00". + if gaps.count == 1, longest.start == window.start, longest.end == min(end, window.end) { + return window.contains(end) ? "No CGM data yet today" : "No CGM data on this day" + } + let text = "No CGM data \(LoopFormat.time(longest.start)) – \(LoopFormat.time(longest.end))" + return gaps.count > 1 ? text + " and \(gaps.count - 1) shorter gap\(gaps.count > 2 ? "s" : "")" : text + } +} + +// MARK: - InsulinTimeline + +/// Carbs, glucose and insulin for one day on one shared time axis. +/// +/// The lanes are drawn in a single chart with stacked y ranges so they can't drift apart: insulin 0–30, +/// glucose 36–92 (the fixed 2–20 mmol/L scale), carb markers at 97. +struct InsulinTimelineView: View { + let history: DayHistory + let unit: GlucoseUnitStyle + let targetBands: [TargetBand] + var now: Date = Date() + var height: CGFloat = 260 + + @State private var selection: Date? + + private static let insulinTop = 30.0 + private static let basalTop = 12.0 + private static let glucoseRange = 36.0...92.0 + private static let carbLane = 97.0 + + private var window: DateInterval { history.window } + + private func y(glucose mgdl: Double) -> Double { + let domain = unit.dayDomain + let value = min(max(unit.value(mgdl), domain.lowerBound), domain.upperBound) + let fraction = (value - domain.lowerBound) / (domain.upperBound - domain.lowerBound) + return Self.glucoseRange.lowerBound + fraction * (Self.glucoseRange.upperBound - Self.glucoseRange.lowerBound) + } + + private var maxBasal: Double { + max(0.5, (history.basal.map(\.rate) + history.scheduledBasal.map(\.rate)).max() ?? 0) + } + + private var maxBolus: Double { + max(1, history.boluses.map(\.units).max() ?? 0) + } + + private func y(basal rate: Double) -> Double { rate / maxBasal * Self.basalTop } + private func y(bolus units: Double) -> Double { max(1.5, units / maxBolus * (Self.insulinTop - 4)) } + + private var gaps: [DateInterval] { DayAxis.gaps(in: history.glucose, window: window, until: now) } + + /// Labels closer than this to the previous label are dropped so they don't overprint; the marks still draw. + private var labelSpacing: TimeInterval { window.duration / 7 } + + private func spacedIDs(_ items: [T], date: (T) -> Date, id: (T) -> String) -> Set { + var kept = Set() + var last: Date? + for item in items.sorted(by: { date($0) < date($1) }) { + if let last, date(item).timeIntervalSince(last) < labelSpacing { continue } + kept.insert(id(item)) + last = date(item) + } + return kept + } + + private var labelledCarbs: Set { spacedIDs(history.carbs, date: \.date, id: \.id) } + private var labelledBoluses: Set { spacedIDs(history.boluses.filter { !$0.automatic }, date: \.date, id: \.id) } + + var body: some View { + VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { + chart + .frame(height: height) + if let message = DayAxis.gapMessage(gaps, window: window, until: now), history.source == .loop || !history.glucose.isEmpty { + Text(message) + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(LoopDesign.Palette.inkMuted) + } + } + } + + private var chart: some View { + Chart { + // Quarter-day rules + ForEach(DayAxis.quarterDayMarks(in: window), id: \.self) { mark in + RuleMark(x: .value("Time", mark)) + .foregroundStyle(P.grid) + .lineStyle(StrokeStyle(lineWidth: 1)) + } + + // Glucose lane + ForEach(Array(targetBands.enumerated()), id: \.offset) { _, band in + RectangleMark(xStart: .value("Start", band.start), xEnd: .value("End", band.end), + yStart: .value("Low", y(glucose: band.range.lowerBound)), yEnd: .value("High", y(glucose: band.range.upperBound))) + .foregroundStyle(P.targetBand) + } + ForEach(Array(history.glucose.enumerated()), id: \.offset) { _, point in + PointMark(x: .value("Time", point.date), y: .value("Glucose", y(glucose: point.mgdl))) + .symbolSize(10) + .foregroundStyle(P.glucose) + } + + // Carb markers + let carbLabels = labelledCarbs + ForEach(history.carbs) { carb in + PointMark(x: .value("Time", carb.date), y: .value("Carbs", Self.carbLane)) + .symbolSize(60) + .foregroundStyle(P.carbs) + .annotation(position: .trailing, spacing: 2) { + if carbLabels.contains(carb.id) { + Text(LoopFormat.grams(carb.grams)) + .font(LoopDesign.Typeface.caption) + .foregroundStyle(P.carbsInk) + } + } + } + + // Delivered basal, edged, then the schedule dashed over it + // Draw each recorded segment independently; a gap must not become an interpolated delivery area. + ForEach(Array(history.basal.enumerated()), id: \.offset) { _, segment in + RectangleMark(xStart: .value("Start", segment.start), xEnd: .value("End", segment.end), + yStart: .value("Base", 0), yEnd: .value("Basal", y(basal: segment.rate))) + .foregroundStyle(P.basal) + RuleMark(xStart: .value("Start", segment.start), xEnd: .value("End", segment.end), y: .value("Basal", y(basal: segment.rate))) + .foregroundStyle(P.basalEdge) + .lineStyle(StrokeStyle(lineWidth: 1.5)) + } + ForEach(Array(history.scheduledBasal.enumerated()), id: \.offset) { _, value in + RuleMark(xStart: .value("Start", value.start), xEnd: .value("End", value.end), y: .value("Scheduled", y(basal: value.rate))) + .foregroundStyle(P.basalScheduled) + .lineStyle(StrokeStyle(lineWidth: 1, dash: [3, 3])) + } + + // Boluses over basal: solid for manual with a label, outlined for automatic + let bolusLabels = labelledBoluses + ForEach(history.boluses) { bolus in + if bolus.automatic { + RectangleMark(x: .value("Time", bolus.date), yStart: .value("Base", 0), yEnd: .value("Bolus", y(bolus: bolus.units)), width: .fixed(5)) + .foregroundStyle(P.insulin) + RectangleMark(x: .value("Time", bolus.date), yStart: .value("Base", 0.6), yEnd: .value("Bolus", max(0.6, y(bolus: bolus.units) - 0.6)), width: .fixed(2)) + .foregroundStyle(P.surfaceRaised) + } else { + RectangleMark(x: .value("Time", bolus.date), yStart: .value("Base", 0), yEnd: .value("Bolus", y(bolus: bolus.units)), width: .fixed(5)) + .foregroundStyle(P.insulin) + .annotation(position: .top, spacing: 2) { + if bolusLabels.contains(bolus.id) { + Text(String(format: "%.1f", bolus.units)) + .font(LoopDesign.Typeface.caption) + .foregroundStyle(P.insulinInk) + } + } + } + } + + // Now + if window.contains(now) { + RuleMark(x: .value("Now", now)) + .foregroundStyle(P.inkMuted) + .lineStyle(StrokeStyle(lineWidth: 1, dash: [2, 3])) + } + + if let selection { + RuleMark(x: .value("Selected", selection)) + .foregroundStyle(P.ink.opacity(0.6)) + .lineStyle(StrokeStyle(lineWidth: 1)) + } + } + .chartXScale(domain: window.start...window.end) + .chartYScale(domain: 0...104) + .chartXAxis { + AxisMarks(values: DayAxis.quarterDayMarks(in: window)) { value in + AxisValueLabel { + if let date = value.as(Date.self) { + Text(DayAxis.hourLabel(date)) + } + } + .font(LoopDesign.Typeface.caption) + .foregroundStyle(P.inkMuted) + } + } + .chartYAxis { + AxisMarks(position: .leading, values: unit.dayTicks.map { y(glucose: unit.mgdl($0)) }) { value in + AxisGridLine().foregroundStyle(P.grid) + AxisValueLabel { + if let mapped = value.as(Double.self), let tick = unit.dayTicks.first(where: { abs(y(glucose: unit.mgdl($0)) - mapped) < 0.01 }) { + Text(tick.formatted()) + } + } + .font(LoopDesign.Typeface.caption) + .foregroundStyle(P.inkMuted) + } + } + .chartOverlay { proxy in + ScrubOverlay(proxy: proxy, selection: $selection, clampTo: window) + } + .overlay(alignment: .top) { + if let selection { + ScrubCallout(rows: scrubRows(at: selection)) + .padding(.top, 2) + .allowsHitTesting(false) + } + } + .accessibilityElement(children: .ignore) + .accessibilityLabel(accessibilitySummary) + } + + private func scrubRows(at date: Date) -> [ScrubCallout.Row] { + var rows: [ScrubCallout.Row] = [.init(label: nil, value: LoopFormat.time(date), color: P.ink)] + if let glucose = nearest(history.glucose.map { ($0.date, $0.mgdl) }, to: date, within: 10 * 60) { + rows.append(.init(label: "Glucose", value: "\(unit.format(glucose)) \(unit.unitName)", color: P.glucoseInk)) + } + if let iob = nearest(history.iob.map { ($0.date, $0.value) }, to: date, within: 10 * 60) { + rows.append(.init(label: "IOB", value: LoopFormat.doseUnits(iob), color: P.insulinInk)) + } + if let cob = nearest(history.cob.map { ($0.date, $0.value) }, to: date, within: 10 * 60) { + rows.append(.init(label: "COB", value: LoopFormat.grams(cob), color: P.carbsInk)) + } + if let segment = LoopHistoryMath.basalRate(at: date, in: history.basal) { + let value = segment.kind == .suspended ? "Suspended" : LoopFormat.rate(segment.rate) + rows.append(.init(label: "Basal", value: value, color: P.ink)) + } + if let bolus = history.boluses.min(by: { abs($0.date.timeIntervalSince(date)) < abs($1.date.timeIntervalSince(date)) }), + abs(bolus.date.timeIntervalSince(date)) < 5 * 60 { + rows.append(.init(label: bolus.automatic ? "Automatic bolus" : "Bolus", value: LoopFormat.doseUnits(bolus.units), color: P.insulinInk)) + } + return rows + } + + private var accessibilitySummary: String { + var parts = ["Insulin timeline, \(LoopFormat.weekdayDay(window.start))"] + parts.append("bolus \(LoopFormat.totalUnits(history.bolusUnits))") + parts.append("basal \(LoopFormat.totalUnits(history.basalUnits))") + parts.append("carbs \(LoopFormat.grams(history.carbGrams))") + if let last = history.glucose.last { + parts.append("latest glucose \(unit.format(last.mgdl)) \(unit.unitName)") + } + return parts.joined(separator: ", ") + } +} + +func nearest(_ values: [(Date, Double)], to date: Date, within limit: TimeInterval) -> Double? { + guard let best = values.min(by: { abs($0.0.timeIntervalSince(date)) < abs($1.0.timeIntervalSince(date)) }), + abs(best.0.timeIntervalSince(date)) <= limit else { + return nil + } + return best.1 +} + +// MARK: - Scrubbing + +/// Touch and hold then drag to scrub; a plain swipe still scrolls the page. +/// +/// A UIKit long-press recogniser is used because a SwiftUI long-press-then-drag gesture inside a table cell +/// takes every drag that starts on the chart, so the page couldn't scroll past it. +struct ScrubOverlay: View { + let proxy: ChartProxy + @Binding var selection: Date? + let clampTo: DateInterval + + var body: some View { + GeometryReader { geometry in + if #available(iOS 18.0, *) { + Color.clear + .contentShape(Rectangle()) + .gesture(ScrubPressRecognizer { location in + update(location, in: geometry) + } onEnd: { + selection = nil + }) + } else { + Color.clear + } + } + } + + private func update(_ location: CGPoint, in geometry: GeometryProxy) { + guard let frame = proxy.plotFrame else { return } + let origin = geometry[frame].origin + if let date: Date = proxy.value(atX: location.x - origin.x) { + selection = min(max(date, clampTo.start), clampTo.end) + } + } +} + +@available(iOS 18.0, *) +private struct ScrubPressRecognizer: UIGestureRecognizerRepresentable { + let onChange: (CGPoint) -> Void + let onEnd: () -> Void + + func makeUIGestureRecognizer(context: Context) -> UILongPressGestureRecognizer { + let recognizer = UILongPressGestureRecognizer() + recognizer.minimumPressDuration = 0.3 + recognizer.allowableMovement = 12 + return recognizer + } + + func handleUIGestureRecognizerAction(_ recognizer: UILongPressGestureRecognizer, context: Context) { + switch recognizer.state { + case .began, .changed: + onChange(context.converter.localLocation) + case .ended, .cancelled, .failed: + onEnd() + default: + break + } + } +} + +struct ScrubCallout: View { + struct Row: Hashable { + let label: String? + let value: String + let color: Color + } + + let rows: [Row] + + var body: some View { + VStack(alignment: .leading, spacing: 2) { + ForEach(rows, id: \.self) { row in + HStack(spacing: LoopDesign.Space.s1) { + if let label = row.label { + Text(label).foregroundStyle(P.inkMuted) + } + Text(row.value).foregroundStyle(row.color).fontWeight(.semibold) + } + } + } + .font(LoopDesign.Typeface.footnote.monospacedDigit()) + .padding(.horizontal, LoopDesign.Space.s2) + .padding(.vertical, LoopDesign.Space.s1) + .background(P.surfaceRaised, in: RoundedRectangle(cornerRadius: LoopDesign.Radius.sm)) + .overlay(RoundedRectangle(cornerRadius: LoopDesign.Radius.sm).strokeBorder(P.separator)) + } +} + +// MARK: - Prediction + +/// The last three hours of readings and Loop's dashed prediction for the next three. +struct PredictionChartView: View { + let readings: [GlucosePoint] + let prediction: [GlucosePoint] + let unit: GlucoseUnitStyle + let targetBands: [TargetBand] + var now: Date = Date() + var height: CGFloat = 150 + + @State private var selection: Date? + + private var window: DateInterval { + DateInterval(start: now.addingTimeInterval(-3 * 3600), end: now.addingTimeInterval(3 * 3600)) + } + + private func clamp(_ mgdl: Double) -> Double { + min(max(unit.value(mgdl), unit.dayDomain.lowerBound), unit.dayDomain.upperBound) + } + + private var futurePrediction: [GlucosePoint] { + prediction.filter { $0.date >= now.addingTimeInterval(-5 * 60) && $0.date <= window.end } + } + + var body: some View { + Chart { + ForEach(Array(targetBands.enumerated()), id: \.offset) { _, band in + RectangleMark(xStart: .value("Start", band.start), xEnd: .value("End", band.end), + yStart: .value("Low", clamp(band.range.lowerBound)), yEnd: .value("High", clamp(band.range.upperBound))) + .foregroundStyle(P.targetBand) + } + ForEach(Array(readings.filter { window.contains($0.date) }.enumerated()), id: \.offset) { _, point in + PointMark(x: .value("Time", point.date), y: .value("Glucose", clamp(point.mgdl))) + .symbolSize(12) + .foregroundStyle(P.glucose) + } + ForEach(Array(futurePrediction.enumerated()), id: \.offset) { index, point in + LineMark(x: .value("Time", point.date), y: .value("Predicted", clamp(point.mgdl)), series: .value("Series", "prediction")) + .foregroundStyle(P.glucose) + .lineStyle(StrokeStyle(lineWidth: 1.5, dash: [4, 3])) + .annotation(position: .topTrailing, spacing: 0) { + if index == futurePrediction.count - 1 { + Text(unit.format(point.mgdl)) + .font(LoopDesign.Typeface.caption.weight(.semibold)) + .foregroundStyle(P.ink) + } + } + } + RuleMark(x: .value("Now", now)) + .foregroundStyle(P.inkMuted) + .lineStyle(StrokeStyle(lineWidth: 1, dash: [2, 3])) + if let selection { + RuleMark(x: .value("Selected", selection)) + .foregroundStyle(P.ink.opacity(0.6)) + } + } + .frame(height: height) + .chartXScale(domain: window.start...window.end) + .chartYScale(domain: unit.dayDomain) + .chartXAxis { + AxisMarks(values: [window.start, now, window.end]) { value in + AxisGridLine().foregroundStyle(P.grid) + AxisValueLabel { + if let date = value.as(Date.self) { + Text(abs(date.timeIntervalSince(now)) < 60 ? "now" : LoopFormat.time(date)) + } + } + .font(LoopDesign.Typeface.caption) + .foregroundStyle(P.inkMuted) + } + } + .chartYAxis { + AxisMarks(position: .leading, values: unit.dayTicks) { _ in + AxisGridLine().foregroundStyle(P.grid) + AxisValueLabel().font(LoopDesign.Typeface.caption).foregroundStyle(P.inkMuted) + } + } + .chartOverlay { proxy in + ScrubOverlay(proxy: proxy, selection: $selection, clampTo: window) + } + .overlay(alignment: .top) { + if let selection { + ScrubCallout(rows: scrubRows(at: selection)).allowsHitTesting(false) + } + } + .accessibilityElement(children: .ignore) + .accessibilityLabel(accessibilitySummary) + } + + private func scrubRows(at date: Date) -> [ScrubCallout.Row] { + var rows: [ScrubCallout.Row] = [.init(label: nil, value: LoopFormat.time(date), color: P.ink)] + let source = date <= now ? readings : prediction + if let value = nearest(source.map { ($0.date, $0.mgdl) }, to: date, within: 10 * 60) { + rows.append(.init(label: date <= now ? "Glucose" : "Predicted", value: "\(unit.format(value)) \(unit.unitName)", color: P.glucoseInk)) + } + return rows + } + + private var accessibilitySummary: String { + guard let last = futurePrediction.last else { return "Glucose prediction unavailable" } + return "Loop predicts \(unit.format(last.mgdl)) \(unit.unitName) by \(LoopFormat.time(last.date))" + } +} + +// MARK: - IOB and COB + +/// Insulin and carbs on board over the same window, each against its own coloured axis. +struct IOBCOBChartView: View { + let iob: [TimedValue] + let cob: [TimedValue] + let window: DateInterval + var now: Date = Date() + var height: CGFloat = 140 + + @State private var selection: Date? + + private var iobMax: Double { max(1, (iob.map(\.value).max() ?? 0) * 1.1) } + private var iobMin: Double { min(0, (iob.map(\.value).min() ?? 0) * 1.1) } + private var cobMax: Double { max(10, (cob.map(\.value).max() ?? 0) * 1.1) } + + /// COB drawn on the IOB scale. + private func scaled(cob value: Double) -> Double { value / cobMax * iobMax } + + private var iobTicks: [Double] { + let step = Self.niceStep(iobMax / 2) + return stride(from: (iobMin / step).rounded(.down) * step, through: iobMax, by: step).map { $0 } + } + + private var cobTicks: [Double] { + let step = Self.niceStep(cobMax / 2) + return stride(from: 0, through: cobMax, by: step).map { $0 } + } + + static func niceStep(_ raw: Double) -> Double { + guard raw > 0 else { return 1 } + let magnitude = pow(10, floor(log10(raw))) + let normalized = raw / magnitude + let nice: Double = normalized <= 1 ? 1 : normalized <= 2 ? 2 : normalized <= 5 ? 5 : 10 + return nice * magnitude + } + + var body: some View { + Chart { + RuleMark(y: .value("Zero", 0)) + .foregroundStyle(P.inkMuted) + .lineStyle(StrokeStyle(lineWidth: 1)) + + ForEach(Array(cob.enumerated()), id: \.offset) { _, value in + AreaMark(x: .value("Time", value.date), yStart: .value("Base", 0), yEnd: .value("COB", scaled(cob: value.value)), series: .value("Series", "cob-fill")) + .foregroundStyle(P.carbs.opacity(0.14)) + LineMark(x: .value("Time", value.date), y: .value("COB", scaled(cob: value.value)), series: .value("Series", value.date > now ? "cob-projected" : "cob")) + .foregroundStyle(P.carbs) + .lineStyle(StrokeStyle(lineWidth: 1.5, dash: value.date > now ? [4, 3] : [])) + } + ForEach(Array(iob.enumerated()), id: \.offset) { _, value in + AreaMark(x: .value("Time", value.date), yStart: .value("Base", 0), yEnd: .value("IOB", value.value), series: .value("Series", "iob-fill")) + .foregroundStyle(P.insulin.opacity(0.14)) + LineMark(x: .value("Time", value.date), y: .value("IOB", value.value), series: .value("Series", value.date > now ? "iob-projected" : "iob")) + .foregroundStyle(P.insulin) + .lineStyle(StrokeStyle(lineWidth: 1.5, dash: value.date > now ? [4, 3] : [])) + } + if window.contains(now) { + RuleMark(x: .value("Now", now)) + .foregroundStyle(P.inkMuted) + .lineStyle(StrokeStyle(lineWidth: 1, dash: [1, 3])) + } + if let selection { + RuleMark(x: .value("Selected", selection)).foregroundStyle(P.ink.opacity(0.6)) + } + } + .frame(height: height) + .chartXScale(domain: window.start...window.end) + .chartYScale(domain: iobMin...iobMax) + .chartXAxis { + AxisMarks(values: DayAxis.quarterDayMarks(in: window)) { value in + AxisGridLine().foregroundStyle(P.grid) + AxisValueLabel { + if let date = value.as(Date.self) { Text(DayAxis.hourLabel(date)) } + } + .font(LoopDesign.Typeface.caption) + .foregroundStyle(P.inkMuted) + } + } + .chartYAxis { + AxisMarks(position: .leading, values: iobTicks) { value in + AxisGridLine().foregroundStyle(P.grid) + AxisValueLabel { + if let v = value.as(Double.self) { Text(v.formatted(.number.precision(.fractionLength(0...1)))) } + } + .font(LoopDesign.Typeface.caption) + .foregroundStyle(P.insulinInk) + } + AxisMarks(position: .trailing, values: cobTicks.map { scaled(cob: $0) }) { value in + AxisValueLabel { + if let v = value.as(Double.self) { Text((v / iobMax * cobMax).formatted(.number.precision(.fractionLength(0)))) } + } + .font(LoopDesign.Typeface.caption) + .foregroundStyle(P.carbsInk) + } + } + .chartOverlay { proxy in + ScrubOverlay(proxy: proxy, selection: $selection, clampTo: window) + } + .overlay(alignment: .top) { + if let selection { + ScrubCallout(rows: scrubRows(at: selection)).allowsHitTesting(false) + } + } + .accessibilityElement(children: .ignore) + .accessibilityLabel(accessibilitySummary) + } + + private func scrubRows(at date: Date) -> [ScrubCallout.Row] { + var rows: [ScrubCallout.Row] = [.init(label: nil, value: LoopFormat.time(date), color: P.ink)] + if let value = nearest(iob.map { ($0.date, $0.value) }, to: date, within: 10 * 60) { + rows.append(.init(label: "IOB", value: LoopFormat.doseUnits(value), color: P.insulinInk)) + } + if let value = nearest(cob.map { ($0.date, $0.value) }, to: date, within: 10 * 60) { + rows.append(.init(label: "COB", value: LoopFormat.grams(value), color: P.carbsInk)) + } + return rows + } + + private var accessibilitySummary: String { + let iobNow = nearest(iob.map { ($0.date, $0.value) }, to: now, within: 10 * 60) + let cobNow = nearest(cob.map { ($0.date, $0.value) }, to: now, within: 10 * 60) + return "Active insulin \(iobNow.map(LoopFormat.doseUnits) ?? "unknown"), active carbs \(cobNow.map(LoopFormat.grams) ?? "unknown")" + } +} diff --git a/Loop/Redesign/DayDetailView.swift b/Loop/Redesign/DayDetailView.swift new file mode 100644 index 0000000000..f7bf3ebb35 --- /dev/null +++ b/Loop/Redesign/DayDetailView.swift @@ -0,0 +1,127 @@ +// +// DayDetailView.swift +// Loop +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import SwiftUI + +private typealias P = LoopDesign.Palette + +/// One full day on InsulinTimeline with IOB and COB under it, stepping a day at a time. +struct DayDetailView: View { + let provider: LoopHistoryProvider + + @State private var day: Date + @State private var history: DayHistory? + @State private var now = Date() + @State private var loadError: String? + + init(provider: LoopHistoryProvider, day: Date) { + self.provider = provider + _day = State(initialValue: Calendar.current.startOfDay(for: day)) + } + + private var window: DateInterval { + DateInterval(start: day, end: Calendar.current.date(byAdding: .day, value: 1, to: day)!) + } + + private var isToday: Bool { Calendar.current.isDate(day, inSameDayAs: now) } + + var body: some View { + ScrollView { + VStack(alignment: .leading, spacing: LoopDesign.Space.s6) { + dayStepper + if let history { + LoopCard { + CardHeader(title: "Insulin") { + HStack(spacing: 4) { + Text(LoopFormat.totalUnits(history.totalUnits)).foregroundStyle(P.insulinInk) + Text("·") + Text(LoopFormat.grams(history.carbGrams)).foregroundStyle(P.carbsInk) + } + } + InsulinTimelineView(history: history, unit: provider.unitStyle, targetBands: provider.glucoseTargetBands(in: history.window), + now: now, height: 300) + DayTotalsTiles(history: history) + ChartLegend(items: DayTotalsTiles.legend) + if history.source == .health { + Text("From Apple Health: Loop keeps 7 days, so this day has no temp basal or schedule detail.") + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + } + if #available(iOS 18.0, *) { + Text("Touch and hold a chart to see exact values.") + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + } + } + LoopCard { + CardHeader(title: "Active insulin and carbs") + if history.iob.isEmpty && history.cob.isEmpty { + ChartPlaceholder(message: history.source == .health + ? "Loop only works out active insulin and carbs for the days it keeps" + : "No active insulin or carbs on this day") + } else { + IOBCOBChartView(iob: history.iob, cob: history.cob, window: window, now: now) + } + ChartLegend(items: [ + LegendItem(swatch: .solid(P.insulin), label: "IOB (U, left)"), + LegendItem(swatch: .solid(P.carbs), label: "COB (g, right)"), + LegendItem(swatch: .dash(P.inkMuted), label: "Projected"), + ]) + } + } else if let loadError { + ChartPlaceholder(message: "Couldn't load this day: \(loadError)") + } else { + ProgressView() + .frame(maxWidth: .infinity, minHeight: 300) + } + } + .padding(LoopDesign.Space.s4) + } + .background(P.surface) + .navigationTitle(isToday ? "Today" : LoopFormat.weekdayDay(day)) + .navigationBarTitleDisplayMode(.inline) + .task(id: day) { + now = Date() + let requestedWindow = window + history = nil + loadError = nil + do { + let result = try await provider.dayHistory(requestedWindow) + guard !Task.isCancelled, window == requestedWindow else { return } + history = result + } catch { + guard !Task.isCancelled, window == requestedWindow else { return } + loadError = error.localizedDescription + } + } + } + + private var dayStepper: some View { + HStack { + Button { + day = Calendar.current.date(byAdding: .day, value: -1, to: day)! + } label: { + Image(systemName: "chevron.left").frame(width: 44, height: 44) + } + .accessibilityLabel("Previous day") + Spacer() + Text(LoopFormat.day(day)) + .font(LoopDesign.Typeface.headline) + .foregroundStyle(P.ink) + Spacer() + Button { + day = Calendar.current.date(byAdding: .day, value: 1, to: day)! + } label: { + Image(systemName: "chevron.right").frame(width: 44, height: 44) + } + .disabled(isToday) + .accessibilityLabel("Next day") + } + .font(.body.weight(.semibold)) + .foregroundStyle(P.accentInk) + } +} diff --git a/Loop/Redesign/LogbookScreen.swift b/Loop/Redesign/LogbookScreen.swift new file mode 100644 index 0000000000..b52e1a5da9 --- /dev/null +++ b/Loop/Redesign/LogbookScreen.swift @@ -0,0 +1,486 @@ +// +// LogbookScreen.swift +// Loop +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import SwiftUI +import LoopKit +import LoopKitUI + +private typealias P = LoopDesign.Palette + +/// One row of the logbook. +struct LogEntry: Identifiable { + enum Filter: String, CaseIterable, Identifiable { + case all = "All" + case bolus = "Bolus" + case basal = "Basal" + case carbs = "Carbs" + case loop = "Loop" + var id: String { rawValue } + } + + enum Action { + case deleteCarbs(StoredCarbEntry) + case deleteDose(DoseEntry) + } + + let id: String + let date: Date + let title: String + let subtitle: String + let amount: String + let amountColor: Color + let detail: String + let icon: String + let iconFill: Color + let filters: Set + var basalChanges: [BasalSegment] = [] + var edit: StoredCarbEntry? = nil + var delete: Action? = nil + + func matches(_ filter: Filter) -> Bool { + filter == .all || filters.contains(filter) + } +} + +struct LogDay: Identifiable { + let day: Date + let entries: [LogEntry] + let insulin: Double + let carbs: Double + var id: Date { day } +} + +@MainActor +final class LogbookModel: ObservableObject { + @Published private(set) var days: [LogDay] = [] + @Published private(set) var loaded = false + @Published var filter: LogEntry.Filter = .all + @Published var error: String? + @Published private(set) var loadError: String? + @Published private(set) var carbEditingAllowed = false + + let provider: LoopHistoryProvider + private var loadTask: Task? + + init(provider: LoopHistoryProvider) { + self.provider = provider + } + + func reload() { + loadTask?.cancel() + carbEditingAllowed = provider.allowsCarbEditing + loadError = nil + loadTask = Task { + do { + let result = try await Self.build(provider: provider) + guard !Task.isCancelled else { return } + self.days = result + } catch { + guard !Task.isCancelled else { return } + self.days = [] + self.loadError = error.localizedDescription + } + self.loaded = true + } + } + + func perform(_ action: LogEntry.Action) { + Task { + do { + switch action { + case .deleteCarbs(let entry): + guard provider.allowsCarbEditing else { return } + try await provider.delete(carb: entry) + case .deleteDose(let dose): try await provider.delete(dose: dose) + } + reload() + } catch { + self.error = error.localizedDescription + } + } + } + + // MARK: Building rows + + private static func build(provider: LoopHistoryProvider, now: Date = Date()) async throws -> [LogDay] { + let calendar = Calendar.current + let start = calendar.startOfDay(for: provider.localHistoryStart.addingTimeInterval(86400)) + let interval = DateInterval(start: start, end: now) + async let historyFetch = provider.dayHistory(interval, includeOnBoard: false) + async let pumpFetch = provider.pumpEvents(since: start) + let history = try await historyFetch + let pumpEvents = try await pumpFetch + let unit = provider.unitStyle + let canDelete = FeatureFlags.entryDeletionEnabled + + return LoopHistoryMath.days(in: interval).reversed().map { day in + var entries: [LogEntry] = [] + let inDay: (Date) -> Bool = { $0 >= day.start && $0 < day.end } + let carbsToday = history.carbs.filter { inDay($0.date) } + + for bolus in history.boluses where inDay(bolus.date) { + let glucose = glucoseContext(at: bolus.date, history.glucose, unit: unit, withTrend: bolus.automatic) + var parts = [bolus.automatic ? "Loop" : "Manual"] + if !bolus.automatic, let meal = carbsToday.first(where: { abs($0.date.timeIntervalSince(bolus.date)) <= 15 * 60 }) { + parts.append(LoopFormat.grams(meal.grams)) + } + if let glucose { parts.append(glucose) } + if bolus.manuallyEntered { parts.append("logged") } + entries.append(LogEntry( + id: "bolus-\(bolus.id)", date: bolus.date, + title: bolus.automatic ? "Automatic bolus" : "Bolus", + subtitle: parts.joined(separator: " · "), + amount: LoopFormat.doseUnits(bolus.units), amountColor: P.insulinInk, + detail: LoopFormat.time(bolus.date), + icon: "plus", iconFill: P.insulin, + filters: bolus.automatic ? [.bolus, .loop] : [.bolus], + delete: canDelete && bolus.manuallyEntered ? bolus.dose.map { .deleteDose($0) } : nil)) + } + + for carb in carbsToday { + var parts = [carb.createdByLoop ? "Manual" : "Health"] + if let food = carb.foodType, !food.isEmpty { parts.append(food) } + if let hours = carb.absorptionHours { parts.append("absorbs over \(hours.formatted(.number.precision(.fractionLength(0...1)))) h") } + let editable = carb.createdByLoop && provider.allowsCarbEditing ? carb.entry : nil + entries.append(LogEntry( + id: "carbs-\(carb.id)", date: carb.date, + title: "Carbs", subtitle: parts.joined(separator: " · "), + amount: LoopFormat.grams(carb.grams), amountColor: P.carbsInk, + detail: LoopFormat.time(carb.date), + icon: "fork.knife", iconFill: P.carbs, filters: [.carbs], + edit: editable, + delete: canDelete ? editable.map { .deleteCarbs($0) } : nil)) + } + + let segments = history.basal.compactMap { $0.clamped(to: day) } + let automaticTemps = segments.filter { $0.kind == .temp && $0.automatic } + if let latest = automaticTemps.last { + let net = automaticTemps.reduce(0) { $0 + $1.netUnits } + let count = automaticTemps.count + entries.append(LogEntry( + id: "basal-\(day.start.timeIntervalSince1970)", date: latest.start, + title: "Basal adjustments", + subtitle: "Loop · \(count) change\(count == 1 ? "" : "s") · tap to list", + amount: LoopFormat.signed(net, decimals: 1) + " U", amountColor: P.insulinInk, + detail: "vs plan", + icon: "waveform.path.ecg", iconFill: P.basalEdge, filters: [.basal, .loop], + basalChanges: automaticTemps.reversed())) + } + for temp in segments where temp.kind == .temp && !temp.automatic { + entries.append(LogEntry( + id: "temp-\(temp.start.timeIntervalSince1970)", date: temp.start, + title: "Temp basal", + subtitle: "Manual · \(describe(temp))", + amount: LoopFormat.rate(temp.rate), amountColor: P.insulinInk, + detail: LoopFormat.time(temp.start), + icon: "waveform.path.ecg", iconFill: P.basalEdge, filters: [.basal])) + } + for suspend in segments where suspend.kind == .suspended { + var parts = [suspend.automatic ? "Loop" : "Manual", LoopFormat.duration(suspend.end.timeIntervalSince(suspend.start))] + if let glucose = glucoseContext(at: suspend.start, history.glucose, unit: unit, withTrend: false) { parts.append(glucose) } + entries.append(LogEntry( + id: "suspend-\(suspend.start.timeIntervalSince1970)", date: suspend.start, + title: "Basal suspended", subtitle: parts.joined(separator: " · "), + amount: "0 U/h", amountColor: P.ink, + detail: LoopFormat.time(suspend.start), + icon: "pause.fill", iconFill: P.statusWarning, + filters: suspend.automatic ? [.basal, .loop] : [.basal])) + } + + for event in pumpEvents where inDay(event.date) { + let title: String + switch event.kind { + case .siteChange(let name): title = name + case .alarm(let name): title = name + case .resume: title = "Basal resumed" + } + entries.append(LogEntry( + id: "pump-\(event.id)", date: event.date, + title: title, subtitle: "Pump", + amount: "", amountColor: P.ink, + detail: LoopFormat.time(event.date), + icon: "circle.dashed", iconFill: P.inkMuted.opacity(0.5), filters: [])) + } + + let insulin = segments.reduce(0) { $0 + $1.units } + history.boluses.filter { inDay($0.date) }.reduce(0) { $0 + $1.units } + return LogDay(day: day.start, entries: entries.sorted { $0.date > $1.date }, insulin: insulin, + carbs: carbsToday.reduce(0) { $0 + $1.grams }) + } + } + + static func describe(_ segment: BasalSegment) -> String { + var text = "\(LoopFormat.rate(segment.rate)) for \(LoopFormat.duration(segment.end.timeIntervalSince(segment.start)))" + if let scheduled = segment.scheduledRate { + text += String(format: " (scheduled %.2f)", scheduled) + } + return text + } + + /// "glucose 7.5", or "glucose 11.0 rising" for Loop's own doses. + private static func glucoseContext(at date: Date, _ readings: [GlucosePoint], unit: GlucoseUnitStyle, withTrend: Bool) -> String? { + guard let reading = readings.last(where: { $0.date <= date.addingTimeInterval(60) }), date.timeIntervalSince(reading.date) <= 10 * 60 else { + return nil + } + var text = "glucose \(unit.format(reading.mgdl))" + if withTrend, let earlier = readings.last(where: { $0.date <= reading.date.addingTimeInterval(-14 * 60) }), + reading.date.timeIntervalSince(earlier.date) <= 20 * 60 { + let perFifteen = (reading.mgdl - earlier.mgdl) / reading.date.timeIntervalSince(earlier.date) * 900 + if perFifteen > 10 { text += " rising" } else if perFifteen < -10 { text += " falling" } + } + return text + } +} + +// MARK: - Screen + +struct LogbookView: View { + @StateObject private var model: LogbookModel + @State private var path: [Route] = [] + private let deviceManager: DeviceDataManager + + enum Route: Hashable { + case basal(String) + case editCarbs(CarbEditRoute) + } + + struct CarbEditRoute: Hashable { + let id = UUID() + let entry: StoredCarbEntry + + static func == (lhs: Self, rhs: Self) -> Bool { lhs.id == rhs.id } + func hash(into hasher: inout Hasher) { hasher.combine(id) } + } + + init(provider: LoopHistoryProvider, deviceManager: DeviceDataManager) { + _model = StateObject(wrappedValue: LogbookModel(provider: provider)) + self.deviceManager = deviceManager + } + + private var visibleDays: [LogDay] { + model.days.map { day in + LogDay(day: day.day, entries: day.entries.filter { $0.matches(model.filter) }, insulin: day.insulin, carbs: day.carbs) + } + } + + var body: some View { + NavigationStack(path: $path) { + List { + Section { + chips + .listRowInsets(EdgeInsets()) + .listRowBackground(Color.clear) + } + if let error = model.loadError { + Text("Couldn't load Logbook: \(error)").foregroundStyle(P.criticalInk) + Button("Retry") { model.reload() } + } else if model.loaded && model.days.allSatisfy({ $0.entries.isEmpty }) { + Text("Nothing logged in the last 7 days.") + .foregroundStyle(P.inkMuted) + } + ForEach(visibleDays) { day in + Section { + if day.entries.isEmpty { + Text(model.filter != .all ? "Nothing to show for this filter" : day.insulin > 0 ? "Scheduled basal only" : "Nothing logged") + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + } + ForEach(day.entries) { entry in + row(entry) + } + } header: { + dayHeader(day) + } + } + Section { + EmptyView() + } footer: { + Text("Loop keeps the last 7 days on this phone. Older doses and carbs are in Apple Health and on the Trends tab.") + } + } + .listStyle(.insetGrouped) + .scrollContentBackground(.hidden) + .background(P.surface) + .navigationTitle("Logbook") + .refreshable { model.reload() } + .overlay { + if !model.loaded { ProgressView() } + } + .navigationDestination(for: Route.self) { route in + destination(route) + } + } + .onAppear { model.reload() } + .onReceive(NotificationCenter.default.publisher(for: .LoopDataUpdated).debounce(for: .seconds(2), scheduler: RunLoop.main)) { _ in + model.reload() + } + .alert("Couldn't delete", isPresented: Binding(get: { model.error != nil }, set: { if !$0 { model.error = nil } })) { + Button("OK", role: .cancel) {} + } message: { + Text(model.error ?? "") + } + } + + private var chips: some View { + ScrollView(.horizontal, showsIndicators: false) { + HStack(spacing: LoopDesign.Space.s2) { + ForEach(LogEntry.Filter.allCases) { filter in + Button { + model.filter = filter + } label: { + Text(filter.rawValue) + .font(LoopDesign.Typeface.footnote.weight(.semibold)) + .padding(.horizontal, 12) + .padding(.vertical, 6) + .foregroundStyle(model.filter == filter ? Color(uiColor: .systemBackground) : P.ink) + .background(model.filter == filter ? P.ink : P.surfaceSunken, in: Capsule()) + } + .buttonStyle(.plain) + .accessibilityAddTraits(model.filter == filter ? .isSelected : []) + } + } + .padding(.vertical, LoopDesign.Space.s1) + } + } + + private func dayHeader(_ day: LogDay) -> some View { + let calendar = Calendar.current + let prefix = calendar.isDateInToday(day.day) ? "Today · " : calendar.isDateInYesterday(day.day) ? "Yesterday · " : "" + return HStack(alignment: .firstTextBaseline) { + Text(prefix + LoopFormat.weekdayDay(day.day)) + .font(LoopDesign.Typeface.headline) + .foregroundStyle(P.ink) + Spacer() + Text(LoopFormat.totalUnits(day.insulin)).foregroundStyle(P.insulinInk) + Text("·").foregroundStyle(P.inkMuted) + Text(LoopFormat.grams(day.carbs)).foregroundStyle(P.carbsInk) + } + .font(LoopDesign.Typeface.footnote) + .textCase(nil) + .accessibilityElement(children: .combine) + } + + @ViewBuilder + private func row(_ entry: LogEntry) -> some View { + let content = HStack(spacing: LoopDesign.Space.s3) { + IconTile(systemName: entry.icon, fill: entry.iconFill) + VStack(alignment: .leading, spacing: 2) { + Text(entry.title) + .font(LoopDesign.Typeface.body) + .foregroundStyle(P.ink) + Text(entry.subtitle) + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + } + Spacer(minLength: LoopDesign.Space.s2) + VStack(alignment: .trailing, spacing: 2) { + if !entry.amount.isEmpty { + Text(entry.amount) + .font(LoopDesign.Typeface.body.weight(.semibold).monospacedDigit()) + .foregroundStyle(entry.amountColor) + } + Text(entry.detail) + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + } + } + .accessibilityElement(children: .combine) + + if !entry.basalChanges.isEmpty { + NavigationLink(value: Route.basal(entry.id)) { content } + } else { + content + .swipeActions(edge: .trailing, allowsFullSwipe: false) { + if let action = entry.delete, canPerform(action) { + Button(role: .destructive) { model.perform(action) } label: { Label("Delete", systemImage: "trash") } + } + if let carb = entry.edit, model.carbEditingAllowed { + Button { + guard model.provider.allowsCarbEditing else { return } + path.append(.editCarbs(CarbEditRoute(entry: carb))) + } label: { Label("Edit", systemImage: "pencil") } + .tint(P.accent) + } + } + } + } + + private func canPerform(_ action: LogEntry.Action) -> Bool { + switch action { + case .deleteCarbs: return model.carbEditingAllowed + case .deleteDose: return true + } + } + + @ViewBuilder + private func destination(_ route: Route) -> some View { + switch route { + case .basal(let id): + if let entry = model.days.flatMap(\.entries).first(where: { $0.id == id }) { + BasalChangesList(changes: entry.basalChanges) + } + case .editCarbs(let route): + LogbookCarbEditor(entry: route.entry, deviceManager: deviceManager, provider: model.provider) { + path.removeAll() + model.reload() + } + } + } +} + +/// Own the draft independently of rows that refresh while the editor or its bolus screen is open. +private struct LogbookCarbEditor: View { + @StateObject private var viewModel: CarbEntryViewModel + let deviceManager: DeviceDataManager + let provider: LoopHistoryProvider + let dismiss: () -> Void + + init(entry: StoredCarbEntry, deviceManager: DeviceDataManager, provider: LoopHistoryProvider, dismiss: @escaping () -> Void) { + _viewModel = StateObject(wrappedValue: provider.carbEntryViewModel(editing: entry)) + self.deviceManager = deviceManager + self.provider = provider + self.dismiss = dismiss + } + + var body: some View { + CarbEntryView(viewModel: viewModel) + .environmentObject(deviceManager.displayGlucosePreference) + .environment(\.dismissAction, dismiss) + .navigationTitle("Edit Carb Entry") + .navigationBarTitleDisplayMode(.inline) + .onAppear { if !provider.allowsCarbEditing { dismiss() } } + // Loop posts this from its data queue; SwiftUI faults on publishers that emit off the main thread. + .onReceive(NotificationCenter.default.publisher(for: .LoopDataUpdated).receive(on: RunLoop.main)) { _ in + if !provider.allowsCarbEditing { dismiss() } + } + } +} + +/// Every basal change Loop made in a day. +struct BasalChangesList: View { + let changes: [BasalSegment] + + var body: some View { + List(Array(changes.enumerated()), id: \.offset) { _, change in + HStack { + VStack(alignment: .leading, spacing: 2) { + Text(LoopFormat.time(change.start)) + .font(LoopDesign.Typeface.body) + Text(LogbookModel.describe(change)) + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + } + Spacer() + Text(LoopFormat.signed(change.netUnits) + " U") + .font(LoopDesign.Typeface.body.weight(.semibold).monospacedDigit()) + .foregroundStyle(P.insulinInk) + } + .accessibilityElement(children: .combine) + } + .navigationTitle("Basal adjustments") + .navigationBarTitleDisplayMode(.inline) + } +} diff --git a/Loop/Redesign/LoopDesign.swift b/Loop/Redesign/LoopDesign.swift new file mode 100644 index 0000000000..560f19eaef --- /dev/null +++ b/Loop/Redesign/LoopDesign.swift @@ -0,0 +1,313 @@ +// +// LoopDesign.swift +// Loop +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import SwiftUI +import UIKit + +/// The tokens from the Loop design system (`design/project/tokens.json`). +/// +/// Quantity colours reuse Loop's existing assets (`glucose`, `insulin`, `carbs`, `fresh`, `warning`, `accent`) +/// so a DerivedAssetsOverride still recolours them. Grounds and text map onto the iOS system colours they +/// were taken from; the rest are colour sets in DerivedAssetsBase.xcassets named after their token. +enum LoopDesign { + + enum Palette { + // Grounds + static let surface = Color(uiColor: .systemGroupedBackground) + static let surfaceRaised = Color(uiColor: .secondarySystemGroupedBackground) + static let surfaceSunken = Color(uiColor: .systemGray5) + static let controlThumb = Color("control-thumb") + static let separator = Color(uiColor: .opaqueSeparator) + static let grid = Color(uiColor: .systemGray5) + + // Text + static let ink = Color(uiColor: .label) + static let inkMuted = Color("ink-muted") + static let accent = Color("accent") + static let accentInk = Color("accent-ink") + static let onFill = Color.black + + // Quantities + static let glucose = Color("glucose") + static let glucoseInk = Color("glucose-ink") + static let targetBand = Color("target-band") + static let agpOuter = Color("agp-outer") + static let agpInner = Color("agp-inner") + static let insulin = Color("insulin") + static let insulinInk = Color("insulin-ink") + static let basal = Color("basal") + static let basalEdge = Color("basal-edge") + static let basalScheduled = inkMuted + static let carbs = Color("carbs") + static let carbsInk = Color("carbs-ink") + + // Time in range ladder, top to bottom + static let rangeVeryHigh = Color("range-very-high") + static let rangeHigh = Color("range-high") + static let rangeIn = Color("range-in") + static let rangeLow = Color("range-low") + static let rangeVeryLow = Color("range-very-low") + + // Loop state + static let statusAutomated = Color("fresh") + static let statusWarning = Color("warning") + static let statusCritical = Color("status-critical") + static let criticalInk = Color("critical-ink") + } + + enum Space { + static let s1: CGFloat = 4 + static let s2: CGFloat = 8 + static let s3: CGFloat = 12 + static let s4: CGFloat = 16 + static let s6: CGFloat = 24 + static let s8: CGFloat = 32 + } + + enum Radius { + static let sm: CGFloat = 6 + static let md: CGFloat = 10 + static let lg: CGFloat = 14 + } + + /// Text styles follow Dynamic Type; the large numbers are fixed sizes in SF Pro Rounded with tabular figures. + enum Typeface { + static let glucoseHero = Font.system(size: 64, weight: .bold, design: .rounded).monospacedDigit() + static let statValue = Font.system(.title, design: .rounded).weight(.semibold).monospacedDigit() + static let statValueSmall = Font.system(.title3, design: .rounded).weight(.semibold).monospacedDigit() + static let title = Font.title.bold() + static let headline = Font.headline + static let body = Font.body + static let subhead = Font.subheadline + static let footnote = Font.footnote + static let caption = Font.caption2.weight(.medium).monospacedDigit() + } +} + +// MARK: - Card + +struct LoopCard: View { + var padding: CGFloat = LoopDesign.Space.s4 + @ViewBuilder var content: Content + + var body: some View { + VStack(alignment: .leading, spacing: LoopDesign.Space.s3) { + content + } + .padding(padding) + .frame(maxWidth: .infinity, alignment: .leading) + .background(LoopDesign.Palette.surfaceRaised, in: RoundedRectangle(cornerRadius: LoopDesign.Radius.lg, style: .continuous)) + } +} + +/// A card title with an optional trailing detail or action, as on every card in the mock-ups. +struct CardHeader: View { + let title: String + @ViewBuilder var trailing: Trailing + + var body: some View { + HStack(alignment: .firstTextBaseline) { + Text(title) + .font(LoopDesign.Typeface.headline) + .foregroundStyle(LoopDesign.Palette.ink) + .accessibilityAddTraits(.isHeader) + Spacer(minLength: LoopDesign.Space.s2) + trailing + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(LoopDesign.Palette.inkMuted) + } + } +} + +extension CardHeader where Trailing == EmptyView { + init(title: String) { + self.init(title: title) { EmptyView() } + } +} + +// MARK: - Legend + +struct LegendItem: Identifiable { + enum Swatch { + case solid(Color) + case outline(Color) + case dash(Color) + case dot(Color) + case basal + } + + let id = UUID() + let swatch: Swatch + let label: String +} + +struct ChartLegend: View { + let items: [LegendItem] + + var body: some View { + FlowLayout(spacing: LoopDesign.Space.s3, lineSpacing: LoopDesign.Space.s1) { + ForEach(items) { item in + HStack(spacing: LoopDesign.Space.s1) { + swatch(item.swatch) + Text(item.label) + } + .accessibilityElement(children: .combine) + } + } + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(LoopDesign.Palette.inkMuted) + } + + @ViewBuilder + private func swatch(_ swatch: LegendItem.Swatch) -> some View { + switch swatch { + case .solid(let color): + RoundedRectangle(cornerRadius: 2).fill(color).frame(width: 10, height: 10) + case .outline(let color): + RoundedRectangle(cornerRadius: 2).strokeBorder(color, lineWidth: 1.5).frame(width: 10, height: 10) + case .dash(let color): + Path { path in + path.move(to: CGPoint(x: 0, y: 1)) + path.addLine(to: CGPoint(x: 14, y: 1)) + } + .stroke(color, style: StrokeStyle(lineWidth: 2, dash: [4, 2])) + .frame(width: 14, height: 2) + case .dot(let color): + Circle().fill(color).frame(width: 8, height: 8) + case .basal: + VStack(spacing: 0) { + Rectangle().fill(LoopDesign.Palette.basalEdge).frame(height: 2) + Rectangle().fill(LoopDesign.Palette.basal) + } + .frame(width: 10, height: 10) + .clipShape(RoundedRectangle(cornerRadius: 2)) + } + } +} + +/// Wraps its children onto new lines, for legends and chips. +struct FlowLayout: Layout { + var spacing: CGFloat + var lineSpacing: CGFloat + + func sizeThatFits(proposal: ProposedViewSize, subviews: Subviews, cache: inout ()) -> CGSize { + let width = proposal.width ?? .infinity + var x: CGFloat = 0, y: CGFloat = 0, lineHeight: CGFloat = 0, maxX: CGFloat = 0 + for subview in subviews { + let size = subview.sizeThatFits(.unspecified) + if x > 0 && x + size.width > width { + x = 0 + y += lineHeight + lineSpacing + lineHeight = 0 + } + x += size.width + spacing + maxX = max(maxX, x - spacing) + lineHeight = max(lineHeight, size.height) + } + return CGSize(width: maxX, height: y + lineHeight) + } + + func placeSubviews(in bounds: CGRect, proposal: ProposedViewSize, subviews: Subviews, cache: inout ()) { + var x = bounds.minX, y = bounds.minY, lineHeight: CGFloat = 0 + for subview in subviews { + let size = subview.sizeThatFits(.unspecified) + if x > bounds.minX && x + size.width > bounds.maxX { + x = bounds.minX + y += lineHeight + lineSpacing + lineHeight = 0 + } + subview.place(at: CGPoint(x: x, y: y), proposal: ProposedViewSize(size)) + x += size.width + spacing + lineHeight = max(lineHeight, size.height) + } + } +} + +/// A row that stacks vertically at accessibility text sizes, so tiles and buttons keep their numbers on one line. +struct AdaptiveRow: View { + @Environment(\.dynamicTypeSize) private var typeSize + var spacing: CGFloat = LoopDesign.Space.s2 + @ViewBuilder var content: Content + + var body: some View { + let layout = typeSize.isAccessibilitySize + ? AnyLayout(VStackLayout(alignment: .leading, spacing: spacing)) + : AnyLayout(HStackLayout(spacing: spacing)) + layout { content } + } +} + +// MARK: - Pills and tiles + +struct StatusPill: View { + let text: String + var dot: Color? = nil + + var body: some View { + HStack(spacing: LoopDesign.Space.s1) { + if let dot { + Circle().fill(dot).frame(width: 8, height: 8) + } + Text(text) + .lineLimit(1) + } + .font(LoopDesign.Typeface.footnote.weight(.medium)) + .foregroundStyle(LoopDesign.Palette.ink) + .padding(.horizontal, 10) + .padding(.vertical, 5) + .background(LoopDesign.Palette.surfaceSunken, in: Capsule()) + } +} + +/// A small sunken tile with a label over a value, as used under the hero and the timeline. +struct ValueTile: View { + let label: String + @ViewBuilder var value: Value + + var body: some View { + VStack(alignment: .leading, spacing: 2) { + Text(label) + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(LoopDesign.Palette.inkMuted) + value + } + .padding(LoopDesign.Space.s3) + .frame(maxWidth: .infinity, minHeight: 64, maxHeight: .infinity, alignment: .topLeading) + .background(LoopDesign.Palette.surfaceSunken, in: RoundedRectangle(cornerRadius: LoopDesign.Radius.md, style: .continuous)) + .accessibilityElement(children: .combine) + } +} + +/// The square icon tile at the start of logbook rows. +struct IconTile: View { + let systemName: String + let fill: Color + + var body: some View { + Image(systemName: systemName) + .font(.system(size: 13, weight: .bold)) + .foregroundStyle(LoopDesign.Palette.onFill) + .frame(width: 28, height: 28) + .background(fill, in: RoundedRectangle(cornerRadius: LoopDesign.Radius.sm, style: .continuous)) + .accessibilityHidden(true) + } +} + +/// A message in place of a chart that has nothing to draw, saying why. +struct ChartPlaceholder: View { + let message: String + var height: CGFloat = 120 + + var body: some View { + Text(message) + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(LoopDesign.Palette.inkMuted) + .multilineTextAlignment(.center) + .frame(maxWidth: .infinity, minHeight: height) + .background(LoopDesign.Palette.surfaceSunken.opacity(0.5), in: RoundedRectangle(cornerRadius: LoopDesign.Radius.md)) + } +} diff --git a/Loop/Redesign/LoopHistoryMath.swift b/Loop/Redesign/LoopHistoryMath.swift new file mode 100644 index 0000000000..4ec7704577 --- /dev/null +++ b/Loop/Redesign/LoopHistoryMath.swift @@ -0,0 +1,343 @@ +// +// LoopHistoryMath.swift +// Loop +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import Foundation + +/// Pure calculations behind the Trends and Logbook screens. Nothing here touches a store. +enum LoopHistoryMath { + + // MARK: Glucose statistics + + struct GlucoseStats: Equatable { + let count: Int + let meanMgdl: Double + let sdMgdl: Double + /// Coefficient of variation, 0–1. + let cv: Double + /// Glucose management indicator, as a percentage (Bergenstal 2018). + let gmiPercent: Double + var gmiMmolMol: Double { (gmiPercent - 2.152) * 10.929 } + } + + static func glucoseStats(_ points: [GlucosePoint]) -> GlucoseStats? { + guard points.count >= 2 else { return nil } + let values = points.map(\.mgdl) + let mean = values.reduce(0, +) / Double(values.count) + let variance = values.reduce(0) { $0 + pow($1 - mean, 2) } / Double(values.count - 1) + let sd = variance.squareRoot() + return GlucoseStats(count: values.count, meanMgdl: mean, sdMgdl: sd, cv: sd / mean, gmiPercent: 3.31 + 0.02392 * mean) + } + + /// The share of the period with CGM readings, assuming one reading every 5 minutes. + static func cgmActiveFraction(_ points: [GlucosePoint], over interval: DateInterval) -> Double { + let expected = interval.duration / 300 + guard expected > 0 else { return 0 } + return min(1, Double(points.count) / expected) + } + + // MARK: Time in range + + enum RangeBand: Int, CaseIterable, Identifiable { + case veryHigh, high, inRange, low, veryLow + + var id: Int { rawValue } + + var name: String { + switch self { + case .veryHigh: return "Very high" + case .high: return "High" + case .inRange: return "In range" + case .low: return "Low" + case .veryLow: return "Very low" + } + } + + /// Consensus thresholds, in the person's unit. + func thresholds(_ unit: GlucoseUnitStyle) -> String { + switch (self, unit.isMmol) { + case (.veryHigh, true): return "> 13.9" + case (.high, true): return "10.1–13.9" + case (.inRange, true): return "3.9–10.0" + case (.low, true): return "3.0–3.8" + case (.veryLow, true): return "< 3.0" + case (.veryHigh, false): return "> 250" + case (.high, false): return "181–250" + case (.inRange, false): return "70–180" + case (.low, false): return "54–69" + case (.veryLow, false): return "< 54" + } + } + + static func band(for mgdl: Double) -> RangeBand { + switch mgdl { + case ..<54: return .veryLow + case ..<70: return .low + case ...180: return .inRange + case ...250: return .high + default: return .veryHigh + } + } + } + + /// Fractions (0–1) per band, in ladder order. Empty input gives all zeros. + static func timeInRange(_ points: [GlucosePoint]) -> [RangeBand: Double] { + var counts: [RangeBand: Int] = [:] + for point in points { + counts[RangeBand.band(for: point.mgdl), default: 0] += 1 + } + let total = Double(points.count) + return Dictionary(uniqueKeysWithValues: RangeBand.allCases.map { band in + (band, total > 0 ? Double(counts[band] ?? 0) / total : 0) + }) + } + + /// Whole-number percentages that add up to 100 (largest remainder), so the labels never sum to 99 or 101. + static func roundedPercentages(_ fractions: [RangeBand: Double]) -> [RangeBand: Int] { + let raw = RangeBand.allCases.map { (band: $0, value: (fractions[$0] ?? 0) * 100) } + let total = raw.reduce(0) { $0 + $1.value } + guard total > 0 else { return Dictionary(uniqueKeysWithValues: RangeBand.allCases.map { ($0, 0) }) } + var floors = raw.map { (band: $0.band, floor: Int($0.value.rounded(.down)), remainder: $0.value - $0.value.rounded(.down)) } + var missing = Int(total.rounded()) - floors.reduce(0) { $0 + $1.floor } + for index in floors.indices.sorted(by: { floors[$0].remainder > floors[$1].remainder }) where missing > 0 { + floors[index].floor += 1 + missing -= 1 + } + return Dictionary(uniqueKeysWithValues: floors.map { ($0.band, $0.floor) }) + } + + // MARK: AGP + + struct AGPSlot: Equatable { + /// Minutes after midnight at the start of the slot. + let minute: Int + let p5: Double + let p25: Double + let p50: Double + let p75: Double + let p95: Double + } + + /// Readings folded onto one day in `slotMinutes` slots, as mg/dL percentiles. Slots with fewer than 3 readings are skipped. + static func agp(_ points: [GlucosePoint], slotMinutes: Int = 15, calendar: Calendar = .current) -> [AGPSlot] { + var slots: [Int: [Double]] = [:] + for point in points { + let parts = calendar.dateComponents([.hour, .minute], from: point.date) + let minute = (parts.hour ?? 0) * 60 + (parts.minute ?? 0) + slots[minute / slotMinutes, default: []].append(point.mgdl) + } + return slots.keys.sorted().compactMap { key in + let values = slots[key]!.sorted() + guard values.count >= 3 else { return nil } + return AGPSlot(minute: key * slotMinutes, + p5: percentile(values, 0.05), p25: percentile(values, 0.25), p50: percentile(values, 0.5), + p75: percentile(values, 0.75), p95: percentile(values, 0.95)) + } + } + + /// Linear-interpolated percentile of sorted values. + static func percentile(_ sorted: [Double], _ p: Double) -> Double { + guard !sorted.isEmpty else { return .nan } + let position = p * Double(sorted.count - 1) + let lower = Int(position.rounded(.down)), upper = Int(position.rounded(.up)) + let weight = position - Double(lower) + return sorted[lower] * (1 - weight) + sorted[upper] * weight + } + + /// The number of distinct calendar days with readings. + static func daysWithReadings(_ points: [GlucosePoint], calendar: Calendar = .current) -> Int { + Set(points.map { calendar.startOfDay(for: $0.date) }).count + } + + // MARK: Days + + /// Midnight-to-midnight intervals covering `interval`, oldest first, the last one cut off at `interval.end`. + static func days(in interval: DateInterval, calendar: Calendar = .current) -> [DateInterval] { + var result: [DateInterval] = [] + var start = calendar.startOfDay(for: interval.start) + while start < interval.end { + guard let next = calendar.date(byAdding: .day, value: 1, to: start) else { break } + result.append(DateInterval(start: max(start, interval.start), end: min(next, interval.end))) + start = next + } + return result + } + + struct DayTotal: Equatable, Identifiable { + let day: Date + let basal: Double + let bolus: Double + /// False for a day still in progress, so its partial total doesn't pull per-day averages down. + var isComplete = true + var id: Date { day } + var total: Double { basal + bolus } + } + + /// The days per-day insulin figures average over: days with insulin, leaving out a day still in progress + /// unless no complete day has any. + static func averagingDays(_ totals: [DayTotal]) -> [DayTotal] { + let recorded = totals.filter { $0.total > 0 } + let complete = recorded.filter(\.isComplete) + return complete.isEmpty ? recorded : complete + } + + /// One source for the summary, legend and chart rule, before any weekly aggregation. + static func averageDailyInsulin(_ totals: [DayTotal]) -> Double { + let days = averagingDays(totals) + guard !days.isEmpty else { return 0 } + return days.reduce(0) { $0 + $1.total } / Double(days.count) + } + + /// Averages daily totals by calendar week (Monday start), for periods past 30 days. + static func weekly(_ totals: [DayTotal], calendar: Calendar = .current) -> [DayTotal] { + var cal = calendar + cal.firstWeekday = 2 + let groups = Dictionary(grouping: totals) { cal.dateInterval(of: .weekOfYear, for: $0.day)?.start ?? $0.day } + return groups.keys.sorted().map { week in + let days = groups[week]! + let n = Double(days.count) + return DayTotal(day: week, basal: days.reduce(0) { $0 + $1.basal } / n, bolus: days.reduce(0) { $0 + $1.bolus } / n) + } + } + + // MARK: Basal + + struct ScheduleValue { + let start: Date + let end: Date + let rate: Double + } + + /// A basal record from the pump: scheduled delivery, a temp basal or a suspend. + struct BasalDelivery { + let start: Date + let end: Date + /// U/h; 0 for a suspend. + let rate: Double + let kind: BasalSegment.Kind + let automatic: Bool + } + + /// Delivered basal over `window` from the pump's records (the latest-starting one wins where they overlap). + /// + /// Gaps remain unknown: a scheduled rate alone is not evidence of delivery. + static func basalSegments(window: DateInterval, schedule: [ScheduleValue], deliveries temps: [BasalDelivery]) -> [BasalSegment] { + var cuts = Set([window.start, window.end]) + for value in schedule { + if window.contains(value.start) { cuts.insert(value.start) } + if window.contains(value.end) { cuts.insert(value.end) } + } + for temp in temps { + if window.contains(temp.start) { cuts.insert(temp.start) } + if window.contains(temp.end) { cuts.insert(temp.end) } + } + let sorted = cuts.sorted() + let sortedTemps = temps.sorted { $0.start < $1.start } + var segments: [BasalSegment] = [] + for (a, b) in zip(sorted, sorted.dropFirst()) where b > a { + let mid = a.addingTimeInterval(b.timeIntervalSince(a) / 2) + let scheduled = schedule.first { $0.start <= mid && mid < $0.end }?.rate + let segment: BasalSegment + if let temp = sortedTemps.last(where: { $0.start <= mid && mid < $0.end }) { + segment = BasalSegment(start: a, end: b, rate: temp.kind == .suspended ? 0 : temp.rate, scheduledRate: scheduled, + kind: temp.kind, automatic: temp.automatic) + } else { + continue + } + if let last = segments.last, last.end == segment.start, last.rate == segment.rate, last.kind == segment.kind, + last.scheduledRate == segment.scheduledRate, last.automatic == segment.automatic { + segments[segments.count - 1] = BasalSegment(start: last.start, end: segment.end, rate: last.rate, + scheduledRate: last.scheduledRate, kind: last.kind, automatic: last.automatic) + } else { + segments.append(segment) + } + } + return segments + } + + /// Basal rate at a moment, from delivered segments. + static func basalRate(at date: Date, in segments: [BasalSegment]) -> BasalSegment? { + segments.last { $0.start <= date && date < $0.end } + } + + // MARK: Loop modes + + struct LoopRun { + let date: Date + let succeeded: Bool + let error: String? + } + + struct ModeChange: Codable, Equatable { + let date: Date + let closedLoop: Bool + } + + /// Splits `interval` into closed, limited and open stretches. + /// + /// Each 5-minute slot is open when closed loop was switched off (from `modeChanges`), closed when Loop completed a + /// run in the 15 minutes before the slot ends, and limited otherwise. Before the first mode change the setting is + /// unknown, so the result starts at the later of `coverageStart` and the first mode change. + static func loopModeSpans(interval: DateInterval, runs: [LoopRun], modeChanges: [ModeChange], coverageStart: Date?, + recency: TimeInterval = 15 * 60, slot: TimeInterval = 5 * 60) -> [LoopModeSpan] { + guard let coverageStart, let firstChange = modeChanges.map(\.date).min() else { return [] } + let start = max(interval.start, coverageStart, firstChange) + guard interval.end > start else { return [] } + + let sortedRuns = runs.sorted { $0.date < $1.date } + let changes = modeChanges.sorted { $0.date < $1.date } + var spans: [LoopModeSpan] = [] + var runIndex = 0 + var lastSuccess: Date? = nil + var lastError: String? = nil + var changeIndex = 0 + var closedSetting: Bool? = nil + + var t = start + while t < interval.end { + let slotEnd = min(t.addingTimeInterval(slot), interval.end) + while runIndex < sortedRuns.count && sortedRuns[runIndex].date <= slotEnd { + let run = sortedRuns[runIndex] + if run.succeeded { + lastSuccess = run.date + lastError = nil + } else { + lastError = run.error ?? lastError + } + runIndex += 1 + } + while changeIndex < changes.count && changes[changeIndex].date <= slotEnd { + closedSetting = changes[changeIndex].closedLoop + changeIndex += 1 + } + + let mode: LoopModeSpan.Mode + let cause: String? + if closedSetting == false { + mode = .open + cause = "Closed loop off" + } else if let lastSuccess, slotEnd.timeIntervalSince(lastSuccess) <= recency { + mode = .closed + cause = nil + } else { + mode = .limited + cause = lastError ?? "Loop didn't run" + } + + if let last = spans.last, last.mode == mode, last.cause == cause, last.end == t { + spans[spans.count - 1] = LoopModeSpan(start: last.start, end: slotEnd, mode: mode, cause: cause) + } else { + spans.append(LoopModeSpan(start: t, end: slotEnd, mode: mode, cause: cause)) + } + t = slotEnd + } + return spans + } + + static func duration(of mode: LoopModeSpan.Mode, in spans: [LoopModeSpan]) -> TimeInterval { + spans.filter { $0.mode == mode }.reduce(0) { $0 + $1.duration } + } +} diff --git a/Loop/Redesign/LoopHistoryModels.swift b/Loop/Redesign/LoopHistoryModels.swift new file mode 100644 index 0000000000..4e4079b67c --- /dev/null +++ b/Loop/Redesign/LoopHistoryModels.swift @@ -0,0 +1,292 @@ +// +// LoopHistoryModels.swift +// Loop +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import Foundation +import HealthKit +import LoopKit +import LoopAlgorithm + +/// Plain value types the redesigned screens draw from. Glucose is kept in mg/dL and converted only for display, +/// so the statistics don't depend on the display unit. + +struct GlucosePoint: Equatable { + let date: Date + let mgdl: Double +} + +struct BolusEvent: Equatable, Identifiable { + let id: String + let date: Date + let units: Double + /// Issued by Loop (automatic bolus) rather than by the person. + let automatic: Bool + /// Logged in Loop by hand rather than delivered by the pump; these can be deleted. + let manuallyEntered: Bool + /// Kept so a manually entered dose can be deleted from the dose store. + var dose: DoseEntry? = nil + + static func == (lhs: BolusEvent, rhs: BolusEvent) -> Bool { + lhs.id == rhs.id && lhs.date == rhs.date && lhs.units == rhs.units && lhs.automatic == rhs.automatic + } +} + +struct BasalSegment: Equatable { + enum Kind: Equatable { + /// The scheduled rate, with no temp basal running. + case scheduled + /// A temp basal, set by Loop or by hand. + case temp + case suspended + } + + let start: Date + let end: Date + /// The rate actually delivered, in U/h. + let rate: Double + /// The profile rate at the time, in U/h, if known. + let scheduledRate: Double? + let kind: Kind + let automatic: Bool + + var hours: Double { end.timeIntervalSince(start) / 3600 } + var units: Double { rate * hours } + /// Units delivered above (positive) or below (negative) the schedule. + var netUnits: Double { + guard let scheduledRate else { return 0 } + return (rate - scheduledRate) * hours + } + + func clamped(to interval: DateInterval) -> BasalSegment? { + let s = max(start, interval.start), e = min(end, interval.end) + guard e > s else { return nil } + return BasalSegment(start: s, end: e, rate: rate, scheduledRate: scheduledRate, kind: kind, automatic: automatic) + } +} + +struct ScheduledBasalPoint: Equatable { + let start: Date + let end: Date + let rate: Double +} + +/// The correction range over part of a chart, in mg/dL. +struct TargetBand: Equatable { + let start: Date + let end: Date + let range: ClosedRange +} + +struct CarbEvent: Equatable, Identifiable { + let id: String + let date: Date + let grams: Double + let absorptionHours: Double? + let foodType: String? + let createdByLoop: Bool + /// Kept so the entry can be edited or deleted. + var entry: StoredCarbEntry? = nil + + static func == (lhs: CarbEvent, rhs: CarbEvent) -> Bool { + lhs.id == rhs.id && lhs.date == rhs.date && lhs.grams == rhs.grams + } +} + +struct TimedValue: Equatable { + let date: Date + let value: Double +} + +struct PumpLogEvent: Equatable, Identifiable { + enum Kind: Equatable { + case siteChange(String) + case alarm(String) + case resume + } + + let id: String + let date: Date + let kind: Kind +} + +/// Everything known about one day (or any window up to 48 hours), for InsulinTimeline and the Now screen. +struct DayHistory { + var window: DateInterval + var glucose: [GlucosePoint] = [] + var boluses: [BolusEvent] = [] + var basal: [BasalSegment] = [] + var scheduledBasal: [ScheduledBasalPoint] = [] + var carbs: [CarbEvent] = [] + var iob: [TimedValue] = [] + var cob: [TimedValue] = [] + /// Where the data came from, so older days can say they are missing Loop's own detail. + var source: HistorySource = .loop + + var bolusUnits: Double { boluses.reduce(0) { $0 + $1.units } } + var basalUnits: Double { basal.reduce(0) { $0 + $1.units } } + var carbGrams: Double { carbs.reduce(0) { $0 + $1.grams } } + var totalUnits: Double { bolusUnits + basalUnits } +} + +enum HistorySource { + /// Loop's own stores: manual versus automatic, temp basals and the schedule are all known. + case loop + /// Apple Health, for days older than Loop keeps. Doses are split into basal and bolus only. + case health +} + +/// One stretch of the period in a single loop mode. +struct LoopModeSpan: Equatable { + enum Mode: Equatable { + case closed + case limited + case open + } + + let start: Date + let end: Date + let mode: Mode + let cause: String? + + var duration: TimeInterval { end.timeIntervalSince(start) } +} + +// MARK: - Glucose unit + +struct GlucoseUnitStyle: Equatable { + let isMmol: Bool + + init(unit: LoopUnit) { + isMmol = unit == .millimolesPerLiter + } + + init(isMmol: Bool) { + self.isMmol = isMmol + } + + static let mgdlPerMmol = 18.0182 + + var unitName: String { isMmol ? "mmol/L" : "mg/dL" } + + func value(_ mgdl: Double) -> Double { isMmol ? mgdl / Self.mgdlPerMmol : mgdl } + func mgdl(_ displayValue: Double) -> Double { isMmol ? displayValue * Self.mgdlPerMmol : displayValue } + + func format(_ mgdl: Double) -> String { + isMmol ? String(format: "%.1f", mgdl / Self.mgdlPerMmol) : String(format: "%.0f", mgdl) + } + + /// Fixed chart scales from the design: 2–20 mmol/L on day views, 0–22 on AGP. + var dayDomain: ClosedRange { isMmol ? 2...20 : 36...360 } + var agpDomain: ClosedRange { isMmol ? 0...22 : 0...400 } + var dayTicks: [Double] { isMmol ? [4, 10, 16] : [70, 180, 300] } + var agpTicks: [Double] { isMmol ? [0, 4, 10, 16, 22] : [0, 70, 180, 250, 400] } +} + +// MARK: - Formatting + +enum LoopFormat { + static func doseUnits(_ units: Double) -> String { String(format: "%.2f U", units) } + static func totalUnits(_ units: Double) -> String { String(format: "%.1f U", units) } + static func rate(_ rate: Double) -> String { String(format: "%.2f U/h", rate) } + static func grams(_ grams: Double) -> String { String(format: "%.0f g", grams) } + + static func signed(_ value: Double, decimals: Int = 2) -> String { + let s = String(format: "%.\(decimals)f", abs(value)) + if abs(value) < pow(10, -Double(decimals)) / 2 { return "+" + s } + return (value < 0 ? "−" : "+") + s + } + + static func time(_ date: Date) -> String { + date.formatted(date: .omitted, time: .shortened) + } + + /// "25 Oct 2026" + static func day(_ date: Date) -> String { + date.formatted(.dateTime.day().month(.abbreviated).year()) + } + + /// "Sun 25 Oct" + static func weekdayDay(_ date: Date) -> String { + date.formatted(.dateTime.weekday(.abbreviated).day().month(.abbreviated)) + } + + /// "12 – 25 Oct 2026", "28 Sep – 25 Oct 2026", "20 Dec 2025 – 2 Jan 2026" + static func range(_ start: Date, _ end: Date, calendar: Calendar = .current) -> String { + let sameYear = calendar.component(.year, from: start) == calendar.component(.year, from: end) + let sameMonth = sameYear && calendar.component(.month, from: start) == calendar.component(.month, from: end) + if calendar.isDate(start, inSameDayAs: end) { + return day(end) + } + let first: String + if sameMonth { + first = start.formatted(.dateTime.day()) + } else if sameYear { + first = start.formatted(.dateTime.day().month(.abbreviated)) + } else { + first = day(start) + } + return "\(first) – \(day(end))" + } + + /// "13 d 11 h", "9 h 45 m", "40 min" + static func duration(_ interval: TimeInterval) -> String { + let minutes = Int((interval / 60).rounded()) + let days = minutes / 1440, hours = (minutes % 1440) / 60, mins = minutes % 60 + if days > 0 { return hours > 0 ? "\(days) d \(hours) h" : "\(days) d" } + if hours > 0 { return mins > 0 ? "\(hours) h \(mins) m" : "\(hours) h" } + return "\(mins) min" + } + + /// "2 min", "1 h 5 min" — how long ago, for the status pill. + static func ago(_ date: Date, now: Date = Date()) -> String { + let minutes = max(0, Int(now.timeIntervalSince(date) / 60)) + if minutes < 60 { return "\(minutes) min" } + return duration(TimeInterval(minutes * 60)) + } +} + +// MARK: - Store conversion boundaries + +extension BolusEvent { + init?(dose: DoseEntry, in interval: DateInterval) { + guard dose.type == .bolus, dose.startDate >= interval.start, dose.startDate < interval.end else { return nil } + self.init(id: dose.syncIdentifier ?? "\(dose.startDate.timeIntervalSince1970)", date: dose.startDate, + units: dose.unitsInDeliverableIncrements, automatic: dose.automatic ?? false, + manuallyEntered: dose.manuallyEntered, dose: dose) + } +} + +extension LoopHistoryMath.BasalDelivery { + init?(dose: DoseEntry) { + let kind: BasalSegment.Kind + switch dose.type { + case .basal: kind = .scheduled + case .tempBasal: kind = .temp + case .suspend: kind = .suspended + default: return nil + } + let hours = dose.endDate.timeIntervalSince(dose.startDate) / 3600 + guard hours > 0 else { return nil } + self.init(start: dose.startDate, end: dose.endDate, + rate: kind == .suspended ? 0 : dose.unitsInDeliverableIncrements / hours, + kind: kind, automatic: dose.automatic ?? (kind == .temp)) + } +} + +extension BasalSegment { + init?(healthSample sample: HKQuantitySample, in interval: DateInterval) { + let hours = sample.endDate.timeIntervalSince(sample.startDate) / 3600 + guard hours > 0 else { return nil } + let scheduled = (sample.metadata?["com.loopkit.InsulinKit.MetadataKeyScheduledBasalRate"] as? HKQuantity)? + .doubleValue(for: HKUnit.internationalUnit().unitDivided(by: .hour())) + let segment = BasalSegment(start: sample.startDate, end: sample.endDate, + rate: sample.quantity.doubleValue(for: .internationalUnit()) / hours, + scheduledRate: scheduled, kind: .temp, + automatic: (sample.metadata?["com.loopkit.InsulinKit.MetadataKeyAutomaticallyIssued"] as? NSNumber)?.boolValue ?? false) + guard let clamped = segment.clamped(to: interval) else { return nil } + self = clamped + } +} diff --git a/Loop/Redesign/LoopHistoryProvider.swift b/Loop/Redesign/LoopHistoryProvider.swift new file mode 100644 index 0000000000..132ef32d48 --- /dev/null +++ b/Loop/Redesign/LoopHistoryProvider.swift @@ -0,0 +1,431 @@ +// +// LoopHistoryProvider.swift +// Loop +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import Foundation +import HealthKit +import LoopKit +import LoopCore +import LoopAlgorithm +import os.log + +/// Reads glucose, insulin, carbs and loop runs for the redesigned screens. +/// +/// Loop keeps `LOOP_LOCAL_CACHE_DURATION_DAYS` (7) days in its own stores. Inside that window everything comes from +/// those stores, so manual and automatic doses, temp basals and the schedule are known. Older days come from Apple +/// Health, which has glucose, carbs and insulin split only into basal and bolus. +final class LoopHistoryProvider { + + private let deviceManager: DeviceDataManager + private let loopDataManager: LoopDataManager + private let settingsManager: SettingsManager + private let temporaryPresetsManager: TemporaryPresetsManager + private let dosingDecisionStore: DosingDecisionStoreProtocol + private let doseStore: DoseStore + private let carbStore: CarbStore + private let glucoseStore: GlucoseStore + private let healthStore = HKHealthStore() + private let log = OSLog(category: "LoopHistoryProvider") + + @MainActor + init(deviceManager: DeviceDataManager, loopDataManager: LoopDataManager, settingsManager: SettingsManager, temporaryPresetsManager: TemporaryPresetsManager) { + self.deviceManager = deviceManager + self.loopDataManager = loopDataManager + self.settingsManager = settingsManager + self.temporaryPresetsManager = temporaryPresetsManager + self.dosingDecisionStore = loopDataManager.dosingDecisionStore + self.doseStore = deviceManager.doseStore + self.carbStore = deviceManager.carbStore + self.glucoseStore = deviceManager.glucoseStore + } + + @MainActor + var unitStyle: GlucoseUnitStyle { + GlucoseUnitStyle(unit: deviceManager.displayGlucosePreference.unit) + } + + /// Match the classic carb editor's eligibility rule, including mode changes while a screen is open. + @MainActor + var allowsCarbEditing: Bool { + settingsManager.dosingEnabled || !FeatureFlags.simpleBolusCalculatorEnabled + } + + /// The start of what Loop keeps locally. + var localHistoryStart: Date { + Date().addingTimeInterval(-Bundle.main.localCacheDuration) + } + + @MainActor + var glucoseTargetRange: ClosedRange? { + guard let range = temporaryPresetsManager.effectiveCorrectionRange() else { return nil } + return range.lowerBound.doubleValue(for: .milligramsPerDeciliter)...range.upperBound.doubleValue(for: .milligramsPerDeciliter) + } + + /// The correction range schedule across `interval`, with any preset or pre-meal range over the time it runs, + /// as the classic glucose chart draws it. + @MainActor + func glucoseTargetBands(in interval: DateInterval) -> [TargetBand] { + guard let schedule = settingsManager.settings.glucoseTargetRangeSchedule else { return [] } + func mgdl(_ range: ClosedRange) -> ClosedRange { + range.lowerBound.doubleValue(for: .milligramsPerDeciliter)...range.upperBound.doubleValue(for: .milligramsPerDeciliter) + } + var bands = schedule.quantityBetween(start: interval.start, end: interval.end).map { + TargetBand(start: max($0.startDate, interval.start), end: min($0.endDate, interval.end), range: mgdl($0.value)) + } + // Pre-meal goes last so it wins where both run, as in TemporaryPresetsManager.effectiveCorrectionRangeSchedule. + for override in [temporaryPresetsManager.scheduleOverride, temporaryPresetsManager.preMealOverride].compactMap({ $0 }) { + guard let target = override.settings.targetRange, + let active = override.activeInterval.intersection(with: interval), active.duration > 0 else { continue } + bands = bands.flatMap { band -> [TargetBand] in + var pieces: [TargetBand] = [] + if band.start < active.start { + pieces.append(TargetBand(start: band.start, end: min(band.end, active.start), range: band.range)) + } + if band.end > active.end { + pieces.append(TargetBand(start: max(band.start, active.end), end: band.end, range: band.range)) + } + return pieces + } + [TargetBand(start: active.start, end: active.end, range: mgdl(target))] + } + return bands.sorted { $0.start < $1.start } + } + + // MARK: - Days + + /// Everything in `window`; IOB and COB only when asked, as they are the slowest part. + func dayHistory(_ window: DateInterval, includeOnBoard: Bool = true) async throws -> DayHistory { + var history = DayHistory(window: window) + let boundary = localHistoryStart + + if window.end > boundary { + let local = DateInterval(start: max(window.start, boundary), end: window.end) + async let glucose = localGlucose(local) + async let insulin = localInsulin(local) + async let carbs = localCarbs(local) + history.glucose = try await glucose + (history.boluses, history.basal, history.scheduledBasal) = try await insulin + history.carbs = try await carbs + if includeOnBoard { + async let iob = localIOB(local) + async let cob = localCOB(local) + history.iob = try await iob + history.cob = try await cob + } + } + + if window.start < boundary { + let older = DateInterval(start: window.start, end: min(window.end, boundary)) + async let glucose = healthGlucose(older) + async let insulin = healthInsulin(older) + async let carbs = healthCarbs(older) + let (boluses, basal) = try await insulin + history.glucose = try await glucose + history.glucose + history.boluses = boluses + history.boluses + history.basal = basal + history.basal + history.carbs = try await carbs + history.carbs + if window.end <= boundary { + history.source = .health + } + } + try Task.checkCancellation() + return history + } + + /// CGM readings for any period, local and Health combined. + func glucose(_ interval: DateInterval) async throws -> [GlucosePoint] { + let boundary = localHistoryStart + var points: [GlucosePoint] = [] + if interval.start < boundary { + points += try await healthGlucose(DateInterval(start: interval.start, end: min(interval.end, boundary))) + } + if interval.end > boundary { + points += try await localGlucose(DateInterval(start: max(interval.start, boundary), end: interval.end)) + } + return points + } + + // MARK: - Loop runs + + /// Fetch each snapshot independently: overlapping reloads must not append the same anchored page twice. + func loopRuns() async throws -> (runs: [LoopHistoryMath.LoopRun], coverageStart: Date?) { + var anchor: DosingDecisionStore.QueryAnchor? + var runs: [LoopHistoryMath.LoopRun] = [] + while true { + let page: (DosingDecisionStore.QueryAnchor, [StoredDosingDecision]) = try await withCheckedThrowingContinuation { continuation in + dosingDecisionStore.executeDosingDecisionQuery(fromQueryAnchor: anchor, limit: 1000) { result in + switch result { + case .success(let anchor, let decisions): continuation.resume(returning: (anchor, decisions)) + case .failure(let error): continuation.resume(throwing: error) + } + } + } + try Task.checkCancellation() + anchor = page.0 + runs += page.1.filter { $0.reason == "loop" }.map { decision in + LoopHistoryMath.LoopRun(date: decision.date, succeeded: decision.errors.isEmpty, + error: decision.errors.first.map { Self.describe(issue: $0.id) }) + } + if page.1.count < 1000 { break } + } + runs = runs.filter { $0.date >= localHistoryStart }.sorted { $0.date < $1.date } + return (runs, runs.first?.date) + } + + /// "glucoseTooOld" → "Glucose too old" + static func describe(issue id: String) -> String { + var words: [String] = [] + var current = "" + for character in id { + if character.isUppercase, !current.isEmpty { + words.append(current) + current = "" + } + current.append(character) + } + words.append(current) + let sentence = words.joined(separator: " ").lowercased() + return sentence.prefix(1).uppercased() + sentence.dropFirst() + } + + // MARK: - Pump events + + func pumpEvents(since start: Date) async throws -> [PumpLogEvent] { + let events = try await doseStore.getPumpEventValues(since: start) + let items: [PumpLogEvent] = events.compactMap { event in + let id = event.objectIDURL.absoluteString + switch event.type { + case .replaceComponent(let component)?: + let name: String + switch component { + case .pump: name = "Pod changed" + case .reservoir: name = "Reservoir changed" + case .infusionSet: name = "Infusion set changed" + } + return PumpLogEvent(id: id, date: event.date, kind: .siteChange(name)) + case .rewind?: + return PumpLogEvent(id: id, date: event.date, kind: .siteChange("Reservoir rewound")) + case .prime?: + return PumpLogEvent(id: id, date: event.date, kind: .siteChange("Primed")) + case .alarm?: + return PumpLogEvent(id: id, date: event.date, kind: .alarm(event.title ?? "Pump alarm")) + default: + return nil + } + } + return items + } + + // MARK: - Editing + + /// Edits an entry the way Loop's carb absorption screen does. + @MainActor + func carbEntryViewModel(editing entry: StoredCarbEntry) -> CarbEntryViewModel { + let viewModel = CarbEntryViewModel(delegate: loopDataManager, originalCarbEntry: entry) + viewModel.analyticsServicesManager = loopDataManager.analyticsServicesManager + viewModel.deliveryDelegate = deviceManager + return viewModel + } + + func delete(carb entry: StoredCarbEntry) async throws { + _ = try await loopDataManager.deleteCarbEntry(entry) + } + + func delete(dose: DoseEntry) async throws { + try await withCheckedThrowingContinuation { (continuation: CheckedContinuation) in + doseStore.deleteDose(dose) { error in + if let error { + continuation.resume(throwing: error) + } else { + continuation.resume() + } + } + } + } + + // MARK: - Loop's stores + + private func localGlucose(_ interval: DateInterval) async throws -> [GlucosePoint] { + do { + let samples = try await glucoseStore.getGlucoseSamples(start: interval.start, end: interval.end) + return samples + .filter { !$0.isDisplayOnly } + .map { GlucosePoint(date: $0.startDate, mgdl: $0.quantity.doubleValue(for: .milligramsPerDeciliter)) } + } catch { + os_log("Glucose fetch failed: %{public}@", log: log, type: .error, String(describing: error)) + throw error + } + } + + private func localInsulin(_ interval: DateInterval) async throws -> ([BolusEvent], [BasalSegment], [ScheduledBasalPoint]) { + let doses: [DoseEntry] + do { + doses = try await doseStore.getNormalizedDoseEntries(start: interval.start, end: interval.end) + } catch { + os_log("Dose fetch failed: %{public}@", log: log, type: .error, String(describing: error)) + throw error + } + + let boluses = doses.compactMap { BolusEvent(dose: $0, in: interval) } + + let temporaryPresetsManager = self.temporaryPresetsManager + let scheduleValues = await MainActor.run { + temporaryPresetsManager.basalRateScheduleApplyingOverrideHistory?.between(start: interval.start, end: interval.end) ?? [] + } + let schedule = scheduleValues.map { LoopHistoryMath.ScheduleValue(start: $0.startDate, end: $0.endDate, rate: $0.value) } + let deliveries = doses.compactMap { LoopHistoryMath.BasalDelivery(dose: $0) } + let now = Date() + let window = DateInterval(start: interval.start, end: max(interval.start, min(interval.end, now))) + // Totals count pump records, as classic Loop does; an unreported gap is not confirmed delivery. + let basal = window.duration > 0 ? LoopHistoryMath.basalSegments(window: window, schedule: schedule, deliveries: deliveries) : [] + let scheduled = schedule.map { ScheduledBasalPoint(start: max($0.start, interval.start), end: min($0.end, interval.end), rate: $0.rate) } + return (boluses, basal, scheduled) + } + + private func localCarbs(_ interval: DateInterval) async throws -> [CarbEvent] { + do { + let entries = try await carbStore.getCarbEntries(start: interval.start, end: interval.end) + return entries.map { entry in + CarbEvent(id: entry.syncIdentifier ?? "\(entry.startDate.timeIntervalSince1970)", + date: entry.startDate, + grams: entry.quantity.doubleValue(for: .gram), + absorptionHours: entry.absorptionTime.map { $0 / 3600 }, + foodType: entry.foodType, + createdByLoop: entry.createdByCurrentApp, + entry: entry) + } + } catch { + os_log("Carb fetch failed: %{public}@", log: log, type: .error, String(describing: error)) + throw error + } + } + + private func localIOB(_ interval: DateInterval) async throws -> [TimedValue] { + try await loopDataManager.insulinOnBoardTimeline(in: interval).map { TimedValue(date: $0.startDate, value: $0.value) } + } + + private func localCOB(_ interval: DateInterval) async throws -> [TimedValue] { + try await loopDataManager.carbsOnBoardTimeline(in: interval).map { TimedValue(date: $0.startDate, value: $0.quantity.doubleValue(for: .gram)) } + } + + // MARK: - Apple Health + + private func healthSamples(_ type: HKQuantityType, _ interval: DateInterval, options: HKQueryOptions = .strictStartDate) async throws -> [HKQuantitySample] { + guard interval.duration > 0 else { return [] } + let log = self.log + return try await withCheckedThrowingContinuation { continuation in + let predicate = HKQuery.predicateForSamples(withStart: interval.start, end: interval.end, options: options) + let sort = NSSortDescriptor(key: HKSampleSortIdentifierStartDate, ascending: true) + let query = HKSampleQuery(sampleType: type, predicate: predicate, limit: HKObjectQueryNoLimit, sortDescriptors: [sort]) { _, samples, error in + if let error { + os_log("Health query for %{public}@ failed: %{public}@", log: log, type: .error, type.identifier, String(describing: error)) + continuation.resume(throwing: error) + } else { + continuation.resume(returning: (samples as? [HKQuantitySample]) ?? []) + } + } + healthStore.execute(query) + } + } + + /// Several apps can write the same CGM reading to Health; keep one reading per 2½ minutes. + private func healthGlucose(_ interval: DateInterval) async throws -> [GlucosePoint] { + let samples = try await healthSamples(HKQuantityType(.bloodGlucose), interval) + var points: [GlucosePoint] = [] + let own = HKSource.default().bundleIdentifier + for sample in samples where !sample.isDisplayOnly + && (FeatureFlags.observeHealthKitGlucoseSamplesFromOtherApps || sample.sourceRevision.source.bundleIdentifier == own) { + if let last = points.last, sample.startDate.timeIntervalSince(last.date) < 150 { continue } + points.append(GlucosePoint(date: sample.startDate, mgdl: sample.quantity.doubleValue(for: .milligramsPerDeciliter))) + } + return points + } + + private func healthInsulin(_ interval: DateInterval) async throws -> ([BolusEvent], [BasalSegment]) { + let samples = try await healthSamples(HKQuantityType(.insulinDelivery), interval, options: []) + var boluses: [BolusEvent] = [] + var basal: [BasalSegment] = [] + let own = HKSource.default().bundleIdentifier + for sample in samples where FeatureFlags.observeHealthKitDoseSamplesFromOtherApps || sample.sourceRevision.source.bundleIdentifier == own { + let units = sample.quantity.doubleValue(for: .internationalUnit()) + let reason = (sample.metadata?[HKMetadataKeyInsulinDeliveryReason] as? NSNumber)?.intValue + let automatic = (sample.metadata?["com.loopkit.InsulinKit.MetadataKeyAutomaticallyIssued"] as? NSNumber)?.boolValue ?? false + if reason == HKInsulinDeliveryReason.basal.rawValue { + if let segment = BasalSegment(healthSample: sample, in: interval) { + basal.append(segment) + } + } else if sample.startDate >= interval.start && sample.startDate < interval.end { + boluses.append(BolusEvent(id: sample.uuid.uuidString, date: sample.startDate, units: units, automatic: automatic, manuallyEntered: false)) + } + } + return (boluses, basal) + } + + private func healthCarbs(_ interval: DateInterval) async throws -> [CarbEvent] { + let samples = try await healthSamples(HKQuantityType(.dietaryCarbohydrates), interval) + let own = HKSource.default().bundleIdentifier + return samples + .filter { FeatureFlags.observeHealthKitCarbSamplesFromOtherApps || $0.sourceRevision.source.bundleIdentifier == own } + .map { sample in + CarbEvent(id: sample.uuid.uuidString, date: sample.startDate, grams: sample.quantity.doubleValue(for: .gram()), + absorptionHours: nil, foodType: sample.metadata?[HKMetadataKeyFoodType] as? String, + createdByLoop: sample.sourceRevision.source.bundleIdentifier == own) + } + } +} + +// MARK: - Loop mode history + +/// Records when closed loop is switched on and off, because Loop's stored runs don't say which mode they ran in. +/// The Trends screen can only call time "open loop" from the first record on. +final class LoopModeHistory { + static let shared = LoopModeHistory() + + private let defaults: UserDefaults + private let key = "com.loopkit.Loop.redesign.loopModeChanges" + private let maximumAge: TimeInterval = .days(100) + + init(defaults: UserDefaults = .standard) { + self.defaults = defaults + } + + var changes: [LoopHistoryMath.ModeChange] { + guard let data = defaults.data(forKey: key), + let changes = try? JSONDecoder().decode([LoopHistoryMath.ModeChange].self, from: data) else { + return [] + } + return changes + } + + func record(closedLoop: Bool, at date: Date = Date()) { + var changes = self.changes + guard changes.last?.closedLoop != closedLoop else { return } + changes.append(.init(date: date, closedLoop: closedLoop)) + changes.removeAll { date.timeIntervalSince($0.date) > maximumAge } + if let data = try? JSONEncoder().encode(changes) { + defaults.set(data, forKey: key) + } + } +} + +// MARK: - Loop's on-board history + +extension LoopDataManager { + /// Insulin on board across `interval`, from the doses and basal history Loop keeps, as `iobValues` is for the display window. + func insulinOnBoardTimeline(in interval: DateInterval) async throws -> [InsulinValue] { + let dosesStart = interval.start.addingTimeInterval(-InsulinMath.defaultInsulinActivityDuration) + let doses = try await doseStore.getNormalizedDoseEntries(start: dosesStart, end: interval.end) + .map { $0.simpleDose(with: insulinModel(for: $0.insulinType)) } + let basalStart = min(dosesStart, doses.map(\.startDate).min() ?? dosesStart) + let basal = try await settingsProvider.getBasalHistory(startDate: basalStart, endDate: interval.end) + return doses.annotated(with: basal).insulinOnBoardTimeline(from: interval.start, to: interval.end) + } + + /// Carbs on board across `interval`, using the same absorption review as Loop's carb screen. + func carbsOnBoardTimeline(in interval: DateInterval) async throws -> [CarbValue] { + let review = try await fetchCarbAbsorptionReview(start: interval.start.addingTimeInterval(-CarbMath.maximumAbsorptionTimeInterval), end: interval.end) + return review.carbStatuses.dynamicCarbsOnBoard(from: interval.start, to: interval.end, absorptionModel: carbAbsorptionModel.model) + } +} diff --git a/Loop/Redesign/MainTabBarController.swift b/Loop/Redesign/MainTabBarController.swift new file mode 100644 index 0000000000..f0a1508462 --- /dev/null +++ b/Loop/Redesign/MainTabBarController.swift @@ -0,0 +1,82 @@ +// +// MainTabBarController.swift +// Loop +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import UIKit +import SwiftUI + +/// Whether Loop shows the redesigned interface (tabs: Now, Trends, Logbook, Settings) or the classic status screen. +enum LoopInterfacePreference { + private static let key = "com.loopkit.Loop.redesign.enabled" + + static let didChange = Notification.Name("LoopInterfacePreferenceDidChange") + + static var useRedesign: Bool { + get { UserDefaults.standard.object(forKey: key) as? Bool ?? true } + set { + guard newValue != useRedesign else { return } + UserDefaults.standard.set(newValue, forKey: key) + NotificationCenter.default.post(name: didChange, object: nil) + } + } +} + +/// The redesign's root. The Now tab is Loop's own RootNavigationController, so every existing flow +/// (bolus, carbs, presets, alerts, device settings, deeplinks) keeps working from StatusTableViewController. +final class MainTabBarController: UITabBarController, UITabBarControllerDelegate { + + let rootNavigationController: RootNavigationController + private weak var statusTableViewController: StatusTableViewController? + private let provider: LoopHistoryProvider + private let settingsPlaceholder = UIViewController() + + init(rootNavigationController: RootNavigationController, statusTableViewController: StatusTableViewController, deviceManager: DeviceDataManager, loopDataManager: LoopDataManager, settingsManager: SettingsManager) { + self.rootNavigationController = rootNavigationController + self.statusTableViewController = statusTableViewController + self.provider = LoopHistoryProvider(deviceManager: deviceManager, loopDataManager: loopDataManager, settingsManager: settingsManager, temporaryPresetsManager: statusTableViewController.temporaryPresetsManager) + super.init(nibName: nil, bundle: nil) + + rootNavigationController.tabBarItem = UITabBarItem(title: "Now", image: UIImage(systemName: "drop.fill"), tag: 0) + + let trends = UIHostingController(rootView: TrendsView(provider: provider)) + trends.tabBarItem = UITabBarItem(title: "Trends", image: UIImage(systemName: "chart.bar.fill"), tag: 1) + + let logbook = UIHostingController(rootView: LogbookView(provider: provider, deviceManager: deviceManager)) + logbook.tabBarItem = UITabBarItem(title: "Logbook", image: UIImage(systemName: "list.bullet"), tag: 2) + + settingsPlaceholder.tabBarItem = UITabBarItem(title: "Settings", image: UIImage(systemName: "gearshape.fill"), tag: 3) + + viewControllers = [rootNavigationController, trends, logbook, settingsPlaceholder] + delegate = self + tabBar.tintColor = UIColor(named: "accent") + if #available(iOS 18.0, *) { + mode = .tabBar + } + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + /// Settings stays a sheet, as in classic Loop, so the tab only presents it. It is presented from the Now tab: + /// device and service screens open from Settings through StatusTableViewController, which is only in the window + /// while Now is selected. + func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool { + guard viewController === settingsPlaceholder else { return true } + showNow() + statusTableViewController?.presentSettingsFromTab() + return false + } + + func showNow() { + selectedViewController = rootNavigationController + } + + override func restoreUserActivityState(_ activity: NSUserActivity) { + showNow() + rootNavigationController.restoreUserActivityState(activity) + } +} diff --git a/Loop/Redesign/NowScreen.swift b/Loop/Redesign/NowScreen.swift new file mode 100644 index 0000000000..6d8a73ff4d --- /dev/null +++ b/Loop/Redesign/NowScreen.swift @@ -0,0 +1,594 @@ +// +// NowScreen.swift +// Loop +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import SwiftUI +import HealthKit +import LoopKit +import LoopKitUI +import LoopCore +import LoopAlgorithm + +private typealias P = LoopDesign.Palette + +/// What the Now screen shows. StatusTableViewController owns it and asks it to refresh whenever Loop's data changes. +@MainActor +final class NowModel: ObservableObject { + + struct Reading: Equatable { + let mgdl: Double + let date: Date + let trend: GlucoseTrend? + /// Change since the previous reading, per 5 minutes. + let delta: Double? + } + + struct Device: Equatable { + let name: String + let message: String? + let state: DeviceStatusHighlightState? + } + + enum LoopState: Equatable { + case fresh + case stale + case failed + case never + } + + @Published private(set) var reading: Reading? + @Published private(set) var lastLoopCompleted: Date? + @Published private(set) var lastLoopFailed = false + @Published private(set) var closedLoop = false + @Published private(set) var iob: Double? + @Published private(set) var cob: Double? + @Published private(set) var basalDeliveryState: PumpManagerStatus.BasalDeliveryState? + @Published private(set) var scheduledBasalRate: Double? + @Published private(set) var suspended = false + @Published private(set) var targetRange: ClosedRange? + @Published private(set) var predictionTargets: [TargetBand] = [] + @Published private(set) var todayTargets: [TargetBand] = [] + @Published private(set) var prediction: [GlucosePoint] = [] + @Published private(set) var recentGlucose: [GlucosePoint] = [] + @Published private(set) var historyError: String? + @Published private(set) var glucoseHistoryError: String? + @Published private(set) var today: DayHistory + @Published private(set) var pump: Device? + @Published private(set) var cgm: Device? + @Published private(set) var dosingAvailable = true + @Published private(set) var preMealOn = false + @Published private(set) var overrideName: String? + @Published private(set) var unit: GlucoseUnitStyle + @Published var now = Date() + /// Set by StatusTableViewController, which owns the onboarding state. + var isOnboardingComplete: () -> Bool = { true } + + let provider: LoopHistoryProvider + private let deviceManager: DeviceDataManager + private let loopDataManager: LoopDataManager + private let settingsManager: SettingsManager + private let temporaryPresetsManager: TemporaryPresetsManager + private var refreshTask: Task? + private var pendingRefresh = false + + init(deviceManager: DeviceDataManager, loopDataManager: LoopDataManager, settingsManager: SettingsManager, temporaryPresetsManager: TemporaryPresetsManager) { + self.deviceManager = deviceManager + self.loopDataManager = loopDataManager + self.settingsManager = settingsManager + self.temporaryPresetsManager = temporaryPresetsManager + self.provider = LoopHistoryProvider(deviceManager: deviceManager, loopDataManager: loopDataManager, settingsManager: settingsManager, temporaryPresetsManager: temporaryPresetsManager) + self.unit = provider.unitStyle + let start = Calendar.current.startOfDay(for: Date()) + self.today = DayHistory(window: DateInterval(start: start, duration: 86400)) + } + + var basalRate: Double? { + switch basalDeliveryState { + case .tempBasal(let dose)?: + return dose.startDate <= now && now < dose.endDate ? dose.unitsPerHour : scheduledBasalRate + case .active?: return scheduledBasalRate + case .suspended?, .suspending?: return 0 + default: return nil + } + } + + var loopState: LoopState { + guard let lastLoopCompleted else { return .never } + let age = now.timeIntervalSince(lastLoopCompleted) + if age <= 5 * 60 + 30 { return .fresh } + if age <= 15 * 60 { return .stale } + return .failed + } + + var readingIsStale: Bool { + guard let reading else { return true } + return now.timeIntervalSince(reading.date) > LoopAlgorithm.inputDataRecencyInterval + } + + /// Refreshes everything; calls made while a refresh runs are coalesced into one more. + func refresh() { + guard refreshTask == nil else { + pendingRefresh = true + return + } + refreshTask = Task { [weak self] in + await self?.load() + guard let self else { return } + self.refreshTask = nil + if self.pendingRefresh { + self.pendingRefresh = false + self.refresh() + } + } + } + + private func load() async { + let now = Date() + self.now = now + unit = provider.unitStyle + + let displayState = await loopDataManager.algorithmDisplayState + let predicted = (displayState.output?.predictedGlucose ?? []).map { + GlucosePoint(date: $0.startDate, mgdl: $0.quantity.doubleValue(for: .milligramsPerDeciliter)) + } + var failed = false + if let output = displayState.output, case .failure = output.recommendationResult { + failed = true + } + + let start = Calendar.current.startOfDay(for: now) + let window = DateInterval(start: start, end: Calendar.current.date(byAdding: .day, value: 1, to: start)!) + async let dayFetch = provider.dayHistory(window) + async let recentFetch = provider.glucose(DateInterval(start: now.addingTimeInterval(-3 * 3600), end: now)) + do { + today = try await dayFetch + historyError = nil + } catch { + historyError = error.localizedDescription + } + do { + recentGlucose = try await recentFetch + glucoseHistoryError = nil + } catch { + recentGlucose = [] + glucoseHistoryError = error.localizedDescription + } + + prediction = predicted + iob = loopDataManager.activeInsulin?.value + cob = loopDataManager.activeCarbs?.quantity.doubleValue(for: .gram) + lastLoopFailed = failed + lastLoopCompleted = loopDataManager.lastLoopCompleted + closedLoop = settingsManager.dosingEnabled + targetRange = provider.glucoseTargetRange + predictionTargets = provider.glucoseTargetBands(in: DateInterval(start: now.addingTimeInterval(-3 * 3600), end: now.addingTimeInterval(3 * 3600))) + todayTargets = provider.glucoseTargetBands(in: window) + + if let latest = loopDataManager.latestGlucose { + let mgdl = latest.quantity.doubleValue(for: .milligramsPerDeciliter) + let previous = recentGlucose.last { $0.date < latest.startDate.addingTimeInterval(-60) } + var delta: Double? = nil + if let previous, latest.startDate.timeIntervalSince(previous.date) <= 15 * 60 { + delta = (mgdl - previous.mgdl) / latest.startDate.timeIntervalSince(previous.date) * 300 + } + // The CGM's own trend, as the classic HUD shows it. + reading = Reading(mgdl: mgdl, date: latest.startDate, trend: deviceManager.glucoseDisplay(for: latest)?.trendType, delta: delta) + } else { + reading = nil + } + + let scheduled = temporaryPresetsManager.basalRateScheduleApplyingOverrideHistory?.value(at: now) + scheduledBasalRate = scheduled + basalDeliveryState = deviceManager.pumpManagerStatus?.basalDeliveryState + switch basalDeliveryState { + case .suspended?, .suspending?: suspended = true + default: suspended = false + } + + pump = deviceManager.pumpManager.map { manager in + device(name: manager.localizedTitle, highlight: deviceManager.pumpStatusHighlight, progress: deviceManager.pumpLifecycleProgress) + } + cgm = deviceManager.cgmManager.map { manager in + device(name: manager.localizedTitle, highlight: deviceManager.cgmStatusHighlight, progress: deviceManager.cgmLifecycleProgress) + } + + dosingAvailable = isOnboardingComplete() || deviceManager.pumpManager?.isOnboarded == true + preMealOn = temporaryPresetsManager.isPreMealTargetActive() + overrideName = preMealOn ? nil : temporaryPresetsManager.activePreset?.name + } + + private func device(name: String, highlight: DeviceStatusHighlight?, progress: DeviceLifecycleProgress?) -> Device { + if let highlight { + return Device(name: name, message: highlight.localizedMessage, state: highlight.state) + } + if let progress, progress.progressState == .warning || progress.progressState == .critical { + return Device(name: name, message: "ending soon", state: progress.progressState == .critical ? .critical : .warning) + } + return Device(name: name, message: nil, state: nil) + } +} + +/// The buttons on the Now screen, wired to StatusTableViewController's existing flows. +struct NowActions { + var addCarbs: () -> Void = {} + var bolus: () -> Void = {} + var presets: () -> Void = {} + var showPrediction: () -> Void = {} + var showToday: () -> Void = {} + var showInsulin: () -> Void = {} + var showCarbs: () -> Void = {} + var pumpTapped: () -> Void = {} + var cgmTapped: () -> Void = {} + var loopStatusTapped: () -> Void = {} +} + +// MARK: - Header: title, status, hero, actions + +struct NowHeaderView: View { + @ObservedObject var model: NowModel + let actions: NowActions + + var body: some View { + VStack(alignment: .leading, spacing: LoopDesign.Space.s3) { + Text("Now") + .font(LoopDesign.Typeface.title) + .foregroundStyle(P.ink) + .accessibilityAddTraits(.isHeader) + statusRow + hero + actionRow + } + .padding(.horizontal, LoopDesign.Space.s4) + .padding(.top, LoopDesign.Space.s2) + .padding(.bottom, LoopDesign.Space.s2) + .frame(maxWidth: .infinity, alignment: .leading) + .background(P.surface) + .onReceive(Timer.publish(every: 30, on: .main, in: .common).autoconnect()) { model.now = $0 } + } + + // Status pills replace Loop's HUD icons with words. + private var statusRow: some View { + ScrollView(.horizontal, showsIndicators: false) { + HStack(spacing: LoopDesign.Space.s2) { + Button(action: actions.loopStatusTapped) { + StatusPill(text: loopText, dot: loopColor) + } + .accessibilityHint("Shows when Loop last ran") + Button(action: actions.pumpTapped) { + if let pump = model.pump { + StatusPill(text: pillText(pump), dot: pillColor(pump)) + } else { + StatusPill(text: "Add pump", dot: P.statusCritical) + } + } + .accessibilityHint(model.pump == nil ? "Sets up a pump" : "Opens pump settings") + Button(action: actions.cgmTapped) { + if let cgm = model.cgm { + StatusPill(text: pillText(cgm), dot: pillColor(cgm)) + } else { + StatusPill(text: "Add CGM", dot: P.statusCritical) + } + } + .accessibilityHint(model.cgm == nil ? "Sets up a CGM" : "Opens CGM settings") + } + } + .buttonStyle(.plain) + } + + private var loopText: String { + let mode = model.closedLoop ? "Closed loop" : "Open loop" + guard let last = model.lastLoopCompleted else { return "\(mode) · not run yet" } + switch model.loopState { + case .failed: return "Loop failed · \(LoopFormat.ago(last, now: model.now))" + default: return "\(mode) · \(LoopFormat.ago(last, now: model.now))" + } + } + + /// Green only while closed loop is running; open loop that ran on time is neutral. + private var loopColor: Color { + switch model.loopState { + case .fresh: return model.closedLoop ? P.statusAutomated : P.inkMuted + case .stale: return P.statusWarning + case .failed, .never: return P.statusCritical + } + } + + private func pillText(_ device: NowModel.Device) -> String { + guard let message = device.message else { return device.name } + return "\(device.name) · \(message)" + } + + private func pillColor(_ device: NowModel.Device) -> Color? { + switch device.state { + case .critical?: return P.statusCritical + case .warning?: return P.statusWarning + default: return nil + } + } + + private var hero: some View { + LoopCard { + HStack(alignment: .top) { + VStack(alignment: .leading, spacing: 0) { + HStack(alignment: .center, spacing: LoopDesign.Space.s2) { + if let reading = model.reading, !model.readingIsStale { + Text(model.unit.format(reading.mgdl)) + .font(LoopDesign.Typeface.glucoseHero) + .foregroundStyle(P.ink) + .lineLimit(1) + .minimumScaleFactor(0.6) + if let trend = reading.trend { + Image(systemName: Self.symbol(for: trend)) + .font(.system(size: 30, weight: .bold)) + .foregroundStyle(P.glucose) + .accessibilityLabel(trend.localizedDescription) + } + } else { + Text("No reading") + .font(.system(size: 34, weight: .bold, design: .rounded)) + .foregroundStyle(P.inkMuted) + } + } + Text(readingDetail) + .font(LoopDesign.Typeface.subhead) + .foregroundStyle(P.inkMuted) + if let rangePill { + StatusPill(text: rangePill.0, dot: rangePill.1) + .padding(.top, LoopDesign.Space.s1) + } + } + Spacer(minLength: LoopDesign.Space.s2) + VStack(alignment: .trailing, spacing: 2) { + if let reading = model.reading { + Text(LoopFormat.time(reading.date)) + } + if let target = model.targetRange { + Text("Target \(model.unit.format(target.lowerBound))–\(model.unit.format(target.upperBound))") + } + } + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + .padding(.top, LoopDesign.Space.s4) + } + .accessibilityElement(children: .combine) + + AdaptiveRow { + // As on the classic charts: insulin opens Loop's delivery history, carbs its absorption screen. + Button(action: actions.showInsulin) { + ValueTile(label: "IOB") { + Text(model.iob.map(LoopFormat.doseUnits) ?? "–") + .font(LoopDesign.Typeface.statValueSmall) + .foregroundStyle(P.insulinInk) + } + } + .buttonStyle(.plain) + .accessibilityHint("Opens insulin delivery history") + Button(action: actions.showCarbs) { + ValueTile(label: "COB") { + Text(model.cob.map(LoopFormat.grams) ?? "–") + .font(LoopDesign.Typeface.statValueSmall) + .foregroundStyle(P.carbsInk) + } + } + .buttonStyle(.plain) + .accessibilityHint("Opens carb absorption") + ValueTile(label: "Basal") { + VStack(alignment: .leading, spacing: 0) { + HStack(alignment: .firstTextBaseline, spacing: 2) { + Text(model.basalRate.map { String(format: "%.2f", $0) } ?? "–") + .font(LoopDesign.Typeface.statValueSmall) + .foregroundStyle(P.ink) + Text("U/h") + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + } + if model.suspended { + Text("Suspended") + .font(LoopDesign.Typeface.footnote.weight(.semibold)) + .foregroundStyle(P.criticalInk) + } else if let rate = model.basalRate, let scheduled = model.scheduledBasalRate { + Text("\(LoopFormat.signed(rate - scheduled)) vs plan") + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.insulinInk) + .lineLimit(1) + .minimumScaleFactor(0.8) + } + } + } + } + .fixedSize(horizontal: false, vertical: true) + } + .opacity(model.readingIsStale && model.reading != nil ? 0.7 : 1) + } + + private var readingDetail: String { + guard let reading = model.reading else { return model.unit.unitName } + if model.readingIsStale { + return "Last reading \(LoopFormat.ago(reading.date, now: model.now)) ago" + } + guard let delta = reading.delta else { return model.unit.unitName } + let change = model.unit.isMmol ? LoopFormat.signed(delta / GlucoseUnitStyle.mgdlPerMmol, decimals: 1) : LoopFormat.signed(delta, decimals: 0) + return "\(model.unit.unitName) · \(change) in 5 min" + } + + /// Low and high get a pill with words; the number itself is never tinted. + private var rangePill: (String, Color)? { + guard let reading = model.reading, !model.readingIsStale else { return nil } + if reading.mgdl < 54 { return ("Urgent low", P.statusCritical) } + if reading.mgdl < 70 { return ("Low", P.statusCritical) } + if reading.mgdl > 250 { return ("High", P.statusWarning) } + return nil + } + + static func symbol(for trend: GlucoseTrend) -> String { + switch trend { + case .upUpUp: return "arrow.up.to.line" + case .upUp: return "chevron.up.2" + case .up: return "arrow.up" + case .flat: return "arrow.right" + case .down: return "arrow.down" + case .downDown: return "chevron.down.2" + case .downDownDown: return "arrow.down.to.line" + } + } + + private var actionRow: some View { + AdaptiveRow { + actionButton("Add carbs", systemImage: "fork.knife", fill: P.carbs, text: P.onFill, action: actions.addCarbs) + .disabled(!model.dosingAvailable) + .opacity(model.dosingAvailable ? 1 : 0.4) + actionButton("Bolus", systemImage: "syringe.fill", fill: P.insulin, text: P.onFill, action: actions.bolus) + .disabled(!model.dosingAvailable) + .opacity(model.dosingAvailable ? 1 : 0.4) + // Pre-meal and the other presets share Loop's Presets screen. + Button(action: actions.presets) { + actionLabel(presetsTitle, systemImage: "slider.horizontal.3", fill: presetsFill, text: P.ink) + } + .buttonStyle(.plain) + .accessibilityLabel("Presets") + .accessibilityValue(presetsTitle == "Presets" ? "" : presetsTitle) + } + } + + private var presetsFill: Color { + model.preMealOn || model.overrideName != nil ? P.accent.opacity(0.18) : P.surfaceSunken + } + + private var presetsTitle: String { + if model.preMealOn { return "Pre-meal on" } + if let name = model.overrideName { return name } + return "Presets" + } + + private func actionButton(_ title: String, systemImage: String, fill: Color, text: Color, action: @escaping () -> Void) -> some View { + Button(action: action) { + actionLabel(title, systemImage: systemImage, fill: fill, text: text) + } + .buttonStyle(.plain) + } + + private func actionLabel(_ title: String, systemImage: String, fill: Color, text: Color) -> some View { + Text(title) + .font(LoopDesign.Typeface.subhead.weight(.semibold)) + .lineLimit(1) + .minimumScaleFactor(0.8) + .foregroundStyle(text) + .frame(maxWidth: .infinity, minHeight: 44) + .background(fill, in: RoundedRectangle(cornerRadius: LoopDesign.Radius.md, style: .continuous)) + .contentShape(RoundedRectangle(cornerRadius: LoopDesign.Radius.md)) + } +} + +// MARK: - Charts: next 3 hours and today so far + +struct NowChartsView: View { + @ObservedObject var model: NowModel + let actions: NowActions + + var body: some View { + VStack(spacing: LoopDesign.Space.s4) { + predictionCard + todayCard + } + .padding(.horizontal, LoopDesign.Space.s4) + .padding(.top, LoopDesign.Space.s2) + .padding(.bottom, LoopDesign.Space.s6) + .frame(maxWidth: .infinity) + .background(P.surface) + } + + private var readings: [GlucosePoint] { + model.recentGlucose.filter { $0.date >= model.now.addingTimeInterval(-3 * 3600) } + } + + private var predictionCard: some View { + Button(action: actions.showPrediction) { + LoopCard { + CardHeader(title: "Next 3 hours") { + // Loop's eventual glucose is the end of its prediction, which can run past the three hours drawn. + if let last = model.prediction.last { + Text("Eventually \(model.unit.format(last.mgdl)) \(model.unit.unitName)") + } + } + if readings.isEmpty && model.prediction.isEmpty { + ChartPlaceholder(message: model.glucoseHistoryError == nil ? "No CGM data in the last 3 hours" : "Couldn't load recent CGM readings") + } else { + PredictionChartView(readings: readings, prediction: model.prediction, unit: model.unit, + targetBands: model.predictionTargets, now: model.now) + } + ChartLegend(items: [ + LegendItem(swatch: .dot(P.glucose), label: "Readings"), + LegendItem(swatch: .dash(P.glucose), label: "Loop prediction"), + ]) + if let error = model.glucoseHistoryError { + Text("Recent readings unavailable: \(error)") + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.criticalInk) + } + } + } + .buttonStyle(.plain) + .accessibilityHint("Opens Loop's prediction breakdown") + } + + private var todayCard: some View { + Button(action: actions.showToday) { + LoopCard { + CardHeader(title: "Today so far") { + if model.historyError == nil { + HStack(spacing: 4) { + Text(LoopFormat.totalUnits(model.today.totalUnits)).foregroundStyle(P.insulinInk) + Text("·") + Text(LoopFormat.grams(model.today.carbGrams)).foregroundStyle(P.carbsInk) + } + } + } + if let error = model.historyError { + ChartPlaceholder(message: "Couldn't load today's history: \(error)") + } else { + InsulinTimelineView(history: model.today, unit: model.unit, targetBands: model.todayTargets, now: model.now, height: 230) + DayTotalsTiles(history: model.today) + ChartLegend(items: DayTotalsTiles.legend) + } + } + } + .buttonStyle(.plain) + .accessibilityHint("Opens the full day") + } +} + +/// Bolus, basal and carb totals under a timeline. +struct DayTotalsTiles: View { + let history: DayHistory + + static let legend: [LegendItem] = [ + LegendItem(swatch: .solid(P.insulin), label: "Bolus"), + LegendItem(swatch: .outline(P.insulin), label: "Automatic"), + LegendItem(swatch: .basal, label: "Basal given"), + LegendItem(swatch: .dash(P.basalScheduled), label: "Scheduled"), + ] + + var body: some View { + AdaptiveRow { + ValueTile(label: "Bolus") { + Text(LoopFormat.totalUnits(history.bolusUnits)) + .font(LoopDesign.Typeface.statValueSmall) + .foregroundStyle(P.insulinInk) + } + ValueTile(label: "Basal") { + Text(LoopFormat.totalUnits(history.basalUnits)) + .font(LoopDesign.Typeface.statValueSmall) + .foregroundStyle(P.insulinInk) + } + ValueTile(label: "Carbs") { + Text(LoopFormat.grams(history.carbGrams)) + .font(LoopDesign.Typeface.statValueSmall) + .foregroundStyle(P.carbsInk) + } + } + .fixedSize(horizontal: false, vertical: true) + } +} diff --git a/Loop/Redesign/TrendsComponents.swift b/Loop/Redesign/TrendsComponents.swift new file mode 100644 index 0000000000..76058c9655 --- /dev/null +++ b/Loop/Redesign/TrendsComponents.swift @@ -0,0 +1,580 @@ +// +// TrendsComponents.swift +// Loop +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import SwiftUI +import Charts + +private typealias P = LoopDesign.Palette + +// MARK: - RangeSelector + +enum TrendsPeriod: Int, CaseIterable, Identifiable { + case day = 1 + case week = 7 + case twoWeeks = 14 + case month = 30 + case quarter = 90 + + var id: Int { rawValue } + + var label: String { self == .day ? "Day" : "\(rawValue) d" } + + var accessibilityName: String { self == .day ? "Day" : "\(rawValue) days" } + + /// The period ending on `endDay` (inclusive), cut off at `now` when it ends today. + func interval(endingOn endDay: Date, now: Date = Date(), calendar: Calendar = .current) -> DateInterval { + let endOfDay = calendar.date(byAdding: .day, value: 1, to: calendar.startOfDay(for: endDay))! + let start = calendar.date(byAdding: .day, value: -rawValue, to: endOfDay)! + return DateInterval(start: start, end: min(endOfDay, now)) + } +} + +struct RangeSelectorView: View { + @Binding var period: TrendsPeriod + @Binding var endDay: Date + var now: Date = Date() + + private var calendar: Calendar { .current } + + private var canStepForward: Bool { + !calendar.isDate(endDay, inSameDayAs: now) && endDay < now + } + + var body: some View { + VStack(spacing: LoopDesign.Space.s3) { + HStack(spacing: 2) { + ForEach(TrendsPeriod.allCases) { option in + Button { + withAnimation(.snappy(duration: 0.2)) { period = option } + } label: { + Text(option.label) + .font(.footnote.weight(.semibold)) + .foregroundStyle(P.ink) + .frame(maxWidth: .infinity, minHeight: 30) + .background { + if option == period { + Capsule().fill(P.controlThumb).shadow(color: .black.opacity(0.12), radius: 3, y: 1) + } + } + .contentShape(Capsule()) + } + .buttonStyle(.plain) + .accessibilityLabel(option.accessibilityName) + .accessibilityAddTraits(option == period ? .isSelected : []) + } + } + .padding(2) + .background(P.surfaceSunken, in: Capsule()) + + HStack { + stepButton(systemName: "chevron.left", label: "Previous period", enabled: true) { step(-1) } + Spacer() + Text(LoopFormat.range(period.interval(endingOn: endDay, now: now).start, endDay)) + .font(LoopDesign.Typeface.headline.monospacedDigit()) + .foregroundStyle(P.ink) + Spacer() + stepButton(systemName: "chevron.right", label: "Next period", enabled: canStepForward) { step(1) } + } + } + } + + private func step(_ direction: Int) { + guard let next = calendar.date(byAdding: .day, value: direction * period.rawValue, to: endDay) else { return } + endDay = min(next, now) + } + + private func stepButton(systemName: String, label: String, enabled: Bool, action: @escaping () -> Void) -> some View { + Button(action: action) { + Image(systemName: systemName) + .font(.footnote.weight(.semibold)) + .frame(width: 30, height: 30) + .background(P.surfaceRaised, in: Circle()) + .overlay(Circle().strokeBorder(P.separator)) + } + .buttonStyle(.plain) + .foregroundStyle(enabled ? P.ink : P.inkMuted.opacity(0.5)) + .disabled(!enabled) + .accessibilityLabel(label) + } +} + +// MARK: - StatGrid + +struct StatTile: Identifiable { + let label: String + let value: String + let unit: String? + let detail: String? + var id: String { label } +} + +struct StatGridView: View { + @Environment(\.dynamicTypeSize) private var typeSize + let tiles: [StatTile] + + /// Pairs of tiles, so both tiles in a row take the taller one's height; one per row at accessibility sizes. + private var rows: [[StatTile]] { + let shown = Array(tiles.prefix(6)) + let perRow = typeSize.isAccessibilitySize ? 1 : 2 + return stride(from: 0, to: shown.count, by: perRow).map { Array(shown[$0.. some View { + VStack(alignment: .leading, spacing: 2) { + Text(tile.label) + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + HStack(alignment: .firstTextBaseline, spacing: 2) { + Text(tile.value) + .font(LoopDesign.Typeface.statValue) + .foregroundStyle(P.ink) + .minimumScaleFactor(0.7) + .lineLimit(1) + if let unit = tile.unit { + Text(unit) + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + } + } + if let detail = tile.detail { + Text(detail) + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + .lineLimit(2) + } + } + .padding(LoopDesign.Space.s3) + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading) + .background(P.surfaceSunken, in: RoundedRectangle(cornerRadius: LoopDesign.Radius.md, style: .continuous)) + .accessibilityElement(children: .combine) + } +} + +// MARK: - TimeInRange + +struct TimeInRangeView: View { + @Environment(\.dynamicTypeSize) private var typeSize + + /// Fractions per band, 0–1. + let fractions: [LoopHistoryMath.RangeBand: Double] + let unit: GlucoseUnitStyle + + private var percentages: [LoopHistoryMath.RangeBand: Int] { LoopHistoryMath.roundedPercentages(fractions) } + + static func color(_ band: LoopHistoryMath.RangeBand) -> Color { + switch band { + case .veryHigh: return P.rangeVeryHigh + case .high: return P.rangeHigh + case .inRange: return P.rangeIn + case .low: return P.rangeLow + case .veryLow: return P.rangeVeryLow + } + } + + var body: some View { + HStack(alignment: .top, spacing: LoopDesign.Space.s4) { + bar + .frame(width: 14) + VStack(spacing: LoopDesign.Space.s2) { + ForEach(LoopHistoryMath.RangeBand.allCases) { band in + row(band) + } + } + } + .fixedSize(horizontal: false, vertical: true) + } + + private var bar: some View { + GeometryReader { geometry in + let minimum: CGFloat = 4 + let bands = LoopHistoryMath.RangeBand.allCases + let raw = bands.map { CGFloat(fractions[$0] ?? 0) } + let floors = raw.map { $0 > 0 ? max(minimum, $0 * geometry.size.height) : 0 } + let spare = geometry.size.height - floors.reduce(0, +) + // Trim the space the minimums borrowed from the largest band. + let largest = raw.indices.max { raw[$0] < raw[$1] } ?? 2 + VStack(spacing: 1) { + ForEach(Array(bands.enumerated()), id: \.offset) { index, band in + let height = index == largest ? max(0, floors[index] + spare) : floors[index] + if height > 0 { + Rectangle().fill(Self.color(band)).frame(height: max(0, height - 1)) + } + } + } + .clipShape(Capsule()) + } + .accessibilityHidden(true) + } + + private func row(_ band: LoopHistoryMath.RangeBand) -> some View { + let fraction = fractions[band] ?? 0 + let hours = fraction * 24 + let thresholds = Text(band.thresholds(unit)) + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + return VStack(alignment: .leading, spacing: 0) { + HStack(alignment: .firstTextBaseline, spacing: LoopDesign.Space.s2) { + Text("\(percentages[band] ?? 0)%") + .font(LoopDesign.Typeface.statValueSmall) + .foregroundStyle(P.ink) + .frame(minWidth: typeSize.isAccessibilitySize ? nil : 52, alignment: .trailing) + Text(band.name) + .font(LoopDesign.Typeface.subhead) + .foregroundStyle(P.ink) + if !typeSize.isAccessibilitySize { + thresholds + } + Spacer(minLength: LoopDesign.Space.s1) + Text(String(format: "%.1f h", hours)) + .font(LoopDesign.Typeface.footnote.monospacedDigit()) + .foregroundStyle(P.inkMuted) + } + if typeSize.isAccessibilitySize { + thresholds + } + } + .accessibilityElement(children: .ignore) + .accessibilityLabel("\(band.name), \(band.thresholds(unit)) \(unit.unitName): \(percentages[band] ?? 0) percent, \(String(format: "%.1f", hours)) hours a day") + } +} + +// MARK: - AGP + +struct TrendsAGPChart: View { + let slots: [LoopHistoryMath.AGPSlot] + let readings: [GlucosePoint] + let days: Int + let unit: GlucoseUnitStyle + let targetRange: ClosedRange? + var height: CGFloat = 180 + + private func v(_ mgdl: Double) -> Double { + min(max(unit.value(mgdl), unit.agpDomain.lowerBound), unit.agpDomain.upperBound) + } + + private static let hourTicks = [0, 360, 720, 1080, 1440] + + private static func label(minute: Int) -> String { + let minute = minute % 1440 + let date = Calendar.current.date(bySettingHour: minute / 60, minute: minute % 60, second: 0, of: Date())! + return DayAxis.hourLabel(date) + } + + var enoughDays: Bool { days >= 5 } + + var body: some View { + VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { + if readings.isEmpty { + ChartPlaceholder(message: "No CGM data in this period", height: height) + } else { + chart.frame(height: height) + if !enoughDays { + Text("Not enough days for a pattern: \(days) of 5") + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + } + } + } + } + + private func minuteOfDay(_ date: Date) -> Int { + let parts = Calendar.current.dateComponents([.hour, .minute], from: date) + return (parts.hour ?? 0) * 60 + (parts.minute ?? 0) + } + + private var chart: some View { + Chart { + if let targetRange { + RectangleMark(xStart: .value("Start", 0), xEnd: .value("End", 1440), + yStart: .value("Low", v(targetRange.lowerBound)), yEnd: .value("High", v(targetRange.upperBound))) + .foregroundStyle(P.targetBand) + } + if enoughDays { + ForEach(slots, id: \.minute) { slot in + AreaMark(x: .value("Time", slot.minute), yStart: .value("5%", v(slot.p5)), yEnd: .value("95%", v(slot.p95)), series: .value("Band", "outer")) + .foregroundStyle(P.agpOuter) + .interpolationMethod(.monotone) + } + ForEach(slots, id: \.minute) { slot in + AreaMark(x: .value("Time", slot.minute), yStart: .value("25%", v(slot.p25)), yEnd: .value("75%", v(slot.p75)), series: .value("Band", "inner")) + .foregroundStyle(P.agpInner) + .interpolationMethod(.monotone) + } + ForEach(slots, id: \.minute) { slot in + LineMark(x: .value("Time", slot.minute), y: .value("Median", v(slot.p50)), series: .value("Band", "median")) + .foregroundStyle(P.glucose) + .lineStyle(StrokeStyle(lineWidth: 2.5)) + .interpolationMethod(.monotone) + } + } else { + ForEach(Array(readings.enumerated()), id: \.offset) { _, point in + PointMark(x: .value("Time", minuteOfDay(point.date)), y: .value("Glucose", v(point.mgdl))) + .symbolSize(8) + .foregroundStyle(P.glucose) + } + } + } + .chartXScale(domain: 0...1440) + .chartYScale(domain: unit.agpDomain) + .chartXAxis { + AxisMarks(values: Self.hourTicks) { value in + AxisGridLine().foregroundStyle(P.grid) + AxisValueLabel { + if let minute = value.as(Int.self) { Text(Self.label(minute: minute)) } + } + .font(LoopDesign.Typeface.caption) + .foregroundStyle(P.inkMuted) + } + } + .chartYAxis { + AxisMarks(position: .leading, values: unit.agpTicks) { _ in + AxisGridLine().foregroundStyle(P.grid) + AxisValueLabel().font(LoopDesign.Typeface.caption).foregroundStyle(P.inkMuted) + } + } + .accessibilityElement(children: .ignore) + .accessibilityLabel(accessibilitySummary) + } + + private var accessibilitySummary: String { + guard enoughDays, let high = slots.max(by: { $0.p50 < $1.p50 }), let low = slots.min(by: { $0.p50 < $1.p50 }) else { + return "Daily pattern: not enough days" + } + return "Daily pattern over \(days) days. Median highest \(unit.format(high.p50)) at \(Self.label(minute: high.minute)), lowest \(unit.format(low.p50)) at \(Self.label(minute: low.minute))" + } +} + +// MARK: - InsulinDailyTotals + +struct InsulinDailyTotalsView: View { + let totals: [LoopHistoryMath.DayTotal] + /// Weekly averages instead of days, for periods past 30 days. + let weekly: Bool + /// Calculated from the original daily totals, even when the bars are weekly averages. + let average: Double + var height: CGFloat = 170 + var onSelectDay: ((Date) -> Void)? = nil + + private var yMax: Double { + let top = max(totals.map(\.total).max() ?? 0, average) + return max(10, IOBCOBChartView.niceStep(top / 4) * 5) + } + + var body: some View { + if totals.allSatisfy({ $0.total == 0 }) { + ChartPlaceholder(message: "No insulin recorded in this period", height: height) + } else { + chart.frame(height: height) + } + } + + private var unitWidth: Calendar.Component { weekly ? .weekOfYear : .day } + + private var chart: some View { + Chart { + ForEach(totals) { day in + BarMark(x: .value("Day", day.day, unit: unitWidth), yStart: .value("Base", 0), yEnd: .value("Basal", day.basal), width: .ratio(0.7)) + .foregroundStyle(P.basal) + BarMark(x: .value("Day", day.day, unit: unitWidth), yStart: .value("Basal", max(0, day.basal - yMax * 0.006)), yEnd: .value("Edge", day.basal), width: .ratio(0.7)) + .foregroundStyle(P.basalEdge) + BarMark(x: .value("Day", day.day, unit: unitWidth), yStart: .value("Basal", day.basal), yEnd: .value("Total", day.total), width: .ratio(0.7)) + .foregroundStyle(P.insulin) + } + RuleMark(y: .value("Average", average)) + .foregroundStyle(P.ink) + .lineStyle(StrokeStyle(lineWidth: 1, dash: [4, 3])) + .annotation(position: .top, alignment: .trailing, spacing: 2) { + Text(String(format: "%.1f", average)) + .font(LoopDesign.Typeface.caption.weight(.semibold)) + .foregroundStyle(P.ink) + } + } + .chartYScale(domain: 0...yMax) + .chartXAxis { + AxisMarks(values: axisDates) { value in + AxisValueLabel(centered: true) { + if let date = value.as(Date.self) { + Text(axisLabel(date)) + .multilineTextAlignment(.center) + } + } + .font(LoopDesign.Typeface.caption) + .foregroundStyle(P.inkMuted) + } + } + .chartYAxis { + AxisMarks(position: .leading) { _ in + AxisGridLine().foregroundStyle(P.grid) + AxisValueLabel().font(LoopDesign.Typeface.caption).foregroundStyle(P.inkMuted) + } + } + .chartOverlay { proxy in + GeometryReader { geometry in + Rectangle().fill(.clear).contentShape(Rectangle()) + .onTapGesture { location in + guard let onSelectDay, !weekly, let frame = proxy.plotFrame else { return } + let x = location.x - geometry[frame].origin.x + if let date: Date = proxy.value(atX: x), + let day = totals.min(by: { abs($0.day.addingTimeInterval(43200).timeIntervalSince(date)) < abs($1.day.addingTimeInterval(43200).timeIntervalSince(date)) }) { + onSelectDay(day.day) + } + } + } + } + .accessibilityElement(children: .ignore) + .accessibilityLabel("Insulin per \(weekly ? "day, weekly average" : "day"), average \(LoopFormat.totalUnits(average))") + } + + private var axisDates: [Date] { + if weekly { + let stride = max(1, Int(ceil(Double(totals.count) / 6))) + return totals.enumerated().compactMap { index, total in index % stride == 0 ? total.day : nil } + } + if totals.count > 14 { + return totals.map(\.day).filter { Calendar.current.component(.weekday, from: $0) == 2 } + } + return totals.map(\.day) + } + + private func axisLabel(_ date: Date) -> String { + if weekly { + return date.formatted(.dateTime.day().month(.abbreviated)) + } + let weekday = String(date.formatted(.dateTime.weekday(.narrow))) + if totals.count <= 14 { + let first = totals.first?.day == date, last = totals.last?.day == date + let isMonday = Calendar.current.component(.weekday, from: date) == 2 + return first || last || isMonday ? "\(weekday)\n\(date.formatted(.dateTime.day()))" : weekday + } + // 30 days: label every Monday only. + return Calendar.current.component(.weekday, from: date) == 2 ? date.formatted(.dateTime.day().month(.abbreviated)) : "" + } +} + +// MARK: - LoopModeBar + +struct LoopModeBarView: View { + let spans: [LoopModeSpan] + + private var total: TimeInterval { spans.reduce(0) { $0 + $1.duration } } + + static func color(_ mode: LoopModeSpan.Mode) -> Color { + switch mode { + case .closed: return P.statusAutomated + case .limited: return P.statusWarning + case .open: return P.statusCritical + } + } + + static func name(_ mode: LoopModeSpan.Mode) -> String { + switch mode { + case .closed: return "Closed loop" + case .limited: return "Limited" + case .open: return "Open loop / manual" + } + } + + private let modes: [LoopModeSpan.Mode] = [.closed, .limited, .open] + + var body: some View { + if total <= 0 { + ChartPlaceholder(message: "No loop runs recorded in this period", height: 60) + } else { + VStack(spacing: LoopDesign.Space.s3) { + bar.frame(height: 10) + ForEach(modes, id: \.self) { mode in + row(mode) + } + } + } + } + + private func fraction(_ mode: LoopModeSpan.Mode) -> Double { + LoopHistoryMath.duration(of: mode, in: spans) / total + } + + private var bar: some View { + GeometryReader { geometry in + let minimum: CGFloat = 4 + let widths = modes.map { fraction($0) > 0 ? max(minimum, fraction($0) * geometry.size.width) : 0 } + let excess = widths.reduce(0, +) - geometry.size.width + HStack(spacing: 1) { + ForEach(Array(modes.enumerated()), id: \.offset) { index, mode in + if widths[index] > 0 { + Rectangle() + .fill(Self.color(mode)) + .frame(width: max(0, index == 0 ? widths[index] - excess - 2 : widths[index])) + } + } + } + .clipShape(Capsule()) + } + .accessibilityHidden(true) + } + + private func row(_ mode: LoopModeSpan.Mode) -> some View { + let duration = LoopHistoryMath.duration(of: mode, in: spans) + return HStack(spacing: LoopDesign.Space.s2) { + Circle().fill(Self.color(mode)).frame(width: 8, height: 8) + Text(Self.name(mode)) + .font(LoopDesign.Typeface.subhead) + .foregroundStyle(P.ink) + Text("· \(LoopFormat.duration(duration))") + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + Spacer() + Text(String(format: "%.1f%%", fraction(mode) * 100)) + .font(LoopDesign.Typeface.statValueSmall) + .foregroundStyle(P.ink) + } + .accessibilityElement(children: .combine) + } +} + +struct LoopGapsList: View { + let spans: [LoopModeSpan] + + private var gaps: [LoopModeSpan] { + spans.filter { $0.mode != .closed }.sorted { $0.start > $1.start } + } + + var body: some View { + List { + if gaps.isEmpty { + Text("No gaps: Loop ran closed loop all through this period.") + .foregroundStyle(P.inkMuted) + } + ForEach(Array(gaps.enumerated()), id: \.offset) { _, gap in + HStack(alignment: .top, spacing: LoopDesign.Space.s3) { + Circle().fill(LoopModeBarView.color(gap.mode)).frame(width: 8, height: 8).padding(.top, 6) + VStack(alignment: .leading, spacing: 2) { + Text(gap.cause ?? LoopModeBarView.name(gap.mode)) + .font(LoopDesign.Typeface.body) + Text("\(LoopFormat.weekdayDay(gap.start)), \(LoopFormat.time(gap.start)) · \(LoopFormat.duration(gap.duration))") + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + } + } + .accessibilityElement(children: .combine) + } + } + .navigationTitle("Gaps") + .navigationBarTitleDisplayMode(.inline) + } +} diff --git a/Loop/Redesign/TrendsScreen.swift b/Loop/Redesign/TrendsScreen.swift new file mode 100644 index 0000000000..1c7cdd0f2d --- /dev/null +++ b/Loop/Redesign/TrendsScreen.swift @@ -0,0 +1,428 @@ +// +// TrendsScreen.swift +// Loop +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import SwiftUI +import UIKit + +private typealias P = LoopDesign.Palette + +/// The period review: everything on the screen follows one RangeSelector period. +@MainActor +final class TrendsModel: ObservableObject { + + struct Summary { + var interval: DateInterval + var unit: GlucoseUnitStyle + var glucose: [GlucosePoint] = [] + var stats: LoopHistoryMath.GlucoseStats? + var cgmActive: Double = 0 + var timeInRange: [LoopHistoryMath.RangeBand: Double] = [:] + var agp: [LoopHistoryMath.AGPSlot] = [] + var agpDays = 0 + var totals: [LoopHistoryMath.DayTotal] = [] + /// Carbs and bolus counts cover only the days per-day figures divide by (see `dataDays`). + var carbGrams = 0.0 + var carbEntries = 0 + var carbsByDay: [Date: Double] = [:] + var manualBoluses = 0 + var automaticBoluses = 0 + var loopSpans: [LoopModeSpan] = [] + var loopCoverageStart: Date? + var targetRange: ClosedRange? + + /// The days per-day figures divide by: insulin's averaging days, or complete days with CGM data when there is + /// no insulin (today only when no complete day has any), never the period length. + var dataDays = 0 + var days: Double { Double(max(1, dataDays)) } + var basalUnits: Double { LoopHistoryMath.averagingDays(totals).reduce(0) { $0 + $1.basal } } + var bolusUnits: Double { LoopHistoryMath.averagingDays(totals).reduce(0) { $0 + $1.bolus } } + var insulinPerDay: Double { LoopHistoryMath.averageDailyInsulin(totals) } + var basalShare: Double { basalUnits + bolusUnits > 0 ? basalUnits / (basalUnits + bolusUnits) : 0 } + } + + @Published var period: TrendsPeriod = .twoWeeks + @Published var endDay = Date() + @Published private(set) var summary: Summary? + @Published private(set) var loading = false + @Published private(set) var loadError: String? + + let provider: LoopHistoryProvider + private var loadTask: Task? + + init(provider: LoopHistoryProvider) { + self.provider = provider + } + + var interval: DateInterval { period.interval(endingOn: endDay) } + + func reload() { + loadTask?.cancel() + let interval = self.interval + loading = true + summary = nil + loadError = nil + loadTask = Task { + do { + let result = try await Self.load(provider: provider, interval: interval) + guard !Task.isCancelled else { return } + self.summary = result + } catch { + guard !Task.isCancelled else { return } + self.loadError = error.localizedDescription + } + self.loading = false + } + } + + private static func load(provider: LoopHistoryProvider, interval: DateInterval) async throws -> Summary { + var summary = Summary(interval: interval, unit: provider.unitStyle) + summary.targetRange = provider.glucoseTargetRange + + async let historyFetch = provider.dayHistory(interval, includeOnBoard: false) + async let runsFetch = provider.loopRuns() + let history = try await historyFetch + let (runs, coverageStart) = try await runsFetch + + summary.glucose = history.glucose + summary.stats = LoopHistoryMath.glucoseStats(history.glucose) + summary.cgmActive = LoopHistoryMath.cgmActiveFraction(history.glucose, over: interval) + summary.timeInRange = LoopHistoryMath.timeInRange(history.glucose) + summary.agp = LoopHistoryMath.agp(history.glucose) + summary.agpDays = LoopHistoryMath.daysWithReadings(history.glucose) + + let calendar = Calendar.current + summary.totals = LoopHistoryMath.days(in: interval).map { day in + let basal = history.basal.compactMap { $0.clamped(to: day) }.reduce(0) { $0 + $1.units } + let bolus = history.boluses.filter { $0.date >= day.start && $0.date < day.end }.reduce(0) { $0 + $1.units } + return LoopHistoryMath.DayTotal(day: day.start, basal: basal, bolus: bolus, + isComplete: calendar.date(byAdding: .day, value: 1, to: day.start) == day.end) + } + let glucoseDays = Set(history.glucose.map { calendar.startOfDay(for: $0.date) }) + // Carbs and bolus counts share insulin's days, so a period with years of CGM data but a few days of Loop + // isn't spread thin. Without insulin, fall back to days with CGM data. + let withData = summary.totals.filter { $0.total > 0 || glucoseDays.contains($0.day) } + let insulinDays = LoopHistoryMath.averagingDays(summary.totals) + let averaged = !insulinDays.isEmpty ? insulinDays + : withData.contains(where: \.isComplete) ? withData.filter(\.isComplete) : withData + let averagedDays = Set(averaged.map(\.day)) + let inAveragedDays: (Date) -> Bool = { averagedDays.contains(calendar.startOfDay(for: $0)) } + summary.dataDays = averaged.count + summary.carbsByDay = Dictionary(grouping: history.carbs) { calendar.startOfDay(for: $0.date) } + .mapValues { $0.reduce(0) { $0 + $1.grams } } + let carbs = history.carbs.filter { inAveragedDays($0.date) } + summary.carbGrams = carbs.reduce(0) { $0 + $1.grams } + summary.carbEntries = carbs.count + let boluses = history.boluses.filter { inAveragedDays($0.date) } + summary.manualBoluses = boluses.filter { !$0.automatic }.count + summary.automaticBoluses = boluses.filter(\.automatic).count + + summary.loopCoverageStart = coverageStart + summary.loopSpans = LoopHistoryMath.loopModeSpans(interval: interval, runs: runs, modeChanges: LoopModeHistory.shared.changes, + coverageStart: coverageStart) + return summary + } + + // MARK: Tiles + + func tiles(_ s: Summary) -> [StatTile] { + let unit = s.unit + var tiles: [StatTile] = [] + if let stats = s.stats { + tiles.append(StatTile(label: "Average", value: unit.format(stats.meanMgdl), unit: unit.unitName, + detail: "SD \(unit.format(stats.sdMgdl)) · CV \(Int((stats.cv * 100).rounded()))%")) + let enough = s.cgmActive * s.interval.duration / 86400 >= 10 + tiles.append(StatTile(label: "GMI", value: String(format: "%.1f", stats.gmiPercent), unit: "%", + detail: enough ? "\(Int(stats.gmiMmolMol.rounded())) mmol/mol" : "Needs 10 days of CGM")) + } else { + tiles.append(StatTile(label: "Average", value: "–", unit: unit.unitName, detail: "No CGM data")) + tiles.append(StatTile(label: "GMI", value: "–", unit: "%", detail: nil)) + } + tiles.append(StatTile(label: "Insulin per day", value: String(format: "%.1f", s.insulinPerDay), unit: "U", + detail: "\(Int((s.basalShare * 100).rounded()))% basal" + daysNote(s))) + tiles.append(StatTile(label: "Carbs per day", value: String(format: "%.0f", s.carbGrams / s.days), unit: "g", + detail: String(format: "%.1f entries", Double(s.carbEntries) / s.days))) + tiles.append(StatTile(label: "Boluses per day", value: String(format: "%.1f", Double(s.manualBoluses) / s.days), unit: nil, + detail: String(format: "+ %.1f automatic", Double(s.automaticBoluses) / s.days))) + let covered = s.loopSpans.reduce(0) { $0 + $1.duration } + if covered > 0 { + let closed = LoopHistoryMath.duration(of: .closed, in: s.loopSpans) + tiles.append(StatTile(label: "Loop active", value: "\(Int((closed / covered * 100).rounded()))", unit: "%", + detail: "\(LoopFormat.duration(closed)) of \(LoopFormat.duration(covered))")) + } else { + tiles.append(StatTile(label: "Loop active", value: "–", unit: "%", detail: "No loop runs kept")) + } + return tiles + } + + /// " · 5 of 14 days" when only part of the period is averaged: days without data, or today while it runs. + private func daysNote(_ s: Summary) -> String { + let insulinDays = LoopHistoryMath.averagingDays(s.totals).count + return insulinDays < s.totals.count ? " · \(insulinDays) of \(s.totals.count) day\(s.totals.count == 1 ? "" : "s")" : "" + } + + // MARK: Export + + func exportCSV(_ s: Summary) throws -> URL { + var lines = ["date,mean_glucose_\(s.unit.isMmol ? "mmol_l" : "mg_dl"),readings,time_in_range_pct,basal_u,bolus_u,total_u,carbs_g"] + let calendar = Calendar.current + let byDay = Dictionary(grouping: s.glucose) { calendar.startOfDay(for: $0.date) } + for total in s.totals { + let readings = byDay[total.day] ?? [] + let mean = readings.isEmpty ? "" : s.unit.format(readings.reduce(0) { $0 + $1.mgdl } / Double(readings.count)) + let tir = readings.isEmpty ? "" : String(format: "%.0f", (LoopHistoryMath.timeInRange(readings)[.inRange] ?? 0) * 100) + let date = Date.ISO8601FormatStyle(timeZone: .current).year().month().day().format(total.day) + let carbs = String(format: "%.0f", s.carbsByDay[total.day] ?? 0) + lines.append("\(date),\(mean),\(readings.count),\(tir),\(String(format: "%.2f,%.2f,%.2f", total.basal, total.bolus, total.total)),\(carbs)") + } + let url = FileManager.default.temporaryDirectory.appendingPathComponent("Loop trends \(Self.fileStamp(s.interval)).csv") + try lines.joined(separator: "\n").write(to: url, atomically: true, encoding: .utf8) + return url + } + + func exportPDF(_ s: Summary) throws -> URL { + let url = FileManager.default.temporaryDirectory.appendingPathComponent("Loop trends \(Self.fileStamp(s.interval)).pdf") + let report = TrendsReport(summary: s, tiles: tiles(s)) + .frame(width: 560) + .environment(\.colorScheme, .light) + let renderer = ImageRenderer(content: report) + renderer.proposedSize = ProposedViewSize(width: 560, height: nil) + var thrown: Error? + renderer.render { size, draw in + var box = CGRect(x: 0, y: 0, width: 612, height: max(792, size.height + 52)) + guard let consumer = CGDataConsumer(url: url as CFURL), let context = CGContext(consumer: consumer, mediaBox: &box, nil) else { + thrown = CocoaError(.fileWriteUnknown) + return + } + context.beginPDFPage(nil) + context.translateBy(x: 26, y: box.height - size.height - 26) + draw(context) + context.endPDFPage() + context.closePDF() + } + if let thrown { throw thrown } + return url + } + + private static func fileStamp(_ interval: DateInterval) -> String { + LoopFormat.range(interval.start, interval.end.addingTimeInterval(-1)).replacingOccurrences(of: " – ", with: " to ") + } +} + +// MARK: - Screen + +struct TrendsView: View { + @StateObject private var model: TrendsModel + @State private var path: [TrendsRoute] = [] + @State private var exportURL: URL? + @State private var exportError: String? + + enum TrendsRoute: Hashable { + case day(Date) + case gaps + } + + init(provider: LoopHistoryProvider) { + _model = StateObject(wrappedValue: TrendsModel(provider: provider)) + } + + var body: some View { + NavigationStack(path: $path) { + ScrollView { + LazyVStack(alignment: .leading, spacing: LoopDesign.Space.s6, pinnedViews: [.sectionHeaders]) { + Section { + content + } header: { + RangeSelectorView(period: $model.period, endDay: $model.endDay) + .padding(.vertical, LoopDesign.Space.s2) + .background(P.surface) + } + } + .padding(.horizontal, LoopDesign.Space.s4) + .padding(.bottom, LoopDesign.Space.s6) + } + .background(P.surface) + .navigationTitle("Trends") + .refreshable { model.reload() } + .navigationDestination(for: TrendsRoute.self) { route in + switch route { + case .day(let day): + DayDetailView(provider: model.provider, day: day) + case .gaps: + LoopGapsList(spans: model.summary?.loopSpans ?? []) + } + } + } + .onAppear { model.reload() } + .onChange(of: model.period) { _, _ in model.reload() } + .onChange(of: model.endDay) { _, _ in model.reload() } + .sheet(item: $exportURL) { url in + ShareSheet(items: [url]) + } + .alert("Couldn't export", isPresented: Binding(get: { exportError != nil }, set: { if !$0 { exportError = nil } })) { + Button("OK", role: .cancel) {} + } message: { + Text(exportError ?? "") + } + } + + @ViewBuilder + private var content: some View { + if let s = model.summary { + summaryCard(s) + LoopCard { + CardHeader(title: "Time in range") { + Text("\(Int((s.cgmActive * 100).rounded()))% CGM active") + } + if s.glucose.isEmpty { + ChartPlaceholder(message: "No CGM data in this period") + } else { + TimeInRangeView(fractions: s.timeInRange, unit: s.unit) + } + Text("Aim: over 70% in range, under 4% low.") + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + } + LoopCard { + CardHeader(title: "Daily pattern") { Text(s.unit.unitName) } + TrendsAGPChart(slots: s.agp, readings: s.glucose, days: s.agpDays, unit: s.unit, targetRange: s.targetRange) + ChartLegend(items: [ + LegendItem(swatch: .solid(P.glucose), label: "Median"), + LegendItem(swatch: .solid(P.agpInner), label: "25–75%"), + LegendItem(swatch: .solid(P.agpOuter), label: "5–95%"), + ]) + } + LoopCard { + CardHeader(title: "Insulin per day") { + Text(s.totals.count > 30 ? "per day, weekly average" : "basal and bolus") + } + InsulinDailyTotalsView(totals: s.totals.count > 30 ? LoopHistoryMath.weekly(s.totals) : s.totals, + weekly: s.totals.count > 30, average: s.insulinPerDay) { day in + path.append(.day(day)) + } + ChartLegend(items: insulinLegend(s)) + } + LoopCard { + CardHeader(title: "Loop status") { + Button("Gaps") { path.append(.gaps) } + .foregroundStyle(P.accentInk) + .disabled(s.loopSpans.isEmpty) + } + LoopModeBarView(spans: s.loopSpans) + if let note = coverageNote(s) { + Text(note) + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + } + } + } else if let error = model.loadError { + LoopCard { + ChartPlaceholder(message: "Couldn't load Trends: \(error)") + Button("Retry") { model.reload() }.foregroundStyle(P.accentInk) + } + } else { + ProgressView().frame(maxWidth: .infinity, minHeight: 300) + } + } + + private func summaryCard(_ s: TrendsModel.Summary) -> some View { + LoopCard { + CardHeader(title: "Summary") { + Menu("Export") { + Button("PDF report") { export { try model.exportPDF(s) } } + Button("CSV, one row per day") { export { try model.exportCSV(s) } } + } + .foregroundStyle(P.accentInk) + } + StatGridView(tiles: model.tiles(s)) + .opacity(model.loading ? 0.5 : 1) + } + } + + private func export(_ make: () throws -> URL) { + do { + exportURL = try make() + } catch { + exportError = error.localizedDescription + } + } + + private func insulinLegend(_ s: TrendsModel.Summary) -> [LegendItem] { + let total = s.basalUnits + s.bolusUnits + let days = Double(max(1, LoopHistoryMath.averagingDays(s.totals).count)) + let bolusShare = total > 0 ? Int((s.bolusUnits / total * 100).rounded()) : 0 + return [ + LegendItem(swatch: .solid(P.insulin), label: String(format: "Bolus %.1f U (%d%%)", s.bolusUnits / days, bolusShare)), + LegendItem(swatch: .basal, label: String(format: "Basal %.1f U (%d%%)", s.basalUnits / days, total > 0 ? 100 - bolusShare : 0)), + LegendItem(swatch: .dash(P.ink), label: String(format: "Average %.1f U", s.insulinPerDay)), + ] + } + + private func coverageNote(_ s: TrendsModel.Summary) -> String? { + guard let start = s.loopSpans.first?.start else { + return "Loop status is recorded from when the new interface was first opened." + } + guard start > s.interval.start else { return nil } + return "Covers \(LoopFormat.range(start, s.interval.end)): Loop keeps 7 days of runs, and closed or open loop is recorded from when the new interface was first opened." + } +} + +extension URL: @retroactive Identifiable { + public var id: String { absoluteString } +} + +struct ShareSheet: UIViewControllerRepresentable { + let items: [Any] + + func makeUIViewController(context: Context) -> UIActivityViewController { + UIActivityViewController(activityItems: items, applicationActivities: nil) + } + + func updateUIViewController(_ controller: UIActivityViewController, context: Context) {} +} + +// MARK: - PDF report + +/// The Trends cards laid out for paper. +private struct TrendsReport: View { + let summary: TrendsModel.Summary + let tiles: [StatTile] + + var body: some View { + VStack(alignment: .leading, spacing: LoopDesign.Space.s4) { + VStack(alignment: .leading, spacing: 2) { + Text("Loop trends").font(.title2.bold()) + Text(LoopFormat.range(summary.interval.start, summary.interval.end.addingTimeInterval(-1))) + .font(.subheadline) + .foregroundStyle(P.inkMuted) + } + StatGridView(tiles: tiles) + HStack(alignment: .top, spacing: LoopDesign.Space.s4) { + VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { + Text("Time in range").font(.headline) + TimeInRangeView(fractions: summary.timeInRange, unit: summary.unit) + } + .frame(maxWidth: .infinity) + } + VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { + Text("Daily pattern").font(.headline) + TrendsAGPChart(slots: summary.agp, readings: summary.glucose, days: summary.agpDays, unit: summary.unit, + targetRange: summary.targetRange, height: 160) + } + VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { + Text("Insulin per day").font(.headline) + InsulinDailyTotalsView(totals: summary.totals.count > 30 ? LoopHistoryMath.weekly(summary.totals) : summary.totals, + weekly: summary.totals.count > 30, average: summary.insulinPerDay, height: 140) + } + VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { + Text("Loop status").font(.headline) + LoopModeBarView(spans: summary.loopSpans) + } + } + .padding(LoopDesign.Space.s2) + .background(Color.white) + } +} diff --git a/Loop/View Controllers/StatusTableViewController.swift b/Loop/View Controllers/StatusTableViewController.swift index 70d95eebd3..ced6c20dfe 100644 --- a/Loop/View Controllers/StatusTableViewController.swift +++ b/Loop/View Controllers/StatusTableViewController.swift @@ -95,6 +95,7 @@ final class StatusTableViewController: LoopChartsTableViewController { tableView.register(BolusProgressTableViewCell.nib(), forCellReuseIdentifier: BolusProgressTableViewCell.className) tableView.register(InsulinSuspendedTableViewCell.nib(), forCellReuseIdentifier: InsulinSuspendedTableViewCell.className) tableView.register(RecentGlucoseTableViewCell.nib(), forCellReuseIdentifier: RecentGlucoseTableViewCell.className) + tableView.register(UITableViewCell.self, forCellReuseIdentifier: Self.nowHostingCellIdentifier) applyDisplayPreferences() @@ -229,6 +230,11 @@ final class StatusTableViewController: LoopChartsTableViewController { addScenarioStepGestureRecognizers() setupPresetsStatusBar() + + if usesRedesign { + tableView.backgroundColor = .systemGroupedBackground + tableView.separatorStyle = .none + } } override func didReceiveMemoryWarning() { @@ -361,6 +367,32 @@ final class StatusTableViewController: LoopChartsTableViewController { private var bolusProgressReporter: DoseProgressReporter? + // MARK: - Redesign + + /// Read once, so a table never mixes the two layouts; LoopAppManager rebuilds the screen when the preference changes. + let usesRedesign = LoopInterfacePreference.useRedesign + + private static let nowHostingCellIdentifier = "NowHostingCell" + + private lazy var nowModel: NowModel = { + let model = NowModel(deviceManager: deviceManager, loopDataManager: loopManager, settingsManager: settingsManager, temporaryPresetsManager: temporaryPresetsManager) + model.isOnboardingComplete = { [weak self] in self?.onboardingManager.isComplete ?? false } + return model + }() + + private lazy var nowActions = NowActions( + addCarbs: { [weak self] in self?.userTappedAddCarbs() }, + bolus: { [weak self] in self?.presentBolusScreen() }, + presets: { [weak self] in self?.presentPresets() }, + showPrediction: { [weak self] in self?.showPredictionFromNow() }, + showToday: { [weak self] in self?.showDay(Date()) }, + showInsulin: { [weak self] in self?.performSegue(withIdentifier: InsulinDeliveryTableViewController.className, sender: self) }, + showCarbs: { [weak self] in self?.performSegue(withIdentifier: CarbAbsorptionViewController.className, sender: self) }, + pumpTapped: { [weak self] in self?.executeHUDTapAction(self?.deviceManager.didTapOnPumpStatus(), from: self?.view) }, + cgmTapped: { [weak self] in self?.executeHUDTapAction(self?.deviceManager.didTapOnCGMStatus(), from: self?.view) }, + loopStatusTapped: { [weak self] in self?.showLoopStatusFromNow() } + ) + private func updateBolusProgress() { if let cell = tableView.cellForRow(at: IndexPath(row: StatusRow.status.rawValue, section: Section.status.rawValue)) as? BolusProgressTableViewCell { if case let .bolusing(_, total) = cell.configuration { @@ -403,7 +435,7 @@ final class StatusTableViewController: LoopChartsTableViewController { } private var shouldShowHUD: Bool { - return !landscapeMode + return !landscapeMode && !usesRedesign } // With a vertical status bar there is no top safe area inset, so keep the first row clear of the display corners. @@ -413,7 +445,7 @@ final class StatusTableViewController: LoopChartsTableViewController { } private var shouldShowStatus: Bool { - return !landscapeMode && statusRowMode.hasRow + return (!landscapeMode || usesRedesign) && statusRowMode.hasRow } override func glucoseUnitDidChange() { @@ -700,10 +732,14 @@ final class StatusTableViewController: LoopChartsTableViewController { let statusRowMode = self.determineStatusRowMode() updateBannerAndHUDandStatusRows(statusRowMode: statusRowMode, newSize: currentContext.newSize, animated: animated) - tableView.contentInset = UIEdgeInsets(top: shouldShowBannerWarning ? 0 : cornerClearanceTopInset, left: 0, bottom: ActionTabBarMetrics.tableContentInset, right: 0) + tableView.contentInset = UIEdgeInsets(top: shouldShowBannerWarning ? 0 : cornerClearanceTopInset, left: 0, bottom: usesRedesign ? 0 : ActionTabBarMetrics.tableContentInset, right: 0) redrawCharts() + if usesRedesign { + nowModel.refresh() + } + reloading = false let reloadNow = !self.refreshContext.isEmpty @@ -718,8 +754,10 @@ final class StatusTableViewController: LoopChartsTableViewController { case presets case alertWarning case hud + case nowHeader case status case charts + case nowCharts } // MARK: - Chart Section Data @@ -980,9 +1018,11 @@ final class StatusTableViewController: LoopChartsTableViewController { case .hud: return shouldShowHUD ? 1 : 0 case .charts: - return ChartRow.allCases.count + return usesRedesign ? 0 : ChartRow.allCases.count case .status: return shouldShowStatus ? StatusRow.allCases.count : 0 + case .nowHeader, .nowCharts: + return usesRedesign ? 1 : 0 } } @@ -1068,6 +1108,10 @@ final class StatusTableViewController: LoopChartsTableViewController { cell.hudView.loopCompletionHUD.loopStatusColors = .loopStatus return cell + case .nowHeader: + return nowHostingCell(for: indexPath) { NowHeaderView(model: self.nowModel, actions: self.nowActions) } + case .nowCharts: + return nowHostingCell(for: indexPath) { NowChartsView(model: self.nowModel, actions: self.nowActions) } case .charts: let cell = tableView.dequeueReusableCell(withIdentifier: ChartTableViewCell.className, for: indexPath) as! ChartTableViewCell @@ -1274,7 +1318,7 @@ final class StatusTableViewController: LoopChartsTableViewController { cell.setSubtitleLabel(label: nil) } } - case .presets, .hud, .status, .alertWarning: + case .presets, .hud, .status, .alertWarning, .nowHeader, .nowCharts: break } } @@ -1299,7 +1343,7 @@ final class StatusTableViewController: LoopChartsTableViewController { } case .alertWarning: return UITableView.automaticDimension - case .presets, .hud, .status: + case .presets, .hud, .status, .nowHeader, .nowCharts: return UITableView.automaticDimension } } @@ -1316,7 +1360,7 @@ final class StatusTableViewController: LoopChartsTableViewController { tableView.deselectRow(at: indexPath, animated: true) presentUnmuteAlertConfirmation() } - case .hud: + case .hud, .nowHeader, .nowCharts: break case .status: switch StatusRow(rawValue: indexPath.row)! { @@ -2383,3 +2427,52 @@ private struct WarningBannerStyle: ViewModifier { } } } + +// MARK: - Redesigned Now screen + +extension StatusTableViewController { + private func nowHostingCell(for indexPath: IndexPath, @ViewBuilder content: () -> Content) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: Self.nowHostingCellIdentifier, for: indexPath) + cell.selectionStyle = .none + cell.backgroundColor = .clear + cell.contentConfiguration = UIHostingConfiguration(content: content).margins(.all, 0) + return cell + } + + func presentSettingsFromTab() { + if presentedViewController != nil { + return + } + presentSettings() + } + + private func showPredictionFromNow() { + guard settingsManager.dosingEnabled || !FeatureFlags.simpleBolusCalculatorEnabled else { return } + performSegue(withIdentifier: PredictionTableViewController.className, sender: self) + } + + func showDay(_ day: Date) { + let detail = UIHostingController(rootView: DayDetailView(provider: nowModel.provider, day: day)) + navigationController?.pushViewController(detail, animated: true) + } + + private func showLoopStatusFromNow() { + let lastCompleted = loopManager.lastLoopCompleted + if let deviceError = deviceManager.lastError, deviceError.date > (lastCompleted ?? .distantPast) { + showLastError(self) + } else if lastLoopError != nil { + showLastError(self) + } else if let lastCompleted { + let mode = settingsManager.dosingEnabled ? "Closed loop is on." : "Closed loop is off: Loop recommends but doesn't adjust insulin." + presentLoopCompletionMessage(title: "Loop ran at \(LoopFormat.time(lastCompleted))", message: mode) + } else { + presentLoopCompletionMessage(title: "Loop hasn't run yet", message: "Loop runs when it has a new CGM reading and can reach the pump.") + } + } + + private func presentLoopCompletionMessage(title: String, message: String) { + let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert) + alertController.addAction(UIAlertAction(title: NSLocalizedString("Dismiss", comment: "The button label of the action used to dismiss an error alert"), style: .default)) + present(alertController, animated: true) + } +} diff --git a/Loop/Views/SettingsView.swift b/Loop/Views/SettingsView.swift index 70f6d26b4e..6411538267 100644 --- a/Loop/Views/SettingsView.swift +++ b/Loop/Views/SettingsView.swift @@ -85,6 +85,7 @@ struct SettingsView: View { } alertManagementSection statisticsSection + interfaceSection if viewModel.pumpManagerSettingsViewModel.isSetUp() { therapySection } @@ -453,6 +454,15 @@ extension SettingsView { .environment(\.insulinTintColor, self.insulinTintColor) } + private var interfaceSection: some View { + Section(footer: Text(NSLocalizedString("The new interface adds Trends and Logbook tabs. Turn it off to go back to the classic status screen; Settings closes to switch.", comment: "Footer for the interface choice in settings"))) { + Toggle(NSLocalizedString("New Interface", comment: "Title of the toggle for the redesigned interface"), isOn: Binding( + get: { LoopInterfacePreference.useRedesign }, + set: { LoopInterfacePreference.useRedesign = $0 } + )) + } + } + private var therapySection: some View { Section { NavigationLink(destination: therapySettingsView) { diff --git a/Loop/Views/StatusTableView.swift b/Loop/Views/StatusTableView.swift index be4012a8f2..c3c1af2469 100644 --- a/Loop/Views/StatusTableView.swift +++ b/Loop/Views/StatusTableView.swift @@ -98,7 +98,10 @@ struct StatusTableView: View { var wrappedView: some View { wrapped } @Bindable var viewModel: StatusTableViewModel - + + /// The redesign puts these actions on the Now screen and its own tab bar. + private var actionTabsShown = true + init(viewModel: StatusTableViewModel) { self.viewModel = viewModel @@ -124,20 +127,39 @@ struct StatusTableView: View { ) } + func showsActionTabs(_ shown: Bool) -> StatusTableView { + var view = self + view.actionTabsShown = shown + return view + } + + private var statusContent: some View { + wrappedView + .ignoresSafeArea(edges: [.horizontal, .bottom]) + .onChange(of: viewModel.temporaryPresetsManager.activeOverride) { _, _ in + Task { + await viewController.reloadData(animated: true) + } + } + .sheet(item: $viewModel.pendingPreset) { preset in + // This is the active preset; edit disabled + PresetDetentView(preset: preset, roundBasalRate: viewModel.loopDataManager.deliveryDelegate?.roundBasalRate, didTapEdit: { }) + .accessibilityIdentifier("bar_Presets") + } + } + + @ViewBuilder var body: some View { + if actionTabsShown { + actionTabView + } else { + statusContent + } + } + + private var actionTabView: some View { ActionTabView { - wrappedView - .ignoresSafeArea(edges: [.horizontal, .bottom]) - .onChange(of: viewModel.temporaryPresetsManager.activeOverride) { _, _ in - Task { - await viewController.reloadData(animated: true) - } - } - .sheet(item: $viewModel.pendingPreset) { preset in - // This is the active preset; edit disabled - PresetDetentView(preset: preset, roundBasalRate: viewModel.loopDataManager.deliveryDelegate?.roundBasalRate, didTapEdit: { }) - .accessibilityIdentifier("bar_Presets") - } + statusContent } tabs: { ActionTab( title: "Add Carbs", diff --git a/LoopTests/Models/LoopHistoryMathTests.swift b/LoopTests/Models/LoopHistoryMathTests.swift new file mode 100644 index 0000000000..ba04cdcb84 --- /dev/null +++ b/LoopTests/Models/LoopHistoryMathTests.swift @@ -0,0 +1,216 @@ +// +// LoopHistoryMathTests.swift +// LoopTests +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import XCTest +import HealthKit +import LoopKit +@testable import Loop + +class LoopHistoryMathTests: XCTestCase { + + private let start = Date(timeIntervalSinceReferenceDate: 800_000_000) + private func at(_ minutes: Double) -> Date { start.addingTimeInterval(minutes * 60) } + + // MARK: Basal + + func testBasalGapsDoNotInventDelivery() { + let window = DateInterval(start: at(0), end: at(120)) + let schedule = [LoopHistoryMath.ScheduleValue(start: at(-60), end: at(240), rate: 1.0)] + let temp = LoopHistoryMath.BasalDelivery(start: at(60), end: at(90), rate: 2.0, kind: .temp, automatic: true) + let segments = LoopHistoryMath.basalSegments(window: window, schedule: schedule, deliveries: [temp]) + XCTAssertEqual(segments.count, 1) + XCTAssertEqual(segments.reduce(0) { $0 + $1.units }, 1, accuracy: 1e-9) + XCTAssertEqual(segments[0].netUnits, 0.5, accuracy: 1e-9) + } + + func testSuspendDeliversNothingAndLaterRecordWins() { + let window = DateInterval(start: at(0), end: at(60)) + let schedule = [LoopHistoryMath.ScheduleValue(start: at(0), end: at(60), rate: 1.2)] + let deliveries = [ + LoopHistoryMath.BasalDelivery(start: at(0), end: at(60), rate: 3.0, kind: .temp, automatic: true), + LoopHistoryMath.BasalDelivery(start: at(20), end: at(40), rate: 0, kind: .suspended, automatic: false), + ] + let segments = LoopHistoryMath.basalSegments(window: window, schedule: schedule, deliveries: deliveries) + XCTAssertEqual(segments.map(\.kind), [.temp, .suspended, .temp]) + XCTAssertEqual(segments[1].units, 0) + XCTAssertEqual(segments[1].netUnits, -0.4, accuracy: 1e-9) + } + + func testNormalisedBasalPreservesDeliveredQuantityInPartialWindow() throws { + // The pump reports 1.05 U delivered, although the programmed rate implies 1.0625 U. + let dose = DoseEntry(type: .tempBasal, startDate: at(0), endDate: at(30), value: 2.125, + unit: .unitsPerHour, decisionId: nil, deliveredUnits: 1.05, automatic: true) + let delivery = try XCTUnwrap(LoopHistoryMath.BasalDelivery(dose: dose)) + for (end, expected) in [(30.0, 1.05), (15.0, 0.525)] { + let segments = LoopHistoryMath.basalSegments(window: DateInterval(start: at(0), end: at(end)), + schedule: [], deliveries: [delivery]) + XCTAssertEqual(segments.reduce(0) { $0 + $1.units }, expected, accuracy: 1e-9) + } + } + + func testHealthAndLocalPartitionsConserveBasalDelivery() throws { + let sample = HKQuantitySample(type: HKQuantityType(.insulinDelivery), + quantity: HKQuantity(unit: .internationalUnit(), doubleValue: 1), + start: at(0), end: at(60), + metadata: [HKMetadataKeyInsulinDeliveryReason: HKInsulinDeliveryReason.basal.rawValue]) + let left = try XCTUnwrap(BasalSegment(healthSample: sample, in: DateInterval(start: at(-30), end: at(30)))) + let right = try XCTUnwrap(BasalSegment(healthSample: sample, in: DateInterval(start: at(30), end: at(90)))) + XCTAssertEqual(left.units, 0.5, accuracy: 1e-9) + XCTAssertEqual(right.units, 0.5, accuracy: 1e-9, "Include basal beginning before the selected interval") + let dose = DoseEntry(type: .basal, startDate: at(0), endDate: at(60), value: 1, unit: .units, decisionId: nil, deliveredUnits: 1) + let local = LoopHistoryMath.basalSegments(window: DateInterval(start: at(30), end: at(90)), schedule: [], + deliveries: [try XCTUnwrap(LoopHistoryMath.BasalDelivery(dose: dose))]) + XCTAssertEqual(left.units + local.reduce(0) { $0 + $1.units }, 1, accuracy: 1e-9) + XCTAssertNil(BasalSegment(healthSample: sample, in: DateInterval(start: at(60), end: at(90)))) + + } + + func testBolusWindowIsHalfOpenAndPreservesDeliveredUnits() { + let window = DateInterval(start: at(0), end: at(60)) + for (minute, expected) in [(-1.0, false), (0.0, true), (30.0, true), (60.0, false)] { + let dose = DoseEntry(type: .bolus, startDate: at(minute), value: 1, unit: .units, decisionId: nil, deliveredUnits: 0.75) + let event = BolusEvent(dose: dose, in: window) + XCTAssertEqual(event != nil, expected, "Bolus at minute \(minute)") + if expected { XCTAssertEqual(event?.units, 0.75) } + } + } + + // MARK: Glucose + + func testTimeInRangeBandsAndRoundingSumTo100() { + let values: [Double] = [50, 60, 100, 100, 100, 200, 300] + let points = values.enumerated().map { GlucosePoint(date: at(Double($0.offset * 5)), mgdl: $0.element) } + let fractions = LoopHistoryMath.timeInRange(points) + XCTAssertEqual(fractions[.veryLow]!, 1 / 7, accuracy: 1e-9) + XCTAssertEqual(fractions[.low]!, 1 / 7, accuracy: 1e-9) + XCTAssertEqual(fractions[.inRange]!, 3 / 7, accuracy: 1e-9) + XCTAssertEqual(fractions[.high]!, 1 / 7, accuracy: 1e-9) + XCTAssertEqual(fractions[.veryHigh]!, 1 / 7, accuracy: 1e-9) + XCTAssertEqual(LoopHistoryMath.roundedPercentages(fractions).values.reduce(0, +), 100) + } + + func testBandEdgesFollowConsensusThresholds() { + XCTAssertEqual(LoopHistoryMath.RangeBand.band(for: 53.9), .veryLow) + XCTAssertEqual(LoopHistoryMath.RangeBand.band(for: 54), .low) + XCTAssertEqual(LoopHistoryMath.RangeBand.band(for: 70), .inRange) + XCTAssertEqual(LoopHistoryMath.RangeBand.band(for: 180), .inRange) + XCTAssertEqual(LoopHistoryMath.RangeBand.band(for: 181), .high) + XCTAssertEqual(LoopHistoryMath.RangeBand.band(for: 251), .veryHigh) + } + + func testGMIFromMean() { + let points = [GlucosePoint(date: at(0), mgdl: 150), GlucosePoint(date: at(5), mgdl: 150)] + let stats = LoopHistoryMath.glucoseStats(points)! + XCTAssertEqual(stats.gmiPercent, 3.31 + 0.02392 * 150, accuracy: 1e-9) + XCTAssertEqual(stats.gmiMmolMol, (stats.gmiPercent - 2.152) * 10.929, accuracy: 1e-9) + XCTAssertNil(LoopHistoryMath.glucoseStats([points[0]])) + } + + func testPercentileInterpolates() { + XCTAssertEqual(LoopHistoryMath.percentile([1, 2, 3, 4, 5], 0.5), 3) + XCTAssertEqual(LoopHistoryMath.percentile([1, 2, 3, 4], 0.5), 2.5) + XCTAssertEqual(LoopHistoryMath.percentile([10, 20], 0.25), 12.5) + } + + // MARK: Loop modes + + func testLoopModesStartAtFirstModeRecord() { + let interval = DateInterval(start: at(0), end: at(60)) + let runs = stride(from: 0.0, through: 60, by: 5).map { LoopHistoryMath.LoopRun(date: at($0), succeeded: true, error: nil) } + let spans = LoopHistoryMath.loopModeSpans(interval: interval, runs: runs, + modeChanges: [.init(date: at(30), closedLoop: true)], coverageStart: at(0)) + XCTAssertEqual(spans.first?.start, at(30), "Before the first record the mode is unknown and left out") + XCTAssertEqual(LoopHistoryMath.duration(of: .closed, in: spans), 30 * 60, accuracy: 1) + + XCTAssertTrue(LoopHistoryMath.loopModeSpans(interval: interval, runs: runs, modeChanges: [], coverageStart: at(0)).isEmpty) + } + + func testLoopModesClassifyOpenAndLimited() { + let interval = DateInterval(start: at(0), end: at(90)) + // Runs succeed until 20 min, then fail with an error, then stop. + var runs = stride(from: 0.0, through: 20, by: 5).map { LoopHistoryMath.LoopRun(date: at($0), succeeded: true, error: nil) } + runs.append(.init(date: at(25), succeeded: false, error: "Glucose too old")) + let changes: [LoopHistoryMath.ModeChange] = [.init(date: at(0), closedLoop: true), .init(date: at(60), closedLoop: false)] + + let spans = LoopHistoryMath.loopModeSpans(interval: interval, runs: runs, modeChanges: changes, coverageStart: at(0)) + XCTAssertEqual(spans.map(\.mode), [.closed, .limited, .open]) + XCTAssertEqual(spans[1].cause, "Glucose too old") + XCTAssertEqual(spans[1].start, at(35), "Limited starts once the last good run is over 15 minutes old") + XCTAssertEqual(spans[2].start, at(55), "The slot ending at the switch-off counts as open") + } + + // MARK: Calendar + + func testDaysAndQuarterMarksOnClockChangeDay() throws { + var calendar = Calendar(identifier: .gregorian) + calendar.timeZone = try XCTUnwrap(TimeZone(identifier: "Europe/London")) + // 25 Oct 2026: clocks go back an hour, so the day is 25 hours long. + let day = try XCTUnwrap(calendar.date(from: DateComponents(year: 2026, month: 10, day: 25))) + let next = try XCTUnwrap(calendar.date(byAdding: .day, value: 1, to: day)) + XCTAssertEqual(next.timeIntervalSince(day), 25 * 3600) + + let marks = DayAxis.quarterDayMarks(in: DateInterval(start: day, end: next), calendar: calendar) + XCTAssertEqual(marks.map { calendar.component(.hour, from: $0) }, [0, 6, 12, 18, 0]) + + let days = LoopHistoryMath.days(in: DateInterval(start: day, end: next.addingTimeInterval(3600)), calendar: calendar) + XCTAssertEqual(days.count, 2) + XCTAssertEqual(days[0].duration, 25 * 3600) + } + + func testWeeklyAveragesDays() { + let monday = Date(timeIntervalSinceReferenceDate: 815_270_400) // 9436 days after Monday 1 Jan 2001, so a Monday at midnight UTC + var calendar = Calendar(identifier: .gregorian) + calendar.timeZone = TimeZone(identifier: "UTC")! + let totals = (0..<14).map { LoopHistoryMath.DayTotal(day: monday.addingTimeInterval(Double($0) * 86400), basal: 10, bolus: Double($0)) } + let weeks = LoopHistoryMath.weekly(totals, calendar: calendar) + XCTAssertEqual(weeks.count, 2) + XCTAssertEqual(weeks[0].bolus, 3, accuracy: 1e-9) + XCTAssertEqual(weeks[1].bolus, 10, accuracy: 1e-9) + } + + func testDailyInsulinAverageLeavesOutTheDayInProgress() { + let day0 = Date(timeIntervalSinceReferenceDate: 815_270_400) + let complete = (0..<3).map { LoopHistoryMath.DayTotal(day: day0.addingTimeInterval(Double($0) * 86400), basal: 10, bolus: 20) } + let today = LoopHistoryMath.DayTotal(day: day0.addingTimeInterval(3 * 86400), basal: 3, bolus: 2, isComplete: false) + XCTAssertEqual(LoopHistoryMath.averageDailyInsulin(complete + [today]), 30, accuracy: 1e-9) + XCTAssertEqual(LoopHistoryMath.averagingDays(complete + [today]).count, 3) + // With nothing complete, the day in progress is all there is to show. + XCTAssertEqual(LoopHistoryMath.averageDailyInsulin([today]), 5, accuracy: 1e-9) + } + + func testGapMessageForADayWithoutReadings() { + let start = Date(timeIntervalSinceReferenceDate: 815_270_400) + let day = DateInterval(start: start, duration: 86400) + let empty = DayAxis.gaps(in: [], window: day, until: day.end.addingTimeInterval(3600)) + XCTAssertEqual(DayAxis.gapMessage(empty, window: day, until: day.end.addingTimeInterval(3600)), "No CGM data on this day") + let morning = start.addingTimeInterval(9 * 3600) + XCTAssertEqual(DayAxis.gapMessage(DayAxis.gaps(in: [], window: day, until: morning), window: day, until: morning), "No CGM data yet today") + let reading = [GlucosePoint(date: start.addingTimeInterval(12 * 3600), mgdl: 120)] + let partial = DayAxis.gaps(in: reading, window: day, until: day.end) + XCTAssertTrue(DayAxis.gapMessage(partial, window: day, until: day.end)?.hasSuffix("and 1 shorter gap") ?? false) + } + + // MARK: Formatting + + func testRangeFormatting() throws { + let calendar = Calendar.current + let a = try XCTUnwrap(calendar.date(from: DateComponents(year: 2026, month: 10, day: 12, hour: 12))) + let b = try XCTUnwrap(calendar.date(from: DateComponents(year: 2026, month: 10, day: 25, hour: 12))) + let c = try XCTUnwrap(calendar.date(from: DateComponents(year: 2026, month: 9, day: 28, hour: 12))) + XCTAssertEqual(LoopFormat.range(a, b), "12 – \(LoopFormat.day(b))") + XCTAssertTrue(LoopFormat.range(c, b).hasPrefix(c.formatted(.dateTime.day().month(.abbreviated)))) + XCTAssertEqual(LoopFormat.duration(13 * 86400 + 11 * 3600), "13 d 11 h") + XCTAssertEqual(LoopFormat.duration(9 * 3600 + 45 * 60), "9 h 45 m") + XCTAssertEqual(LoopFormat.signed(-0.4), "−0.40") + XCTAssertEqual(LoopFormat.signed(0.0001), "+0.00") + } + + func testIssueDescriptions() { + XCTAssertEqual(LoopHistoryProvider.describe(issue: "glucoseTooOld"), "Glucose too old") + XCTAssertEqual(LoopHistoryProvider.describe(issue: "pumpDataTooOld"), "Pump data too old") + } +} From ba5390e4522d6cd61fa41921317ba13656184317 Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Tue, 27 Oct 2026 08:24:42 +0000 Subject: [PATCH 02/17] Show device and loop problems on the Now screen in words Driving the error states in the simulator (pump fault, comms issue, suspension, sensor warmup, signal loss, sensor failed) showed that a device problem could be off-screen: the status pills scrolled sideways, so during warmup the CGM pill was past the edge and nothing visible said so. - Status pills wrap instead of scrolling. - A device highlight, or a loop that hasn't completed for 15 minutes, gets a notice under the pills with the device's message and icon, what it means for Loop, and a tap through to the device; most serious first. - Two-line plugin highlights ("Signal\nLoss") are joined. - When Loop pauses closed loop (no CGM session or data), the pill says "Closed loop paused" instead of "Open loop". - Loop's status rows (No Recent Glucose, Tap to Resume, bolus progress, presets) take the card shape in the new interface; the non-critical pump notice is left out while the Resume row shows. LoopTests: 323 pass on the iPhone 17 Pro simulator (iOS 26.3). On next-dev, Loop's status rows are already drawn as rounded cards (LOOP-5437), so the new interface keeps them as they are rather than adding a second card behind them. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01QHnVPACb9uRhdQPgF5h2mj --- Loop/Redesign/NowScreen.swift | 240 ++++++++++++++++++++++++++++++---- 1 file changed, 213 insertions(+), 27 deletions(-) diff --git a/Loop/Redesign/NowScreen.swift b/Loop/Redesign/NowScreen.swift index 6d8a73ff4d..3706cee0d9 100644 --- a/Loop/Redesign/NowScreen.swift +++ b/Loop/Redesign/NowScreen.swift @@ -30,6 +30,8 @@ final class NowModel: ObservableObject { let name: String let message: String? let state: DeviceStatusHighlightState? + /// Set when the message is the device's own status highlight, which the Now screen spells out in a notice. + var symbol: String? = nil } enum LoopState: Equatable { @@ -43,6 +45,8 @@ final class NowModel: ObservableObject { @Published private(set) var lastLoopCompleted: Date? @Published private(set) var lastLoopFailed = false @Published private(set) var closedLoop = false + /// Closed loop is switched on but Loop has paused it, for example while the CGM has no session or data. + @Published private(set) var closedLoopPaused = false @Published private(set) var iob: Double? @Published private(set) var cob: Double? @Published private(set) var basalDeliveryState: PumpManagerStatus.BasalDeliveryState? @@ -162,7 +166,9 @@ final class NowModel: ObservableObject { cob = loopDataManager.activeCarbs?.quantity.doubleValue(for: .gram) lastLoopFailed = failed lastLoopCompleted = loopDataManager.lastLoopCompleted - closedLoop = settingsManager.dosingEnabled + // Closed loop is on but paused while the CGM session or a manual temp basal rules out automation. + closedLoopPaused = settingsManager.dosingEnabled && deviceManager.closedLoopDisallowedLocalizedDescription != nil + closedLoop = settingsManager.dosingEnabled && !closedLoopPaused targetRange = provider.glucoseTargetRange predictionTargets = provider.glucoseTargetBands(in: DateInterval(start: now.addingTimeInterval(-3 * 3600), end: now.addingTimeInterval(3 * 3600))) todayTargets = provider.glucoseTargetBands(in: window) @@ -202,7 +208,9 @@ final class NowModel: ObservableObject { private func device(name: String, highlight: DeviceStatusHighlight?, progress: DeviceLifecycleProgress?) -> Device { if let highlight { - return Device(name: name, message: highlight.localizedMessage, state: highlight.state) + // Plugins wrap highlights onto two lines for the classic HUD ("Signal\nLoss"). + let message = highlight.localizedMessage.replacingOccurrences(of: "\n", with: " ") + return Device(name: name, message: message, state: highlight.state, symbol: highlight.imageName) } if let progress, progress.progressState == .warning || progress.progressState == .critical { return Device(name: name, message: "ending soon", state: progress.progressState == .critical ? .critical : .warning) @@ -238,6 +246,9 @@ struct NowHeaderView: View { .foregroundStyle(P.ink) .accessibilityAddTraits(.isHeader) statusRow + if !noticeItems.isEmpty { + notices + } hero actionRow } @@ -249,37 +260,88 @@ struct NowHeaderView: View { .onReceive(Timer.publish(every: 30, on: .main, in: .common).autoconnect()) { model.now = $0 } } - // Status pills replace Loop's HUD icons with words. + // Status pills replace Loop's HUD icons with words. They wrap rather than scroll, so a device is never off-screen. private var statusRow: some View { - ScrollView(.horizontal, showsIndicators: false) { - HStack(spacing: LoopDesign.Space.s2) { - Button(action: actions.loopStatusTapped) { - StatusPill(text: loopText, dot: loopColor) - } - .accessibilityHint("Shows when Loop last ran") - Button(action: actions.pumpTapped) { - if let pump = model.pump { - StatusPill(text: pillText(pump), dot: pillColor(pump)) - } else { - StatusPill(text: "Add pump", dot: P.statusCritical) - } + FlowRow(spacing: LoopDesign.Space.s2) { + Button(action: actions.loopStatusTapped) { + StatusPill(text: loopText, dot: loopColor) + } + .accessibilityHint("Shows when Loop last ran") + Button(action: actions.pumpTapped) { + if let pump = model.pump { + StatusPill(text: pillText(pump), dot: pillColor(pump)) + } else { + StatusPill(text: "Add pump", dot: P.statusCritical) } - .accessibilityHint(model.pump == nil ? "Sets up a pump" : "Opens pump settings") - Button(action: actions.cgmTapped) { - if let cgm = model.cgm { - StatusPill(text: pillText(cgm), dot: pillColor(cgm)) - } else { - StatusPill(text: "Add CGM", dot: P.statusCritical) - } + } + .accessibilityHint(model.pump == nil ? "Sets up a pump" : "Opens pump settings") + Button(action: actions.cgmTapped) { + if let cgm = model.cgm { + StatusPill(text: pillText(cgm), dot: pillColor(cgm)) + } else { + StatusPill(text: "Add CGM", dot: P.statusCritical) } - .accessibilityHint(model.cgm == nil ? "Sets up a CGM" : "Opens CGM settings") } + .accessibilityHint(model.cgm == nil ? "Sets up a CGM" : "Opens CGM settings") } .buttonStyle(.plain) } + // A device problem or a stalled loop gets a notice in words under the pills, most serious first. + private var notices: some View { + let items = noticeItems + return VStack(spacing: LoopDesign.Space.s2) { + ForEach(items) { item in + Button(action: item.action) { + DeviceNotice(item: item) + } + .buttonStyle(.plain) + .accessibilityHint(item.hint) + } + } + } + + private var noticeItems: [DeviceNotice.Item] { + var items: [DeviceNotice.Item] = [] + if model.loopState == .failed, let last = model.lastLoopCompleted { + items.append(DeviceNotice.Item( + id: "loop", + severity: .critical, + symbol: "exclamationmark.arrow.circlepath", + title: "Loop hasn't run for \(LoopFormat.ago(last, now: model.now))", + detail: "Insulin isn't being adjusted. Tap for details.", + hint: "Shows when Loop last ran", + action: actions.loopStatusTapped)) + } + // While suspended, Loop's own status row says so and offers Resume, so only a critical pump problem adds a notice. + if let pump = model.pump, let symbol = pump.symbol, let message = pump.message, + !model.suspended || pump.state == .critical { + let severity = DeviceNotice.Severity(pump.state) + items.append(DeviceNotice.Item( + id: "pump", + severity: severity, + symbol: symbol, + title: message, + detail: severity == .critical ? "Loop may not be giving insulin." : nil, + hint: "Opens pump settings", + action: actions.pumpTapped)) + } + if let cgm = model.cgm, let symbol = cgm.symbol, let message = cgm.message { + let severity = DeviceNotice.Severity(cgm.state) + items.append(DeviceNotice.Item( + id: "cgm", + severity: severity, + symbol: symbol, + title: message, + detail: model.readingIsStale ? "Loop can't adjust insulin without readings." : nil, + hint: "Opens CGM settings", + action: actions.cgmTapped)) + } + return items.sorted { $0.severity > $1.severity } + } + private var loopText: String { - let mode = model.closedLoop ? "Closed loop" : "Open loop" + let mode = model.closedLoop ? "Closed loop" : model.closedLoopPaused ? "Closed loop paused" : "Open loop" guard let last = model.lastLoopCompleted else { return "\(mode) · not run yet" } switch model.loopState { case .failed: return "Loop failed · \(LoopFormat.ago(last, now: model.now))" @@ -290,14 +352,15 @@ struct NowHeaderView: View { /// Green only while closed loop is running; open loop that ran on time is neutral. private var loopColor: Color { switch model.loopState { - case .fresh: return model.closedLoop ? P.statusAutomated : P.inkMuted + case .fresh: return model.closedLoop ? P.statusAutomated : model.closedLoopPaused ? P.statusWarning : P.inkMuted case .stale: return P.statusWarning case .failed, .never: return P.statusCritical } } + /// A highlight is spelled out in its notice, so its pill keeps to the device name. private func pillText(_ device: NowModel.Device) -> String { - guard let message = device.message else { return device.name } + guard let message = device.message, device.symbol == nil else { return device.name } return "\(device.name) · \(message)" } @@ -305,7 +368,7 @@ struct NowHeaderView: View { switch device.state { case .critical?: return P.statusCritical case .warning?: return P.statusWarning - default: return nil + default: return device.symbol == nil ? nil : P.inkMuted } } @@ -592,3 +655,126 @@ struct DayTotalsTiles: View { .fixedSize(horizontal: false, vertical: true) } } + +// MARK: - Notices + +/// One problem in words: what the device or Loop reports, what it means, and where to go. +struct DeviceNotice: View { + enum Severity: Int, Comparable { + case info, warning, critical + + init(_ state: DeviceStatusHighlightState?) { + switch state { + case .critical?: self = .critical + case .warning?: self = .warning + default: self = .info + } + } + + static func < (lhs: Severity, rhs: Severity) -> Bool { lhs.rawValue < rhs.rawValue } + } + + struct Item: Identifiable { + let id: String + let severity: Severity + let symbol: String + let title: String + let detail: String? + let hint: String + let action: () -> Void + } + + let item: Item + + private var tint: Color { + switch item.severity { + case .critical: return P.statusCritical + case .warning: return P.statusWarning + case .info: return P.inkMuted + } + } + + var body: some View { + HStack(alignment: .center, spacing: LoopDesign.Space.s3) { + Image(systemName: item.symbol) + .font(.system(size: 20, weight: .semibold)) + .foregroundStyle(item.severity == .critical ? P.criticalInk : tint) + .frame(width: 24) + .accessibilityHidden(true) + VStack(alignment: .leading, spacing: 2) { + Text(item.title) + .font(LoopDesign.Typeface.headline) + .foregroundStyle(item.severity == .critical ? P.criticalInk : P.ink) + if let detail = item.detail { + Text(detail) + .font(LoopDesign.Typeface.subhead) + .foregroundStyle(P.ink) + .fixedSize(horizontal: false, vertical: true) + } + } + Spacer(minLength: 0) + Image(systemName: "chevron.right") + .font(.footnote.weight(.semibold)) + .foregroundStyle(P.inkMuted) + .accessibilityHidden(true) + } + .padding(LoopDesign.Space.s3) + .frame(maxWidth: .infinity, alignment: .leading) + .background(tint.opacity(item.severity == .info ? 0.12 : 0.16), in: RoundedRectangle(cornerRadius: LoopDesign.Radius.lg, style: .continuous)) + .overlay( + RoundedRectangle(cornerRadius: LoopDesign.Radius.lg, style: .continuous) + .strokeBorder(tint.opacity(item.severity == .info ? 0 : 0.45), lineWidth: 1) + ) + .contentShape(Rectangle()) + .accessibilityElement(children: .combine) + } +} + +/// Lays its children out left to right and starts a new line when the next one won't fit. +struct FlowRow: Layout { + var spacing: CGFloat = 8 + + func sizeThatFits(proposal: ProposedViewSize, subviews: Subviews, cache: inout ()) -> CGSize { + let rows = arrange(width: proposal.width ?? .infinity, subviews: subviews) + let width = rows.map { $0.width }.max() ?? 0 + let height = rows.map { $0.height }.reduce(0, +) + spacing * CGFloat(max(rows.count - 1, 0)) + return CGSize(width: proposal.width ?? width, height: height) + } + + func placeSubviews(in bounds: CGRect, proposal: ProposedViewSize, subviews: Subviews, cache: inout ()) { + var y = bounds.minY + for row in arrange(width: bounds.width, subviews: subviews) { + var x = bounds.minX + for index in row.indices { + let size = subviews[index].sizeThatFits(ProposedViewSize(width: bounds.width, height: nil)) + subviews[index].place(at: CGPoint(x: x, y: y), proposal: ProposedViewSize(width: min(size.width, bounds.width), height: size.height)) + x += min(size.width, bounds.width) + spacing + } + y += row.height + spacing + } + } + + private struct Row { + var indices: [Int] = [] + var width: CGFloat = 0 + var height: CGFloat = 0 + } + + private func arrange(width: CGFloat, subviews: Subviews) -> [Row] { + var rows: [Row] = [] + var row = Row() + for index in subviews.indices { + let size = subviews[index].sizeThatFits(ProposedViewSize(width: width, height: nil)) + let itemWidth = min(size.width, width) + if !row.indices.isEmpty && row.width + spacing + itemWidth > width { + rows.append(row) + row = Row() + } + row.width += (row.indices.isEmpty ? 0 : spacing) + itemWidth + row.height = max(row.height, size.height) + row.indices.append(index) + } + if !row.indices.isEmpty { rows.append(row) } + return rows + } +} From d11019406f4364e531d0f45f37fc95a83ad24f66 Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Tue, 27 Oct 2026 08:57:07 +0000 Subject: [PATCH 03/17] Add Day and Night app icons and an appearance setting Settings gets an "Appearance and App Icon" screen: - Appearance: System, Day or Night. It sets the window's interface style, so it applies to the whole app (new and classic interface, sheets included) and takes effect without a relaunch. - App Icon: Classic (the primary icon, unchanged), Day, Night, and Day and Night, whose dark appearance variant follows the home screen's light or dark icons. Day, Night and Day and Night are alternate icon sets in DerivedAssetsBase, listed in the Loop target's ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES; small preview image sets show them in the picker because iOS doesn't expose alternate icons as images. The new icons keep Loop's ring and add the blue reading dot from the Now screen, on a light ground for Day and a midnight-blue one for Night. The artwork was generated with GPT image generation and chosen from two takes each. iOS can report an error from its "icon changed" alert even though the icon changed (the iOS 26.3 simulator does this every time), so the picker trusts the icon iOS reports afterwards. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01QHnVPAQn8LyVAJrZEA3f2T --- Loop.xcodeproj/project.pbxproj | 6 + .../AppIconPreviewDay.png | Bin 0 -> 27304 bytes .../AppIconPreviewDay.imageset/Contents.json | 12 ++ .../AppIconPreviewDayNight.png | Bin 0 -> 28727 bytes .../Contents.json | 12 ++ .../AppIconPreviewNight.png | Bin 0 -> 30130 bytes .../Contents.json | 12 ++ .../AppIconDay.appiconset/AppIconDay.png | Bin 0 -> 648784 bytes .../AppIconDay.appiconset/Contents.json | 14 ++ .../AppIconDayNight-Dark.png | Bin 0 -> 744813 bytes .../AppIconDayNight.png | Bin 0 -> 648784 bytes .../AppIconDayNight.appiconset/Contents.json | 26 +++ .../AppIconNight.appiconset/AppIconNight.png | Bin 0 -> 744813 bytes .../AppIconNight.appiconset/Contents.json | 14 ++ Loop/Managers/LoopAppManager.swift | 6 + Loop/Redesign/AppearanceSettings.swift | 203 ++++++++++++++++++ Loop/Views/SettingsView.swift | 6 + 17 files changed, 311 insertions(+) create mode 100644 Loop/DefaultAssets.xcassets/AppIconPreviewDay.imageset/AppIconPreviewDay.png create mode 100644 Loop/DefaultAssets.xcassets/AppIconPreviewDay.imageset/Contents.json create mode 100644 Loop/DefaultAssets.xcassets/AppIconPreviewDayNight.imageset/AppIconPreviewDayNight.png create mode 100644 Loop/DefaultAssets.xcassets/AppIconPreviewDayNight.imageset/Contents.json create mode 100644 Loop/DefaultAssets.xcassets/AppIconPreviewNight.imageset/AppIconPreviewNight.png create mode 100644 Loop/DefaultAssets.xcassets/AppIconPreviewNight.imageset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/AppIconDay.appiconset/AppIconDay.png create mode 100644 Loop/DerivedAssetsBase.xcassets/AppIconDay.appiconset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/AppIconDayNight.appiconset/AppIconDayNight-Dark.png create mode 100644 Loop/DerivedAssetsBase.xcassets/AppIconDayNight.appiconset/AppIconDayNight.png create mode 100644 Loop/DerivedAssetsBase.xcassets/AppIconDayNight.appiconset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/AppIconNight.appiconset/AppIconNight.png create mode 100644 Loop/DerivedAssetsBase.xcassets/AppIconNight.appiconset/Contents.json create mode 100644 Loop/Redesign/AppearanceSettings.swift diff --git a/Loop.xcodeproj/project.pbxproj b/Loop.xcodeproj/project.pbxproj index a600fa7dd4..fe8b8e117e 100644 --- a/Loop.xcodeproj/project.pbxproj +++ b/Loop.xcodeproj/project.pbxproj @@ -722,6 +722,7 @@ 0C70F4D862F6D3FDB3D91D87 /* LoopHistoryMath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21622B2355AED8F6A12FE17C /* LoopHistoryMath.swift */; }; 2ADBB92A8ABB74360D18EEFA /* LoopHistoryModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 471FFD525A4EB897745608BE /* LoopHistoryModels.swift */; }; A743DC26D066EE5AC88C2F45 /* LoopHistoryProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09448CF97996C40BEDDE6588 /* LoopHistoryProvider.swift */; }; + A1B2C3D4E5F6A7B8C9D0E1F2 /* AppearanceSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2E1D0C9B8A7F6E5D4C3B2A1 /* AppearanceSettings.swift */; }; 6A6C1E1C7A26EC88AFB4FAB1 /* DayDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3A83D311A9ECAE563F74A51 /* DayDetailView.swift */; }; 23B98F0A53A093412229364D /* LogbookScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AEDC42672A7A8C57546EA0C /* LogbookScreen.swift */; }; 3ED693ACBF8F9E416055BD56 /* MainTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 844BECBB6357021979B9443F /* MainTabBarController.swift */; }; @@ -1601,6 +1602,7 @@ 21622B2355AED8F6A12FE17C /* LoopHistoryMath.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoopHistoryMath.swift; sourceTree = ""; }; 471FFD525A4EB897745608BE /* LoopHistoryModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoopHistoryModels.swift; sourceTree = ""; }; 09448CF97996C40BEDDE6588 /* LoopHistoryProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoopHistoryProvider.swift; sourceTree = ""; }; + F2E1D0C9B8A7F6E5D4C3B2A1 /* AppearanceSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppearanceSettings.swift; sourceTree = ""; }; E3A83D311A9ECAE563F74A51 /* DayDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DayDetailView.swift; sourceTree = ""; }; 7AEDC42672A7A8C57546EA0C /* LogbookScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogbookScreen.swift; sourceTree = ""; }; 844BECBB6357021979B9443F /* MainTabBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainTabBarController.swift; sourceTree = ""; }; @@ -3009,6 +3011,7 @@ 0874B7B679DB9CE661CCE152 /* NowScreen.swift */, 844BECBB6357021979B9443F /* MainTabBarController.swift */, 7AEDC42672A7A8C57546EA0C /* LogbookScreen.swift */, + F2E1D0C9B8A7F6E5D4C3B2A1 /* AppearanceSettings.swift */, E3A83D311A9ECAE563F74A51 /* DayDetailView.swift */, 09448CF97996C40BEDDE6588 /* LoopHistoryProvider.swift */, 471FFD525A4EB897745608BE /* LoopHistoryModels.swift */, @@ -3675,6 +3678,7 @@ 7705483CFFCF0B89F8F1A08E /* NowScreen.swift in Sources */, 3ED693ACBF8F9E416055BD56 /* MainTabBarController.swift in Sources */, 23B98F0A53A093412229364D /* LogbookScreen.swift in Sources */, + A1B2C3D4E5F6A7B8C9D0E1F2 /* AppearanceSettings.swift in Sources */, 6A6C1E1C7A26EC88AFB4FAB1 /* DayDetailView.swift in Sources */, A743DC26D066EE5AC88C2F45 /* LoopHistoryProvider.swift in Sources */, 2ADBB92A8ABB74360D18EEFA /* LoopHistoryModels.swift in Sources */, @@ -4720,6 +4724,7 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "$(APPICON_NAME)"; + ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES = "AppIconDayNight AppIconDay AppIconNight"; CODE_SIGN_ENTITLEMENTS = "$(LOOP_ENTITLEMENTS)"; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; @@ -4749,6 +4754,7 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = "$(APPICON_NAME)"; + ASSETCATALOG_COMPILER_ALTERNATE_APPICON_NAMES = "AppIconDayNight AppIconDay AppIconNight"; CODE_SIGN_ENTITLEMENTS = "$(LOOP_ENTITLEMENTS)"; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; diff --git a/Loop/DefaultAssets.xcassets/AppIconPreviewDay.imageset/AppIconPreviewDay.png b/Loop/DefaultAssets.xcassets/AppIconPreviewDay.imageset/AppIconPreviewDay.png new file mode 100644 index 0000000000000000000000000000000000000000..e47fb9b46fc7096fbd4d75ce462faef0c08eb0e3 GIT binary patch literal 27304 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�|BYm;*7WYNV7*1q6g(hqd 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

I!ck}`UgDndhg5g=+dp>Y8iIseey6x0GO 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

7>!P@3;IG)@04M` za$D4_zSCy;iAdx>Ng9CTPmbsMin{{A*xXh0YQH|}Y)&^(Oz(CgMZzDW!(?xJc~sAg z9r4KfkNEKE^B4Z{i+}cyU;grE@R|FE`+ZioNIoV)c2p>c$+q=~aMD?C(tGbo1aL5L zdhIo|T!-wdVqmG6!Rmv|L462w3XG9$4wpwYLBR?Bum0OsV|YxWkX_-kf2sF`4mhRl zbpFRxlExfLGm&Vaf{ilB;5P?;2rT!7AYhyybp#33UuTREo4gl1|w zA>mjn!;cT89!v-sxi%@jQetRE!)?;2C&*D&^rv#RfpzCOZN}#hS8?btqp)I z2U1xpr2+Wx-rE<|kz|asV#qYsOB4R(m=etCyx=YtEs%3pEl>IIx@yX3S5eNdvlX)^ zS|64cEfeUP`LJ%sUh?e)R0j)dg@cJT&W9_s!a2*cpyPoVrF)zISr zaiW;^Kuu~#Bd8izCupPL`5`+Vg$XTU-2jyRUv{57H&SEU)!45&?>T$<2~c;j8)yeM z%mM>y#X&QY7Ni}47F?Rj!{&w4@v-lBcX#h^@BP~2zy1yW`)_Z5`6^!B@w8pP%67uG zO=oA|D%rboejqGts-wT7X5;U#41QVK6fHaprDtM!^iJT|scD2l+WRHy4*dwxq9j2I zi>s`Sr~l;Due?0JynndoR3+y~;L%)wxhd2W3W5Wn=5h|^ays*8bvc9R7%Cr^ z0M4VNrZc7{2#@M3hDMVpUADY44_PY_DRSCo8%m>KF(L>c5g1SezDR@KD9{sYuZUmUl~Je_4~GYV|vk9uYtjA2G}M-LGdV z+9rV&kmfFGG=YT=c7GqpmiN{ZG9NO+0a#QW9KL+V3;~G>A3a2iMH8}Y09dxU(W{ZM zZ3RS@e;X`O$|ZNf1+0$501nHgqIl0xsxmgl00=<`H*7D+DIm(sVhD zF1j_Pd4$J-IV99vL38TO7J^=KqcxEeUwDO?jv*5L>p-Tz)Q7DGdld~p)B+1w(~Kzo zswis!N$7&aq)5bGWTUBrp9zcU7SjoIl5sGaPNnd^>_rr!iJ2qgVBvhGklx*~KPM-5 z^@z)|DXSWzjNO9x3)L#cml2=5~tXJ&9PXF7>R&&k2<;6PJ>d%9+n#8 z^wFY!+VdDMsPzC9t`6;J(1ybtKdk}qvf3hhOJkp)0Ftd$jDZ36uIFUy-%iMW1|4QM3E^_46Wpf&(`_HQkL`F7>rU{F@j@sSY7FoleZowRvO zW{IS!8K4~_cE&^OAM&FYk8l3+%m4OYy!z)q5kL0&;bGs26L{F}9i+#&j?KqDj~WM5 zj>SrHXe!te@u%KLDju5&NTNOAp&)?v1THa!aFZeB7-#CIn@3w3>3sXFg@v-~4T4?7 zX+S;SV!gI!4>AWamT0No^a#})!pptLE@Xv5C>9_LTryOS5)Brel7Me1zZ_P}{9o%L zZ5ZNYXj4;wi6x#PDBl|C*#QOm^JLGdwl~_NZj{AD32Rn)D6$mHw9dlKpb(a#ivi0? zuq8B4f;HnVXDPTnLaTCil3SP1D7c28O;PhDnMe1W&}|qj&-6gHbC`r4qqv2liQ{G| z08#Obm0PThz0nWR0@YdG@OsO4h(rO(+0Al8n)#glR_)f|I?VaET*MRP#wL^Lb4kL; z2`K2<#1M8x%Um`$4Av~*5T#9ix*O9ZidV0jX{*bct$(IQ+~Jx?o5J9C2`PdLv4MbR zL4DN88~N{G;Iw^k_uj8R{+nMt|Jxtn`!Dh8O`c9<#13o`IAIHy%cG?!9;+&8k>+8K z;k?M9-<{>V9K6@R#gGyw(@o>kD|8T5A@9&#YXM73+Di891FY(2N=+vM!vkuC@3(v28Vnd9K-kHLF_x+Ka!{ zBhNg&UsXiJJczPlxw{@fG{R<~rqK=#bG1lI7WD*^~Vv z`V7Z?owNvWLPGT@Xj~d~)qT zkd*EyVm5D3h6cqC0@r++FiEBqrokua{(&K;Gu#~v>axa&io2d6#|<4K_~DC z=hIIw`*U52mi1f4jmZymYBaK~F6n4elvLBn7qzFEeZ9_V*P9Y4aHDpf#^7uSLut}q zEuwD@=`Hmn1ATSmh>kWhHczY+{x{>F(nlXVCR4r@8{4)F%__vGEKPPQ;a*db>^{?7 zjKaW4pQLy8^etH81EL$>D;i)#ps)~xVN#{?WfQ8=SMysj0~7Trb_iB2?u2aI}Qs7Io&YT6!tLfBB}>> z@&cJukGZIDxM~eS_F*7M5>vx_U6SUBf8KS-d}leYrXp)Otxi*ij%O@M z&`768MFAB*OD6&4p(NtjRRkRFAiDBXXz+!mgI^vpSIyGo`bFba6z<_OU{ld=^w91o z*9vH;Dw4o z+i^mWkeckbohB<+pjuqaOsj7B7|9#^X0Li(F1V-jJCV&?C8 zMbXVQqxg|_x%NQ5EfS^`#X(38HslfX^!19A6+jE(8ZzRs!vHx?z$_=T;R}^dc4YHi zA4UZCi!gw3kNbN*eu|&@AK&;t|NXmPe(T{AuOA;77yVJ{)!4?->jcTXEt99LM!WUO zm}=hVv5HX~b7!WVk~GH*Ms>C!wBxB*>S4EwzI!}K*|a}wY^@&6KoV+B@4H~2 zB@`fn++A`!WX99)J{LW6#0HITMws2V>nW3)fpFDWY6O*t0#160X-6fQM(sn+>=KUS-9t{AByX_qJ0u8c>6!79k+Zq-bfqgf-=ZswIj8}TM-7Jt2!){9L zO>AsMtycLKIYB#@AZlj8&hqnBd4{=w7G?M4c?~J-XT`63nH@?J>cUx@QH}_jKU3zE zQ`RNQwxZH0uZ**8N0t%NK`@NL94ouZ1!c&aIK**lJOSNU&gOO*BoUUyVnmq_c@5=4 z;qfTIMo<~4VyFO!pbXyizU(eSJssE@v(N{RGyy7N^g({*0@k=6ds zLVt%#Ssl{&Kno>+qE`4=a2(P}!j%uV9*nucXkIL|lRzpWuwZ3QXQq~>UnI@fT&d)V zpEDQmyua&M$CW8WM z$x%I-WRXf8MC=$5gDMT7#!FjOg3zuql#Xu+Z4>myweU5gQbXQE_(;ifAg1nayL{`2 zI0z|4b%B|YLQxE>JR}&2F)^HG<`iK1x7d&&As0Zi<0q1c+pD9cV{tL+xiX8Rp$^J2 zo0^i;4?;`wK?*yT)ujOdZImwPTSzruVPfX)QvFy}RlkQ!=3NWGOu(6+eb0@T%hrcw z7U|%yLgX1=^oZZ;pr=(QQ{rnw+0>~#(tHmsxF!JD^cD!G&uAxOfOwfSb8e}VvQk=A zX-lK|t2Cq%w^ud_H5!0y&?om&4s_(sQ`tnqQF3-BT|cbdyk*@E z9+)F<%GI&&l~j@l>@ptiDUEtsA?1IVCJjnI!9{a>cXxW+?*G;KU;bPEFYj;fzlfJF zc{z38XHtMbX845I2#k6KX1r~7rCV|b8gyd;RLo5>@(kBk@#UQ6Ik?CE z7>}>_k3P-M{nOJw{}-?R`xoa|_YV)TZR2cqj$KCcj74TFW6qTitAU4r63Ut47|%H8 zp+1^Nf$9i=GUIW$ly1tCo(v|YGfBwP)8tVjdZtK-DZx@>d?*>4D9q$*VV(TGNI9P` zVgR2@JJNWxF5*yLEU%7%~35uA#f`)=c zn*1kva$|ai87@6Tp{L1HmI6x))y-GDc~b5-i+&@G>XcP&mDJQ?z+n>|cuNg|#7{AA zuHj0e6d>dalw;Z`dPg|6bPSDQiy*}=UPTxObB%7A1o6vcs>Z2i`bWLrx?tOQz+=m( zWOXv^rff*8FQj#5lXy4V6++RRGU||nYBVzGJ6EaF$kQXkMma`HRbbM5QMK-XXCS1( zxz16dnX(;_r~EaV=rO6uyc4*cm%qFHr`X~ZUu=v3PXJCpvA?lJU<=@y2y{GXRogL(AIqVlsGml7Lo)QF6wEZz zoBWA(2+lrFPC<$DlS&9qkDlu-sI&Y=_nAuRh}Q3tj-OI}VOcevUJ*ODwF_{k1s#a* z@(l}T(*`gyj9mTiO7&kVdOXSOFU*UGRnJrEXeYkpGBA;9J2=jNCw1X*y9Y?NqZSJj zDd=g5N>o=1H2je8x2Wn$^#yW}Rl2L}1a zLSP4R$mSSOzGAsvPD^&}Wr#Q^xCi&xFGaw8Jn+2zEPm<#@aq5cW&HU5c;>!O9u>?R zgIZg7GpVpS%<2Tn->`E{reoulG2Eza`Yz6n;<7Ne(Tq=M{kX&1ER?5OKq{7l-k)s0 zapB6)NCnvtYa|Nr2ml#1)#Y9HII6&Yi@5d!gPAf}r{nGpf&lTX5^;-xSwh&sFy zsWH+_dcNsA9YDqgWdurdlfypg1PYnZU*CFsBB)u1RXYI*Y_JKiKtC2l$gAGs7_*o% zLGSs2{kSS*CPj?UImJK!|D^qCux43y9fs|7?)Toy%*w2(=f=EEGuM1IOL#Yg)J*ASrL{kI~)#MKWYDvJcUR~A}LUWK#-Uu%p=*D(LfUo z^oVYBcXfAlRps>F_uaGn=J%F7 z9u@wL+lv+@F9k#tfkNlzx{h?uGyu*W&)o!VMiUy91EOICY-FM{=h83$NugoGcP0e2xh@7-p|xnfXNb`v~dMG!#DO=V9I^P?_-z)Itt(Y)ofj9Gx2`G}kDK$K0TQ z_LXs_c%NO1Gp;8S0YyZ|k46nlGrc#52#&SkXk}?5ejHFkI989iW zMd>+DZB~jnxbf=9mJ3d@5tF8cihomw#kXI7<>7UlAjMrOxN$P)ODP2<%~r&l8fM(4 zj^6deyk?|%$PCP3n)a*bO#+VMg-iSp*Dr|dFoljG^)s2mmuQQLTN?!aV)~+1wT$vw zsGPjR+F?n^C?Y^$ktYP56VeBq186s|&i%&Cbc~X^{-mSTkcggryGqg9NQ=`VXI<8^ zG+QyUB2KGgyG4axfzm-BwS5gUTZ^(EB#cv2U&JgUebn?V!i7bMr4_Ci0IP(Rl_eLdIxKLcRa6;4)F=4pP#$xZ`8~p`!3NTKJ0~ zxQ5+Zp8)SDh8jA6`udCeCk#12%0HtF8FG`51_5Wpv8be?EJM2bY}zn106YVotFS@l zy5O0vB$dsPdT$xw&g}oQ^!`DDkmEEG^3rP#oa4mHh8GgdhBGaE1K!<4OG)Ej4A@r_G-hB$x(agZ?q(W zl==me6avWJgQPp4_!kX%32K}y6&H=HKF4CUQpp=TUi120_OAC{e$Ur0f9&Sw=CrP* zEZN*zlu>DPwtcoLHY(dLSN5|F66YIaA%0$A5*U~a{3%eg);lK8uf%}~UWHLD7eX%O zy`rvgN3zH~1s5N)l! z+>^7@QZP0R&4>SumC7I$s~e9Lv=@yWYZtBP%{U#9zyGHb72mpaOVgO zocjTEj|%F{`;Y9GaD8=Eqh$#XhgS0Wjn(#C!e=p6ek`4teQ%WMuUeT2ZCx$1%?mqB zCBin?YPc|DN>|nC2$1e2&X}~Rx3k#SpCQ5I?kRxKfhZhEualHC5H{0eq(kZJINRMDQkEG+1U z1rgd>-;v0c4-fcBI;_1p*H{{rMc)SkdjzabN2z4*r@zv|E7$n-BC{oqN zf>maww57z`fj+I^q#Fsrki3zd&oNZ*(XA|GHi#-?m+}F4<-ud|O{YfJ51CLVqbr%; zs2HW0(IT)SV592P=OaSkR`PimT_xoMcih9t4D_*9(;q_sPV_+EN9SgZC5A3otKXQ5NY+#Xy~cl|C;#~c>l2quF0o0NrWT6D?#|t{wFi@ zslUZ182-RUQE(iRi67Lc7+~@r$o)VSp_{ZoHXw`~YFC}NjP!gDycEp=?q6N<1}H| zF>oUdvk^pmuW2U0@YfOq*dhCge>*U1>skR(lmQ9J0DuDcuw)ym;9DLYs7h6NPt(kY zc2;#yg{GuJXVlhOS6d(B(UJVRKk`RcWA+7`lE^}JHT5$Oasm*97N?i=FT0N&onZr7&V9XX!w`oZg(8OC7 zIIGI9v{0-eB<^Sz>GhI>tc_Q$!~V|xQ?ax;5nVoW6B>vFCBy;Ds+~l<7ZX_#w>bHU z3Yd2qjENe7$-;zGuL4(h>}&0n2iFOBWwspU@K@^9)cYRg=7^(ww8oFpT~2K5&mKf# ztegENrMR=G%^?*rR*r{+Y{h^%nxUG`WQ7nydlDg4Ou%^Nsh4LfnuO}?OozgP2n4i- zQXeZyF|izNj|^gB9F$-bTn5!RD-^+udZRFrG?Q*5yJ@Jg7-s{Q25q~iRdS${?bXai z88bWp#JdBv4T3AIBm<`G9E}=a+Ih<@7Nb+RZdvX-yXbB=$shn{MBAm?GJ5D%4nAQ2| zE2pp|x5UPbA|)J}bNT>I8-S@xoK0y`Om1M=yJprd#mL63lt&`2PKjS$j3c-ed&Q3! z7Y26_0)~t*?F!12e-zA2CoNhQdHCvw87pnITFq|k=J9%Z)A}XfedoP@>f${-;#g1p zn;2u8CgzVRf62lz)GJgM$cD2i^5aL&a3JYQbYb8KB78e3qO>-i(n=DG&?}79+_r`fnT{9x?n%?+vA5QC2Wvv7n3OaX&5H-5w=gfgHtr7)+=Fkx(ib@0aW8-OH9p@q;prlp+X{Swo|!5EBK`{26P`EU(WY5jDoTp=4VWgezx z^w75sory2Ve%HC@fb46lFQ-_3?fGH*$5t6y-xhVcB1nS@Y1$X@1Y~3as`r;|X55TE zU&0rD<>nWDfj?cBdKDoGSlovG40toU89;FFNupud+(X)2 z51I9igw&3b3h%|Z^5_7Xgf7&#R#JtkC&ApoNRHXmsej^M3QUV5Cz%$4a>?SL!Plnv_ z1QSN{)Ivt@IT^`X!u%|rhzNQKl`^VAsUJo?i^~QbsGgR}atViQpq|I7RGb)d0K9_k zO!#-$1mS+skV1WT2rX8Pc8iBY!RPA7{>uk{?Ug&9|JJK-yM4TUbGpH1qZZr{5Lu>b z=n_ZSF+)&DMFK2~A(>jDGoU#xGBrVuTTe)mrIc_cGEA`hR?z8O>MCjC0p7|J-CLBz zBe8`PZinDF82gemPjH(VY7qRa_onjCg~l=asmVN%LCh_ikRQ_WSV_cZ!^qv%MnQWF zss^OWJ=&!z5Ui%2+a=!DK`-x|?I99uPwUZL+8t+t=jEOP7d4ZT(~7vRg8LA}H7)9% zvppuqimX9>Qn1C8JiUcz)vwr0YKxBh53Z?X>mY{l>c`Z;GICQ3kZGn-GwGEJ!sZ|S zc3oWKGYhqmvJk7hWso!$VDIC5m$KjFSo4SB2V&=?U3fSay&y1)TdprP%1wl950WvF zWh2SUuJR;}}l`ZJ0@u=@<;%D7QNUi20K8WSEY3 zrjKfoB<4f0&_*+MPdf05VM$QnCla!K&}rQgKoOWAKlT&OX|*ZlMf+zUWFKn+LrOY| z1>9zVYB=C``5QlT`teWMr!LCnt$JywR<<=t?G~^~%hbI-3Kx#{$llNH z^0QCj>ai(;e$H8+IWGB05!>-5;0)I2HHr@KhjKg%zI)^sSGVBaq3!Puea}3zD3c^5oiYPV2%Vi|+XU^_S zWDtDe1n!G&00=_>r@dy=fU@PcBI>PdHyDLb-PIrnW|P4LEslCxs5pAPyRG-S?U`F_ z@HLLdwSFbO>U(d0&zG04yuLZI5=CDTQZUHr&?9L*)~R%Ou9&5On4M!;JmbstvSNqg zprOUY#_qTwa)N$HdF*BijS)~U%_6*uO5)j0RDnKQ9YLC4-kd~dD!oT}2rBnCjUfUs z+kt32^PJ2WKBhP(gLh&SLj?B3*j3Ug+(FSd(qdxpvU#GfL?NNKdQirEq%o(NZE<{G z!~>BXVuF()W-AGELEO;@=D`P}pFn^sGATPxw1RC+w5x-MEUBzT-<46a)m(sJHUw>l zMV#8XaXc$c3Zpe|7}L59mG$Ti`P{)LKQBqhl+YnNV5oZKd(wGP+wG9o{>9TzKgRWKyK~86Wvf

n_viyer!O`E1{qvANp5P)Q*T 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

`i+Qy`IFBG)@D}dYJ7*UqU#Y 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 z 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 z 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

    kzI{1%IU)7(a2u+;dwJj9s~_n(3-eH@GPvn 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�rq(VB7-Y$AfJ~zEK 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 z zR5nLYKWl-hLnrky=B_X(@N1ltR>7b$8hsNtCX{8B@0U8cZQjeb-x2$MHa@iQD`1X3 zms3kc&k5IpKSh4Id6Pt&syOh6+l>2vgk*`PB@*KrrnCgA&F&+gJ{kS!tSrJuMP&JA+c}Gj)0WT|Q!kJ% z?+>ZDx3=7pk$9r*Js!o8kTEfB#tlKd?z8%+)G0@w z+3pnhIXg0-H-m5U@~^iUTCjE*=>(YV;xj5V(8^S!H{0Z)o~V_D3Q+sEJ4l*yGdCPn zPAqv+I1#6`?>8%t+Z7oFDw5d`@76WhK*R=M_v0fInTMxHs;Q@4Z<}e1M-EquNw5sJ z4`-?~z4m4cVo|cTZXd^!l#- zdN7Ey$N7g?xk((bp=CcPUmjsJ80UeOcHTz6seT{ohbe5Whpuw0FT8gJ!rn5GL$G*- zJ-z2Jf@F3%i9dbXc501m+QimHAeg4P85*d5>(y(Fb2z3MKAvq}G`KGp)rRoesk z-pF723fJohfmeKswO;d`V?(uaJX~aU^|Aj-&sZ;jcHIb>a^w-^@5@A%(>N%iiRO@< zUa6`jFYGt>ryCry71Pxkc9RwXIw;X6P;CT=P@segTjWxm+126tq3#mf(eIQKjk`rV zXW>)Y`fVaNKq>o+`)8t@b6P77b%gi1Cy-yJ0I|bA|N6%t{mGxMHl%l^IFURf;7d;E zS?G0v852~yS^2dawqNI$;ej}o-75_}*=9$**?N6s%5AxyGT8jM9y+?EK=K`GK6Rs* zp9+nmBJ-|$#DkX`G#@Cm^PuXa78(x-$KtilnvIxUxB!0kN`CAs{Vb1Lt>~z@@&0MM zuHvS47hl2B3AP4CwYW_YfI!d*OLg&ZbjrvJcsnm#e<%JW?p<-ZK6yP3_2CpEk}@qb zduZWj=;rZrQ-aF+{L5DQURSNYF_-Qj?Y>4ExVh2IC#PUw*%)CZsfL{o#1M}3!e3Ts zDf@QO%a?M14y}eVolBJzZr8-bmewE7S=EvkMZz#^I^>f~$=4prgU-|b@ye9w&O1!5 zh2mh(*a&pd^qLkY@e_Ka?TkZ{48@cDp5I|oj8z+NZ8lQ+6tRpBW^72!TN*aCvcF7Y zWCp)%9MtQ;Jbf@6>gEJ769z^tI!f3<#C$2aAi=mw?UkA?%w$X^BP&6spR0ZKV-&&? z;wUTEv+m_^aDFdR*@%KC!x~qBc~^|IhSdk> zU>1Ny4*TKs^vY~)uc8y>A?U)YTgb#-ly)$TmmEX-%74cj(e}85f_~qML0SF;L4xHy zbRBk#6qZ&ba1WuhbA3Ipta7%z1Qb;i2ah|$It}5T15YyXU?G@J;eb_juUTO_cZH^I zodtoD6HLB~Ww1n%@8^`0L&vNPK_#d{Tfi?Pa?Nav4hy^-7F%TqXk2tFolWT=6efNb z@yjJRxXTBLTiK7h>Q(fz_2A9xnzk;a>Sm59d{1ne!7F#50mKD*%_!D zWv7QAj`+j(*o`!<&wd7vUTM!utS^$XR2jp$P@sGl#b@!UF=o|#gP?3QQ5 zY)4^Dip`Bl?5Y(jTuN*EAw9V4y4PrVrzuf#<6N5eZ1%l=PQxt!ZCa~^`RM$*dJhCA z_%^F;_53ZW%_XFEGA%WageG^lw_Mw6`^ZMxDqQNzJj-YY9RQ_u51u9y$oYyrnwhII z0A=)Gqj6Z%S4QET#dsE*k#*D<1iLuRQ4N#`f@o;3)sWjC_&AJVAR&pkjI&>eYA81N z!zP;fLH0w0tp+J4et zwDy4!P|_nlgb-;pkTzuLkZCwOyrDNfDR%ok7xE0^@mdA6zCVVO6~hc~gDHwFIMn

    Ifp28NCzFB<9%vh7Gze?R?kz})+Cw&eCfuskxX0pe7eX&_W#~GKpANrspx%}I@ z@nv@TB7@nX8{nIGxORqwhpEWkWH>xPxCE#z{pzB)z6qNIoG*sJgSdA@bbPObu5-+u z4UaGd?wV{gI)ifMokYPr9l?29OvI#xv$V2i{hDXbixZz9^qe%x9$c2b?mJY*ekB$M z@fxPH%Y*hwXc+|d2g#3H=eIbd>aeMTAng|OcFJM0Kql|6-pC_4w6c`djMy(;0#)4y z>qU;>kboA^pK#?_O$*RrKIh`QGYDQFQm5{8+xq1!(nU&;zh#)msH#-o z!2cTYAHjXg%wRS<9M>y2lbyx+)O1s_i=Yc@Skw65@%7FL+M_043{lB}7a87mA@ z6r9iEw|DrJhZG+%r~<19*qPXyx}bU3LEhszejZUY_h!$sLaD0j72WqA}2{fivkK&)5?^guCwX zbrL}|!zRO$q?9dQh$m4w8+-r|jVmF^MbR8jsQe@s7Ft}x_)a)?MHEMkvlH`$YDA6U z!vi3R5~Z0pD^8()bc=ndz=Q9pqM>hyOd8Cw<|DfZgo4PyjRR*Q_-jvR&f3tBjHVDQ zZb)fC%9{f*s6a$LcaTfD7y#o20CdmElfL9vpmitKv#EPXMA^`OZ6*7Df-}>IQtlaQlA4L0!C+WSt zVR_S((+AGkjEbd^nXm8RCQo!OT1rAFc2@s2YR!Q|!J&Pm z+cHwU=J7Z)nm#r;PgGEX<@(%E8PbZhq&n4^v)v&*;`H#<4{57w)xq!3xYWB@`VXA_ zyNVOKQ1^SaR!#rq8EVNKAPlz+hZ{r%6=8v0Sp<5{UNe1=te9xiwpx#2y34>G9!;3| z#O0mh(C@?lP?PbJs)a@hoc(Z=kabL7tPoK-PepUzP0jgG`^IH5&_TUCVjd@l)54t6!h8wW# zvBFdP)j~i*vN;+4<*lqmzfKXpDN@MN7o>VAiP8ACpCD%bWxYnzuoZ)(Cd^Kgd^F{_ zob53NNg^f_v5!yDc30464{Tu$8od@OYwJn{U1io8GBt13&&l7A z)<>%m)Cmx4Ch;*)!Jf9*Hxv=G!y>ghvevLXxI~x#h`9+#)i-oWDB$^``t5bl%lzjh z^IFhuDDhlA8RyCdm%^T{eqio7_Royugo9q%vdL#pA4xLLMa+7bfXb#-y1Q2|zLqJU z`1*Y7b=PoA9k@!o>}F?ec!pHLb|kzmx$g0*b#FE%%=7x z5=2c4+1K^_zyZdmOycC#nSsUi20Cl9thJkF448QS-gRA}JQU}D%f^;ac}nCRT>On< z<|G3yj6p~T#e6DYG<>(Dp+;^59a*HA&VB)$qC5R_XA~>m-@#S(YhLx52tp4q8+dUk zpcTY}Q~SK2D*|N9yJm!Q-eL4f<=T+szz!+-_WX9IT-cpIkb-1-eM1 ziw4F9JF_FWaHW0~Q?%nWaTGe&^}|*7uXk1Hs=F6hJBOd{nb^#nO&M@Bq?E!K)D^wF z`iq44dE=&_>NaH~87T4320IStT56RD>Yz0OcR~y%OPZ7Iy24!EkxyX)QgMxXxckr8 zdlV8=az4!hrTf=Z!8muf^i|6f2?o{6JoieWs3zL94giW(GMD{Q9oVwh@OJK+=vF&xdsTqsS_ z*k}p`o_oVN2=(#)MaqX>mk*xAtEM_k=B?=~YthQSnQ41KSx4LSB zVrg6S1nkZ%$(;z(JaCOJtMEsJxN88A?|w85ma{u^d5eN)a%}X6Cjntzf44yy@zg*A zs>$;`AW@Ht*9>I>XbCYJ67cRZNjy(DNC0u*Yt44_4A+{QYSKuNo&Ka38aR3=IKMHn zL``fG$bh`;J@=fpJqD6%V@M!1=p0n{7O45JiW@{XIx<&#V#oxeMkFLX$je!PVW32GATCOcPfsafAHsZ<+VX6Q{Q@2_LdTqKrWY=l%RI zc4XCbcJDLsW1jelntoM|{)xJ`J0r+xKaT9)L>z`HKY3yge^j*OahP0D3GeQVQrc7L z%gHg4<6yuY&|y{LBjt24RqDGt`~wR`tWdw~<;n{3ucBWvQzsV1UA2rMP@h<644<@u z-Pq^vbrs!dEg?KQHC13qZiG(Cri(5wT2v2*9dWW)#{$_)(O~R zCJ~OI13H|i35`wuCkMsA*-yO!?^3+5UcZcv`Oujl_u_E&A5@)q*Mn3;2J*8hL45gB;>-zEI z_ka9P{^$P2-~3Ph;?Mu1|KK0!FaPkXe*GB9Mz%voo1$!419`Xym){_|$XZ>z`eII? zJU&*nG?8OC;+XtBqtWQfi%(3wiqw}}-)sR}oxz7h4~6c@=&i#5R){ZH+V^Lw0D0mJ z(1N~(Y6zqCZSx2XRK9-CHfgrIdxIm0;$X*Ktt17X=kq^5e*Y(b+UN{q^@O_fJZ_&Y z=Tc}u4OLt>d8dpwo4$j8<+?`34IyMt9sVU&tVdJby}E?R6GUAA#qc!Z^iV!8p!ASg zV_{ZrnAy8Id0khB&rBUQaDpqtg*-=&Mmt)QyV5K22Rjh8bYC7abi5k$0w2?_)-JI0 z)S)Sco9BhN$dV(xjw}iwBD#l-XF^w^vd_zi6|0p5P=~g`Mp4j%aE$O2Vu_1J0H;k=Yk% zN1nyD6gq0nkwJhI)suQO%3Ws374VM5gi$$imVp5V#(}2WCqE?lbetr3qb!74Rjvoq z&e!WYWWUZbNLRfFyMMirmZDErZt%nrL|nSWXUr?|1=$Vv=i|-VWR0VO;g(0r^SO4{ zI0VJ~&1woI_!?9!wCZ@=0nj3E!li2>u?9`c1W}!r5nT9q49-(@4G2jGrj1XBP*zy- zDA_)M@h4$v7Qu;ZY5PnW75 zMW3E4SGuk>uCXhky#}yD5uB zEKFct2xAB$zXW(8uokSk-Q)F6+4~q2MEK7+@tseu_VsjjoSI*FxHO+%ea)ZqaW#Jw zb-J3nbgtCtkAb6PBn>?4zk@j{5};ZlV7+J}L%f+j`Z<$effshYiQi0No)cUqa-L#>vt(l&|Z@^}E0JU;h{WTmP&7#sBP|{oDVw|L4E<|Niqo`!oC2q_g*` z(AuX-o*J3;^;DLKSf2iYD4_Hv^`XX~&K@{JRIia~h_si06==++HI_p-(&jmXB?vR{8Zs87|MN8EyAShjLS0Vi z*3$6_8u6KO_QO0ADu*-p6}K9S9T;aui2_X|m+XG5x122+^-vlGhGbj{F_Ty{CC^O2 zFy7FJx9CEZVV}Gdw9YLW$k@;aGYc)iljoYZdr2e;E<69o7f6+NXE_b z?C-t-zk%4viGT4Iz73fTL6gG04wCBtjwA5#sFcQ)LV|?0{Z31rh^BCYcJRMuH}R}e z@iuj_`1D;Xa;BzTkAnql49_>fnm>5bcpRrfVm_pdfR_5yg1!@-bNKPH*fEWr5_BI2CIdiV_d!7zjIqujl37 zFrz-b05bMmu?zEpemX`P@g;Xd6p7b zaxaagW^b8Geznh~WpIZ15;z5d<=)7>1xH$(tDebw3+8um=hola)mYTn0}#OBKo!c{ z5<98JiKO}pHvFl(!QZThg5_J>&T2(QXCRws6|k0pWJ7sr8haYv1#H$Vm#iXSV_xY1 z(^f=Hc&LX-!me+Lk2lc5;P|37%d&TM^8Jwr!30BP zEE;djgZ%4Y&vi7C%e`PEu`<-Rp4A!pAo|xl__7;4zHEKTenY!tKBb(&rG6m6_te2Y zQwW^{WT&OS7PVi9w=d+12#NcVE8lzx+4<_5a8J=70OY z`w#!@&;Id0{D;uQ+PB~Oz^FL-JbiWzf40={Z_Id^CvfTeRv6#T^(Fsq^?Wsc{d z5HXGmd`E=59|GL2Hx%vBMCmil(^1_T7{XP&?v%0KN7$}eCDP9*_QH$cci#Lq{+Ro& zR(!@Nj3RsGOXlbNMAa{g8Xc`=hq<_@OYGCvbeVzxWty*pM3s(9D6X5uz-Y(-gT-o( z_TF4QpD>OUGYrnhe6^1hgqLGBx^Wzi8@~`}GF-a~b0hWg{=2qg73~tugBH_*{6*uJED< z+b?<@!no(fI14EK883IAci#SPB}jGO4nrUTK`Y(5*S!zQ>syBX02`rwvnb;nUkAWG z)%h1FDBE!5ele#(WM4y?Iu{(2m6JcYTyHi0@T+(eJ zVnW?e_E=Dip**C%WW)^k760~FI`XMQK=a5x6@6`40UgvHVg&12I?K*8CB|pD`e8V+ zNY4vi5YvAYw4MBXcJq#YP+^2KsK=Olo@eY*%z9=PRT1W)7N56yh_e!09EM{^!PY}2 zSE6rqTHE4OPzv90-xYTCM;I)%&{0LP*=9Vxc9v%-kmy+@8R|zVR2Y-C=8yCIVh?Mcq4RngPOe3)Cmo} zP+xofqx8-B$jmygIoqhEu1e0&`BfLlyRBm!ix2{a;oOCL|M|7o%zUmCjLU4Ria+#d z7b@;`7C_7}=(o{RA9AA8o5fWbehT-KQL!lPujglSpGMOV^MVd)@EUEOzq`Wws7F25 z|BA-HCck2QE~>ixt9|>vKRo`p>93*e=l@T-r z-P90yb`Z0PnCz?>R|tAJ+7OE&t%xBl4rpVTRE#y8t+C_HXAy!@X{i!qn6h@(AQ%h% z*@j)vSXL{svs)amtrX%uv1S;lJ~@<;Y5M2chPDa;3fA2eplWRg@p@5kUU|-jn+IQu zCwFDeL-BI(*8uEc0;MY{x#d;t_60_J`(UAVAjOs>7U1{vt3@I`9&(BiR1uYE#8|#5 zI{jph*=Awh> zQS|+2S@>Is8pAi9v&&wWR29{ykYSx5=Q)%2A@{Wi>C2SgQ0Dc_|Y|vPAzD;`k^nGprW#21N$XG_1SSbY^3FUbX?o zK6ivEF17(a5v|WTKFkVl<|qdIJ|9J8&|S<7BlCxgYNapkfg;}ZfGFlXed-PLcS-+C zeKL&fu>yK_5(}0}pIVfYw>G-yA(KvnrHeOf9ie^ydb{p=Y`nhP<~zH-z@&d0$Q<#m zo9HyfFQ)oMXI!z#B`z2HGiElnP< z0HSH>->jgib3w^x5Drts#m0q68+tv|y-bZW@XOFkn6!6{-7_Z5u&GQPj#k-KIbfjG zWVuz;9QhZd^B!m`VcC-~7;&oZMx<}k%f;w}SK(C=bQ|1DQO^b3X+w0+DhQx{hOCrt zKN;p#zVHNH&xq=DNA6L7o))$;aCbNeb3#6rCijJ@xtd0{Sh^U~e`dW3)2N!aVfz(G z>=TZ=99!@aj1XGim1|y>xT?Bu^egV3FMR&j{VFAK(aZPkqJ}pr{J!y{)Y&v^qH*%E zcjYKB=w$}2cpvWkak2p|ZN^1=wY&;1-ziT&x0RfIF<1u5zQ%qr+pAHO4u=^6H=gz9 zDvJEzI;{KCUI}5TUvfrzc*KKigArZzyxxR|Bj&Sd$=yt;7zNtCp0l+GU+PT7c%h&- zm;J@C{bf!!B=tByIn^r{)z-%v^8sfx%(9w{qKe7*lY)azxY_;9&B0pfFrS8WY%6!A z6evZAp)HIlNRS}vLuxrMF$&UEH0K#p$WV25NrYV0IuD!gBly00C%&3Ce4dKyaNKWh zn`e-J=?LP$&%LmP+I4qUZwl;ZgM2>KJ%;m`+|4WICD^_`q}2&Ax2YtGMr@;v3L?p* z6pIvmpJ}RA{-_b+Aw*%=3=QJRuh*J|1#qt9^Xv!=5hhX5q3+BLeXIlSYNAkC_yl_K zJ=KJ-%GWiEVsY$2J>K0l#s?g8L4165wgwAxRR>M+6|04ZS0}01AtEnw_Xc!-wzCNh z@R8EmuKV_{w}1VE{cG*huzlC)B1m6|q|0SV?z2!iN0$+Gd}_B|HLgNd)-Dz>t`~KL z+y8))F+#t4U8C1}WNG~p`_j%)!&Mu~c%RJV<~Nl-jGdl1-?WBYy_!UH)9{AHJd2ze z!d~{278e{@T`*3vLTZL4G#W92b=g<36HEYq+);GXIFP8Ss$b3~6GI${c?Y|bBb-t` zOZRA6W{_I+1cZW(j;JnfyAq|v&2uJGVjmQdvGH^U5%Y86#P1ziGS1yEG{z+L@gVN# zUX#T^(wrUP$ioOl#-4I(@ykuc6xH;W90?$Wm^nM+bBIZz$)XOta9Z<)eH~5SK=4fQ zTh49{k_JS;cZVD)EOw(uZ@mih-hxQddLV&J^7-}maW8#Vg*)ZhWP$rg{t5~4s+YuR z9#`q99R<+7!&MktP$ec52ylbTu!f|Eio#QGOf*Ky)iC&TOIOx13CdxPegA4jRZIcV;UH=$eW!ZKe>W7v*+ZCgD(W0>~?*6tk~Z8wtWL-+_Pm zUQV1UyvR8fT@UixAQ6yiCv7QkPR^9u=y|J1OQrzN=^JLqfFTYF_awnGIZ2P0xN*x! zaT}xSgTTNU9xfmZx=7tz*02v;j(Kb>s(23BAa=kLMuU^xSJ&NBk&y%^`-wz-KBk?C zb^w%xr9(`GQxYr&*`RhMVji1C__GLH5x`vSN_+MZ^dO+n$)hm&-)2DW$Wa#1rq#fT zK_q+xZzrM`b)a1tsvyGz7DU|}2sM8NibhnaF;4P~?C-%qS5S}M!!u5#b1yy|vDNKD zSXgsayRJYi6(WQjwna96d*Lywzh1ji{wduc?wfHp@yev*b)pKn4E5r=Ce zZ;qaS%uBCqftsL`cLVVuV$}wgr8Ul(T7?A}LrjNNG+JmKC=~|&)mGpe%9*YhDJOIR zSW1neVO=nLRNTE^*_ z2rP5^Y?aa-uhQ9Q?hvsnVqkX@Y|vd-&(=5Q?(Oz`sTr{68iH-VxD2YDdeY;khffak zK%|Y-mVfAV7!vg+s6MmS0_R|5ybMogQ|UW9_Y`T@61Y3+rYUl-x_YdCX$==%<1;t~ zM(#PNdFax*OD?I~4xoC?%uq#<+HUO8JahD~tG;V% z@`+uFHj}*zb2zD!f|$9I*Yh*A3dmrHgmAn%kOeGPPI_l4EZRLnebH?UTuI3)AKgZz zVgzyPx^flMX;L+0eU6#3t9vse(G>;6Gw2|}A?wo-zKyV5J9HWLrVtXa8AGwsBp+to zg5{7dgm6kZqmXxxf!|PX!Lew%%;`C{JH;9bmn0eufISuj2XV|iF}z4Pa26#b9Of(# z9r7W$eu9{x8E0tU`Z??GojUfW-LuH5-})cFOb1>+_e_|keR=6iPSz)~!~xzdg(L)r zcCwEz=|v#=gqO^cC5Rqd`u`Z}3^}gtsvnw}qux^Fu59$0_oAEjq9ql-jlCFtdd8L0 zVbz6xgkr1;*g>jhXsU$8@W&th$=_}i)5&oGB!%z_V;BTLSG;AkD>gT)*~*uIPZ6x* zfob9n8HMIbNeWwnXzC5&zcPo5?JO5;W8AmTukua|rBMEae%W7!)S3QJ-(gs@U5`l` zpJ04tE|B>EkZA%sJxF`L!aL=qjX1O>%0^QC6@fdL-icDDGbx|1fJ0H+VX_=6n#DMkEY? z6rk`4P2~j9tX83gOzSfdnx8^6h-i-6d(ZME7%od zXA#fpmt1e2*4gfO=9mWAi2$ol1Q>f%=ONdytk8zQ2|>911p+{?lAb)U)3KbEM=#FY zqUH-39*Ad!)WYxq2lyCMU`CuZ>O^97u=@x}*;M>L5d1 z*OTRT{b0%31mLs0Uz#2O*a_2}aaIpS00#=Z%2}MkDO6$n)hY@TWG#YvDaTXLsLZua(t7O!V&_PM)P2T-<(pKbwd+EE{s6bO{w_wV)`Ue|0q_s1A8Ilnh;%I({$ zPH8(O;#H5U9YV4k)|%&{Q6ZALhYip%F-h3)NSuolhCY7XeV*`bLz+qr(KC>s&60bB z>aN?=kc<61EmuiJjNofI@V8;gXR>fthDwyTwjpGU&jWOk-rPyR^7mE*9@iJY&og3u z0?cU=J(IBK$-B9vE6^w(_QB2b*duzriuJsp_)hm#56Y&b9^S$U7OYhtJrY32#v|mQ z9X)GTg-DLGSKh68pjK?)PWoI5+CX z=MXG%05T8dy~$0U1lH6p&%4t9{Khcql@0P9q|{1G9dUUhNk5x@6D7SYrzx0wMCT=r zmwg5dVauMQ?Wt65*J4ha{Zi`*pimy)gu$)6gmmIG^W=lvVg> zyxm`e)82egA?oKU%uDu9?)U+M^WT3l`%BQb70oZ~Mr7j%o73`1r zngSYYIz3^=ZU)rph>f8BI*+lyt_;j@B}eFW3e?UH;WT6s4Z?w_grIF0Ns72r&5^Eu z?Wm6o0eJBxE5|%Wk{0>6XiouTGMHC=to*EgI-)%h+Kyg2q)-n!L4VHd5T%8KvNNjgwa&H9u1 z`t;-Hc~ z!B*7!mN8&T3FvYWbcO4^^we;!Pyc%`qy<3~@W;(U=22Raz=GzCNGCHmU?p#uI zQE+B|<2b*FXh2e)0aBQlM$t8ktD~2EW%4l#VkOf8msB}^@2RjIG4OgOTIYcDcQ2ax%2NX`xhH_Dh54{o>)~Y|jXB+0gqX}|L~T9gEm=)d zK}{23VaMDv;ad?t_OwUi^fjaWv_Ze@b=tDMvkOi6_v6R)|JRHCySGhKL1dIOlxK#5jJEK&4MKtKtbAz#IUfTKLnmCxt~cj|a4J z0d^5H3g-zfHjDM6%RF5;Rp{I*Sv7CGF zUVcKcQ;rH=%==NE=?}`K=Slsrbw0_#szs7Gty|VQYQftz3<@8Nj&yo*O)R`7U*xU* z9cu7gAXEL>PQ$kKAr*zl6MYLScfu;zon0D^H12Gotbe+VKO{0(#1x`*_EBk3$BwyL(@NJY!5%Zgj6Fs~F$Q1t0o959z)o689Qt zzYPW79CwH%>VYy=kUpQ#1o9mCpR0V;!~FsCM?duA7ybAl{i6Dzx^zjpbX_0u=V#6K zaR#gj#*lkxu&UhuoNe%wTfe#zR{|57R= z$y{e_Bo~qu^Ss^5@#Gd3uAsDfY;7x#hym8&LwHJ>Cb@AntV!jWPKue?;r7dS`qx8c zV(rj?;An4q_0M`5P^~8xzU@7NSdRb!vn$nPk4p8+?|y&%?ysqS_z!>n>#u+D>wVuN z$T-o7XDKj3xAn>t){x@H53k`5=hBRL;B@I%A+PMMgMyb!tMMGD1_t7lD1Fjaqt(s`8A&Z&9`?MD0Z&>%ne$F!2kGsX3!fJVJR?Xb0Ga+=fn?Jf14yn- zz{Uf$n^v3OP*FOhvRRj8j1p#}cBR)Cw6lulx&nDKX~h*2DPmDcdxIm%iGduRP6yYb z#HlZdr5Q-mMaNgkq4gzn^b{iU)zaG(>$+X=WM54!>d1LxOl*iJpAUQ~^H-toipeRI zXC1jJv%BnOTSgcdGEPq=bWg6jlW;UZCv&(&zEElNG+xqHjO9Df*Y!c2z1l&Ho`ZEZkem*Q8L)1%AkLexzV48>-LS16Qr%3_Vz;w8L+t!r8evhe#Ju*O;29o#VcYpJ5!!Txuc_`&VGp-!IWywiu>gIkg+Y*fG z^UBP~W~xrb)Uq>lmI%ITxBzXTnaWj&1f%gwDqqcD`CJiWfO65{hgmz>fhBn2o1ffR zXsAtANO4kv*ZkVf z5GyYSHL~<@e|j^=EkGE!FkzgWVATws0OHa|dEam&U5))Z0(<>r;#_1^!*x`QRp+I< zDE{|8gsR~6osrDP;uCFnjl+K`_;Aa63YF`b#x4a;^{si%(Ac8Sx%4?s5MC*$zd_=oZaJ{C#Wb#Wr8#9d97J6vWVMx01U z)8L+YlQ8gX?UiDq^=YbiAT^SnKN1Dg1lT|OiaEZs|I$9P(#K&k0^z1mm@=b<-hvXC zMkGxy z$5^dFe4{3gE$=S<^rEETk?C{yG^K<>=)`xppe}Q&w$I9^Ns76y;}{}dHu9=dWtM`% zOweY_Y+y2%XshcNUBN=6F(9DoSF|?I$&o>vkVc%xak}`E1XZlKimVi4;`w*UAkF4$Lb7yqcyzw5{C=m!FrK%gwZ=8-V zg-tHnfK{1f-;#zF*p08)iELfSCL1p${NHck@d(R&Fn+V6+^2GJEUUz_`AXH3sSCoR zap}^J>-zEI`lCPo-S7U|ul1wq(vN4=@RJC~B<^waJ^$)~Q28JrTmyfb-tRJliMw6K z+$Rja-XiOxr8&lv?qCh>2UDmyE``9+HS2alCno7cr>lhoS=HT0bb+li^^q1mL%pk4PpK z`MwHw?lv5h*TC&O&6bF08(kwSxJr3YT-)9qDVLpov=Co4Kxv`H?eJn%*pbXfhm-Z` z>@K}cPj|UTzX{rVO^9zCn|m!fh|LoS+UMEg(u9~Os^pxj%E7m9@JESY5fIW+rRA8# zbejSp#FTf`G(^S5yXtH1r1r`>UC@D>)oK|!c6JaqVy$NCg2Fmbk!KJ&%Ad+lPA?8K zYG&rxmppCy?XbqN2+d+j@Xpy|D$$sUJ1g&*9Ypq0$0DJ!_oBSHmKYNf+B*}4Tkh6p z9>{lq;(q>}SPSp{s1QWDGRedJRTxlzm3a(nn$!F)bOHui=@!HjI4e>cg&MFW5ILW- z{cMzjsuCmWRbmQMuRe`aAOpE|nTM6fb-)3Od#vRUv$%N}C6(_{HApXe+1e+DLW3oz zo3q?pD!SELI=h#5Q_I_zIkS^U1a!xHm=_BjkI&y?2j-)>WtM8h6CzCmVjKld2uhcB z`f4ZXrR)0Tch@if#DC#${g?ml-~H$R?SJnd{QZCR@4NnS)t~#mUAJ^U9HGykrqap8 zWL%_2%<#!DASna^6J;0TMNnYXND}rza)-{$0XC#QNh1YBz3r5#*N@--$)A4J4+eL( zK&|TxjuQeBGbyb$9nyVNO9V%13SgsimUe3V4x>%s2_8UuS{5e%Dx*eTf_6Z@_3cSS zGviWZBE1#5-1`$|sOl34C>)=z?RAywKlq3L;NShX|9^k+Xa9kJ{Y&4!Mv51i#D4k# zVYAMt`faxwAYM#ZqW}F^W-rR==6UV6y9Zv|Ob|4JEZR8$A+3qVl8m7 z-(ms2ZCNBxT>@A+8<8*Bqz7qYR?JETPYuj|xz@@t%D~~i>wu=pW{Tuc0BY&ZCx*zI zB0RNr0#2fb?yqCz40_NR8tFZXp6}&!TU^potyEGTua~j7QIcOCZ(-aFdYR+95%bnCIQSBIYDhK|BTmQ!^KHrI4&*I}(JCbj_SUab1_B zAHV$g-S2<={;&Owf97xh&;Q5&qyP2)|!`h(s-gvsnq)%00?skiOvaJ zu6Kir#n^H+nNwy7N?j?o#U8LHx})Ek1bW~&!YOUDI3DYnN0>8yssS7j_N;TNzBEnk z57=R1C{^^))4d>u!nHBwJ=@A)1%*iZnV{ak{>5MX`Ct6`pZWfSeIKWJ?~{s`2w^zK z4=xb%yOF9fMm(%%Iv9sk!d=HB++w{Npy-7Oa%^XdK=KxF5UR3%ng>NNT1j+it?V2o zF0FZzyGe4+s(@TP*Q`&u$bt#tFe>aGS|jvlban7ARv<1L0j}pT3X&$W2tWgT^-elt z65>pTIloqvlu?rFK#tdY>r$m7}VWC7*-yA_bM)Kn3ZdF=oIFJE{dFz z-!fCIbFpmITh}M}u)@!wXs-AxASj<{Mb5|-5aibM3cTtkp3g(|VxOU_cCTZ!x2t>U z{u87DW4I&VqsQ01Xic!^w6`9;_dFw?j&7U65JEO9q<0iTq*FOrcuvvV`|0qgixhD$ zjI{fDRAx-V`n%8f%}B)DCfB6k_|3s&+uR+CApNu#b}H#uT@(!TCMiZZd*nMI6`^N` zil-osu{?rBZ!TzPid)p z?k=v>B6+&4dv-y*J)GKZ9QP(*jkctZ$nF-tA8WTK&1{N?fz0$$>YB-OmU?tH+E9nTZDBpa@XIhqsK9coNaPS#HF2@yBB(brL`Y8>iGbN{4YC{f7@x<=V5i7*gp<5( zisJf|BIuWz$e=und=4YeVNwkdFTR~7ZWs5?{AhEY8=Z7^D$YqBD+f9$l%0ny=N#ZD z+p_PN06`TnhFtqq{Zo$Xl5-H%&;AW!eG$EcZYX6=defS?gDG2m$P!W52iuh__Uvu^ zQ?q};=chASs^Lv~;#P8@o*Yf+ioAQd@UgBDMLLFMVO18{A<%TVc~8!LJ<$1mhbvlj z*QohBEM*kJ(|GKXv_Ht}c4XL`hKyLvx--gmMO5Y&q6dV^3a>j%;XAG6L_Kv?=3<#B zo)KG=RYPSfA&q@Z>}dKLP&_BU$oYO)y8q38^WXZv{=I+eFYEgM{Num)*Z%eY@2`LP z7y5uNpRM?0%ZvcZFQ%P3CajoZ?HQ^7%Hug*pE=hod-@p!3BJ0|vN)cX6sJc|aCT*P zvg7%{KYsrwf0`YAa?^jpd>m#(#ES$w=nbiOOKO0rr-CRPo`BaX_z68>AsXz>U&8#B z2bDt39~X7eU^UJBQ2m_4#hCMjElB#pQdwDE<&?jicj9*Kkn3P~;yu*ruMQS=Y`rJ*4>&zuZ(%f7wGO>hmLZaAYenJ^8)*X=ykY#3M#h;_ z;i(?S5Z`||#agOlq>-mF^MRYRNGwl10`V5U-zybGnH4nspNwn^fP1f{#2_ZDc#W4b zP(li7emO-PHnVbUr?w z^OBY;&I$3lS{yl^iLyB_NJ&X3`~*EOMkA-oL}6sm%HhAtn1D^(ipVhU&f+8>|A+tM|K&gVNB@rh@;~+; z{=)aK_x-E=D{#PJ+9#6sNYceI(M##6jk&6BdUYd!(pz9s=FyE~N6~ap8Ai;vE8tO| z3*ukWg4cr_69y5cIOE6XSZ{JaEVcs|7<(W&o^#UdwvmAJbcr; z$&kqJ6q-KIrMNpzY~UpW%068D=S{nxwn+d0oLVoo7rs$ClJHtvLh8iNJyX+g_`azI zpZ|V$^6b{0qD*QBeEdK=--4@W^=-s7xn_(SYx$dEh3+B1n=j`IU_{PE3y^hM6;8MP z?*6eU^{Xm>u+<_;@^O*Nv3QtSk}jl~mXN&Q72x(d;?pfk>zeT(*kUkN#cJFa+|#O0 zTI?$teu)c5H}%0`sjhO}bw5s=wWZr{NSr?}QEU|BpgdLD1y7%dCdeq4if+AR-<3c` zj1WvEx&2e+>?gfq;wRR1+I|+~yy--NhH&FBlIvvPRXyv#nhP68^M~41Q$SFO0mG+` zkPQfiifD+SjHM3s9ImhH@=bV)9;owHPBbWi!y@#$B!HI(0FKp$bv`D)`un+R+XE>;4-1aysygn{sbxR^?rzx)0lXt@G8_u4m86@C&85p;aa-?)OtpdkK0Ziu z)YI+1Er5rX;D-CWBQo_iFd0V!j}`*u0@)zUNfA={v&3l5w~6MXT?_47qgHF+Z~t9dvmxx zw9>M#>uPD)DaWlbpMPcryWT8~Xu`^EOErK6o^whr!_0Mwl9yx7@5Yzx#FCVyQ3y^0( zZW^27Wf)oeDBSm{G;=QxRkhA2_dG)lb?W>wRrcT}>yphLH9dOxiR0zRdwGqz`&{tQ zoP&Qia(=)(iv;+H9e4Ms`vN+qFjH|l0GZltlrhh$Wf~5j85O4kcnv9BX@+<@VawdV z43Sc29%P%JxL7(|yP57ADt|>g_%!=xGXVfqIlL**AVBPG2@p&IM3axcqC~p@CW76{ z>QK^XqG?FXnl;#CSvF(qdTciVk z0@MMsW*49aT#F{)>h!??g#bPe!cU{&My9J6tT4SUlRHew!f2qieNdu6k)O}?1>t7= zG-a@8H?nzg+AC?3>4tkPt;5%N93pI+le`vojX%U(3ZSPB9`slU7<6#XwoL49z@k!? z8sd1!=|%8Q@Qar_*!&=lc``*AINbHb$NB^T#<^tL5ZW&22MQcR6J&u<0;TZobhrl`HzCPB z9(pan8ngi;37+ZVH6RU?{{YE(&cgtbwo>zkVqrr$Bl;H%E2ej+)KUo$WL5%gl5xy) z#t2Cm9b?&T;*o-EF$lw;8SETKP1jB6E6uC(B!?-MCxy3FW{2G5r}T3D0ClZ~ZhbUh zzJIAdT)+Ou^_PGC>tFu){fEEM{RiKFDBmAlhMuU=ds#M;JpX*fwt?CH_`1QA#C%O* zX#%nCWiXC=Ogfe?UFoE6mY@|*^ab^N>cL-Ha@D8*3=aBewJsl|6n0E2&~g|(cA5zo z!4Fhb=uE6J5p4hx4O%Dgrjxd5!}h{kASd90BDiORO2L@IlJBVys6&< zCHU!K0^vsG?32q==Szw)QB9AIYK;v3RZ?(0Qfo(l&2BkX0)}`6kn&ytI@V~ z#!BIkXjkMe$UNuFJrS+0{f^A&>v>e981F%N=SZ4Aq)v?m=NL{Fj|KiMV(w;l?D!A_ zxnt6Df4YXP!emFTc z*uj`tnYnwPfFeX>fJbvel~i&!fN{ROpAfod`feYO(s_EOBGef1r)6<y6B~O=6%OG8ns?K9H;Nb#~|Lc_P%03Et6*c0kM>yB2cg#hg2=5RW+h z9y|5$ku<3vUcmm7-Yo>$eHOH9&YSmhM)tg+0rHxjy@2g+tNpRRc+{H>tbXz&u(@>u zScD9oUV|t&>}|)imV}xw5jU;L!hDA*%MI_OOKO(0dwLn?ExY@7w}`c$N5%onU=*#y zLe9FnH1}NXK5|Y(V{1a&*!6%BPlw2ib}v7}pFU=C4Aq-XNEW&#vLSN?eB3>xk`Z&! zhqtG@FS3jcFE2Fxr;_Nrtjmpo{9zK4-E~DKs65VFXKy|xkbZ*!5DY3BE zdzRl8RebK@?GsZDbIv)u8}MPn8HzrlE6CH4PC{Z4|#+8ZWur6tWFcnh#Gl?$J|X4O(OddZE3xgImar^Eqt zK|x%LBzu}V=y05pvf^N3M`i?6aoK+(Ftc7$u^rYCop*DQ&GhV6c71^kzeU&RVs+eT zg%ufkQb#64WBRS=TARzt^X_{A^cmi3c;6J60fp1M_xrcMM<*`59Qk3goPEZW6MeBC zzEpex+yNrSVjvIdfXYzcO4Gp!rB~9sG49T1vd6tbgm^KCK)7_Z9Nr`O(0GnWkqC(r zUBz%6d_z1Q{y3(Dqi4n=DV$TjXfV=L5cxgOec+52I>!Q5=bV(LJXQb<&!DPRQsJTc ziP*`TYVSEDOkV(0w_CGIj?C7n>Pr@<-I7|Qd8gg4i!HBHpXX9Lfm$EjlI-B8eZKgW z4IXS62h1m-H5P${Zzg#9%NdBb#b56U; z^{MrYmT;Giw`KMdM^C;0e`^&cn3X}#aimAXyVVdE`Ka7yAJT_?(r zd2Pd5@d^Vd=`(`F(A$CL`JfFxy@X3Zdc+%Sj;UJ-z~~a+zGrv$L?(V(Kex*#Y|Sr) z(Wh$?HW^Px#0gyTa@-mMxdnlF9+K;H8pmBlN%aj?+f*L+wADd_`HTWS4XPW82u+xC z^+2GIRTKfet*e`a?T@0hIV8@0#7P-_q`?m&05~Bb|8=aT_nB1oWjsVSFkSj`oN<(6 ziZo*TQ;GP1ao7Xpo0B`gU=^2Pn*dvBsfY8NxK%$ay445_=xq3$H$A0&}b2*aKJyZLRyf{=U0=hqlCd zdSLJ?vcRUe>m~VKi+>?*sDh|+F;?kl8(nqReXli=HTt8yYIUE2!a1hG`yR^KK@LG> z`u$bUhD9)?uzV9**Uk7v1 z;Fuvp+Vkkv7iT`i<-H)7Y%#P=T(0|e`R>=2Fbh)bdc8l;bHJv~AT_M&-O{-qOyW7o zDi%TOvti!%@eW+WbiJ`1jwtOEqYvoww(oNS@ZJJuHe+|C+`{KdOwR;?yDpuXzqd4?1PZ2$ld6_&A$`Whqb2 zj{6ZYIShu5Qz>_Y{);M(XX*ZquICHE_PW}D`@p`h(WO}M##XBhTo7jg)NtHLMB`0j zr`D_{;%A@W(ON=Vca4Siza9Q~kq>$%JX;uh3~YXd{xDxvU#)@>5J8vG;I$&@ZCw=? zlm1jIuX_5lHzB#5?lg?8gaV<98emC?g3vy;G00c4z>a9>;-2dEU)XPl$@A0i)|npL zm=*7*`2U2v}cO()CdZV=ZWmA*r=7#UkLu7k)ZemY%#x!1vM>Xf{0k*0WX8$Ap za3IZ;LD|D`OE=~mLS;PVEfCr@kttz#=G>o$)X*4`#3uQ3#v-%s{9USAISx*ru7JUu zc8jJ= zMeEI~#rnNM^c`pqUIBWxfkBlmQz8qKg%S!&y2tQ;3+RUUx?7rYe)tVl8nuI~zM9>i zim!A~M@{0)OW&0u+x^dU<0cddDN?OgvOkgbIRbYSD?`YmYs`y18g+`MF*SSQ9p`C0 zQ&(>r=OFkzFZiHh->T^!8qLWkoup6vs{JZ!gF!+ZA&v za4pU?dE8v+me1=`f*G)D^zJ|QWtTFa+9ZBW|E$6WcLa2XmQJutj_}~qtf+Cpp7>RB z8Ig3yuIN$wZzcP%Ql!JQJ}6Di!77}GGBz1iJ3Bs$+UM_GLX5-5C^Pfk8q$tIbs%zS zDt81cvb5WolHK7l%#<#y#Ql5_lT*V*ydd1HLnl4UtHyOeb3FJmd(E-Z zrUL?{&r2SOVl$gQV&0peErhb1&GUkJt{D(Xk{So59iix>hP=k-eFIaBf`a ziq0|*iFeHnS6Y)@u&*=(+T$7##|v&1Plx@1nCH{_tB%a>3J6M>hQdCxgd=eQPY)dz zKW*B(BS0cu_{7tCyy)<8@=((A)6v6sAjt9_^U@Lwpw|SvY z=SQ$ynVEy*I$KC2V)}f^3oe9F$0|#IGxME}K5@J~NEP2VvUsiu$hoekvrECRd++Xx zZ4|}>`t%H-E=7N9a_0(>9!9Y@W~44B=7i$9)QW#ZFiKaAfr2W^Nf`Ycc6~RhVp6B3 zaBSLuW0U%HpRb{q+*OGN`)qWu1D;EMe@X;KDNkFe`V{qOkDtqQUyVPxK9f$1ji_f1 zGaJsx*w5J@M%goZm6C8d1cq+&=`%69dowZ5LuSm$BS{!3s)$G$UcOuN(fj4XUv-Dz zIre)_Dn0XaMO*RoWgPwI5g(69IO6lZBqr9JOvq3#hBZ+X{_I6F6wegV&x*8Fa&upBFA5*bC}LLo(?8ZzTRrOg2TfRLUZCR5Wi8W`$v;vWqmzw znOgI@wo*qbvkAoTDFOmkwFJ4wmfi&!qZWm3Q+8A$5d;Uq;?x^e{ z9z&Pp!h&m}DsLBE5>-+g;F+L@SaTYvvQ;$4{fl#+kWJ^!QzE12ifUd{- z?@SM<7o(J64?Zp)o|QF!1OjihbAx0>--XZ@uH%y(-Ml9!?bznc=q>fTpis65f}+ne z%^$e5{L@Pw-Cvx{D})lb}0& zlegbMn>XJiobe(z=Y#`DCdc4gIFa4mlK~ZQQ5=PrsGS^hNl#wTa|G?uASN)X0PB3{ zu3B!O=P|lDgmj>M?9@KQZBl0v1DRP}UWc7a1$|`L>9d8|7FlfOe611l@RYNrm~Li| zhpyc;v*ccplr8((X&-7%fT=rYCM84GMHHSmPH+H$>SeU@p24!cIhPIeqNO4+(#D};ZQz>e ze>xk1>qQ}jgHBUU^!;>~ixcSb`s5m)l*&%SW<09t-gOWsr(!3D`pGJ? z6{2hEwGm)GI`W4j?}`eduUdrlO>nC*sm(e(jG#R>uJ&Oat?}lI%7g(?Pik z?E|39bL>8t)?Py%%mtJ>kEZaWqQ38QxlYk?-}Owtx(vG%FQ3 zx~2OpY^v+ixgKkgVuisfm@^ooas3m#9DSCXkg_VP|>#CT6d zD>#(SVsaOky2%y#B>Fw+6V@pjrH?Z2>{WLN&6#fXG)?;LYwQEWcSn>=5gX^&&%ZK~ zpBz#ZzcP}h(NTU^eWk>-xMaFftd1s|#Q8hUtKo^x<*B2gKWo^1i+&}nC3S$;476}idh#-rA{G(65=*nHlGOLOqQ6!3uOL#vo?cbgV-_NhrmVV$$L=wuu^?W36vUE&o*d^1b@%uAj_&~x4I z=QG^*RKNE}s~ab9i3@hTCnG00&7f!KaFu=EwIUJ$;JixLV}`g}ely*$kM7~V=MiQa zm!XfHgxLNNq9sXJgP4TVRUgalAPrWlW&?v%4bQwF5NFI`v$@_YSO=|shF^F&Ty^VQ z{+izRz5M*ox4=&A`FnchSaU^AV!*QvUpgILO>M&;DtZ!lYEmP`{MS77aK_*%`loF-stgUaZ-hPr zFB(*AWydF+^o|y;UzRKfvJ}ilAXz?5vkT;s^V(gi>jEC_lAe+KP70{!C7~-_1GAcG zMt2=VvqEcNtisz@X_mdNQP=`F7uB=Fmx-g{?q*I!>j(Mgi8mf2sIVXm1?^c=f~Q9C{2!-?8Ub7{m4VK6!~K$Q^mUW-cv_^dZ<8=U;rc2BES;q8kGH6S9qqScs+VYlRYf=mqoJlf)@I}L3ZMDe zxw4pt7&w=V38HMYJF`Wyh9#3=q+t|T-}q)QsUWX;EP+0P2^yx00pXu6;OATi2Yhg4 zPojcPgQH)PWBMOewD96}^2Wzm_GzjfmSk-2vz^WIsD$xHB6`ok`bd~~oaaZi)G|)) zhxrFKm8U@Kwz}#I8RmHme4;^&jb4x9Ou$Pi!tq+s*!l_+yYG?jx%0nVAz5hOVxSi~ zQ5}?Pk}H8AjY=(y>Fi?TW5T7*jx*VIXrWSRu9^r7H}6$WCbE zYcFW-L7>)Sa7H7(s}B(hTFxLZwZd+PrXN;ez+SH7#~`g`fp4ZIuX8qo6L)eao|oes z=9q2aMJG$H1L+j~e2xhY)u588cTlPDV)bhXYTqax@F=1w>ejm^Bu1@cI*~GA9f8Fb zi5R1DI>+PBSG`8v-RS(fdaPrBsb1;23_x9~?jZWBzuL5;cdXmWTJ0fUPcZsGuNAxS zjS%Vd|0`S#!_DTJt^u!VxB@6zwuPf6M2@5>KD5JuZ&U4cwX-@!GM~r)K2DQ{1RQ3? zgv8FNX(q3rq4nU>_{IGpCQP!sQ8V?K>)G?LYiTwZCap15DJKLLp7u<_h}olTY^zwv%`{dUPGn~sSv;lu-QiZ_mTE<6BhQ8eE- z{!7=29-kI%`M&q6VG-qaO~9I+(A9?oWvA{awgl7hf~nR{emaHxL@l#+uX>%;Tdf|F z?jXH={>DwKPmgUrbFsSJQ~pO-g40-=I~(4yV5LyxJfP;FjlNu5$jM;?Tnh=fZQ@$J ziC5EWsFg8%K?*?rQJ#ofUKR4MPB5dqL3@TE)wi2dBoW<`v}eRU#Yjlv`^UecZ4VT= z;mUqFwS-yn2aoaj9T!t(Yl-y^3eJjY(H#;yu7BnPs@=|@5WI|gr+RxZ6GC($&yF$8 zZ4S*jzFs&m&WZHX5vNk|k$#Vlo}^?2PHqx@wH#*qh}wT|2GtjW!p}Q7ko(Crs_Zw) z)14!G9iLBCx}S~qa+kiLRf)*QpTzZ!&V_w&Pb)xvI6Ra5Br9V^ivkOllN!aSPe$ByS!b7Zzg%pF~lvZ>qDt zNCYUN_%eH_D*aRc;{V`%^fDp<#_}OX?+Mu7K4}Qi+l|m?H^HmDj6K=VPd*p!6Zw4H zX;(|lOlJS^V9%DNaW(7eDf3m=HKDE_71!;@%`sAkf`{Z`bk+R8M^p(i0NhndDy&kp ze^9v0IT;9yCN889FnWIf3ghdR#dG8rjZZacN)t&)-GO4ZOF8&t<&0l%S@+&EVJ4!c zaIF#4!AIA)dS-r7s-RDsFmgHuk-`;=giD`@tHwKovF1ZH@e`(gO()32Ts<>;w{b>@ zyEuLIo7fV(v46!OCQ^-9 zml_@tK2fuU-l5tnZnB-Vllk?Gg*7TKhPZ+ip}+_xGfYpE&is_S8Eg}lS48z9WA+S$ zMzub4{N$GlIIK<$n`7SX5Lb}Wg`^F@^7_%%T+OkEuMJbNO`1Hc3#gj0B^lAioI=_l z>?o3MgO~$X6zpjwAE-q?H4~o%GgFkM$exd+n3l2g@s3k*bUQkQaMG!|n{|i7Qi{;w zh`cbf7BuRoV-RlRdJBmnG-E;=o@;M<%i}ZzvUH-$J?7X!X(HMr%B%A@z!xxgzu8u< z4q6f$)^yOR;GsPtX(KFlR<6#g;#7;3&M}n_<;V1g@$D7*K*d+0KNi#RBEJnI+T6yS z&?JTpK4`C|MMc&uBkD}D7e?Z+tmfI{`J8h|M3@GE4=c)3h}9iRhmkyC;M6L|Ad}qr zsKg#2@ZE49Zc~8`yp2>ZM=nLtfuokRO*2=Mml;(JUcLE>LN+XcI04D;Z*wQ$Kt^!0 z;bMR>6z4=~C8hS;ecxk5zCnZc?MQ-w6K;aDKcQf9!bc;a_YQP0>V%3XnXjld$YmP+z<%37|z7t;MUK4T$x3%IICnz z6mq%c&`NbM=sNwCYhleE#k8ybCM~WWskpUo%f1M`vhi>Bv?+@>|u^ zC5pqEzC;M}2wMne_;eRP50SQFQDSRTbGi6)+{JpN&*CFJXalt7rzLStf9L(Z=*By* zr;w_w3B2r#lF|0~c{@+EphB26B%wxBwxYwB;jPUgTUmI(p2Te$1cmnI{CPnXq(ta_ z#t-$Nnle;=I^M$$;>`Qdb2**AV#x6PnMtuaC&_EtAN4HmhB$We_DEr`L`g&2KiBo@ z3x3G@P_k*D01eQQf;8}y(${stvhqBh)ZL1rI(a-Y;lq?!r>RC}LnoxjSLuS-C)EDR zdKlYT(aiTqxUSaaz`E!6(JC^bbk=LwbU`};v>GQ%NoOg*!!}i?(%lQJSuvqOLra%e zsF`~59#pz@@L$tZe#XdIhjh&wYomf7V2oGtIkoWx2QP?U|1N>|CN@oxhlYo2@9z2%_rGnt19* zSai^K4NsV2rh3?y8CB^Y659&UI)LC}=OmH?39+e2eAkH)^s z`E!oZ$GUp`xPJV&e);{6-~Z9?{`il7_eXzx{qFbIFTcC4U#e8sOI}3w0)T^h{(aDL=tKu)&TG)e0`i#LKUzVnmQe zwznddxOhG|fA<#QEhp8kh4|J)K==(LnNRX16mxX`U(CcY6IKodDrd%LJT6M^xcQ*c z(w7PTD5~AzAwz|2KdbUv3d8(S8)mj0E`=EtO1F}WnJlTR?J4!O%o?XOysK{65H}X( zK$LGO0r3_z&{~NclUDOKicD{Q@Zk-;se>s(kxpYkIHZj$)`Ot+$zhOYBY5Yf!B9U^ zI)tE&75Fhq)W{=|dKMyOMEk0B{|#v)M?Y{*q>Joe+*)R7FrUhjxgjOE$aPUNf9AjX z{}c8vzt&|}mLE39I`@0Vlkp&f`6@Dt$t+n`$*=*zZWxt*0D=tJJ-MNV8ixM>|50wL zXTT*$Hrx^52VkRA*lW!>#@r{U1e1*TzWX@m?7i2T zYtAu#lkFf^?BV%bhg+p8^j3gtuqP z8q6yZu-g1v`k$uBG)A9f570IRPj#gcZUEQ8uqm{Zb5csCX#4Yxl?S1!j;&Ea=^z{H zDd(_m2u4#(Qi39=I76J&YJh4-kB;>|u?~L}*P*hyLuf`5h4JBrqpo`HlCz^#iS~oS zv?w^Gn5*6=nf>5Mm#Mwhp=LAkZk) zI4YOS%<##K5F`nyjDN&ba!?kcJnzV-ss{L7Uj#FGDn9;{UZc%JxE({jR0x?(j#bZ* z9RJY2>W zXVwAsdK17HcbB-_T^>J+$4@3Nag7VE%#3{+Fs zQX0gKWe`={XTca{+~2&+67VrOJ?OF3w8B-@xP`TYP6CWsy_~|&&x$Eo`LEC!+JOOZ z`JGCV61Fz!ToIYj&K71&7;o65o5g3N7V7i#jD!qXnE5!h5m@@K)QmF&l4$}1W8xk! zc~)a58&(?zym;>x3y+33KIwZ=9XsN*aYM(|5k5UD;o3?-Qtg2L0G)%mgM})Hx8W$t zt0%cKQ^mFxGc_|sg?_)%1%jhc-jkHotUP87)?`MvikG zY35cDLL2Ry5gtvDDt0nWu9&K@rvi3%16*A*%tEj(s46r9l7psP32!EpIZl`Bd(75j&$`9+=+0RQ9A=vG(_qTN3<19;NkDzdS69d;K$ z(bU7szkRbsP6^pyF{0j9KBJ=Cs5HJ%fHsZWsU9&kf>~WGYWQMU=U~R)q+3n)nLK8x zG*b41Y+tZ#ovet=IF>YVx0Wc9H7pJ`FPn60QQA^y1{ev)&ZSp6)8N>;i3J?xaha-V zO&C%(P}gDq&ixgNEY5ejQKwb2xi73vL1v+!Q=vZSZmh5*ImFq9Hq{6pma>{%6P8|u zI|d!$;Kb#pDNHC#;@6yYLSao9DD^B^H$VQ-i=0u>rjX~)=MGUu@m4X&brFx%Zlyrbb0ftNF^Mq`)SE2to@rj?=^Om7UgG~yL>|BgF) zkb0(~f#~U=?lB?5Z;@uMb*#^9iBf8rDu21Rl9-!vE)8_~*$jo?$1?If z-7I@`LuuzEI6_Q-rMjw{Q@1H&4rSN30tqaJm_iY%r#8$guwp>F#YNgAtQ70rria8v zZ!=4^QN*>Ly|o=eweN%~%SDB6w~;jTcc7UHwl$_nOSsCdEVi%vSd`XSjR{F|t$<-d zyH7HDVwu-k?JagX6>f9Wb1J&t2q5Vp${IN5focw+Jg=$X+ziWX$xZUiDcpDZE^4M` zm9Z3*()dGUP0&-~s^3w2p_(`8@v&Yeu*@ZT+$eu~LL(3V&9)uaFUY!alvjk_DqbzCY;slPbbY2u04snb zNfz3d0H$!9Sv~3{<}5UAMi_)d(5RYTq4oN3!Sxvp(4i&_(K1O4`@S8jaM*j!DKSXQ zNQ}$l5C0hI=Fgs#=c=!PH|(^G)Pp;ZH8<}?dJ-#MT9*Ra+^kOAcF!farFLCt=zM({ z>IkKjU<_bfa5pY@;B+oa9?aLsG%_Vy0j)sHDm&z@X_;f4Azjs% zMW6(%0_8KD3lYoWZ>U3?X*hM$=bX80E8l~=EFjCa5%`?;$ zQ3rx+l4`Pn!t#d0n?rA$-5(V^9CAXTJ*aVLDS)tEZOsUa#i=tDjFfHdDBuInGgCb< zpgad-)HXqb`=|$o#^>y?jt-jD@4q!Y%1sq$bs#%9p`i?pUL638& zxD#6_nfWWFMZ(JBJ*vh7`8jed3=Mr$!9?nlQ>Uf#TdLR@)!)(bHeH2=9&hUIF>uzv zm(djHlQer|M!~Vf&=J0aBO0%A{r6~+GJAnE9$-^+hE31{bUH#o=0nJOdhux~gh|YA zCUz4DGhqC17#~3T&$*-xa9qaa@qG05zxVI`!X80q|zJFJZVtXPFUw=s0w`N=$gwzNQ3(>BuA(%o|BNrb+ug7dFD!NMTv zfeOf?j(N|wXT)t$8@~IGGTG(y6=#}uK(F?V-$SiCOrN3BU?W?&r-dy3h3fLWVPpX=%Ffd?;b*SPksGSQRk zuuUXdTu)^?7AhsBd$XXa_CrxE!hPTJFcw+3pZyq6!jlNocdA{8hug~o%9$dA=PAv8 zH_$|)&y(=b$>giiw;~jK$4B0T_G{{(S$wAkxW?7iqBwzTMNtGJoI;V04%5`iQLzRsKE+z{>KpbzAZg_5 zr^xSiY*AuIs4ZRHUZgy77$qb-C{Cq-FyqfVXI9ICTtl#@&e+WlsXz)k;d}yOrN5n` zZW9Gh%NYw%8(FDh>`L?cb-K@Fso)Z#Xj*8Z#5FGZ!nd?Bqxl)E^ zel=`lCA6ayc1UT7BEud~eYT*mZF()^hK?^SaAZ+;kN8fuN@^PuHxihnO;~0|a*W-@ z-wS_9iO3`1b$yP*$5^XDnB^UWL%I>l10J`WcX8EGnvSi#p^zvqsB>4cS|d*8UF|Ao zU{NvTSkazv@bG%+Lk^nEEo_4m=)H_k^#dzsD^tXdxJUBf^zU)}PRbl1%!h(wv2E3P zYR}euw00uxP>_!vVg=~BAv&k8YmM14rAL2n?#K+9RiY#}wPYSE$XFT6o?tfRU|=Cj z$GaBkr01%SOs0~Lg5C8MCrREY7oDA;*F821ez_hhj^L1pTx(!eomjEFkVx@j zkgqkNh6DQ!DjKq~D-jAx-@K7@$?q&BiSo+{8Kiqre)envZkB6exuJNz)DMkpzgyv- zJ#k>fT2K-D6WTZa;g7<=`UvBkr<4JXTje;JCqP(76KZ`szHjU$kzE3|-{bBJ%EKN_ zDz@`+_kCWGe`+!q`z{}w2Z}O>7hS93;Y^KiVhn_fN=lwGStj!QbEVWcP9%>IlVvJf zS2Wq%d3c9zUi&?dJ>r?1a|byk1Zk`NR=Q%$0FJ1ANBukFgOf_75O83swo_$|8I(9WS%hSMq?_a05YwE93V5!W=lA0 zzQ192X|RwOvM@bebzxW=Jk~fn)IpsLiqMs9&#OmN?3X#{l)06ZjW#HccZl_nedwS&JfxiOf^$WVA>8)i#2iMlK44KlwHs)z zx3L1~xK!wplRL>kacR=gJ1QM4&_Bxh*F30Yg=Z&P4}Y#o-tafjtpq)v4=t<7rX;lV zOJykzl(rUb*_YX#K#Sr=7$C#(D%5H`TpH6%PvMggYI1Mo%opmH%C9;3CzBFmt6E}B;#l4RpKCQ;op3S?I9K$-L@?7gO%Xni566@~@hbGUiOntnUg9dz!LRG1REaF*J)NSQwT)7>2}wY! zzJipe>ChA24~s9#9dIc6r1FNN)endp`hz9U9N>=P-W~#La^Kj*PY31>twec`GKmYUp{Qv&{ zy8rEO;^76a_ncQs^e5L~fhY-QaHFBn4fCv=RPEt~B%fvTRc76l9+mPi3A`xR$4XEr zx^NyIVp}1Wk}q++;30rU#+K_kQZO${cKLdZxwXOymv8}bN&anMzxsTVc|uD%fMQD^ zIn^))D$0?UNxOEi+%N%9GFZqOwj$a?u0mxVz5De^A%(}|I1v}b= z5O_hapK`fFV#>mgD>fa-NQQ*GLPR29ZkT2ls38?3iHT6<7%afenXZLstbxsHHJ~*W zs7k=RecOaRQ1*WPxkvB5tMQk zsdUT>l5LcY)7OlKvTm*AcO=AVLkjCWR1AdUK+v89X#FFHna=}-Ffw`t*t2pvd zhElo@cfmni=boREH|h|x8$t!}X^+k)i>J{A{i-s+8+6*R73H|nA{`fe7Bo_<#31!S zK*NC`WrU=LLZ!e^l5(*~w$pAMJM{uZqGy+b1vWO#yT$sCd-ccAEw~JJ759+aEJ0H# zQa7Z$^9pyTDj=#KqhDF6Rz#!);F!jnd`nVW))OHKed?u9-i>e&_VTpqsQtKcM_*u( zLXb=dip>^=W!B$OG2(UKq-n0=Q})wJsab0auX`!V#Gi{@ULTe=wjLd$UrQT8voj>J zWlMvXvS~!N^pDL(dT4v0WyMq?`DwciT5BOkn%+IIbnirH!5qcC0n0^@I6l<6zBy+( z4yX-p#dD(wTM2Z`6Ij|Y)|d&rv!gpJyHObaddWqK3LH4aeF~ARO;XRIh_kUmGIVRM zxPC388NG}1Q+0ER9Rfy;+V{;$hv(qr^~QZH-7W$U*G@s zGhAQJhu3kvMi6ro2@c(fPEX8&tldNw+{Z)n%Gs!;&!bKS>Jn4y>Cm5cfGes9q`+?SU^S{U1Q~A`EkgZ59m?kmmVlGiYdH$; zDVA4?*REoBvU4C0NikLS2rs*aLSkc5n>XP`Nn87$v6-APcb8*pK`0S7*_zpZDr;z1 z80>_MP8QNJ>Is2IM+umvh&K?)js#>1_I(exLAyx%{4asV#Ve8fl)l_oq>65o{hvd& z-_ovwI=EJ!+Ah&~L-wqWH5nkRnDweMEq@LTRcVaa(1N;H1393Kh1}n`D2V0ZOFfC*m&*o>~j090T;(()oB9W~rig%@{UByKr*~N2mCh5X`a1 zkb05EqCGOBriCAur(*J~-w+gbVwI`Ln$jD&JZ0ZREIA5Z%$unRcoy$`XO91NTKj{{5k~*~D>!fwDaemzPTILaRm#FfjF@Ph+7<0~) zM+$(KtQhR|<#&-i3eN*m&dL7VXYf#)$x(&cy|eN#goqpwlXH~btvEy6>}egN7dkaaBb7Ey?^KiFN!9JlPd z7J4MzP%+iFRxaB*A}B%7U|u=lWaS_@4R)X8hjQmd%_2|PREPMX*PbP1 zADhIoBduHS-`vO5%G;f{5rY200kRllm;BZJ*_v({YJzd15FS@#{o%~3CNL!%Iv0!* z0$#__!_ab4oT5qiTS3&6eK)rGr+HO?t zg(WbrTM*|^K)5N9DD9?j!H0qu%V&hTHNo|WjM#u;L9C>AYA;lKBmf4-TogZ2fjhP2 za`9qsG#;!(gT#kwWvnijT!W7qb!T{)=wVmz1)j`FXE4UdwBA&zF|GFyAFcMjD<~>7 zSFw_LdOT{{i|2`Gv3o;#!k=plJNHe*V!|92idjW9b6cW-^jVGa9l31>P-&Ep-S934 zy*mB#ut3dct>cs#s&u2FwBpL>EZP`3n1}hQ*8>}K=9rdfxtS(M+bib!hM~|J*3?~V z>212JUhfE*e;ms@L)xKm$hDB!)1oJD!x$@-Wh<1`-Nhe8lom^LoFJ3+iz)G%3DIrm zOH}>1)VAO;Pecn`c71^4|D~2WFYmE((hsSe>u^WxG?(jV|+pMRsa|AV&55gWE=laxxhs(-1)y}JxMyXtr~}XsOvM42!AV}{eBi_V zeEoX9`ZnHt%lmJxufCo4ui|>o>%(%?s`s?;o-J|D%$!@nmTr5|^Xq9&>O>~iNJh8;TPP%H7BC4cThB-{%U4?mtR;+{ z@xFhh@DAl#AIqN>&AaVb!d$%_7>&;+$A6*tRA>VQqLB^9!mYBTmXs#GFHT5(h0nA` zXOHm2HmcT3c&Z^iic91Er6Bc&?>HLNMNB92MGkDj&L$IlG#iwC#U<_Lcfe|%Q@18jFhLMlQQp< zJs5ZUId3zbqYelVoJi;i-28%KrS_dg9*i`V;DX>{~2J4*ANVb%uV6i#SN@`^I zDbsDENo3Vo+GzwerPBP(Fx^Dm?*s6OIaj)Ok`sCmeQL6EPP}fItwEFye9dTdn{Lw+ zii{&}crzS1TChAdu`SfyA`DS;%ph>)lgtW1F}_WBzVj0E;~)_F{=cKa@*Fn&S>n8Dx%sSX?qhI zd2#w+w=3La4Nd|u`3DT($Kv$JUEBDG5qRfM|5s~7OIuuYWQ)WQh)9^C&k6dtDLlk% z`AH?#G+zMQcx3Bm@&syWCUE!#8p30r9!6Q90N}FdA%R67PWSn7LYTprOZhW%yu}gZn zThUOmJOET&+@`N&Tcxr9#MNIhZN*8?(^s{8c=CK_k|Ksd+zK8nNa`JI7Q$k$IA3}P zoe~HoQ{82DS9gG~%jqpW>*XRw80i9n@S*W7)jdy?8dp~n}?BAJ;yX%F5$ zNs0tUwu>-kytU8#8O?52DBXChp07pIWQNrPRtBe%~IjBnXjxc?-Zm+bnc&dAlPDR1_ z6Hj}ffe0eS+`Z;+qNswvM2%X`T!Kv;yI{6xj`%? zz)aOUOcg2k7|BLZtzb@(3Y6$xF;?iNX^cf$%4pKAq7s>mY4gy~BF_9DDEAx1Fzy&$ z$@Z$7liY()1FMk47$Hovd^Azn9jV2wieAS#lQQL~W5(**)JEs|W5!q``!+>dDQ7$e z#EyY4ZwaK;-_fahK!!#Z%E=_mE)o^s>Ji(u0c!L|1LdpQtDZYa3AV4_GrOaOC*l$b}@xWh!I+i)_?(!YATP zO4R+V3^4gTWoEC(HkdI|Wr>5w9nq@XPb|kJkH|| z;)eVv&Qe2RL~g^J_WF2SxkYWp$Z#d@oCuM%N?+Ij0RR9=L_t)=Z{NuBr)%|ZvS?|$ zmv^nt@_gq#C$VUepsctXY+`C>M+6&mJ`Dq=kjj4xi{4a~^KPK-{rCUO9Dc6g)A0q2YvCWnGn!9NIa`xlfkD7&&qz&-3LC+X%>Z1YratUY&6!3hg!0QP;6-|Uf) z6^u%A#4mjp-2t0tW0ewa^N=35L?a&5_MdF6)zvMfGK40aO@EqiBFgFkHGS835*TZB zVBUCekZ47WLW^Pb{vv#YQCT0w>xMK(l}b{i3_xV1VN7PvS`166bhR#8G)67U6cR-; z<1?Fiw~I8+$q1&*>$>~j7*1_HUdZs|?%aMG=t&q@l*}Vh80kkG0h|b9u+dm{nUdrH z1GlXc5n>CpO%tpz?c>j;Otla~NRcvD3`@|CyCO`{utl2{2I<<0=+cfQk|MAYHP>3@ zOFA~szV3ukHwpks&_Gw0Zt^-T>urP>S}18kPQdVDu%>G8YoitI#=^tNsgf};Fr;qH z)n??#Yv*@U%Vp}h?s#LRt&o=?!Rl7pL1jR@p)oR&n_bCY60|W)|9&KAjanTBhU2Kj zSgI9zc9KUMjAcBzP+#{0SSO82maaoEk4W-;%V5*=k@TXr#6Jpu%`FBcS%n;RG#-E?BF?`kAv5 z(WMXG?`$~_4qdGwTqr{bC@HLdL5)VyTb-p8q}DNz1ycmbohyvCdaR zlS(;>?5if4Ot&9P1r~4LzA{61Bib5N8{iNEN*b+(BNA67ylxx@hQxm}Q>M8+OJ>h7 zS*AFQ;TmrBQ2E>yKMDm>b@X(gOv!7@-k&!P&MS4T6pq_37Y$kr=uO_-LARh&z9 z>6~ORWDb*`=h&mp<;36wpN+sU!Q+&jKWrj*ic&aX64TfBvT$ZkLlJa z*H9(~rq@&|m~ipEf(qx+NVFT3y)I%(;8q#~D#f7HsUat2m8<$I zln+^&kcd+N*--|dX*RSM1xa%%NPV)wX)C+l15&sYKU_8DsP>Vo=r>NZ(f3VU#?6N% z6Q4e!mrC1fF`DG&cvEAI!{~H>pzwg}MGs)?l5faK4>~0Yi3Uo1zIx*KVPy26;OYSl zlqgxdw&JWx&ZdB2Aw!{F!EDSiW&hmw)Tj!DHGPNHm$~^Ww?fx^zfo5ZWcN%XtV>wV zx>IAq)YU8%TB%ND7>zJ9w>Z7!LF)TuIn|K&Qmz_g<6BrYPqwt-a~m}rp>;|(m0VHU z;#S9=h?vmCm%ikliVRvWx$3d%VYp>VK5IaKnn$f0CJV z?y!-?$vjm>Y)LTKn&ty1MPWk?ZT&io;3R!PA6x5>;3;ZPVv5;{5kZn@Gy5#nMH5XJ zY{+G%kdF{9^Y!z+4H`PCMAL(`SDjG6;{}d#jTC-7SbcTZV^lV?E4iSr$vY5xpk(D6 z%0jv?${5?16c$-kxbgg4n774{E~+d|Qq5j{5^=-0TC+K#=T zPz}<$6X(mWji^nmrm7ID44a^)33b@=`15<7{PkL!$s|91gP_ zwQ$NTKOkzQa;(6YNtA0~$eDPE>zg%`fJ9iaJsN1@u`DHd?yIn|ec+M??W)5_c+ zsBPzNbE_OAS{@eN%24Mbn0?2GIX3{RqqR`m%g}qIMdVnaVu7%Py&DT9@Zg*pK%M&V z)#89{5ndgrIR`p*HWE%9hbcT5Utn=8K6rr3zPqAvt*eI9v{Vsl0K(#pe)mp z-l92QQ1ze`_yy@lmy4N{ra~~(!i$c@_F2~H<1Z~LtljDEN(%J4G;c7!`1%l+1Sm&E znVeV;Rh(A>xPHXeQCSFbqc%4a6mub%1=v!FIt#K!NQ+|RV=2*na;M)YL`8-5)lsU& zkC{WaF_EBhWRoQiRjKO8_3(@mDx|J5+CNEY$AxIBj4~9C>dVKh@WygtF2M(*rK|;4(Fe4f};gS)){EkzM)q zP>=l80_xD#Z{55rNnRcsxa}t2LO7ur6;zS?+x~u{f_9{Ulo6rqm#RoO#|XgCt3dEj zQ#3AZ=Id3=u4?NkwS^Y(&h9}|KIjc&%5JE@bQfTwrKc2bp;D^g3w()WPboRr3GQf2 z6N>j9vcCHdL81I0x#ZIN&ZTRgSMB*^g;I4veA(V4m8WVD6ZMs!YJVsqX%op&o*Oe+ zjg~MCjW&yl1&4eBJKkr>PME(faa8p=`Ft|v=T)E8gHXv|6}y)Y-D_U3wE%HWM|q@?7F0TR&zwLw9QUP62|t4X=zk6%9W-)etE_5En=>dh7u;Ya3G z$!g|WR<}!{A!0XRL_}ulNw-iEII*d6{oqtzxjyYlM2Z>}zb%rvO8t{yY3=){bz>m0 zWm|+&{l|Ue7%BG&T?aI+x_*}fFhagDl*j0SJ%XPz=jy&`)wW8{@Pr^+LbD@8QKLeu zHbddglOqI<0Kp+x&{?Ku>>FJ9@)dFb*}hr2e$llhGg=!6EdQ7amc%J2jeGgwK*3Wa z`DYUkP{OIbi45Nk8N!A)3nHP5nq0<0*3?Qa^YS{PqtCk_pwlqK1vO<=oTzN@XGFxg zeU*sjUD%8qp)^*swhpqVmN7#M6QId>D9>D37^aG64%Toq6AL!t6s0{!!5QBV5bINK-=7MO<6b{64z3UX5gwoV;G;Ig|jHpUpHKB|R@TWV4F z$$Aqrw38Ip=ds|63UFGF=MbwSQ#z}2U-2gAg>3xfau!6_iAI<>99`|U^~{@+3wSkB zbv~C|#AK57^%yxU;G(L795cL=xeJt;mAc%aJV4H?>MJJ|GftSUkkQgSr*(oWT_?xf z^kEp>YKQa2ZkPAz+*$;U*c@@H^0BneK0s(A4$w+uL;!QtX^U2(VK1!q9RqHzh4MfT zaO$c)$7+_R1Dn+N^L6i7&n!9Ud#Zo}u4*=;(k)+T$sK6(Wx)0RqIZac4QHmA zZF|C*9V7TkBt)eKLwmvZ!Pyo`A@oeWLx*5cXzwn8O@_>-iM3e*jI}X}g5)$>9(+;^&p${=6(U1wXzCF(m1TeLq9Q^QU8!7c zpYQcN!3uv;+-I;O6JP}H(;~~zpGNo7lMQ15tSIPB*(IV40_9m@6ePC682#zUv~sFn z9Mw@1+qV+D7nC`=7Gm*=1P#D-WUF%tKM3ES#IJUa2bnWRO?Ly)DJ3iXx z6@~@0Sk03Juo-PL`N(9js`VR@A@8oQTe|`4*&$4*n#B}-fsYu$aYGu+vlevh|AtFJ z!F6nt?>pWL<^JMAR@Lc{r!g>P+sSSpa|4e`57==nzWT~bt&=1YmJ~7agiey~>0%~# zghb;iTE# z0&nDxhFu1p9ahI6m%;3e*P7g#Wx1S*kAu6i7Yu8? zSc!F4qazzoiUmgAG<7l7+SEkvh?XT+pPa7%-e@jfY`)Z72vod9QS_nt;ck_52+uzh z)e+Z}RRWQ9Uk4CzS7QBGjO9dt)J3+A(Sq&DY>+mbt-YKk2Wlrl6babP5<;(ZBDSIs zbd{@c=6VoW4EXF6T0~bBgxajvKC=2>{ zt{~URDMa|jzmlg7PA3HyVR|YGmeeB$5t(ir7T_IltRXf}qV(!f3G}5HN7=cM)+^~H z%w|MGX|f6_Od2@?7Uta$(b>9YH1er@rFKU~1)k7|vJmkD>;cbZXb6l;NQ>PWEjh$D zJexuwX&?yJGI$VsLh$OTU<#MGc%MUIU3vY-eye3XC~y<(&!?!(dpr2Z60L#$uu~!h z$RUR;CdP!4`clRPIqa}mx*;ZvoHoh7t3b%1N!mV;ErF#0fE^faI4XHEM^Qk&BG(<6 z>0B;bnXl8i6q%oqVUQ&N+V|F6;e%&Ab94nJ1>lx**F7C1jUI|kyFd}3>Sqt-0Casn z)wl=K513uG#4%Ikhx_iT8U-T6bfTwy8Z#L==c zbGuTuUhR?2kgy19D`ia8DKUZ7Z-V@7hBdn)om6*xQKBn*MhaBv|2WnN$^Kh=0{3TFV&dlBgRdHNw-Y}ekB|Zp-fK^&J}JbyQ*mp-3O~u z0`GvXXvs8Tf=>5bGEE6-L2)e@JmUbBTV__^FpZF+M>g?O%9u&+qfkcej;-b->isZ< z^7ND+S45|Tnc|n0Gk-mAkRd~DkJ#aJP^dBpoT6c@lZk?j@9x$ZC99MUb~RF2Va;?; zK4ByYiC$VuO0G^#sxKKia&;;*K_XA!97w9(;K&_{O@hwgpjF6iC9k3?a=-BL5A{Qq z&Wq-wRg>#T94cwVigMiz*GbWMRZ)e;VqnrjB6++l4Zo-wN)1#QH@jFyVgAeb$f_JT zwCL9&G`EV?;Z^VHvH0lHRKaU(*^H&G=FB~OFZis2W{Lz{fvj?S>^Njdv6v0L&Dh>; zJ7TvCvl+#rq-IL$oFrj@x;AFs<}&S70g}$w5~*0mU*tv9 z6=PSF$BUl{+o_Z=(NKjQ@nCOH=(}v|aR|(kR&{vt;}peyhFk8mKr!n^3u&{*t$tqD zghJa->wAW7+$GW1KcqvSHM=(*c+>9a>U3p(2I!jlt7JIH+9XqJ@^KuE-N=|b z?opdgq#F44KDbV6J404t-na&)+dL}KmNrKU~0A%AI9t%_L zV#Q#e5al#!guq8+GH$d*8~|%iuk~<+#dAp8B^zr|UFvHlXzJCW&2J%!IF{EAQcB)v zGBNF>olzRru8!vWiG5J*!c()2%WXCw&CAB!7n80R0ihl;>6h$t4z_hzDB4iwPX54A zyYpBLuW&x43A7yONhrZEONwlymETwsF$vA+Qx8Db;x?FIbgv4m_g9Ck7TYE+TG1+0 z^$&^d)t@+qT|7&-Nfw&{hm${IFo)dxa7M$*8a1G1^wZfnuMwK)AKvV70jMef%sJ;F zz(A%49J14VNi=5i4sa(2AdDJx_6@*6fAu@t0S7mttYEPZY(PI$~=0ySw0WgO*RDytZRp2t( z5Nj$``K~qEhXyjIJWv&9s(6uOHb^-6ry6-%9eAS}{ivbV1Llka(HB zu8sjq*Kv3H2+Z*OJKR+2yN7|=7)FybFB5g;e(3zuDdiT|*kN7@K|9}mz0CxHSnTAl z^Se38jliy7PA5;@U|U9$uNczb)d4~gX>z_t(S2thx_YYW285<%d!kLy4EcAUG*N#CJe-c}DmfUv_lf|y%1eY%r zO1V37CSmndF5f1^slc_o9rAdmc=sFHTDHf~fB-_O^(s&Xpi&p2=IJHW*cnM^Src(e zBq=42JR?lENQv=sY0O8xA_qOx3Yw(bu)~(g>v#lxGc0~f`O7H~Cue({*wLnWOgM|2 ztzgAQKqq1q5{%PHK;lVeO?)BN=w{PI0nh44fG8cjJT$8>oO^)6bWfL2LVsa=ru>DA zDI}0M_@xnQangmt!a*Sb9P7VWu(42qbrGmAstvFf+=fW?JU^(yDf~W9AI1&)KNLNN ztPu5dUZa%_{s&H~E;Z|KPcwL!j$J5Eb1B;DE$;#jF{K10C|=2AbtTAwhi}QpUR%F< z>FB|U?R)#L+;b!f2aMf|A#T4j&#*?n3yXqieWH}e!+nsBqmcDmBVyD+DFTP|n5x-U z^H^wHL(0Ho*Vb9yGPLOT?}vj#8r(s0aAXh2pwCK7IR+wKL%^nnUE<#&T>XwzSZPpY zB)V)ZYg3zQzph46xN0uk0NnRb4XG;em_pUWAQ6fTvFsH}rI?C+weLY75klmp(SWFd zKQ}c?8D1iXwTDFoEKO{iG%TzV# zm4}i8D9;jjGjv%KPWo?dWpMB`dA>Z^IRGYN9Y%|kn+n89eWqsRejc)T7Cnietky!; z^HQlyF{Z?8E*@jwLqa;EaM8y(dsx+_7BYwwjgF;b0R+uGQ_#tRNg<;LiV&ZpS86_0 zjlKcTKBKpgD~}A8&~(Ef*}`+rOo4t{g+e!La@g4V*$Eb%LAtn7=cMtQ;R=KdG^mO9 zk#(5b;8Bu^#wZX-9(&#}b>mYYtVnwu#pSV>$&KB!8p#b%Mx*K{*dz}oeX+o172bwI zV}%!~IgxQ%ubC0lg>a2HNIy0xN&g+SE1+t)vY(z}6Oc-iHHOKKCFCF~Wwx!~dQa}& zb@nJk;)+b})u_^(6LqP_NI?#?4Yj90h(?!(svQqLksO4E0LkH_LX?Y1y6Mu`5QNE) z3}l6_oz?0JhSWUC#KmNPc`p~0O)ANd`?vwt*s6vzpxxEDA@|S2`w$F9!o{J&c~Lah z8AAn{TQ}joWeDW4Sq+?`*dFK{*ANxsiS6D-Xe-etyfsGmELElJYDQlTL=YoJ%D^fy zTHkw!d}NIV#bg4;X_kv7$L{g;7M2ZRB+JN09-jzzFNKIcovk}_)k+xo0j=M0siDaw85(4RFB*6e2ZU|7?hw1TvB z$3ik&xVT#8AoFy%V=AYPc|JBfyQX&>6Cra`N5v6%L(d!%deD{i#xRT;gY;+(3Dc#K9-w3z+Q=ni>c!sIf`9uw zUAI-w3=u?jSab+NBywfHz>W4Ns|R`D8FJ_$eHvY{4f?fZWFv*sVqy0RzY}`O*p$z9 z)J~9t!JcVl-J^^szD4-z zah-*m#$0a#PlVXzws`KMDNSm^niV~_-&k9aRQud|<@wwg{k@LEVvUlPe(5CZcgb~S z)qDBVEHA^KMwyO=MbOC*9P*5kM2lw#74+9*n3f}!E(jIE-EKjf%L%?9Q3lj5pnFwC zrc9-G&vv7ihP-5&{TNJvC#ZQ`XAmXMO3jQQM~fL>)(5Y}C_2=z%rDm3w7nRc@|(TC zS&jd#;Vc4e3i!$jKWw9*3`CE{kg_nyHd4$bl_Aj%@`&!YF_w6|yu5pg7oi_UTAwl` z`S?(%yQ|?dIDolD2o?7sxnD|^3DIOCkq)GOGAX{NxDbi5{+D@z+w1}8w}wh&d=KVRRc>yl%Bj&|JqdgmUUG!|DxCGPhWP znxzD*wzu>Gm@=g_+&0m_esmp|WK60kM*0@rLYL3I+vLeUp}}eWYXSFiG9~j)%Se>0 ztti>_11SRs*``T3&}V3j=WzoL7MQ3k*mJv1eU`{FG}8_tAxRh{k6LOkdKunKkr@c5 zLSm&oaN>osWLYnHWK&l{Hd$E& z!erPOB?<&@eKpM#zu(bF@G;q1ueyE~fhL;gI|<*iM%7YUf4kFMm@p(l`$fnRL4hK6 zWq3Tbv$}GU?@8k})wt9fXNI+4GzFOM=y8f4robzUK#ioH%8nI@3aPtJ!f~nc8g7)K zELQvNr}AEQ$TZokUoa`$0{#4P+(f#U(<%rmelCrLV07!whInL$gQkV312lC=QD#CS ztk$dU2JLyDTii>BhV9icP$h8rLrZ5)+_i(HO4Rhs?~c<7PbrjOuBRxIxY25s%_?NcV9R)}62cXJFvX7}NEqF7 zm!J61(EuESVMpMAsXTppE4)GNbW;+0{q2$zJ1upa)T5Fp6g8^ zsnjLHi1ySl*HqMWM@n(cJF_CVW|CAV1$1BINt$a>SA9Uh@a|NNEG#Zixs8(LR}amI z;HXOmd0bsNBO4DQI9f;)+M~bpu#vHbidHJ$2TR5R-?8+LZ)0C5uFLg-`Vom8QpLv= zENoL|wo50lfSO1iX5U0|=9){?VH1e4&KD@tXU0`!${HKa$|A76wGc=Y3fNp z8xU-M3$?b_J9f38*D+84GBZ3RB+ocoA7b{Ab-GAnbrLPv*@VU>WJit7=OGyIHO^Mh zk17($rbx2#!a`0BWc0gr+$*?tm?LJ-VxRO7}p_AQ3kvgA7v+ zP@1^B#g3{+Ol;bjs8R(=FQHU55n){rHI7tp4Xx$jo3;s%*fHJu>)~n+6?T+Djop&r zm!3M~xEa#SCXq#)wEQPw$e=~hjMt?(ci6@{y`)p~Tme zub3r?l%|$QH;;EV_nq8dos7r`(uahopo-HA2xF_;zp4bEWocxaAf*gWtv>KJKxy3b z2?@=_%~qppXp`%*gD-M#P@s%wtc+w$gob;i>tfq_2{4NT4alNz`%95@7}JFW}x7?pCbR^Gj3P#qbzY$mDPNH6)t+sVa(;^*eWRm-h^G!x)ZFXH?W&^%e%7XddI4oe)VOL?v;i9%6)l8R6AK`pMmznai;pExsf};n z)%!9pFx2jlF$=fSQS7xMnpDE#n z=YtV}w}1M-j2;fE7Z%wla}`{j&S-HM%JfQ+Ple1KZR*7E=>Q;bOv6iJO=kc%(SrEn zYy792%;dRX7(|n-75CJ97qdUpr6-eT@kFpQn5olC9rpBOFtmPZHyLXqNLpEBoOtv% z3`EEbU+vt>77PDrHP{p{1lbzPENzBTp0)bSbR$(wZXlzb^7O8a2=VKo|TN_1SBMU5T+WBoVHf>&^UWn<{?rDhM0=3g>_QOK#I`b~Y5 zqAk`sCKtD~oR$t*s@aV*QPv$YM0(B}O%_6cOUGG;jY=lS{673W&>dYey?K%5qII_R z@#SM}%wvo#SCFT9bPE_vt)_V<0&{agu*Sk_D$t)bFgYKN~q05$-X$5A97 zOf+klyWJ?jvQ8?QcgmUQOwn8LdmWro!G_8yoElOa#kSyv(=+cRL%~q7!BGEDC~&dFc6KBM zYZ_`|Vom6|k+1dZ=e|4G`%7lJ$X)}({4NTrLD*K8j7$v`g3E79x$1t9l+G~v5@7aY z*Zk-6m3X4!)Q3q|B+*@sf>WjVnO&^1<^+BTpp&)g@>Z&vc*di7r<)vi7h#poKocdH z-e1&q(Fmdm!;sdFu8M$;}tF~JWO`MG`H zhG$yeft_d8S$;llkZh>v1hOU`@p^N*9iD-4r0K8)gNjt6ei;>J$_U4!Nem>ZS~cqZ zy^lx(aidpV^ELS}s6-DdS)41zj&|Ibn-N=`$Qo)KfMTB=oU>!2@HW;Enz(@@k)O<* zF8kofY&~{xVQ+b|0F{Yx;Z0xf`LnSQaJeRN&d?R-Vd>o=l&VisAEON9bAA^$Mc1@bog~JV(LADiMgoFm=bJ@6-uys0(4c zJ~uZQI=_^~Hm`&Z@_=f>>MXw>dt`x*E-DDK^O_y5I1S}C@dU;YS~|qIM=D90ao#aq zM6|DcMIZR}ipF}O^{YLqDWqPG02lh4KIPEJoGJ@s-{K7=6Bsw~b3CgZPz`rAECk%F zh&o>6NNi{K79qCUkJ>n(F`D8A!qB^8NQry3$*m;_f!Js#!$$(=esbw-^7%;)D{pj- zbpoLMKPg`2^Afr7ZAm_(6`AU%k^~V%#-CAP`2zHTB0D_{)i+F9W4L4KnWD(FkrCAd z7Lf!cW6Rs@n(CEF&9|HgE^Q9YLePg6-o)!IX566loJ|H@;g5Q+Dz5EZ30O2iN{_hwf0)3M| zO*tA!tkI#ho{@W2Iz`rpx{+r}%`c!feikT&ey66u0#pHMr7iVIWH1~_N5f|5?p(Mzxrtjt+N zl?Op)5o(xro9wx*7h+tl5HUA&`8x>jT{-7619d5>Pj#KF5pNI$iD_bR)HsnEQol1L z)yONM@9Kvjy;Us@n{fAqCJ%@n)3FEDZ^@RJ%o}`?0_!LXpu@*iMfQ-O)@b+beg-lo zGWjmhDqBJWgJ<%7>k6Xfmiink1namSwDg{QSJ`8%om7MYLZ8r^9j>zSUV`j*3=cEW zX_hWa3C7x8O?4zlu>{=g25JTc)Xyl{esK1%3V3lk-kTdGT5$?Hor`K9YONc~1dJLq zE%b$t&Gf#G(7&)uS({62&QCS3kzy>Q16_upP>W2V2GqZrU{D%4AfrpwS5d`DVH320 zpk78@ytdpAoC{lXgilfHXWI5iWzKM_C`M6~ipXUmI-uzeqCOSO!&$_t+7}68tp1-l z!mB_RLJ7q@j$Sk=uB-Y|sUXD(;k{z=;HHJYCj*BS<+4hOica06 zwKG?Kl1-c4`CX9lhYFZx$nSAwn%nkz0x>TH_MQi-uPft1+I_l*bbB1=bz$$bFI4Wp?-ZkuK( z`;#YcU`@o2towuB`_qTNMrrV@ zlVvJb_EFVfRD?u0YxVepfdXloF5Zvxu)t}a3QFy!(la0P=&qdhVxglLS;T-&@hJHB zs)vgK?5V_EkZ5n}*| zivqtwXx32)I0(Bfg$uq@q-20=T8*(O{yC17;|e^EX@?isT>|@p0#m>_J<2O>8FsrerOuZ+8p6}9;kRN|9%8wU~sg1QH1p90r&L@(G;GQ z9#G)_N)JE_O{26zwm>9Qz7!$!eHVb2R!eS!z#3v((3kfl^bDCYKnX(MSH{Y(qtf1S z7ib0s49UIT7wNt!7OsGWx3hz{>GJ zM3XXjtjf)U;;`OS{mucLue)35BP>k|IYU3Uay%2VXk|+~%N})M78xHl1LEq`1wGrU znIYL@K4tfVJ{+ zYZrW@&@Oi1tTqDV7Xy|toIh&p8yFdfk|+=fCX`er3CgWg>Use~vu5gJNGc2Si`zFNC# zNC3@RG0#E5p1TbBzf`!_zt$(udfkxEqA-P$A}mSL`E~X^mGv9jGO?F&J?s@8bGPCk z5zXyY*ZuBC=%UNp{b}1DYbCWxMabpV-$Xy4-#8X#;*|W_UgJYi9?pHO=wd2Q$aWPd zERq48Wu>IY!OozN)ESocU6I{2{q}fM>pF$U_9<7#aWI<1te7-|SXjd+WhV_SDksD! z?+8QfF1DScZ6sNmR+VYYC0esq(#t|8x^_Z8$E}JX2v&esO^m|4 zu3?k9IZYCZPek9D!=fV3s_@WG4O{2eT8Dzayn#T>(z9 zI2ZRmDEjthDuHN{jK#1;qiMTKNf|u;Hlx(6gRf2*t9$fn38i0Q9nKGNTM4a~QwyvS zAt<&Z4IMy*{Hl%PBwyQ)om!G{()X2AUfCo-b9z`dH{^ynJ6VzltQeWipra+is%=I0 z*R%GpzDm)=J^k(-1#YtdgGZvj{ zqztW1fnkH&!o7=a%F)~z1jEOS=}}G3%GD|DFU>8pLRC1j)Pe*RTHfM z88bHol)mJn^+*<;LwY>%C!(9C8X=?E>e(Awu=UU^L(tK=Hyrh(EYm0fTB?;KEjy`mk%smxco&tik0D#ziGDA`voyQtB zsWI9`vJxMVh^-jrLhJELDbUTu);3aqjx-B3MejCjl^!xe>enj&G;X8Ez}uk#;*Qi= zJ$DjtKhD)OHVQJh*UiZZ)HJjl8IlhGbLt*z^eBteR7+v`2e4iEVi$%2%SF4=J_|8q z(ul&Qrck+F&R>gWOr@LA4q%3_s?Nu)V~y(6WdzvWQI=S%>QphuoCyK`QHTLi0wBAq zq3;Il2aZ~O)Vt6ec|1Wg#k--QwNe6W-Ow7Ly%*9(7bXg39WuO*N4Di@G}ROfO|}?r zmTw`-C?3sBLNOHg*K4M!yb0^I*YPbvb2N<2DGGLBpi*-H5hilu*`dooDDTLw+5Qv7 z_evPGJ{p!sDNu`4{e_(FP=X3mYE^DlvN1?v=%!ern*1`LMxJ?^PzM%`ew$M ztHNc?C`moc6`N3kYHezH1@R(n1#=XxVNb^$m0U?Fir3wno8*sfn0?7EYg)CmXBzJs zdLdM>FOD&bG)wz($1?24W#qAVZv?axVUaJ3?EPDSxp=+Cu201F$4k znayLGPU8f*OJxnaGpgK7Y81t!y{^qDEZR`G$5aF45g44yKXV679*9fcBx5@>0n4kC zmDWC=BGfWSb>Sz*kQIhN_Az^+S9T%6BJQc6B$QVKu`4z;W{9hi1~v^xtI{LY_k*bQ z^M1l>vSEJ7)V4!UJliFoX_9CaKck~%+R2FOCPE@0Ydq(RJ!xukMczo+wJllD%eETSCTs8}5@kX`9Q$@Mu zC9lORZ)P{{W}Hx!vS3S4hGR?h)=q$+BtkeuRJZ5q*<>_*{Vc)lq&Fy+6PCt5KT7GD z$PTPWk7%s6N<);0aw>L%%@Z%oVDW#kW@~y&G@lR!UR8(%X!H+SJwcWJ=uGU+d!MYW z&{PhRIpYUSMaJsZ&1e|%vI=x*6fA~4OG`mN%A%`~ie9$5iHsgoNwhxUi5UfX$Q5>4 znKUkB(u{5|+bd#YKV}ti6B=?IGO)>x@(Gux9mf#8OcYn-WD>wBv06{uv@;PE3mu}y z5jQnh>$VCg;T!_CO?}5Cp`6$H5@+Se(CGmt*QCV_`lwvelvy}q@9$|g<9Sw;FMwx^ zN_BtJjO;8JX@^M3EB;|tBq!+9mpY25OA%q*bj>W-7Gs+o*2q1yyP><+8Rx(v!{$N za}pd?y9o!I{2n^&bup8#c`&#^8e=rnwyYZ64djT z*jTd<_&A=Lk<2X`*66G{X>YAgPnlByuHL>S@F^R8`E{C-zazv1W-4*zNN;8(= z`j9>tbfdJkX3c`dMMfBd+ty$x%)f$^)3*>!7*)MswBQLHv?!0Jgnu@)geshra1dJH zm`1vK0}4-r2a;qPN%Ry3W{VqP9lQ}ssit>zi-dvO%WWnl5Y6KnO4sS5_OK`vwh0-X z94(F~P%<*PyA5IaDTwBqjfm46!`TD2SumP)0p5MDvpvq}^c$#Qo166nteaS%z1l$V zu7;A;@C0`kuDMi;)6iyk%T9(S3~)hW@)Q>4dg6)fhLIT$2Yh<^z?kAnGdhlw3?;|p zj2x;nl4!oWJ7XIMLcNBet;|aAi#pqsu}#Pr(Yd{Cpu-HWcI>;9+YDiz?BqeSbF8le zRcz>8>>iir5IOzN%v|B+LS%xOg~%KgKO9h4mE^3qVq~-0EB3hPrUep}WXsSXz(@eS z<-OMY2}u1W(*UJ7Bt(}Ch4Ntq{Z1Y&FFJ!?nAO>dGM@uW-n&BwWqW6aB!=NwD`I_* zi0ggj0mDJ~+$J{-ht{DM=@{VBsaGDC_AM*7s3`@=@Z1v$pdK)VQKdA7Xe75H`OvSx z(lb2o(M(MOW=3i7#j2%^?8@X*6)Gx}lBtkpHKa0zHbgp=*&oycujrG#1DzqIkiL=h zo~t#Lw4=y?H O2ggBc*v%1y)THdNgv47Wra{s(Dr09n6}ELgB`mfsB>AQw!RrO z_Z>8ib~J!-{OYs^tfymw9F-ut994&Ee?&^{*Qb26_J`o6(xIDm+cpdknPPkV%=AT{ zsrm8{46cJ}f}h8JcE^U}r{;U?cYVC(^;>|k)w6@gKd(>zxIe~5?G0IA^_A!FYJgEc zA%*z6yBD>{COIg-9TJ6Ux+fNfa)9t7G%~pva)a$VY-F)qyEr)+lVbnJ77ufnjhLFu zGN2CJR0LH|ekU12G83RObnJ2;t_v=D7;S=}1Bev(qHplrFDYjvQVH15wG#!Tu4Z}F zT35Pi$!wYtnN(mAO_mf_a1)zn5a05#8X*M6M*Ud=Zw4Ag(a=BgP474uiZi~D*cluJ!icPht?|OwIa+Q*bY9gqwN9 za#74fSSitZ0a`iz*rbZm3Gn9RlewlTKb1fwGMSO6=lIuli*!pQA9@`w6YaKk1~Su!^aw zc3Q_DI*Mz_utvg`Hvx3RZj`Pcil+=Y6iD4HqXCP9u4TzMiF;2dRR_y2So)aW2taQL zzyw?EZ-gP6(c&e?D8xt8*$eV4SCgioW3{#E66&15)bvl|&)dqV_j4D5M$K_GtWf8g zVF&A6vy?_~LL21alSu`j`OjqLkZT!?w*dGRh4KXz$wdukuZFNplw0>phZu#dsbfQu zY&Cb6;yagskU+qMrGmCohbH?w%KJA(CRv=F)toSXi`}Hdofb%H_z;V7|6uJ5;J3GS zJw4C`Aw{0rOMU2Re@;nH(@)(Zb7h8$b{IWDHA)ziuWSfuN0+1_xgRJcUZHo0wj>+?gdm(_Lu&>u8em;&SMeDcg-{rXQWnx*cTj zS)<)PP+$dQ#;n<`Nv>_S-BJKav^R?7P`_AUxiyk>B#AElmK7qixLn-pp`;{v$%Sq@ zkh05Uw?dOr(A1^yJj6Owh@45;vFEY^F==j28}*2g zu)Wf;wrMDm8w*w%EgpEMi}~5S4UadAS?qS~`VI{@%14o+?=qP;MYS3cO9G_9ylA~` zwjsaGG)h|sRjLR&8QYt~5r_3T{Oix=ZOFWN##H@uG=4-2}UX>21O{L(Uk&3x| z4wL({^DN03X26Yd@j)SPL7^FDD^mws#x2|`?BSVung9eAn|+ubF(a^cGkdRdLei?y?0b zYn74~AU4KaK?dBw>BGH{MiSDtBYKSp512HxW6r&x##Zy&sE#B0xp&J-Qt}=RI9w-R zA;fRd71X7$pA0lbk)WlkHUx}EsCvq20Hc76W(V`EQRxqdC2-h6xGvSm6xQ!)#l0#P=_hzQMsvljteuXoM8uChm}W&L0R@i z0_yR+y)#+Q_mP;8V!Z6*Frz-oepHSK)mt5ZH|2SNKPM~5RusPJ;t9;4rLGOLh_PUA zHIdNVu<%esswXX7gw8F^;Y|v&!3w1jHI>1FJPd=COp*(6Ymwz8fl1qH>!clg%41%p zegr37Y)<36M{W8AQy?)$PAejZ@1@4KN2*q5kwuI##<*YviR+bfUUwYbS@@l^YeB+W z`c^KmQQpN^glCerHiFvVZTHiz&y7+H3KsqCW;@oxvqh1#T zYCOa+T3>}@WU&BQ#zPy$cBRF_X+6{9*AHj*TQzLSi`FWsk8Ve8Nd!!IH!b=k zOBG^W3g%6wLO@j8nBjDZiW!DZ9%Zw1tcYn$8bhfumFigKyE zG^+rRCTxq-)xZtGoeB|>8sa3zeS`eEM*z675oNsy=?n7|S?>H_J)o$%7uIjqLycWq zjrHr@rah}9j#I10H)n>i+EP$EVztbZ**FS&6eAj?G{!z;4mhiEsdVZqQ;U)n@z_7m z34cfQLIAjI3hgkC=MjgnWI2PWZX&o;Mq5&{O4K74VibWi@@I~{eT)#z%$5lqYw?J6 z6vm!HVb>~`oB-_qgpj9~JPaC%kUGsilSOH@iIY)p?2nY|*R79xh-4MpYcfi0mC_@W zyI=>q!nn10GT945n$<17bWLtHN004ZRiMn-fK|GgU^<8-I{gMVN{2GAr(FAjxzK4D z^j$%FilsM{k9t24(o4{pyp6+kD4~r(mDsZ}hAca?&wHhX)^h?x6?UR(!O)W$W zRhIy*AH>3#T192cP~FmNjg!)*GQ`vrQ%Td6a>rxDL2AlAAMTHx(+zeIh z1P8VA88@f{l+K~niPcEelz9iGfT;=7t1BM$wjQ3c`&g zHfb6t8koWnMW$%!)f7K8TWFWftu&3+;w(b9C>#oLBmsLrTxy(<7|M;U z?-&+27ZylozapqbH%*S-qrDZ)g<_NghEITtsdQdyo3YKmSvtJlx2_X8PJR@G7T3(Q zy4H!+LsZs=WXqV)c!-*J!;u&5IkPe-#T%KfqGNXp$n7ayVS{f?un2GTYROSmCbTrp zD~tAFK|k3xEjc&ISk16)4$M3n?z6MO+-L0k1@zb!gGxtl@VB9pZQzxnBMqQ7COlOg zBA+|~iJ-E6DQ!({54dA9=@)s2SAP?ov~1zD;XfHT^NQM4y-_A*^WpA0QcCKyRhYaa z*MW+&5}$do5SSY3T!pvBeU|iPGgEfAy`adfbTV~-sQfInzg>T5@qQ*II@XM7ZSFb^ zriCVRtF{7_A|pAH5DY;n%~c(e?xXy=-$!6FDU~&JwYK>Rfww(lR3emdNTjn>?)x~J zTc=!h#r^70UFgbI=of)nXAwyfFjrJ+!z8#%z4!t}G7?M=C#JMPWpr~o1p!TT-urV%Mlc7ZH%)@bzX)*JOHp)}A8*qXXMfTBQ zP8+~PH9~6@Hy)B~X5Xl)Yq7=2=2zTz9T>?3KwewHL{1b=$r>wo8CjB{g(!7ac6u0SdbMeBMt#s2UvFkl=p$LT}CD}D5xPqD{Gf5QoT>sjV({Bhz<5YFC-?iE=9ht zWThK)*-a|uCEY9Xo=RnTPEMUYTb_<<{SMoeo{|isB1%FQ=gkM9z{tibDzvGbzGi2x zUBQ-3+1;{&-+ez1&)oaxI7Ub!=SF!b)yV}mD={o>lhZSX!c3HmiuRy2ln^Z|kUD;; zzpJ`qNL9jUw&T(90Fnk!%oAk6lp^`EjSe{%pxcGIP>nnZmFS09 z+Hyci2-o+dZv5i`nchc;a6wMtOCSds4fJItk4WW4Q|Hx?d9RxpxWf|{!aaO8@k~Gf zbl?_oI;m({30en9n!^3S#!^3@9IN7E8&J|$OB+z-kOL1I$Ode_LMh7ibb*LA;caOLWo$RGUFUr&K1Ic=rDs)*spH{cf_&M$B$=Fxp3C|?mJ})R7UMS8-K3CP) zRpr}ZRuwE&!dyV@;)JkRfQ9mD@y+u(KOQb3CMB{lNmMrYJIl*xWZ8OsQ109lBZ=kYYtq2N3{H77f)r*N6oz zHH0YDyw*~jnzB+{C^fkh5 z3(-rjx#eBPz@=5l*%s^ht{Ot)u4t;dLQsJkwq~%(#*T^``K}&?B)^u132AH(S_yJO zV>K7Yxdgd9S`wfzv!!u0caASKp&6|`>r!&jbgs|V^Jf9orUR|8LS0<7)@mAy6oxv3 zEBzFy6N9`e#~C<9+Ys3@!Vz?;DYAnYOhPS&$(vZuJTO!UpYG<(Q4KXX)@Ph;3y<|8 zOvDcDGssLJh7ow4E z3Un!Mpu<`nDaUHttazZ4nTlqe$zURnOj*is6mtnRjzg4w0Cc;!>TNWNwc$tiEN!Tj zd_bgMi(KV~3N!*sv~%QoEYQKR3~4?<-AfQnMO1E7DJyIX$*-@tC3(uB3XN?A6W@90 z5u&=+(5GyyPen1EJCCyTR0xryVF!S%gNTV>RUeXT0rsZ^u_j{)2-3%$GMn{tE<0Bi ztdDN61UW+txIQAN87}qF)`Eb` z`#a=VHTJt78*v2be4!Es4sq1BVyE(F^Ve+a<9fki#^wD(^3CeP;GYs!oZEVXBlPy5 z8jC}%#&ycBI~3=In^PH*6D|aK1Nl#LtfV}A-6}-5ap}$KJXpJwdJAY+E7Z|!#Z>&6kY_nR{ z>A7o`;{u)>u2ATL#TlZ2$zxNckXj_=E|%=SXbK9wUY9!6goUV7k2RsbZsi=M08@g9 zsVW%lO##Y0teZ?VUE7MH9wt@bYF9y>4kh^zs$g{BJfuk3ox#xq$)NaJ$<#$XU|vYd$;#ubfl^({^UFT)#x1=P)7Kbjzy5oVgokRzhs0CnfVL&!TXr zQ;~YaLc=iil0?F{dPXI{)K5&^ob?flpb^sCb0mvul+nvD4edEz;GOrp)MclFGM&pv zZY4E|Q|3N#V!EmCQw-HLzwB+|`Xn8z>8aWo32ALrz?+2zFR&!kLS)LzavYx@E@e)m zr>^xQXcjfecJ{8b9{F2F70gggGuF7QM^iSdARoXO0Irjm(>tK0KvY{uIoEB@FScV; zD!nv0U|H~_Q|-i8y)mQSeinKp*`QO2>6J;I$icdjoo0q5ZZ&4LsbWeBN3 zoAIN!EUHc^Bu+Su6T$@5Aj!d|2-05x9d3;My`xUD5e>MSAvm&w>6~O^LJASj6Hjdj z&3vl2fzX**s#1nbu}s+|>Yu$%NI$`87^Z`lv6;B1eG-jMtB~KN_<#-anbdZUx$%B$I@#V=AR9b8~<;K?N9zvP05~vHWP3(Gf5tHat<@OGgErf?@sggfkm% zGQGV9m0pjpGG6xGY4Jbiqcswpb*G$;k5kvzeVgmsxlM0u{TTO|m@%(apW!;3EDlL~ z*(b}2MxCDbKwp~V=$BzqekeKA$}<{JBV^bGo84^pEw0yxOI&#!lamh*oU`<$H>yI( zBj8%4j%mR-7D~9$tcVbyDvTOY9wXx|#tBI-b&Z57Fi_0VlBdi4qgm`7r3{>MC9F!V z%8SxwYf@(dojFA@W_v)2BwU#PDag1>y}~VIJa_`S>p8niB&2wyCb4GNhA-uc9|$pw z%PE*~D#etIqZ3)JxRM!y6ab1NCj`~n{NQTYwDB~B{+=*L?Mc)V<>h<*u7VR$!!C3d znbEDxM4PppO*R|6jGB^*%d?LUS~PGFyXMdtj^Y#2R9#u{aMK-Q2eGJdjZYBcu_lSfq`x-1_N!Dv_4I*Id4GY2hq zD}-8xliH(pKnb-FtzeF~4)r{#9|}e3K?^+TZQLr;OYv7*o8;84ooK>EMlfZ#0iQw% zCIN0V)2S>x_u&JXBc612*Yh#n!n;t=NQ?f_rWn+GqEgEj6;D47uSm{*O^ljxM*Q$tnvUv zgY1KxyIRc{I2d}xp2nb{Ucpmp(bSzfGoqq#7_AlWi{)r zmhQ0)p@z zIzj7_BD~4ay~sT827d0LES(g%cm6nv;V^-|6#|Qba?-T*Y$9*UGVRM5_?;h1g$V|+ zxT9Mtr+t7TD%?7?oIg;FNTo1y{b zVGf~Px(IEq)?aF`M{|UvaS6+3B$E`H9S>cv;8DJD0zkLNNxadkmT(XS&E@Y;Xsdm@ zT3w~&fyr5NFFTY(g@3cEahdVU+?a8ShqjC*uQoz#4A?w(k7S~$MMBSiOCL``bx2Mq zyot@zV=6KL^V^Uo1DqCs6g+oZe%baGis?0f;@k+UJKG1!n%b?C=kr5rw|kKQ^{O|s^|C9gWPyf^Z%YX6z{xAQ_ z%a{{a($_Vw2h_bsuP+el%cbxols&@ISAuKF>@=w7X* z<+Q_+LJ`KO;-FL+0>sE$X+kWr)d9{f5VRp+^V7syH*b`*NpDqa&YOcpdWsVajVoMPIl!%PZUM1bVt#nywetFBb4+x)>{ucM_Pv|*#navKC#iIB>U zs-Kwc5iye?HSTMQyVUE#z|H2wkW~w*dy&bBIP{^TduYGW_1VLncFtU`;l|0i)8xx4 zv_$mT!Yz_dqjS`ypefg@mn!^`)7VJA4k!AWkm+cEY!gma)nj9D`K&@ltlk453-HpF zk=js7m*g=nP?Wkhu}cjiBlIH^j&tuiuy|sMRlZh!%Hc4(>fT(Sx3fMRXkk07 z>OUlTBW!(!$H}PDMN17cxP^J1sJo_2J~vb9K&Ry&rM0J{IH=RsYGH;r3M0dw>cgbr z+$|2$3;9HKBnaUYzR=|FGH;z*ECoCSa>`#VyY~1~@SS0$9KQx?G zd-kqW51*is=WE9p6;ZE*@Q~nPS&9Xf$8+cIgq7DBh`F%C%Dfx`o#q8u%T*m1F$=ac zTXO{3bd(6kgyTyyWKbVF?40j!Wq=4Aqv?luOMEtTKtx`|0V2hO!IG+JP`4 z!aIFo$C9#uz|@Oj!ZYjXw=-(u79fjJ%lA5d|Ny4>Qh>Kn9j`5!hKU9amZXLGDlw_Da&_Q(wtS`i(gtlJ1sn7BR`%x zF+>U|Q~SW#fTs$?*eDzIv8ZL-^7SwRxO@8Sli&OOfArHo`sDXM!MKZfQ;(=5vz9Kwn_LwV6h2%4 zs$)58Ka`k0hze_ay$s_^DDWUpYASHf9nx}sebfb+(w>yKe&s9A2w9!zfLepPpfi3N zB&3uGVj=ae0!2Gbz4hR=gsN!KP9vR?puAq8kt;Vto-tMYWO+T%w443Nq;R>@S%Q%X zKjpwIeU3$#>ASFw_x6~I%2|uLysZXIL6d9A=$&7+t{T3`T(c+F2(0yZM2=*(Y{0+?*s$18x(= zG^BuR@)SALal9yLdBe8ZL^NwCKZR}$K&9TTZDUjvn3T)=>^0m+hh9mQyuMH%A_SL2 zfl#q+v~)LBUr~a(5f)uq4_ZaQNKBK)xv(`J&j=X31(iT57}gS+n*L2bq}^_vBrGP^ zyASy{sNlSY7u+^#l`)3t7N!r*d}FhmhtBV*$(4@r9lpn=61S>a6)0?sTxohr<5fhw z%p-(xXXrLaChb5wGod&(msF{^Dr!HL*H3rc(Z)tqx7*oN2vO#$)xR+z|0=E1N?|e8 z6;oeWWN7KnbHgo%zcw}w(P3F&mn4OvA0=g=DQX?G7P;ryYe{#o@fpTTqTqgY>aI$u zs)y;6BWa;4fcyCWyJ+yUGz%1Xtk@$bz`nFN4?2Fd##nZ<$JUm~IFJ1-D~c{cKp))o znE>45l&>s4eTqL$Hg~!JE}yhw!sJX6RAW&{94)nvvV}vtQq4?mnq^7(WEi%OB4%b@ z`1&IwEoy*;vDLKAGx*}0um7+A+5heT_h0?_U;a0LKIe5~!ViI6;4IfDzpVL8A=!_0 z@z?W9>EZh5Mb8JCy^L;hZ~z1Q#OZ9ArL}h}8=^CsI?fZ|oU#&Y2AuQ2sCkA`?`kTg z^!udiML4vU2X_pnA4^R%t?657%YO8&c(1VAKq;J*;zV-nbos94qHrI?4wS7(0fQh< zUy`f}9op}GpSzYt(~zT?v1Fdk@)AOg3ZjB9*-YjARG%L{&FNWjTU3H{mn?ix#e6`j zG{A=T5SuluN4KAYdE5^0Xx^uJqDPR&%(Ubki{$}V+61JSjMxHY-lH59vO(F zq8f|qmKe4DLwzckr0_G9K)G{IGNwQVT1SgAx+T%HCWK^Yq=udisuqPD-Fi$JW-yL} zYR2s>`I&EswWSa9+8QL*O}#XAu{+7&vRmWe(i}tie5Myie-T@*+9}6ql!iM;VJXQ9 zhod*|SMI06W1`v8dbNY57d@`XSncKXL}9te_5&#cU9+gD2Utd|vSSi5h*1XMO*VUo z&QZn{c2Fobt2LV$x7B?Nf}>7(pjygilOWPGz@|y2Y}Y!ZQS}cr+yk_lQA8YlC#G6g z849>53r-kg@+fu2(Ye$5p0f19Ta75DO6}Qdz|c)!^C-E@CeYTu2o|#f$~XYYtr>-x0`@_&N`%l;1M-cG7G!WR=VKyMvK|A8P#A>b8{9zyBeTUudHo?rnukD zXc8@T62>Qzm9&Tt5b`{Az^!gyGmK^uv-Q0y^nQI5+jh1yLC3g^ad|xM9uXM4&WDHV z^*XN)D_We6gQSp?8E#mUu|#)U$jU!Nvo2#9brd+U?IbQTsLE91P@K5@Y$sl3Q%aEx zr!-l1RSf+6ux5ovM!3u+sUQmDaMh<~CzgG0*zT&iP61nM9Ww=<@{Ub+M2_6b zbX_)H{abD3RV;F8b?lr;$_%ps6S_voT5g-s)LoTqF3J#HXeesNNBkl29@C z+KHAyOffA~$C%RpZGaQ@*p~Ri`koBNV5wU}MJ_pi%wrX41CuEuw^FJkJzr{GYL8f9 zIeR0T0@)ACZ57|9eXq5vQ|F_5O?HN9?t(ZC$on6zoWkl_>WNFVz}DnWJcp4e=(irD zyS^hwxlL$rN)RHbXdgL;R1)}PmpC$PFe-z^!a@GV9P(FG(|N(?hAQJ!oTL7e2F0*Y$1j&2(W^Om1X1vE>cz6+0qF0_=2 zqZQccS-R4K%gtT0Lqc0QYY~||A>#WCZ;!$BM#q)_Wl<{V{Z)fXty~zHa)?TAqvR{n zk>|-aM7?b2eolJGYbJ@xy~VCX4bxUDdWGRSbC+tuX#oYuF~P}(!sOq}iy@h+Npu0A ztOhO9oU!=4DW%=pAv_0&>Y))!Gu?1Q5_8T7@;-Py06&~_&bdWa;>=FfI0diCR7*A@ z5G`6WU#mRntiyyMm6TMYhJmC^Px}!vC-t){G=^x4{-=Z`@6imc_L39ZVe$^m9-^Ma zLtI*vRSV6$Bge=}o;c(@BUEb?!gFfggms8bYqDVlk_pP>d`rowDt@)aRf!%M<4zL_ zM@x^Um@|TGQAgOXL^AEE!_L(Of$O~iN^DQYjVUUJ^1jqo+D?P))bpemmX(hZTd%~r ztY?mMlOlB_IYA<-MD~tK6;Nadh!XDaU>TJpq1KLUYGvMVE#t+F*CDX_xdFid+O(qj zvv8k;d#g3eiH*wO8Z<1y?Jxt7SZk!OGUAwYRu(UsPf(|_+tI^iu4ZLwhpJ6+bk?UR zENYFdXM626BJBkYK}A~55j>G@eao!=80TEGB(lmD+kmhoBSb`8V!eR0OU$)|2g}2} z%Q_hps(f@DnP7GfQ;)IW_4096(axT?k_SU{u`yz2a*HNVU0Jjcf;EKPTl+EisM*+F z^sCFk=nc3+bQA*$_PZ!u35zMyHaS@SB}jX)LIqg%BT9W)f(FOqo` zZG2TCRJ0drk{2`0nh&HZkFLF-(9e{y(f8eu00ct4v*D_Z4yur!S8!^^OzYE$nNb1k z5HmwzzNyz5hG#)9>JEzpWH1jiFtMe`Nir)NKSn=+e-(byZd zM)8qq`KXcRlzr1A$;&wl#*FFgD-k=`IkF5eSv_V^8HJ7CGf1)RpU+hL9&h2pHze`m z;H&QqO>ZCT;@p|(0|MDB-vX$Cbrd<47Io=rYN9<4q%BRn>Z)&beY3F!Xi|J8{)Eli zy8SF0>4Hs9sSmqE9SBZy(Z?-03Iv$|;k7G90Vh8i1ovxij%L1OP@+*$L)b9e=3@KSiFoeU@~Y*`~^+`cHgvyj^KbAd6`0oECO&GKd`!8sFEV{ z3c?=X!<;U6$|&7Yt$uL0#tqeV%b@6;f88i?*`JSuvCOD$q?#3Rmk(`^%L#3%CPe?@ zlW&DeDMx>QWwoED;pdLByR-pYUAZKd0cBpsGzMkJv?DIzcnl0(RLaVC0LAycF}H>) zSCnH%S#>wDK@u^t)Z7fYJd{(De6l`W6LgGP+*`~=;-fVCqc(#n*k6E$+eOK7mNSa8Cq+=HqIWYPK;rs7Csws>U>6q-05cp{jgS^_4tq+D97K1K=Xuy!>p$lcrYh8sTGVjB4Hgk2es(ag89lROF3<_mFlm#SKP|G*a86;U?Q?T)u)`K%; z-nYLj8v0e9F*#lf`-;`K@W3_f_K8de#GF(@Kl;Q5-HT|tLCA$bQyJ^&a`&rKJUv|% z2AROYFb8Zca61xe>K==SpHraH2o?gzLjV|(m#YVjD6+M(y*-K7#GrZx86@RtbO~fN z9F@m&fD}|&Y}^3mOG5C}O)8T>G#!AS`b1!nPmBUj>m2O?cmb1VN z8q{ZZfk$CLt#`5$jV(WL_}#EC2)4XhWf6HeD;v{#(POuFE_;$5NpDR*C`4=v&5#Nn zP3WSDZz$qW70*U;ShYv(p67%dc94kbDXPbi*($S*bp&_-d&IwImCRb>mwj|%CQ8*<=q_8)l-M2k{BY>6S!eRCj1iSJN22YM(Nnc3l>7H2}dj^ zBpmlX%k@ij_ZgAEJ>FGJ*O4~6#oE|brKPF@8MR>MWLpEPV8Cnja~Fs;c8r?6FY#lK zrD}ub-so=xmkK3X+@=_e#89I|QC40oXh<~{yt@XcG%^xpzAhfTifWnZN=`CT;`3!d zl*Mt0)}@Hb@^_N3fHy4w8XabxUlsMx#qul$rnp3xV113j5w4-u1|4Y6LzwY^%%_P( z!r4V5HtGtPI%$zPh@9lSgbbP5 zn@R%i8PQ!jkuo|!t(eea@;4JZv?sRU3iVwE!pb6+cghU?c`p6F8w z8C8QiH7PpI9#C3amK2^MTC!xfSli+xb*(|E&k{Nchisj{mN^Y4(H<;;fN1qSHK(OI z{j{t+R?FSOn_cXS-h|*;g3GcGMw?thwOWXd3Au&gQrNeMODr&0TLsw|YseAR%t2L& zqL0Jb;@vPIYJ%N2b`AbL@fc>K5rjd;0@uiEHP=Q}T6CJ5_yZ+Amqw9>z;;(I>{M{5R@S;O7=r87B`YjPJyrfr9NO=ZLp{9#EPNc{Az-7w zQ!&)<=v-C!Vt<15pAN#^gVp^hjLHz36+s@vT&K&qrDMb~s;(5YV?CYXLM)ECXjnI1 z?_lQ*$zw*I+zxN$@u_Xa7zK+UF%SeXvG41-Yl$feBnlb$kjh-umcE~@nNL3A+*#8A z=JnQGvcYoE?S?BcWVO?=NA*8Y!^@;X9*^SjZzCIz;+HUuIV{*Q+C(H>9X>g95a-F< z(ePsB)ld=6x`@*wO&c5g)VAzFrq1_-Cp?E00p(7lV$>;bQ1-0ofhANHagWM5MRBv^ zN2SSQQvO7Fx#LAo=CDp)@rQD7O5Zx6`NHx%iJf{+lj?w^&Gl@=GIgh1f>PfsN4{=cZiU_@oO?iXWCD;k;6KmpAaf&JmtAwoO!lSv*t6iv!H?k-E z*`c(y+TEdO(~CGUsOwx&b|c!LBWqY_ba*oWM6WJcc#Jx=b}b33pdCK}0|6h??^#e^**Y2>jJ z1WN+AJ*@^tFn(aNsaG7NwEQaZMcrU^G=p0>vPYZ|p$@~OMFEDK*TYl5H55?B!?_4_ zp|%DvQ>I|jKB+|l!tSPG$eSYxp+A=tHY3ea&eKa0-d!pq%+^8gAKCV1lpE7-tys2M z@hDOiOD}!z-Yri9T+K(o^hGBxTUZiylmCP&?<+S572=eCoeqGl)7ZOOjSHC0?5Jsw zoS5@dq)b+v^oJ3w@ zmnWB9gO2@OL(I$rW6Qm)h;Oi<{Wc*zH!&p#2IeZR_cOqmf}9=vGLO4zjB&Y)yD=`~ zav8Y08&B>ocX#9Qqsyba%cDnkk1pfU-QC@z%cIM9ba#1lH!hcP!MKcz$j79XiI^lO zNnYoilXJ%8e3*Q=ULPjsW8^gAtbfmmoU1U_MS_`_aXN z**2BkTDM%3Livyd)=)2n#Cslp^rIKDZ?0c9GhJZq4($v=3CJQV<#gT+( z4vMHWwo0Kf$!E)D%-l5rUuJ}xwek>V5nxLdNFJTg>Z|LiW0DeOd*-nI$~v!a=Q(sR z2GWh3cBGNuvP$6&J6}Xf8O?EV5>9CyRJLno)qFf;tA8>LY9)yWdfQhj-|CRF3&?u9 zf{yo~#6%Iz^Ylu0|7|iP!rmNajzL6A6*Q@u5U=iRD^9E$bzn)grWeMmrVP8DLc7x~ z7}{+L6gxpBd{IK+*MCnviqx^OV`40<8zvd=va1Z$i()@hI~6vp@QmnC5j@O*ETbnn z^dqE`;I{gLH}gy|s6(xdDBT_)I&{}HMI&#v*?jT4 zHac}gzUyZFP$11fu=Cr_p7{DQV*|C9Zw8*Ghy*O!ay8m(z-I{wdB_(xb1f>U#4f6M z9df9k^}o4s`vNBr3H7S-DUkjx<4Fg?A*xUZaQLz{5Cv`wi3Srv5jN8^vbDbr!MP}1 zYLt$VV;zc{hkG0mtC-;WpQGG(2n@sofEgn&VhmjFaCdq1_{rm^kM5p5dGy}%C-1!V z_}P=YXHOoz{rvIU&z`;W)|01??w&k){PgnZ>D{BpxVyvUG42K~0|AU{ma)6-@bnH z;?={8m-nykuiw0W{q>92-@bfv|G?`!4htf4J1oGftWS}{o^o@uQs&BWDKE>EAYOq< zW~(S1D!M9DZn)_5zn#I0vohxrfI%z`i{Gzv?JGHqq_Pv{+4`mZ7_&2M1F7XJM<`tN z$g^m23kJxJdV!_uQm~}D2{w#)#0e=O1ngN0Y}W4j(Lxak0T(_*oa(vacyfcSZ(yX* z#gojIOl>uZGbJ8OnvM5lDURD)D%2A-%N8k^E` zxFjp*)?`X2X*f0SRYB1vDh5>BqrRqAuwfI6v&E&r%kys49A*Dg#AvAUT!{9;eEgvm zhPhc-$23vRI}S&6QMQxQJrX>tWbRC~AO^oZv<^+1mMLkE8>I2*3U#FZurA55Ms`IZ zuBDAsIhGVmnJ&C1QMyWrzaoWII$#o%P|11@Fm(t3vOZ(=5_B?su0f^5PI7~eM66jv zdk$0bB+Il3vrTcQYl5RKQ)a3fP7BDel98mU6pD$N9tgCYh03_lf2TNksig=%Tt9bg$PS^S?_9~sqIT-Gj_l1=s_bi;|yX6sEENXySQxSF^HJKm}Fq?b~7X1kTV`ug$4e`7-Mj-Du@~L74KioS6{z+_3g|1ufKiu z`L{2>d2#>k%Qs)Ydj0jw*WbK&`OVAMuixCixxYT#&+EgS*V+yS$8jz@W_(pW&xpBU zkQ=*`@Er)1siZiRFx0uK`D|Np5Z68J$tk9KktZa<(`iMvE$xMLTI`w4_gRz$WMG6t zE#$$~vR~@BQQh1*HNOrTy&^it#7=myuXK&0)q6zD0 zRYe5`mkVsK;(40Zp>F!$C@?V!r>$};H}Fb0O2&a}2X_cYSQM8~^X(q|G@qo0!bE477Rs~w zN;_}q1hlb?Kk+@75~p||1=_88A9mzkov+NGFc)>D_vV{cbAML9kX&HA^^<=hp%650 zc51s>2eQJAZxo0yq?y_fZ}yA%-!dg6UMfT;=yNWr2Cn>6Lf*s~;VZHn=h+6l!*Y83 zeCiYe`t<1CT}r~#1YJp=-3ICOl*gRLuxQ6xdLR5ma@0P754_rmqvK)e(<0T>xMN9< zo^*%nMyym~gR_$47|rwepn&@#ioby_G3H5kWkgu?qOW4LVhZV94uJ>-V^lItd2vEX zy=rAqmaoCr#A|B}Avb*nPZpKVh0tQ%VRbP8%7z?n6Djdd+bqxjcv7y_zRD3xe%8aBgO^e4!8gV16w$F zjrk_tym)x?+gC5Y`S$g1U%dY2#p^F$y!_Q~fBVI^FTQ#4=G&L|FJ8QP^XlRH5ZCMV zIuB{s@#z3_FSnC+HYhzYj=$R4p320=l%eO0)P2;Pand?v+zBO1+arzgX=C;BD9=#w z3-{pSD3_}|qRcTIUWC?Pm8_GK|AEzYWr*imJkTNWJ=8-?CC+kdm!Z}=p(bb_xH6u_ zuvNjdEeDK!Yh54zr10?8w0$4kL+jku#)desVW^R{G>^!>bLK_M*qbJ5NVNUrgk?i- z%bKxR!;lpr5wbm&*aWg$*Qw?Xnn!XBnmY!c=}TlO=*>- zzq3&lMfY|FcrD&leji44RSb`uC;q+E?sEJg<3ydIN1Et)4k07ud0M?xv z(D>8xngs1LhcvvYrJgpwL)hgK2o7QDNbGZ|i3}W<)(`=48eUntLz~pEe;<+pTbYG4%6>aV?3n5zFQYD39O{m+38koTLw&q# zb5!oS8Pae8mG|FsPIi)FWYOOh}Tv6}r{JkJ4(PZ&$ieyD12i8xx~!5A?kCa*IhF1XxXoztT{kOmW-a8*Zf9L(D&!0WHyL){112 z`s)`jU)^8tX9Vw#8+ME%tT)v`^-JgO7G@V~Mx}Zo;<~qqZ5QTbOoPB2=8K&0uPUCx z|4Xnm*IGs&n&yPG$T`1%pw{fR$*#dS1OsFFpblcm#UzdI=w8(Rm>$c zoOP}{=Bs-X8Jc9a&f*ykBYpY;^i^_<(Op`xa%}pO0VOgU=47o*$8VWa_2^a6w)isZ zzS4q3)p8KY;geqxK*Yq3cZ=>{t1PD|il2XO&c6>p}GZ zF16T6zE9S88aIT7D1}((<{Bpn&Zy+sg=|vCIt`z*NrLiQlMt191ctf56ih@T{gr(O zDg-hQx9ov6tIi*!LB77{9Y=qK${>SJDnh=_lp#k_8S7Ir8k9K*Xn0+#!WB|j&km`f z4b)ptkBG2HWsSPkSjl=$Tk%I1C}W5R01BoMnRvM$(5gsLIGtkA5bfNlC+eb4)WO4* z^kPcd`K5MAzwg(ymapYD`=-#cZqrc%g$| zI*)kBJ8Hu8Ge+nQgXcf^_`OfwfA5ob-+BM;>9fa=9^KttE|+y0xn3tY zIj?iRoNwmppfj)-)2z)it*WJbr**O0-E5q%jyMsgk5Z2vHrJ)JLro-lTYrZk2hKS~ z0C7#|{1}cu-Eu1|%-$iV8Y9LC4C2w{?#c5<@4of?_r~`QG}QIs`sV)n?fvV|-+cSa zufF=(ufF`%XWxGI`8QvD^WvMAZ|?7}6CCrfVC=EfSP^54WirP4Sa(^UPur}7(#?86 z=Y3WJaq-ecy^?eagl4EwBQQd=lPgYO$=Iy%&$6~wg@H~P*Y%!CNVIy#Vp)q zKr+~hNE|agS&NUYLo_Ii*_n6wFr*))@j*WI5J{?Z?$UCgkj{nV4Qb&)WX(;F!=93Z zHuJ|A8wWH^@_2(#r+Sqh@Khp=%zFv*|DE8T;yF?IkqjVi75|Pkg0pzNpL|0h(9_OT zYO6^?D~n{&#IvWipZ_+OCe@vdUcVZRs$qa=cD9gvkG*oUp#qz3z=sq~Rdzdy zfMo)vjWf&;X(`qlF3UyS&A3$BXkgc31zfIio>5|GXABi03n!Vvb*mF1i_o$hibrsm-1qvLJq4FSRBiTw-1hHnC<@T>|88_^fmsiv^b>2#LMWzZ^rOTAgQM#RknO-%PV9%z6 z)l==C@(^-``PDE)4h_}GDCS(che6E2L(d_u7|-F*xX!TP+d=~O`~i@`=11Y`g}48eKrqXmI67U%mq z8Jv?Ch;fJU`0lOePrvu>Tc3RR_D3JQ{m}<+{oY6Kee&+x?_8ce9(R{p5dy_g#IR*rrxcx7nlGoJ)RTp)xZhvLy?B^je>BLwx9UPnZ>5f+~H_2;tNEu4Z=0 z<~k{oSoRzANC2_6AL<;Wzj~{=M>#6uU;~YbxMEeyi1GOH){`gi;rX9@^n>xo;N+|M z=8OApe*T*;fBE@~&%b=}>o30j^viF*`udw!ukY{QOmbozMvWL3AW{BTS!Ay}6m#x} zbsWMT1fy6(Fr(x)plQuiwT#>(EM?D=h;n|}TT_Bv3(&ZTy zMxrKhn)#dM0McHsr3ytC+k{3NK|&xzixtHT^n`P*vCOKEvxvXD-O)VN9zY0lM9C>r zW1eLCK8ilpVerv)UKV?-QQ<|733lPkd0tlfP(%~$=o%tpDTW^${OB1TZPfv=(;YZ)@vM5!UdOEg=kDM5Gil5$<-(3#`s|xuefry<{pQPGeE!w1zWn;DZ(hIn_RZ`2D%}4=yGaMHeJ%j8h#H$NMuf#6ZvpZ z_Qxn>%OdCyIoTrn4zEOb+c1%q4(Wywr$!}i%$VbMxZYMHYly<7S==O|vT1&5Bc>s4 z+RqSdrEB=)(-d23)ZAuL5`etIl|V^aY7AR9KK0&}C*HB)#HrdOo4&+)Qf7qJ9P2Pw zX*G(@N_jN_pM=KegN@k#g3;0ReEKn=wkY+_<_p6sgt$)K5=70Qtu{llVMSOuWqN~d(}JA=G7^SjQx3_wKbo;H(?#8@ zc{0&x77c1R)xdHa1$vA{G%+gcw+b-b20F5@KW2|LYUmnw;|lT#&~!}S#VJh%5Q z78f;nSowAotDQruBcW-iflyj?Mj)nAmni1!K;7Y*7{9vp11bq%FvgG%YZM1b+_!am z!A>39zPy|LFx7tOF+j^eY`~~~jsD^B+eh3w03=9sg=YbXu`7Q7V-S<%3?7bK2A({= zd;ZST58r?OgYUibqmMuMgAd;O=>6v(eeljZkDon`#}T-nd~$HXl@-n$q>$}HK*9z3n}h1<(FT5`kQaQ`sU5+R}Y85WGum2@OsR8xDi8wg`^m&XB_|z zTQK&NU?22Q${*TK$O1d_`Q|3Jue~L)r+TG?99oKN;uuF9)`~;2pFd<*5xcS%b9hK9 zaDvy%JaQz_(iIOnsHl53eF#yu3C}^S&khan(s?n+OSR2BgSPyQnIMyf{cA4 zt4>qqgX9)4XSl(Pe*6eeAy7wz8VN#)^d(r(8BSs9tG`O!4zlUnp75+k6ojemck9(P z@qp8ND!2)v--^@QM+TTyLzF6E+KIf;D31ccTSw*nnTudP#9H7iI@iieFR;WC4EWhE z%m|Hs04SKwKFg$nS%thEfyS14P#SxBu%*Vo7QDFR_?yMFpK;lR8PTM|UP^^-pf6Q{rfjGN3YYqDf0w ze+?WPH%(!n`%=11p-~0YaLrRk?j#0g#EnyNKD+X>#G7rN=m5Ma&oz~Hm8@Jfd!Ai( z$hOqk)iLr5ZPpo*dX`+!(#6zN77nTmyOb3Y*OQhrh-%qCD#VJOv`i7ui|prycbP_Q zs?(Q>Fcdw{1ZzsFxUzWddZF%n=4V}8S{O$SsGC~`i2;ZDhdKaCy(3DFGE6hmzf#FV z`+|D?c1~ax^pJQeq4(@5!4`@0z_I5m9XKfLO97b7pRs2VE4M3(+k?Q^xD<>T^NMR+ z`26YP55D*8_kaI;KlnPIELqQok*8m~g z^CfnbFr3sLD(XY7Gs9>_y7DE-Jfw@~`7khP+TH=#RK9f-tV7Sv#M<^-NS)Brl_ddY zA9ttgppP{0ii4XEK>kt(Z}K-qBj{8>F8O4cfhY4+9J^5P`+n6$d`oL|h7iJ)5PsgFXKo`8C8?;3t> zI_Hr8OHlVS^?E4TKN(@E1=d=BRG5eS}eS7kPm&9AxT&n1P- zy&=s%a++Fm42c9ra~#)=v6)Qq!V>Rw98Igp2jS&f*5PzJuIw5m3VWb@T6iVtCqGkI<#29ECs%+i}^VW+b zxUi_H*!tl=#c>mGU$<=H`r%U@c@USPI$RMN3V|_d+yUi*?rkY!v@^_DvBpq{nYi^( zi2dyWKt+VsvMjFOIy^`~^$1h#A3ylGJYyu06&M_aD#GzsBN%a<1XlGwviHBRo&&+l z(X~7(_&F})`SVAgeE9C~{r>lU^hZDV;}1Uk_{lr(JbH3>xjcZ^UBz=A|9hR_#C1kY z%(+~pLBusUId{cBx&D?6%mZ_>`?@Ln$!sgpBFyZ(O*hEcHs%ap7vtVg44OKx=?e+C zsM=@ZH14@$g!^6ZRW(1G# zJ;1BPJj!mwWL)<_Y0Sy}%n{<6%W52)vPHz2Y95vWi9@8#9lp=KX4t6;eH8RCRx<0=Kl8 z%a*Y`_fWM6>C*SmR$-MCI-4lvUzRhIv`uGWKqqa!u<2FG)rUmM6d9^W#!1?Z4L+mT z5hbF5=BQ%#Z$iVJqO2&U6qVHBYNs9FeB{NN-Ap>uS_oFw!s_Kwdkb;^fKp+?ZnV&4 zLPb7W0cSBU%#P^E#5X#f>jsdXvAAo~5GwkGEH&4^(wu~QbQQf>DveE%s>B#Wx-PU5 zv@Y3*!s4c#qOZ?J)ya>44CsNQ+Qjra)$~$HQ*tci`L+-tMz~Dlxb7qH_MiM&%o@#! zY#|eKY3%S@K^J~3ai%n#GFHjBQpYKSQqItb7BUbHI&8-On%_in{MPC=CErZYVAcs2 z;K4~YW2z^S#rjxYtH2^wNf44E3qsLKy30!4Wc{|j)6222$H>XqvAu3Hdf2TAC;s+4 zyy&KMf#pfp0)`k3GfY$SjLYi8>UM|PLbU90lCDvHWGFghX452-LO6gfCDHO)s;q|Q zy<}lq-@t-QTcg3VpKq)&W~~gKuWb!2ZwxSCGzBmUy9q>-)5t3*T0gqY0HOuj5=w?Z zv>;ZiGIh!;5%o^K!ZGYa5W|3l{vLe@dX=}mzbG2d?(whRzAMM|jTiatml)esdJOz0 zi3`RPJbU}`58i+K4?lkYM}P3qkAMH8KX~VZx8mvGY+vre?&eh_ku$&%gchZ~p#^fBlOu{^qmK{{GX?zyA95{hK+6 zv5%RY5m%DHl?P*#^CnT}`uPN`ClEP@I!riy}g#u;VYgAxu=+x9hG#dMX9>XanY z(R4(ifsNQVW9%}wif@^IZ>={~pj`r2(|$XHKAVw7Ps|l$-e9=6A5YtdTur|1gFLP< zgEj!D3?<$uC#lM81t{uZSCj;(0Ad@Fh&!pP$c1z+%6*!Aj+!T>QCwSWD)!G?$Uu4M zvs)$#fKnN`&Ne*B2Nj$x3a(QqV0iKxotmkiW@WOyEKiviD&>8 z8j{oV+ysZaK?>Qio=}c(6J2E^k6+#oGceK!io}SWo{|K6dJp2 z$xT4Z_0Z)*fMqg;I9s!YY7kKdfIZ$6au3flHHV>@@*ft6yXxI7cociQ$idM#P89E` zh4^_(rrI&YSsCX}BTEu#7WI1c=z;C_nY4pIYEB@}ouFXEs0|4G3#y#4|8kEW-2JOsmhduf9k?9peUW)L* zdi@Zf@Xd7Cr9q?o1I7#lo%Sh%gCR-W;rJ!!k%OpDIe%@YcUC)@yAxj)-h4^O%tE4>(jk~?gK&> z4bMeY#C#9mlIp+0kP@fOP(Pbg@+GmB115Lit|)%7;sIE;+A7eakUHYX6`afV2C@Kn zFkfG!C`#L^p^=m*ppf}dp-$)B_V3jKwSx)w5!5WUI#y}kY_Zp2d$t0cOhH5ilT?)! z{rr$2zE&1Waf2oYl4M$1D=huuNNI{>l^3|OlHlclK9 z(r%{+XhTU>Tj9wWDg9=y`mO&vp|)a3Suv=|#7YrO-G4-2qykQHqQ_(aaVgc%aYG>@ z2FHkTIbsKvrwj*H=rJ$P@E8}~$9(nr{)^v!^A}%!`j>zA>0kcs=fC>R*DqhZV(`(p zy96*}-p_R{C+FOAfZaK+F8(|cqEY^Vx-DYIenkxdj!JYEss~eLoUtT8HAC3z7d`KG zN1GLcKdarTV=Afo>3p=%Ou2gHC`^Vp6w_@;)yC#pIk|Kx9ei0C))G}@4QQmqh!ELP zTA#gZYm`Ypc2-%L<3WgYAVGCQfciCE$$d@phb1yug07@OVwXvu41QKxSl4#BPno~h z72#SiX%qESjd@g6w4y~3_Z9LJLYD|d-sb6VK)_HUI}zh(Dr@uJWzfMxG}~@(EV%km z2ReofN}bG%fb|Ho?3>%U9%?oe9PBobho&dXj345%cP&H7gHJqCNK(3?%G&}=$2pzc z)>sXmrbr zLU0RlZPMiOO|-S=5 zG&GhD)x~R>zl4Klf#~i`tVc~5P1Q))C4J>{a|NS{!52HZ=;)Et*nJySp~e|h$lLl} zSk1R{b`Pu2(fG*tUa*M!lHhZ+{dQs!mTG@H97c`kwoiAtc#prh)|Lj9-BxNqOM0&Ux-N!LNs#py zZm?WT>embc{<8&huH#2Q#h0%CH$JvViB5tH^ld971ac1ta>Ar)HTjc~;;(-7 zH^2De+m|mn1J}hZ<@L~kF>`ne0d!c0Q|&XiBAT%WN$c{?Ial>x0-+uK(44;FmqMY=Pa#Jx_GOWl3M@h&#wUBoF^7vGXqiJsX>t#_V|jnx~2C^oB#f4C-B83rVB3**0ge1HkOcC$(gsgeXCFYdbVSMTBk=8YV|M&1KLasp7}%)Wb7~Q+0&4vq7%o zDIT%^6!W?3Q7_70ZF0EEBBFiltrQP9-5YL72s8Ft8m)WhL+vnr@G~ES;z8ux!0*T` zkS2{sbRdmsfJaKHomrr^63(dTV@lUt;GR_Fn#kdyLspZPdJ*IXfJ)=j^G|Sx-C9~! zNyX{_;MDwcCwA8Ztv$Pr9e`0Tg!eD8Ts6Ok68(kVLmBcKx<{|v@T7Doz^D2f;lzJI z038nzLjXRz`mg_vbt;gVTLp)C+E)U6j-PzlYW|}+d>My7a3Y8~?(q2Oqwl@{_CNg5 zM}PVcKK_$WKK}U0dynJEHTWjx1LquMT(3v>XED;|0pYo>4(yx}#5`QQGwr;=L+*cF z?%p-&zs8iZB$(h%l+QDzu4=6pZo(<3(Rc|>|LVpGo~d5u%%V2&(Gew@qk`|~%s1qj z_5Y#y?)a|0K4~!&zWw`LLp?rlue*1*Ach*p#)=&*g+N*TmkB%ukAEmv@g5G0k;u^) zcM%ufZ4<&cPP&&EkK*!-!C#_rLn{|Mr*v>TiDi^*7(%znSrHl$~Ss z)~-4p;+WeNK!nugG2`%zug`pzOBkz3ze}`PE$TcBY^9Jiai`xNvr0G4Xd36p^-BMW z#x95qa!Tq^bBkolKZn;ek_u!i(#b1aZ;jT=q<4I&Q+hRmTG(*~3WYJKbsFrUvrvF( zSnd#TioMoc0*wvAmfzH;DTQa384zvGX7R;Lj0Yrd_htYt6rkw=TDSooZ+MB)VXG`d zLw7A*1gXxg@J5#cxKMuu!>Y^Dd%#qUGEFn0Ij*-Rh}tP7!Y<;eQk8vJ2$zkUXt;fQ zP12I537B;ibZxy7u+@xG*`KDPouu#K(NVd}@}#BC@WrLW z#3D*ZFve=Uz~P=^q}FUvZ&c2^AVZvY$Ao^jl?cX1J0<;Y}$hrCTo|{jGaXhi&m?Y`olNU$JG4A?;k4`_UJ)C1_FtEU-x)AeX#?X5Jwi=7&xL|!$+Fvpwu@G2gz;~+I2LX1O!Gp||P z@6fIpoPof+204#%|7iK+y7FLGxrGYq3YK(&)NInoe0CpiHWXsZsXvSB;nM(DNBaRF z!eFsH=a;up;B8eu;>4*6$7P&@$;tm7RexBZ;W?blzsBaDXUBqdcYCxSs(mK8W^SiE zw)?S1OGlfZflI_u@gF+ovHo=&X#>acV9x}09Kni{#>y*X+{Ji1o;@9R9DMa~|I5$5 z`pYkV{pbJY7ys(7KmY8rZ{s@eE@L1tF&{Xu#6(<=8*trN2?$yy@mY$U90*{8dNeiy zv%-D%nV}{C=_F1%XGIXG*`S<}Ek{i5GnR7u7$X!Jf_2PHA$UeLhoVSW4SmpfEFCbX zkQkvIA2{$nlrkp74H~Yn`=b0@Iwb(+oREQ3juZ;bzN;WDgy{Q!Zlpu`>q62(dPob} z(M_CHwr=KkSi)wUybda*s%l0M68h~zaEkWYB+G10E7(LpftE|v8`Sv|G#X3{*#-*= zMaEm-zmZ5>UzGW4`d!keg}_=v6QtBSP94F3eL9LX=$G3>e^2`@CIjx8E=vARX~WnZ z%uE0YlC1=nJW01!e@NLvnmnvg^_%k+b?5;CZ~x?xWRPx70OvwRUCAQ*#mbMwqM zY_*ySzKST`uwA4ak*gyv>S@(wWM_WvdLz)wbBk(bHdM{Cz~$lI4x|LK(Hy9uT9q5s zv(3Qw5U)!2uEZ(UrouPjBbYoOdX~H8j+OF0Fzuu3@yx~qvKd2l4*gaTdVNuPJSQ>i z@JM&Arvx-Sl9u(pse$P7`NA9^>V<&M?l7W7aqE+lr%Cbn6iKC|_A%S&&4xc)+U}or zv{1G#h07ki@+AcH1dZ16`YI=*C{9BIwzmLGVm&>k$CxQ($e?-%tvj6h~4Fm_=JF zq4xDW|AdlTcQ~z&Ro3pi&eNl^;KoJTpr`@@#PM{!|Utc|Mts&_KTnYi@*5AU;W+Z z-+ucFK@8xExPlMs01)#ytKL2U9Ouxg);41_MM3K>nxmeDy6Qaq<{Oa;55piCarP;3c|yH*w{o+MSE?3c_b;&={AA!tZ=G|-v$iX!JTgN z^s%aoqu0rZ5r>?v%-q!XD?gCg>!Vx<^?x?{a+k{60ng-=;&GLuY&#N2e#3DM=dm3r z6;7Qnpk(#P>qPRasj~fZ10rAt2GN?)_v+>%=tNj`&4xEk zTofso?#$(CaUxl?qq4&C4nldx6cz>O8jRmca=5Trnk@}3e*rA-$_?3Wf3Gl7;YRF&}Th# z5GQeYjz!i5{Vdj|CNxiI@07Y?4n+w?CD0#K&Ga5@8jmLc)EPiPJ^NTQHm!d|I)itB z6Xh%Slw+*FzedD}%j3)Y-+TL~fBMls{*xd6$;Tgm@c5m(%iWvFYs`n3*SK=)sUL#7 z*yhG>~{A`-p4S+o7#7aVt}% zFRX1THag=8J$=)jixczOdiilW+h_3u18G#fTUej1l85#-q4&}Ih-DX4Tr zdlg$N7w4XrPT^immIR2tOT;hVT+OhL2D?355%^_dbXkITpG`xq%l=f;`ke5LS8$`MlC4-(o0j3CpVQBi!<6G@MhEXJ3$urG6+;VXk^${X2xG1*F7(=O>J?%3iQbC?hFw zOwQ&DD&MDU$f9BmCR z!)f2%zIRDpp;l@(R09NXL-7UXk(we!is{R6Xo<#Sr^~xKh&B^o8N!X_(PMihicAjw zV%$@HFtw17gG^-PszUIhHBU1SA`OF8(3B)kKPC>}XKveQ?#8%n4viHLawu`_jN z$Cu9$E2`{@2@ch)9l+4zY%rG0?J{DHzyR-KUWmIG7mOL>f%Elsyok#M@rUnx@{@n( z_x}BV{N`t0eD*K@@>l=tuYUe-e)XF#e|sMhk1m&^WMAnL3l?-l%`s+h5Oej#ll0H+ zWIvLIF`^%{l;MUAxn|s z5cEo^oh-XrMwV;{hr>NG!@SNqXK*5fT_!um=$7Ov$ds}+VWm)|bpl}LSp6T78Cr^@ zJ5A3CGSaZ8Xrmc)%#G0*?P#k%{XD~#le`i~%SKNzHObdmmNB$hwvPxBBN9|5eyoTY z=o1uH@LQTDTLf3I5f0KD4aePLC^;zH&T4)Q6l2Fcc_L3z{>}b21@k+?^{g9EvrNLi z;%vJ1R;d5DTECm2xgq_POAc)$-mv!1# zdhf!=FRy$N_g7qbFglr`yhp`9XYgqJUt?Y~l$V^CbB%j>n1HW)RJZM1=@SSk^yO5E zh9Tka(D9$eD?AT~rzeggZa3V~_J~4CI2FiL0Jl~6&f4h|AVrAWBm?nAJElKY`X>w@ zWKgy}euo>OqtfslrUiVr_uw{4Znuq2V~z4phLc8z{Qe~c;Zg3dBl5r)jLQNCjSG%H z!Q~JOjd6)_;ka;&Wwaj=aW^mTjVI6U#@E*ufBB1F|3ClLU;o7~e);#m`ufGU4;SKc z8Ik!B^I%Tx(6|K;^~r!H4d(>lXeYB$flEKeO|_mz^amyVglPj{;W0ENYt0#|S(e@6 zY|9B0h-FBmKRQ%_kcya73#=O+Hec87W!2(C0$Nq69%2|3rGY&_cF1k=6{8|~5OCl` zqiKbt5I5$e{(3H6MdFbF7M_uSblN*1ENZRlM{& zOhND^jwvIleCr+b>Y2;BR*IK5D(TaQmvbun`!pZO;5;n@PTmpA$}F78)*EG$d%DaR zw@N3;q>JbW!W(HR^q8*B$fuE|nT3+I23NCfR z%+pSo61t9{Yqhd6-FLwx6ek#7sDvD1LRm6aal z8l(QN8a47m)fleIkt55QS($bk+ZZrTFb3HcjRZ(Ys7DcsxN*;U_g=F;thJtJK5Oq2 zqCOM^!Hs+GIp;m^*?aA$ne#Ul2V|B2&I+4|LCpAmmID&x&(->`5D8? zjYIaFaT~3&g31kINRiS&75H~oMquz*&)2a$l{)ES~Q9NyKZ9y^tQ%eh<{Ef3rayPrJ`2w z?mfQq-A{k`{m=j8+u!xBH$7FB(^he*^-?z4w%JD3m32d1t&+7Fb~hLFw=w?!^=xQU zRR1GN{x@q%%+l%9!C>*wezZeN1iu%wI2h>c^Qbg$v9Z(riY|umbM0+fjiGY5?Y&hKe6jBqWem| z0uvQzbb(H;Dx(Kz|1PZofVBu=6!hx95rmeOA%ONb%VJCG3Qo3Mq1-_!hS#sx-}%

    ZYv*RWXuGla2Wz+Q-nrMM=5X6#41$tp+oZSJeAaObuuFc(w`E- z*JNDyp2ZR?EM~{*5Sb_Q<@QLvlgDE#7S^g!UO8M6*3Fz>MO$6|L=!j)l8y?wa$i*4 zeyNbbdIcEiX@jOl?`6|EV(#3-4S_`QcgVOlQ7iLA+#75VbJ~y>cC(Fm^!vN(r|+L$ zYJJ~xx+zH5gjQHnc#kZM1FRfVypF zZL_Vlrgsu`vH3cJw}G^@fp3`GuW- z^yVAi`q68@{7=8Xxw_fU`+P?$Lu)6jql)K(8s%YAC=j zAqYX7P|4Sod^2GLYa)mEoy2b%ZIz})k$up zu1VdSE>$j!Y+7y2Xq#X8fGh;MJZtuf%JUVkEy!3mw#nDa(WCd!VIu+Dx{=HWK0oci zH+wLTwjLL*n}j=L=gDL+Ytw#!1L<7FOgW*-IX?1=X?7@>-1>5ZhR*)A zZ@>J~Yfpc4zT3eLlHB{=XY}uWW!WnOBAla=0@MO5nf>#N8r!MCR1b*3h=rT5B7&4VxLCy1Dt_$M3)US07w& zH)q^+cBlPdoNp{3YeB$^D$i9@pgfF=-6fKpMJa?TGmg4SlJS(ARvO5j69Qou#*-_4 z$DRc%MQ0W25y^Zh%>wxai}k$(N*?1}t%d?F$?uSZw#lARo^dXs&X`xUmhs1;nD$nh zQs3p(^*NtZ{ZE{mj=cX!nSd3w_~MULzeQfLFvVFlO{dQQ%X^IJEgkPuUQ|dXO@bOr zLtMw$6f~yP`4IV{hDld44E5%c%LT!qGG|%YN0Aw+(43%|SkgetdqQUDfZR<7yIQG? z)Akeh+w8md9PC%Oi1P7K4!5#?M!uUZ4sVo131!ns!<(jnT(Q`y2}B+SaSSW%H48$C zWT>CIXalClH%4&PYGe+Rp~$cWPaH=UE)E=6ck)R?Ir3JAakct}F0PH*b#`9~Z=b-W zfz1pIR?~#w59=9xoI6_0ut)v#KlJBbdg6R-+_$zF(Xl(jYO;>l*|O!@tvKX*(vdnv zdOp!g96#UTm@~0!R)DRK{4Yc2HWI%2tdhqshCpa|g<)vj+O!{*?)xf#@CjH7-B=Z~ zAr>3=Rv-MI&AR{FI@%fMJHrz<*Z=Y_zWehZ|9;OtuxmOLAs8m@G#8c9By&B&p=4@6 zuU;Fjjnsv3QfT+ZNG>K;!ANL$$^rl}E8v`ZK=xE8%{YdH3C0804+aIZnm=iaZ5Xn2 z1;>#kxF9u0vhkqCq0)+pPUkBk?UxkggbgK5K&4Q+*(>%GP+t2u0LT>*1@YqJ!aDkd z>aiojpbqO*cOzYJTJ+eC`M|7mxr4n^wo)Jp6jaVyaqrf+gcXHj6|Nnk)}FY&!Ke0{|M{K%e((48z3&#tgE0r_v+Iu{ zk@T%i9la5o7?+7PZ@nUatq{oyq{|1Y1>?h*10_vaEVemQRK2@lRa9V^^NMtYr5&!w zMLQyVRp=L4QZ=$#62t`zY7+m1Tz?8!OdVj^+)2xWM3knGh9#b+a_CA;Ts*BYN>N`;@hIpq7O~}-uP;Ub&U}XN~l8q2V>w*Lc?W)Y26a7;!C{9Os$tZOpby2Xe$!mq6x8)llA8GA>w$M4_Xez4tp z{rYY{qct`Rim9*0V_?xZIT)HyY$<3BeznleW@n|z4g-2vubGYReh199!PBG7D1c!( z_L90e`LyA{q6ke61Md+(-74W;GT+l#F{cv7ZrrVR>l|@CwsoA(wmq`_dvCn{%D0|> z_h%nnwQYEpNkbpKpgy0S=5g}P8F5&|UKg;83hd3Ah%gnjs0|g1I->?#t3fUG@hUSB zEL}?NqWYp{MnZ5@N1b-aa-y{*c2JRq2Gzs^T312px&c%TpRNtn>L0Uy(@adgD)HEr zYo5v+>fnURe8T~pDPvZDIotK~UlaWn%iBQlR|)Q|eq{*JMR^+fM+g@v_t%untj(t! zB)LOJhy5W<6fm->B_g@Whg&K&OTsZJt>1w0ly@i~{ygN=K;L+n9oODO)By2o!wLPF zDkOHCDB@>ZrC_^V=z{obQb5FS&RHG+8_V51Ycya8{imvZ=>9Q9il>ccFTe5hfAfF( z^IPz-ozLjI^>goM_OtD0>wE8Km;7k&y6V#<2Vfe2TnTjW|JJ$CLDfqLJV4J-Wz14@ zwEd_ZF$iLNfD5W;ncwmzFaK^s?K8ojZIJ)lw%O^KtNXwGt3ST=-@ki*yLV^1?X%wx z%`1pPin46>pn|H=*@M6w0;U+g+Ws$2u(A?z9YR6HBCFN$!eX@$b4&orr~$odRAWV( zqjC^@exH{jN-l${Og)~o1`*1WoqCgeWdg($->1mj6&oL9MnFkO0PNxgk(NgAw!+gK z;z0^+!oOgZylOpE7>CRBuzozSLhD~~bf~~IYOPQPEeDAdOG5$&$OWv<(DW#Sdes-B zh8{X7i|C?5KhSDWyMPdigO$mj==r5^7W0oMue3OrR5XXima%kKqt7#+pkDlNE~*q< z+ZxkWv}#iQLjgjmF_RL{>L{s3+mryV`4LOk!;~o#}5@uz^FL(*8QrJ<{RyS3TFq&X4oyuQ3xWC((=Y4D7x7J5@A6v)PZR^(NFR*otW`FD0x;N3RZTtAoVFqYz zD1wMKeseg0ZT=?=jm=LN@HpZmfo8vsGrbcjWQ8XK%s+CLM>89;RSZKiS~H;AGxwkP z_|fM-`}^Nrv03Mgsp$cx%cj}9*pf)UB%;@etOvtE@I}Bftvy6PEu-8Lh{*DStWlzEkb%_{_<) zkY3J4tl5CYg>j)HePVY1p(lJhGBJ+dNk2tI-;Sz&(zFAU+M>iSvj&!O<=;iBaaqe_ z3=DNoG1e`~@eN_kunxs+7uo{}XF!S&ptoY4KgP4kYX42XPpWv5B%-fMN-v_+`0ikD z@Bx}5YT}6xeK2NP6>~P0%K)U!0AYPH`w$jqgVu1{&p-UHzwzYF6YuYz-l2Evy-z8j z1OU$r;E?f4#ZOC=Wh&5zT_7!HuKt%HR7Jj!RK5U(K`YQ9O>?8lz$4~+8%O4{qX)k| zXDRbin+-e+Y~+5SH8}u)V%nq7Doj$(LkeX%Wts`~1ctG-yU~J>N>Jm8zwzRcTEvZkO9(ZLj<;gS;{3uHj z!HhZ~Od#upgf_R0=A9Fy9XMR9H57xEgpnjUnfhW($Ri0KODh+3JUvuFZWjX%aTQ)S zcT6j8cMN7htRq$T%Bexkx{ArQX`U)+K-Wkx8Gfd|G<%a&lp}HI9Pv1~}$!A-?I3e+l|vrI4utA+5m zlA#^wguy);gPo)On@^j2tXrK>jAW zxwCbD#Cmtz3~T-8{rhk;w3!%SFoYp^I2l~-KSlpj9YpEVA(lfd{W}f2R-DVs_e_$K zPSPXLr4Rb2djNLgZ2gRWvVO<@WN-iS`+xF3KmRw6-|HKqDQ*N)K|Mb1mKK@_N=ch- zf^KH}CT<=fs;56EJip#45sce-gt`pKB`&dmK2td9l%Xy#2WRY5C(h7`HTE81pz%bR z*PZ#zOLlp-lwE}elYLGVExi-kdrH*L>Q0ia=kgID9I4CLQXIz-!0!*NL9c#>Ph{+dExPBzJ-)N_Z1$U(=C%ePy^FVc$17_8+a zC!J-)yD&EJ^9PJSGm=|Yb64VQn=GfTATx& zDQZTBcbHbwuUEnls}^tJ<@!Z$xmYKn&j|RDsrd@q%1As)FVFfKX8>%iZD=&RIc?V+ zKl}gv?(y&Lp1iq#-tQ#3E7Ojb^a@{<^A!r?i={!%h4Yh~#H7Vjuu*05Dh3r54$w0k zm*%V25Sdb8R+1Q?KCL9om?i^&azA0oy3oXJTUf;v+3HndK8*FXCQ(<(5$aei{GyU} zYGngO6(ER~Xbh@6EjXGkuw@QW;?Jt{L}3yKJe9vr5g%1nM0SjD7_hU3imaoW!iZL+ zs$NFDJtQJ?Hp>MoD@&+xQD(|LM|J1N(45J8TZ3n)surw*&NvPgmUObiTW-tTWZ==Y^siYrS3%R5C9~L-iyo`MEvU3CfnR z$Q&;O>A>~*RzB;3+SQxNjX;s66muobV@PeDm{Kg`2y}3#fvg$@8#*5=zcX`p@^bnG z=*`-0Y&4*EYd{~Fu;V*4h84D1BR>7jr%!(S-qnj&``r}Wn@!OwI?zK`VvRJS)2tD3 zJZQw?CaryFp9vb;GzZVbTo?3X>k{k*YhYt*W^IIrMYxPS*NWiL$PS}bpa7&FfCKx= z0i|?5z`k4C(a+q^wl~=4eEgLcU-;J7zxw0%e!bx|jz26Z1QG!jjRIJtO#5r2f>6pK zIY|n0g5X_Lq7H!R#FOOCtJ_IaXPcEsS*W#7@L7=awcEg}wFZ&W;m(d|u{o$-QuCx# z!BWxI&STY!SiwaeS$W5j_Sj1=S<6{73jxz?nVYQ`Rb2e`E1za~0Q3Q6IR+ewL$z}x zpHqPlJN+{yi8T<|dp5o>7H3CBE7y!oTQEBn$gSv+X6l`iZICXIKbWq3!qaK1Ck;uH zDe09Edx1%(HF}@Zq*~|l>X?aIuojItat?!)o9!A>;;Aubfnwz;y+Nd*4p{L^!0qk% zhyT^rpMC1-hyBr58vE?``#&E3CCz>*`cvZr?eYh~$QB~ENL(biIjAVg3SF$@P~B}R zshB-4!Y(PYefN(>P7@7QvpE9543KHS=4YhMaR2)1qhEdW_P>2_v)!BrV69hYPahkScbsL)!or4&l+;wK!bFuI;2={=Vy^CwoifM;6gsP<5 zd67=a-zwNdS>_Jj6lk!zF6XP;eSG)HuRee2)#vThNmwJzHUi|{NhjpbO1cw-^=>;kW$^y7^gztm`WVATv_Qmx zO_l#R!wz$BOOj6uyWLbzO6pnma9VA=J@XWc%bMb6Q*F={{hhq%}rN>8*lgDv68IA3y;k ziNk^g^>^%ERRuq)lN1saQ>c28`%7Nvk!IVza*k_Az?#R_EYUGSm1gDltN(9F9;Fi0 z^W-mCzE-i?=^_TW6tfWhYZ-+so`j73($o)Y4j}OX0CwCwb@iuz@%0`10PzksSZCjd zqllc|-%`PkXhc@4Jimm?T^;6Y3YesF=)K9s)?cv(|{~tE>GHfAzooksmkQv%YtS>Cq8DGKe4&$4enp3L(dZKnck>P;Dp% zFk6+EC?f@{qr`O}V6u|Nph)wKinFnj3UZ#W$J4N1h2$+e@onI&Y1MU@M|7dIub5=l z->YE)ZXlx9aA}sFtP&ntYNW2il;=Sx(ZGezyEcIWsX6cAV%vuB zmgH5SK&lI+PTHAe5T`)ou=rnEb}yxN9E`ZNFeo#lR1j&nM~*B_J3`Zy(a zwgJZ94V?sSCr4CXXA!@T^=m`5U|L?zF)5tZ-r4oB&GUr9^*g_Yk*eKBG+!J4-8kj} zqZftlr76mak!=g+eVk+$)2tc)D0(-e_1(~{?Y7^A%GLJI`lBCw=Nm7-_Waww`RKG+ z@03s=82enoQ6Ey@+47m4V9?}c&ZnTJbP<1qwr2KFSvL!~6xalmuqvDOjd8nli@KQ{#<_@}kS?#v>Kew5On@VI9fV z1=FF@hzu}c$`oV3sV*`KA)DiH-!j%>j8a5bGe?bT$i|488jG1RmNL}T&$^yeJ8e40 zXc|4JF_GGO59u)+WUjklQvdRRh&)b+RM?WRpCH7A@vpXTRIY+={}e$_6k?-YFp9Mn zA-8bdAADAg%p4N0Rhd^3L~GVG;C2WgfdNBfr&+VpzMsGIzkB_)*IvA1-!YXxhkxcw zz;T@eAKc^EzXeoC7OvD->`D7nY-7m&5ar2d%tKQGjTgAu2jEsnC?ZAidrq1zBP-lBZFS ziDCk(me4BTE16@0NXMaNQdwEq!>r-p(IRDXV7aj8U_Apyb=)So<4QbZp3+$>qNR!| zs*LogR~d^b4vuP=rQq_d^mkNrv{Y$wS+O3T3-Ct?#i(#CKqCg!idVe_?mjdW0BLfg zBLN2CK*=36VtWp9*d^LUwC$-V5TZE|IAtH^{@YztL+|kQIq&(h;%K}*wES9QTTLtxKRx?akpt( z7%BHoZ^@FE74Z$Bog`{LmDlvt({haI(tPi~nqE6FU3S)^{Vs})9Cd;bjC0Antd^Vt z?m`Mfv*TOEjB)TN#0actzdCP=1)&AoOGe^W5_Y5|!J>(@#XJ^yCWh0Zw=P@&MSC9( z97uOw#<`HJ94E;t=;HkiSCNU!Q*#Y*5P-`IP#gi2z#X#_EaY+jgrQ8bB2Ls~BN0$Y zB7I4Twu1LjKOLyjOF4teE<`;xgz+w$XfSjytSV<6@t8smuruIM4V!Koip6NypBS9q z=Jocqeg8+_XxH0$zuj@(jU2hZ*7tyZ+Uo8Qf~O^#Ar<^3BbsTKWM1c3(^#yoCK@+k zjS7OAi>lnKi?FgbX-pa0Fy_T@uNlyq@HN`jVlp;o05eJ%_ph#QKY0B6fAF zw8mtIvM4P4>U6~@^Gj5nixs#uyRBp`l_6(>QBmxmYdc7f7=^5$KQF$C4opz0>(Zt! zQ&bUzq*5_OI5l%G)qAW{X1#m?b4$O@dh#)ONeak!t5AoSDts7;8 ztr^PPh)cjkUKgVn-_sq>3p(3yI#k}V!h%d=0ra3H?9U_ByPBX>fSOiC6i0+6`P8F| z$o(+)!f{->KxRRn+QffMQD%2jS0@rDE?%LS%0t7G)OZnlDkVY0M3W9ed97?YS@f4T z5*^vGUtMjFe*eYYdv{O1x!pZJcSEzC&H8S=?fcG7ZX|b-)~vI6+1Wv|Z}cH1E zfX02NeX)Q3qaS?zzklXG_RoN=kpydmi&PG=ZymB_S#OGrNAjf0l<^h`s9m;)WxC0V z;>^H%p|e+fkQmbvfmf7zD9MHt{3hyrRoMnIZ85QFMIvhus?2)twxr#bc6nJP1eaH8 zZ>B}QRMC2@@l9-mPTCUtQEhPEXN6KVAoir0m|b=DtU=u}M|Bis9#S*#+!7Qp|7YoM z5Bt2g#HLyu(HN#qMg7x5^y4k9DbzODa(dKmNdC4=HbhdxwA@-|PUbR3H97i16dzvM zevu6*<$0%(y#Vn_{fc_WRPL4Z+ysOsPHJKK=iE21xG)NHdCGrAv3q8J=9T+j{p!nS z+wX9`!+y5&c{+fnl+d`|ArT5)!g-4vjTbE>2T6+wXY7*k`nMX)_Hn$^2m z&hodsF)J)HL3KT$o)3d!+uE+m*8`X zlvPyA5Cn3PIvMTolv@;*FOYm_MhC~GufhwcxKgRNSs3IgXw*S+jZ?^QbN>hBrd0Ju zXn3kX%Q;+X1ou|+Ts3$RIO?o{`DIaku4nB~{8cX+k`1hgOyMC*-w={-&rHnG8=}yv z6T&9*1;lL_Z2=avDil8d-8H)O-Q z@qvY^k-{^*dgrSox$SSDBR?Zzo zA1X+Ungoq-ZCYBL-0)Pmpwa}AKXq?v!6q!dqO^}0<;%wGnLD|sxII_kZtP||FnN|Z z8Sd=CPd{pBySc&D3D+lFo$Pe#+h*I9Z6|BZ+Np2b-cD?%KK{XJ$5n3|+f~OE?KD`Q zgYwxY?sE`7w~lScq=gc#+u(;{U_&QP6zD?E8Fx)MwQ85zM@ zj#3dxl$)etO#RH4g?_F9RgRer16je5k>jQiK#|4LavFkzkgMAY1!3ut#CTzz62Pjx zMS)|GRyiASzzD%yRcEyM2plbl+;&GETb&*}CfRye#BJ#U%!u8nO{^s{y ze)74S{oK#o&)gIHGwxUy|5N+@@=<87SA{?-3tFgBtR7$HR!*HDnJ|Q+L!TdzURD1C zLKv1avcWXod({4Z9GZz=W<#JE*p~DP0ei*@`J*nH*~DGzHV5XmfRpQXh13 z<)X0i5BxEN2m|7|CPJ+*{8%}$udX?*Qwj-Quz2SFb8j|8Wm+=YS-gvs z?Zj}2!DGuyTWlO4?UJUzBp5Erayp-*5LpkaGo^{-SU*D*$Wl6XWaVcU%Yw{R1%{_w zit?Nbg$aVAV=%}Vv+sf7y7czd8<7)+B8y>(G#qcHSq&N|g(;>;{^Qi3X4n?~(w-2!ZPz(K0yPM3n8C+Gd2Xd7`N zHrk1{Wn6&cKD(i_jU0e(;}A0c&GPGcZGyVL9G{N=bUhnT@Y1Z~_V|LRiQ-a@_J5y4 zfC=)xL${6p;-7z)*O>Xl!%cy*@2YVx3K26I4rD(lgSzdI2BW9+UYmm@Ixx2mc{(#X zh&n3}q{!I9y=TPmcQVo28ueXXo{wCU8NrA_jA=uvKWgpns&xQ8jk;p3UqGK&WrXtl zqZn}_l`gDq{&ZlWAnGtSv)hrM(-2lm@5-O?&bU*W?q9r&`L~P4tSAZB^a7)5K7B~W zS`0vc5uwM>^Te_u+PV;@xx42o2CS;3kReB6rOSg$F`E5<3=n_Q=1%6WN#111zcl5M zL_|u2z89Y^O6OjICk2fyk-d<1YOp>_CX2tpDjChwIy~VvAA)Xn{dD{GpM7;R+xvMR zt%8aEWcStEvHy$(W)s$_iOylGo)T_(}d#M%cqOv_khLPs-v6_G(teYJLz0XfLB)Gu@f9wBrxL1$RqgCnL* zvtvYnPqE1AgwC8Sq=nQJXfRHhddJnFa1=`n47?79WND(x?{Q&~l4E10peWIfT&=d{ zQ+CPwAsMVnBhvOs`MefHV15cn;1z4&jByE-Q;T6t8b#U+iQ-Xb7V`SkRXG(_iZ}#4;k&pU=pMA97@pP{>aNF3n z-ZpMqZ`%m=+A;sL&-AWs$JX1aWBz8x)^X~#b(}i3y=@)aZrg5KCWWDm;lud#I0N`U zHmiT12K2ZNV|O**NQ5RasKlKSF@xg}pqvM!t0|)v+Prp=7Sm#X>9l@Ad$G;Cpor&?BsPZM3RLL|F8;WT= zwRz5H2|SvgV$0D@t2r$BGKT3xiT<-xoxa4@;sb7&UZ{EL8s{A_QN)G@ZsVXo|81?I zSqESL!E=B4fBf^?-tTaGXZzXu9rxY;83TdN-m?i&tr-6A&IEN z;82p!ks8=6f}N}#V{ui)r8Ivro|y?9u!WV;%C}WMHBmPkF(@gvp?n0Y^hsBaxS5k8 z5~jGCFs<(^3!Bs&6{Qlzn6W^2A~#5Kny9hM0X-5ng~;}Ud5YKyfTeF2ml-BEd-jDA z8`~r#Iys*pDnQ907A0~^e-OoMN`2sSqZABLGXV$Yp^hwN&*8v}dIps)1w(-;^7Vs^ zMd)D*JA%_itW^G_aL(F|&91i7!%rSxzj%7#jeGmviB9a+Xx61wPeX^%nu8h|XHxGt zZMPBfMPU5?sOIS@VDoqUZ;ij=-=X<;fPV*%pO@?~xyz&PE^)uYT8xQ1L&e&lHkANn zK$^ddX$J}wZw3tm&9;Wt*fws@+}u0c{&#=()~Ri&Scnl#FSA4qwvUNAs=CBh*nsx_ zy#h#0i;$5*<{wQcYR}dS+VKcABx@`?Pgn-C@G7eaIL+F8oQR@bmLHSFVJ?BmP(h4| zp{jziq?+iA%viF>>!2OtfEP8@C}^|&TZ|xxYvENzT}!aS43OzsqoUNl9MN!EY)}h( z-2Xl}oHz>qT1|R_GEk_98bJi(DaHXS7Fo%LU@C?n$vy!YL6Y#r8k~*zY9(QDQq^6S zsVbd&m-v9=&;{wqSS7W_(1RJ#+>{q}G~NjaW4TFq8Q-Q?Y7TFR>^v93+;;2+cx{llJw>@3)#CUTlq`l2uEo zGDb{#Q%M@fs#OcQO9q!9+#D!P?bbr<7#m|lYt4r77uWz?o!SlUXaD}4{w~{9yX&_( zW$Q&B3?h1p73gUR{-=-Zt+4+gbf4HFVKcx>)KJ;%q-dk7d@VGG)hHc2YiNj}<@KaW z_n-znk)Tyof}ysUS-Q$h*H;P&5MIM%3n+b@wNtN&w0Y2p+0zWJ9DIyQk+Vt(&7_Dh z%27*ss_(1_d{+ER3G|>Xfd*X3Jk&-l*TB}&N-thmxe@`85Z*b8YEk%R240}bd4!bU zn&ewh=TNd!2|TA5?^iy3Ihdzrgub=uEp&*T6EaiaKNJy|Y^jhvONz2_UB&e#HZgdK zBNmdtW-=wp!z5sx1#1nFU`G5K3S3_~{qdR^RMw!4%ho57x`^lP9TLX8z?Y)`B(kiM zeuu)#no$M;b!qE^Djv@KbRtUGA512WJr-!FW4_F>6Td-GcIozKqZ_7ZE2}YgsEH%< zu^-^BkjxPoTEGz1_aO@!>BF|Q_Shc$&4;gk`^oG3ZGU79*n5YufkU7P^c|frbb{7{ z#M5K_>#FXfrX5T78W6Bcv&h?-WqoNT%NSBNIZu8IIbgHQ@lZ@7hEE)P1%}> zH-#+zkvUa3T#%`~_p9?QR!Lqq>Ll+HY3z|W862$5xlp6chO!itl<~`H_0mNU$7zQ8l z9^<$Y$L&-dAdX$>U5>bt?8FLLr1am+E6e`efZ$7KfG?+jyp*<;}CY{ zz;(`FsYGVid8&&CIX5UangEB1-GMmdQNZ2zDwnJrOt99kD9laP$F)G3kBF}e@EH~o zvDh?qDsaT}3#YbLz1n#`>I|bkJY0&b;+Un2H+!jTVHyNnQ%`X|ruS2rQ;<=+3d0jo z7lk*!Tq>!Puln#`i156GItx+;za-Q`jo{)(KCI=a$DLReD`shtAq78I4n>f&N~|V8 z=F%18ZW$(2U}mb!LyCv|33=P1>KH>}2GodD)ms*ifvh2gyAVN8#akU>J@KsrLOiiU zvU|>aBe1vbTg97fs%WY^r^&%(jmTKem=fp%P-jXxdFAqq3#64v zwNXc0wjfeiNLyUl#nU9Oie?=dq!L!@GERkfj!-A9k;*>BLY=+eUSDkw|MB62pMSXB zhn>v8HkAEC(sSxK^dG_BT96Lu@-X5Mb)%$q#{FuIJGr4Ei+4c3S;0XfhLP_ZvM}w&sL(HxIFmgaAH*z zAU9GjFFZQyxPUQ{cCJ1Jv!=vRd09jYR!Sdz+k~{Zv2KAe@vh#5dU@4v2dPdaTIL|6 zpNn9#gRIl4rpQB9C}7iE%P3_P$h0IC3F-nrB0|kodUyGQqHnk?qFFbhv=MTJTcxAk zeak3T%MUp0XY-hT`f=85&c@r#3simhGSDhv^A%bOx zOt%MPNLPVEv&>Xw3^nU8L5ptrjnQJP{lWTGXJYd1nc?6$DV;hNmoKL&R{D4r{Kv2s zhBFYdm1G=lJZOj(8mmB89EPYESE}x34iS_03{Y5S&)U3~X)H^;UI=_$%wL)?Gj(sSznUFqqIgA}rwyu=sxPf+ z51a`mUyMx{n*EV4h!!0x$^a(SVuIqF?DE8&q6D_Nl(n^%8a>gix7Jc-Fq3JKz7IcP z%|q`jU@=v7@K@?VzoV2LeqT@i0-9kPgiByEv}RZRzxluZ`7_Tw`B^8PRW^;?}i%##^9y3+h6wJsb5Ny{igWac_l1YLr&=XY*mm|cUGNAyl< z_vZJNHV#BLElGD#cvb?LO3>4!x%hru?5$Hfr7e_adOW=?TCfE#(26nFh;p`uQc(10 z6g}ypD9u5CQ1P)gaa0W|Gfo*{p_(G2cXWU*TVZkfT2h*8Q20ziN_sY65TH1nMe`TP zBxi_>WPH1p*97X=k~OtfpK(`9Y%vBlM6q+aQbDdUdxJ5A>ot2se3Uh*Zy z+&k6b84?Pebwl9<6yQ%~QKUFfOnXq?I^)3LlGb=qDYXb}iK8bXn-W|{O)_wdDU0+1 z$I=$xjV%$T1N=)vdh3BLHfr|r^t&;6^d`aV6ZB#0Wp=KQQn74Rm!tq~Q$)lD;L=gXo3`t4b95vHryRmidA@giBdGOfsSh zd{+(z-o}Nn;Ig|@RpgEW74c_I-a>EVSvi9DEifGFk&kv!0!LwbjsD=>(K%fRRd&%YZCqX+{CY!N6oqFg#5Kgs#46qL1Z z1XyL!LI*coOwp*#zY=9*(u*<_sdp~=HG-x*5spHZk*@?as6|p38~MW^!$uGE(bUmw zZcWo~%)U%d7+B_Dt{L+0qA}6B#8J4!UcrXWA+y9~X8yJ9%*sN`48@3H?8)IR%jo4@#9r@3;aSDDm0v(Omrv7I- zeaB-wop>qo3GSz)`mTu2De_6$DXol9Gy{<9z$?Q`7B5c_Bx9y9r&N2Yfa2HvmisIB zp859o-t4w#q_FsilWmvWPedNnQvNg5I2Bcy$KWhsqu$jy1Im&&FH>!pm=YA}%Fo#X z57{1)tPGSaQ608RbBl@HQTui7vO4$Go~JCfNF5KkG{e^h1;sy<3%I75ui^!e63vS& zDYN9JXwg$RU@X2-X@q+v*%omX!*f=0Fh~Si3 z6_`TwIXVS}1$am0Dn;t6L+G-{8kK{=GIj|HkO&@Puv5&*8bCuish}D(}Vf=t}|`TPIujq7_iXX`uqd1`)oU_d*$TjfVDm!+`V zmn7hojb0{CVhIR3zD5|^1;%}92BI1z>hNZE>=L#x4`$x_&nGR01^}A1n2;D+Z}+dS z-~Z)@AO7vf_pWXjfch?U=8>J*Q3IrEWEmk5U=VXo(Whxf#+oA`0jVM^j46M$*FaUo zEUHj3jvy_-BHPf+#){67Zp2hHh)oMZEY(v7rAwF|dRyXS)iY2cQB-J^Vw@Q2LXgcm zX-eI5%m_gNr$=YrC$^UHSP{IMTZ)#w$i_h0DR}fpMDCg*Dvof@%>OcRTa{Gh+GOS` zXksR*Agq`)GakgHs$yhG^Ni+qIQ?vGuqW6OSEEK1Pe@PCJSk(zX>JsYSf%W{~)MMOa^T#q$A0hJd*btES0F8dI^n<*Aj8bl#^ zh=FpM6oZ-%Fw+1)f}LHI@k|vELkq-id++D-)^PjQ?SmhGa=kUQKH8(LS!*_%;jq@` z0Cxa}MZ)`UpSR*1S5`PF9Q_87uxO)>QpA)RbNEj>^-M?~pD*Pi9 zIH?{_PQT<6cTx@>RL*F~2qVtPR$q!PK$26b{Whqgl1p79`JOzmCn>R{MqR2xXm`kp zFYpNYw|_kp?m^arVd=ExsZd3mtA7O6SmQaV!+sM#hYUDkvS3FeUxtC^>}H)6t%G-O zwW(K*hmzI`mt1Elp|qEjHaL3ud~76Xr;iAXcCbz_50g)t?cZ zClrFHl`dKcLnBM_0)kae!m9fZrzv$NUdH=adO$q$sh4iP_r2HeTJL7vddey%pqR3< z9O~P;aV?cPFARG<(uj+76^Daju{IcabYyGltTr21>@`6iY%yu^J-T@eaD$Ede@vKL zGu&LC`lGwI{`x)p$WAwn-u`zLKVgQhb~`Lx-dvtC##vR3(CJWsTNC6!9L*Bh{Btm& zg#4AUaG8=7?3HK-xp;!2lLr>Rf%Hv*<0k?w1Yu6R4T{2&0+ac#urkeEC&NiFD2k@5q^ zWx9Zrc}iW!4X6}$B=4+(h=4HTI|!BoO1Yr6wTFEsj=tPy51-J-mx-lbRo zA@yomx}>kotZX3%gZUTx^cPH1+j;Liv1AK$(G_|f(C$%g!;*>*zPT8kloj{;II z)8?)qebEGZx^Xt}#`J%SwHG{S;whDbqVuw1$Lj3om$g-;Q^|VrvpPc|F|JYX#twG$ zZtUz|?6==}-)YKC9Qy&BoEGM-T|5(+ax#$wP^`MAWv zQv1S5V@rfaemxXC$;8D`CT5J!HQ%P0(jut&XeP0wk>YAK%BjdWQ5y=7lypt|!6Nlx zJ%A&oZPV=#(+`pO9-3?m%wLn*e7k5dCyWz`#oO60iSS(N zlT11klAfnI#y6?)x2SeO;uv+wr9GM>M~1supCy*qWW=c(G2#g$L6v8ag`8lTFP3I6 ztBqbLgIeki*C2%k09Z{HLx}2n|a0cyNRtf@3iCunb0{J&tJ83+R6$LX!lFh^>_&rP2Vr27qiVBe zwq0Gd4}bOXM?e1L=IUP0}39wB%l#T11cden`7qeAPd(!55d!A`sOuLJ=U8N z|K+)Y36CuOCRGDNSAI{)uypCDQ9txfe~|pOLeQl>Be`Puntg$6J&8eA9b96sWDa6; z8BpwO7)wPNOV_JdQ4Y!z&K!Xu(-bLi9bu5@%{CxjrPYw*m|Tp!&8P8asGU>DaSZh^06URn5a1%z-Mdn(mm; ze8xzx)cet8GI=zXm>MhqstTH9fhRJLi)8&_WzLmwX*b?4qan{wmi#ee$v5}0Mx?2W z*EVz?fNu>e?s!*zuKrKo z_ibyR|KjrxfAZ<|^#)k;w$BKFX>BCI*tXdq!Z{3Q*7~h^P(af&r&9!y%f}`ETTbgt z2O>S-%qUUGnas)}nT;-fpYg3C@-Z%sX_hm7Y~^vKjD1Y_t#{iy_D6Pp;&k(;fA+1r zyT@HqL@TrqHA*saE_3^lUUw2_KI6Fow%x)dc}GU~(sUtk5Pd(>AS>GSX<*WstiMB!RG%8F@P_E0on;x?3^ zU^15dcy?sufDprP*U!Bf2NSWk(RD?I>|{p)f6+HGHkuk`I~7VmneQ%sY!si{rH~v= za8XQkp;m)xyHNLC&a5>h4Vu3*EyEL)HvqrW9;cdBifV(XZy?n6p&Wvls#fy8lOPzN zob%*QrDNrM&z6yG^W`@;f3y*>2HVV<*@pSW!yLSIL$fRUSO4c9zV`Y{cjxmR&UYAa zfc-rGz3;vEG6J9))oWyLq-kct`&iqH7$r8o&gB@7Bb72;tgwO+uWf%x2}0O~T5VO# zyf2waHEXT4t!>+I0=KPg4O>IIzS^#dpZ<5he)RX}tDEb6-`Sb5f>H2|e|HRQ)R%}n zJzrBp-+d>P!=Cu0m^C1n(O{t%UdWxSrvVt%(K}6a0rp;4{cCEjm6RaE3IW9-iOQFh z13j$V@e~zxWNQ@P=rR=zXFrMp(xBrxfq|l+P^eJ05TIHCVae=8`#jKZ=o)Iv{^cAc zmM7NMD-^%eu;7H}rh!VJOSkBOodC}}u-gBImHM!1W+SQ!HHZh&TtEtA6z_;xy9*R z;D>lt>V82}dzdW^`(iSrVsh)y!_To{eM5nK*1O%-gHgJukACztBF7VzSs^^I2(y2W zwJ(vTK66hQl$GbIJg8zqQ%HlIPh0wbMIg&EF%!S+!BCmM@0E9U4d>W)@-%5APG+C? z$LHG@fB4+Z{kD(&yp{dDVLr7nn2UkSR0pYSVfNJIH$A-zZbz0JySWx3{YI)IPgXc` zK9I?zRgDkng32djI!ujH4jLxa=C~W1VKcZRzn#pUd+Mpb`Y%5_f6=!}<&;hZ~gSB9LCv z6bG7k+z}*%723?&WtU9BL$f^X6SB37U{p;NT$E7~wkyrz^hn3Tq66*>0xL=h4ypXu zMIc+uveQ`PtfK_8k_XAg1=qr|Y+vLuYJ;Fi;%x1f$5qtfCZG`q33OluSgpJn=PD#{ zV*Z~F>sB%zlAh-xpd2UFkK1n~sA^w#fsCm?SZx@}SA|9#xZc2Ou!1h45-V7IJQSV7 z*#FP=)Qi`zzW(ygzGLsu2|(}Okf_b)`4)Pz#^j8CK$Uap_A0b2b&hu2IIGA67iXVP zhmoyk$3m5vjDT5yjmFVb{}>u)4`^az&~9$7KKR||AN=&Q>(lkQ@1gn0?&G3J64#u1 zn#oJvpNj9*g7|P9)C^%P*|%DK9JEn_XJ9~6Qy6av_9OwrA=INN%|r-+)a}IohGKQl8t(bk>M(j{rIp~+2v)Q zi|&v0XM|G~M{V1xbD&y*DyQK~7xnU|83FIDq702OYhfev5Z1P&rn8K>R*k#P1XyF_7cJqctfh`i z5{AD%2VqlFR46rrBF7NJ2Rz$+XP$T4AMx(hr=I`T_g}w#{J3!9HH=8iT_$E1v(>ap zEIP0QA4+gYS+U6aacn+`h7i>ueUxMRYCg>ThcyQaB1}*T2)h-EyYx^QBt&jg!Ofb#9XDimnw@ib!oX+!vV}tQ>3ostJ~|Nn zS(5&!lMC6(Dr!(hwW1wndCLhd%-<<>4K#i$n#CT3B!_oZS;}_>$ydMj;?pnOzw7&s zflcOa{cPNGT)1}qS>0kPRABXx%FH^an#N)sVEQ*H`KS^ImU<#-)51TqrF#`j6sR%7 z!9WV)k~7lu01qN4aM~L0`tSexU3?6jVC+4V4xJ*)SVBo?(cq8!KbK1%RlA86IR;JK zK9gaOa_89bSj|-G%Z46c7~d06v}U9d8DmVBRA1K-EQW1UlzS0i#xyh+mOz;+zBnIm zj}%1;2~w6mD}D!*gx*M9m+ma%lBEVAzJ%hOlE|7BRTzDAj94A7(ZVA_|3MU1I!IMG zF+&WMSfE(jOe*2hL6P!HG>k0npwc;JlB6zmReS)4QaPun2P)}-?l=N_lww?_1(e=6 zs!w{sA~02CmYR?tQY|@Ij>(UG#RZF!d6)V$>U^2%He_^I^LDPJ(rAdY^f4Hr)axCd zPfnVQiT5XwlM;BJjCWL{LG_kxx`IkqAWbKM-hSPJ`kX&Wmt2{H2-Cl)saga z3GEPbR=#ZU2TPoUY^!zSb*lsh3#jklZoD(%WPkCe-?ppi60RU1=>V;1Q<-ZJFes+% zO;IdL^3$F-lSe1Imo86n*1WqQZVA_B_LDu>z-?p|1jVHp!v@am&up&#sheC>y?G;3#` zcbjG))fM)MATnL2q!mFsFg%qxU`cTLlAaw`^yeB2pwaMFA&&_M$T~i{v<168?(8O7 zsusZj7Aybg_R#F!)#>BkfBycDKfbc7&TgJQV?9Z;bG96Yl1^c7u}-i|!9EcFW*}ft z=KEY4E!s9@#k=GTI>|zs5rEq9g@`LrwZdiT%UQBCOj8)+8-JZ$=O&ytxz=(;CSLj% z8aJi5@PqNGEXhSD$TZC%h$KOi&@ZP*Ow^ZGrGJw=A_=;M>&jy`q7nT&eH1LXZ?tswM9K1C^w3Uq{>BRsZ7#LA^=(1 zB6bs(OqDEw8WB)p$q!HoHMX1vyTe>7lr|6AL}?l6gP-fCz8g^^$uacj9+u=au_rMUoIc%lE54L4IFC@Vae)t`MZ z7poW8G+~V%kVXdS+xl)iPg<(o+Wy_wzxLwm&z$!it*M|u@N+D`k23i!WuuIH%Qum> z7VMIa5=s%ZvVbCzA2JO?+{D?E$VQ4TxW-_$v)J8AuU#C#zE!FOz@(9j;_v~q2alZN zv7r2N{-EzPT4a^P7q0{%r>uB~g|u|3U04JtKuwNh9sp`IXl_<9un(Llb*|ygX)3Hv zj*V2fqkxee)g$9ho+%0BCw3NALwVmKgRuxdjh)vXufy7g<+?5ubHI}a1<2+vq)kDgk7EqzH5~o z@s9{`nQKlH_xMx`BEHm`jh@dWe>MkzwyW0I`Mdw{-tF)9ZEG|7tQ)%f7GmTnqW@Xp z_M}-ep~*-qjqn<3h;PX9x@-!%FJxaqo5$(0RlL9N763INRjh!~%!czeGR;&6kePvD zB0@!uGL&bdPR(R7EYZ|q!>l&VnbC?E-9`dInJZ|z2MWf4rryY@sH5siMaBr}u60V} zcZPvOla-V0rR+tGGZi7}5%{CeOww2Uutb0H61E;_2x2MFeMS`4*XZH1{xI{bJ8dL~ z7FkGT#)2h@J3)omT=YZgP>f!9TnJXRFG^yZ$8c0HDDX1|JK^pCi$m% zN#vm$9JaurEpAH437S(u3dr_0<{rJIKIcrclT{ZqvyI0)one!rqwPBLFs@0`at6r1 z;9r*4X!p#YZoQ-Lc7D{)&p!Xu_kQ&CJKhf8AR3bUIT)Y~8V-PiJ<|^fq=a>?u3!lH zDxs<*Scq28C?xgt39Xpaq_b>Edl4H`&>?i^{0L=8z=LpK@>Ho>cuM&L4KDQ5S;;^z zL{|r3F&zagW&mvyE~cxwrb=Tg&=!mnDKj=iqgNm~HWh}Gm5MJ!&FsrmMWw5~%3TD- zCh)N@piM4GcTN z*n)cz6w$=GH7{pBWY&#&O|C__V3R;m0f)Fd9yz9t;SBtKL=N&#Y#_#hp^*(B3d zfER{9!Yc4JJcsotG3Zvzz~YLD8=)a_lhI&@&ii18k~Z#|NE|Scs~7SdMdh4j==_Pe zl!1rUPI<7yFD{Xg_bf46DDC-NfW;^btb?|Y59Guq9orS;vtY4{cwEP=8dQ%`d0Z$T`hh7Cbv2rc2*JdTrHm39G^*JSv56KOsssTcmBxYv(Xc65sUyk` zE7#0YG+QLT$#KtHxoS3YVn;!Fs;e$wT`>}&i`!#KG7&kNhHUMa?p=RjTCU+K6)T+)jlaRXST^M**Tw$?M&?E&-2zv?! z>LP*asp}DNpYl@6O5@8}pXZQK{c|1w*mv|>+i}8ozwxzpMU_U zwJp%)!%z&DLUZ!(R6K+vI@Rh4Dj`4$)N3~?l^P+lk!o(i8HjpAY!7u13)8mBVqfCg z4$A|H9X2l3k&s4wLM6-bys^R$fg^vtm-Y1nrD}VUVVF|&3!%b_9zO;E*h)|>`n*i(gWL7336QJV_Qd}6fBuzy2Vv*Y zJ+WDi4~Uv-cPjXA9V}}ZxDbO@|L|dHVm5Q(V+=)?gNxTtDlsUCrPRPEr6Qt4!tCIT z6JcB9s!!HVIKA_C?>~O)(doMFJS!FzBDPGRHOgS!77o|Cz7_s8BsVi#60Qj=U!1@_ zi_xd(^d)~fkDmxZMVvAv>lSWjtP1h)6H*+Ms!$Tud?kyCBnlDNn_(D9c19k=Sz_#TQ8EPgGvdE?~X^abWqDpZR zKE^77D>MPY3g`SN1fHlZlSBZ?C!}Q+7Zu-Pm_=3~(VC5}H$?uLA=Z|Pe69GkJP3IR zP>(VNrmJF7E2XnaQ)awcAihNqmF060xVo*tG7wu17%Lo`N0*aCN2V<$c!AQY&qE=Y zr_jQWHesJrMB^EN7v2{!udf~mD+yA5x~ooJQ)%lt2_ol=I?XhjD(JIQAQBP6Zw#D|IPc@d9`hu zZIBe724#&!?U#uWvN}jJ6ScEdQ5SJRz@<-CG*iY)p7%9Fuyo&w`l{w9X%2wv4~^uR zeV0M=$of3ne#ZH1kKcU##b;l**E)29gKEb-O46I@B{;+pZBcEOevLZWAwnJ?W*BuySfn{QeO^FeR4HJY z&`Q^tD-ScrQ#k=gE%j?ab5=0OF?@P{n$>e%;0slMA1Q7eIYgl$R@7+0kC&64$V6!x ztC=!zSc0z93#E!%&vWzhv4kV4>sSqqrIY2`5@Iqt;dcxie{Qu|5P7KTU14@r=y<4c`>& zQnobL4q1)IKdnt~JA50_Q)&MqyF0lVS`yOI?}D$^I<=r$f*Iq>D%%@?LDndgdPq{A}lM9%e@T9 zkwEgfs*}BX;Y__as1oyXlqiz{NYaiK79y+OEW~Q+Ba1bNED4KNXb8edaEL85xIXQ? zg`}mN6>xC`1Dc=_C(^)iL#|Zsb?IJ2wxxW?j6{pBZ>e8HnHTC2WSX?}- z3$sIvo8qCSrW8Y~UCP}S*O7H06j}@7yD{IOhBxQXvFqdSjRl$+y7kj`{r=BB{^XAj z?_X`LrQ z{6*2IVI>0AL34btnk{|w0H^vqTwHq?btS0L@PL)r zJjRl$o%+(e1(x8eL;JBXGV^0iwzoPYoMJXS1J;0ZKY#U4UU}l?{%(E8?#iEmOrwDR zS&dzxxYK#u`ap3_wrBOeXEe;(Nl?=`@K4RJBwAt#mDRF9b&8r5&@gOY4QOqGkkJeq z@Q1&D_w!#pJl&l3UEEiFXvL)r?Z+my&LHFyl!&H<8b(ybEu=#gZ!~i=Q8^0oNJx~n z+0q_GMITVV(5r%M-AKPe(~`o94IaWJ;!tvCL(@u4&#UM7OAP0cp!1vmjRko}|5He2oN_NEKx$ zL*iwb2U$$pwmhRqK#HO)G#MC$*}VGe{wk`Qv_@5__0_b;h! z*Fss3$rY$^XyFTl=>j$-RJmN`wkDf3OLkxVyW`K?4cvF@eIP+SA$TXRdHVjJd~-Y1 zW_AX|FVRdwHj#)3y);KjVWtrx17oq$Z^b5zLmo(R8Ix*u@)QBO35_KhJ>vkyKVUd; zh#8L#?Lr<&3J8%~N~(Z2#PFU`H7M4>$b|`+i*Rmy4liL4RW4a$5iJaYj{fDoao0o}0FI4&)!0^Eqp-XsFJ$vn5U7M^LF zabIm~t(~@+0lxw5-u3D3gS(&p>tFK^{pzaqeIFW2&|GY3prJz(zRZA*X;iLwHxa5L zvlT)krn|l$nKhs!bZl~jKqtVG{0RuX%xA-V#;ZSHIrLe zi~xl*VJp=^`!YW8YYTTk&vc9lysoPnX5u*SqWHjkn>pO+i|Lr;!`d9FUuUadQuBmAabH&iL`7^KQ)u_OP@2zSZ+2 z!Aupr=pQVxinYI`;@*|-Zc1lf7ORSyomEK-%Yo|PZ8;iKAy-A8oM^In$Fz3DW z@(2h3ISVd0(8A_I+`3E(d`4@`>XJf^qwMIp=+44xfu%yJjivpNy&)7N9vVuVk(R>- zg1HG%;22J?*DP2In3{}LqVu(YJ?Z5tBx^GJ;&ozLb&X;yBjkbbTh_;>Fy*AiXe+{x zr$Rjs+>nR?qP7SW28}ZGkr5MwE*m=nxn5kFbtsR!nBH7bQq(Nsw=xyNR$p=Otu z$N=o;=`KAcfE{9Yf?~5egDasglwzIGHr9f~VVUEXhFA4b zV6|F{2qPIm;Z!jZw`32yK;6Q$aPem`p(fz~rW6~pwZx4%|4ueX)vZJ!UOCl72bIMM zoFiiy3u}Uhh3TF74k{`q$tSwdS=eH9kb>@VGUB9T=eZG=z=T&Qee@(v7$7f z0HqLkhfj%l1eutPg^M7iV%U*Gd|RreOe;f8eiQ13HUrhmEwh;UZYQpZYDvtUsYoV6 zB<=TMZQG|q)v7ftfB~7CR*HY$#9eG-8kus48%g|}0x?zl;<8I|6wCwwLr|Ne!W>rY z)4l7*@9b~?-2{5`u_8rEfAkZoOUOickeozmOcN!tnHtsM-2`Jz9+cVB60oYrSmhzW zbiR{f)xvEttRKG~j*JJ}Wa-ai36NWa&C$RTK_2BoKpo#g$&5Kv8A+@&fzfnPK$<0*(N+NwWB-xE+=)DV(gh^=C-o95s6^}X$? zKkC2#Pw%xyux69{llu*@x@e*oEtYhmsG%joUX4Hk$3pu3QaQAUPP~aPSg;z?M*yqR zk9CT7Aumz7Zd}jBNX?~A0<&O;RXM)IbW_%*vQ#c}L`Um-FU9LfET17P37fau2yBM@M$y?c~=(^J> z*!S8x7n8@D!e%_$?NpYxEb3fb?5v~ca#oRYwkIcaUJ)9222X5%`loN&=8_d^CLuys zx%3B@S%)nAK)J0hgxI21@>!YDmK9n{XUK9Vj~-Otm+`)e6tL`7MVA;7H;X9XCD$>A z(UyFLT*gfX>sBw3S)H*)K(CefLhW^CQCghASSbE$TJ}GY0)UG}b?y>P9VBW_Om?C{ z`~^Zo3m+sjV@pILC~(UFn#RpuNu^wr`rbqkn>>nNG*ZzMr(FxU=w;9egF+}@8+bY2 zXCk0Ypvhu0iPA6=6A5j=QbzVHa*If|V?7IN?4fdJ)E#n=OiIMy;Sdc50*GeY{r1go zex+?-&pyMD1D+!XfEfYCW8=TLe=qQ_Sk#9s=5oKCct{X0C`r|>iNUIh#DuW5u0s$n z9E{c)qp!2IX#bRR+njrDR`Jj@=(NC^_IiY356JAUm zOu6#G(iY2i)CUkwfWlHJJ#1F_K+w>274~04G>_hop~8;_Pruxyu>(lUpT*2yD5J21 zl~W55mOL<1LOd5D8*;ehQK=;XY3f7bq|5lBDAtsmx5W%ql?D(A9&+=t%6jzaxGs-# zS@X0PC{42Jkg=#Y^A1%CGIY?F+(y>XGKGk#LfPvj(6G{Mpx~+403it=(AKjFWM3kPDBg|vcRQ^^ zkd*_WjDFs?tJ5cMeevEeKWf{?X!$p=xg5&O)qTp0GgGcqPNoI9i8cPL_)e`*GFV_6 z1vz_|P%h87{AW!Ti?^!X*6u%gnEiIr@!#ByJN6C|{G#vQ`{rxUymGJK-YssgD5lo> z9mQ%bSh}*e!9RDDdfNNz!{1gh?9iSDwD zxg!lbL`j|WA++*SFROS4|5g|5#Ec|=;c$N$-`pMMiY zJ!UFah6LcSM7SYr0GeuvlI2*#qrD30605F-u{K3SSY(l)qAhvBlcq8e%XlQWz<~G| znorC_%`cr(#&NK%ffr)!2U9XE%BbR~iIsq{A>g-&WB ztyKSnxWTeRN3&rQg6wQ*HE0=5C7*r~r9?XibtIS97zng-%A(N*x5!WjPX}WPwKdeN zG*w%(DnCMcPAG#Z15@#O@Q?yB(UQ6^p4W6gxKqS$L5<8t7V)9NH?=9ty-m)WGugYS zwz4vc5cZWkhFQnnpr#jQ`lO+-S1j|#B(!m*p}CQ9b) z>~!QK!%F$B%$iFSNT_A;;%L@N_)ZR9v}@_zVy;iRX++s!^jZ!E7}bGcdZ5QItbus` z`rfZU0AoO$zk2Zdzkm0%U9-lGdm|6)>W4DT)n^vVaKt;csGlK37z*ftHSR4olqVyA z*Hd>+5makhm+Uzdv`{9GS~a|RkFKfSK0ncBEvzsAT8I+W6*In7lfemf%d9g%W-+Xp zYU@zRsmfSw=qcO7QA(qOZsF8JVXSQ(5WtFFlEwqQG7qzi$TF5mX9eKvTSoyOti}=n zWQpN$F-U}g7UjDfM^foWfx9p>^wCgA7AalGgt_T5tkZ239j!?M%45`ou%bgl(J&EJ z#H4QbOoO+BDSLc_R`UdObN7{R3^8AMNJ`)3ka+{ z&zdI+De(}pW9>#T;$FqXk=0PaB3+Q)=+q*$&e_5dEo9NfKm=31+(Nu&G^k@q{Ngn~ zM7J1bu$P>*XvT4*i;GhrG=hP*fYei#YoFpo(AtIWS>{3}a~=!$nQ6GnSHbFVqbwOJ z2nkpcBP~SF5BRP%+LyT8R|^XK7J<5UQckWI%vgVZqb0>9cS5{HUA z%;6a#mP>p58OLi@fzMTci!NM#aN6B zNR$40r_AR zft*roi=l*AH4RFD7K3~}_MmD3SmgdSIuVyFUZRmL?l3_&K*mCLjw~#>lg4Q5~Kv&5oo|P;q#L z0P39|jFo;fT%*1H)Av9B-T8ENn%jb*!hEVXCZpiyYw)qN62X)_wnVqOe}#ri51d}R zslk*RA;jjF`_EiV+bm>RkL)l(V|nh6SN!fo#4*^piFz><*!l%bZ)=@D9@S$ef&{uF zKxyjL&P5hQrFT`tO;IF;!9&-(Q|~$#p+%HWhzT1rLx8L-Lr7%;Z(N4X3YvUQ%}Fc^ zpxDkTn8HI78pP77&?S>uUus*InK?8fSRUq{Z^^q{Y5>p^xDfhFq)Nz>7GP&B)8?#5 z(riPfmvo-;aixm4E!&CYK#NHgf5ifOZ9x-s7Wvtj4uO zMCQabS|XB#Zc`SS0;g09^^AU8c9^Io(AJD=xxwXhw6Za3C$!4yxgb}V>mnDz1VqJ0 zD-i}Jp)9aPjk?tS5q*Us`RB1359Zfu)fB|Sp@?tlMqS!=TAlmDYx zT!+s6VjgAPXC%*kMI2;eksaqVk;iiZ=DZwpX%~9PC8|9Ig@{R_x8FFUzos54>i>5C z>gw+E{oTKP(7tGZvG?HW`woO6j%P8(&574;UQjC4-~vX;#{lYgQBruBmqxonX2M{R z{O0AC0a>O1c?F0n88SsHAlqc1jKwNuz%eZf5|UD?_gLE+u(llPBdx>Ae2|gqV0dRb zGG9lBCvYw4i;xFA(CecWOehOYKyxS<&Urqjh!wQj3&oOgalFk9wwd73e0%I7U0M3; z3uHMoQS>0iLK#Z$^@RR9lq9t!5J{!*nG!E=M(guj3Q?$3Y_+c+JTzX!u8~TX%so)w zl+{&K60KD(z5p#cBi$gTJ!Am_H-yI{RNhHX3zs}iWA;XELXJ-(;{Y(ghCR#5ik+^& z7NmV3edG%Q-y@=Q1lq^hz122+Z7o1xKH9gk#0_dP7o`n3es1rm0n?dz0dHg?i+<&5 zmDtfNO{-En&p$HZ?4_@lGG$V5t6H$HCgUY19#&736m53_q4n5swSf( zkigU#19f{8r?!61$(MI+Y}_aP5cjG7KT?^av(tmzU}jxL5##mr;J(o`&VV}SDOk7E z%_!ThN?SzG?VDWWxnwLf%@tUnQkB_za;gEAxp(=53uS=G+Mz{(dS0@ms9qSkb zR2p3{BO3?)Ig_BYRFYxA&DH6{Uw`t+uO6OGrycvey*oqZWsy2L+Dcl*P%6I+nxvjk zJPx-IaXFQvF^2Lk>4XJlBfrgMq7^4lp6^+Fg3-5|w|j#AC`e_NGLjH=VE`CqI9&)>7#5={by%*PF{Pa$0DqQ5T*VVS_ zQ$uqbM}cAAjIkoxSU9^xtx@1D4XDq@{6#~}rY-Vnvz3HstH={V$IzXqObA>EB|3#{ z-qazgM9U>7w}#tfT4h?&BZDq8%P3kUvgCagL7E>;y4=GkkP|-*Als>|lMm|TC+Iv% zKD9-WFmKKd6Cxs(i%r%5`k8jztIA0VWA0CVrU$XQ6@ZAjG(k2xeur&N2^R9qQ_Ejh9qJs~flk1eY+L@jXV- z?-HPWw|&QcXZv>3zW?plcl3~>6u3}OL4*F*+(ur1gtGjZ2%YjF>HsY+2+C9>%a8Cw z(J2nfh>IgPy*v!w0aV2&KeW!U96rHjX&BJt;@Pi=s!zO~No>3zZVlSvTsz3=6g<;3l&#_p)9zK_QYoyLxJ{JEw^X1m>>!C? zgtRA>?}7ZGDLkb-;bv+&6g@K3k1sGIFUgLWC3>TJ7)-h zF=K$cplv#X3N)?T3zRvV{oxGO=1BObsJw_pR}>=275pV1Q#NsjdwOBNM#j|001PBL zfYutC1^bbDC$|JllM%ZiYkEX^BFx@Igkzea4b-A{ zAzlYXI_Z^TtUBYIY9?cu0>+F$Z8{mYS7!_q52i?Q7!n|9SLk03PGzu<F1ZaahH3s(*%nOM-?RqP*@IbjjLM_D{0h)L=J*J#NKklfp-;8l7D7KIEg zyUhve^lu}Mz?BjiQv_7~Pk9pZ-pFb+5GPqTsW7L4U#!ZheY_CN{sOd*RWk?$tn#(0 zCx$4Yd?Ik{qvYp~3TgW`RtXe}D9fJtO%M^&2EhYSEXtaP;@QuYL zJ$Lk+iDpl(3x~S9u9G5+-Tn7Fxf7e=*53Zl@14Ks*X`8UrgLoU8x7kGlMIrIRe7jp z+LSXOB9JzB0Ew04r85ARQ%?RXOaGqhh4Z^Libf#Da)K^uib?M1Q3iDO&i%~&Z2P&L z&#j-WfA7t&Uq5@b?>nbkMyw2(_3H2)DL;a4Ebh&0J&4&ibRUf}DT?NlViq9}N~TFh z$Q?1}dm*}TVnv8DQ84A<0p^qh(91S4g@qWKh|khHiY36C(<3j^T4vIxL>(g+c3XTI z8nQu&ZiaaKiU^Qp9KaH%$y9PwZBg=obq}CpKrgxjS;e6R-?VCbiz)^e+6%_D3#KH2 zsPv&?ckS(?(oY~7Y2W>2r7NEPd?E?eFr%DvT#8Br2K3?_rC6&oIV_NaR*rHDl89Bq z(Z9qwtqnhAkeJd)a`1){d)J@`iT0Ge`u*o0pYQx>58b~nA~Hi{$G$iv`rg z`i1Uyw2!QVrd4ic#ST`jclkv5YJ!MtD&8JT?7sv*5Lc(`kAC;bgTMXgs%^XNanP#_ ze_VRuSS(lCHkXRL>fR*Lfh?=gLggcUAlIcxryZTpC=6;AKbQ>UfmKD7qD_{lM6sLG zYG2rnKIWr{Rq^h$HDo)Ng;t4Kv=zmW#C;VFNd{IlF^3SeEP)!6*9(LpRlMH(MTz_s ztT}5_Z}niSr@Die?7i#t>BZxOgNy5khDe4YN*)t{a5tGVpOMbDd0%&_@NlaEs~_UCOj2FX15mIsEO5ZV#@eVJZ9% zJl8r&uwt0%v;98}!QJ|9`z`NYeDRqVUwiu8@4`=8^x^SOE4k4y^aG~8_pH5h#D`Lpo}Xo zJ%3@S#3(tAj$Iux1xQoO24b062Sci5pPxX}iIK-mGSelhse_h;V8r2DQ{DZyi^_si zrKXF$dN?CpLEQ)%NmV1s zQv6X{lsszSGa)OnIB}GZ=GQ7FY_+afKmhYz3?7=d0GlLar%<}h;P__SX6+Au|K6jw zAGfQvyO7`32FxhNr$7vxy=E3wbGE2-?xT6uIv>w5etgIc2`2XjNj%Oa42LPfN6Mg! zK8}&gk!o6F0dI#OnO0{vC~%4_J)k$FBu~x82NGfC&0kOze{;7LXK0|w8Bz$HkVL{7 zO+#nB|5yvc?!ufA+#sS@=ZMEE2p18C`)94-1$3jIB$sFL-ZvXBT&tlFbvAPLHzV$Wh%FD zIWEakr*fxB%Wb1JBvnJtLLw3_Rw`WUNz;S!>1r=#qid3FA31K2UX!1mrYJbHhB=O^#7_tqpzK8Bqw=Fc)TvwHSI=DH(0CK0hvI|~{~ zXVp=^^i`MTP6by|R%Wqt$O7bwoG)S?n&lk84Z+>|ZQt+TKYi`%FZa!Tz)g4?mrudr zevZtL81{*r-KtAl1wulj%q*_M8C0DONSOfDNgzOK!G%Ev(J~P2rpICGxJF#c{*cNg z4mRuDPAGnqBvcewWR9-^U!)g?O@#nyuzNJdQG|9ilH9=D=PEeMlb_gwfieE574IR6 zms@=nm%IT*=C4$0l?6(|Pv$CKioZpXYTD9TPAOYSQPef3oXSepZ_OD{vrX5OZUVI%!~_`mWQ^p41i+3X^SI%6`5y3!i8nAJ{*@CrVuB$7W)N{ zmsy@u)p>o|&JS$a$-4;rismMy z{~1={cR>r)OYP{=95Wcjg!rD8<^o*Lgan@&YLKN4^-xnhml1ol0jym(s(Xf|EL*2= zVxRy^$b%>gvVlw#s%Zw%OYSdhf$l=jXJS3eOA#USlN8OW+*8;;i`5d#G-FYIYKDLb zch6EY&jZTLl<9zC4u+U>och87E$vQl?z$;YjS*7p8z*DhZgEJsV*B8ypML(%qkGp| zv$i352B+3qzzH(2bzxx+$GS{Vph;>unOp;)C0Js9Lu;9uT?-Zv^w{)pa=GLgILy{aRNh$Sj?;xnfI@cV>-U z2$2qBg$xj?7gQpsZOsLS6?e|8A5Iq^$x7B?F;O+xl0ZfiZK3J_dXis*#*70^0MQl~ zzhXvuMsQ_{DA16p!ZOFC*oqN8kesVW2y5hWMa80_H3pSxmYgz+Mw{MtZc-#`u^z(f zD&BGlhVvodoiPR31sN8FzpH%)1_qv)TR(Stj%2VKd*es1ow@gB`zZQZ{?VRSkHL!g zbjUgoF!^1pGEEZ|QRw+1mRq=(S_Vs;B8t;rexW)ohM!E&R}mB3P;I|964Dx4Ya7^Z zw(afTKKS$(pWSRXz3)RU>dr8;4mZG!Lwe5IDOGT&VO=`xM_ewk&Iyafayl?m_I%zP zg>M*VPq(vZ{4GgC3vD%ogedfilrCgH#zXN$A(VIYvO3Ar>(eVUovIy=WwL*_Ea)S2 zG>#jglx`YkSd)M)RP6NhG#hX?hVRQOpbR~w_Oc;>l`#1F-}EB~yCiS0=g%GHT=p*F z6BZ+K#D1m0`slEv=rJTA3FVZA5dY_iBtE4om9-oTxr_=7gGI7Q5Mm6f2Z1v*&1Nd2 z7!Lv#Iz1cn4aLAG+Ms35D>~i0t~9TY^H9K|xmSZx=Hj3(uFB1-Objsa0oqkgOd z3qC((LypGbysn{tn>R@8R~|aefPqprDwY&y)RCfgSmSd>lW9Cu3G4$AAEvYnS@k_z zVx&>JzP^m*h5%^Z6Uq;ruodLluEQGH$1*er?S>v|6*KFtU*BAP@z(7-KY8$-uf8!1 zz-_!G!a7<*_duA&=`Vc-OCkPW1Z6(OT~xK2@!p4?zyDta60(A zE&c$-bnQr;+3z1$qFdh$yY)tN0u|SxVFtoyNO~MyIyG=!raN4-&M3jC<*02m*v|gM%TK)g)#q>ROxW-M z%wvG6douJ!UEA7h01JzNJhmkY=||Z|0;e3cl{);6PJp^lE@qNUL)F~7M1PiC#5S{B zU^CANTWjsy-}~|V_C@0cUeLJpFb&ZO7K{U;!w1Oa!yJc)K6ukfHx9UcZP!=|b?UXN zEMPEKm1Sj!98LX0G3)!9*{eO*RK^X-L8spNhcp1AB6lLW47k7|p9h5_IV2y^&N9tD zK&|Jty1+s-Q)IjBrmz}oaxn?*u&;t$eaZk@OdFPoG%aP?UB=RKdv^vq^0M6C z%5=+5Ud!3Q1o9lwa!SvQ=cQX!d#;&^at5jKGN{V0VvL{>tNURU6NK4VBW{wdQuv-$ z6f07J=KdS-hR($*STLim-N86$1s+eSypy}ZYCDrYs4o`HOy$11=Sc@q9mGWl#B_XN z!~)RR&Up8ypFIBL?sRG(n$7U*+0kyEIy(6(hAmR+SF8$Z{_cgmFJ7w2qGNtA&Lt>F z_X^Th3cYInOC(U0td7TYwJYes}4nE@f<>#MywJ#9y*FN`bWGTbGj}bqXR}`6Zkdmv5{kON`_aGaH~GF%FY;$5OpRXlshz zpx&m-ogS>UoS<1T_$RQ22951pw5HTiWUzOlxhX=L%yLvX)ItiA%F#ST1d*s(lMf)# z5V`AUrZ1{gcFARs?Ji7=mT`3xu!9nJCkbarxrFJvwHkD{kcH+C+R2x{_58j2*E@Hz z&+so!!QW_b_lgy^LK09tKQ5&XQciLtzf>HkJ5`w-=n@X0fuML`?chZ=wTN1zI4=J+ z48ScC;_sif&p-U)!OuRt;t8#QuOm$cy*PRaPqdK2ef(Zq*b0$HlLdH*YOS70=s=tr zuAvYlrKy>;92PC6J|0l@FRa9n)Z9-!{;ZyJ-`->-BxeiBZ(NE{WJKt^gK|1GyFNP6 zqG*IZY>sQvdpEmy(c>v&wBm=D7^Y!z zl5?4{&Jg9|=wtcLX`XdZluo7NBZ;?h`VvSPV|J9^<{+>bpYUGX45}xYHNg_wQe^xn zp2an+{os7`YyvxYBTE#T4&0B&xeP-@oe~H)fM4QFMhRIpas0;k#XDiVSkd?Vl_Hrh24UchL2?)d(kPO|WVoFXGn&s@BhMbX|B22~|bhg(g^OOD#fo7Eg?2% zA|A~x2^EC_U8|S8lDggnuBRMlQudSL(bT`8!Y`N!cwnJlq}D%MXhji*at}+Rt@QqZ zONL5vDI3ycDFQH+APOS01})FST|8JiD+$v~HNNxWIYUJ_`s^Anc+)MFKU6)^(SMe1 zri3ZUp%)n~>KnXP0K`BEdrPb?m2=fhW?S^0Z!3#JwBSr==XFqf%0rQYQNB&ced0Pn%<<;aI*S9QF zQA0# zey@qBX+123VU3_$TpHQmbSJS=o#z73eU4KwdWQ#9El!74i|{3(0fvxK4w8qP4Y`oP z;35Q4C-3?VfdkZ}o&($_4{GV9*&5=CXEMu7&o0nK1JZh7=FF&1J>)kqvdbcE)MV*V z8_a{DMlI3GSzF6Im1)LwCMEybUWsY2w$YCa28R=nGPUv#agLW$9%7X# zXUlRsE&Y+$m@$oE<=WFs4(83WI@#j3@3e;f)ANIW_^5H)w!w?G2064sQYI^hqJE4; zKdI5^dLUIsGHI6^w=8D+rLM^AUM5EL!iTG;1zUTxZ}-RF`0iJ) z?=@;2UMN6y#sD=u>ycNE9Ab!rEV`iSDs59sSzrkf6HTFoiYB^Z$e=*95=p+a5+#LU zq3R*qTy_YaDZs{%du7uf%SxXPzoui4l4e;(pm5AU90+hxoo`2bUbU+Um4~Pa@{`S= zUtFv$>7mRfk-D4Xl&cyTOvqLY`9qljWq!dNuAudhOQ^6gd1l68#U_hO2~PA^To-48 z_dJ^sK_R!?EpyS5^g~s>Pvx~3vAwrTD}hVNq;+F$p&v7jbSPHOjDLXga}g0na0o5J zuk7F5Sp#e?78xN;Fax^nPriEpwKrZSdI!7h!~SdL^v_^|`u5vcc_5E-)Empykat&l&QJN|LCABSV5v;@-fdiv(=IYKAgs zb-I+sffc7E{;~XpEQm-Ofxbr`jvMnX58*I8UHN24gPbIH0^ho^v_X5BZTU z9K>NnYR=`(ca04HNYIsK2nI7kY^JxxI*I%WL?Mj|I7$C6)p#UL7s*wkr)z{8AxH_4 z109)t%5jT5OVH1OUYWB3CVNBa5^C9~eEXFD%0^S%hddHVX|`Y|)KwoRW9bqf`ir5e zPj!V$voev|MN`qO^e7aF6#?;iK`iVMC8QuFv3=2MMlDk&6Dw6T(IBfBr4_oez+@4f zJ~k|f20~r0al1%w)_Uuko!6f4GeQ#)4*6Tlv$(AXZ;#9@uC?!4k0> z5A+Y&Rs>I&&78JMEH2YP?a(YfG`ed#GY+y;NHDt>={fDCTFfu`Wfn~ElDbx#)Ih}x zK}lQ`o-bvtHFSPi;v^hq)dI}h12AMNqMs||$j6nN3|#21CJkNB%GAFX+|U$aE$7A9 z%=`*=>o0!&+568tv6DOY9X(>esoj%xWC*LF0J4>4+w3q}Tt6{bozzK(Mtjr>F`@+h zHc@(MXlvQ}(hHo#r3Tx^Q`DMBfi@$a-0pqy_Gcgc=CiAI<>iTT#Jp0E>VPg3rw;@p zRgTK`!a>MeMxUDh3CWhrC#9Z?pl0~Oi%P%?QRe%H=dDP4<5raRykePHK2jFhf1U3^ zh3sKD(5`v;NKp7CrUuR^ov_LSs@g)lU4>?Z=oN$;$WIuITo6CTfpH+u)A;hkQk+!I zsVjnAZ@hfop>6rY8dA#3SKxwa@|9FGnDOTfMj~fY(~go7E#F{dYGxo1RSV+ z2T639x>|7%)U|j~pveTF{v?4S7JyVm+E>vI(mH`i^{nEKEG1)sclTZ?O&H}YE|oPG zev8Xe=Mx6eHD()i-uR*5k=9a@;$~k|&~U>I6b2?Ft)k-jOZI%>K$bQYD426XUu4{HhcA(FP`pi-AD|hPv3j*OZaHj?&p%Z@`EKS^dLf^0CM9i z`m)NVCZXi3NP+>r%)VAM&8iEW1UvH^S@XaQXx28{wuW|vZENkFfB4|`!G5|qkz$^x zVB}1(@#6~j8D_Zv+E@ZFs<$MtCvng)6wE#oNMpql8*OXWJP%H(bQO9=)0P6?&_-y4 zb~BhMGF69w8CS`Q@Jq_NQFw5YB=yoefPu(5r|oH(usnA4BEAC$>Z)L_U=#x#4Rs8wKJhT4|p3YdWvn{zpTj{Bi% z+$?9~L(FI8sfz}NWZ_1a4L-$9k%D%-Tv?fyhH)^T|J^C|)T%IFW^<6-sRHs5!x__6 z@6QF3T*ZU%m6x|TiGHXlEMY!UXqOU`tPsUf}tZA0X7v;{#-6?tCWzsn>@#uJuC$e{wc>6g3BbJ1gZG%0=JAeNncH7#} zk79#u4Rgxe3X^I1d|X*Z%|3L!v zRL~j9U}oLE^S#%BF6q81{SX3j_7%9gPi5C%GbzgeActUwHiSr98$?Er!TeUEeo`s+9@!7O0$xscD^m=&Q(98 zlF3TWP{^i8`GOwu4z+9Xw*c&^BVIJT%sE^*&}aRk^W>7+?L3 z@{Z@cIs<3Q5M+Ftp5KHQ`<_%J@R)vd9L6$OwKvG57Y!Q~``54tFTv;#U7vELczGFB zHAeL;CoeVOog~*7W@(Zzc&R`M%97}@dX#1{%E+gNy#Cp`(H?b1)ia+BhL35X3qLR8%~<1q)YTy20VvEoH5<bYlt!zGc?NttRT25HC#SBx~vmaX+P4Pe_>Js z4U#Ws-ng>;a1nugG-@Jug>o^pi>#XOy>lGB%WE4W|dc`snk|9$lYK zo3)11;K_^$Kue_~ml@dlq~nm1YPGfdCD^WiBDa>c1_^-A_^nRO_gy~f3#jHL`Ny*q zxtDX=s`I+w7nE$jX$~YPt(nB0woymT>t6(!XZ7)S)pH zEXK8UC6%i7wcByw!zCB8r+*f!Mtxa7nU{19>-{)+tj3CbSxGCvTp)dgl2jJNs^XXCLT7|EJI2@i_S$2(SumrMn=B zitB>r(W#4NSh%VotP3)p5WQGN)p=jH8aplG<^>}laHSS-j@HoP&~>wIpZ)&x&))jt zbUO9Ea}7U>WG8cJ>kv)Ga?!E0Jyx|o$v$O6U6mIS7Bb|GT;dFajVmkQD2#=_F@A85 z?qt}Mx`0qdqqwu+c|;yk!fqpjLFNWoe;}T)DI1d=%{{>=9zzKc>i%VqM-F zRjdniS(E|)vC=^x)E%AKu~dx(O@g78d`9iH#U>#+Sy7r#{jL}G(Kpn{spw04O9|P* zomO>*0#*8$OSqMl!(0$2Ew#_{Hfs%N1)y49QkvJ@&Yj@x;qJFYzK(`l)AlzCgCt#A zK3;*Qvripoju+TmZmFbQl99p{A5~4AXVuz5k+_ljnTsOTnn{7uB1&#a3<;rLnNa#N zIcbYip`wWJ8MM@?=uDd{$sCh(Ug)Du91^{}>_zxI0@r=@oTsgpI%TA`pXIPREe102 z&LJL~1fd7p+3B5K6NS7oWR)v$DVK{Y+7Vx|T=iJMyLGai+M~B0fB4%^uiDA1ZP?lr zhO|~=4CjpfkQTI3KqX=p3CkN?C1Fn-io8`Wl8#{<6i|Ndq44{Tj#pj~lgV*#PV6W3 z*gyWqy}$J2GcSGhg`N9sr=>g83?>AbdBU2?i)q>;SIu0GsG@}jN&--xf1$S5*~n^( zEXp6lqC92-Y@*XTU!TWzWDT8!z>ol^+A)&>g73-s^wgtm7vZ1A$>;PH2qT}R@smnm z^F-T2PGdPU#=IZ7V&rWvO+;TH+|?RbjHDippVi8JLWMBIoGGWNQP4ui5Y#ZubwXXo z<&r6fU;xZg9CHV3MP65#wjyIFxRofPLdB!hG|J=47;Mmcn_^m=QRfGxWHu z^9Qt$JyT{*a1O33w3t4R{EQ&P{SZ|LrqwYSuZu)4yHIZ z1ro?v)Ta2q0d0U@+Er`Z`Ny9>xO;GJS6d&@5_#w+<++E%pCHc-o$fTCVWLL!QhKDwO8QzUF&eACq$jO@dR z7OMe=sgP6giGvpd0%IKF?@S&|FrV6UUAx3UIZo`O`*x8|Ybmp-i4Z|-@Qfx}Q7BJy zfCpN5P=H6OX2VSC#1UQju2_P?&#G0?dS&+)@m|GBv1eA`8lf zQJ(nddolBj4QO#BXe!lrf13{0g2fvlcV31nfitNI%<5&@EkIq|0_{P!kutSOdadNR zDltyT3{FWSqfEOP6(XhrE!YI6)Gk5px=uSJzUioo;wFx1&>bOXUk)sqL4bJ|8Bl>D$^*aoAaIH@R+9=Fc3> zsU0N^B0xn0k5d(@{6vnqMdV%P_TtoIsz$_Mr7j;8&S)AyhM;HKHtWH~OKz)4$>p?I zi(w59l2~9{TyFFxPeIR>@dpJui0IL=m`y4tB+&`ktW$tK4()=BR#O?^F5LqcrcT5u{xZ8Pe8S_-a{6&q9e{Er;Z!_I}w< zlL2k%wfz%Pio&=C0c&(Cu+8cp#MO3s_~46ofA;Y>dqF{iEzH;%qXO9ButS{KNWZg%Z)iQm%G5K#6AJ5x6@G{weYDVLD-i!S1mG4 z3(IX0iJK++!4Kt~k$6{Pjt>p#QO4#XFN_aUd6ifu5YCN2b0gEnrtlF>2P)O3gy_Ru z73Sadu+ey5^r(4KxeZpA)w10nnwTQCx3F{P{Kb)!zrjW`RDu+NOR&Jl%! zjF<|3M0Kp_X^L*jP(ZT9=MrOP)!=3S!ooosvLnP;Qg{{wttO1?y^$UaQT+(sHPR+B zHR#AP57CCqt!YX3^(aTH?28Zxb@&;;Hg2E%6-grLkZ+`8i z(-Y0m4TeoRafl5{IgtyBrNprkC5}Wmsf!9av^nJ7RgYOPa)Tj}+WinzIO=EIhU zs-Gd;D}^F8jN=CUbke2&F^bA=oiPd0@>f{u>AR{{2 z((+oI7gfB6;%UR8>0+6I>W>bK*^{ZzRk&$qHUZ?QIL2MI;Q&y2&*Yy227bn83 z8I8Q+b8kL#Hg?;|J%FEmm;pFbz-WuR!8BPSeqf*4eha`*s{LtS8ebC1M9rZ(+-Mc$ zC7L4GlCdKQpnwV>d1T{Uw&hU|M6-56yJ_3|zx(L3-+tEGrj8sWDR3R!CLE0=t&mm% zhLGAORy#-uk$?`)YNb1U#u*$>TXPm%f19sERWZ?Q8tvZ0GZQ&VF&t8IQH(QcN>)|= zQ`&G|JwnyA6mDI*o=q~9lJ9~{NspEmb715oH?_p6tgxiyE>YC}ceR1!ud1P|{=H~T zvFh@<@Vt-ueOoB8?$a$_*|AFHD*R=!39SEJoRad8I>|13X{HlI3p0+thN7@@Zz$qx zP_)9~E4XC%Dky7p>|qi{D-|HIJaa;JL}8c;dQ-~53&Q(!(V1v$x>zv`N5=zH;J8Ez z=s_!b_}=SR>x$w((xM@LZnYcoVpdKUCyRs;KonfeGklakEhNp1OoLQg%2{y{`WL{0 z;%^m7Q#QHY6|zYyQH(Mrfb`eg*AukkZp+!ChLPuUt-&K$6xOy1C6{fQE*{Q@Xn_`u z?X#Qv_-PB%T0*eqHSg$qzur!d-oAbJ7awoiHv32r-~>d8eyJ@LOB4?2Fh@_L9pe~| zxEW0$E#cR_EPkf$M4h)3Klg%;@0A+57aKBZJB_z?e(l8L!k0u9d;rdgl9fLrwmC!z)~ghwLXWq$6g0c!AeVm#ko^GgS<3{LIX zAuXXU$B&l(B-N~LHYMy@swvjq3U#$&norYT6rZ(rq1`?iiW+zih>HnOdaa?bf{q?| z0QTjf1($~;cq5os(x5U?~MTV%`W6ki;VXl>$S&Tp>@608qU0DaHo(?X@$mDw_ zT`f@|c|*1cB%PDm=`Hfpdox4B*0#29@BI9e^Jg@$_uXC4MlbK?o=2d+*|G@%p;^*g2IgS%s(B3gMJM)$iIYE{cCM<7jKZw?Cy*AnNMJ zW@yOgCUkp9PCua6}29}Ta-TOp*%XB(Ku2q{-dwOHomML&y6!F(N8u%9vTNdE~ zIeJrKpEt&bTSLTx#U0i?1|YLqWDL8+G{P$AG5O~@2}zL;D55XtHC;&F6fTG!ox6+h z=ZS2n7qxs0SDtd^hJ-_*iItZh*P*0GlI46bzVXn70*81ZE_`B&DLh22mWy3SnZ)Vg zr`V24dREh%EO9F6VKO~#<#Q^oPG;6m2prSd;*ln$q3)JCm*wr9&Gv_U_g5c1zCCa4 zq$-ptDm5Jziwa<|zeHITdN|Eg7k4sf$F}j3864(sX7xY+qx-YHoI00iI@a!NSUTd! z*=Jj&)3_UUvmpvP_x{|IPk#0F7rJ$8E#t-4`C4rL8j(d7^nl?&d573RGpEL7V^Swi ze_g}G{h5T9$3}+$BSRW>A=l_3K0}1RB=UFWoe2Iaa~*Sm79kEy^9ZH0R!n)OH=D>| zLQ(={X(!t5045McdJZYNLYBlquhc4NYIzP_{kxwa0+dMR$TAn2JW_3<`diS{&kS0Q z-)K>XyNU)Ot~Wa<;j+!118cZQkk-=8#-Q-U$)j+n;;&x#wSb z_O{=4OlD8_?5~}D{J%b20LkVvkrA_cg#3l74X`RoDmgSp#fgm1Ys6w(Eoq6icsfLX zPD`UjY#S5JI{v6_1K8Hk+BU<$tlezw@n?@e_=k_%-gxRW|BDfU3WhnX`-90tGIGq5 zhB3Drg`htxfKI4z3VHKDG_Ee9iGDvFhfCe-L(%T4zU)1V6@JtTV<~HHsZtGkG}s--!nujBLX0L_YfId`UAZ7$fQqA@4-}U!KV=OieL%74v=K*nrK#2 zoJ$RAf*w3>hm3S~Nc%ZVE%Ta4kPFH?^Y=5fC_ejM2Qt#vl=qW&g1k^@hPV*qJnf+O z9HaxNg+jd4=sb(`A;gs>))i^%N^%c|-<+Ys2?=S^yL%GHQZ(bwX=e#(MvN>9kA|u}WEYg`&YALKVk~9AfOK41X7fJchMFOZF zN*t7Iw@Y-a~fNeQ;imn5j3cS31ZA9 zgS=739h!|12rE4$!?NeOpofya>3>Y!FN>a!5_Ub0S~0AE2M>C}ddqwc#N2nhz&ixtqc{0}hOo33U?q^o&*$oMXO@2(`zchG33MqvadN6ld0W6Fec{0GEkk)>EFM zBl*{ITFC=uEIehD0J58^N~U$FL2V)m1J=NsMd!|NEwi{3mI;@5IJMNwtVI(yeA0bm z`DX=0L*NPe+~ftJ*dOC4^S?3nXU&!+OL87)>ie9?Iqy_eED(?eiGJy){{KItr5{=Z zA|x@@Ty>|M0BAs$zhd03{jl84RLxghFj>USA>zaye7T#OseUR!`t2ZxiKH~Yj z{7u10J})6q#4{bvWRvEEg@3g^LhEh9u>WO0i@UfSX;d8wCNu=dZ5MS{rAzM=E$I%+ zn>5BF9uJJiY&uXG%RFlmmF^Lg^rj*ap&7oBkCUP)P+v?Ip*@lf)PSuWBcryNO41NoEp=4O zC;=~_vU!!xt?gfW$JnH0<0fy7e(f6_MkA4+GW`}xA)wi+MI>WQqO#nXHJ(ygaPndE z-qZT|H=0^DpN&|jbIqqyCWCWGDIgN+0%H>Ez(y(PwXYygze%N0sm7Kq>A~$lRL@9k z+q&c<2nm$tgAu#%a-&@{j5!}KkB`6q@aO;b6N$iM;0guMPzso9UF7SP7IO*+MGf!y zS(1wFDZp&fAc+;HTj*FbK0VKCZ>%k3_QFs*U32*XX5s;Zh!KDLx4(P+>ah;I;k5`# zMV=;&B&P^YxKeBCRY9TCx@0SGln$hY2u4!VrZkq=^8m$)6emtHCzp%8X$Bb*?taHz zD#vTtui+b%2Be(eC7*2)=2J50xdO!jr>!PO!&t$jR~Q-@odaEpz3G}&84unpQJv_+ zh;4`$n2!C(KU zU(dO|?q~4HlKm7dVL$(~^_jAcnxdWqqKTZjU~)B0oMEHV^g$7~>iL@}K|ApJNQfe6I25+E-J^O+5j^ZgFXBS) zD)3a%7jm^*Cs4B>C2|+;JWrNib@0ik&fLZXW}(PJ1$jUKi-?tLY2GZpD0xgjNMO2{ zs#MDkqp;?#@yXU*NUW^09|X_Qp{P=i`xF|pvTL5!?HAAJUc`rDgF`D<{_CV0`eSZM+db1VI ze6Y9GY_lIIoQ(my?4gn`qO2RStq@bl2*H?~!8zmke9pi6)vv$)?#s!kre`XMaRi4P zi-jk_u4GL2C89gtg(T<1YhhT`=0qhtQnq4lpszX@&Fh6u9*GHsvKEZ~z**kJlEQB+ z{(~Xm+PdTs(LBK7sO}l#NAldvi(a)j^s*o$#DW}`_j$N+mJ}5(j7qnPLUea5_0Ufw6lpVSKo(yCg2zL>iHq zyIRr%(;rKuEGPpqGdRMKFrcgST3utg!itb9h4|=?`1T$!;?1|OfBpaX?Wg%MKvAB} zGaxRk!^Y;hV#~ei>E!ABKoh}{M-ahBBo=plX6=l@FIdVUy@tJMMqFl3aA+h#yaY!~gd1l%cFoWjb3&@81b^2jO{Xn6XWVqYW*!sD2j zhzA)BV5yu%$w;$0T=#9Yh65O5xW*xFr2H)^#Jb;=auC)>(edHXG$Cp47B!5LHC<*; z8e^#?S+e*nGJV^(to^OgVhsy4jGl{W^ilXlwxV#Odn@+`g&l&q%}1;}Epd?VX!Hv* zdObx0LpO2PC)E558NVj>ABl^Xka!VmuA_pr-6zozW*p>Zzd%T;HO}2W8B(ajGK8(` z(1y6DpR8o&#nLb><)(vHPrNh@P{~uooO6BO7e6S0;f1x;zI9TEcE=@fRk?KbPAok> zYJL!f3QZYTwY?~*CJdpq>b_k52O!i;&xF8l^@OC0v!MR0W2SvjpWvXsY7FFZ3vc|+Tym-c{62%f=@e17%)m*4;P zn>7ek*A+B#0NQ0J24y8&f`=d=hgaS!R~%bME}-j+Ia;#7CWTp&X9~vZBfuDT|0#0%`tx^-{Q|G- zSRSQIu1GI5nh<0ZRm{_L3FOj@PQuZm;A|%xE)N@n!27?{7*!s3UnBj?h$qZ&Ail;r zF%*hXX6cG|hO|jahHk4EtzQ9Zl1`4IW}`2zVIR9|BJ7T$;1_74*X1^0FjMP}q(73l z`Rp-3Y`*s*D{}Jr?caR){ja|HxNQA1%0jd=0gN*hscu(`uY1=kz{u0S^lwtdg`>95 zJ(0pL4@Em?+21a`($%rB=)5D0ZU4S{{|_whFEIEVZys-c_=jJ9`un#7m~p|->@$y^ zC|HLI2u>;)w%mn1)vxpiEEFwmk8EMJJrWWO0m7C?3btnnMk{RkSLR>V;Jz7a+SLxp z$Bs{yPIyvFl zI`tj|{meq-G(#BXAt_XV-zaU43)a0K9vlI=?jy9#S+{#q>-LBWsgR&xZ4l*M6Ll#> z*LFf!4!SI8PX`JvD-+wM2tZv?#d_CU-#h5D$|Grtvh{A$Et}v(8l76TP9p7@wn^;N zGDy!+w)(keG>mwbm@8F4LB<3*G4SCJAO7@rKRyP=6=rgclExxW7`6U>s^&6QO87c@ z^UqSH7OcBduu|?QUOQ&^G2MK(@k`thm#VMMZ>KJi`_i#8AD z-*XTm`{}y{d`uT99rKmsgWNpUR4!qW$CZ|JE-|_)u*PRciLw=jy+tJ(bf|f@xOs{u zNu8iniMWGQ(L3GHl!#DGXE_AhY?4hR&1eXZx$%OmB#pc}XwhCYfr;506Hr_iWUZc6wnE zG<(1ZN%2ZAw}uE|Kvl#5?WA~9i%Yqun4{zYXHiq8c1XNKD&@+ zf8nF=_QgVibGsI{%R$@0`L?zZIj_!8}0U^%tgq@)nd#R zK1p1|jIlaO6fJ*w1SElr!NIM?#G<3@u)H-8%auo?qGuGxc3bO7QzD^4U@g%XDgtMB z;PxZ}tfxKpKCx`+88}EubjUzlZad6A6DToZGXJXUHmC-uWLR#FXP%a6!l`m_L$CKB zd`e(erN3WIWpV})c!xj!=O6fikAX)##=c*UYoRUzT{wGGqOT(Nov6<5wZ<}tnwp2X zGmxk~&tCIuX|Q?T`8+K-LkZ9={cCRScLgs`a}iv%!|M94^Z?9>`2nA1;6MDwza4L4 z2J5_rEGrbgr&Y!j{C_#_iX@-AQ9j>0Ju_=ENty{5>r#_vNI5$eOl3WLC{IkDf+Awl zjL|wWk+FWL(Z6CZSG5_BCGH590F0 zSFyRGEUS~1JCd{qM{ge8Sr()#cZrAn5U>Dy-1A(9{8L8?bj0%$q1WE_JXtlwISk^8>gc=E0Lt`o4ffi%U%+b z-XL;?k@qsXnyz|P5^g49Uu|W2YrMWa73mGczyQY=kH`D>AO7{f{R!`ZiyJj%R=Ob2 zyN8ukZXkH%sUWqPK?8TMV{u#CXTtc_5i~2D^;#curfm+Qx{yxRG*PaoZwwQviEtZp zCOxwTV?5fsbcSVACX}o6R)p(jg+NjffEWX3Fx_qs7s0B68ClzGC7z*w!4WM#;(8DU zBo}7euKPTErn9B#G6g4*8MW7~&R+c4Vam}2LLkt^BGCS*$rhn*%d(WB{ZSeLwi^Kh z+5tBdc{#a5lF%BpDr7o~Xk9Lv^RAGN&`$VNVe8zGvZXY%IbCJ(%*$54_lPS)HHs)I z1b9WD>daGfvs1s6_HKwaT+}hEfS)wBeqI4IpBUzr%h|%-XLW3a?RZNzcr`Qj1OUM{ zh6<+gvgMdCXCNZ;LyD;uU`$Hqm~+}#WT&B>W39RbTz#Md5ID~*L>Dd$2MLeI&wuyxho3*ZygUXl#^nQ8Prx+^VAtZQK}vOrAxJ1$C^nd7xK&>f z9Eye%zvc|>xGh74{?_!7i^pJ%O*A>V48IfW*IozRGv+h+1fO&MhkyS!Uwr-A-6Iy# zwe$$pryiymOpJ?mr`IFS5t-(`&*;s<@I>4#zEC}_IqSHO^T+@}us~LzRwfx}eWn=g znt=IngekKTO`m7h&QaUSW?gs?E+s5tZU=U9j+ipLzzjKoR|d!~k~sj;@S|Zu%Fn-g zDRptJ>Bdl}fa!-_K~O_=79Z0!>iyG1BsCglbCa^KO_n3EcG5Q11whYjNHkJTiki4% ztCP!(M$9Q-Y!NMN>n$p(WwnadDVZZc=%ge>-M||iS7?cJ8~leeP~y^lHDZYAHbot= z_ZUvR`TmQ)`rBVW`OI&4Mg*Uiub(_Crq4~*+&$Vb`8-T!N6F-7uQJHx9Z4%2i=A%e zDy%Z}0l$RyA&pSu@<_bCy#DYHzx?pu-i|S*$3P~u28mPNBr-7x$GvUE(pJjxly@c^ zLweH~ILtA{>HRUTvF676Spb=4^rDr0NkM}fV#)|^Qi{6^zch-VHEZ#ydu8qE<+?5A z<5Z9$C4P{Nq74-WL*ve94esKUX~8OL>5Hu{#WzjY-7zWRcA>e&Hs~#G@`z!1jY+9j zA*oE~?Ky`6nBAv~I49Fh_BlK8GqFkR#k){ddc@h*25 z&-8}cu5)HMb(refB)V8MOytBZ7DrAat^x1V7*lAFv{z7fmtCfSzCfipL5rvWK0%iP@?w$cW#-(Uj2X^WByZ1<(jnB@l&YZ?B$>1{f|Hn)vRy&j)AGk)kdYwxc#Kbf zeE#^4KR+H=D4f^`dXayf+7y01wZ4jQ@KlblNwb2z+KEW7ZmkIk!-H^>mXfIVM%Hz} zJ93*7xc)B|2nYpK`oQO3{q|Si{`Q-Bu|JaqG}SuA-f`Fau0fD%=<7AGdTt0+FYg<>P)cHp3OEJ0cg=`!Bk>~JUQ^U(JBl(K zol|cNAvPcswE#^Kx?{OSI&Z|lW+NHB;LEA51(_9zTjP~$>Q^8BP2{UtfFTATlsBS~ z@as(?Zuv?3OPVURg|=C@7O8v(W#2T(VqTGIrrbD(JM!7ts*q1spGR9yskuVJ9QMRK zOd;n)qXKLvHHOU)a~m=^uJyw2{^rYXzy10nd1ZMl(f<}qmi?72z7+!e_UA*~D zL_iW}uCMHI0Nn)CE}zXEKD67Qe~nNx(g?(r+PF*JL5vaq_TT>a@!vkazCO&mAfX=( zt&n||D>oL{?KCaeA&{0Lhb7E)J$?;OK`+v)!N!mrI%;}pRNyI5l}|?M*xj+@N#!M> zKxy34O;cxz5mpjt;5CisHCw}3Md74u;=-KRtfAS4=8$earB0!&k==WyC+q1%sid-C zCCL|Zv6z>;fyBUZ8*Bb_@cg3dox)${&7D3;#)K&~y&}jmOUGCuh*e%$au~zBhBvK* znsuVlgY=wLv1hdsCI2S2+oG;A^yJKf;TMg*Dl;{<=Pe+!QOxb3?2cJKlV#LnXV? za%eus#sr1((IqRRz@@XyEsz={#Wo1=YP$XszyCjez~l&w7-L*1R3qc?2Hd+DXmV~J zG=-u8dBf|Mn^*;B#@Ue7XK+qOICUQ;ttE2GIx3Yi%{tc*U@m@OOve1gPv5?L_1nMs z)l=gSlUSGw=SaWPl*a2n`u>m7-pDP$y6P29eW@U*oH-~KLTU)0$d6&bGZJDa$J(Ap=HKavgABkIYMUi+>dYoK1Hw`+;H|dq~ zmP_lvoS8>wP`y$qNBRvAgOk7c-@ko)IX=alc&>Z=k_R%)SZ%NdcERcuAeiWy-i+q|lpgif(I2xW6RPI8S;%b=K_K(KhORsW>PEGRzcA*Lkc2^pt@E_ zW}`Bw5lj%~ua&Bkf~7BQ+NBGy@bl}IL97FrC}YUJTwnVUwjm(xE1CfUMZX}cki<#T zg1fM*wDs`OSo+0v%vNhcbC6Q!4d0|nnD&heVQG8o`^IDmElPX0V{*%%mee6;(rDh? z_coh}B~}|`MP99xQZlUbeWtUD^~`Lk!N}x>CN9q_83cVHWAWSoiEaL%1U<4?RU(2* zL2e}i5C#Y=oeL|i4k0TparGOrgnd~HQ}ULgduagk#N6KiE760g&m_fCn+4KxRcrxh zF4GK9tB`7yK3B*9EAt)&LS@eon47mFj2veAsMz_aa4CraFYUQzV97|TI6;+!lz1{u znhlzzlo4VrT98&)8<09LDo5yE!%#{o=`D%9DWzCs%I}}c8i4G8&wUom>sQV>@%#Vd zkMDl@`1*KF_Wy|77d5;*&tRB38b+{bGw}nbKnVjt%jh&CCY^{^o&a^bZqggA42vER ztUd^es(056L2^EWFMRy_|NVbq%xkMvjc!SR(jJdJ3Mh7mTP9T4xPH`nEK4lF#ElA0 z5hcH=xo)|lnVu3LnJxmrWkueXD>V^z+{rE5Bn9gJj*5|FrK^=SCN-3-K$*%jSXz>; zD&M`Nl(C|0eOV)0avvpcU3^*)KwcE1HxX*(;M9>)j_m2c^3oHe>N~B*5fQ^iF>V`J^G633DmM=%CT zN4OROAi0LPxxY)MgE1b~ra9@lA?Pi5=v3L-uo6vHIh-*2Ml4#vBYyiIf5kUsJQ>fU zA#WJWi1-{q{Q!v^T%HySrrl*o#uTL;TPDO3sx$+moCrrd3wQBi#?W1yhHC=%=JELD zU*7)sKYn=`5Avyh?lNFafteygQnId$#8B`~q?GVFDl#Z`qywq)=|sse0{R7NOLfEu zXr`ayIITfh@`j1~8cE2J6_4u5U>f;Ptno#7QvOo<`eE zsY64}_pJvm(Svt9|7c%5NH8znsUI{ z1)XM;q<5!9q9In-Q3v@Ilv}Y;L*$`rih+)xxugord&iE9S>M@BoQBHOkkw>#l1`S? zg*}EKk#_+gn)1t1AEGwjZObO8sYh&M0_yZD)o5`lAnAxQuqb30a>QR<*r9Q)l{H@% zw0f*yW{JzMf1M_k*im-GWkhDQ1%|B`HDiD6<7^Gli;1wwl_-&cb;D-5VyKFzHX6PZ z#YCoUp*gH>Bw}YRo_#)U)oeYVtkf48y2SBL-~I6SKfk^{R{HJQ492+PezKkAEEtyTp>UDr(8uu+ z@cdXb7_gt?UF1ho!Q}#Qvq1gmxm^Kl!-Jx2E(O8!!qd+9`26_q|NZaA8_qJXbUh)& zMpVyk_NaofE>Heew2vD~#!9v4>ZlB#K2AwxfzM;btCkO$FO#%(+O$0e2(i!6ZmSZ@ z7mN`VF}Ro}el>H1ad^lhHzRKP=eXw)LEO*^p^jZo3`~QV$!<==<)V|Cc0~3?lM7lP z7%EVJLLrQviF4{tkN<*;I;o;88!7Wf5DA77l8?=#V6?MrV%vp_G@Bs*r;HaSl7-~G z1WGDdC{AfRtQ2L8MgYt;)5O`HPN0?&c16nl87Oa>{rz)*E6h*t zeHZ-TfPaT1cor%^2ew*GDgnJ=u2{7!Zv=3uy8bmyPP)=2-9`8QlXp+zG)h3N z?7OIN^?-M5T@1#3h&3xVO$)daIbAkm_~>GA*JLu444}Zr`X7axpxSKtOLhTA8a8TA*UA4A&?PLPR(n zL)Ff8ScK4oDk;QhlKvqo5L%S|8|@R zfIv@B3SKJ5+Fsa}y})zT=T7w?&)XXknr|Lu{fq{psj%V3oNSb5fV7>kg;jNSKTJf> z4^bNm+;mLRHwhQ~hh~Skf~!)W)(1Vq4=4A<)12lsB@ooOWx~TNE3!-s)ab?*EF;KyhwEol z|9|1>(^kJJP#byxw}q4@2XE2P)E+-u@^=_cKjOq9OCKaS;|d43<^VImck|<4{r3AW zzklPekSIQu&MQhBmcK zn@m1k35+4G?_Q{D0pZciOxmGw+;?9w6uM&6;?-He2yXLt}XP*o{!Xt!W-~6irZu%s6wlR%RqA%no3T&m(WJ4msRFg~j@WnF zg=n}wmhmzkk0<`+zx;8&o$*jInsVj?a}T+m`|C>gTe;n4q@=7;TtT69klEEQy6A8?2snJ+MbAO@S`A4N-bv z+|qlEy=M>>y)EEO)on$rAZkB4EEeig1n*Pzy!m);}I5UtE*F+l}jFg|3){obm` z@GC^>tz<6TY)caB=GM#=unx%Q=Tn+(Z6GwEFI#7qNNdvT>w;Py{lmzQeRJZf{R3SE zo*=x74mxI@TBxfUL!auEnCn)Ma(-_=`iQM67cZSyfbg`?&BUE}^S}j8o0rU{h zQ<7FTddLE52PnvOl8A;I!S7HO+$P33V+7yx&;RwOk00in$IEiP?t|t!aXJkj7C;MV zK8&RXh2cu*57S;d(`#(D;8{CA70IJ8IC^K`mgS+_&5jMqq4^RGeB!5Hy?*`uZ@+)e zXKV0O_Uc7_M@1mE&jr%TJ9H$Wai?KGm+VHv=P0>gKrc=hM+UE?eq+lq79M!}LALZ~ z(G%s5+|oP08VuByS3V=-a!6@pbB{5VM1FA;Op@PM8C z0M}O%4(6q_H_QYj_R6JantS_2l)+Uy{;+GwHQpNFC9Hv4zhz!aoXVd@PeP3`(L;EM zlGPmpG(_LQL%}fGeHC@>w5wS}%;~}_Z24*sG90X|hyA#E^G4XGigc6=W_=%)Ill=9 zMORAG>I|E5A(VI%dLhc^)H6WJK*rRt*P)4#dmQc9M$NOu?VT=V$mEAUT;?J7TifOq z3AI?zGIy9KA5rW3rmZ0msE`=W-7=_{1{w0gx*y32zH(DbAA>Q3CukDdD#dzI7OJaK z3_L`Eq3Vig4&Z??7!s+i+0EC{;Ha`C1)kX^fa7i|@?y!$dP8_y^F7)-4>}rKO3AQr z|7Bi?=3X89Iz~N&9dBS*mt;0z<9%1OB|0dFTe6j(fQVtz6S-do7Dn3p(DU+3@PWrK zfB*K!e|h`*`ohZ=wfT-?#Ci<1`$Fd~wDZ;Z`Hne66ym-5jB}-OL>}LbzJ4|6L)b*p zXjl~R$))SmWb?F;&Mi&8nuhDNBN@+U%xAbM>I=Tnh3rODZfvMoqd{N#=hZr6^yZRhPiCND75 zx&xYw5DS0`p%FtuCE21QwrRB|g)LCR&`RW(gMh_%;jNOabz#UZx_GIEdO&h4tb-#M zotiG>6{UU!au|qXsIiZOIx{G3$=V638PdY*d@Pi%uGN#0-(5dq-y>7?BlDGoYr4qE zi%Y>GOp{A;y_A&ekI-GdcunbCah0Xyqa;ZP6n&aBu0$&iQADrH-u4&~G-wVY2G<*T z#IOIuufF>B&8JVFBKf~p5ZE;gm>#cInDv^aO7u=_%}{m-;1j5#y;D-1cKgVg{V1AJ z_F*f<07OT6iD{T(;$O1$ZTU?fa9~7?aUGKQ;xT^z`yYP!hhJXCOZD64)*|n`C+Ni` zb&>ksqynn^AIdPlOa*&U?(&yn2}M4@Wg;pk;@l%h=5lbMPWgJ)^?QVV;Lyfijs;7Z zt!dh_aZmw23>gzUtnkmh(I z$*?JH8FH1Irk+$=eUhV`>O7}5so_D266<$!NIy42W-F#WskHkjD0^6bx)rig2}aE9 z3n{>`akSa^-kx5BDLjz>4rw>dHL@pUnqNpE^#sk2*F}q)WnZ_zbf}E`aG^)W)gZ$tF8y*Dxj5?A?{@)6 z6JPLmpy;PJ-=Zs)sL}u*10`KBaxkJ_QD$Nw5Tim4Im#tp+fpo(!{v;?134ATYgO*x zlv;3Pk#jwv^J1y*c?R>VnXj+o-M@YKZ!)rnxX zQ+?xD5(-dd=W3(2-?wWKM0BQS)x7qyYpN-TI?EKg@k$#-^#4SRzHRqs{vJ z$|JQj0NGWPp*ke-W!La%$rP)uymDDaUA9a{AqGHJ_21|6MYYfq&~UI2!5~DbTIf$| z^DkPF(VUPwm0KTFRr3rTSrnbDm|&$lK=mSOvQf7g6*k#EFYD0#cI;XbV=`0jSet{K zRuOu66lks>z;~iOW8ZAInc?+p@}&AopNuj1E`IvEpFe%#xIz!dN}7yEp1v7Lugz*5 zYbZt~(+I+{Zu3pJxk~shEYsTYdP9<;y;TbGkoHo2P^U*>r2#x6CgQ&U~r;QJaZG8K|X{8YoTnW2T z^vQn)USKg0)Y<8sl#yudGxnky=hfEw&UghTLvpz|rM9Uvpz5OA<7|L#BSnU8I zZX+aTk$CwE-~R5)Cplw2cjj|(+DgFH)aZ6hPmRFRfL(s>k(OGCDt!+Rk)(9BcLS|a zl(*ssmNQx)yfr-HMN`g~C{ zP*sv%;A=6OL8h7z*N3w1mZPY$sD(%vS(;ra1IS}WL1!!KK@tSZr6AR+XmA^-z=8{) zmvg|3YOb*n0H&8M0_*V6a8>oSXGlLPTMxK#I+wolru1a`mrlNghO=$CN++5ZIOw$b zq`0eg#VR7X9ow|p#2)t5bD9n-OgV*jkY-RwVWiB5d4SkmT^p+}r!t^jS6VX#a+hf5 zBE=1h!zGlD3Y)Gd>s>nsl)>C?^3tCU>PLW{O-E@(Brda1F?3B8bI{xh%*>sXR$b3g z*q`v#Q($>D0VRD^qZfur1Kc1~jBkN}7cJ^=sz?&q79Qsu04lus(+&P-l*d->jF4>{VgS1La zcWEG4O$=rn49BRQ^XTy>STq!TU$QsN?$K^K%auS5w9CC*ZiUb9Qj-Jr5W+~_2cWm{rVI6#B;YhICsX!ZgUIf zrydRzC%CnD<5tBFZ~0}1&2vvURBFEPd#@p#1J zfdP&;W4wR+{-=NV@qrOzUf(w;W#PV*4wm*Bb!w9n8ShXN#}3_eRrO4qzjeYlTLUGq zSubMNd?aU7n+m9I__$=8(uuw%;)xoO@l-1;+Ow~R3y!wXthoUNRjhD;1Hx&EB{_V% zgLH+pze;+~0(paLq*YL15u3?i0#%r`CS;cOeom%mYRhe+OccCwe#ES_Keft(#=xHP zaI1=>H3J?4k|;eY)Q<=C@D(p}Pjw;%5i@;i*BhRDAyKxPZK~L+z48Hba>~voj*2aa zA~hFkEy=nY;|50qH>{WA%N%Eg@~kU5?AxED0A&02Qo79wFED;#`(ne|Dk}{a)EU0W5cidzS+7=uuOhNE z`702U>JyO`BDXwaF$|(6t{dEc{n1mICTkFHLpc2c*64$wAg{e3q286fDL_n+ey(5) zBflA(W+)MKw^~sb@U@BxaJiYD*A6N^qsknUzNuVG>%_mle`0%JImzdI47~lPpMU<> zpC2!evAM3>{hi(@<=V>#Uup{bkLAsxTP{_~Vh3mUIp`H<9UfDi&pg^QVWKR}-jj1; za?VN4$!8`%Ki93`Ipfn;U%dJ5ci%qeQ=*un$pc!7`Mm2@@McDk;=LWAqKx=Ji|yXo z8+G_3*5dlsXNU~3QlP4lwe6r7Olr~kAyaZLQ^r`?Yz1IuPT-f=qC^X1h$d1}XLeA+ z_1h4I+;7VT!8?2heXPhNh&nN3f&iC-8x_VDN$Mg?fS)Sul|h!t z!P}9VkFAZVJJKJqfQTO7^Yun(q;Oy`Gf_qFzsQUi!D>FVs?4F-q z?eY7=&=}~Gn<*$N${er00eO0^XHY0aQljJ&tqOoWAkQH-cNW-=PSC8M^jxh4 znqSXg$@KT=5#UB6r+1r%Y%i%I0+MtoZaYf3P!e`X#Gy?6_8LxAFeLLnm9whI+Y$(M zG)oc^DU|u;+{4&a7%Q5XlX&0?yTUNaAv3l7$_E&8JRTqZ@ci-be)y~Z*KaC8p%pb!(GEG)t}SL(rP|h-erowNvqo{d+@X7wck_&4&iieF zlBW|g*;NfM>(mConB00k?p&E2URJSUS$;>Cnb5{8bxhXtI(lQ1x09-ZKCtl>%$#y6 z%A!kiD!5Dp$EnXuPKA?*!hy>gJYLE#7@MQXh(o39@Q%M?0!#NF(Ri}dEYL=;(JL;y z-fdL#(&+aB6sp=A*3ix4WZ~xImc7IFRGmB} z`;DeM#N7{Q9u|vqh|gt0xDS3P8LEN`P4tT~C|(KaS_QlHAxs$ zfUr+P)Dp6g5Z#L(mh6*1V4!>oGI8N{ztBt#5}c{7Q zhv`U7sn$BC{U)I6Bn+d6V-jEEf$Y?2nu^pVWedaI%g-2DR09Pr3@(YU2>GP_Qug;% z5R5|2duLvfpqtxUx}?c4fCk@Ka>IQPNpB@VeA37X5KqWkSYFoMT<$xd;59;xOQJV!?u(l zv#`3Uru>;hO*oLe26%8xaTpls7EuEZm1ig0?I9o`Em>hFi-e|4JE0;fc$jWt6Jr}4 zZ$mbrDxvGf5s!$z4X)Cc_dKYrmSJ{}913&a>$%n8A} zdyy-fwX*&T{3fLtCnh_r(_{#s~fBjvJ z|Dg|%yP44PqdrqG*`Vf-E4hNS{DQjyVSF3apyg?WR8B*fFk96Q%cT~-D*V)}wtJpF z*_=k|Q1&ILjwUo7bgvwfVdVmLk`r-alx{wt2qlKZZGq z*E~~Prp#HrS$uPeReJhv!>fmBr+23e0o()3hET=}uF_0+)=_e9x zk%+;exzsE_Wwr4Trc1a+W*ob#y?^1{&ZB*~ODeQI%&X=b5{|8k=e1dn!RS#H48)k< z{O*g0$6Px89XjOkfS)hOQ}6(dgpvQuBK6SiWcBo1?Cp1q|&h~8FRfWv$ z*~~CkF~CXm2CK)}21w!V+g-c4jZ)ffFdDboJ$AD!s)X3704pP1r>jZvM^!?44csl5 zszUbjoLmB7A=P^s2bjbF0RR9=L_t(SyHo->sR%W~Wwbf+*^a6xU`VZS98I=A3PK51 z@Qk|BCNq?1Z<=|L=GM)u?3;b#5mdjVEh0(n2FPvGer5I4m<(5&e+d(rM8xJQ+d_hE zF*HjSZ}$4Fk%)rMsr`r6S51efa;~J5G+zfY8?{2X1fLI`Z>cd1u7yZ;4|cdh<=f}) z-CjmXuY>wawyv`p_)wf2iHk5u_o?Q~!`QRD4QtL%B9RN3Hn8=PnLRh8=?&D00!|d+ zB3ul6qyo~LC6wt9f>=foBAnf@LKroELZc5pO_kS zyv)L5a(&HLgH)Qr@_5;8aqJ2+`|)B|6wI+~UONqY8+0rmH4S?y7-WR$HV&M(DdN+5 zud~%!8p!)ZjhMqFw^`1x_hjrMf{;)cT})DQwczPJNrxy1!p~G28{gSeZm7&sI5Mvd z(l$+xM9DTRMy@p{P`XspOp!;B9$bxh9hqYfK}hSsRpq47R-&Y>pEyJ_tBVa`l9xS-5kdG*GU&2@Dli$W_-&JI`;E6`e5UH0Jjal#nI4gI6L!h#?hoI(zWBjwlmzk0d6-*%PR%M zi6S}Jr>nMfc98;)d}blrxRxj3AwI?XQmC_ftRuo?OO#uA+m9+5rWj!V%m z6+{*qO$T6J+Uy9 zo{kO!eJQC`J4t~vG{~OX^qQP=0^{w!zJK?_yO;48j1iAf0DR{Xwib9h4-uZ}+EXy@ zbQi%nZ+ydS1)B(AD$-CTg76*CB4)MYzSQhnfD_9AFv;iDBl+%|uV24@nS5qJ(>xwJ z+LxwzXrQB%vD8G7_8EG3Fa(4j#a?sFJ_Xnyry3h&@5)MDlUauF*RN1$-l!XB3DCLC z&2+$Mv`v2e9htEeI_B0vh_rOG*CmNQ2=s*9!cyde!>k^>|Ex5Z>kohZ=HW?5muL6Ks(@JA8UdyqJ<$)IO;WNgPFIiHoOjm6VYea74prusEB$`v}-oKvkJga6?d=#7J#qX|gFTJ@h+Vm5%#>prp>h<9=%m zW&EPZgYscd`9HU0TX^l*4r^>_S?1GW+iICx%AT<5v_$$~SgC6W3z!v7e7RTb=GeHd z*12KzkOWgB-;UC3HZ=zc4?Hy zUtM09WnQDcg_;7arBJ6>Gz1V-3R@2#Eem~REo&gS_k|$&7;C>Qmv$LP#8(C}!7;}L z2^Xg_uTyihjYI2D)c6BdD=st`O*SnDBJ0H;1L`w*< zT>oU5QcDU6a=T7kEulMh3%i3O?@;9HZCCVwiL$t+t<3_n6k)Ea1>gox`63S~sNSK9 zXklupEZH%ADrLGzw@cVKd?U&%U_>UBAxRbcXG*TpHab9%pDPa}&uCE^s`D?Kcwzx5 zQ($&o>UX4RM`o;H=`GPajnr_itFoHA@ibG%SuYN|f)n+SxTe;}GfG$^p&t9tO_b0; zaPphqe)ZjNzI``8;mUI-831)aioeel5qHg$8$@_(AW79PNvfrG&6$wa3>wP$TMe5a z4yUM07M-U-ypWmKQCGz1ks76NUDJTAS{)cy8tl?yMg+%8JO=o0fA@!vKYjY@&6g8T z?4$-R83TiXr<_v+<}>PhJbc?MYa;yr?w)FXimf#Vv+E`uRy znhBIccx^e!J4?yrrL~Y@Zv6~W5V(|b4AEe~+v1qg2F^0Vg%}Gnsb;eQLW7?~YoZ-= z?4oNejMC{<-II>{{fTY4S>f5Cp-u^&%ls~}!$u}BsopW~3__j}5Koj=rjoHV&d|m? zY3S3$tlDB@ht95tLi-#wZ&z;4TS6V$AqHM>-LfWso&J}Y; z)(v7=Dj7-_(o@XPLt73tQR>PO_BbmcO%AxUb&3_i^Xy`*Z?{7JYAsQpCAAiC zCqQo^B8|0BsY@YYmt{_E-wta650UzmiFOl;(__CTg=wrbaBv;X(1pGuyh`{gtDJJ} z6cm9c{V^j&#o;M)y`59GrlI1Yy4K6QP-@qQx5uU26Nr%%B_e`j@FV{GfBnG!_umEv z_*|=PMS@j;UeaUGbe|fzNCBs1yMvTOmu+GfG&bit1Zy{pV|&#RjzWM;3KHTzs_BV% zU-J$>Nlc7O956w~{4hU#`Q4k}{q?th{vSWP{VODjJ$H%v3eM@Qa)>}lXl6(dpVF{c z2_(#o5(Td!h0$5gzqHJX9c!Okvq;R>p}$?-btfFq)t;i+YQJZP2K9`~>}$gosDO}N zHdkd^{w8Q(XjQY6@Ki}E(7iB&jZmRK*7r{6Bm^jI@iXqP?|FrWP7tJAn+-mKdWV=-5EzN6*E`jbdRhl5b!NR_X>&opsT*L+e5m$)%u$lvAG% zl6cz9Fy8&=l(vM5GIaGJTh@WOtN&}bSz{h?Kx=9)O*~yg+)W;YRBytcYwKiH@Qdd= z#mPK2LelzTbRVqmU^U!Cg&68lgTrnn@_ec#o~bCUs! zTlyFFRmemuGDvU%ks*oHfUnSP@etMBHqBnooy>Lv`UGV)KP}oBD(n~$+V>U>Syn68 zpE>N=995KBmSO4dK}{qA9Fc2R84)ie2_VTZ8iZ`_d)?cKn4G(@%~B;%_~+EYV?z-y zNS7PnJzzU?NZo?=+nEn6t~kYWI?cV{(-*5WI)*Nk6=kT5K32>79++a zDT6)oMbgBG7{C1eFQ49jx?(3WMh+eplwypylESd;0KI=q3s8{3THSq+A=_bdX6e?c zKhL-3ry1W5o#5yH;`s|#0X%JsVZ?lb<0XFc*WY4rX_J&bkhR(H&QL)L7>6D}jHoOK zj_Q`K-u_x2V_c<^6{35_bM;$w+`OM82|X{|3emN0Q%L7`lC0fr=K)**%9Rh#R4gXb zyq-kVJz+;r?+=IOTrjDg#nom%U%jlQkBDvwF#&?nKnD*cw}kC!eo5+B>JpmAoj7~x znqHj=DWldLl-XY)tEMP>qyd}&6p1c()xSk){z!AAv)PVp9EdiG z+fk?zaNM$fKUegJcw>n^Ds=<_vY=BTbz7yG{kv}hkHDM9>remk{)c~fhk=V@kW&ol zzOOZgS^`^?K#j20b7f5jQ|Ti~C6=&vt?sRH7p)6>%0b=zO3<(2d^o4IO3^=N$8p3~ zS=_{(Xb^D7m02_*ajghF#jx{u}iL&;ZAt@p|IhD!`Te`c%cDgsWgB(u{LqlRC>02o!%cG$ z&(+)_?a81@N| zbgPqH(##TGVF=N6q2}GdnIABWQX`2nGd8;e);gp?q?ofl>Ss`&4Jz1Ye@!!_E*Bl2 z9||?WFG-LLT}w7{O!L}BtkIQ9nO!L>G;li_qmOP(5s9VSFhy`_(1tLWja)FH!3w2$ z&wv-4{ua8@T-w^^nt)$nq~%+pQJV7d_AhK^ZhPq}wzICD;LVs0w>lFID%LudVVzkp zhZAV`OZ}D2)Vr66Bpof&WbNHbXi{%FXS~FBfBS9l3DNB_I4>EHPaN+~)W#%Ws}R|Z zNoEXnDRqAO=kIez!N^q3yBP<%+ta#toB6Y%e+WnHE1EU}RiLiktb1mZLAlQVW`NJ=GYTip8SdE2N#?-aRFHAQ>bUc$aF z>ELN=GNlvD#2Y~4QduZ&LDojobhgS45}YLHG)Nr-qdC?VkRvhylxW+eW-De9g>|>4 zluv5N(SA>%Q8lQ3?O0QkeJRZs+<-C1n?Mzsrom(y5Jo`RGr{sA`Rp=Nu^oj@g>>6F zeYQ=TRZi$HHh0&mI3Tl#a+08g#JG1S9&W^7bp#}ezSu6BU(WuznJZbtpi}l&BTNfe z^t?42D9cm5CiOe#5UQGmCe96{PBEcCu#;-1FmIaZ7*UsoRh~gz^P+I?st{q(t>uR@up=)YflO7rrL;Q%C$yUD4kxqL}8gyIQ$-RVgNpY z469#ui*)*toS6*_$L2Gd1y%@ClD}S0$dptrshhKm-4SgYYkQrb01@M5eE8w{!{7Zp z1`r%v)8`BVyK(VS-Qd;|Emd9a>(b%EzTHYWGDWC-H4m@ z;x={~8?k2Knf0q*jNKsWf6e}q>NF@ggwif&aL*OMQQNE-oOUKibT@lu9&grB7{UaV zQD|DMj5#7>z}(61Y)k1Jnhv2V`0N`E)wHX8G!=&&J4R+l#Z(oa-!0T@&zJGVlb;ra zjT!<|DKss85-P?o;YW3FQ+~hlf)ubA6*6tYZ-D(q$rlziDq+coNS5r}S#OTmSQ>RJ{2J+9$ zFtcrR5PABh!=QFY3h^IurHLyqS8I7u$#GK?Qp{H~-%G^vlB<<*m zmIkve0Y`rvq90=DzFG8Y-IG*$q$e*}?hF>(EbR+S{yjAuIVD~mT&fTghmvJtBJ`g_ z*gfoR<-J_zR-*@-LR_FXYW}RFA!0&WT^XyT#j9}Mk>-N6d`F!pQe+g~6q~UjNNcPI zyoLfIxh4eMP>DMkXi^G*?DOo;dL3J(6Vuu8Ha?3s`||I=od7g7o>+-0uv$aYD#tS& zKZJFlGt)#;r_8h+k?gX=2kw#Y!6HQcKHR={9h+j1$A7jYSe6R z^AoQ^nK3ejd0Xu2MdyBc$?P+AbZf1~c)rIE|L_wgMvM_t?ppFVq@}1#J2k(lOH4NQ za?ZpK>(*jRrru$uL=j&pk75T{dA$XN8@x^-VO}{fwa~13{ogi zUcx2~E<)8L3FAzBIWVFAI+XF{x3AxQ`^|I1kgv?%!XoglO<)mkOvRscSdT7&=FDgy zk5EyQ87)6elyJR@7O zIyn_IGIB`7obS;46-;ICU`W=Dz?w|Tc4ZDr2Vuc=ymCsNHS5kSXsL3iAMGFQq0Jm+ z6!05zxo?9W>b{@h&oYxFWhcrD&%Qc)&A%MA6GCaLplExv)RS6d9_v*IDv2u3A+3eC zwqzB%yH08trIXg{PPcia>t7VA71ofYK*Henobw9$tSqzZ7Y_+07M^?}mJr&uym|~{ zr_L9G3(=)tNN5A7Pw;H{&}*xoqSBSbfann65^7@Wq>?Sqa-KQrfK^OS_W)GK2-+xcL>zqbQk!rYp>zpFQ)J!yO{^=63?l!ZBGyC9IX?3q_!*-%Hs#Lxfy%li+{E2e%s)r?OL8GAkaAMc_F4{buDD>GDY zYSu1x^scIegll5C5#cJb8x{}*N12PV8iT>$r#Zj-?YCe5`m4NpEenm}m2M0h1l0%` z)yP1V`CfF4qmq@$&J5+gi+U6s;xFCUIq+ElUSu@IT7^#4bUF|;*fJJs%9 z!?bmb21^{PdWIHHY$S1L>ufD%r0ekd1Ex!Yn_vcQ-Y(QgiN4+cb;#hgvW0JgUCohd zZe+_-E4Npt0o)jOgxFMaf`u}Gov#PAx|^M%wU~F1&U&W<8gE9sM0M47iJ#~vNr}DW zpgw%Scgc3y9t~^wQ^$BZLZ;#T_l+pa?1af z`AfNOM$~zTwu?haoiWd^?$V@^f%+zVTA1wdm@T2fzN^mwbsiI5G7?T&4wUHSkvQuh+z zy2Da(rhz-%c}Bt3Q}S78GLQ5fmMxoUysMuP0{7H7;>BiM_{x%3ul{H?M54jU3W8QC z8j^>h=?%s8L^v>qS^iJ-RyLDlY3b}UE;sj7miX>(?l;lLFL z3wB@U%UHbQFJ_qP$poboyqDE6n~XJb$sn{ZCYM5rB9Lyo-VR%lzCwC4H5i=1@xX^a zef;U4e|(I?72v66nXz>h_q8OhLpSe)n-iBQ2&yET3))8H?nv#QT z{I3#XM*YntEq)V^U;XA=jHI7zDG;FGU&qvW)4h6tOKg=~j|j|)^in`r_SBi)eQHI- zVn0LjPWSRy_v`&E;h3l~gB?j7xm4ksh<}h~V8|p2xo_@(6be~~$LGKH0Z6_`k3x4B zi0XoTUnl^N&bO;~K@z%!Cnm7C->IxG z(0QN=fhZu*YP4K4yz75z4l-WG1G7uqkymQ zrE~f-sb>j&L=?xSU}pxr%PR0LYfdtQAvCHD8s~R(WN*nzZeT=23u&i%=PKH7l^SR^ zV0OY!(e^dgv1e=OD^zHnL}Z9@pBn>T$qd{kh;)~l)hxrRmSQN_6e@YeG{AN=rL}hZ zAbVDHyhoB$BpF3Q0HR7rn@XT=NTzq({h3uKOml`>BD-+;hllu;P!9rr6b!K^!qz0` z0&N9*KLQCxhH63i-TG7ciNiJrMrX`cA z$kUD|EAK+)TUy|E(i&{GCL@rd?}zdM&pxB0M`{L|mcnRQNnO&W)GUsE^JQ&4zOF<^ zZCR+Wuv?310inxl45&yX;5o1qgGfX(WJ;z`7aF*Klyb(>OwM^o=QN9eBF4Y=@s#OC~9_E5R`?F*xtO>{|be+hI1mfKcB+ zxp!p|!AU@5H;ET4m_zsWz}a=M!4Xgw_65=No?XV0m3l$>s#WGt|e4DlWb-KJeDz!jWRkcT3I79xz$3w-~ z4$Q#7um9b5^D+5}6VEICmvkkcPC2k1>l*dx!J>TuX=>Tvw=@%M;p}}C!sc+AA|EPk z$klE$aYUljfu-SMU@YYFPD(&v491xFx4-}6r?<~9USH@;n^0{4 zRi|YK2E1=RO1iutU){>#QEI|_&cH;5z0X5os3dCTWEdM3FKPkT<8)dNYv8Kh#i@D@S5!TJ@A*MTn=zoRSNM141rv z*19K&0IzKhia!mvi7yp1#(su(K;YGf6!^0_jHxPODEuLBqXqk z5>N4o-s);HDyv3tA}^x(malJTXiZe8RQ=pAlX|whh}Z9)oWL94J%0YjUp{?$J{}`s zFjpGbHi%QFgo^B-tcQ$+H3gaUi3UO%D`oA0cREE_(AcZm1CJr3P4Q-{lXVkESXB8* z0K4nIN`^V(%95DB{oSwd3Qoivz+CAI)#$w1_(cQS?G6YpLN4Wc9o_>ps5w`B4Vy$l ze>@~9dr^`k*Iea$&;wTs*X{9@IZ$a2OGhhcmp#!%dHf?3S`Z+#_Adpl5cD&P76<6Q z!a-2Ldu>?l5)Wwz$}BxZ&!9$?)6#?a#L zt4!^Uu@-EJ)kb12z=FwIk802 zu?l)O&FSzgn1QGZwjrp(!$Qva$`hiA_n>CS^w7c;6rpR7hdo~@|C(u|h-IgShD1T< zjU#0Y>e+)y<}+P`+h@ELcN$_86*oXx@l1}7DpPW71Qz)lWjido63=z9#aa?7ns)#p z@)t=4BGd@Robpvm2~qF_R#4%}zZB?I{{3k3fcmdlPsl-6=)XM2BKe4G?|sgf>3 zSyJKoOS>gW5%|FG^d-lXk6shs#j!yHC7WhR3^F$(LY+2bZ>0>TJ+h(M>RWhLuncKO2OPM23+Ym4aiDW7$HhMJsXBZF=MVoUKfi-j4~ zp!ZU$ghLodsy?WSudYERLMz>m(Vv=mvi#cWnyhiL8g_XLo=gE$;c&oh)2s9Z*g!t@ zw65)jPo=4|H32;#HQC&nC5rcCt8|evq+CX|1&GFC+2lAl-u~0Ow|{<**Ob$(%4cK* zXo%CKbv5JG#}$nSrV@p|ImiUbb3)8S-V`I3e61RSHZGX-9`vlug^CZXEVAIo=cix& z_M4ZlUKkSt2Wi0Opzg_U+;wV3O+YF9TB6Y2Y>6FNCb7K5sE#pleyKy*a-Sj&QT>pL zkOosNj0EG6p}Gk+>+Ru}JcD;iWmoNE%B@TeJF1Q@RE-A}Dn+%N5@nX^1FEA&e@Ch} zM#s^y4~eA9=wqdl3w3$8K)E4jt)CV!IrFZI4xLJBQBgD5BbkdzThn{!(C|h97AjI8*XxYByY)aEL&9FdtOJaP8wS1MlCx z|K(rbju@I{(aek)5KZp@7QJZq>^P-w01HJEZr8PhQZ7hkJcWt~_g6Egja8EY zw3G;w@PvcH4+}&;t9LD8xjj1}e0QhgNB8fuc8Ahap`_J2DMGb^MgvSu6qKC0FKHsg zIN<}m3&;wy&xy*EL!SBU$f;BWA=OGqk_1Z7NtjS1j)-ELcbLKv)U>J`)KcTTvKMQ_ zhpjv@wU7J6(ep{D{){bwvJ5O)31*geeu$38My?{%4rXc6Dj&+@zj=n$?7ez{`DD@3 zvh4PQCCn^fpso-JIyTWr{j{dns}zuyE>?R=Hv2@yluNM^^BgqOi_X$p%1%W_aLyp6 zX$Etc043yTjIo-!w1dHL?W>pyGzt?mOKbvhCGun@FJ-Z8P;K?~@0Ln$rg=nE8e$ii z3w*{8fBg9NkMAC1U>hMs`E%a$Y{Y-(U2Y=oRwuJp^S4K<8$)^5%Po6N)9=c~PFqO% zVMyJdp~&%ZKEM0bS6_bjI%6_Cn+W~w^%n~(6l}D)k7qeICun^Inc}T0Ts9=qWzx`U zG=a8ZiX!woi!mLU$r9o$?BVR{clz$4N@t9=$FY(ZjRt2~=jVWLDu?n0*F zol3W|ow4wUK4^-(s?El&I=jn(Y7}Zs!_Wq$2L39A!}M^DK?7XT$rZC5mDj+7$bc3o zrzS!RCl1itEn+CokN(EO86G{u&9K56sL9hf6B^4?`z?2{se-Kaa%PAfrR|`* z`!N}>-@H7&c-gr|)AmeXnch!9Z^P@I*)=;JXANhwS1zG-neaDnl0mF zO&zbfK{g_Kb$yy<c7oQLR3M}ncvD)lJ^kznxDA82FHhJHZy6Ig!|&%KYgb%| z%#ova4Rl^jD-9zBIu+^RTIyv96K6D=6%*j zH;X&QJgm|5Z)vZ`@P@7J>b%4#9&QW3F z71vSM5FG3@92L1rCRJcr^i!ET;%n4Sl=%(o` zNs==zzR{#yEo)@1mwH<`yQ7vDC4oD(jdx#(wpeq~G8uuPECY4^m12Ry^b9q$iG*hV zo3Z`B5d$0;BQVAo7~}E-aJ<3mAO7)&k3WBWgV!gQNL+IO#KT#QEeqeyCjVqK6a>}L zxGT=e27&k?Ls}RXKNiv}PrgVt=_+cZX4s+0wOb>^S|yMiW7K+)ktUj~YTtn~?4fui zTI+`hwV@d%lKWEtqwIZ3EG(>iS#NaIjZ2Kf*?FUF2^OqW9H9u1Q!f&cCdiFS-fC(! z4oLtgaCOo%Af#S<`ok-(Mv%5erGN<7HPveuN5i)Z8lN9J^b?nb2VoIS5JxdX*FV;- zo2&+i3ZuTgt@O>?MV?lyh?`B93V}xC=Zl^@lN@hJwAelx92y2mnN_6?ltj*)VU;%q zqON5VO=Xv;7yM7`I{?(|1_9~ljS7^H8m)PjKCw)0P7zA!(8>ysYPULo^r1cm z!tHd=?iO@nKz%|2DlMtBO$da8P2`oUjtH}Aut7;#8Hp4(@qD@v*(Nw_+-I8!zRwkO}@|b&@ z2A;e|sI%6}(himSpL51!@Dt|afp35F)toaPN#@L{GeY*ftA8gkh@LYKpplTeJ4`0cGwiPkwP|^r~6Xa>M2C;5k4iQ%qE(@_~dz z8BIr!i8cOjL#=eR5^yAcRIc`ovka6$!1a4aSf*TNqFOX53;N9Zd$NtxHL^Bce0d$F zW)`xXq$L;F()NTVC}JRNVoTI4Sy-fL!epWwU~F0%1_FYs(kUKVuL5<{skwKTtUM?g z5b0*ap^L9a;uhU2AMLl-&)ZFho$bsozJD{`#7h2ECBKmZ@`@;Q%FfzS5JueYwWd&_ zw9U(yg_{W^$_7w#z_IaL?w6B?(5Ou0Q#ro-B(7#b?GmMHa{xsK;|q* z|DviOps51nPeG0Q9RqT`-XZ%ROl)(Pe-J8@X`pAo_>958Z8M2lQD>%z7>W+U28y6% z(7(MQJ!#vhzc$#p+7chKnbl`3ZgnpigQdh_y+XPKhE`N@~`A%Ml~Abv%!h%t4Uj} z&k>RdjSx`Mu4|@FVrjsh#4@NFMY;iC#@y;?*usLcyU|Oi=pT=Y-z5yFu9hjXQTa-> z1#}pjy?!WFCN3u+j40nW%_&g8x)lOjS2Ba~#QT4K|9tytj1hB`K5;*PJ`CdR(AQ!4 zXxAB7V$borXp$k(^vuTNV;GB?Ee5R2QYRIhQQXw@NL*InIWeD@lk=kZAQ z+Q+8m`i%H7Y#1LJ^wvJhdPES3lMUXm?Xne>5+lKi1yix1VK*3bL}{vEQLs`7M)QQi zD;8;!N|jNP9nQ^F(bh;9mO6--m31|d9t3* zS5w0D?Sn!KmAkWgwicB+drf!#2r=8Xi=Co_>SosJShJ?BO_wo<=aWDF>pSI@7|_O# z;Mx$bKYL1&g+Y3@*D6z17&i~FY|3+c0R{1+nS5yGyxj?ypR}?7--eHY~;hrndEjNu1|?|he^K; zOEQ^rPaV&xxy}4x#)Zz2CneT(PnpOoO4kz-Txe9^r_|?g@ust-gk8NC*g*58?{kDZ z17wG@dV_0i^%j?shhb`ml$kPQ@HhoPAgco=XR_!+q628U42BFv@ZAB;&Bm(X5Ee|C0LoS`Kqo@ zY=+z>Yy3yMB=5Y!Bg;#z_085yl+$smv}7sD06<3{Xc523u-S*!v`lh!;fYk2a5s%y z(9v?xGy0ycFFhi=q2V0D0p`kpm_sG~gdu;U16w3}s zuLr212TgM#qo?W|AQT=BK4Z>!&Y0hP|J8mtM%)o(PSNtHe?MtS@X`b*(NQ$ZSrx#n z^H@^dGGfcBnk`eIO-w8qb#r4R(Q7XQ_MlT{QU|LRh6ROFcz`SoYzAXPq!{QKty_dB zH?WYtQjSjG0vGqc<#?f|z-kDgBmv*ln&@^z0hpJ>pw(wOH4e~BXj=*&&3K6W_&VGQ zr=iaeTMH54)wMJ?r~qx#rL+6gn{hQoY@p{h%1hEx3?k!)v|^!Yc)8iQnHciRT*H3% z;4?V!5?_7)6~=?K=wA&OyK6htzIJQ_dHq)pcVvP_>&80L<22r$7fu&0rXYn5J8p5m z68|MasP#857#}}<{N+#YE;5j(?~R;%xtF{Y_u0PBOr;A5cg$S+``9Qt(>Udmj=G_I z#wyW!R+@S2Z6j#4g(jty-t9T6iSWGb{M6vR^(Nk1pZBofQQZ3(Y$Ik(^9oX4c?J6M zQx3}Y=TVHBRBeR%soE>qYh;uL24`NdOm$Lqh*HW+`xlhz7s-j<5Inl{I@m=Xop-Hw*hDp_Us z)6@Dud+@ioywLV)nAiB|KH(XI$oZcC>)ATOFUe)$fTe-nQEcKq z_BJC&HP1rEl}L1hLp6Kkd8q{}by|AR<&D)@&XInO1JIKs&>2fw8+iAJ5AS~X@YrFB zE44oTpq3kRtQSw93So)iFI7JWWJR-lZtEus#{>87GddHO@tGk`wH&s(81dxu`(J$( z5A~o41|C77e}+Z+o!Iyo?gS7Th(l}K-K(uY&uz#MF86d4ioS!&$(Z&4?3YTc-fW3J zQu#BISehJL9K$R#>t|7ZCvgyua@-R+Z)X0MNGbodQot3JVM*z`ynX3w&(g8fLm~ni zl;{>ZGRt0(Y^h9WfX=^_ldFPWV;oRCasIgCjv-05!RnSPruG{$ge?7=D^dMALF{C@ zv5N^bJd&m%sA-C6lYr{>!z6Ayxk%a%77*_Oy=SJTs~X zz?AQ*>>w>9gvJUmj~3hHM@^CF5q1)lo<5$f_k!wE=+A3;)UPe}()}Z_q5xt<;LXd+ zpZ@K~U;gm(7^86O1tO7=4CH>(?P&>@;dX(t8Os9Rc&}1bqP!{bsxb<9ukh4rW_fc* z3E#pKZV0_TIn-p}YvLqw2 zW_Ef5L|%_&7e0uJmOd}foFWP(3ODD+kVnko-Q4fAIYJuuQ8u4Yk&Zg9gxKK8wdzBx zk0@V_NOt|uF4vQZGD0(B)FjThljg3cB*3JL!AHL6j*P>U8sYvn>P4i3 zKE3Dc<5L|cG#$0x)s|vd3|-LKP|$NbR@4DO}k2; z(Yq)aKyOv-kzE*_y2uWdvT(E& zQ_x|Cw#5m|t)XU_Fy(mLaTsd`8dq_=^gov$;8Q$*{hM!J-n`7We5|@STj!K$FmX)k zNgJ|n$~g>ksAoc~iDsFIfzBMX>&|x1(DK+S?QkH2u+uZMoFI%CVNI=t^pBltE?1aQ ziU=9CNY^Y!b36e}XgOe!;(wIS12PD$nuNZN!ue|v(Y;}z-}Mskk->4(poFsmD0GE9 ztK3Oa1Z-XXI&GjNXu@+>*>JE`PHmZq^b(^_a^>L4c%bxmvhczcM97`mM)m!wUsh6Q za*Rwmg~DH{ZN62TIGQpX~vc_fdr` z(itlm3vu%T*pyCANdQGD%L>G~zq?Z7((<-}^V*9h`q{s0AjTL<)ZzoF%HWkUW~1l#h4tDcV{m)p6r@eF3l?t;4br2DqKx_~-SbzEAt}`# zq@d}2aagk`C-EsRMkz!z=2t@6TYjPmk;S3k=Y=V&NP)x7-Yk2fL)<9=))v}A^{Wbo zW-~s0*qtCJ3fNziErnUU@UcvZMFAG2sN&KM3v{M<2Ky!Hh_*O8z5%l$e5)yGz;q!z zQc>0leZbiiG)QC)Y+CM61-V6uwFU6xJi%P|}+dSHyuxLk-{3$5+d1a#2@UcQ> zOdy+r74)p^^{k0}TOOXM5pkyR?IMCI+Z7jYip|R{93q9JX(|K8R!1D4D4^b4pV&et z#QS7%bv%9YyD{fm92VXfi!yEtX?uHjDG-F%FZm0e5Yv$=T>1a22qr#_t?1y%mYMo)6nk+>De z2s{JdeEsF?R}XRqgehd~44xfB8ScexXj)iN#Ty|3!tpd)4^n^)LIo*HKqudDNhVX5 zX=O&9nbfSb{m}P|Q||vN@P!_RC8md-&bo8zAY5%K#Z;(0UI2OOss*=Vxw^I$RYZLT zC~)u5eT8zkXu@OxgApo3Z5hJd*(bV8ktq{5q<3g8Wq88EtbBHR!1M&Ib&w2Zv1m}N z_3IT5Y`1b$fPlh#*0IIu!qIGft+c*(GnDJ%)(UhqYY<>lHsh{3 zq8xCFsz!tJGClDpR6Sfnr3suR38p|Snejr0)mRLlO_fof(~iMKxc?!2vBDIvE!6oV zEXW=UK2rv3K)CzXG((7E0UG?>E(*0hXLs$oQDtP}>VWOkOqHW3y0Wf?66?h7CT>Gm zha}eL4Qp>{GI_dA^IfB3@AC*D?UKM<72iB$5dW^*#R0TD$=ww`wTiX!n10AU>&?%k ziA(h4j9Tg{*ql7-sgzk#^0bVrNzeLl8+vt}3PV=_3rRSDWiz6sl+>M%o(%*M?CGsp zjCoBVg6^aREM>xGcg*|0TrkQezt2RuzEVPbdtoK1Lp`PfvJ5o6Bs|3`TwG+Skm~~; zV#iVGWL}MhC;_dO!hztp9L{2MLX;}l_bk+gLo=kax>3w)5pIR5622IS`3XP&+xzrP zmjVc(U@IN2sqpG>$3dxyp?#5h>YB1oy}Ji0)N%fCrw{tfU%dSXl?v~^^mxYn=FOL1 ze*YC`LcvUGzk6{&cRG~AzWkRpOs`|!LeSmb?fCd?XGileghps-ea~|S9%&t2mdBJ^ zR&pZ4_tm-*gqn~foW)(0I;*D)#S@EIMjBt-;afqSI@JZpJ19(Ph*UhH$}ebvQ8@r? z(oGY5l&FG2fR>h*_F-fW!G%DE@y@HaL02Mbu8l;OktUjv06;XxPBI--OnP1`S*=;k zl`I8?nFdpSDVm)qVBS%v>-Yo8%kvNQxYx#=;-sHyp$wZZzJ2}byVqImQ0fhzp_JBB zk6)=&_a!-R1^hQIAF8~eMqZzp0vxAYR1$p7+TcpcT=_KjNyJM4fwzBt7av6ON-?vm zN{!Z@GD|hZ`%iJ%gn?S+P^6T5eYBVAFKNS5n{BS`(Jo^Nl1t)T-PjOHnJYYnoF5iA zZ;>AI#HubzH(DzCoegcQ6x<4QkpNUgd7{`F!=kFVe*LWGpNJROVmXANV{dcoJfeiA zBrw`qgSOk(y+Ux{YMM#Am;{p^L)G+wN%xocbZhEf6r_R=_NIcSe|OwDYkpo518AdyzPT-WSO z;9Y zaZ|Sf1FL-6#MMyANH|rDIa9b1Ejcw%n_}06;_V;a^3#QaPp{KTr7<6%R=zfKu30fY z(~v`hecYISoStKaugsGbQ^CHA3HGF`NvI>bu!1@wo{X25$5-F2C;*!FB#Fygybz|S z3kU%R%A7VSOb-Om!|7;DZD?vr^))G7=9@yU zi;-|MAl}h@Dq_|KIK9;!n>TJqKZx6^Mnfopo0>K26OnFcp4}*awfSsA-1*w7Dp;O9 z&3YI!4g*#>imQXk_L6#SWG;fy;_Z;szgkWvse-zxe9+Ex{~~e18aN1K<6Vj^Sl0j= z-L`eKtY)hGADV5j`oOgNl1+LE+43Fqt3znVJSnwU^w7|zx~lFN^i(CbE{Oy__0e-4 zRM>NzHUP4bQZ+WQCn-M5H$M(t=Lu)LZM+>qQ0!{)iZJLF*NyuBn#K%0Tf}R;;k7V!IxM5jY*>JY z(vd9=6%oX=CWw{e8)D1LMDQ3Ne*DOf7CAty`qw0H`-rLmS{8IJ(B-+%i8G;`b_?@44^Tt_`JGJT#`PLb8@AhG6I|| zh1S(*mbUIlr(*K>Dvaf5gv%7yw4iNgTYrsZ-pT3ESKq#Q{p!sxd_OU-=YM*Sl&N0K zM54Od@1wHY0vw#V9qrV3M}4Jm?uH~RLwjhtl`rK^42*!{k9Kjj{;P$oU#{PA1pr*X zH}K~1c>l|XpMU>u#MoVDSdEuqenxCzWd;$Gv^M;8wbbFJqoEVOAc{jK41j5LuE$?) zqOsQxcbje1n3i!Uhb3oSX-kAXiP4R{;&!hHlhyT@I~&!|n3oZbD$PQ{C1d~Lk{`66 zV#vk>t)}vII<-$yc;#^%sA!TU!o$1 z^C=wIN|w`4b^p0jlBQtw)K1MiO^}yLfLkv$>crzs;%MDd_ibo~T1|(Drt?`D2u{w` zp=W?2G9Lozm(@XWO_Jqs8!_U-P<;6D6Fo+C{y6{EC5=*kMbH2f{5TO1UX36pWe3}8Tp z-kY7VwYf#I;1Un{BXW&}z?SiegR&usb?l9|5CebDR1BRX!64Mb;vHvA*^m=T!*uo>r zM~}b*Uwr!pFL;*0kCkh4#D(OmQ-P4Wa})z|*am1XtuS3E>#Av%qy74*$wsS5T(W*r z(h!1f@c+tq9WU>H`0)ORkHAZB8_|c$2Sz!)bC9V|N>_@|D~xWCb=h0Ekz$JMiyrH; zQTZblf)h?^Hub+ojTW4g1>x%$M5R7tzgPC&80Fl}G94VXt% zW4eW{ySxRGMi4{4{Yu9bVM>YWew9SG_)UK45n-jE)c0mxp}*GeX}d-E#|TM70>ZdG zFcJDeHIR#m>Z;2jBMKR_gz{Rk1vf!?uWl8)+KNr&fCw|28kr6P$Ed9D&`y;2l?B3H z)OL*=u2NC|PIlatau@5fj&iolWmmMBEcT`fr$|gHTo0I$=LNh;hkof@=eiYP~nw` zt1_}R8$P>-pypW%o1r92ho!wDluO87cUe$}Il$qmr8~~EsaPc{06wQz2u?&55Z9YQ z6*6~`lYKX(Hi(hKxbb*Ae|f%t|8BetI;KzEeGV;z?|ps7Q`ztpE>hipG#vszhu0R> zVU(oNwo}_tsg_(z4cdRdae~+1h{$-7!S8?bZ9L2-vGjCmOn``2jWk0|Wp(vzs)yjt zn7n=y;s}Q#Km3b?2Wv}8WQ|N%mt`a6lVX`ao`}Ngh+nS-C39fPh?}&;wB5?NfJ6NhC>DnyUD3Yi1PL|2 zSM{9sYiD=RhjCCd-={vY%;E{431``xW8L}!Ct_${L*vog7eUQvs0>jj*;?Fe-Bnmx zI2RY&6{F-itb)mGM~8Q{@RwIik4BZc)AWjWB%2mNfSX8c(Hyx7%dEZh$OMfQ>v!WDC+mHgv72an zkDa2ma!{GY8%efExp!1(&ta(0ka}Jf!KN5W54dS)_q%=4M|S z(Ts0WP~_c=P1b)dg#*mr%4#;jk8LGtbyC`u_KB*AQ-XL(3)l0LzW?s)cwnZ;KBU2(d_irw$P}*vcOi~ zq~`D%7~pdbmfk?@zmAiDo2xM?s`^v5+2E)J#_1epwY$yr4XSeXEmzt}T7jIJoR} zOD$hl-=q!X52}nqx7pGhF3{tj8QTf!@xfC?9f5&2-@Hx=*(r*)#Lo9}X`hVhaDb`h~;b-|q)a842rz-P|;AxQ18db}ia5h)3Y}ey=4c(+7R6_@L}6JirRJ&chJfgU%$R(GAR%?Zd!IlUlTv<-ZpGTX)mDsa{cod&*n0*#``QhqJ z*g-2Ayh_IuU~^&YBn-C9X0%2enQ}Dc+(AQ63TZ8GHmREX6G>&~M&s30#S0GB;3;6{ zQR>4AJyt4HGe7h7a7frRN(32doT#B-cme~CEUyiIpat1%Iz`PR3OR(97%mevb^rQ? zWKqO7x@Sw3DLREjpzSbAO_#8d4|CDy!B$CVH8?hvQH4xdz-daK{OU_l=SZhfFh0Qz zB&1w>mABx_0u2Ee!6)DT>(9e3 zHOe%qNb9Ox!E=qN1Sk^OShWh=hOET<^I}Ox_l~$sNX%4pV9L?(l}JA0W=r}QX2f@2 zemP#pVmX|C<(B2PDUCGeS><-woI_lcRHHA{rmX#24;-k9Eq9fC#3Z03#lVqrzGeLK zO0y7}^#*E^pXZJ>A1{UAmJ8JXUYih9J}1WocT!M@Bdf@Z%mQGw{FgGaw)!mHU^jL^ z@N`h9)}S_ALq=v|K&w0Y-egf+hlRgI^lX&e>(_p>6-vT?LtU~9evTuEyKus8$b zyv{&Iy+E_&sOj`Fa+mHGboX1k-4tieD~oVlPF6b^ ziUk>J+CT@yYfkA7vA}pUUcY}c`J5}FkMjz1C&Nbp@@#M$1=b9=n(VecKqLinUuMq} zuH+rX`s}ehtsMkMTm@}&Rc@-7fUi#z7y}poe*^|FFhD$FAn^8wxAP-0M*01Dj3g-T zsr-MZMt5!Y%f{)JU{}H^b2yj5ko#-ZcQt}jBsKdGn}YS>V%}W~V~i0xPxH9PdTuGv zUVCRwU`mQMv3H1MiS!hJ9UmtCD{lNDbQ(;Ib>=N8Ju>O2%nX;h7Nb-c#q-Z1Yy=k* ztWYv!%-J9rA|A=vENTs@5H6p-IoFppE}bv5b6-gusr9W-U{7|g&tjB(5>!{>epzD= zd*`)dO^G-NG)e^^sVT1eVrc;L)|kU)ih;S(+}2f{MMW?uU?U3@seWMse7UDA>_Ww;%}V5K|Gc>Axv@RL%hGoZpq z0rjt}l|}7vQH1>|P`bp~P{EFz2Nc^cNk8)s3ZkYmt+!SHmAi&Ky&52|%HlEr#JrZk z#5!&qj5!j#c&V7xZtH0OB~}mc_!zaQ}4mB9BWVmPd4OvKp=q{Mp`VPYEYNVj|F0j z)SAqzB8?GpoAx~Ri?BTlv?QH;!YvD(Gg`jBU<*2LMbu` zoqAU!wQ*?EUM|xYO4M@3_|~MDfmU!(uF(|6;s8zWDz28P7mQ|F%cIK10_N6eKoe6YP=|oLZ)qV~?g=Y3+2N z3m>~6;7kiP%y$pHt`MgPL_B~wpFjQiEuZ8g)bM;POLKg5!Lh*PO2D##BMO+0qZ_Q? zd`s`*@iDX{+T#GDCw8L1(^AR2S(e zcG87r_S*jyOfW3EIn-_n$@tvUb~|R7HmL1jl}nV{K#iKFeIeD zAB^`Ju)dv1f-m8W7<;&jr$VKRY3n~+vv$k_s98*X*XIFFXPl|j+Y=nTNT4rohGlfX z(<26cmAgqK^Q_Ty3qL7jq-Nxls%uHz=q=J!uO0RIjZjc;6BX;;PrB|UpqYBr zYgV{CEfS=`w)GYe`sAsZC~qSc%ogfDMh$u7_sYEZj9^x4{=V{S0$Ya^;ZjQN>!BH% zB@r?Ebs>E+i!NsMizwi84MP<<5ZX|B=WT(38F({ZzquHo*)?>7qYPbHD!$r#C^snI zn|Le!?_!;l?NYHaesrPVKFZgUnc<%8;}TxfS>##`G9JLk56_?f{4NL>k)KL}gWnIc z;WEqPn(KDT4Pl)Ob6K8B{93tZw9s17yFd^1bDfmSLwe=Snx5w}dM_t-H`Ss2HYp8_ zca;RQZsTO8-Ftf68wGc?6nu-3ia?E6!|Li^HG^ z-tBb8x!BxquxClu9AL@@XbBT?0E=ck!RnO@g%Fafgt>0%qls{WZm^U|W@=v0BCzt1 zZmMtI*ZpcuQbDoHUQ{wwo)isZfn4$(3Y1B>fr$4%et6F3V~lo{-E_P5J>xUpKva=y z9YUTpx{Vn%6TM!%t`Ah!Hr)wM<^G2z-gkA7E;W>#?V1BTb(LfxAR374*ZmKm6|odRe!#qH_7I7?jnuqHSvjL7OPLq8;DpE!7=yeVo#L86 zH=#~`mwL(Tk$6=x72s9$6!bh-!&;A)F0R>wnj0Hzt@H%9K$FxTl1bjh!zIXO^&C0a5XP zngAtoIFrn}M?TIh8y|}q`aKbib~eJxNx|4bGs9%KQM+`r%l6Pv%YK$>bf**eHF!^$ zt*z$4KgBQ8fER{RU(V+<`+V~0!sNL36MUVYL7K``g=vY3VEV!)v6V?n`^IpXh0Ysb z0oXi9E!_lBcOw1p_3k2`;IM8nu#+rkSNCXvcjo5{NvuhcM|pjt&s_T!q(E`OnIE+h zK%`Z?Wf zt%Sy+_T65Zpg9IbC_=Hec+sN( zeE4O4c=z$;YWr(!i5PSKqVGTS1}j?<5uNJ*+qL!azf0Po%9Nw70deyT%T0;roL5Y( zE97lmgUE?F5qKS6eEAYI*Ef2K*L@IZ+(aC~v{ z2nXzNKZcQ+md4Ym@CJRYy`6)wFe1q4#Xw_bwJ-r%TbwMQt__8>vbB=dLI%p367=CA zastrOTV!_KgQ7y41a+5yrn7Y8p;ZPfuY>U}iV;ViMIah!VgCZr1;KO8Ti;0+CoR`T zgGy%s3)g1D3sGzm8WR+iwNqRg^_2tnybnv+5U)3H2lR0=79t|}^405`FJ7;{^*sIr z61`$o@(@)PW2i?8VBv_7RJ%jiyu4<#Cg+Dg(i<7kdbB7oj-oafo%+N(KoY4% zpPD^Py4%pPgbaC+H$17^ zX#0Srsl3S{P^D56Dx%~aE(}?v_eCSFSrbGrVe(eAUCB10Hau4lUN5^{htUmw3>=eU zZ>)LO^Y&NmGqFBv++2!PvPE%D=Pae{0hGQdpgUUG1z1`W#Y?F-OWZ8NC8Na=Lb&&F z28Z$J5t15YA=5Jr`jZ~;GU|0vR7HX}x`|&vBeu&T(uiE;!zqgNUW{2%6L%jWrq>`@W!PaVTV@eHrMQ{u+$02fL8vBx|1<&X- zB0NNVjrer~*byF(Pc!KY$!6cPLGgg?M_^`KTv8gb_?Ja>uuUW`=h*Y@^TUrHACJ-4 z77|Q;C;Wk)Z_Z4RF0tR9JY?$#d2Ty9wLsA@2?FD1!Qj;5hB`1W$bDcQwm z3r$=E?XHcx;g8PNck1BUt0~%dvgX3A9BFISh_2bk-t~?fu#~5#adjI~X zk7JCOvxZeuk*^|En&qbz2D34|PGI@DEkRr8+KVu_dCnei6g?%Cz>e1-yF21&upQ_K>|Z1UPStdUxu@J{Ly z?kH@Cnvk)m)OtbPNpfFq`y%K_>Oem83k}9n=)zozgr?@&J(q-Eo~3k6w(~7D%%-O*-xK7_e$#=x4*?c6@sK z>HVMI4LmlG1p{Mr@2_up5^;814p^wdx^HQ=51T5DO=DH5HLU7>s_t7*o(c@ybpu5v zWD>Cb*OaYwMm))QiPvu)GZ?d)Q`DEAiuv_KQo4GePUt;qv)Xr9hVk(5(gNdX2fpZT zi&l_)uo9$zr4CpH+MARHZ0x&Z{UX-2I%-fxm zbfz+!FJ@X&bwN3HO0^7GfqTrz7-BngZGa4M{Ii z=acFLaBAqZWhHcAZ{;}l;BW=?*@REwrR||QuP9Dx91>-m9Xfw`bOpPIDm9LtRFnh+F$YDl(6h1?9J2l~L#o`n>5^=@@R!i6UpObnq8Qq1 z(=~rR+@V}l*$eSnqnIh(r>4@ps<%}OPYOJ$?Eq@6YPXFV0v<+vS{rf?f<)}0XglE& zn(mYOWI=;3y{9BI)SLGy3Mr_2;m-Z22bqjth|kgGlg?$a;K@v-nl&rrTVdxEqc!A2 zhWrQG5(q`V($yM=fmas*V6-2u?}be#S3EtqSU!O^>klTRBP(&s)lzZ~UWK_H@$LCk z^91-PL4f^&fvnHVkjNaC`m-6)RIP_u<9-sv>fDD|=k zHH)bSdsu1uUo0R<%wN4rQ)kb<_6s!NPO5$i2`vavvEooY24U?tAJ`RX;m z<&m4W3NW5KlpZ2H2@{d^V=A|6cQ>qVh#`T_C0k9D6xfeiiE>q z8N)e0P1}vqR3tCB+v;&cJ8`#*TBq1GMZG_aczpFj3-r}sKlVn-F-s9!Fz#k>Hn-P1 zgGeaqItaIso(ATd4e|D3s9p@q3cHwCYwN@o@xT4$!}H^!K-OEP1=~}RN*39eN2von z)>Cvb_k^<>stlJCu{2!FbZ7-|9JW7-FhgP{%UBMdkox_en$O*@eX2nVmX_<3T~#Sw zzIT-P)=bREVZBED>S-Y7j|H}OjyTN_U%pOitzK~jGL&v-L>8+1371ZxKCT-dLlOF_ zpTLgWS}b{kYow=N+0CH>AoFl(9mW}fF~0u#4F$0w7@la^ ziZ{0A?p8-wOnnAEvYEV9#Hdp%<_M`JCLx7Bv1sq1pchAo1t-=0p2Sa`p-W>I?dwo4 zjl}G*$fVRkhVksmC=8`PLlGh#ZLE`WQZLmq!ih-i{PFn@^Q@U8HahcgAM`z(s=koa zE8h)hT4KgA8-r%YCmK|9rEvO-Mw4j59(w}bJ=`SNNe$ z`u!=iXAiq8uBcc4x^>ib_t1Y9u@^gk0MHK=RXr{8-X&#;hSZyPk z(?P%ju0rR;HCDrEOzlRsIHd>P0ScGZT55rtift4=qlG?JwI9}`N2o3$gyKLW73_`& zg16C?t&51;)*nq7OJ}lJNUGA=<$=1(hf*d)(6OC|5L0tT&aPyFTc!P`MgiJ$ty>Oc z{0{%sDz>fWyvI@pTKq@ycusc0`4Pauhz+Zd(h@Nnmsy^;b0s!-sB~v;X3!{IZ%|%A zdG7f?F@k!KmDw(JBvO_H%^*(9R6q=L%T`}aPkNtpW_J%r&S_5c;`OiEbNl3{RxLRRo|f=1Tm4;QmZFAXR?P;Vl|5F z>}l^MBwWsXZQ_Gu^dkd`)|O9GpPeJ|oqC6Xj4;fGgyWUgPk4b>sNV06iYd*erVuu^ zo++epSel6QrknRJx7-U>Cn-p~OHp*q+Jo1ZI-oI@id;bQpSD_9GRIIOjBFfDs*wm4 z(X^Z8Bg4+@Qbeim5uUdUkw`PlN4gS)Du%A?5LgTZ z#)$cG{`iM?{6xI2U>6fEup+7%5mR9xY$nY>hKkUo>dc%d11lUO6PeYCS*BE{S4B4| znZOX)1g`KKM2#r1psYKnLE120X;rRna$|eUHMwmUiCLqfS0Q0bm_*p;@ zt%mhZI-%9`-rCS(uz5Wqv2&IK+Q8kDRMBq8n$+(u)G2JiWE7D|?Z;O3h!rM%n9_60 zbt;A!u3S?K>ZE?Xxhn(8(%72Yl3$|$7^Qqs(UG>rq(6}pgxquTgwVQ(X+H~SQ%X~k|xUH zouE_7!CHEx&Fm<=4|G-7omA9=EQjGv6c!tQ^)H1vQdbR4DEdVi#=_6v&=^0Tb8Fpq%N=xtxbFs3KET?#QvpLG$mO0%iL0-(UjF|aIt|l{Up2xC5yka4 z@#U9aj0gB>qV}L>Knp709b2>^6DmgIyjB^uM+t0ff&j*7lT0<)s@_{tarc~Uj6K8S zIhfrWN*y3OQjSP#ZzYE^ZKvY|_<#3{Mah36oMgxTgedyrT(YB|ie|4{S{J+p&1CauJXXS>wF zfha(Qmf4x}x`T&Vq#*3nQ%V|j9p?wDTl9Dcwc*J5BDG;?RjEz*@DRt!kz(KxuirkN zoCL-EK=u8#SzjD;KD7QdKj%^cT_k+T-lO)&Rg8el03>_GYu)wj_xob7A#|pz50iRu}YkstYWqNQk7*}_>w!i zocQ!}u&!BlHG_)uB({Um0>#1r_fFrUhM~8CUZLnxbj9i~GqZ_Oo(IV|+uxoINgQ@s zGWcU_*Nz750hjDrjVwgTf=G3!9b1+P>vZJ2gNV?Y`_g_CAfrOrl*_bBaw+TBo=fW2 zq+)JrhY+@3q=-$?D5bZmD!{cUB|1Eu$W3D)Vzla>rg0rQM_Zxdd2s-nBvRxla@Z4T zH;3leAi<{)t8+GmQPI^ZJ1T`%OV~x+WSDD;@+qAQ$L6LEy)RX?-to~{J(4{;m zm=X)CRd@6Z&1F66V#EuXKnWO}XY|5PA$XpQCB zZF))xhX5n^`sNi6L}LLf8ag^EO?=f96{Tl2KzsVEIXSzDK!RqNEySfxFjZnfq72td zipYwlvdb2ODO6XRgwWKOO^eVk1fQ9fC8+@#aJOwaRHASm<-P~wcFc@(Dl2`gJ@-I& zh>V-%P8F(23k{WtYZ11p-Piabwa{bx{Le`)e0DB-4;(VrW{rOlsr&92d;Ocj^i zJ*%0|Y{u_iG#LWZOa^W}#_J==3p<;|vq=$L;01SEs-Ku;t@Zp)y&pXuUwre1pM(E3 zvns$l;lepia^vQW@JIZA$~WmL%B_RaWF7hSo@Rg}@F>a`NK_Lu24e6NKfL{DffT&M z)=KMSb?9~&n=+lU-$;h%WKt!l<=7J8LJ}G6ZosBwV!tFL-5PmOA#^goH7LhWD2FMY zSEUnk3nObZnhIKy3N%AqOY2?l--MN&qP*sI37%jEL zKzN+EAeyuVsohq2wKf)z>v@q)rI@XvI6E-Z)WPDAm7u6y2&tdB_7}8)mv7RerNeBE z)u5DN9}T7s8;qbZ2^49I^svs^J1RyCA*f>2$d^JY%P0?*HtUs!;w6>Kp~TX|UPr79 zybjp-nTjC;6wAh06?M~U$+1Vd-l+8uI`yX(<$6a_v4Olcz_$XiRW$XEpAfi%#Mz^`f;zQ7VZl+u5cG}e``tb9I5AQyXft$v+23p#J+{c9i zG4kTXPU*ICji>k{+?z+~>*Mx>Hxv~=<9I&RMzKT^s6HcuF=M`b@e(iF&%E_}=MT14 z<8-}wYuNeBrZ_g)i%sC$X1gX)FjsPx@)@kLpAbutUKMdh3@rpS<3POaCP0zLP@EgK zFUP4tc%-D>L{EfxDHp7R9{N^q^h3J<7=$9Yzu zps-o(3Gv^oLO0;hvf`v!XVb#6!zwcYmcPUFywO6asDvML<)%-#m=qz+ih}V;Z%koc zbiAry+0V{}=CLkMWRbJ>cRuP|Wr*g?q@q0>U3?+g7Z zE0aq2^0u3o6HwZH2S!89M-6e4i5?M{_Aos^^26JYNRM1Ke!A3+De9^a%)KObX-1jR zBqEcuLkuo2azow@w7^MmKgu2f$;HTF1yGE%-k%T23L<;3t(4Cr)V;$)ke+?h={d~~ zt-k|-r_8`^RqV%n(&}=grq!>tmfLA6FesTfo`T%&R^R)BM?sZEsj=zz=08)u0T1m$ z_M-JQ6EfBGZn2V*Rct@SbPd-#&pBlj6qBnnEaOk)R7G@*rK8Y?9CuNVA=?>!2aLN@ zU!?`K=t_oni_Jaio(&`cUwaNVa>$D+D9&OEuit{Lx0~w*l&!b6Fn%+%(U`)tJ4rZv zNy$TiOx$YSvcfFJOs!pPXK5d>=m#u1W*TCG?Y=~r4PW%*4L8G4%^4&j#hTmKTD3b6 zURlaOz_k*WITF@tr402Q9KSF8Mf{Sc{w@#ll?gb2;h_&0ZXF=!`yx`NK%?$Ub zMLQp||4U@chb!{-GO^Ma;JV+mFCgW2~iO7HbIk0gal@AM!bIU`gp}uU0r`_QWbVC zVgx$z>y{tyLaMUg-pIZo^72yQzIoS7=QlS<+i;dMj&Is`ZwYeH^T$_qw&IuE#WP zfm$b+uhI{`Y$_?{Jqtn?CIB^EdPp;L8FFjDQZV>3zEhg7qzIxkg5uD97`}Q}=4D!t zkZm#Mseivt8Z2g03ak`dXxGA&+q9-8YZ#ZW24@s-8N^Y&e+svLH;jS+|3dl4xO48Z zId1jp!XpOQu7(!u3k?8grCR57l;%XF1VItrPTX>`>;S;^ELQyxX2h@BTc?(;s)ma+ zq&sB~mfr<^02Xp~WTuiA@tfEko~a2RBSR(HRC_Q~AH^d=u7yyF)VmQesDUeM#pYnA z$~ei0+tze8bGqOi@?p(8JP=0Rln_0-_R+4#v=eGK{n8Qyji-a{of&Bvf}m~=eIJps z&42B2*Aa~f1U$~q60bbp)bDQx*aZq|1Hz(94@0lJE34@%5uGY6l1kC3B=p#fs>Rd8+Xrg@9X;$RJ}V0l?ho3N z5|iKze(}Yd$D4;6KAm+Nw?R`j8F0u8v+vdJK_S^l&O-L_IzFrMl<7?K!At3=j<58= z!1*UNAH~@$^8m9>o;1{@HDF-r%Vyw=%(|(cagFk{ZA9Eq7u86P%u24PpBHJCZ$BEO z4=$UFh=R$vF0N&4wQ+Ac@dVOFM#KPS&3Y%rCKF)>vFlwApo}iC_BCt76QclO^6&D( z&HPXGlLbk!KE7tQi&!xU2oZ$^Ry=UJX7V$G&iRSLm*_T@y6E)!iFvEm(};*^;m+PS zeG`u_Ugmb@1n24}o;Uc$1eIY5_Bamh7#E%tR3f4bllnXz7OW0u#rJG)oT2^wMu8#m z6G>MlF2xUUt%gkj!g&AbCP{7RalW|qkBqbZr0x>&OA8PImb!d9)spn{*3DzAK%^zLRZPQPVTP#>3d zx1p+rx;;i@hohw*gSkJax%X;*m)TUMSH(gW0KoN!<)%F$!NL2bL^A_s(R_VtGh|Y! z8uw~j1Y*VtLZO%y_6yjp+db*TMN|r63>nm4uXG?dca{mo)IoJp?Qdu5@u>Z!utrZt zz1B~gGUw670nLssx2d>@*TGzkRMkt~zyv`STaa=G|*Qj5&@TY{BK zuD^5E5ra1E8r#D}$*5TC3k7Vw-v7&(@8_pqJ`D^CWDDt&p4;#MwhUH;gdnD)y&)BJ z0I}XmDKh{^5eTCm0vykj39km>*iac4D61Wq!Eqf0qjAQs=W9;R*DqdPUmtJdeH)da zQ+U!xe8$i)IWz^*-X91w*t;r-^(YHMBXbOQyDg(4cYQTEQ%pQlgS-ozgqdDTWPo#S zTnkG7ClK;xW(6|GVCPpcoEZVazP(Q_`HNAm>AdK=V{msvGFIXRkOWdxu z*T9F5ALqwU7^8y(_Dzwy_VleMoi!Cm51lR@?WxM4hjq+LhdOzNQ<^lTgmP552-y?T zb5B#{8?1Gp#P-@cE7mqI)s(_nz@_ToN6zvf%1}`N(gft<>2cLx5$OxhW79sp$QGoB z)}Eo<5Crv{H|6R?pws#kC>Fw@u8S7X)?nyV6i3()>u?sZ!12CoE7#A2P38o-1Jolg zqKb@o1j3u*DWnj3s68aD_EYhKsZnsw0qxd$&inM5Q5O2PHz0iKy=f6TJPpdCgXD#=i zlBK8KcfvJTs-CSiflfn*bYdbDUt#BN4FMdrBM_j1%oMMpjs|<`3#vw23F}Ohqq8n( zc>n^UQrRE%zDgmaG}j%a1OAG|;BHL({YPu^I(R0tVRxzuBHtcLQQ1Mua;h5)z-OBM1hYj_mm=6B#lq`I{jq*;UErm% znZcnELm-2b^YzWk>+2&;Aa_ELUCs*(u+)D#v`@rpD&JY`ni_gaI&YjpQAw6N*a!|{ zk;!4cK$<+<19Zd)&jvCh+mT#3Ke?&Y=2D9tp&CD?K`gw0$a_3{jz>DmXssQTY;fDlOBYF3 z-%&pmEo4O_EXF>ybym$7E(a!jkSqE}q5NNLO5V)fxI$}$7$mQQ5rJ3419Nr#aU)iM zS~U#-(6n_)`=BR6#*v6(qcpl(p*y?ve^uIx%u&*8PoYgjn^%_K976&UI2a$_Kj+h@ z#D7_D#1uX{DI_(3p#bC()s_Ut{T=I{CffBcj!MmBT9Cw2L&(znD-@2tf?#~Wfpk=7 zWMPUYhTivK(#tr@;I0r?%(+Rf>1r?E*BZ?^nBaTNxg~MT;tBydCY4LQ`a;fmeijDd=)$@TyXUNRhwJRG_M423l`Tldm zb#1KRMxGh>>RdxDp^sa1Z_jUy&`>X1q;NcPrvdDzLn?T(eTj^w+qe}s773>-K4o4n ziGJIN3guobP5|2%jbic=BJJK|Cz_U2#><8|7u%GXHQ9&}mrfm#d@Yo78a{bTKNfIP z6DFE7)FmuEh^{Tk@hDF{_KjtiIEzzDB9p8SxiAE8{|pE$`glw&AYl7z*Y*z8 zPK2Wi+AVQFDD0|sXWwZ`VuksPPw(b1Ii=}1^p(>c?C62laHk`!p6Q7+VlO!MO1ZjL ztln*r5yys2O@DRox1N|3a^cJCe zYvt~QPyNRi6)n0q#coyW8}e)e$=6!D&)hS5vK^MZw;8etqbPfBOtv1CMfFv)mZfH( zh-@e$$u-m6y*di8+00bCVMs$MLCHLo9KF5*dV*5pWXM=Ru7A7kCR`d4T5_!BRd@3R zh*vvDyDbbfI>61`O~qs=cUao9&Y}S4{-QTAT@@{t?dB`zjp3A%f3?tRxTlA%N8{7G zPxBMUlGqMLVA3#3?5W1pU@-d`-C4S)$9vX(HTYo;KLO_nslNk_;Q~t63MG298N5wK z6xl$7ojtY=vVaJraL^s0KT3!=QlCO_@1k|HMc_gvbu+dev)IV5ZF#cV+|p}SR3QKv zP9*SN81xoNZg>((v%HaIO#?7Ph-5YGhNcx)(D*c3{aSPjX7eM$&}em3oe_n~1?>XGxD!u!LzhtCFSXSKc2F)eGIvwJe3YvCEj*+;r#hEx`ZAp_6 zkC*Xyd8o$U6Fz%i4(-)nD+E*bUwINs(#bkpC5&Yo=P)iwY$OI38ZIN53^Lb(sDV=> zF2hZTFLjris|k}}3~}1Y1h42=_LWPBh^_(&z}AUZMl+=Hrv!CZ!p`3Q2}p{A?9lq; zB0#zP7X=7uv#PPoR;iL=wa##NM;=8D|F?W_i;_|P8Y)$=tiKd?DkCP;>z><|WEUX= z0s_Mm!YSD+`#w3hc&}br3=kYXrr<@El+J{h#igv<8Z1c?l5#l@U{LjuMHhv)2$3_R zJQX!7@hT^kQrFEbSU31XttnKFoXlV zUB!&QU{GTC&yTp&hKLw@h*|w{+pSij(7U%E=B3z`l$&w{vQU*ayg+bl?2d3A_l%4> zfbe0NcU~xF}Go03M*4!n!tzy8EStH8; zBLovR{p67=zdKjtwKAYfCgB?)D5FJ4TV(hB)QbU^BqwK`8==GOy>uowkb^2!!j{J* zh0Sm^irlNISH4fkbt=M~?)uG3k^`=<_$pff&J`V>Cmd-lYC2Vdxz%pM&k7c-Y2N?_ z)l!+6@1-x*e#FeESTNhHRdd)Kt21C=8rzXVyQ6tUA~5UNp*tW_b&vHiOA7k+dkdLw zQ4riD4BG5ew7!>w7;UWI9Rb-wEoE~5+!-sOzRtJ8DP=p(vEb=M)Y^Hyo=J() zSy@i`L$Bd%an*$%ur^oG5RB4R0SvY8GZm2?D3Q>9WYPgF%ueuJ(oUaKZRN|6Rir*f zaLO;j)Fj>OC*YEdD_2q5(TV(4-V8@H!_4*aC+EEO#^?LVD=WPQqH0=?h!`U;`x?L_ z!S&{K-h%Fu(6ex`UN>1MMdvjND}zqHTb0lo>^vX{tSjtVsh8c5M8ufnczL|MdF^Jxd&?YBDMQ0hRPg(i zuo1}t05tJsPFUnhCOulTCwp>D?w<19)iyS*FT<=fSS_@g9?Z1a&0_S`oVpBvRrm=# z0}9{Nh;M|&*GAxeOeK9AWQ113UhL^=k~_UI?mV2jCi|zRgcJB!1!03szhG+UvlXYX z$(y(Eg@zsQywrpKR8K9a4=6$y_UvqI9WF{ZaYnKCKQD`+v~;y~4ZD2r z;v7}-k}wpqG3izP1r_+G2e70=A_YZ8H^`zw4Z-Pji(#b*D-ub*XjF<>v`j>754>d- zI_}1iH)t5utX$gw=7a^-hj%xE&qEAqo}@9EqA8NnqREb5m$4G!EaOf1K*Nkdy=TeV z@>msXU0I-DME`S>b3lD({%LTt`PMH>%k{N2z#};*twU;lMOA%$q)$_CosnCx50^%< z$lUBGM=@$pD!YQ9UZu}a()Q{?LHddN)u@vQaWG#C3w}Vlm+P@4-)!N15oKVIxUw>{ zg5iYi74#=gMCIvNn0Ljg=Agbup_lu5@-x!7B`CNyt3kw*pFVu7DJ7J?r1uvAaXC%; zUa?ve4HKFWA)(ngygcJ`$i2J{*u&Kfai4qiZUq~8S0NuSkC!iA2n)}$g7Q?IixuW( zLkqaR2~yCgE)bG@Nh@rau33!}%O;g&uju%?n%vnfYFcKM%nQP+5=BI}=1C8kht-lj0vUUItBp~{U3-OPUVWV`HY1evB)eGUC;6Y9-7?(` zJ%WJIo)yZo+AR4sdtP7s;| zfYBCfbh!Q^@}Vve#t>qBeD_gz@-1hAYTU^_Hf};t9ByBc>0Mec=&9K(=FL#4TGOQ0 z<^i*3c@_!oLtv#vL1%6WH%@$?_93Pu*M+a_@;zLq#$%OdBXkmz@)@M^A1Z7 z(;`xwPt_O*%NADBVMd1e(ApzBDp<@hxztW`-r09SjEY?;^1!rliBut0Qv3D!)ZZ55 zv@UzCBb&QkiSlZWXbj<`1k^ifvBx!RL^sJrB2PGFa4DHz9)iXykx3uxT5xI$a%oD#ymF8PQHNxfluBQ2_OrHtA0C*nTksB(J1tk>Rt7!I}V*jdZx`2@@d{0e~ zm95O#Lqybmz+Fw+$RizvRAk+a12Qg|h%{gR=QUF4q#2)p}r-ByJ-PnoBcj0!ug*8Zca;+A1W^ zE?DPF$OJ>)0#%E>NnxbnQ8xXBl74+-Nh`d3eUa(S%h4<~utj#?#n!CXW=aU$Hs_&{ z0El3G`tY2S17inBr|?Pk z*};`TL_A&|6`hCZ(YVrW^37+g^AEnizov}czwy|#vh@OM{gS|LoWOXc1zQc7V%I|*u~*se0o0v z7!MPx;oP>o)NispYUIzd^+_%dB@aeiztB5jwD9(@LeRg!tSfO6|g*oZdioZZRM0T9JjnL!!r~agLkGlwkBBCsMP^d zd@)ZWeeTCPPHpbst>;i-!V3RIBtpKVJ9m02w4tf67FkX%VUi7WxLVCTcUQT_0eh8B za%$L?^my%$Hpe6-uN^Xm&}Vb|$S!(BHCt%X|xg0m=J>bb-Soe%FUHFveZ_Pkz@f%-ag_xpJzv zGQe)*8UX9Gh!D-;#XL@uEa|Orz{lqBS6-L-lEZGd7mF!V0rYeaIn<`;3CEKfAzrhs zG&!*KgC%mhs(Bx7;s89L+#e~7M}jR%)w(Yk6O$3G2Y<8Z8^v!siJu>yd@k=GDu(Ua zKgPAsk*(@2YfP!I#Q3+}t8AJ*w6M)XElU}0_{HEa#C=gtu^UiA&4h6X`uBwV@$%TP zk5iOD-!L>Cf~_&@63gCHEw^jl0j8^p;uv4&i-hP>x0ECNwT{iqD=`qIDbI=)4iUj9 zmu&s#ZOYmsI&Vme5uc6(S@wb{<5D|YDGF8s2Q_OS@#XpjwPSK9e^-6*a*(2-yQ;)e zZ}frGBI<@~W>cicu7kIu;U*hiGhK!xF$RS-kvsB8NPJO$wM;PgTjcydncf?bB5fF& z9(*S(9Ds1m5CEmQh#KR=#eT>cFtOz}GH$5@8J-zyk~&3>21h);9MaGSi(9skr_RhR z$%lCIG=8)=>s0_!|3e89ly6<<`%p*AULg=^$W~$kKI7=z#%(G@T&RYU=pw)?&K)Db z8J|8*#9%ViaduMzz?^hG-mcGP7;F4`S|{bbSJRvZ^~OdMxL-qQNmYf+Vs)e13=)6W z`3Vf`@`iS3t69-86&5ORaW2?2c2uKssQ+&xZt_m8Q5d@mJ}=GkE zm=J6c=hld#P&@^#Q&?zgOF?Z1G(>&BF$o1Hn);|Vd&uS-N&~ZDygk<9w4tlWYP;Q6 z)>$JoWBpe$R?V2axKn6Z-D5revNd^$y8h_VZx2P|9$o8d&j+B-I5*B6nrpT^8iip= zBEzs=6Dl>7?;Zd#k#nH1vKTh@K$+L+T*FDxv1+| zCfutGuaZ?;`^@h5n&V;3g~V?O)nm*GUI~$S2Rv&dDyx|MD&IjEHnqI`^PTM%dc)p0JU;9LJXGM9nr0c zdf#zJ4-Zw{G2g&p*422>z<3$z^>-;>`2ENA?X_MT{g2&*4G}?dg>Ul4;_v!^&#Qe3 z$p+)b_ii{EwPzczQk_PO7$BaXo)QB=Ff?BZ(o~e+TvI}*C?ab!RfbdvN-9(C)}u@| z3yrC*5`32pS!N^2XEP!qYBB72bh%7VL__=T0KmRVSMg@wLC^-K$!EKEU>l|_fok88 z?hxMEUrdQPZ=`CuEO!VvG8{DzHJYD^Ti7oRnazM=%3(^Z9H}bw4;#%pL%GM+T4=!b z+!99Cr!a4VYsXN7N&W6!jF9>h)2Sq&MG5uYJ7sjQEv-_pqs9tVZ_GL~nnFOTI8&OG z*bNueq6N>P4UmFh=RE9lMRloy>qqH9O(8%TXdW=rYBc1DHQ<^Yti~a3ypw8j*?k(P z&XeeiBqn6WCAG`GgH|K%uLQmAEd3&m>@+1oJ%`( zxOb%J2GLl^-mj9ID`a$=33CNWm7Z7mfAT&gsQkjw!*vv9qV6KZsBRVx$5>QmiqyM$ z%|H`GO0poTPhN_u#KdS~sa4XM1kA*VBs>&HZZIQ;gc3JC{Y^n1ftVm3&3+roC8arV z<5Xu#r=RfjElI;eCJw>mKcX$z?F2gkFm4|G+ucnq)Y159C6_`pe$$$3Kc7$2{$d9$ znn{<3O(K1V8hc&3+W>_Hp%GGQMO8pA%10=MTATw8Wn;jg`Jg(`&46mp-EJbNBtam+ zHRGsNr$Q$BTaj1eNvN7}fRLQmqHIIoDH_|j9+RveTRMseA&5HhLlDSP$x-JepdNw{ zBNQuLLtAN`-UuCGhix6w)E3M@J>zO@Lq&LJXi1gc8XdCRF*^Owh(}NC%Cz8WQfTZ$ z2>3Zau~e5MVurv{DU9YGW-Z*K{Rh@mu@Lvj&tIYJtgPRhX(a86O*15BU%fCufyx;k zvyT`_tF9?zKvgC(N-7l-EQ>Wj5?jQS}DB>H1+j*-{aDewgBwjpU)WDm@Do?E(DS(HiLoZr{|pWB|QLo z-&Olh>2SNVrYKQeQ>YeanIQKXG&~6Lm=U12TBwq-+mN0nZRz;Xsx>aT%FD~6R~W%Pw4vM|W7O>-SAy(05=Oy_ z0HTFnv%O6p|EhLTnA16ZrsOqK4m%*)2T#jelM}3Z-?$+X#ei^9tqgjkb1RHC7vb1FDe1x1HCHRdvk^_z?(Nekk9!=0*1m&C53tb`GmQ|@&0>(boeQ$`_n_N1 z1I_m5jpc-C-P)YzfV8|Z_ixzvMw>)=n|61T@*<-P=6VlL zb0km`1ITH5*S9?W!CS9o1ke_KN^fY5Tn!j55-*NkH)s~g#L(17KUAa2N@1@hLPJ&c zX(d$O%GUp77i!}WakNH`3^Z(<2n6q5Kxk({l;jzoo?p6J`QfJBlBR~Q@loCL@A?csvFx3q_tWi|wFi5TxEc7604g zwLAT%hfe+xrD2N*lai}I5~HU3P*1axtk;{a;@`mumFrb0UpZPEfx$6|`Dx}W$+LpS z9N3Qhz@AYG!+ZA)z?f=(rBps@d&}ug*@W_1H>#^7V*Ii~G^b#7lx=${p`)2xS*}27 zdxYQup%U}@n(KxDr~{(9O6BM2NwqQ&R9}0d)P+MUV$q%gDFQ_gm=qCwq*OT-3K0KJ z#mUk~n`p7xHJ8hlz(_)+j2A+i(F{{Q$f?JqRSbpsR?}v ztP_Xo#;R^EWDvS1LX}`vo^TcNte9+ZBUa97O*OSbC=X96!ZMp=?NAIQVC<4u|enVy%sw!%uGjCZ$Z$!w|@3dzXk)}xnl zvYu%Ookq5f>{NqYc$=c}w46w(RqT`!&drS)p5rm3=*E!`q%0O~vQ_vH;M$BR?Y{cR zij-NV58dNrmmYO_piVC(wTy}qtDV*eM=eB9kpebZs=k9jQCUDg znQc+b0NF>+1VPrvhOyI;sMZ<9VwH7H!p~QAR^2>PO_F6mZpeq0!;L^ZhC>0U^dH`wQ29+sj2XqEcuZM5vI^0`MDU<14?y^g4WKnM z<1^i?eowD-nf2I?7$oMWS&th-!+6YvH1b@8Flyipg{1aNWT~E)GXGg2BeiC>T}^>B zssA#uulb`ixq?;ds|9$VpG1UuIdG54!+FsC@YxuR?E@ zLcGz($Xr}uIT=p8$|iuw7jzz56B2Q-K(m{alquHOQe(2v!<3g98E`5VE2e!C8qKtInW^N{nswQ{i*|~lOu(@>>Bn*h z(w$P|`XL+2w@(9RJuc%kg*UGV}_ewNLr$QyARd+dGjMHenE zXI?g%x`LVwhkln4UFFd!>@f??PgyxVfN3XNh6U~xi2eaUi-I#8Cqv7^MhLrcvm098 ztYgiiLF}GdnK?tO8e&X1luf84*L}@wW+WcB+L8)rEVvO4d?2DJU-DJDvkHFrmh<2bg9XezqS>2Y>V0oQB61r1uVL`7m z&$aGOH&Wha=);5t$x?+TFYe;L#_w zvKDJIh+DkXlzt7d)&m`Z!^XRx)5ru!y#RSf-&?W4n*{g0DIBBRKPf=v)1Zcn^LTlm z4eYOLYGoe!kh+DsJ`DnGMP?ER513z)+2-VU7nWDrL{DgWE#swT`m#pIl(OEj}o8!HX< zh~r@Be9XpVSqHRS1NJ;<4^25ekp^tJ^XXHbZr`L|wt`1vYWMQzHG&(Htt_>`E-6Y| zXmW?b_G;p~&FTD=nF(vB)6nsGmPC~yJExM5DzHIUz%d(mf6rsm!iwe|{+alwzwzVY zjh-c*4Jdum;0VjYV+0uA^8;Y`qy4OY;vgJHy%f3L$XifQJ)jfj&%mAywlI+fuS~;6 zPq3;-iF?Eby9s6*n31ko$Tc^gDB$qcV5oO0gsMYbaytC~g^1 zGv1OKkEdeW#AmfPhIfVjGx)`Z>?Y~ihjLRHE@OC0Sl38C9-lq>Ev^L{POr7rTDFOn zCTFkXc6#I@?Db&ap#9ChE&)3A4Y)sc@YDmC(`SEY%=A4D<71py!SzL~@zaBAYh_zGQ7&y53rETE2x-@v795j~mLawn3xWQw z(2?9dE%Oqe5*WFD&p`aSud~HBES|-kb3+U@{2?V3?QL>{VW$F|&oq^}>W5*O9vmuC zMrcXM>}sz_Ti8~Zy=z=$P0Zda%Z&Z5oK8SfXtcT-bI-qX8Zh+6tko|yLpt6^GFZGt zOhXsuQle-Vt%1IQWSv8LYx>zq-tWB%YrUx_gomo#=sK|63H?%>Up{VGCJHjRSMmNF zt%USsww@L}j58)WAJ*OM8-XKHq+E@~hnEkB>G*H8KXZT`|BYwUF+cW3u{w#wziSGz z+UrM(>##1_Mky^pxUJ@t&hwc%^PG-x(Aacod~@s=wRJg8#)Qi5B0&& zuf2ITPN2s{{&T|{C%HI#RX15}l`2Eef9H!A;f=AN8ak%Jn;9vg%odCUya_dMXg{6r>ZA!%ozD#9rkvBBb_PO?Bh8u{_72 zB#+~8I9im#aOHg+`xQ7hPWzWSB6kl;S`h*#_nSy_k+Q>VjVn@Vcz7!lP+*+?9cN@a zaa()P&<@HDZbBz#x~;b}!R-3^GUVG`+2`~1IFiDSx0P!!}J(JK2p z*2DNEd8R&ZN`jqRxU1?|korBSR@;ex{W5!~2^*iGl1_k`sp$BIo+2?GMJ0 zHOBP*47SIkiCPMg^%0hV>rbGUUQU(=U%1BOI(hWUAWg=^ir@!#`?wRURdJndv#!{i zD*@o3F5L4!tmD|ZtA~VCc_&cC(KN4MT&68Ox3EDx8jBs`sTW{(Dh6EJxg$F<*PnzYXobJ5e`y%`D`lMe zVW=WHd_G8nQFs8xwgni2)NAq7*-2oEN3=k(^B4MYVH(h@-9P{BwPpOi1w?2A6ZjXa zwEZydL*)ECuh_;>ox~A$Zgt2(?Ku)fIf!0p42|a^`@7?ZQ}fJ~tVzBriVsvrVPJ(3 z1v;u;j&n%2^FhV1NZ;?w7-zyP-gU}Un5|liX+=iY&(@>3;BxLXabxx1c>!sV+L(sI zH}KFn+?sb=+9s{$Fjd^0itNNN1frl5m;g-HyKA2di#^*i61S^?jFW+>odFk?K2=p? zjW7o=G6hHi?f zR<}mg2YJ}9(G#4*y=y~2+0J3hw7Js#3Wx1di zYl8hx#hrpFRK_?31WTDgVV$nG*&^}=_oqKNu&UgKJ zEZ!&d@hrNsU^nH*0gLYD7%>afV6#$qeN;(8K2wxUNx59G%s$RweDdh2FYHIhx^6vA z)zD`3r+lTeI}W`awtX929i01H&l@ubTx;y8wZp5PAG)G=hO>L( zl=Q6Elr25$6sIV*87D#$kp^J!tE~VEsHiN8{r3UzPEqgsb`hmzD2h_+$mc5`y2vYj$=_e~~wQwL==tuF64 zM-gueLkLzxelzG9;jQ^__-7yG41Bq1lS^UZoU&bzNdLXJC(gVPR0YQ6HL3hQUtD<5 zUQf;q+W_Rs4MltWdfRyY_s)AU`H4-iE*VUCIGcfBe&dMBqyAo2CGhXq3c?xH zw%q3E$~~vAQWPHdH_dT|R05;{m!55g{0eF3GO zp71EmWi4)vXC^sOYW;d-;<`MUf&S8Cs$24YN<10qe1Na)KTd&o9%K(V&|8Nv6i~cp z>kzbvPcJ4@THsC^(&0Z3=3`D!vo*v_S0j@{-D3q#_9Lvm4cqNpoYPwcCU6r&-co@d zytx}2>>&kOZ~cR>Uy-+Czl;UV)8+E%OwT)$r%Zhh z5xvSRO=ySdB?1iSt~7-3%sK91BD`y<`vpAq)(&3%bN2c0C6q7IHTDk8huZaNE7${J zJZ1qu93QZ6Hqqn02QkR!EmGD#`Xf)UEWjStDR7emLpqM0EMN=ATc&CpYuw$Mo@;$h zElVNuVIJBDp_JBz-NjZWrxouA9z3E^muUe`5cH4^JhXVYH&#(h0FhP%+)@?j6xaJ& z@Zr11ZKDKlkwI?Gx(R~KCqV-8? z(wWVvk$lC@E4hESk0`MrGYAv*e#LsZj%!IP*@F08*Ub9xz)c{#K!Xt?muY^=Wo_GkY7%yr})&96}C82?1nm@G|O7 z-!nWduj3<`c%9zi*PSKr-I2dD6|8TBc;I%c-wh;AX+u`YX+0D?lFWJixS?-x0UW!I zZu+T_jFI zP)nazg1LG}(R#B8_;M_?MW<3fO~;*@&}}|onHd2yUe?WJ%O`&+=N}U8YkJ1syskq< zBm$4|lMsIoh9(|H3cokTUN3>~rzO!LCZ@l+Ue`7E4Hy=#*sZjf?)tr#8MQB8e;40+aS z3Aj&M5gqMxQa_R+J13u`kt)tlLb;03qgErO)kPLpjsq+!#4iovRtT^{Zh93TnS#?d zAR=n~M)VhT4xPej2o@XM_fdPjcDtli*ReT+-VhfI-eU^@e>b9qPAruc2~^tqxKiQZIn2G6CJy zBxcLLM@E-rB=M5v&Dy61;jaspp z($FqZXH?y9s}wfF0I9Y-F7LRRjkz!s2&2Vvw{8Cbx0k>B?v7Yz{2H(tiWg71m!WYf z8TelT75x_OZ(GPsjaU4(i5reX6MO8wg)TkzAlGXVd6=v)4A}w9^L;!;V?}34I0UE( z0cCcj<2J-aq$-_%{NeH%|2+j}1-o@4iM6e^u+fn5gK->^9PTgBDzP45s$^O1J&n8r z4M^xZ{<6eY8YKpgIk=cw)cyHg1uE8RFtJg5+3H!J!U16iF9%ta@a>k6)qfaTTLmYP zmCv2sI_(_m@&rRSbyP;Wz87v8D~}NhQ0p{62x>q~*1Dk!GRKXV1u&%J-w-$cir zE3pFQ+$d{BAoDIOmWLr)*d>osKz!tF_LcLdKCV+@ZE}my2Q|bt9sbQ)j3xV)gfnMk z?evG6Kzg`?tuwSgUJ|~5>z8)M=hsW=Bc)ln1gDsIt6k^YK3Pp*bS$^2g}Zj9DnKx7 zW82YWAp)18G$1!flwiw8e}>v<$hyt zqI|AgL^cN0bKnAKvd+9L8N2c5D5CVz3FA92T4HZ?Jj}wEwxCtzm(lk8C_L~+1YtBE zeEZOKG=~yc*YD6f%C!*tCBQ3!UQ3v$KTkfNC7V_1dJ}n(3;U;F5pb-Yk+WUcrd>yg z0)K8&u8Zc-C~1RtTZRS{YVqPzY`n|SXA{s#V*8#&JjNoy_W675J+|7--3N`x3v1(X zm9d)+-~4&3^Vkt|FGV%|LHR&i`;v9G0hOALr$uc4a@&M~<6*yGrv{nuzJ>w{NH$lR zqAd?C732R)|J^QFT(1pUpUDRQED=Yz&fl55{%>=>?V71Y3RE?~$g%Z9L@qbrxE`1T za-y_os9jlyAI0nw-?o0#k_D1Co?q6L4zQt)d&Gg`IN$tTG+v3Z8bX6E*SB4F&$Vw1 zbcXg)qn4{vU$NkE8^msAL}u9c5m)U?)k|ME^iQmv2V+1#(=5t3V%gmiUF#RH{H!vA zuWjTkhsYGZ99Wdwp0xX5cO*6IkiMdv96)Q_fGB2sK&53dhBoe6;grT11LLod7iWhL zCVdvN$Wq$-yh=TC=7uZQ*K=vCK%_yB$N{^U!Erb`-%N4WsHR;L&GlV z=y1(PVrumsgPJSUiXzuy?ekEB{l=iUy*dS}^5%w!bRS%{i0dRMA3Jd?48i;U9`FZ3 zR&3ooX+m&Dr+}Gy^F5JvKiO$FaS5UaM)|j&5q+fXUtlQq!m$5nTVv8R7=pS@5L&M5 zGFK^SG3D_b!x1hQ{l~3K-JC#)dcxw0w(QO;n~`x2+II}Jd72}%2iipEN{trww_#S~ z*leZ~hjwxMR%oCKE6K2d2Sj*!e5$ERJWg16pvWV3!BiK69UndrjDKeg3;Uv`G<`UYj9g^kQ19(q7}V!4A4T;cmD%fg0V*tMO@DOQm_9J0)WS+fxHL!+#eKu|Fp~^ zW6QE)Z2&s`u^x?wYAo-01`#M}Ms6`POj<$3gzeg4|C6mMJY1#RR9v`)&0k^VDUe2s zm%*5`$Zn0>axye5PZsJZpK=;dw!JpLnOWy}52>*ENdN%Gv7+(nk@1qu_Jwfyh_FiM zQi#U2L*Sm9kU&%Jlz1BbHH}A&mOJkRLDYy9rZ>llBj5mVd%>c}%kJqbB!@Ok(M{Hv z5)*}XB3&A#(xJn$983FQa;OP62g=HYxSnvU_ivhaPWUjR`pg|~k4t9}Vuv~mSBRwO z8e5uShJbS0Qj=Qmp4gsxm<`{=E99?t_(R*dkzzE&IHnu#$kQ2gg1#{5D_AQ*Y^eb- z5;9_8)+Mk|SaHQ><^oLS;oN&V3^_I}+!Q(uq-o%wDoyE?!O?UXr5>6`h^7S#n>a)% z+sH_mDomrU8)3LA!)#;9r;5tfB8+e9WpzdB~(mX1x)IM{&{Q?l*>NnYB9Oy4J>|sY_#nv6$AEGP)K}S@K-K+XuU8h1OjFnc6-sWi!Dsk^~$q}U$`2HPycH6WvMYW zaVfkY6I(S4$Z>{7KGQ_~whJ}`cXykJf6_`URsf_!-vJLUC?lxVe5b+%I1!6o-Ql9* z=w(0BrJ;#HUCJ-=RyCP!mt|Y=Jc!R2Y^Sb!W>q4a>J9lx`1Enilk!IaXAah0)XV#?uRixpaK7iH7FO? z+LG!0KXF=&#jfB}81;+&R1(gL9H-G2M=s+2+7SkZ3^Fa_w)8gPd2^|t1>TpAt_0h! z)G>@aSK|kw9+5afCblW?1r8z1vZ{zK)wV=zCa!q&p4}+{9Hqooo3F95u(P3KW)g!6 z3iTwt_U_Y;Y>0@GtH;p8_*M`qaw`)*L+;RVhu6rz@09%-1r(XM*c!B4dm^Ro*w*1y zTZ3Wmv!-iXpUcY(fhyEmJNIgT=F7?vJH(-t1Pdmazs5E@S2EzAwdLm+A~Bm%?~UOd zSCdbw?_Sx^a(dPlYS9zaoYENuLI3opy3te5JR#GcSCK8Q)Q?}!O~J8o2*|K zXjy(Ztge8+V{&gTizh$j1ImTPadcLBbwRR?g!cI;qvn2I>G zx~RlhZnj;eW^Vu6F?9$64PulAmOBC%7;=y{sp9o^u|^Oub8vB;eCx_nVZTT!BKq+= z|NWJJtPDo9&EiFW^Z6%T^CJmfkRvRG)Re&Rd4_**x^o$6RQt-`ddFps?DOMX*U`b< z6dxkI@?uMBrpBCf3w3Pgj_s(m%)I!L+z1o)2oqh~ji;zVpOG2D6dte39KTNPkIIVzNa)_by22gX3O zZuk>>zjIxoU9Gen-enw)07uAjc!yy!qZX86OLuu1{>?)x!$w=mrFH3dq#VRayxr5_rsLxMwXb*HxnqAU69GkTk?FKEfJ9-mM=}UAsae zCO0=xCvJznt;^}LgWHMY@C$oikfTgVu!lO>Q%$;l-xD~c4D5LWvTG5qO671Xkp_LC zELp>yzS?us2Y2RnqQ&+?-GEg{4ZV5b;0Aarz|d9&0-nXEVSJBlz)1iGp8kqx@*fld zOwTQPNOAq&N2g}%ecX@o3JlCf-83YJ9$Cv^VDWLx7cvIa$byh&zi6%%$*37|@_nMU z@HnnuZLLf?=?Rm}4_4xztEM1xi3$6;*lD5AModaK#pX5(R~#@VoztRgd}c(tAdgRj z;pxuD-2B@ltZrIrC25>_T;)RM`kY2ZU@m_GzgznS?!lr zFK=q1l+!p;AzcW)w^nUTh=p4be3TNO&v_;+lZ!&ofc3bZz7NJ=UQ5O1%jx%z5d?|6^JJC&gL??&%n>`kd$>f;Aim!# zUEbjqHu<=ou^`1M>N!ooWjH>u3o{(-`WUP~XfASbIHNpn&m6D1Un$=PJS@8yyYCJY zQ)0aFc`BBtwod{O5kTbl*iCF2nBF>xd={Zp6X{8WKfVD#Hn4T!ZP)afGBK@~%pp51 zTY=589dbtx3k=)qwe6ux)LjeLb`nsTG#F`Tz&t;7x%SGjJR~_Kp|J8@njCY62W92^0t>MxWl6t*BQU$Tpf!DO;AVdENTdL#khqaqjY6!u4QCJm*J5 z-b7rfV-ZPs$x&{MDh$;^^dgwe*rOknbIj0TYAmjkt8)uWtLR`JTm?g_Zv}sm4@h+G z^S0nYHv0p>O;XL9!P~4F9u2eS&)p}m8wKA)lnsn2^HS{YDq^!i`*PF*M|2N^oa(pD zwojLZlhR4osYW5SW(^ZzP+2(GiyusOY-HGIR}BNyB%f9a*c#Gz-=vdB_mFFBcAQF& zPG;0)(k8kJss=W0WzNhZ`LPKE9c{RXL*@&?I5t%lo_gfw42O5@Rt{1KxlOu7L0brU z?WZ+|LRv29v&a5Z4kUe`gKMv^cD)U;O{$w&Se4cIoWa?I7%|@}zD~;{GqhKxI?i0@2>(sSNYiADe5J3UeeM5-51n_~pM76Q0iduxTYC zF>NS$2d{Rs=kr8uS`%El9A^#n`6oY=A@%i0923E792&zaM*H8vDV7VcRZ58MO70oP zjIV#|l%E&~q3oM*f;61A>6MpPfjwSZ8)`Rw|mdC=}JeqMMMGk##x=b^tXd5QM+$u;v#FSZMd(b`K=&vIi z@3CUDiKoX$^mWLsk=jE_-;ts$o1!YPp=Rx|hzlsP-LUJcZw%g?XDWLx*gp;Tvp?5k zpAU!Pl8c3-9hr_*uP6x`O7&95O9_q0=^A=a%llDm1~Y9a2a-Uk9jVr`i;o$a;X7(Y zw$wNuSy9;J6z9D=93z#v&QhdoHsG{)zvyr`OHlqT#$hLf0}|yrgL|za!l~@hB|>25 z`LzC$T}+~%SVe>6D8j)u*CW%i7j(!yE&8V8-TN%EltxoA?$w0db#k~V!plgaQF!b; zYs?*xTg+pUIRFt?DSrN!$KUm;1X;l2;5nV;KCbhYVBqPHnr|!HyWLd^n7v9PJ1tq9 z!(e3=;MyDm6n7q8S@KI`@xNe4}X? z1W3yna10b(g))gjF>{>px5Q0g@Q^T=-KZ~0IJD9n;1^GK^{xefPu_z9>cz90u&3dC znqnlEmicsJYuL|z+bSniO6-uPsgu0h+8GCu`<+{rS+j*p z6py2(8X+t-jQ_TR_F)U=xbE*RJ?`i+;_i_fK7FM?nHR%=baR%LCeWcK3JYfbUX?l@ zlb|6*B0#%J|EQ#Q zF{*8!%ykV&t(C5RzkFnc++Ju zU*?A`G%DZ9@Vyf?|+tU&AwlMC4%C*VTd`qDoFErkw5+kDbA*NdVsDiBvaIfvEP#-M$Xdi?O z)K+3OBa3*QQ?b}vD(CMHoZ?IO3jbDP6p z2nY?yTw>gv>*3*`9^7kvwg3DZ@W<5C_kUtJ?3$aD>cXn$NurnbSA@=bUGDLuFE&GU z2l);w<~~!k%&^=zb@=)*{hV;~vlV2!4L-a+Y4t~0nh@^MjCGVR_nv1ba*Z4~@N)3j z<_1GVR75`xh+1DJxH|PM3P{t4%_Ekkl_>20H~gj%x)Wns)_ItH?g+@QWGy?$Fmt6f zyxkc=0nUTXlHo)5)ZhDl51RhM=?GLHyac>7LroVZX1f$4^FdRDC(K=0I!DEN1uoi- z2v%x$YLkN=zj74yBkG%bvIeg(&Us(hpV^xMYCWTd-@a?3?1W@E)D8NXDYaOv`z*`G zCVu?`ds(8jsBbXbN32!CxS4npV0WTTTaEYHN#mv~7nBt|l~IQyl|%EIXLgsppX`rw zws{u+3YR`j8V^HkV#TQHM#w~#o4NjA5edsgfVayB>rj_Ktv`HmlU5o%+7Zg>`6qty zcy_gNjK)&cXy|j4@IKPm#MK;1`$8K96Mxmd@EAo= zZX_JaiZJEcNzZb*?>-qfz`*vf$E7|wjHVZ&wY}P(PQ2XoNLxlVx0Y3Dmn<2O$`ZLy z*`_SN->X;$$2cd_&0%=-tE<|1jm)vCa6mGOL4CG6ByB)*y-8vTbcT&B3O(qUwsx^d zNc$kQXyGPbmx24;M;e+}4ccYqR#0e1zj>^z_dX0rwP&2d8kmW<eAkScAi3!O*MUtB91V=UKcy;CT6P znCC3qt~Z|BZJ2poarA5&*4@z}1&7MjhH}<1gfyl=RT2SRJ>LLbK%&2jW7J(9dA*!# zCOU+O89RWJJ?Ge`6Mf_PKyGGpvHXv-BCeU`hiPt*5eMdH68Dk!iHyBUdCuhz8K?x; zhcNZQxG%^$`0W%Y+6Kc#MPu3whwiRMPo1gINL)=2_el#P_s_z&aBR$hq#?xWxw z>Kk&BKKaeazAovynL*vMbQEXpWF&X#l`#4_)w`JzXpMZ^UJPEQau1zxQ)3X=8*ua@ zC{#W&BegDuVTlUak+H~zVb}5lhygHkIVJl{wrceflX=8K<{;W12r3N`G%ql6uhJzK zndG%>_&b)C9otDpEjePJXf8tqr&%znPyMh%thG**?gyc25WR+`tvIxNb8ZGYUFiCBQ*5Hnb&ZCQ|FNVh$G5>kl7ZUOpV` zO_~dEMz|MpLL5;tW0QEZQz{lum=c@P#&E9zeLjTZJIm6HyCF-A(MS@FR$&$mZ?F6L zzvW$45+`7?v=DTZhj=ke+^lfQ_k-QCF>5`m<6CNWTSd{q7CqN*ITF$6|JG>d)}OXy z1bhS)?3zx_#h!aa3W0^G(6C!^ZuU>YPHGQKhG0x1C~0hZ6<^#*CHn9`V4_-?QVfNL z46wKB;2V=VY<1lU_-P+z^{qD@n&gTE<2-S;bhQ{MaPSzL5F}lCDXJw>5*NwiIOwva zcs{}G$J{`mpT`2i^ah^;MsPPD&=rTASWf$C@kEmqyeYPuQzDrx^@2{D`H?$lc_N-N+)+ejur3_fBt-}*1NQ8YawT@!mZ%BmJ!TX z{(W%#9ibS=Y)jwZ3kA~h>Qv4HcfZ>8Zs^sZ1}UU-m!}oiCuiDPOvztkyb<}~B0h$6 z1CemlA3EZpbuIRT#6PAdw;wvJv_3b*2*^n=O}gLUeW%mM-E^UijCZe``}@`b*9bke z8MmQkvn6O6DkA^1Mpzs|IF4RS(`rqRTJXN<8oP6P^;m&Mz%X-!(5T1fz7EIOb*knf zo~(|MgjLZA>#Fft5#sm*RWa(M%G5$CN zJWwhO5@tLC0wFvZ`=z@+1*&P>hX$CTAwp)rv&q53_Qol&y%phZv!uG4bZoS(?l$S8 zt;KBn6g0c*e?N!`3gU<`WAjyf)I>836RB+(F7p{ZZlQPPP2gCDjx+2AM%xQoT7qNC zEy7~h*9XfJd0_2?qteu38X9rz&~rVACv6($t}SYO(sEtNFduS|XhQUR;XhwFRV@($ z;GYDMoX--5AqrkIk-(Efhx$H3?8&H*e97yxJJ{^i;6)bMsntK9w7RZ5KA)8X$A=Fe zcmyMY@#d$85y-ye+SCzzCb>Fmb?J*&qp+XIFYPE!Z(%_bglNNuz;2Dr?KSK!e`V+`09Ao2EK zVKP{6rNZn5T!dtJs~$Af5cClV(s(-ET1MjkcR9$yvgE9Kt8y4-m?MYM*<9YnOn&a@ zD~twZlw6mt7>NO_2fc=}RSebLPce2uWSOtj7KlMt2LsaX=U8*@=h&&I2sff%Z&aFO2KxRaB z+UBJsBGk}m|5PHgph5c9%NI(1`=mW3UfBxqeWd_z^%RVT24P8eecP!X7%R% zx+?|W@JdD5)aG4N+F2NYvHhE381 z5%h*cQF#`&Vf9E^pwS8c*?2c&Sr@tGoQz88dVmPS5cj*rkDp#%J{(`yTXsXZ)<)cw zDVQ-XjlX0E$c012`jMqM985=l<7-Da$n_@e|GQTfin|mamE$C@_m( zzrK~2Sf++N3z+58Y9G&3YHbVAq&Q?nUJt`&I5^0DQ!S2Rn_7gf(e5*A8LDL z%Z?+I1dSH6qmO`DRr;P}r>SxzA-hs?Kdk%i%A5w}dom-Iucayi7)E=-}O|g6JwPWuTteC2^0@_Geo(@%FkP%gG?lShH~&xXf=51&77+OI~p1A}j$Z#pdw zk)dT6yi6&kcedc{n}Z6hJ2kv&96IAstdIet$tqSb4Mh+jG_F}YU@VMy&t2Um`Cx?- zz3+SDYBK_a2h!CF;TAUU4&Q0up$Tet68gO|ag3*8IRm|wCqA%h(*)TG>(_fmC+4&` zR)nGqZ##=ENP--REQrTiV;cV_{c{TXt5v16YsQ9E5tb8KRC=;U42U`PDb_cAuWGAd zh6k)4of-(B02^vRufGBadC?^9vpQ#|U)${gu=je06C-2EI!rc5DS53ZYc%6Q%AXnf ztUxHnwDE+^KDbFO%16l9wkS2WAGWAa95>|~_BRDWZ841LBh2I$v>5y=c%sPuyTG*B zM9&CIUiGtoJfBd%!3dhYWqWSR28R5ELUB9TgE7ig;_3CMD8$D<04uG~X2AZp0-$Hl zRS7%R|Ku>SsB@@(s7=4)-57#5=(fP2%z*jff%@?I<@j)z)(*MLts9nlZVz)td!Gel zuEo=7bFW2a$ZldAz3yg>|CKk`8Si(uV3a7H6rgn%;TG-x7qedAsjTq3ryfSwZpIf! zPH5pSzR`XWOlYpKhiWyd*_L_4Y8Rs%Jky~acW0@fDbowq~#?@bg243`-)sAX>dDI8E6E#DILsuW#k!UL#JQ8j z2nN1d(NEue&`(C!VA#wV#46ueT-E3*{l_slgfBH3+Km+e?C7OaS6+5uQzUHqtlcCH zaI--RBzo6m6_annVI$E^wE-$2zh=jGr>^#O!B)1}Qw2h-IZ~Qc^Z;K|69<(m3dEHm z_7WSLS*4ddn5{M6gM0}G0{Y>tLfCYyWpn1xetH;#Xmv314d0tiTmQN8YCq{m#FWRY z6+m~4ub(v}l$KJ#fT>U@qRea`7ExPx1o%HreLrPsrj%oYu+kuXScWb6f9lLN)KL7B9Heb6llQgVS3WXPhcZ;QWjA7}eTlEd) zrk{S&dOm9o?`;a!8pg)D}mtXe$UN-|3lXwwZOxigE>0o zfe)WQz8pur*@%f%_p#4SuOB~q-QoHHkk;TirmGOi5{0OPxvdXQF}tjDz440m>64l< zdu~37?(kOY_3h1)$2kj%o3D$>Z1bL_4~p~3)~2_YfA(ZEDycXm=+f^B7Jmn2c>U=! zh8q=`Vg7=RMCsYJR3q_~sM1~Ul3V@R3n5NY7489lrRW30ZW z2Aw(MvTk4M9;e&yInq#=8QB;09`e~Tf!SRY;^P=IE!#dDYP<=*ltC!01>y)F%6(?I zKU)IsTknW5@K8)d0xOX8J5yL|p z9|QZkEt`;%{&2V8VdXPfnNULw!-$|W4!s4wI9s2-`B=4XVnujCAhFrngCjQ>I)P#_ z^8s6glX_?8i~}dd`p(zQmW~fP^!b_FBn%k-W!9t1N<`zHl|_WN*(F`1uh0cU3ifRd zk7zFohU=E5&q4+9ux+G{ zZO-foI50f4^A|ikc)<;_W7^D`UmkBu+A+VOv65z-ZFs7XFs>r=q~|O=wBSH4d4>pi z(y^xUS|$956~$faESc<}g=MB!h7{llSmtW78}7h-7kIEv8Q<6Pyi0WlVClPZ54J08 zS~2|0^0)cYxkA8`mi1;3@nLy#>MWY^5ACv18lrcFY}P|KvZcw1qWVT~`-mAaFm5*t z#>%QE`$}K2hrOHkw@bf^FUKI+g(hjH)Wg^mZdr|+byTl+5-|5JQ2v-!zLml93dhm^ z#Z0ca<2Y-kZ%H5f@zV<~k-yJphqT3x^~dFQLkHQ~RNiu2S-1C;HKM!wgTZ4JV2}2Q zlDX01DwkyUW8m6yuCCDa&C_%6Xio19+%>s`!|&rwp#&ZaPk-=Z0F{9)ygYMG)qnO1RcX>q?BEz_EwH z%~+BRz}?x!(aRbQsyRov?My~BT%HY!8|xQ-jqTrHcad5k+AxU*D>H4FW-mR-$;;hp}e z2l-E1c&B~Zw`^h0Mw1LV6+#@V#}VLtTPE<`#}{`zMVg`>ZISs0oXECMpFTyF?=&D~ z8@)vhh>Po?2p%M6FNy$jZC1qDu~Ou8x4F}NUYg*dTu&5rhgr7bqcGI zKikxMdHhWFfMAHy-sK65@mg`aqFvu2jTv_rv^-f1BaHl-QIYYIwI&Df`2|c4!L9cc zdWC&=ba{l%^phsJYZ{iR0Qv`T!;wA`a&%xAVf2Udvw?{eqC}o#;5{wzP*cp>y08w?(^MQbStI8Ut!-I+DT8> z>(f15J|poL9r7IOBT$Ql4Rh>w2S&^=rD~_uT(ZV+v-_&8{fpGQ+#fD$fUvH=V*hZ~ z?wmixq3RN?-%^An^6c2#16n!?jZ)x|%=S6-Ui235VwN^|0EIoMn_bic!7BipWvUHL zK|?@sBj=nS(FrZ`X6Pn`Qx(AN_^ z!&f6TT4+%wO7dw@hR{z7=>w_jIJzFA{aq|+%g&z@<%TC^y7B?jQMIggz;W0{2}VEN zV3;V-Ift89Mp+{|YTFr2%v- zk*zaCP&WXXjc7Gb*+oY#){k2Iz6qG*l6g#vchN&bLhX#9b$;sa_mP zMOhwqzGgq?dwWVLgRaZhiK#~sz|m5iQ~Yy^1-I;HgxmU^%VY0i_R5kLjt1`1URFzN zQ56oHg$JwiLxi$}2c7kj<+!M+T0?i^x$wddpFg0EfIHp1jo?kxs`VOE`-5So?r3AB zFT0}8FEhoblsQ9T;d|v2D%x4Rd}2)p-h1K)`gvVetFFcM_03c?9rD?;l(pGUCfau? zloSRNW9~uPkUF5fF>M3(oT%NSHgG4S8dbBO7w_3KQRyDsV+$@L|DM0N(f;>kbnWr_ z@46ltdxlCN|8(27bNz&u9Oq}Y%#WH&qaOIUyCiHhC_I=bZ9&lX296B?z^T~+XR2v0 zx<~rF(=Vn-h7lx~BHe3HLJ7X~)_`70BbRa{p1iP_ zom9;|nEu^6h0}hvZ z>E^=_J;2X*iP!u`L6<4FB}ZTVu?=@igZyl^zQ0g|NR@^Q1mWjs2Qqh@D8wSnpcdyS zSU4&p5KUriRDfT->cPz;tok+gJ_vo@!|R}MUCa<*ZStB@UXuMkEN}FM*u*pN%!-)9 z?H5s8ZBwI7%8&H9Fu0ma)>^jM4YdpdTByuHhiPpdblJ_5jPlsHvrc;;=_?FHt8 zP48wi;@BYGfCkf0fwTkJG=N&NjRnoXmZ97)E337A;BX^g(IY{-jevd7HV@95FLbRM zW@+uuNG$Fj40sYmX{b^T8-O*lw06;9IuA4B3+^J5-qV0sJpd6q(a?wuP>bjL@xfmq zb|pOZih2PA6h=s&DY>29ylB1Ufcc|pfSTaG{pP8TO`R2y=5*4W5|+%B$W$n2yKQVH zZZCdvUXpEQ%|27`FRr7n1bI1#CWf}Wt9B#{SbQM}C~vJ;$U?pV7~DLS@{nui6ncGL;Jt2IqQ&|UftzJ4Cg;` zx#fS{_-c|yZvmaR9cRSsJ%bUDHGr{TyQ$~kCK4!q`_1RA$r#ezNM7_pvmQjz{XCe( zEfOG*p=mbk+Ur9~YdcMg;zq!-ey~HH=%oBDns+~qM%~B(y+XT5Cps&L(0wnJclOXC zrCZfpPc-O>p*BaU*i=EoVK}{BFx{d2bGPKi3bwwuL1>I5wL*;zDL2K<2ff?vEi&=G z29Tv$JJ`{vP0HEgX6r2kENL)&X<`H(VHVLac-9C(^|50T37xBgBucU7xrYeb@)JvA z4m^tDB0dF8x;1j8qi5$iw}-W@tGAS22Vw##4uacxC5sCCBXlrn3m{4w+Q@FIrMl%p>Mz?6tIVih*yyV36{D^6baP*o{!7Zt(A&xDC(kcqml0dC*EScE01IjZ?@4Ix zi%q3sn6g~EB?hZzB6>|3G~xNdg42EFT~*3pT0se(oBZPgK7IOtTKBx139{jnNrF%Q zugt;DkXL}I!{5>l^Rkf-oEVKiEvn(6Z-|9e&il#}NqdKaTCZ#Ux*oiup72~I0kTUf zwp0F;`rzHJDf@Joczk+PptKc`n5Okaea);Mlg-*l%ST80bB}z?Y!nBDLcz>UNXtgGWOq1FMf1=~ z1U9F}7*y#V*2EkAJ-7y)v=yl>3hf#oEaJs8-|Yua5stl0Xc1%iP3X41m`v_a_J`Sb zSPC9i7M}N>Z^+Cr@<0RD@%Ck{S4OI|-Dh#?7WZlDX}vPKx?X6X zh6wacXIG4^1V`6PtBw?;CZs#kv2BRJ{l1BYFOFs_spbHxdl}lVGWV!%+;z^6##*4M z9~HfrMrl1)ygOs*w{?X5knVi0a<}76KjBjZw{>0xgI!W|fImDtl9m1?A~s~r5DPPa z>!f<;hB4rwLo+*$?P^ER)9$vCMtcuDEDP;= zFjSLibs3plTE=M4JY4l+7}?BsKbnMJL^Ls#oG>1S3zZA@mrKmEzy0N|-0eoBJ0$m? z&=fp4MCeig_chC5Fyj{7r&q!tQ2h@e534=!(g@nW`fBur4di5$P=qObHo?3t{UWog;)qA%Q z`%Nr+=u`!(UOv2h_~yfsB!+WE6+W5wc5Jts5W`3J$WI^Ajxyc@{Ct!N1rJsKqhert zWOFch%xdI(vR+?b-@dNhY18cik6H#R_ikxDF?gld43Wq>b@6i&-byZuPDnRt79$#= zB8Q-eoI9ynK#bXD?vvBJR5C7UtWZ`pJire0A;{l+-x%2UzR$xJgm(mmYRuGG>#2@R zs7@%^h+r4|NsCBiSWq2D>k>TkySi3ytf_74+=|*sSwObol9Wm3aK83O>7AEpnOj1h zCSlRQu>;N4>gJM*0*)Nl*`?BFk8#<{uQMtFpy^u8#Bu%AOS@r@ehB0epQ0#z_&B{j z*Gu|!t+fCypD*BPTgMRZa708VGp5DFO%u#m=+5{wkdr(#0*Lp26(H}VEwG3EV`o_4 zWw0bzm#9vY(`x~+il08c;023|u<2H7yI`2v=mFrWWS8Y#qSWop@kD_0Pgr$pl*cI_2gpgfkmeuq3g}S9-*;^ zvIQ%L+(O{387XcBxnSIvs4|T@*Yb-9t8?4}=T90)r3?RwOFVY{9it?+oD|sB0^;Md zC~cxGgGA1v=As}DbnWl1!^`fGnIcM9xSrT@z$E*^=r<&loVs7oE287jHel_C9qW>ng#CND z0NX7vZPXH*)i>cff2aqDUg7SO!_-^^a__x|%Rp7fLCJFqXJSxPIxiCaICLIgO!HyK z6Z&LDxt+_WbOP++08Cpb9a8EgV5W?1n?vQq)A6yCh53SK$V_hrg*~fZlT>;BdWQ#A zBU}$5TIydIWv&=g`v(4et5=L;YzlZfe#6PU*YmP3m)$yETo;W;mdUt<^yPkxcKbK1 zax5hrynH%7e*W;rwYUgpXXPf^RFt{X!F#6R_hP0CO*Y|4&8(K#Gpw zKc+R<*KUKcE7GxX%rPxSW1{<&BVfrVOFGSv^O9totFXu|^poNjj^Z4)hl)%*4xO3B z1(|Pe|H0dYd1%yJxCJQp8I5{u?9-VXOn#aJT8l%+bTYbK%8D%L0QiqNn_xD?ULE@BL3ANzW?q?bFAPFCSmH zn9*6PR86dFQ%SIn$V#=<{z!*CuLBFRZUd&3?HUuBHJ%nt9r3U+bm5~y*nH|Ujn6!h zO2cs=vOP-}b1d@!)24K1p}BT@3yBc6V7eosdZ~Wv42M3&`3L@AIt(72sa$uFc^t>| zNlH^p?Ng-*z!0a3a-EOZB;)cQdL?ZTAaN3{`C+%G);T%`#xS*m&df@A@E)&wy;d{r zbE>CGQRykTs^MF?Tt$1l zH}J>2axVR;*eUVi^IexLt&DK`5F?A*5oOG>f*u=|@0N+R$q%1iK78}?R&Vsdjo!BR zh&Q)a49PRaJ8vXrp7JDb1|N>Y;D_>C5x1#rD<|F;wHYV{Qj_3=SWj zfC`P8UzU=B*nJnJLo6$8S{6|ZQY#9tAj=&d+&>6?inRR}K04#*O#I@}p%xbc#z(+m zYMUs>4#t%N&;uD!&L8TGEtpU}x1as`UzBjT#s;=HReY{_wyv{xty+uaM-1uH)kYR& zUL!qP%W?zUFt`gM7)#FVpL?#I79E&e#(pZ}{{SYZ*~cc_d*%w+YwCm4XvEkBwmqjz z7`!e0hhG<%-oSChKo9d4O3{N*dklL6C(<$&qvI{}ft5ElpT%mDq(M0o9EcqH|8*072m+AUt=bA^rF zTYK`z>R+p_>z_UHLdx&@Ko$An^M{Y$eOzmWetrwb@gRdi1gfXv2oGtPbZki!uv0n{ z|8Y-k%2n4K9>2RVmhVpCIO01sDSrF1*4On=cs|S#Dtsr;?GWFK91HdFmR8bRBVQmO zwkZ@qve?-*dppbY>{&{utUE*1CtnGvLG;eIPMIAjU_D2S|FNgXP4F$IFlu$ zWX-)3g-q*!arX8S=e6E``T7wrBT&7r*g6FGa>GBxwYkR{OAY{`4ubc?)X==!c2R z9vACzVj?~F36?JI11k$s=$XbM=TNi6oe5)`tk#tPyqjsxYj!ga==0it0=O5<%1eg1 zxjp~bD@1OCYM;rsEM!sRb*u@=;29RfWaKv6NXIk+z1|>mF2-oo_D5u z-yBHVHqTQIRL+|(TG!tC0R6IB&(I$p|2P5ED%;4J)4xJ?VxUp|yLJJEI;CZ&9{+1Q zrCHXFY~pgJqu)L#Jo(2)P7E(-I2^EX8|74H>~tIEY3L=n0FZlPJzeZy(1OLSRzuv< z(_<=2s7Q8paM9DkZ&&%wHaIXeJBNO2e*X5;r*A)U+4|iis+MYbXJy^Cqu#+&51D5c z^;_)OwCPTSNdU_gLRBNr`_YLYw%V8xSaN3cA3(i+{mQSaZUHz?a4|+PwuNSxkbi$s ziX$wL5wKlG>kh39Z}n9l1>i1OY<7xdbnZ{fzYLfW88M<2ZvwW1>~qa%25hX*_?h?h zNN_U}662V(*YbIA?$5-&&1`(@u# zG@avYHUfKXK@asKiL$c)$`+_L$<&hQ%((Vwd*0Ui`8EC`&CP?J|$*e%_p6!eQGMcjWHx;@uhm6`7C za}3K4L~MU~8{2VH1&xD*%B06(Kk_d->>0WMZX(ecdyEn~ZN?YW$h@`fLrV8dm3p61 zmCv~&d#y#Sd|Hh^jz#)*TWgpa)lq3B$k>X;LIiN#s9PQ_Rwl1#bf&pq&tvJY|N7{e zD5KQyJJGVj9K|20S>`@{zT>@P zHlcHVrcC`vJN6zE;!zW^I*Wfe#q1syl{-1|>GrPFz!Sdzxdge|ZxO-w3~{O_kNd}# z!ho^R7-E5L+S%V?zl7H&Rf51O7GB(FVS9_J&)g{864v?+&P&d=5(@?4&P(Q`@WV^Ag%ts>y>y+IMWy1&nvAdtKvi7 z*^kLKfO?gIB$o1Nbf`jMqcS`QMy-0oeA*+$8cv0DoL_>P09acyOv|x0$9l}~;g2cg z%J8NmxGGbRaBB~S?71H08LBeD+iK*s73Ho5B zXu~W3quoT)TldEf8w1cnPtmeP+6KJ;9s7m4zhw1Z#rZy@v6dF7$*kZD*VQ9IsBGRIzobtEETG0T-X6~nGz1Py4u zc)!>qvVjisBkG}bA|46?+_Ke8BuEzD$WNb+Z-4k)0C1f7J?HvZ&JV7K^_lm*zZSG3rU9Yh%TElU+y+r; zZiaSf?;Tw^-cet0n*h-a#cD(x+k#@tj1sQ{hM^PO(>G}HMc$WzW&Er~mkR!NwCxV|p@siNMR7|^!;ic%|X@`^xOzun6L22;7IzXTf zeEZ#}kNEI2f1U9_pC=k&KavIcaF_K zf9zwSqJYSXh|Tj)z8V0tB+VV1?MAk)!Q?gcyAy#IZiK7Ug!J(_rc*%MBUYu4in)-r zU#wm4PZKUSP}<-0#8KL9dxL6gZw-^iTq>2e;{ka@mW6s)Q_@c{ZGkl_hk~=^dw&W)-Ecx!niIn(=ebp*wikFnFzGf5x)5j^t~7{p%ZVsGzhd z@1l%|lT+su?(+k8ZQWOfPMUOoOXcYTUtjx8vFheSfBs)Nsr5$j*odX$!^?L+d{YMt z7rg^^sL*m-eI0Yr1FGU z>X@gNdZW}Fcl#wavSMgEDO9dsyO(hJ8xo}dO>D_O2u}foMjL9&~7A? z7#?HUi~?QfD32^@{N;nTdatnE0XYZ~yyAsD6QpT7 zSX9*uK7aS|sAJt|m#n7%pE;$D?M-a2Y(73e>>Mg9@;JfY1X`sF@+_Ngf3SB zVQjlmjQCRx&2*)>Nk6a;mJFvGRA$NS^n`oc%qZI6-06K3^yrs4 z@%;cx|LOwMb^AF0)O-f-g-AZFvCzJU5DI`ZfBR{NXb&r=)pILr?@orqS9pCxuIx(0 zH7Pv{9DhFUV2XneQg_>B_W-Ilm$@QwiJLDzL*-FP^gN}AMSlI;*L^Ily7NNE`(4ig zk^DRV6nVD{-hW$ZPc0;~!me%q)-ene@%5ta>Jn9EzQjKt`QruO{`k!pQ6q328rqf7 zbIM)<=aKBrG*4nR#GpmqZj6+RRB9j`I-h_70SBnlC(|w_X3926B1CzXMCON66zpAH zRiydxOdx}NG@AXGo>Z=753P&E2KQKn>EbGK7^qD$n34s0V5g4i7T$Nld|Fb=O#r@S zlJ79Gn@lxOX@R{f3drn~`E#^HM2eCIJ-j8i1$9!Je z8Kx7iQO8peV^vB>#Caov7>~s5+e{+-kIGHm^O|G(^vc#7@$~oSdPj!@*Zeyk!KB{iKniDg?L;I{f>R z+w^AGuY`7hGIIzXnQy%%J0!1&mZ%Z!=`pq@u}32wtN5O>%oIH*PW${UR}+L4)u1h* zjnSD3$?MNpJDCRvA@W_*soB2EH4_*YygVwjC6I?~*1`$tE;^^s3Jb%Mw_Sbkx)eFP zPlR}ism79~eK~)RRc}A9m&*)++ZbWAL!4-*_u4j0DT7NzBP*O~`~vDBzjDz3Cz$f# zZ$@RJ(!C+s?spOgzWecW9f*~ng#AMiOwP`O#zihKM&?yr1!ZQ3ZvmdC+CEeqn7R4*Nnv){wYCfBtFNo!?S z)8Sk+!|C8yLLHR}4y$HZ7x&mWlFl|?rrAh}lHO7#&q zQ;Ss}P~ofdY^Wq5o|D7AWsQ+!$t4d?BPFW4v`|8giq&?jrDzk^4hw`Nol(3?#cwHX z1Vj9B=IbnKG{gpvHN@h)Bo^6z?fo=DuoDOKjd|{!;$=-AVxT4xSgY3Y_P2Eu4uHfe%i%(|v9Vh~Zsl0YhTY>Cg3lA7QP_7vR!l2*5507eH_Uc~ zNauK%H$x;W&@sKd{lhJA)%wj(-+lOe@RxPvx4}0C?EEWxz}EGNtbzow(G&v3)sGcU z<6rBDaen-~khk0#$ts>|QX8!?hWC+p44-Py!nXjBtF(%+-tu~uPP4*+k#h`Vf@z*f z6-jmxkz}nBFXvhSYdyf&XQ5o=um#pM(;>|PZr}Bu#SXX-5yk&b*I5y61bSuVu!M*r zx`chuJr~m2_*=mM0RR9=L_t)vwa3v~D4@8SS_TJ^n30=FSS1`$|z z$>0!Ftl&~y_W7?LKu2d9--p8)C}`c5$cnAraP{qsGua`=eud-}L)&IOaNiC`u0iNK zIunAPXgbgq&FI@@PhqZzr{?p*vXy)%5Abb${CIr+>C+q5&VW*$9U~u`AtfYD%IaI1 zlJ?fZ0;4Wt#CQN{wX_*OS%-eBO}r6xxR;P7Kk#`=rDsJ&S=jVX*U;Dh{L006w(0&i z_G)1ONn&V4&*o+n_ng=a5vUhyxKHUMiJsJ0dR)P5Z#CDF#&^*glR?rIWQm=@UZ|AO zF0+zf-{SK3+lMtnP)W!3v{VV9WVWqx8D>}O|0^#tQwUpXv$YS`i+|XM7?E`V^5BLW zYdxCUqep;e9vi*8v2NXhNZ}XHV7lD?KQjQi)!4lVf#oGp(~01&V0+iD>7~|$Co9;z zXg;J4To&#Mz%GvlCG94qb0H2M=nQvzt@OWm{rRnUPNtPtTTX#VZ33spzCui$G3b}+ zo>IXeC;sAhaTp+<3(AetBQ+1{qV!*Z$GWNF1b43NFqK#T4nvD z6`2msNIlvdoRz$04#bD1sj8gOdyEEa+_PqO%5_@=+p1`aAFI^u19DfMFUCvBLXLTl zr+~c&AMqeKBDv}gSqG= z=&5b<#0L0?zq>+9&WR4rV$(5&CG^v+LYHrIX$e$v`)2j}-r?#?XCnS%K$fMpMNcTs zocbEK7s3*+>lRHn)GRjKLf2S5bMWPGMMMwG4VK2@>x|hax#c~1=7X==eOlTXDOC)%?a@o~(#KB1iyUIzJCUry`}<_R;Xy-;qoD#H^?@Yqu>ttT5gKt-=t zGMs{yVC0B#>Cjv`HIr>Rbu}XBsBwvn2L(0Vwy@mug17~BA`mGZC!+qgi*EnGMm<3y z2}~Rja5tqZ`mnz|I1saY=T@V2O1xdeGK5!=_43Wj=bt{k@lBhmM4$Z~V`O=r#Vx#M z>_?ep)`Lxqrp3e*$=?o`gqG-*#0|yyP$)!o!s6Td^0%*eYr^-4kuf#t$~HP zXyuMDi}_sS!?uSgJS9qFwQ7C;!?)jl|IK36vC}0K5ds9V*L>v6a1vNN5y#eSY*q!b zibNk-2E7MxRZnkMrC`z6%u_erVykiKl&R)Z-YWoKo2@T%>iJ(UqgX(h^E z)cxSB5X=T`?EsbankU9d8m z%W)AQ1)@m#)!&(kq(W9-CVVXp<0$Kf~r3h_1^z;;IF(Ex4uxW_xYReJ`)VffSIlbDc#>Hgnz2FLD>xNTM&L_ANoK9h-&ko3QW|%%i8uH7ub!M)FOP`eV=R4o)A3k-= zjDQuNs`PZphReLfNy_?F89p$h;>6K*5b(g3gz(r4gY;myzRrUc%W+#680UQ$5WaUj z48|5Lit=Z*Z-Er5YK<~#eFhzL+iB!?&(UA7+wJwRvELBL`N4)RW3Lb7Fm)gt+00fF z$ulhwp>J3EweEr+rcmMzW86YSCK*gQH#dAc-(7b0y9!LbOJ@e{(%aOTa&pS-=CfhB z6O#b|w^hYCW5y@?;6F#utuGK5l|jic{svUdUc#0)@<^ak5= zpiZhAFy=~~EPUx+cBqa~Fia3wh`<-Rq<+_G-+ur3o0rdDH;%k2`9bXgNSI^S2q2z( zzvkFAt=9~cxmDB!Lyk=*P1zpvQDZO``*pt%rloI}a(sRJ08>D$zxuaVN6O;q$iE|m z!l6KCd(`8_>{>d8y@R}SrCOI>hhmIWB;{5YcJM?fsBp(Et zk+L&fc;F$pae-z0du8`YV_9gBADECeN6L0*fM59fx7Ux~yquYnowIv;LiSz*##_63 z!BgNK6$^raOPe=kq5H`^mCMhiDZ*)Hd-MCIP1=Td;umeIlLJ^z8lx7hWiMOP|B z#eS5Lk}`anTX?((;Ar;qBb=^k2-B{5P_jS;eU#<;;+Azty58tAf!KRn9)Jo#6LwBR z=)!F4x6^0b#$^;|P{+sFsYvm&3)@9ckMFnyI`h_^oSL57M8^mMW5k^u3$afH5vKH- zz@^9T201IB1LRn7D_I5PZA^~wP+;`so8PCbciXbG0haCo^M&0d6ruv>eAL!w{#Hi| zTWU&nPhYSNwnp}ciwnq{2RxK7a8IX?$My?sUV}d6Ei-ongjvIX)wahRjcTjXiyT|8 zU*@w79~FTBIcDDZ^^uzgK)!v)94i_r+Q2IvnYsYj7VxcMhe?+in;bZLC>Pnjc|hW- zXjC!uz)^9~rbZkpS(!0<1_=qP7y0dPK7Bks{!%|*fBQ1tW70fSaBeqt|9+T~oy_hxg6->2 zyW~}81!}#sjiu;OysnU=sh;!>fcvQFWP6V-1`b8j_fMqMtU({kg$zOHqj!u+CDTAS zh&?!J*^C`z#~#bOP(;X*RLa0B2N++1Qk_JoIII~PQdRn>T9eIlcDMEhe$h6JWtEO0 zwgA0O=XnZkbP`$zCpVepmPu3bz!f78+p6_}Jy&;pNl*>WkM7HQ{e{Fa=v*_(4>uVo zZ-<>mhltU_SW3Do#$0spnR5cC-jn)|v8!S%ZWt_DY_*Gw&tu}7&mVvD+i!8OxNf1! zz}#iRO2zQHqI4cfwn2 zC4D7lpn!-~lVcCbdo&e^zN22o?PS}tkbuyT;@nZvr_k8=!t^X9t}{BKhS+x4s$+v! zgI0l*L5@^B7}nJre%DMn&JrSoTQ_XxwCWh@ZB_%@z#1uS=YMzv?O~@(4KSL;e4C;8 z2oC7=QRrcF>v2odIkFM-tGN;Unu03eM|^`8V@UpOq@BK)B}@?(@(M->;)EHRS*d-p z0g3`t-9KzM06kcWm%@|gU@~WbT&&yuWx}Yg;Z85TWUFTXwH)FrM6^u%-|wsuWbE@d zouTb6pzTbKZo4BzXL$IIBJmz6Cu1{7xT8w0PxUz86C;tsKg1mfc3%A|4YC?CBXrz+*I)f#a5x-Z60+q2XZ zm%fuPZJQFHxn*B{*r3T7y_z%oKX(t(s{VM^rB?OS9wc#a_k4`2O{QK?5vGsNg+M<0 z=mW=IcE`rReM7E2Ijj$iW;(d3zC~nYqSzs|V(uNCMtOKw$E)~b(E371CTbiWr@`|1 z+1}j`D_anE;aLa->cK&vE-_Fe7(yKjYKAQs+lffqq`AM{|3Z#}8Bc)9JX-P-t6$do z`Sq}Pny7PKo-nq$H#45O{B9jUY(x2ABX)Jb-8;L}b}a_+oh75i%Hwtn?FMr7e{^nX zKE8bT?H|5>`6M<|JA*nG$r?|4CXD>9i237GNMuI0e0fh>x;_r}YQL{=VlH1TG#0>> zp8y{7 zFFGv$dA;teu30g_ypb6zW->o#><}glrf*~A-K41t%0umANN}hKfmXq7`O{}tbZ9y% zeP!1h0ipV$f6zN=O9$ULdZ1(>QaP`(lD*&4_F|qQVSz&%H8QjWx5J5UvbI6KegKZa zzQdssw2(LxLrm!L8TboNWw!KRSVRCZBBygH3p^B@7`hM(YcGRr7)QKriSPXrrw+H* zWeLchVh6_?AH%DnEImVQwRpfxFM0?&)U`qVaFr{LwEK5{qjA_w{P_snv@jH`?|=7A zy>MMwW8FoH5^g!Q4~wsuY=?-MbG&aEfzv^u)-?VMU{(_*XX>0{+{Z2VUmPjqGY0&l4 zGj5!PBOsL5$;belKAiNp{qMZ#qGj0iq{={+^{(BPyS>e^9eB$1rp~H=kfXg&ApJOV zFN#6K)Wc&3h4kFR$Tz@njJYE_>3#veMfc;4*R)t=%RdX>6YBEcME%moB^4Z4(Hcq& z8i5cn7e|d8)D91Ioo)bLg}OEk3`d?oFY-L?l8*-@bMw|O%zEY5zrF%5W*&B@j)d^$ zA_@iJgh0&sw59oCLZ71FnAY6~LvKC#3m%oSJzs<)i1nZOKebT!;m7Y^K7Js1KscUU zF&IvWBHzRdaU?ImLhC4IVe7dln`AY=dS(p3!!J^HXkVutKpu}+j?ZRTj zz|n}bv{7(nF10BeNYh;rn#gsm0Vbeb>tcGG7|*wOqky_!aH+utL3HTTZ%sCc+=PHEdhwQr`ISr{MbE?XiXtq9O&J~SviHz)u_%!*` zZ2tNBWxf3>>Dld4Ppi$X0 z7TLN*gF6^x$QuwM9>lF~hmvS5zOipBFZj5i8}Z+?zOpaoSHAw|8;%!^#%2dUHWr-9 z)QAtqKr3j?w5Mo=v4 zH2Bfl7Y^wJYGisCQ!-{dV@HMX|5YUWOs*hXd2D07UdxwUxN*-*$K&S#ugQPIts|LN zIoybZ-u)LE-Ukl4FyTBSj7cQ{eUt&eds{K)lo^hJR|FQESZL#~($6ZNZrN3z|1X$K z<>G^Fg?~G1U`a`W>?!s-%(#2IvI#64X~&lNx?$jb@0w{4HnJL)S_<3Q_6-L z(UQio?TY)$$Ac5In>QdotQ)97X#7m5el#a?rgr5iDs*CSzT+M;KDXINw5vhdFn!;} zvUj}#g!wqf-^h{kRXA+mxEmSvI%R@049M}um(MRh{QmnlzF~pAPs^i{1E2szCxAy) zY-nEl&7C7bsIY!mB1EXz?be@_!F)mNPvEeE`-qNJN8#(Qul%wKwNeudUP`ds4Btk9 zG%0tYaB0qBzJn&UD`w+_J&Dhd0iG8CBjmXnXDbK}-@W?)eP7G>3Nu2XEydXXQRN&SxhJeAD53wbao#>S15@Tx{X*H(|F(b_NRziICJI2P~ zPV9SOwDi_8&@`R>Mn|eGo#w&Q9oc}x*Y*0BS6qaT!@wm5st+7Bo3iR5f-EMZZhxb# zLqi95`u=*HCb%)i>b9Jm#-kx6$@9@Oy=mFH#WMvABnqd2h~OVaj;aRcu z-u0;xQGjmxtYq7pKHA0t!YI=s#`~H$kJkg&`zEw`xt&sZWcyd+mXt=`Y`cWY=au~; zQP9I}c6Hc_?04Jk%KgN(yD2#+Hp`UCnEnb~pNn4x5M!^6pniz3$0oPDNvp=q6VxBM z_Kf{)X=Lt((P}p_4E=Ab@R90EE0fKbb*0&Ck}QT|c_RsF4ipPZxH-ybU_Qi{&9`vZ zfgmkD#Wc_>xDOL>g4eybH$j{))jLAus)%-^1GOIABQFMi*F)xwt#wJ^C6RU&iJ@k9 z0nocIMxfuNfM6v+myF;6#Nj7?gcj65Mx<(7x_`8_-B7#H11qeZc9y7|W4t71_5=cQiU>H2Pky(&_@l z(9S|wD>La?T-ToRN;$f)9XrSOtW6NJi*2lN3iuP;+t69R{O7Oh>%w7%9d<3Q`Djmb zTybDnzB84RExUi9gKI_(UagxMDs$5P1FnJ)EQ+q=ZiZ?UVBeqw@FyU5wg;8=!(5z{heTubv38XUZYNnPXnZ zn93tGfo?l-rVz&1y2j=wMcvF8C00E{@=#PVfAO)IAYA$uX^XhsB$cHWn!9R@nrjS zrY}Pv6iw?`Co3|g%d~(m4GUlyUq@fDMhW`^XN7giUYHi|XFzQAnjlV(@LX1P1T-TQ zMgh>C{1TQo7_Fl9i8PzCA255_d|V18z~@NXOtvj+dPu^-0Z;G=WBoA7+Z?&)CDhV~ z`69L~M~e%avsv2~fX`jg($h##{sDNloVBgoISkgV1!5IFLL{WVjHGzmU5yYVMQq;EMk5m^L#di%=XYm~#8TX*OPS;mu)GXXsIh{x_^z-8 z%O?xh&)AyBJ+$SFuFs`|a*{ux$mZsOcBE%+` zC@Cz02U;F+06W7^jc8=N#CSV&VUZ~9`gE+~=N~?N`uNQ{Euiap*p9+&)`j^0!mI+L zGrxHPX^T=*iA#c4DK|vImm)bJBZ^(*AKxE3F#bNrzTVbf|N3jawFF2oTCa7C-M*t0 z3u%QWjJ-3Dfy9?fd&t{HTic@&pR9Pxr|Nt%jS}{7dYR7CQzRA7O^d+l*}_dm%24^c zJe2P__`FOsq{K9?Z>oUhlbe+Su8Oa)9NYgREj!0tY_h`FY6JzT;T$E#Fd3lEHOe%z zS+LMy-*SxBs$7moS3)CO5jY_#4AGYQYcC+RjIe=Y+;ax}BA78V z^~gDJG(A!8nE|Gx$fy@ShCct0uUy}L`^^tOeXD?~dJnQ-XYb(>9pqKpRUxaugDFjc zlc|(}Hj}GC?*ly`%s+VGUfGu*szJML8Aa05>Hm~kq_!=&46ST(-x86e0(H%U5fSX| z80ONLqCJ8N`;56?BvTt?CJUF|%WKc?e^4H={*%9lwx0g@R&sS#(}uBX4|VB`Xg*_j z1n<~^I6aaU4U$@1PKEx>=0_l`QLY=idQKYV8etokXWu4D{!dk;=GYPlVFa?M7EPwZ z@#f7cN1|9h%uH03l82qsLRb1B@&~nifJw#e^7F~|3b7vRCf{&Rx%l+a$V@X`Hz-6bwu#Q$oY;uj95B9DyQ#5I6^aIUta zTM_ubJ=763ckUtD0S0E0IEP}{O9sirW! zN0)-P83H34&w*iWRz?{MR*_cMLbMSbLCwsyT52$Q4#fy0#bcs_D#qhM?=^A__eq14 zQ*S45*d3Z%#5jU`%z-j`x0U;P6zQw2w8ks-Q+{Q^*N_9j(-jh!zb%1j&LR!?$__85 zQdxPe%glkh|1^n$OdOW`@s!KZbS(LLjq?6s3OL@ZYav{(|Ni#+^XtQlii&veMQl3Y{UE@Vw<&?~xS~rv;(@Vt$Fya*HZM$vN!#w5`bpaZ*mkVkXltec<}BI# zY?QD&x|2`{rjvGzo;%BO6LXy4Su;aV1W9+P(sfJQkBf?k#GN%70vpY+!*ieBXqW*= zV95?=LQ5Y!z{+L#fF~~)BQf1)kc&*_(Y>eLCj!DymxXq3eUOh$wnVUP?i_YF-$OkO zhOJwqcFo3uJ|#(N4DdVG*`EH>B)tQ;P12MJFD3^kV>QH#sM=@EgvspOW3P-UF?+^k zc*0tQZJOL=?-_WrGa9L_?1M0mdj~xe)(toln`75w7DFXZLptH>MB?Z@kdoX`0;i95 zOq6{&vtKcos6HszJ5YuKAKkdr*a>%)jL{f_o0r4j>7a9@*&;g1GOqYzIz!H0kKFlN zaw3MOmUmNFfMJ<! zHm5IR-ms(o_ouz}i>|kFR#SMk!p_S_`MpKzaQ;(xSGaFhFTC-WfB(hz4r-X`lFWU6 zN-{2+cWXBHch*e;bMwOtvx7^?Y0!q)m*pTJ0)<=Uimg^s>O3uV*)fgQ8kenAZi(Q~ zcEOph~+t{J0xwTj~Wlcg_oYo4F=ldnh zS1Y?R(rto%o(%_6DpqYJvhVsa2jGi&{OfMC$QU$_Y{NWiOv&S4>=* z2Omm5Z~QM8-F%}4*Ji&hGff!W@G^phMS@s=eSQ7Q>v0^lQ|sZ4tlZyYkYu6aniMb% z(x&yUfH5JZ6!j1;{#fX^q1%$o^Pgc=Eh(7IgaPw(tW|5(V(}G=;BWu<13uR21IAHx zSP#(G=a~n*Kbk|;KVuJl22gD>NZu-a_)#g#Ft?0ZI6T3+2_6upv7rD6!j>4_jw$x&nw(qpemc}vOSgL(5IPf-YpljS9tbcWph(iF z!@HlN=9_i%l1l%PDjeQ~tf zX-j@xnc74z2~KR)LILILs2yz>zZb1yj0gtIZ7O?VLnFIxV9|bZuE%P%Im`3Eo;4SQJt9_>~TEhKoy8awmgdsiSGlKLdt0SY_7mD5Bvr#zhuxHNIT0j5m&)^w( zMG?5TpK603DVTQ2YNkh0sURK`fY_t8Wc28u?w*B?u6faOC^P`jNvY%4a$5I&Ig(^d zq7+o_(@xqOOVAk%*N3|zNz$#od(P->@!e8mpQ^bvYKN55V-5F9Sdl=@6P40s13mZS zjMuqo-3<2ij)KDEg}Lxz@+-`&m+L?n*OtR#=mFi8!~;f_0j483&~E|K+mWw52|jSG z-0hw1)ac5XtkE2k6#)k_INriXQda36qe{$tJuAP%Nt+@slEt^by?*`c*G)OrJ`eXv zI((YRba*t!gHIES{9VRR`~JM2Q^j+`AM}umw_n>YQvqiC_UhW_vNZklhaW$FelcM& zZvv`ZYQRuet$8{o;)tk+F2=lvu}qjEAgjO%7#_@WQjL0v*eEMKYOF?b<#?G=d0QT( zjw~0YxPhi~0sOcVZa4@V$7a85I?(OMu;;y74pmJUzZ##{l{77*1H^K(9J1>;gvP2` zX@=NQuCVlYiA6^bZS!{Nc5pZHFkeDH(+#ElcaSBaEKY4i-Et7~O+}D=2-o4J>m&Yh z?Ruc~p>kBp!jIXHbRiD}2|D&k3J(Uax}_4%(IiYeAWPfsJqWm54W?lT0kgsBLMeMA zc;pd=a0RsJuIgD_Xscli6+;?5U0LU1g>Xdsm&rV_5Oxr2O*uc;{Jz>(o_9?iZ%Vg@ zbEFZ$<*gv9nZu)}BnCzXeekEqPm^{k6vu&u8bMgC4-;t|stDuig8OKWAf#B+6XnP;4(J)jQt1BNA&&=d_J@BC zV;cA*3*p1)|7owU<{qza{PG`PuekQApmfhO`7v9~XG8Eh&3*$uPG2_DqdMwV!Qx6^~Ct%dmGcMfnBHmXA4om zuj}>qfB4OJKYpV7n5^#a5&Q6Q$V6&{@;#BhI)BoWvNG17vb zG9+(J%yP+nt{>S#Y+ZK*KVq*rs{UO=#US)%dsez%|9yGD&LSbWm6O{Pj#e$hlB%f z?@s2;9AD1XhGj zMzq@O-FC6v?=UD5il>s|f>UM9-jpP(PP7*1W~s?eNWG(TyY+1|`ayyAP8lxY15e7@Dw#ch(4h8Cr;tEU`IMTVNkEBD-aAIY99wMlHiP32xg)v9)#IR+-) z2{?9_!$e-yQR~b4`qwWA`O^Q>|DZ2K``G4+r#E5)89+awkRikzn4gSN^I1l#0@77` z`w7Zn`7||xEfjcseS7=e_dopj(|2FVF#zkwSiT#Wg1Toehf!}1-QTUscI{l_(ySbg zmJQ}gVj7Mv?SUQJ3`^I5coar`E14O?$LRAS_G^Nhxh?}I{Ra*cc~crPD-^zri-x5< z^SsXikEY+)pH~vnY+)@DW6F*HxFDZWNE-WjEkT5>LJ8>dUrYk2sJl>y-KE0wENoY zFttvkQqQoRNM$bS_T!q@*4+h#hdU+Yud$J~E@h;G4AKDUpGN07Hko&Sj5a?GGaYBD z-R6iOKF|7Wr|*9JCSaM{Nz*^W!s8g04^Ft*X55+lta^xp93uZ`)x;DNV5k+} z`|(E8;$rRd3xC1!%YS}Ze|v?DZ2nAT#X&gg`}{68I};Dj>!3S=GkA#1*(_+T`mRnz zXC-bG)t(3&M$cL$FHMv#o`onQ4M(1wC@S4g<9UXvw8K{?YQQ?hQbJ+ewcWUFe#emZ zy=7-i&X4(>r+Q`}N9c=ey5bjRfRxHtP5G{?L zFf6*b%a%b*e1g|j9-YdE0l*d$TOx($8QX3u!tNfpJ-#*LjDga0`zzo6^XrRnOoUgu zC7F5=1lp6$~9O$$9-Gt`X<=+7PpET_rPHJkTaa^ zrlr4>)frV?kyPfpCqJ=N1CJagU-B4D&Nt|X(I5fhX&DT`cG(MgXq?mxY@j~u5%Jsjy zk9kba#_hKDPaDD7o6b$N&=_q|S#*u$H3{%~-3R>lqO64tV}-2*)}b$=L(6SnnvOJ! z`~t#Y1ivrg!AQR2ZRD#@F5!C?@`15hQ@pK&2-`W;J8sGpn7K0_M(q^XkToL#-KfBX zfO%Clz$%p}A>#fOS)8rir!K+iux+bIS`QsSSWcx+JTOcnhcEPdsPDgpOdM_+_9oEy zl_ojrWp#Wf2-EXEyMu@b4_EPv#n)yuTma2P2&IAI91OAQhd+P+?N6Ubo;ET@QVm>V z#hOXL9vJ4vv0M3n>ueEIS_(Am#460oAfW3xp${z!ZhGaryyWmP&;k7I-+q4k<<0Wo z(o@VBf+M?=wy<)TJxOGdv;B|GCX}E$={KGXc|Are*xT6muY{?n%~#V!2N$H68t@8N zSfnj3n5qhA%G&_GNh=aCQhQQMg70lAB1;|PXhm=c=%*=Nq|RixrONL7FAguZoU^fK zpSEq=7()NjjHJ4KhlnInXA5wHgfFMa!}cK+Qu+(a7$TR%u5ERbHAmM9<33UEY0_nT zD$D*LeG9DXaB*Y$e6uQ#H3*AKvy?%fFDRD)uFH3$UyB!e@OQrEiz92jfU4Je{r6wl z2E#2$R__YMnwyaH;D@HNrj?6TQ$U!l< z!%_y&a0AOIXgGiBX1JgF;E5*$t5=fL@CRrSLO5BWT0+}4@7VcxL1 z7H~#g|C%6HCSaI42$!=^PHABv_6lwT;^`}~D*v5zAR_b(EwW-zq;(?TsH4p>JE+DN z466qX`ghPnx9(d&3JlS4x8zXj!7SOHAZFPv`*C*PD3}Uz821^N3|_g3x0cKDZ_Ja` z`%O#pf=BM{r^u40)bNCMlg5#4ou}s{gxbqVN{NfAWrDP;%=M7%%X`0%NQj9j3TRA5uO{1vD|!>(BLNoN#7NhFSQ|e`twOwr`?M;xSbO*R(VpRX#6v!wPYg4F>3`xvJ^2k8g=MXXM{V( z#2q|d|NZOw`X(+ehS1Psw%<|vIR+m-JdRwzX&c5|e&6lG(;`dMdtDiZVvsjcL_;pQ zPm&YDz_+7#@K68v6JD@3!r>%zlq>b&C_`z1t{MHY|3#4ycZ2MVK0?MhNR!#@ALjnr!Ui@7ELdBiyyO*IO5yNU$M;A zXe3077E2Omd2X|fzv+P-wwLoUX1M26I+r4Gw%mn49spek+XFgeT`+^1BN`p=uk1Jh_S9!cRWovlJ%Ty6oT6InAJ zW1kBVG(ba=TOqow0qDGxj&Q~hxLL6yN>Pt_n!ZXU?U|Ocl@|OCcGyX^i0Z@=mQltg>e0Xn%rW` zk&K^nt-QANAe(MvE`bIVVIA4<{td*1^9u_Wa>p{i2``*r`)?&O_9w+T-+OWjnfhbBvKfKu(P>$j`l4U%ej;{cTQ}_ zGWA2X8S(W$zOG;S_w@gGa*W$P2y?Y?2UF`B%fMROO9gor58^Y<;|}A`j{g^e1k#V> zvgLsOf#VC`{^5_m{rC;u*23XaZKOLE3JC0Fx6aQNk2joXpWp|YF9f$MnkxPp<|6Ws zBe7Fyf+mTy4Zi-l3e_=_9AzP-sNm354K6bES8&e~z*`XJ7CF)Kuv`Pz8?_Q}l3{9}}!ppiNiYWKLU z%ijMHol_J#E_j?e0ET7xcHbjjAvnErq_U83LvY(q=@SzSM*;5ndSU2byltM45c_#* zr%WA;=Cjv8ukK2%a`~h~;l1xL(dE>3;ue!o0pqU$siApI3&~0u&6+IYe?1u6-~jZJu!@c+n9swo9B$G{rGwJc_* z_cxV?{y+rPpvNrB<-)EoOkx6;hxL(YDLPh11LaficH1egVPu_)jOyl`X;0)0L~_h z;!s%+s38-ej~j#|IF2XCgm!5D`oDg~8{Fy$23Zcb)6UdFw6&>&?UK1wHw_#usN0eT zjh(dz1Y23*nb6xTpny!HrrIOb%yrVdKiB#w)dQR z%-kf_jOD%=&2M`08>szC?X5A?ucTd$IWG+1&8*J{6!26rA;C&{!;}xT%*`v zUS&AI;68Zp8r6Y11Q6pGKjRjI!P@p>B)6>g_OWizGWWG1g5Pf#pLyh#7X==WRH?0b zGV8F2qh9~=`u6Kv5E%K;0?dOBQ$dbFMhJ%zQ8%qs`AMT;&~3@^o*`+3J~^$)Z)sO$EDFya0Hwy0#nq8Z7ERNeuH${bPKIS zSw4LNnS_?dD3B69mUDEH_ZX#S%R;JSd*lRkcJ@H!>64imyZrK!a%ncWcWT5Czq!26H7XlBsWN)8>_9&awS2o8a0? z1BmGPHj^M|$QCJQ*;fdVha-z%x!jhnp;aZ7`39>#Os#XxgK-qGq#{rcTl8+afsYIyhgWCVq*WHk+hQ}rKgs;b#(kfR7pHQhLa;sM)@ z0P1b=%fJ1KbJ15#{Bq+%GkHR(+2L(RG4B@SXpqa!X|?>caMH#3-ZNEvWzrQ{7OG4D@Z>1EALM0 zsE9yvf$}xDixEMS^IEcYY$YtuM2xYgk;;R+={z90gy9Npz7!&W$gK1`R3G7Wc^r8A z>)YEeZ!gCOETxrm|DSN%K{t*DNz3(b9n2x;NsnS5GajsL0ZjyLXAsi&;tM%Va<4pg z)Y`(v0|sEV-nvu5&avmJ^-^41KYjD#iV>**H%uIUp`@b(xFDb*D=vs*_&Nl-FydLV;1ff-At$qafG?LQYt0rf z0i!{K%m`bPX~ZY(lG?G^L{pSk09l1le&c z8)a(`l{=TtZ=!3K%r4Hwv#=yuab6{WV*?OOT|^FzXVJi*m8E15UMyG_*5g61Is!l4 z7pazVa{=%=V?YG>$3v8i^CjLG&YJ zW;6|Vwa|^*XNj=meTuzh3MkGCy8$e`YXyXXwaRoAKOXhvZ(m;j{nwYm>cJlw*;T9D z;$U}dD{O5GekEVF8-<%jMH7c&fTh~TEGrfacu$-HUOF144D*c+)GKnKJuj+2{q66i z5NO<)J$goGKRWZa4RU&uj20@B&Q(2J7Z581y4;lj=z|vaB(M)>4C?2IIAq`T<&DYV zX+9X6r51ijb2$ayouXNoQ_r14zN7er=tAo?Be;=sKx!JNXb-E9QBWP+i>hSVcLacgGLYMiTIG4Kmbf#eK4G`etBEJ ze0>S-{e7tS2v92PeL`amtJUd%6Zk+fwmf{|mN2+uf0v3j|0|~DA$3tTCl0UV%QqkX z{LjC`v37fK%>>~`h*@(-teTJRAqfJlfR~Ua5*;HU8L$!D2;T^^`)%T`_YT%{jfu&I z@b^#Gfx_28bf6s^0dx_NG86-J*Z?+hO;MpvD5DRYDFaqJE7*3izEjxtKnkDAid?Ej zJC~9XS`=}MIipOZed(0js-!{O|3uHC<74i6-HATJ3iLu7dk~Ji$YKM?@?msb!{uOx z&Etw#Vktn-(;|o}w-=9Ih&4-ptHZFPMw)Sz#6L1J2#8!Axf8&n)eswaBRGi=5ZWGp z=*iG*u{SWfD%!QFJ*A~N{oRrwz-R0EU8gA~ovgzyU9 zXyCmYzB}F1RA>ec)Z0)But918h}Oqc_Kq5j`&HM`PQnK?ah#Awx2kW zJCxH-Mcms;H?kwN+f;#tSWbEmpg%-`?JqLNVP(>2-j1 z$VZXuwoPx-;+n3|?u^e)hIT*PmCv>4h#Cz{=$G{2GJXB*luK7G462YR^7V-m6jKG58WY?E0mT|gN5B@s9ojj^XLk1U3M zB*b@p^kssze!*v(=)Rv31t|K*z}dDgbZ9%Xcq7{qg%%^#-mX zs-`F5^6!*M;fIUs)ZBeDBg9kQ9$kIJfPhxqfqchS>oxvE0DQnqWRSywzxsmwpN@Eym2N{D6XxBVS=W!J`R z&}Pu4{^f`y?+Nt1nzE_EZk%D?B;K=Tk9cTEKgc^v1-^mHV36x!JElL~DAykUNuz#L zMtgcqOqZ%M;I4vwe8u6r~=y zt$!CCLqzjEaB5c?XghXoMQsjY#Flub<=E~J!TDPQh_~a(%md`|xGcolI;?;%d$x&@ z7GvYp>_|HAxABxZhXuYFAYR5#F0lspJk`Mdty=2cE|5PPnQwjm7!lL#n?oI=aigrT zRX|g8LygslG=N)H_sG8`cl3xuWg1X~lo5F1H)0PV3Skn_<`A3xdns&?m%M2)=x}|= zQebY?-h(s)I1I`CUNlewwl&M+XefCx7=NbCE(iGVn)pf-j?DIfE}|S!O{RSste9IE zIMoI&iEi__@NV=~va~_rhK7Crdr;gjTDnbS7mQE>*qYpvDsBPrH=;&Uk{G!&LVbBI ztgd24Ekw?UpccxSuG zLnoiIB1eXmuLd3pZ$FKE(N-}YD!0J(!)08?#%h(e$4sq(eCN{kgtMNvfR0E)pe`wu z61($B3~Tof`@IV5R|0Z4Clwu90T;5e-pQ84P#yR)aUjb~B`-#@-X34U!#5GQcChY% zN7RV8A?FqkI$oVqa19txw;|;)yQI_+rKpjThydPcmlWH=(bolXWsbta;wf_*6m>*< z{2r{ga0`#Q*d28jX=^$&?sG!sB)zH*9>4t0UuzLjas=sVE>3{h^@o)+Qo(TBkV?E- zq2Tg%$|;Wb>5J_GpS;RBAe`G#6H75t#klzOr=Pz2>G$8gy{+=WfQHZ5u>k15iiX+g zB`R~YB15out?eZ~0yUzt9_)kwquNL#Zte_@a)*|=Ku&Uv2Qc?@s9&iC<0U+eXBBIE zf78+X*I?IVMX}y%v}UUGVjb~&6I@;g1$9^-~G&c^pQvA-I4QJ7I!+`aUM`N3+2Zx#fWcSEla!whB8R?Q%m1(97 zoo}{gd4bVz9D(QyJ|c_EGJCt>#unQAlLpXJ0a|=w9dj%q+G7`EHDfuCyzoor2F?1m z$b&Hh^xag1_;v@D0IPb2M25!Q|93DQW47M!lQx65QchLk&bsz5V#d?|%I0o7cD3I`lPL+86Jd)$w2tEz>Q}x|$>B z#n_0TsfRxt+3e+HKTytf+anLC%w2=r=mqs}zy8~=^#%rWt$plS|Ij9QuAA_+7+p47 zDMo(O48xQgrFmdxfFc`J*`iSPq(QR$TW8dOHS9M0Ptsdaz1#uzCxf`tWi#&ixcG^GN(p=OO$1c+CNUp}Xo@-dNyDx6J zroeRtyi!2E$)VT(O4&Zzv6ZRr1A*Yh$_4`P4sYeKB`h?-)_IfP)D#*dYF-0l}ng24{eXcmgbxMb*&%& z@ZF#P>GyAI6^^>nTk6aNptgjT_Km_pRa^U?I^9D&y z2feKgyL?r&0W@;A{1#N$t;&QtIL>6x^MBSly>`;_I-DNjQTBPY8$VuV_qE@c7Blu4 z;<9)tIo%#76GuB`)f$~p5biu41OLxSv*HcSR(1==;MlgwApJ1C~;XR*wFqq)334(Yt76i zcseVU1M@H)!XB<|H7w^)h|OiN^*&9R<>zY8XrwH^z9-_?Q0MOLuc?iS;q%eo z|4Lx6&+7wK_=w;B>BrB<=dXM{GboqL0AE0$zrX8>JM1EW6;Q{A^*+-j;2Xb2K2`sb zbPY$tjYm^44wU6i!-Fo_S$YBdBH$|V?Xb?da$<1jxQ~X&QoD|WaZp5m$&oqPgDq4 zS3b~KCM}R~e7>)Tg0v9!v;Gsbl)n%Tk52Al1lpbd%YiTd>&yCO0WX8e_5gz$n{otb z@YX-}E=H~|+6OdNjC=xs`h>T|1~-5;J-vP|<@&H(SA^R-<3LrRkj1a-_0z|X|M2JE z*M|ll1hZYMFEm-&s#SMc&veLpag#5UlIuBO=3Z$2)alYU{h&J<&r9r|*7FWCd?D1mkhhr~EcUXtWvL$I9 zxzcXQK8+xQqA!{qGv3-jIZWLNH`?u^Z>L+(F}F;YMGrxX!1O9mpajH@>d~|&0_eRkMo1^4ME3Qd-%VGk7Q45- z8{8Sk5?}A(8-}Q!t=^=EBq>d?P{p_U_zA!Jhwtk+JTWHz4=)&~ZxnMi=DDNO>&J-Y zf$e?r;Ag0V4WIpB-o?}rv2IuOFfW=$7x#y%s*VF+{{7c4|KDGaRbKH|Cj~IP5wvOl z)4A?3Lbh9tM}waB%3x|5d7rIH@yri$eJO1-Kr3Zf&-xpCwLBy? zrE+}Ywu~?AK`U`HZ@~q3t^P?E0&1{=4tfF?Qm-R7e`G5SHV8&ywND!Ft*-w9seTBu zxbwx@$JQ%dMxb-cw&1E{ROb8Kd#_QYTh@))wHyGI9nviiq=i<={A z3=8UsnX~QS>u+yg|MJDH>j;Ey&1eGn&&U|3AmrCK3{5uo*+A7hKW03D8J5T)^kijz zUH)s@jMJ2sTr8qqQKjtkp3DWien(w38tG2dKU2*VwNBE?2ng#~n#Kp^g>pKhHJM%_$}x5XYK z{)hQ-V4hyq*^daF3ageI%>hmoAUVZ@2+~kZ*LCPL?kVJ{%|HW>&$s^AZ39gV<=+ZA zj(3Oy8PhA-S=-&~whz^TNc1TZ%Xu@A@KUT0@9X}A1 zMWj7r2f@K+*_Pl_kO;`HKHga?nhogq18JXtL zX;8P@6b}bql!>NspKBc&DH~VK@!fv-_8p!e;YeEYM64Ds(xBKIbC-`Y9gaBUV+@x0G-du;7le*lOWk zl0wR{R|@K8CkXW4w6F>GCZgV?%LpB8Z6WO}qaAmi;9NFoV7fGH6l|MJNq9T+$8xwM zk2zk18)IWk=we?+gKXuwXCXFFo5cRE&C(LJI&KzyPCnmoOvAjus1b^o{;xLV6&*Pg zun^xIY{RBxX@~?abh2g>*tfch6aHgTPAIyfn`a9g7;XxB3}|0UXlfQ>&RA&-gXwc! zmbyQ&ZINqb&=$)OTNTAp)V;^|+`1bm18*v#SGK{y)rOsJSVRY$m#U{8*3rvc0lx9=$3K4myPtk|d;NM!rB#z4$N4o1 zt?P+fwrgfrqH~zWvPH{n=;LoYk~z|_&Dh?=q8ONVLYAX{m{W%P`g3oPk1zlFW&Ldd zHYT-=_=wNDIR?=H73MyQw#{=2D+^fzG9?jnwnBRO=)}f^^lU{BF%mQcd7E7O(c47>`1ZGNcdC1H2atRDEFqK)BBt z)dV5AyKvQY!?%hy`BWl1SX`@F%X>p3?OY2>T`OqgXc{M)J&0y%<0IdUY7Tm@ur*?E zLtpoATZ+*_5Eq2kHb4cC+r5wovu_ztw%wU!*;Rs8cWB9O48p~?6GgOcUf0(x;tns( zw&nF%p=zx7ZaZ_qu8FwsAp+4GNmMyK`qUvs5y5jYIDN^oi0y#K9daa@~+J z(iH5Y7?#G`Jh&Y*T~^ln6r@u%x4x^6oz?0l!wcrwOIKL`remu zn{PgSdc8WgD*~9swc1+Z($7%oE-?nJ6i2uyTL^*&-IH!ixMPleB=-T<=*ydhE=&n& z+4s?XB9z(g5w&E;FaQ2?ePLVjPVo~t+V+qyy1f{-Lq(rCvCWG>orq+WzirdKq8ePS zcCXIZ+8YB|lX|lb?U>bd(**t-3c(0%KuG&jkvwX-C3A;1syT)Sps9*vaI#Smg?bkoLMU-EmFPfH%q#Gs zQG;svErzlT@)Xg6x7>60!UJAobsH%x5Ake*;;(G5h?^|F%NDkCL@h%@O-)iqc zEWZ5Tzt*}k4B6}C1O4T~2-v1{EX~A2dc+;BX-lo{xcOvin%xR+AI?pAm|7g-#>zE2 zPk`m@v8UX?^<{ni{PN+?|M-XFQ`J(;dmV)lKfeq4h;Xpf7_(i&O@i0>MvtE}$!^)_ zC@*lV$LbDYtZ}29v`uv>xV|j(IzjWLW@G}nti1H{D6C+{(tvol{Wd{H3e=FT(U)KlMb^NVQAq*}wc9urHb1y(?#%-Sw8`xDb zhI9zDq+7jhVP?;#(WIqi0q!cFeb)P$Bcr@p$CFfCLw)6nH^ujd%g*8 zfS|jFS<~Q!mIEmqO4E{FRJqLEs2#Z9uFo%MZ)iasp=h-m!vnBu->TwT_)x$5Z@=Nk zFIYZ|m7mUV+Su&du2s@|NH$&yl_Tx1p9{t{j-`|C@_$N=SVye?M7GQ-Uq< zN7YL${Q7S{*IW04wozXi<{T8MfAyX9)uCa8t>ZE=Vyu+J2N?&(Fu6j9sn&c zd-9;g^yTz|XKdacX&+U4xSxjyD2$P;ccm(AJoJWkCP!$RgPTm;Hs?LUIqFa*F=)QT#DAdQiIslTP2I17$0}HAuPl1KD7A%Onzoo08J=tr<2N2hO)R-ev+>2k9MzA%LX`nwoPz*<0PK z0!~PI=M6{5oBhgc%SrnB$j$;CT0BR>>c(V10(1kynt~ znTA^2W{C8?Wd&_xFJ!bOvivC;UxC+eU>jX`ebK}ztih5{5)=g#8MV-~44DWp*74PB zFVFR%6LlKM*;8h1uPXMSHLrw>C}E{Mur|hg7>2eR(#Q7qCo{HcDD92mo>9HYh_S@8 zWz@$Z4KFRnaHpw7t0bAhz~B%su37x{JDyRcI-%hWo+r^LuQY_oVTa(|e0xK5#0%%V z$QdDSDp;7?2(&ym;O*aDzx=OX@N!7hg={`U5kJ+hsrUrWqQr{a}E1#f$nBH z4TZ0fmpk4xC5BB5+O67FR~UZ>z7tK;ph|Y$ay0wKfa{=Q8AKn~`E33Pzc_OzPy?UR zgI^=PG@p8cmI}8)QVG-v$J6t4&+C{s}c=OK%eF1;3 zLA3@h`3nI6cU8-61rNWO!&?nh%sx{TBU#{tK4DJz=0$s-DQhQV|6_g3Rsmrb0XJI@ z5>GIz1Xxm9h2JAi80m@kG>pRw=<$gr{ffn$&wI`}$w=ox1c(|!5;jx8S8BI(&mC!mg2KRRh7CD5BlQ%DL6qUya%nZ}3 z*%hc&UDLx!{{oDHWU*GDIQX4A8>T_5(bVr6D(#5aD&3XtWSH0)R!Ax9m$fATr z7_WqL9f`=u{%Z zQtNP_ZD;(0KJHl*6-t14{m_Xw4W=?~AOs)QmDia9+Xs1zMY}~9_R(mxve2y2H(n9r z941elN(5zC(vLLtCfg{th1xw;YqK4#)QSgE*b<+S^FH#|+}ICX>d>zwwfxHFXR!%uJLRdcv6ojdDODA(tuv304fmPso@e~Z}UD7{>? zh${pzG!hV5HSx_IQ(#`(Mk4lF%~(CC%z*V*BjVM)rJYu7Y;Qj$=(qbXoJMZgwbU8X zS$0esgnZI0!4&<-Ml@&Kr$qUfpA{|Bh_p7D39^}@s3sRUpAPu6zI*J2|u*Q!b*Av(Ro9oqY@#W?+{_rgw)c;8_7qPFmE4 z?L!)Pb%02J{9cn_^6d~_$j%Hww6fCx@2Q+^u&$`P+Ah!zI4LvPcRkG*WU_gb12AX; zdVfRxzm^3jQP+D8$kr3&>uddch@&vj5$FWx;SaFt~{H8>tDa{KL{N0-_rH~>D6=oHjPduiZk!`Kj>2z-Kt1MkVcBaQ1V$I zi(o`bG)n80&6TdQmEIIudw=<}&}-(@wN@NryT)!JzPXv>3Mju##{;2y)839$ZL}VY zUK1PHvh1(D9=juK8x#ST7N#qZ#}ydnX@AEsi_=k)a`t3+W$W;r#oFuH7?BkdHUqHp znIhGwBxWHj^6ui)k(X-)zDhQ`^A%aqlIQCVc38S5@t2msIV}$}ymlk4T`t*LoHZ1I zLtPaN7Zd$&D;R-wGU$n~^|ycd+Y4TBu5_GdeC)v5!|P1;=V$_ZU~HBeIjO*F-XUgu z1p4@Rh7YI&RLcacWRxuq48cSn$F*3e{g<^?adEvB--@XEiuL`6Pyg+I{|9`;N#{QR z9Op%FTs7gb2bYIKY0;w63-8m=V97=;3?k{_W-W~3uYi-v7wiVHDPhvPt*ze+2hM%X zIfHb~nt%i781`;j6n%z{uYhG4PI)O{I#vRO!$Q-#^@m3o^NM7^PR^s*XS$@2i|gnl z?cxd(e@m;Rfq{h;`#8C_QQNA1gnTFxsVtYY_1&NYqTCo`X@wroZiZlcXEaW?&PRv6 z6dg3nh2_bJaVCLSs_|KKv;Fm@alVW+RmCA9UuiSRa1;rbvJ z$yGKW>QTKKrrPvp7CbzspFP`!$l3<=!`DXBNtQ9b6p7K(LDBSW??K@R5k{RC)6nhG zYlfxfa!s><+abD^Tib&SgL2bTWG<<~%r)ul%27cuvzxc46+Cem%Vxzwk6h`bYE$W! z($H~&P5Ime8(x(?&=WqO&ZNkF>upGZ+zwUX@%i|t|NZy)cx=tjT8r!apVJ}SJ~S(R zJSbqS_N8xwX;v&PCpKY$U{{C$RUP#MY3)F{w$QzM!2^}k##U|?*8|TYJP+Yt|NUqF z=K>BQ!I~ls*fVJ=@y-eMAIpyquZU1tc3yVpWzEj11K97BPrVPQ8=x2-#k$N^=(pC@^nJ+tiwJd~0Fo9y#eU`9EYjt2px9nUfLps|sK#N$!_hW-Dgj4xu0&Zd8 zgYw7Ic3h-`agf(2iKu^0ZjkM-AeN46{rVKtC?Nj-ETfB_ntYRQwK| zh9bjXhmPrf2oYDCTv9yKmc5Y45aHr-2z4VMFuhS3h7!^lOPnujEASv? zq;U^5vvXJX#Ijc+NiCwA2nS#vLC9yUs@BX?E+}@O2KD`VdY2?Yn?R!NWn%S8<1+td z+4_pJDp_@tQzNZ+<;vX1L~5OO*TIeIGqKVpQP*xMLYLAT$FSr{mt5xkmH}kXey|AB zS6uammCy(#f@fmTxBjq19Y5ncug1~?BD2$gAO6QCzYn3Qv%4D?hVSnC!h}bpE`Ptj z$!zi-4@9&nkffb&4qK3Cl198V@AE4mJ>{{h{ZldxY-K zr7tjEteLn`ud6=)_M3nD$3HBtx3_f;o0f9P<8oqx?e@F|?+FXXILx%kk!P1*VA_lw zLGk38OLH{u!BWw~J?`{fRQHO%{r8{i3-K~G1dJ%rsSvn(2U+|(GzCk{x>LtiCupPLcAy>zFpJzo^83rNvI8Cp+fb zQauo9dT`e@Ho&do_V-Xie5 zKBr!!#AuFWJ!HP=s%#2VgArZ!%2G9?c#1YG1Z7FV3XJ&Foc)JlJ(U`_S0AB(=3IyN zud{r%_+ali6RyAf%P(L5<7@ijff4c&g*#oFA0EO7Hb8ba3SD6(6R@?!14xFuzn~n= zlRC(n+qjM)cH-GNk9jMuTC3g`7QtWm_K$!1%};;&cCEL-!Qi2_A?D~;G3Asb-^Y+; zb5QH`kLaZgl|ASL-518n8WCj8CJsd)8(jI2!SROez9b55=x>8#ByY$TpGrjg1w|n5 zq`RI~fhXP0=}(p};h_R-$7R_TEVYGHA<-<;&Qk*CXdo|`TfAkw9CUARFV7xAPyK%z z8>?_Gla=8i<8G5R3C25wKAL;ZfNiF`3)<@nr=c;;`mSm{aV&}tlcIHwJ>x$?n7d%RF3oth#gKu2D95whB$~7xz z{m51zl(MnQyvS7YV_%3=F$O&>(*R|X+y~NnFghP00q36X7uce3fY?H|J6g((H?AXPp?LV# znGl8(MAZSJju*VX)o=d%?eG5d<67RuE+ReP4y+FC`IuBZqF(MLGp4E{Of=|ZlzzpA zB#|&tm^pR4{Tc;4(gUW-@<68<;wyjtKYu>nUX-&=V=Q<$d`nL_Ovy=XT=XPl`Lh`{ zBr37RBlVk1L)T1zrx!l-m$t4Q9AZMiGG_e@dguc9D#b0&a2ixlX)5Wa#HLtUeW7I$ z#^hl6N?;}>DC&bf=T7#4#CRCh$6hQQbKtrIwyR963yGlWu)!9_ixMuDA)B@9(M6p~V;g9M3xv*RR`ug+#_|N)4uwCLDDtEj)kYCrpi~cI^Cu*s= zJB}nr-fpRptzas*Q2$y_FB9Ydu0Lug-448}R;}y*9DKtn)USN|@w;#T;lKX$##dXs z(v;vK+7`;wzoe!IcFRpvttCO2yCPL;6)$Q5q zPi#?-sm@kdylz>`6Z$%TEf~Bw-umGE*)RX}#vKQTNEhHSMPE@XR?{j(~eC5Je-iEr^_r30}$+4l<~CZlgvBHUuESeqj; zjH`8`7vLL?H#@~=!A{p^B+J3bnb^JKnfc3}! z_T%?|_~z~H)rHb!MQ^Pe>5}tOd|I*J=$t*Jd4d+Zr?=%-uwaK#c)YumC;0SEdx3(O zEBF8RW&MI*|NF1U0b+%{n3a>DSg@jQ0ZyyHa7b46Ft+o-J2|3S9M{D3o}s;36Ih<) z4rQkT3U>p29;eGQ3t|~eYYot_v3^{SQzpV?l91!Liy+Rwzw6hf>&f2`ME!6rM91*4 ztq+nREElMt7MPp0io3k3h$B)l8DSiR765zdacEeM)=-)&%@{}~f7tp#IVX$Eq$KQe zr9oGP-7i7ONTwmeX1kTA0o9e!p?l@x&h1$aeAc4{@zE8t5(%oRu&l4$SHd|7I+|J? z6>6B`X|yOCt^cT>|F56VB$NZk5m8vV`SACf zT?8BG2F-)RxEsvn<&#ho{&KkgO~@yupp2~~2P}6CzvllTcMR}a%>PqoDA?(wkQbDpS4;Fl zT4t>`2xYF#?esm#ZiEVn5hcA7>8R{<439x8D6yY#4`8^0vuvBxs)jS^Rz6$fXR}yy|xy8T+P1@raBZ-S4sf;Vl)LBl0c&Kwv9Wl-2m39OAdesKA zE(Y6i3nX!!wEJl4n5s?#EJ;L!KkQ+BRR7CsO<`K?5ZN9#<%;hZ;&uS}rDMh$Q;9)U zGuDcP+4D;3J#B(IWmB5s~N9Q&wV>=>l;p+BQNhvWou@x&s5IvHm_ z|7I({dj3O!!PlALyv@EW+X8DF%}wtq3TKPViLZ*LP_2=jL`Y9?!$9PmmI|mdS%p4q z_Gmv&TBrbZwmuEcZHPyO&XA}2=@4)BvH%~b=1T29uZ-Ve zIi|u&(qR}rbQxqAiD=q0R86WoDr5~)Ghq^U_ZXB%fq6z)r-oc7h);HC{V>cshAGA| zn2BpL;C^r`(0vxI3*3G*YIeA1mmRb+N(P`<5CaE(GjjbyOrLgyE;JnW^$Jw(g>FrYV-G#rHs zOiw1pzw#9+M_46(d^asn=(__J$4&s{0oXaE@70AA|mI}b9fm* ziCr@E7O8E`5@#Pa3K#fal2uf?9vbUu-N+3Z6M-T<6;@EM`Rs!9(!WK!&3(omDvD}V zpR0V>AF8?C_6TkWge!CsR_2*2Rl|xyJ?fSxx|OEmm5`iMU-Y$>0UE)Q26%*-V|~=* z51EU-js0rLaC^mompTEU|M1Vhdo8{l>#Y{~cA9Dns)LhT%iF`hy*(lM0}K3bu2udhvMo5@e9LsYbj%7*=S9>XxV2Q%=FB`u$~-8gB_ z9hy0DTlSv+=YUOxQ#l1E7IGk99n|m9)nY**gt#H8mh9hPW|Q?QxeGm-)MttHu%E9? zXSFcl8YWJu&**8PkEMP;<_}q@ycONW`g(l*moN2&JZz8GlRU&YA451*HNVrWW#1!_ zD*gzVLwv?1?&=Wcc66-epIFbX@z&Uo=DS*T4kZ?=zP_!0_|0#B^QZ4$Uti(6trV*b z&B66g9HF;m2_1{!R7XnvG}GH0kiA|%e+Cw7X8zJOkMeZ0k|m&kP8&o|_i#_kFv24R+sa^hFlf4`*4CG+pr3polOzclTSQ=+6`BF zGa}J$l1k6O+>9N;EmVzB>jl^1TMLg2pM@*P?Sb@orcj45eG+gBt~)Iw0h%E+VT1l$ z%;VfP*z3!BhEK4Shd|*4I7t5CpMLYZfB50o*SAx4x_Cy=^l%s>vL;o?>G0=+_x3*b zBHl%D^qeytmp4O4d$*JifOtyleKZS0P|My?;1q*99_9As6(q}V)H^=61 zkx=MSQ9bbXJPlJucp{i~8LRB91f78D@!7+A6KOQp%FW>NgMmlyoI7|RgxNkEr{d2Q zVf)M<&p_}{6eGgct;E+UX7&=(TA7)Uj5@TKaKqg z7OzZ0dc&4yqm2(zp4pdRX~N{{$98kbG%4bf{JHyQ7*YT0fB*XBudj7rzP|I_8z>+r zIMEz7r~#`#s*X#G+IdTNJ6RZFJS)Y0v@_s1e;69{Ec{@8m+2;57X{^9&DPiT_QUtz z{?q^V`?vKPbS1@_>hrixsr+60K;Tc~8rB zo^eSVEX$WoCWbkB56~7LsZaKQxda;BC{>$u(uc(5KEK7Dx@c>wOVpH;d;r ze&9HExx2dX-Qv*0hA+p#zH-jL?jsK|BWz%dB0W_>Zs zC|F7SD`||nA>(|R>#PxQ; zCpO$W?m1@VkK4d(LI>`R2qvzd^^lb-(+(}w7!hUWa7?+@MwjUNk6UYCIhO!d{qq0$ z&kyT`4OCd^McvEKW&dG7Fw)aWTepk`CZZmIX*JKwFoI-ui{8z?)T*rk>SGh8GA#kA zuUhYDoJM)HwVCU7O?uwHi#9ear|n(OR||lZ1)XLGR9)N3*jlNFjGJ$-%j}ZuYl9nu zO=ckPBvRrqaltfXwBwu+xwF}z&KU0{N)H7Q%ksdTU73OCq|e6Vw?6UgRM;ZPipi@K z>td{yOWZABVFTqTC43{DQKrz|%a+n!W+V;4v-eac>@=JMKDvR49q8H^Q#B<&<7@=> zp@Jpgi(3q!qs$lbMAg^-`^%Sq`+6Kl&(8jTjQ!cuZP|6*iOsRjcQcVlAQJ!yq9=L~ zAVoqFMKz_c6y+uy;fM-{|54iye(|II;0W7MjjBpTi4-YPY$Q^o&}4I)@9Z`Fu-BY( zjJ3~Y7)+9h+nn#5efC~!t~tl}4QT*hnxuL_u;zBq)8C-3o-7KWPN?d-<}BXQnk~hE z^cbv%%OJNtf(0RvN&?O5e{vq22j+qKW*%|7{op&_8lN45rsN&hsQSs|S`~K-yi(MOPnKa@tTESiXB|uKN08c3x~D%_{A?*F|aYo)%>l%w{vFEE)MY&8cIf zI*2Yw$hk?Jj$c3b&SG1aQMEdLYh;gTt6J18R)JoCW#QFt%4|rEMuvB@;gVO#Em57L z)9bC4 zaj1|2V%-hr5*#rQL$C!|xl}cfW2Aurj^*B*2S4+Lcfaw&FHOXeQP3yW*J`vskulCSCyS^B=?BuN!>D2670GK7-|-E&Wn9IfVm#Qu0<@z9lqRqo?nKYZ*uMVs43S&RU@gpzOCibzUHp zjkOX6IgJJ_c79PeYwy=KUagx#dUYQEnR;gHY@1U)wm`RQb6W$?+cRh(QyR?nAmn{h z*R8e~BW~cQ^Z5Dm?PQqQObHJzvgj0b?7e;O%Uih$Qm9o&=NWvL5&Vfu|Ie0n&$UFFE9B+7h^Q&L|+?U@!j%VDA09Cm2TK>BKG_>uupww+FD0|06&Tm5@jpKW*8k)@a_}yTSYKH8VXQ_F^(iEU8rNdD&f%5dc&KlU{oId2< zSo&q)G5IqeX`dDOi4LOI1o|fP)(mi~RIwU|s&H#&qR6jJf(w;(RNHscc*_b3!0@Dk zBkcG_Zet-RF4{DSeOF95#HLjh8V_FuTk$Sjs;7(jc*`uRC3zP%A5ne@Xu`hCdpL(Ad@ZO|#RN48R#&*Sx9z8pu#rELUA6^>IS%QkLSHSnVv&iQQ+ z8%-$3!}X_cKMqM;V(e2tX($+EQzr=wo=ut~;vVxJ$9>FK^Z83({qU>b`jt0FYNE~^ zL121%{iJlHj)7L3;MSZ8#amF&0G_b!{1 z0)4{j4-LzeNHki9SeZdVM({h2-Qqsh`mLFk<}8yuf<=y$2Y7~M)M!MzE7H5?SB(p; z{Z|!I@ik2m#TF-2_flCSD9x$B$;_g710fnGxx?|;CD@%Ny+2ikW6y#-@={V4+I(|_ z^)bhV6wUP~xBkYXX?s+wtg=MKIoS)6Hua@?ly9G#Nrs*r+t)K!yK*uTT zL64g>5Zam97gIl?T*}PArknOWzs@vNUtryyb2Gj0vYgYT$|Vlx4ogu{h!K6f4L(9( zP3z%+cBVuWpy$+@pIYq&|63N(;xq7sCj8nrzWDyT@4e<5jJXD*iL{bN9lNLF0AMk% zY`wNk+YggFN&{pM)Cwm(Z{?~6tm#fvfC9$G8B`)|*NY0`O7+YQw@?1$6THT?CmD3F zhCD>+jOXSRuykZ@P8qqFSt3+1x^DHL`*1P;f5Z=dKizSQ4b z>=kQ7(0!<-@PKpzWRso>!zO*^CdGsd=dkY*=UZM8uow{lW=2--JZLt{3s-q)=T+6| zeGM)cd(wsaX$|Y>l6pVT7lWsH&DYxqYF$ZUqjbLe`w@FTTfdZ6v9hFSs#*d!O)ATF z$}WL>ws`52$_{)LzS7Kbyr#DVdY;mnqYe>)IwY)RA*|0j!PJUo&O99!jW%UL@aI}V zXC%OGnUBhb*U=YSSf##CbKdM_!+F7HPv3hn8R?J^ctW4f7yNPvzKV(*tJG+PqGq%S za7^(2;X+2w+eLCp zu#}7S>pI!QUMa=q{suI~`F!9wW4ws3eD_OyF^-rAmQ!PO{bhH9!{pws@b|b<*! znmve#yJQn-U^RV@<$l2Q^fa+9+93U!j#wXSAQOO;;rdzIqMApa!6wxflgMdfg`Nc#rDY22VrQ7rk*^h z@uIuGw@yH`SrBQtQ;Sl#US!mmjBcW784gq}<36z%9wq5nEkP4&^MaIWu1mjh1IkB& zSrsJ6rV)oa7uAuY01i{d*tX&io%TR1M$YUD^t{p~+U|$C=)k;;$aSbHI={`IMK6g{ zJ=S3v))TNtPe!_$4AI|ig8_vfo3h~;8H3I4YsbA|9EyY>e3&h23B+TUB&ag>>oUF6(g}tc6@)jEa6|DO>mJpl9ihZ*8)1mQ*kY?XX>}v78gQy3r_1x& zq*&A!3}wK#4RzaNkv>SOs1!Db)Yu*A2C;S1ifWg>c)RXwAG;15`>Shn8bZ^UqqD#W zGmJ7EsP9P;EbO*!2W{+GWu_HeFi&coPa%i`UWScEb?&@_@S%En8T;64D8p4_=RjZC zZJIg?wRcF_FW_aONXrGuT?adOWmr;~s5tF3*{H9(8q(B#!ARz!14Ma1NF#XE_TNTj z3PhJO3l+qRdh`U0Bd(GjqM0XqVaWwPOVN>)_Do3y`^b0W5mUrOD64o_MbZh!B?zz9 zIDtu39%|^icTr48#Z7Lg$JW#}?_#*dfvB6WWS%36*ftNo_rW_~{nnT6aWF7>Os>$0 zl|i|P_Ml5fxHp2r`vH4Jj;lY|O~lw>NwJG=jplTDBiNjFA$FI&m~+>4?^?Lw_Wb(! z)nC0__#K5MildJqYaB1|9&^SIh{+t>wG!yU#3llTeune}Ho0e2Z##0Tbs5|+n%z2~ zoK|7WTnK%>{$0~}wgy_8^m=hby>a$K0qtw{+|chJCA`(yC0o`g(i}Y&z6Ak=AEmml@|vvRsZ?_+BkjA@;u-?R)^@F!Ey{nn zOh8?ba7jX$K~P=(Eu?I&)ONhVa8R?&dA zKDK6b%E0kgZ(jb*%W+Z+PJ6w_91>I`bu}MZG0$Te-!6**3NA+xrIYX>HO1!(DjvE6 z!*?&k-u36DM6Q27TRn4Kyi>XCuaUvzP!Kr`nSIPYv1_dYd)V~ht-Z9aOurU|%kaC?DW}|(n{DcWz0|U11 zCVAT^>!!-en_;(tK>=)m7VO%#&v2ABTt1WztZWq<_m zi_}}=-kTvI-LgL87acowlHDsv^cG}G&b{kA0D@JUXCYO=Ig~2^OgGLkQ7_wtP$jKI+lwU+?M462_o(X z!2Y=Qwb4hl^9entz8v{C$62h5dmLZ>_J?2m@bhnuXJU<)$r)$dBr^kSngv+g6r?$U zGXaz)9eTvUFdouovZV##B!Na}vYB-wA&ODgq;GqlEA#?9lA8}h^gP|3KK)OhKL70- z1QsCC)!LnrJW4&D{*X-4ndU9f(GV7bgIZ6lk8g zU=i`@eDlF)KKspYeUUiMH(p zhsx{Yzd;`^*a)~`QZqg&7UzsRm0sCq#|q6H4dwju6wuXB3g%lWpoY!3iP*C#b|uFc z+kSyOq{RNoR&%B6nNi>Qcr-T*m8Z8~8`f2QpaTzIDeQH`oE=@PmkBSI zjcw%rV7K37+U8|A?}`y0|HUu)$?QR%oJ%WU^O6=71}!eDoBD0csjzwvfEvnGR+(IE z%IKS7zbJjKI#0SlA%Jn_LW@XtWHc3JU}QRzF*1P*TSiCjgwXpi+CpUEs=EQ#Yau+g zXSaSX$Ia?{N#Cl~dwxzR}v-CCCGAu(9O$3v#hjRUZ>(l_cEsmA6E83n? zx)5#FAMa*-H_;^@ch>I&%9g3vkJ1R8SY|$+SF^ zcEt*%zMC20A*59vz?d^kXsWcUvW<}M3LSCPNrm1eYZl~`*|7!VPR`yJ&+bTR2OxdE zioDlwAGXRbBtAvV!K`AY#upj^fu7ZDQazI(%-Q|RI!UrqJnN)dGYrU*-y2>Nfh?)- ztdB>T99qoVu)ii>j;x4Qm;;1!sWA(ZfoYdZe8sfr&{dH3G+t1}W#b^+mBlcRM>qt! z0ZJq>FzTVJT_jch=s@JQmvOWyc`X3LsE*8xGt0Luo$vZRvK&Yv?yDnQH>BsB5#o$d zT4mYqgVOdV~kN_@Q5)FzW>2HU;pN>95LtQ5$90kJOg;|-lvs_N2=D?Q){s4 zXH=IQRV2mMbL`ODE*#-zY>h`01N0XCxz2afQ52%dwufR2fOCHQ=fA)kE-!d_2dB7( zPKYvLen(xc#aOS|Xq0K5s)Hr}R78x%YoIeE#MsCT$XG5N4aix|HHvdrT{UM~No#S| zqdU%33XUZ2ke+HSlWN-PuYIbmn{ATKZHgTDT?Xayf14H$3TGx{f=z}QV|FBLLfY~9+cd8ucgsCJ8s80J#84?bZf&( zXPWI4&F@j|PLw#=(lMGr(z3*r(3zXHV*wsBdBRLDHv2x6p=>d{^eKf_mzoaX z5@wFr`!W(-;%mVA-63u|8tgR`Lt8ra)+Gv_EbI@i>rN2rNLW9NHuIB4F;okhmktAS z-oN;*_rLg+504}D%qML-u^e`gc?;~W7KKR@s4F`JezJ+Uc=pYnDY6J$c1x%>dZV{M zI?=dHtu|8|w(-gc@a6sWUw%3cP!9Q+{XQ`-lfQLYrXAQRO>AmNSv07Bkr%chi`!Wo zv0c(@4QFmoD0ibpYZ!COCoCs$i7!ZP#AeZdv{hLhaTM-f^I&Kg4-Z_dELrG0vc!&= zs}t7=YBNAv&R9Lc%@3S`Db>VS9p$WfhBt4?Is z{V|aXEw?BH;oAAg7$~)1TC5kgySr!A8H5fJptMpZq+&HKhPDOR&75)vuhKk5SpX{} zRhpoN)Th8?5o5M+TI8eNP?l&L^f9p)h9#0C^eq`L3k2sXXV1la3><%R|MV|D{opq~ zIOd##m@`Jwc?Wn1zW{br=!%hW@>^p&HILj zgHUy$OzV}ZiizWFtuSx#hzaoJeD#I*-v8bYzxAL0?ax8P0B_m+nOqr2G4sCT*_B%F zW}J8Z}W(I=@mVV62FYPKcGF|`pj9Uwx*=hQj5@x z(7^4C6f&?thYqf{EgzfM!HMdfEg>FDm~?icGjFG0cKs#F&Dm!Ha^TF0RXax3ZnNKE z#6A`}m*&w5>iXQ1Tgs)epXKuG^2p5J6_5jjiMn1v7IBtB20hzK8(Sey>!z^5MJ-Rr z0K7DUDPi6tEUEhnIt$BBH-sWP*!x8rWxAIyZBp5EP_9RU+RFgMv8veNWkKMXM%k(8 zdeSOW#=`8L{bgwTrey1Rmg5$fCNj7R974r%o${sGk7n5*avr@#L-{Z1{e=WJ4+hqu_S^0{lH$xGR*lzf;KmS|`y>Zq7T#jLX!Wb^HVfpkX734rEO^+6+< z{W=20NpZ@6sZ+a20=Im>ExYru# zJUfkuF_RxXZg~Ey`}1ENH{2@t8Rt0jl%h|Q{?|a94PD8@*JL4>S?m=7v83Em+@n%X zQX)4ZkYdkrwT>NKKy5j}Qrp{%lgr<1ejW0LUnSpJe{vR(xAu zN4Z^mX91k~UcF~Se_CqRQYurt5GMGe%(VG0rP7b(yk=2hTkid+H3-wX)f`_7K^ygO zo8qA|(})IShjiA9pNdPz_;-GqXIF3yE;=o(h& z3`(Z8Ck1GRS8Rkvser8$(?6ARam+X$mKboEb%lhHul@2hKK;{=$L)r|Ee3|BFG-)S zerl||yJng~5AnOAxi?xoBm%=D?sV4YmTrRs^9qi%r~_*i$y612zFo;IlX0A5=ks^R z6Mp!^uRpze!a$>Qd(}BEHY%8$M~d&wO%bvl%gfLrc)HN#^%OE`4fqT@A7&G_#cLUq&L2DhZxzXVL>=A{M&~~4_xqhAS*@@_iE%qyUI|}Pf zai#I?LKJ959dyZ~_hCEunkWGi_Vn5d;Np6>vyyX5YXymTLp%JsnJVjZ7{EtXxfa)< zWo@9S{VLVkWj5UyHPt=jxm7s=eGULcYOdRBh7;-pPhWTEWl(XA80xT{%hbgsD_a0f zQ9Xq2jfSa+sb9#8ooxX_j0*CpcD-929yD$>%Zw+?d3@%>cfS7hU%dqm95d!|wuqMN zlHQc>y4M(aU5K>#T6e&TVeZuTmRxgl1YkD{Z(EJp1!;iz2l+d=;64@G5H6<=f*5@B zUtYyW6Rj56?IF8V*R%=fiv!ma*ZIYAMnW=`u1yWqi?b54I}$|v6?9Upr(UXA2z|C# zD|@w>A;h2J6VxCwwRZg>B`8F59&}r)S+F zglON^*EBW*)$Y!zD6!3&C0GsyMd{LUf7f8;>YZrZ5t8@HDb383&IaCMM21zV3@dB%mWyNG2jr4!5CZ;1@!ZO zcFho27T)tukIqan&6qqR2=xMTb2Mw(C7_bqO+KO!ZWY%xe+Fi!gu3B2j|MeVnmSAF z2cU8tN1kuWQ(B|%ZIG(izM9HZ_nLBY@h@y@?al{+g4pt;o8+>2XPTr~69~FYtJUr0 zS+6p+^TQMOGBwM&<4V^(K5DnozQ?Mc#=uZBUv0>fjWVh;0NRHsdO2?Ge_c9ewa%)< z#V#8vL!2Zkc#3KW{7LpL#vTBYIv-x0KSc^Uy-$*RwN7GF@_#oEe@QkJfGO%bI%l|~ z8+2fq9f76R*`PZ{>6xr_0A1B(Gc$@j+kjb-H433SZ@7_Dfnmz7fPX`#PouDZDKV1k zrk|7(YX805@;fk_(vo3M6lkk8^crOuG~47^bgJq^QRgaTvt877AA%;LpT|3zLTF~@ z_&yOjXAz81?3q2nyY}PRWh=EC*|!6fFNkwTm=PSEbIItRxY9L7?TPt|!2Qkhum1Yy zf8|>r+>iTNDa@E84|2vl)&YqPD1PKwqbpzfkFB>w%d_v}%DAd4;mJD1%-oe_#6<$W zMT9-xXn8?4oM9>$tCk#hy!`V|@JXL<%kkZD&ld#Bl(D|-3)+Qes3_lJF}u|TMYuV( zKxz{aK}-GN()J33Z&?WBsJ@hqC~UE|k8-MRf(7lB*P$Jo(NP&GZFsZ54t3_A&wqJk zQ)bmh(J3mzf)ty!y$cDVK*ng8e5b}Nvkg?jzU$q&TgCGf&a3{@^zGI`P_1o)9N1Cb zd`Ji1yUR4oNp|)OCD@iJ3!O|(5Hu8yk}Kcye2SWjn;jrZdPKF^`Elq{#G42geg}2@ z^wwoorF8x?XQdVISmu~2+`QfY^3Cy!H)CWR%}DLP=5+Ty)sV|l%v}yRP*==fL%}qt!nV@yz4H&%OVx?|<#iDSCaLKuB5x zJ|uF3v>@(l5Ei1lbwsz-dzVAsrl<0(r$i}7dt`mq4rb0p19^ z-1Md5Fo!@ocY_{7c$Au_VJjM-C|FIm@Fc>L0+;eo;gTI1qW)KL3bd_WA0BG#$)jn7 zh{rl5@=OqG^JgM8L#MXV!KBXhR2EbSJXVy=6eNWW3R-U&4+7ImJi@*EN9vSL@`rW# zh4;@iPujG=6?$NP?zf(}5n8qi<5tDtC3n#u@W9#clL7i*_gv|$HzE>2Tf#3XMCyKS z_-SDid)>RrmSc}{+Q|&$-u1S#DJ*4znu`XxW32}$TNU;-)snyIi#PmZBaFV&*8G)! zrXwvUpO(8DJKRSpy*d{H9!7)rveiGU)?8jHPqbdJ4!+`u6o_^y`)%9azJL^podKsM zIZhdEEeXRR%b5i^8NBhE-}&6lt(?(hAt=m=Yif5AX{prcNp<=dt$?;ZN(Oz`+w}-RHE}sKhbEFDpn17aJi&vI)bn4kp2h0`I#*2aZA?7L>g!F!sn`c}Wp9^7cxxf9oR4Va zp7b3h0T2vl9xfkHQ3ccTDz_pZq`&7uY7Ch3p=-JpB-9){&YAU)W@x~$^ZJllV1?Zb zYqE`YLrP?9#|s2jB69&n20O$Zni3Ki<2LTkeD@3QeD%9u=8S_!2@1~t%;2#=@*+P- z3C47-QCNK8hAsse)0Dl~zRN1}rkDmJR_Z;qj!;qeDmyAfJl?{W#pWK?4JdE*aWY?D z{qpt8zxZ@uoG7=QyBp-3g@84y{DsACqI2wf2n59DAOUPrf*J0QrNnIXV0DHT;w-5N zrYaFdh~8G#?b#wQR;-KQ6ENghhYA8jExL}>=nk)*oX3S#Rdk7{*fHt34816)ts?~; z6h~nca!(Y*Iu_|&@5zO=RNY^i^t7})C*d?~nYs1TFH13R@l1C|l*g%}5ks36qxij* zFi;Ifm=m>81}#mZMBs#O3n({*S*yi+u9zkLTIHmTjP#Ra(H4{faa(B?N&z_K|}>N@imh|B5Ndi4$K9Bi&K7a4mzxws>eDN=S|F7S9@ec2Ij%A+4Bw;~kQ3)B@XwVp{^fjg_ zlww(gl+O$?svt}ggV~GC@b(AQll@-IXPvwmgP_KD-H^1!UJzCZM%7n12lsox$PR37&kgS-0{cb5_ z|29+B7FjMBa#Pxh9k;VV*<-kMU>3*psr$nabMRtMchd8DF3|X4qfLbN*UyVS#B|X` zF<|OYKReWe0u*khfB~`&7Y9ptCq(f{N=krwLNJhf2v6jHnHVJVD2?QUz=%PT&&Qi@ ze*4$H_MKn-^myi2wDQWDoJsSI1`6)u*U1*6l}?~4^ah$`UDM;LjeDcg<|fe7j$mz_ z4H0+mebLzEqU{r@e~;!bMXRca5x0;2;urV7d47SMA78haFhJw@b7)UC#tD(^*)tE?_%K+@m^<*%vSZdqWZ zw?h|*$Yqc-@;;mC2c_0yX=(WMjqNB(azRg5&|+iyxTTx6!|oOs+JcV+*s^bDaDzfW zHp_Ep;JnxtQ)E%vb?JMhq%oAYr8!XIGVKgLYAv)voWL=ZIq(S#+ z>)@!Q9OnET|U+$54u`Trw*iLjr54LRpsuN;*MDo=APo^oL0$g^o*b z(RF81_Z)YGcElD^WRxSz{0fP=Y9DBI-&S~T=-L3&mu~WxS+#LD(lf%dzjtc7Qf2E< z#ju_1#_ht2T^7xvm!NR#$7sf1yNyXc&}fpIy3r$3Ruz*w45(rw-80U)Z|6Tz9287Y z2sOqOd&fsW66*mQLOL=;tj)~wQ;eR`$p8ZanhnCphuI-+br)(gIor6Vr%S9_%fa&C z#%A!x#!_G#qnoxuO5|<_$LcwVIblw@qO_--2uNEzUezOkuSX7o&Q8$t+P9 z-Cq5cT)9gu;Un2kKI^vto{p!F|NSR;1!844k(PigMZ_G?~LtcZP#7Z>j! z1p-|E&dva~H{IP@T6LGRJtiYcvta9UHOIv!Hc$m>@r~TwmtP@R3?uCeOFVP~%(;y= zyO-0mNJzBpY~u*~R7)cPhIC(`rGCF>*!?v2rpXrWV~0~&L~J5Qs)|~J?vS=^&j6HzdSHbWz|?_t6|C^LuQNZ>uN=ct@yGAqgPq=;m```G?7e9M{zK`1tTryB< z)5PVigv2Zjm96Lz-W&?Gx`z4j*^!I;RB_EJvSKBM86k5(~Uazpj7uT&GnwKCGI<34!7soGm*g-6s$ z38-Zs!}~AK^`yBv6KxaU(D8COfaDi+;zoBHOtY^uI?0W5jZg7FA$QK^Y@kPX)*!Yv zxJB^p+piMDu>cP-Gy;l4=d5D%R1)+e!uQ zrAZy0u^44I?T`j{&2RN=zH#&)IuTEMVa={!}eoHNoRBeBhkOLk`mUF6h*y@B! zdRMr3sjziTq;;84t}O1=;z|m5ttkH0|H8)W1oy*BEsK6bMj>b-)Y^aP+sg4v60dvO ztK2RqB|+VGS$fQhD@Y;A(BUS{6jIl5-O?E5wk`mA657^EG#e=~=al=hlNJSvajM%O z{W1hOT6ditDK33X6U0FsZEg1CjG@dzF z#QCzL6aU6=4Zns`t8j3)4zpnM09Nj5;4&okle*X!vf(fggUNKOafAj?%%GfCEol)Q z2NoEGC7r8Pn{R0%2tLpI*S`Jbul(wlU(aWNM;!CKBU1y)x!e)%Hn(!FcIbvQpmsgR zTfE~sYxi?lf7esm9MF+Hd5wK7u0I4F<-T1!fJdNMml5F8xV`$>tNVX?3EZTO9Xy=? zlZ_EP>mof0pObH1P6f3bi9l1(UJ9fUwrNTgdu3H)jF|B_6{%x0^7C1qd7A6O8ZuRi zzE2|DXJ!mahRPDxy*p~yBW2NaMZ}h9Oa;-M0KU?*t#$9Tl1?@PELHyLUV&FBME@>x z3w?CP;OhFwgw35l9VWW#-0U>w5v!3;qKqqZA%$Ox*U=gNe zz?3JywE?$i3~ZD*q1!(ycO9ZjfE;hu5voL2s3enoSxS^0h~8yo!R~L`!-ngafNiuu zcFuw5JFE-UC-2r}HYtH5COLsy@MFIDvrpgq?)zyMnJXb>AY~~T45Uex!jaQ2pn;*i zAIgDP^ad+9V>t^T?(@0;qYsMcDctOQFIwg-w4aC=i6hR`l(Szu&*ZM8K%Drt$$5|Y z6!X)0|H5ZJ`~Bbe)*t<=znI6wZIDN#82*F;MMNC2t`Eo&I4XG^*(!rdSg#$nvqqMj zwZ3rcWv3`Rqf@_9o310Kt_mzkt`nV1Owg%0;%wPl?P9ZH`yxv)TW(0v9j$x6)_YVp z0+KSNF(LV&tr2{SySr^;^l%@{Q3Y@Kl`FRA+mDG*#Q zHkL6KUEb$UCMp%GE(lNv(zFGkBc!O|A)S~uI-ZP{7HgpPzF{irMKfh-%G8$Wbeazg z_e?srhGy(_@klthUmnmUBx28Et+f~84oNPCEMO55;Y1Dc5eo&R!$nn#tczCPYh9dr zygCY_mSAp@amm}(WM?6OPzW9!v(OC5dJqz`y^uMvQ`#Yi8n%0?zM9VK-HwGCo>Rf> z6#X&*#oW&(76rd#222VUNxwiD_KC%&$!{GK9TgOn>D+NnuJ7M9j)N0}jn@m~!$D5S0v)7YncX$dSTTe>x@=!Zgn+kg_=&*{2wKO0k? z2svQ%-d5$Y2IGc!?LzT%tVuhymFDNJPIH9glh-tENFC4XC|Wy+RMJeoeEOezXaPv4%k^F@ZoL5dHK^s_yLpqG84EoaEP zwW);^G%;mZZYy<>U&<-OZTh0WWWq1)LhbT8M&OQ*|KufKp5OZ|O5!jebJZ=-IMhXC zZDc>Tnl!*NW@N4~U0&iX>3u%PaCZ^-2o`ijsh#@PnIwQ5mT;2CoaqOc&*OMAkMI5H z>mUB=d(Y2ra05r8B4VTV21YJAH`KBiQ790}hUy-0Is7G82Nl&PwK#au3vu&x8ekCu zh$SU5r4vW`&x}w6JB)1w(jGckRQZD>iY;oX!0qi1wJ#BunKTw$Q-pz%o#m-XrkbeL zP5SY9%M7bYQ-t5nu+SKk3y^ovG<{S}J10O-)PV)2(qyXHZ#=>xelLR?>tpZ8uzq zTDuYL5rscj;%M$PKw2(Nj%J1e>v{&f?aM%G%Gz8h1`ZidOPYv`ZYv{0?FXR3B0@ry zMP9*nJZvewqhpXQWI3wSuS$(HdU&{xeu)EXE|KiZlemXXCW(%!EWytXAkEC!3WWqP zkNNp8zW1H){MwtCL@?$|``^Jha$AXI>cXZBV_Oz;azfkMv^IR8+L?%O^1Z=ykY-!> zhWRKY&mMyk20S$w+4hA-6%r!jSw<73BPE&(l#_UA_@~aE^EuhV1?<9#n3b^wE8!BI zst}>>gRdE;y4%b*LW*JIxM4ZHiIeE-D0`bZ5>Z@P;(yxF2 zYj4ipe=T=IV5ovyL=AS%uWRJ!VWf1ZQ-!b%*jWCM=3)716{hHKRWuxLzNzgIE@Wm% zIW(e}^tJjyROZHBQQs6K3A>(p4OnUng`gIx8flHv*0U5<)eD7$wQMOfAXIJaO2Sr= zR&IPcEQ!+p5XBY1KvH5LX^-s~FU1Uii+itbfRa+SKT_(?%C0a8`=*FbsS3n5E(FUS zc%rYn(Oxcz$UcqMm_mOp$^B$S_Xzee2fJ0HdrO|(yzO=Dt0OCh%e7DJXq)K?9o~j$ zS>&F?<#7^tE*Tmi8(XeOACt5@X6X$f0cn)X(M7=|>Zl}V0$5_VLPxfkuN%@nboagz0JhC}1}a>-ZZ=%V^UJ_JrqPJ zz5;kn5D6g*ZFid|x znF3n!Wx7G-080O~zBv-=8Ui@2WGyGwXeN?WyUDC6um)F9Ubpm5m6r2#`oJ;cVs)hd z!Jfpb&8g2-*3mQrG*>*_oLj}r7~{=fy?Xf{KfT3R>)!AVSb2gYG}+f@IuCII(8=-K zZ`DoExFLX)-U00_EJ#8`Jjhh>A2Az-yqQ&|S`o0!0Qca;d=tmh)6@5V>)S6re>;wO z5_E|wC2*d(F~r`rKEzCL>uPLmID~mZ0aIunBQR(HbX~}oF96XYd}-lL^{%8mX$)|x zS$RDR6h;f>6DnEPOo8`UU-zU&Fs|2{-L5Y%W8t_VgnJuSi<>OnSVM~AQeIcI@YrOO z+^n$4VKl)TcU%8Hn-VgF^b;lXE4b3X+e%qZM4l6#hBk(+4rBR3&BZ+P7M}9?Tf4~h z8nj+D_X>VnLKQv}ZHGWK3ocJ&6r1>i7lc~zHsd-KtWKNtR0_0L3D%*XeL&4Hb#nu- zS9VFN(uff?yVn}G9^5gc_1O+t=CN*|TlAndooQOv?jX-<2u<^!2#30L$t(a}2tiNj zw_3wYIfuw_XRh1bV8i4o!+dyJyJrqBI6I;}oSXksZArVXWRd#aAp5!-7JqVcE!ks>!``N{!^a7IHLw)_e;E zBT4&j={3R%I_uqJ=J?|+TPCa4?H!c`#TbL*Jh|a%ym2}dPn|HGTlyJL5f+d# zD>gce;@1FMm&ddNb_`o7q&h{l=_sBf$9vRFa>Jj5an5i(C0v5}(2Nn|78I^5q-^bt z#~t~*QcdJ0J8`3}9N@+h2p@KHJJRgV_TmqC*DLi|+PQyd>Q)+t#Kd3x91#y`S#%dp z#M=$`7yN|_OD)7vpXJRa&$u3cuU)GG?O)%kvbxvTb&Gh(PyXl=9!xT2HphmfE#j>w zPI%JNcGTwO|B9>GRi#(2)D#QMG$6^N$)PWyS>gIG_HA`;pp!`gUH=>t@ruvi`}Ws< z?du=jk2`KC-(w4UAk#51{d)201)X4XYYw+m84^O!(I$gRPE0^vxlfM9dbxG<6`E@U-$Q(7L{nCwJHo1VKn zuf@CVGYad`c86NOcP-_wlQo5OKCW4y%uPm_MlyYY0)~3TF`@9;HvBwl5?g)`iYDk9 z%1bqt0T0V7`1(jUIk#@Bl+@Cowd_<)_RMRb&L`#x#P*?T1{da_pefkoj#m&$s0PU8 zcrvmtAgS*d*&-?d3NQV|tucvEGFur3N4d?FiM$?H_=3hYp(aeWKZYC)Q->LI+-m)0%_$PMR$J?V7Mao#wi5o6pw`NNOn zW8}o52NvsEOm^qcIf6UKBTTe_2+}{LScF$c&B&7!g#uH#_m<|Mp<?X$vdI0|FBZ zKD|Z_;I?o&r@t$Hx(HkN#zL?)vaq&S!sBM^Fwb54uzg8xMt=B9rNtQaSWx@eIJB(f9KahEV}%Bazzp3w-SI>$FFEqNR=NX@1Sm65O9!|HZ+ zzzjl&+@0dPMNh4*IyD96iE(rV@Up~B{GOA4BH4S2&;^#!4 zP8-b^9jy~O*;DMw>KkDV_3CJU4jGvdoB_^UHd7nCWIt;w90M_U_iox&9y0r{$~nTYZid;5X_6L%{?Ke9 zV`~ix`cpEeYg;1`x7)bCeE#?kem5l0fwyjJ^KuFri)trPTrR8T^MMn0cY^jiLlcgb(2CIP(C++oO)0Zz zRB^5Zk#!=N8vUZND9X*mViWet+?K*_L6yqf(Ai7o1-Z4PQ_M2{M*6Ob@|x(+0+qBG z2UPxL(J@oxM*WQ2khAGxbnSTf^$f|tu$3O_98=hJh>c|rw~sa_kEji6qYXs*-u7WF zYN0HS8ZD@8ndWAzS!}tsgy{lZQ(WpsRe;#2(#A655(O#?peRLm4X8g!?A+<9T005e zYOdmR^)bLETr1k7V?_baIqPYdtL4z6M3?2d@sHQs z1)Biu;h#=Nd-LZnpa1+B9DQ;PiOLFd z0+1S1+FdZ8=L-NLWCZ6SB$8ns7mH7SfHg|(2=WwBGQzEEnE4Gg|iZOWwrAxXc^vL^qkk+(u{vpdNEF#Ay8XOlVtDb95 zeY+gZwT{MBL4t-saZ{0(MaH^*A`mpaq?UH8Ri@T^_s4ZA`b8omlYLm`R+hb-n-*68 zGt`?8^WDNtz7>!b5YdWZlzcLWdQXkOMweHqHl}BKfoskycFy<}MuLQXEecbny~m!0uKAC(a`~H{T+~35waScG^-Hs$UWLJUX+?mIj9pfh#a4d2#RJAJ-ityOWD*6?S zyXmoMC;QYIYgCq&(929v*&1$~#pX?}hf4{;IqX5d%_bsv09?{|k)+Hn2sY;;cR^2d zZVDgyJl59*@h3Dc3(ZJaZeM9wY%ziC+pgr+1O+TW7LYi9%#b>goAHTr@?vfl{e>XH zt`l4CLM#)!g{GBB!7jlJ7Zsh&ecjx(I_y>6nM=U3mK5+(x@+xr%c-Hcdh{g3(u`f8 zMriEmY`MBFp*iDRIW6oAhy0?Z0&BQtcG8fpU1Fv-A-80nOs5Uz(?Jsgp5L9-(z4sn zlQV4;YI4S2ueAAD7ukM(J=3))F&Mr_w-Fz$fZtV`^cyip(WSNTn+U>tIY%wkvcCu_ zaA~aZ(sWcG4;WiQ#fVYmgu+jy^-YXMRaVPb2TQeRLjE5HMg+!Sd8;sDWJaH=8<*2< zgalV4RwsYXz&+--e)8q7eC-Rb?{}!xo5z{TJ2|Iv79*wwf)oDPX}5>9u2^YeYhWx# z07_UZAE!9<`~ep!Gc?l4SV|Ah4A2s%2Bha;+vlvJbKu?g^hMJ>(s@xg_K=|pNwr@I){r#sxDQ|x#k)Px{6YW-9_=I)n2iQ)36nv&SIINKM1kE1dVS>vS^ZA<|7-KEyN8YN0yj1%?|2dAB z2akz^n9uWg@4e6b__w|rPXPpO$hq*jQ%KD!8hJU!CeCuXDOy&aP1Q=W?BWF#n^oz) z$~x{gVTmHP@y2E+W}RN!5Z|Svh+CTGl5kR7O#9@+WsXhihG&67Q5#Kj3puAY{=XZG zunsy(+5wwZWJ|R{{n3y04rMOg3Byk>y8Tr*xvK!taKiYDtrN71v%aDg@+MDi4`R@k zEt=kfIh2<6iV8>?)TGy9Yp7tOEJ@egSYXQBVkpbAg6;OkEseF~JN6y>uHmm{Ak%zIE;3$n9uT(_#}`3eJ={{_PM- za`$fMa9}-TtBRFQda6N0=GRFa{b3c8S|Tfks02uD%c&R=50-BD7hAJzs>n`IP?SHQ zF=_(j4UE<&tSxFpBX!|Uz4apJ^MG2gpsCnw#2llq8}!7C(Gru*$=Y1OA-C-4rKvDN z^;nJbkdyBq< zn@FPp`gGf$vP9kZEBN3R-a@oMDhHQ?V{aN=W75OKTLY>^RDT;CD5XSt=`64k-gBxz z;dL=K*S1U3S*0YQYm*Z6F7=Z{1MxbbvwjAf;Mid{YajqM(2(Y8GnlEO&L(*_)qSeXEGp&NL_ydU@9{_zjK^4%}o-@F;)=`{Ne#2BY6 z^u*Ug3^FN+g({X$uS`)flMITG2#=D(G$oz`LITU+E+AI!1rRGCcMal*(W>db*CkPF{-y5t>Mn~oXNLSX?nJsjF0U1~+{s(B3 zR3#jOVl3}AV#l?bId5&qxh+&RU+y3_FT2S*xr4Fm)-FCrn!gf)zE1WNgT<3zM{A+u z&(b;~PKvm2dyxtDo|IJjI)F9B0d)bMhP`&#HK5rhu&_f4137S^tftSieUx zuC*7U;Qqq8%4(}qC%R+YIs|AMfJ0d%ICp(1P=0`00nV>%42&_xIPDOKcpBsQ+xyEu zc|BqfvotkPr5Z~KoiS?bzB=#s!p7NqEKO)X2oge)%#6lFql{I((@4orOzN6!QNa)k zEr)4?QNU7K~GC#Ym!YWR~Kg6v>bh-F-)nyuR@IkFF$v~~zpxU%Q^mlJkv zpL&Rg=(S8hl-?-ruKCJT&=L5?r+h@sh!vX!kDcymHrrzkr+4=j-YD^~X#fN;ei83^ zCP#y`w&W!#+E2Z@a$8qoNsQn}^W%T_(bMhLd0tA%T~X~qWH6sEyX~$0I%rVA+trB| z%2VAG{N2~)rqJuL(fZC?{!4nLb#t?>rNeA;hb{`Qw}$F%+ob#-C&*inkF`j zbDMEqfFI=^$6Pg3loDo-5lV6qnvUqHG;PFhq#yD%Q)6=;U8X29zQN6}VKatqMxgC`)tm)-t}4!$PJqcIad6i; zH%YWQM@tAK7J{?fIE|Q`Q`qlI+JPDk74x~Q44?w=!h#Hfo35;%h!rAf6YP#;6}SjO z44i%!rU1#M7BfZ5v1=*WGO!Mm(HvV1eBO*fwOYwGjgEt33xyyvo!rXiMQJ`^UHpbX zpgR=`K$tN@0Bk^$zawlSA~1Ecs!qpHq3I@8ki;=4C#pEvi!n@yqovnLX~NV9HUc-X zl}5DB^oDT*ZXhRL+`s$VUw!|*_wL6$k#RG)(tm@cO`D(xRPy4BF!2wqR~vkU-sk1F zL}N^qtod%|gJJBRP+VDac$Dqh<(%aI4#bGtjj#Ut)%-8d<7rIHh+~f@HEmLeDQ`*i zWPIfeB#AqxV3##zRkeqG;LX0s*|<~^lcljWqN4>8xl09GM3g-dIa=AszTwv#!(m)- zHl}#6dhoypF&?7QUq5toaY@m|iw?(FW^SggKCPPgmG@LV=1e{ltCQ2~Ac#Tn4OIs0Z(TTARS`(2$KL^Qb_(q^!c%%tGzMIs`bh(WYWNL)N*Rb6E#d~GABF(bFNa$ zkd4VH9wkk+@^y_4JUxjg(`MS-AfJ>O^Ol|7J{49fu*)b*ic@C9Zp?@nBX)UuzEhaw zD8Ixh%ZZ4v;2u6bFkAPf2{ikc>qR*B2$mMh5wS_D`r@GWKUu6~zKDw&&vi5GJ!ox@ z6x)y+SWSM#7OT4h_oR?*oZFI{axXA!YUFs;vLWXad7``&GuP6GmJG3#ide0^<(`oQ zEy45mJhgEkz-0|LnX4LGgfgLuTIS3`kFg#0Nf8Ej1mHknJH7WZv z-Mi1NE~Imv8!9EsNIh(xJmIhmaYoDLKeDHpoy3xOCFd%zTK>wn;n=spWvoM~mAX^K z-rmgZx@xyFNn*rt%+G!4-S7V3>(3;DM;r&{V*Z~Zair(Bxira!G!stWSzhze1s%fN z5Nh@2TAYk-fyC~zyCivaNVO(oi3BuSsWrNVyS|vAB43>2fZH)X{tqAFWyA|p%WQ^I zJm{OgH4)2>yNaf&a;sQWd|Cz6;J z)&|f#Jo7}v9$uP}YSR7V7=9Il4^Nek3}A_A^Wmg%9RfzZpqLHV$G*&89jt3$*7>k#4r$H zG1vl!Xm66pbg%IYL|7c7KfVm>?MvImZD39idjJ!DbjjBHe&X%*pT2zcpI?pJEsasx zTtdfz?bE>lxX%QV0J^oW5EnUQ#M@m+lt+Plv1oJmzdW!~S_`BI1(TdJc${5c z@BruF%lYOz-}>6OfArN?Z=T0k;}49iaE8ZY+!h8DV@;+j4tKSt)R$hSyMgWA+`~0A z2yG>egZOd5$VB)15{%RT}n=%=C`ZS(44bWu8xuK9i|l0 z32u9n0Snmleak*W_=`3@U!q(hy@;kXkid4GWcQ-lZFL&e8T;E+5wAOZkfVNBpk0Js zE0i`=)qgD&EcL(jz+2?g3{TE;WZN!67)gTY7HY}Tg^HA#uE+|Sv$rsX%}GrzX_Yct z=APSvY8Hjw!;dmCx3o3->Ivzzqd#Ow%0uhP+rcY?aBC}Sf!VfpWLhX-hZb+~FnX|+ z+Foep7UXGb2)M@7L-4Z!YXa7lSG2HmF2D`F7b=XS*+88mO;)yT$%Rl@GapRUv+R{X~pHhcH zwrA_U4%)O^Ffgp=nksN#V!U>-JHROKsBJevx(SP*VqLzS=Ud&~W7?d#X-|0l&~B^YeQhC<&s85o?|=4jWi> z33IMJpaQo1ZrBr)@U>0B9aI+~yW3iQ&7wlrwM;cA40H=ucRnENl*dAg@!4xsw#|va z@i+6MKl&)1`c_ys-fe_foY(NcVnz`g{j;Qb*O-q|NQW)x*4T%cax74{TOgJyAjtsA zr)>Dh;T?~e4xGv32$FF`9Ki$UKXYP!!squs^X_l{=J(!t@5MZT+c>*Zfmp)iK1mdw zzTFrUToMGvv-aBoV=V0LA{pZ%%wba%icn`?lx9!)pP-5LeT)LN*VC-S7DB!!#enENL=QbXhs^{ z5f!|q-tTsl#_9pKO<$NqGBynj|J^YiO=Ky&DO++6&79Ri>_)|7BlOfK6x~wo$}-Q%*`W!Jby813B^ zBUgD#+PXc-KGx8oA^+FFsXnIEJ#%Aw9v7V7R!FlO{ihf;dmY7?5Z>|U} zB}YJnNv)&KYLDA}Rek-jCVn&IRzyhK4Jxyw*oL{pErr1#250c;vrj+zt#9!K?(ux! ze#AUD56olEV@{ICdtQo=_c$UW$t^yeSsZW>24Ir z1gHKKE;IbvW?Ds6nn%3A?d8v2zW&os#_e|6=i+#a{WvuAKzc08_b=1_EVyKpTYi}6 z=sa8DU`E)E2T-GQ8GR+)GL&H02v&zjxNQWen_$(mn{Ahz)y^}Vn$+16eL{z}2j%6{LuUGGsDEAc^&SfwaPKQTI z<1F)H03jLJaSshfsk2EHBbEMD<39Z$(e126!Z?lzb1q{BL{5(JS z>8~7|)(ov4;_M}5JK$YW=Bg7sUcji6Irvg-I{0a1kn zcSwy0PwOVt-aiF7%XF*NLRtqKPXw;phK;wEn+6>oXi7XiuO-ExqFcanUrYDa^zK~! zZFY#!=7})DEnFYxr!clhT%P}Zbq5}x+iF!I8|hRoTWLb}-2v;dt)Ds2t>41;$T9`_ z{Wi>rlD{SXkXI?hs`hwGHeP%MUHNqy###bv`#}S_C?@vPE!sCRQD6ODCDmIpgv@7ksG*(~*ipV}C0yhoW%G1W9 zRAgZ^t_FY0VFaGR6Zca9fDR)hM9y}8f?*K_gxm?O46ZW;*!nHKa{^;QP`hAA^KL5p z*CMH-=~c20*(T24I>T-dysgfEt6j%ABEap%c=>$)&fov?zxbEG{pLkHk!u}Lq=Weg#*MGF(Pgl^?&!DKmC9I@)l3CoT)Rwz|3^1M3S7j zd|ml64ZiH;0Cb`*(OR!f8w~4tSyYAc&=?#FtfZm}AeX$(dXnS#7;Qh`j(!7M~eyOisqF)TC*|aAlfhY}6-PGq6 zUEpc}T5bz=Sx#8YrZLS!f>1S{p5akS@FMqW$a$c{RF{xhUt6Tha7r{ikIiAA5#!aL zy}bYOK5n=3pb+DHvh@QLs)|1##7$`kv1L@$RwEN-P&XMCNhi^&(i(J@ zTrQzmF4C23wRC%nirXzCjsVnDR6C=l#?%}zTVX(-EYNqJh* zY%Jj!s-E{pALdPHK?yb{vxg!`cY2e>?V7uKAO!rH=#*|pbf*!I@Zr^w-6E+f7-XH= zFS!Eiv(55FiqWkGkCT^8?W{_NHWur@lu9S|GqFsTtz*Qn;Ke4mR8?I1rV(}nBO`th zQ>|J}Lc|Qlh+y2_x&78}f9JEG|IC~DT*I z;P#M%VeBFrT~+ozvMy#1fu5>8myD-y*l~ow%$su8VSOB!_v4d)^YbyESgd~P2ds24 zHo$*&76-03C4-xBSp}%Ga26LOmBr@>ZMhHD>?6Hg>XDqQnkT1umrF|Pug^wMl=IJs z$Zg8#>84cnQ^ZWZS9qd94Lw#jWkAPHZGAOi{2j8Nc%Zy}bfyYw67c4yT-wPQ ziEY}jA`qCRnz*#WF6>d+yQ}}mFj6in3tUdduugf{$Of?|DT;Gp{pOURd~#VsoePcg zhf}I!wGN5`5^T!3&?>--QVC8?IykbatpS6*B zf>Zm;lMQX4v(4qaM@fS_GbzpZPdPF5aH{Kd3Q(hSOdEz;X|;lWb}aXUkfuob^R^5k z6m<&i?j`-LTx^mNB{RZ~x0L|i29JgabDNY*mHdmXq063nnsk)g(1z+!1Kog1XhV$& z5;-?ZuBEXXygF^Gbz8RMCM8o&bk<5$?{2re5h5v*0F4KRAb2leX_XR%3V|Wz-f!1 zLx*I~+YMHg4vsCgi0T(%sI3(0J@TXi33t>+KsTMFTF<^5Gzhuz$2KXFCZ_(ZKK5s6 z;B5}JO{yThXMlY{fzNe&_^h}>MGBC2Vw=K zOrz3OqP6+)h@n7xPO2fLoSdx%T2YMU%F#$F?~h&Vp?g2~0dga@*bi-Dj*(Nmg#sCf zSAX;An?L^a7N~SR5s(F1IqzF_-AnV*2#PIbXbbA1BTw{j>qb~PA=RuPI#NJ|RHaWZ zM!lwKtywOMGry&sDT<9joTPk8YiVyQ*CV|_#ljqS%UN&?@MkfVH-&l9SM2SVnz z8iht9ACX3qB@Ld|d@tKVUEtd0)Ipa9uxW{qF{XULQ z=9@2l;S1mT$ye^j8{9xa#SOu~o+m*d%o>>8rlo})rK`s*b<}yokEPB}YufpDhp-pI zeFB;odJ-@wj>KYO)DB`>!x+uf(*W-dB^eE0>{%96eYo)^8xGj(?-)I^=0)@JgbDh+MKO$5EWFKfMqqG<(E+-?_6@=Noin2>8iWcp_|j@ zXGEQhawQUvSS-q|u2NIB`NnRL5Np;h_uxSTG@!yut2)PsOq%_K0Ez3fSidy< z--M@dD%eNX?R?v{!Q90MeAwgNAbrjZQ5uZJhMMkxJs}<{73a9c&;RW&=FcKPw1MnwggMB){6Q(@uQHa+-R!FM1#kh9@TCZ#vK@NbE;&{cy1Hdi4VT)9T zJB|OYykFXCL)Vlp4?vDSnkl6ijSLN8XG`>Nr=Tj(Lf@2t(6h+3u4F3(71|8Fk6W0P zql3}AMM&63c}yVLa9F~^n(16%+#!Qtv5c3xE`-c%wO{M^nt#?hSEVp$7<{Sxje($Y zUf}Xxa^^JpWlPz9>QxA{g*08I$lSnPGMOGM-nTWOFx*O| z?xNcBSCt{yB3IR}Q6gX{5mc=uqevq4HEH`$ZFI8k$0g86R?a9{JGZk@MK37x&js%k zqZH6-GyURB)!74)iJm%48IO{|&>s;YjkN5aDj#B>T;vy=1}56~y*f+5Jy)Y4kDw@T zNQ1D^8r>4j$xa6KJ=OBrIHn3Of;*|;NB(xAhxx-b<2lrC)DApp)myTe++)_w9Fl3I zL+25O7xTNcb&-Ra%9QulK&KmyGxIBC#UH1}9k;-UaT~8+A7A|T`~UL)@YDA`|K2C_ z)%`XP9>*yVU9s`={J%VB)jf+A=+eos(^Oo#=e7OxkO;S)1@u^8-OlQrRUS0WK-yM7 zP}b4ByW4UqoVrfQf#&I^`y2E%H0IISt-2tZ@ z-i4x=$=s+Y)&?ee^Sc)w%3>%gHYGXQ^9kXEIexiwd$w~0HpiSj!y<}o#H{X>wq|VZ zuCRp-HUQcF9K;o+r}Ccqc~&nZ7fy+&+`85B@nD}P#E}B?KC}dgo1DST$t{7C9jg^U zBC29bQeiLoC=DC?zcf(g{GrqB&8ff{B_%?C)zWyQQY}!H;XIBR=s{Q_jc2MnYbNxC zS^XPB05ueVhGXO` zN?0Hct0hcz}dfC>_@BC;FYVvm-R9=AewqgYc%clnp*PT}eNCA}xv zegl^NkJKopO>R>j5m^3Gk&son>BGa$(vQsyeKE!qCo{aG{{A zq_BSr?TR()keza(_R|Q@@pkW36V^RVIi!*%sSXz32sK(rzt9dgp!OUH+6IY+k7U_w zp=n-Vq|<^I_MgyL72H5YmUcXDzR9V-nMa)l1*F@oAK$wE@ZLmr@RV)>jaG1T(H2D) z+?vQFc1R6PyXcMxZhyZsLm?FCEPz>f~ zVu&j2ym9RvxEt{8HyI#Y6S*R3To&r ztvCJNjF3naG;e@vzTOO4ovD-OI<5|F;&jU(rriZAWhP5##16ITLy@iXHcXq6#ln^@ z&d&cxMKaEb{pBv&*oY9dM$lr4)Ts&U6EHk6K#Wgo1j&K<@%-h#`T1?tr$WqufO7z| zUis}tMZBOE{6&kWk!<(XJT5RQDm&CO!zp=En_!TWRxVt*c_I@u%dsJ{>nSEPh z4oYaR&f%hSx4MR>b%Jx@O}HYb40acYAH`1I2kxkI|E9$EQEQs~+UEvU0M)mztRX6* zub|5%)orsisTyZUtc*G-vv)qE)SwU`YZrn7ZneA4ZE~+s**y{PRdf> z^KlCm(j009l%>Z&$0;Vt3%tOmfA|r8F*uZ~yq{I}STfCgmnzj&!Vj9j>)J~4Nwk}u z7W=sH(xo+TDSsaYrMaNWozM(Sk72NUZ3Sl(*&X$DH0~Ljh`%T)?2O$)_1c5v*)P>H z^ctzD(AVDVZp_(E$qx`eW}Hx+i2lgYYhT1AL@+wUJ1?*yGxFAL?|!D#24l^TL_}_` zvu%Q5ilJQa2DDgC>(E?bw^6$tg`!1M9908D*1W9;Win-`F?xNVnPCux@T%i$O@6Gi zFSO?DTjPO!e?8Z&E+p0GfXzv6Ua+|x9WO82P4y)XeZq@Z|N3Wq#c@{u1DDcYlk0e~ zL)1CTxxgl2mJnb*CRAvA!TOci2}_z;>MF|y{;Gdi8!ile2s_|(lII*?VloacC&2x{ z{eGJ-k2gQ~?zg`E!>_)2{rdJa3Kd5=EnaQMOyWRmHwHPNEBQ4aOwH582HUv~#AMDu zrSnvrTTG9%O?eM7bTOFT>{tYDao^cOKN6wXvAdo|EvICOFW}Pt2iyLg{lZ$|=e|4Q zD(er36lmM=&^mV~BTSi~R_WK;i$|f6ZE?&bVoEZ(J!~~V=p+Gg`&#adx|L3?r-FsR z9kv7q2hpU8fOR_199UNlj7JgG~iBTufmyXP~ScEObx! zvyM2Q52^yO0Qspn+~wbikAQjGv+`U!yrfzT>uR6d?ij!ziI^(bm_XrQIYjLoGMb%|V)}QeEy-y!1~Z zgG0uMaUKCj0AtSi{onq^H^233ukO!?G2=M9-3RCWOpBlAW-)7+p+>+a1Mni!7wm^E zH(L*j`Snry>dDFfq)c%Gm9yN~et+yNIy1oFmK zWmhRiNyHw|)TjBd0@eQYG%k&(O^t#eX`I~a*1>d#TG(=*@GmtC=R}>{TiHH+9KDQs zqsEVR^EH5`Fv0a@_~2VSy-xI*6O)v3qFF{QpjNX1;-{T)|HZ&l*!~! zW9d%6XrlsxX7)$ApM5*m#-|IceNh0l=O3E3%`0L|N37C2ms)tuCIrHHjB$JZ^VhHb z(@Q)xD_GL3BtQTmR0>a?1GE{W>MuMzhF*|hn#yE(McZvJABSGicrhw%Hg~qFO*VB> zoWX-!V_zH-^W)>?XWx7G@BP*f@tNR#-fqRo3k=49Qi8*5o!w+E$7JSYz5r7Wtl`yw`F_n9PXV z`m5c4NW`TAKl(Xn{O(z9XV@{+8JxD7HP9sp0E z!tkr4(&F2A{;TKL|KSb{2Djwv6ckWe_1a)pkv1&iH1^w?*CJ4)X(}EGKS1S|(tAg= zbt`iu;Z&h&+%z*H;{@taDuS3G36? zo4~tsJM<$UEF9IqXdyXbrB~~Ar5S?J806It$75dsXbw#F7C+j>*$}NfSC(o? zLIWXd2n__J{`T}riYK$Ket+YuUe|@G(u})9)Nbuj5lDHTj23L-Ob^W`oN_w~BQt~p ztt)9pRVL;Un=D*PNY6JdEfcIp4pBGhF$3L7Z_lv67ei?dRjt(kHAxi#tL?k*ZqiLO zPIYNE5N+d=$inEP#@xGwE0I$2wdCauvsydiDrO-d?4&FaGIVi^E-+%4!xg+^I{(ZK zkmNm5pW;*zEt?PY+DwGx*8nQu z6nuxFPaDZV8(`WO>y8Pr_E*B4##$rn1$#@P;eC_?SonuCt!%8ML@wgRf;n`LCJ?v4 zEqGqY0X)UB6hEz(;*EHEy3aS?`Mt0G(|_^X&*Of_amW3LdFOF(9&y~c9Kf7B#k!o! z1u&s_^qN8k^}yKeeF-3_tu-{Uw*|%Ak6LIUGZaFM?ZmA*RO+*N9(zvX??{%$!20Kg zF-DyKa>Ho_jxnBI+&=mr|H~);&yQ{c2hJQFE)#IciDyF`qYp~StLTW6by|SfJJh}g zs^M3f9#Z2Ki57Cgw)#s9RwM@`Mljm`i)b79-oqnw3b;TaoB^J9lBhdu#-7i3#SeD$ z?GO(xOS=d$S4DeP`}`=$V(0{iWxSQsu^d4Pz#d z-ckvw*UYpAx)MrSYd^UyfUkC1ed!glp+T7K!$krPM+;O~6AX2vw>uoGl_QYsJcf-7 z&6%FK6(xT>AH+$I0jf(rbURZWa-DedGgU)jbc11_9f;*(ZUe(WO?r2qVk)ZEkp*nG zwLYGDlMa3E&i9_p#i13qHip7d&>Hb!(+VqhsP3RJfn~b+SFms2>hgNS8r)q8r>{C^ z>53o5Ok1R{+FssbbT_NNwEyN z^tHZ;NZ8K;bHH|og5Pnly#eRle*<6Qqks45?T*rW(`5xQ*=n^ZW;+x4w2lxytvzqf zp(-XZ7+g$)bZ@{VzN&QrHLgi+3#;YcH)leP;TCNcj&50Ky6t!JNw@?d(haD-e;ul2 za*%u2Ix_~(P)ky@pPE$A&3zDRb?ywX&algLqRJ)`B_Fn7Cp8PyG}rKK&sr)q+B95f z8Q9OLcH)%whQQAZ&nLqHnDujOuevz=A~veQip|u!?1Q_a0+k+<1sC1P!p)MoI*iPo z6AeVP3OztIrn_=VXe2rYcJSM=!K&zx72I9nssLzto)P>aqTg2o1G*t_2_cw~Fp%)}-c@xuW7zmu|4?S@}{S#CN$(aSE+%A9BZ z7(4AHk`5Ge4nD{8-}}w)eC>O``uzNS_L-WAd-f`s6QZC)nzHdjb}mQ@Ey5W_Vcs5Y zOSpmny>v0};N&(^gPM-dgeKRPA>OjvGz=+o=~TO;V?uD+X@w+}=FD{`KGb zweNrb8^`ng6bLdKLo+x}l{iVxnFsuCWGJG_4BKIxs0$!c^Ujmb=H0C8PRWfObNM|~ zb_zq?&*JucAnUH7!9Xeo&N=hI4fnr!_44;$j@uJe*rVze_(|p}2PYrOx?x~UZ?j&a z54BgS0nr!RpJ1tl(c$7}8;y8mO4t#q1`1gMi5pg?bgbBWM^0)n5Twp$`>FFso zsrIx-3xg^hcNsKy6(xIEpy{mI*W0kmy<*Wuj_dDD@(3Q_ne=|dF=I|l242qRFMjyJ z-}~Jk-cgC)Yc~cO@n7)i7-y%SCBrh{W|!tHd|Mc>)}LQUN^D$|ri-!zu2l`#{$7M> z+nTopBhPhz9ke`U(P}kCL`F}VH6sJzXuIFYW`<6eXhM2BYHqFi-IV|wxQ%?#g`M7 zlbIFTR$V1fx>!_xrYmesq~4u5`(a7hjrL^-no{1mcvecx6Gjp$m|8$73!&!J>`Zqb zxMw-VeUjpe6_y*B{Zce)nf|s?zf$c}K1axdAYD#0`cV4o2)o0Yc?y=(MZS_gsW1Xw zh}C_f(8P|mhiS2T8C5Sy>%M;? z`(-jY>eIk*|0<}a&}O-~gkfMcjbW#2#qXRkz{zUM8*l_~j9X>^kHCmIW4y<|_tWow z_H*yPnQsEe+2cKeC-r~EDf_7}2(gc%LvoU1`~OonCUuM0svp+gwn~6~u*buWxJz%~%QaRJn7<*&R!CGuh1J7hx+%RQq;Lg%SSUi^ znaDH?;Z(Q)qX2iGj5NirhIXMPqAT(uXa<+i{IAyG>q(~Ggr;bfa@Ri=+J-<~&CMab z^p^-F2q9Eb6e>6B6d%*scy%xPRtU{s~z2xhF;U+_1MSXt`u`!wXVPQm& zn7BoQIAgz})0@V5>H%(n8wMf<$J2QF@)tk&H-GSFAOGy-i+7$*3_@D^XJ`)+?XdC5 zXJBT4*y>nmiyo?#H`x=;BplTlQbsLe0z-Bz&wUTh%iR>qu?6=;Xc##yXl~6pw#Gr& zLO;C=I^UD^jV| z;xGY2NMTef&SEFg>9kZLaxeQ5_R^CyC2xj8Xt$;s;NhBd=R(^97xNt(9gLDKAd9{} zWoiLgCblw^#Kyu+6PxLT(21WO%GgtUF7~e+TB-Jt=fu{&Pi(^qf4|I@Gj^Z)Hn@3(k^=R4*x zPxb%F{y*-V_jw%i92K7pR8We7`$W!okS@j-AiVR%l6Hm=^Ui9+j+zqM@4T zzeZlF%0>E_&I!`UZU5}|pJ}1X39$Zy+lcXWdm1lZ#b5qk{sRB$47nyN%6I1Z{M52d zs&=IMjOXu)-C>EQ_9iE*FuDk+0JBQxaiaYVy!z7XJfJtyDEC_ruX38Zp0oklY^G*{ z%X;Up2@w<+iL4A~fF~|OE!l=dEwYZjr1lKT%D4p!?(WOR#o*DPlT=1VsgBB&0l> zx)88RcJ_NZ0CIpexrfLCpa{?nkFi<2?QqPEUDv@y`jipyx-CiIsdT%89wKRDJV;kB$qDciKjVRjFZNkR$m}9Q*Hq=1 zI(Yc4P{~LcX$~@(IEOi7-ecZzCO)2_V8;QzKAu1P;Jx4ez3&}2jxl1m|>bp*;u0A~kCd7$P$MGbTcXvpHEKm$o2Fjh3I z6`&g2nlZ>B{E8WYt6;Ql6+L)*-4x&r$z0T9a&35RU#>%OwSmR9)Cqa9jq6+7LQM$o zb)15hphs4oOnFLLxH5*&+CTXWRWvdS*)0&z@Jc<7A?!d-?vrBI$a-|IzIf=igs{M` z>rw+Y&hOIE7at-igN?Nj%!td(--!>xPxG0XHKAG@q=`yY5uRDRFSlJ=0u+uA<*=xm zMDklA1MihhQN?qgI^l9g!D+EgGd%(fk5z$^zB_rh*0ny2*w0aADNY2iD1cQ5qPm*A zj%Xkhwrkd+Ep)*tM%I0Kg@{$PSEyDQn7E;j+-=zpxDKw9C1SIsH83q4RoCq`tv56g z`IG?7$rm4tfAD+X|NMKOeRVt&+49G%+}}0#NYKEUp)lB^GVos4x_{F;#L`g2wdcr8;FVP=w1Xv?T1ITjIfhyD)uGgX_$D z+hr?5EJs5>lmNK(s<5wNZaYxlxnblPIyr-0#R@Odk#wU}^g&vGZCpfa542pO?V;w{ zYuc;L#TZwOuOzNeY|EEBnAd8~!i$(%Mf>6IStc){s`k#P+@!4-R9Ct@+z=IN{zU9r zdm0&d+&g#x0RR9=L_t)f4hyzWb#ge)#6~>+#N5&8O2fHPSERu9+IMqJKT> zT2R=AN<*_pnSgtVG%Al%f+bqXqd5!1sy`8pl+#8+VQ9S>u_EtrxdCIk@9IM|>W|9% zR=om46dL+NRTR;)q?NxLYVm)tA~9P`h1|)G)9m5B%rte6@RN1cGlsJ(eTlDR3J=Ea za_jH7>NPn>X?9)X1T3AMA|nY|hFAtrW!20=YBf8-ps`!(aLaf~#8*xC z9;0vh^Q8pfE{9}^VJ{+KNHc_CBBnn) zNNOswRWpWWxNTbQZtDu2e9wRnd(`rbK>1adSfb817sQ1L5du(>2w}a5^cA%vdvTLhX$Z_ry0&pcfVlC^^Yiz9 z^5q}@3Y-KWiMFt0;OrAr^WK!Ly}_AP{ZXE)auX)E z0NKq=rxA$YWl$7`jH*jFmeG5Zz$Idgcqg8I@vnY9KB?eou4sfwYP^o02gORcVpQeM zX~qHeS#mwW336hb3Vu(Dcb5~;8KKJ3nU&naYUb9|!f4?ev78%hWRqD$=MoWyJ%KMw z-6>a|4KEKccN+t_iSKc>;Hsm@jbCp~`rRhOd?3J%*fOKmC{7}LVPVUXTdAKFkIsQC zs6y{z)?scC&K`{o>pt&99H`pc>7n$KbI2mTzCrHk;y@p*m-FwR zb^j5^jQc(A_c$gdaep=6{MxU6_|t#%{WmWT1n?AN5I5Kw36b*^?~t93!Ry;V_4*f40HX_}g$i3&PF zLQaY`p{o@ObU_2Pm%ET4D6+kB=Br$5GpZc;yR)8UG9fGp=JNy1AP>bgmBNyZ%!iJ? zF1ZA)h=6>j23SCykOVoZM`cKWnk3y~mz)U=Gp>?jsHv_(UN2>Z5_lRqY+IM2lO4riqR+60oaoJK7kpc{un!L-_L4ooqf-Uov6M83J zY@S-jwA5f3`?;0mwNYE7iL&QwvNgeeU3$DQOe4vJcaF?c8A9sd1) z^8I%|`~Ii%&BUCG_jBBjc@Bh+Ip?YGiA${aS$51TI;1mpYI5UNwb;oPdmxj`V8W1w z^=Q%5_xpp33?Cx4PPP;U;n#oUaCh*<6P`bM^U?qG^B3ct<4g{snjb4JrFW+-SE@Yh z*!%hrPc8NWH8h4qcN0Ep95*GiO2>9I`B}4bJt&8ufVhg!0-^_EN{TddJ5j4ySq79z zN~qyOXysDXUZpkIZTyIhBWCWfFwnYW+v=!oA7rS{L!Um&8hc;@PHP*B(6^0~D*Up* zz?$>YD<6eh!;>l7q;hHoGUU0SxXo*~mNa!edVuXMt1xt$O|~F~xelFHp`}HIxC&Av zRKwEdZRVtVh?FS`_p^ureHuBZhf}Ss9i6IcLmx!u?NQ|MK7d{2e}>vgwnWd}@x7>3|(2Rf0m%ak2hzsET`)LwV)2 zre6}I+A!tUrLEcSplGwJQG$XoIVWc>SaUU6rgIl%{yh8da8B}60Uez8m@{~v^B(iS zJmTQ<{Kr52@wb2LtDnApIbIArVGTB(|~Px>A=AjjJa)GplWC;~b%|*0r4Gb~+$Bh5SlJiK3yW1+Bb<_a<0{R{19o zxxgY7>$JXImc$CqGCaKk<5Vz=7=x!`v!t8L9&mepbN|+lfAz<|@$HZ2^ZmwS95aqP z=biJ2dCYmA=YM#f49@?8{Frmm@S9tb1eD&tP6P3R2leFooG~W}gq`i=(Ve!JlbkEa zh_iZTYdY$Hj3scK6mq_+i)_w7oY@E@xOnwry!-Ux=l|ws_rE;GZ6tSfz0c*Eook;y zGm<$Qhg1=C5GkAt((L?SrHPOC5t>MPzUfJ`OPz0hE_Xa2bS4x)U|I4{&qMmCHd^so ziDt67Neke@`Lk!WNKkgtrpU}#yy*2=LmbJq@)kRs6|^GL4NWiD2W3q^Y@B{^itDFt z_$VcPm*~Ti;HV`zc1o~=-kKmvGXiD2nm!(}#ZAFzY?Syc36GdpG)8I^UH)v`{;GyN#nlzlF ze6(x>n+aWDK7|CPfZi#dqq>bc!CO>7lVm&{@BI9~|M`41iP`B#+INX!jrA#_fAD)h#^*67uv(&>!&<##O?}baIrB)r+)Ob^NQc) zMv)L{y7^DIGs+}Qsk3aOq|e4>KfiHGCKe@~s4A^0cc^Zp5;zv}rS=1$bqeQWT44YZ z8^H&*RYjr z49)f28X;@gA!PK$ZW0nnKWpausVAsu(N$KpPqw@4u11A3-vnQC75jCkzw7{Li8#81 z+o1GK6s95L;HMZ$Zc^0>NoXvAyL`u6A`{K++D2W}T`6fSy*9NDTapg;v|82riUuw+ zdnBL!4aIM5_$~x$Y$Rh(l%&zIgaCCwioe^yS>?1Eue3_EZtk;nai#a#4uN}cq2vNo zluzl9jLt<#-T^~eeFm^=kLxD=%`Th>s8L%?eqkd+0MuR3F}Ewtp`z{1d++uc{?0%B z&O4uZ=RWVmJc4)fnDfqa&7a2t#AUmx)!oq^fK;fEk($!(miOHvQeOIR_nB&K!SwB2 z1P=^d)%<2r8I0LNHf##Rhpbzq4*=X=;Kt|U7yt9mZf{0TdUWsH?;6Ngy>ai9}-IfRjedmCjkz%=n=vSr+7FkuawlB@aXuO zc4MmzH>A7`(I%s|imEj!i8s4u!$&2)U9{C3PGy1&WzfkR*ZGpRAZ$=DE|LjetYiXx zafrK-Q2-q!cNecOM1dn@ITP1#D<1j>U{er6_c|GFv58JwE^KjZh27c! zQk_Ow`C^}!iBncQ!*zJwJheLSJDU;&TsxRZTQfK@)Nj|R(k@10%szCpg!!SV55{#8 znG3g6i`h}1Xpn;KL`IZ%44eoesfnZ84JBTjzEqT*SVy(nSu@)d9jP0e8y4YR;vM^r ztLTiLl;Au)GXy#Wchjw@+9CslgR&7iwVx|)LXqttW&N=TKd6Sw&Hd&!*x#6}`Q6dL zMOd0O3zUp&4%p2BRh;F`6m0^g+}7k6!u`-lf0LEy?D?){M}&GB@5{pSA7AAk8b zfApQ_`@J^IxmN!B{op}z9!K$4S1br8xaP{Is2n{Nk&fD>WU9L_llnC9Nwq-IN!%U? zJmgw*GdE---b9~1CVL?L&c8KcAn@Yp>E&O1`tpxHy>YZ+gFU+uBypvg(0clmbsSKK zfVSr3frMjRs8)4cgoCD*TnQAgpgJu$Wy*wBc`lr0w4=#((k}ANpcLsE42$u)fQZyV zx$pHmi@6lkkEQ&V|3ZBgz7_Vb&I%Kd{9P-%v|>iPT_4;sqK{nXJzY7a(#?T&OBw`^ zJs^jn%Tc2v1*8v=iV|+{qnZ~aBZJii9Ov@DmJFCfW8DjjdYPTsoJHsFmc>>l9yF?i zbd`#DmIHMt4_3L^5~O4e&8qp2mL~M(Q!oiO`~UoH+BrlB@vwW^ zQOlIm2P5dzP)$uzEx2TVEddHMD_ot#(By%JNX4kJuXVnoq!knk@p8~KWD1+b79D4} zg}%4Px;?~%@gTbO+elc5#H;X}+cgZ$7HYmIqtt{7?`HK8<3Z|C2w^MH;h6*gQ5&O( z&X)QFV=|^-wPxcG^-=TlTG=S5*_4@TdL3IBM2~ww%kKe(`SX>NQ_KML|pT4nJfHrIGWm}R~plezeg7$ZLZUw*;AjW(YM^}hzY z;3dphG(Oe)7k-d_FsKAjX~?>DL&_XzHisX7eD1HI!!4|3Nxi$YT5{G<$tK%7)ZT+t z>!Z0|U2CPWRULhWea#m(YDMQuZu2#^dq(5c+7uveFB!f;QGdNRT`+FkD$v2R4i`E`D*oV zgWGX=*&paVn*xI#D-moSaU5~nam<(z@se+T^1bhV{d>Q5zrVgM04NDmx2bP+0r1I4 z1ZrT5p@cr~dZYR$g|w6)iMRk;5b8rg$DY!G9NV!Aa+VNDw>8j5%?TvkspVFB6fr2T z>Ki+Z+mUA%s+e?@R88(oGf4(juY$supN*Z0f~ z>aC>L4N%&;dQHRx1Kc5ciJeb4Z=Bl-KP1Vudd7CBD+4yx?Zy2$MDHg;HsCsS_X7I zq6F!*&1Ngq%nWd;CMwGo7UWVdM+A1_r?$5@Y0n#v-wGILS_HKg?M*ug{DO6ZqV?e&8tFta4Lpq^eQ*pZW_ zyS(hya<|E;7=9Xx4qBAhKXi%)I*zSQ%)($P9|>&vEy+|ZwKB<&@UQ;&^Pv!T#j4!{ z2xeJd#p`Ojtk(X>PJd*w72+1SAqK_`F^CsPCALQPEsy((Q*;PMT4wSFDNIXM*kn=B&*jUrs z3VS*3LDxBJ>4{^kXO{+O6T%d=%%RJxEDBQI1zV6`SC^aTrkQ#aQ>+@>q<-;~8E&c> zMCaY;U>_>Pb&E?Yn4w_4gXe$M9@<2J@Evhg3?fGi^xC5zQJZKartJryld?)hL-J2eeajS)KLq_kONGPvVD z)lav<_hLU$7aX#eub30_An!b8%p>N+{dpWO=j-44{h`4$2JkAPxTPFMHQV>f)L0DjN$4@v@wL%u1^XHGR?#jXEvl=olq)v zryR>Zx~m)@hU&T*7KPb4OcLyhmI?ssFS0wvIA2VFy2kjnV{98Pb*c}f8`R_-F>2Mh zDCJ`31h!8mbz0!H6@%iei#?r^en#a-`T);dVx)+3c-04rhYg#F(E45J#NBM-Yx1rL zuYJl6tJ%Zcxv z)Mzb%&0O2(MymZ=u7z*xeNckBMKQt^M`*t8`Pl74R{_8Uv#Eg=J`whN`3opqkGj05L$Yl>{dei|fFEK8W8& z+;G3$fAWvN^Q~`v?e+5ndFPy*2abb07zeoMJ-KT)M1!-ODWNb{n!lH+lz08D=uAZb z%MLlw(YIFrtzg|IMX`5viAyVY$80LTzV()Z79A1K_{AUmB0eT=GH9NH7tnbhmqj8} zUt21lZT;^956#*~_XK;0cv!QTaz!3!pqk@qm4#W|h zClB<*LW2k9>v{kDXW##)|MWNC{ro%g^&GcbC(i;~t-tkvGnGAg)Hc+vF_$(<&77p! zoVywzim@$DrXGdKX-yn^(TZ(*T4gNJBe^PUH5E1NycdfQ`mj$^bAXi`M{51Z%|`+q z|H*@|w0Vf=V|8kDmXZ!*Q6y+zrg&PgF{U8X;xglQx_%Bn66QfW_F>A z5!=ueX~2b@jm`eMV<8^+rMj+vqQP57EgJ3aT$gmUuABZ9#+uQ*@KE zP=9JlSCTc>9PnYQgpaixN z_mA$s_#ZyL#nX(*WSzQ?w4sF9xK6Oe04e&hZ@IK2vYcDI zB3ek(XC2iP=L)hESWB-p;I20eT)$Bm69v#LmM|N<(bzJAfs~ zl(u~nc~Kdb<#cL-4YnZbvhcEtW-t9k%eY60u@6{sgd`9f^9p(&?rJ|kof@<>3VQzK zCGPmL(l9Kl!gc>_Y7h(6Mv{a4`SIz${`n2JGa95k0H?eXTZg+0+mPRa1_o)idv_i1 zV9kq1h|36bk=j2J)u|Nb^fOWghF*71!97Sc~5b9$4AHwIaTHzW?ys-~934 z|Mgd|-rR7rD9#Jjrx9G0Bel{csO!H4peEmvP;1S)hlW+8t%If?G{he+(=P8EK%p)0 ze#wGLZBoRmVOy>6nXm4lVEIY~USp#^VqeNVP0)gOX<3HY-^kn~m9qTqp(6cI*n^xq z7CU5Oh5lWnF%AG~3}svov0)kBI$VBKqBfOGa>}<2gc55*VYXU+LO+RW#-MnnX)>^a z&Vt(9ygGQK3t=1+HGGKfr%ec9Yi37@`!*rMs!b}4rYi#vbT8D9P#=_g9zs76p$*pL zfxzV5)aETJpoI{;Qgwd)WYvYtHW=TuxsE}$(-fSr#ZI3`di}6_NZgxI*%AW6Rw~mY zU)g3IWUEt_-lG$d6J!+X=C>BAk?m|q1fu!8Xp=J2D&5Snu&S%m3RS;TFe zL+pFZpZ=roe(lR&dUd?w?S3EkJLWML{-1G1!Ekb(@P6d;-!g2q_B+c`HdUE#F?j7o z@#0H)wByl$Y#qR@rcZGIbMppVA|QQJ9;FfL^?3|@^zVOh{D+qVn3-Py9c2)G&Y{Ja zH8oepkYWc9X~{D#`%r1x(du|^6K8b_7Sy4Bibj)@^}Rg`jIWK0w9JAw+O3N@3aA#M zIJo*RAYIPUxigV1XdQHtt*pz$;*s zczk5+wYTbz-^fuWu|1Tc!rKSqpO0Kg>Pf9Kr~zVQCP{lh=|u;|8VA|hreb0R zMOZzD{4>lCsFd3aU`ihpUMJajM7V%j6A= z_Ly9`iXW&-M+`R_C*95ZewI`}&n=o{^RvlL(+Zo5TX5f4Y_=c<1B{VP-x*EI#a;;1 z9#`uW8-peTXX-nIdiO;{y9dT&KXaZ^ZiaLmA#SZUDF(*SHL@n+U0`IA*tmWu@g@qs zAhuX#+e*dVqy2k|op)2NK$Fg8UQm935VmqJ+ha-F7l&=Ery2ve0TtCUFkXz;_xqQ> z{o#M}-~2PadwU&k?l|r^?lGTv+GX#lw0_#&Q; z@z?*?|2Y0b3}D8LIadmB_Q^OUKxdr?Po%imGiDYSG2!L@WN4Zxvf3MPz~g-BBj1yDHchB|}6&bJ1A!jnz7i zs7VSS#DXA|Ls!OoqeZQE<89&zY)(zbzff2iotLgGScHwFJ5-?JCPgMib^N2f&v-C0 zqun-mFoU+0Ug3E3@l7f6Y-$>*IGnER;fch$_dO0z>G8P zm+2^(liTccdCAH_v?#lOz{44^I+dq z<(e2u&korT<-aEbPv@YG;Dz(kJw@=7t!Mm z?4gt-191U$yOQlR<3*`g9t!y2%KL!WNmxpUa2}*bs(zYGrav=QL0eF@20=2dBkDq(UXoZP<_o_g|Y% zsTY)pH1+qUVV-oVM$tm0C9_dP5Q+vuk0I<$L%Xqn;Tq7zm0LLh=2Ug zfAske-hXpEGv*OI8233B{|Cq9an}9b)0aHt?B)pFlrm_l0eX;+^ry0Oc{q=HFTe*j z%hLV$Q?=_7bhvE`bAPKNj|XOS0tcU-@abQD^5%~|d4U(qsDmg=#8eI2g9lr*oQ%!# zYaEdFi>kw-Uwp?&)({B{J5byw$Wm7Fp=#U#78Pd0)*i21R#ND=S z>TEpHT)(YD(qIqY_TT#F!^ss5qQUmV@g$2-T(X64XdAUR+ z>78w?W5wFp(6H1(JxD7^In=NSf8f-$$W7rB8hi_ZiexidTN+7O?Zia5;Hj=&p||Pn zuNHxA;QLIoQ>tUzHtC4}LZ`3G1wJ|sT+qut!lxt!Q}?*MPP6iWbF?>tpB}&bAAb?A z&+lQZ;D#HDjH6FEvCZe&6DccO8>%7pn?3e$&r@VOhRf?}d{7;@+Mg6#XzW4EdwkV- z@L@Shxa?1-2Y?58kK@k!YdqiM{w9tC@q7Q|N8kA2ue^DE#ORiCMgbstNWJ0^*DgE) z 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

    mCK`VKYH!o zdHuCN``Yc#J#LS#_xJnV-F@F_`%x`*n%Qm>6?E(by3O3vDX3tde9;&SbTz)tW~(rQ zh%)0gDj*wb!G+Qc%Dvf6ZVvj?5TZ+Y)N{S7mVq0qCV;D0h`FlgdFo60@HHTdDCUwZ ziAed$sBZ#xy5~UZ|7TT{UkW`!&6u9}+J3VWe#6?O2Nx~xmpJr=b_Rr{) znv|UDhdr4~k-{2e0@+@#OU5%fP|DA?lyNKmi^M3c@x3CyTB~L&V*Jw=#WP2b-!PC= zE}Ugqi@a*jy^=#Bc3z3k6G=0*$kuuc26vYgU!)~3pxB0)hOImqVibR9@`O#c#Inw? zBrvZq2W>Y?Ext~hqAVD7&*N`?CsEraL5}HpR_fU^ajdY+Ej3GpI1iC8QT6Z|!>UED zfUGo2HMR|LV@lNB@h7c%49Wl&3Lu*^(f=Q1|GI5UmL%t4ZgZc!R8~O**{A|Yk>bD* z$Iyku`@ewRK|?<%iJ|}z1e)wdcU>~`oG|@}m~Li1V;2S!jqc2I_GPVD5p()swPLfA;viSjzF4z5Ui3)_lEjz-MP91}Cv zSvapc$MV9upA~jkFsD!F9ro_ACrkPjVWNS;AX&-WiWR`-C7!r|@GmOZ6=s-^4yCx7 zOjww23K+57FfTOIKdg&#cH{DYVYyVSwD61ZjL3*F6(9C>zMwDmxfh z+e+V?UP(SdU{-!b5=MEl*s{ac2q{BIum%_CS;;#wpqHDqcBl3}6`*eX%3ZpB!?%mY ztG?s`|`Io=LZ`M~_-@fwt`i);NUQaCO4HByB{(tSo+*`_R zDwy5>Xhzb={abP2Eg6I)($$WPmS1`~s8{hxu=y8n-Pf}c?UP#?FsX*Cab zXIQWGWqo{y^?@(H;_Ki4`p5s_Pk;aa`qMxD_y6$i-~Nh!{Dxmvv1+kCp4znIWxYdC zJJ7nliXCG8ETq@|&--bmfsMWTrw1tT@eEjHzXd<6JLneM99%*7H(jsmNf5US#fsHy zE9(K0o$^_h`Krx{p40`C_(R*A>2;MGOtoWncjfM~t&$c$+kPZxfXsb$77t&6y4}0c zcJV4;<%?oh0jp~mFp(A&MhGS2DU2XOxXO+% ze#n<&1X5+>W;WOx*j3}jMxeR5IXeH(HN1RJ;yf*+r;~w^f}ekPAIgd9Jw00EJYm|V z$iuAwMb%ne#f8w#lP|v(c8%{q#8%p+0UauxDq;t>)Uf? z23B-zhE651eU?G~?5=huw&ZE&=vO%@WKeh9y(ffh47N10>9Tk;7Hq_y3$F*Y1Y$oj zN!9=Nya{_1Qfg`a2jV!@Xt37pDc-_PyyF%sg^OzyM$|@m*r>pP#RRN3xE8*FS6%p(-+%q?_dopfFMs>H|MO2j{nx+w_?z#p@2i08TU}pyeZ8)4 z*R%IOeBg(y!c7c%{45*1#Dp43AaQqli5zv$Wto)#YDbhFC-15kaKzBiO>n~4G!ZMM zr^md8efgGMb~^mTvsOp!#?kM86$_nPqB)0Ahb{R~A=y!unPI0#6U%-iHixKI-*RpF z#ag@eFBb3x>*i3c^|65Ky8e9q{6GKlkN^Fj{^9@e$DjYrU%vgXzvAKtKGxG`zwRTX zvfA4q!L&5pU4PGnq_vALcH2I(dox{*ZUjt|0JfdLaFw{vv~kdiqXk3g#-Tkkkuyi6 zoZyzva3khg9I~9UE^(!ud~CPvRWSN>O-rzI_h8X>m-QPt6xHet=?F}iD38j|_E+cO z-j@U7>qrw-JZL8szyr&UC`>!L!#hiKfo@L*7E0Wx=uruBDG`zlUZmW Txn*p}=S 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 literal 0 HcmV?d00001 diff --git a/Loop/DerivedAssetsBase.xcassets/AppIconDayNight.appiconset/AppIconDayNight.png b/Loop/DerivedAssetsBase.xcassets/AppIconDayNight.appiconset/AppIconDayNight.png new file mode 100644 index 0000000000000000000000000000000000000000..767082980e0a392eb583fa8567a877453b87f934 GIT binary patch literal 648784 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

    I!ck}`UgDndhg5g=+dp>Y8iIseey6x0GO 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

    7>!P@3;IG)@04M` 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

    n_viyer!O`E1{qvANp5P)Q*T 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

    `i+Qy`IFBG)@D}dYJ7*UqU#Y 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 z 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 z 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

      kzI{1%IU)7(a2u+;dwJj9s~_n(3-eH@GPvn zUrz~NyP6@fDuuRf|Ad$7mux$uxmDR*H(!swAd56JejAUits7Ohi|LIbOxEF3?yR@8VM13>39JqMnOWj@K#atf7}T(;RbE6ZUs0rvv=6JnHL*qF zQ!=<^XG0t?vAh>E-ffEdeV)x{xb?`M#7EGEg8Xdsu2eqLujCq(&^)f(-Mv6IjKqvp zCQP5fd@VXZrYk0ND7Y}jsSU%CDb^{~JIXW-sxa!=!T`NEG;d|uYVXsB;(T3aHccGi z7)z!xx_T3u;dN;l7ct2lb)ajn963?Lab5Kqps8XHS7;bdm7tz>jMkFmya*N<)b2-h zSwcNhocwTmL@r%lzcC`{GWced%|8bx`B~7?FB0%Mj+>^ff6gXO_er+TdxFvRZwE@; zxAz3oQ$pL6oPRNijXbU@b*7^V7N4sil0~zvHN#0!Klkm97-mlK7&=1m`8inL){#ZI z7~5OWDY?>V2*>B(6to4oy zF3fNAnr%N7hy%K*7&iEbvnH00s-fp6UzCb~zTz{WSbTxmtwYZ$0`1KdxoNRXkh2g7 z7^VcYbPR&0nAIe^Pt9Rm9B?qKG2IM z(0FO5nO; zXc^%-X_3JEm)@-OflzUg8q~}@2qGuEZzj%RFOrl;(+l0!GjZBZWVBVC6 zv8Tyc7D+78_t!QZ`UMmKkmTw3a$4Cj+7Xb{LJP-rp8S?Q2T1XY_Gk0b$qaUb6;p#E zK2obrn)xPksSZsz3Om2@qfBD#Kv_MU-zLh9c;X3tHTU*@@RhGnj>B#P+kgj z#fpm@l)~8DMgpW+l>7blQVxa1K=RWw(TE=Oi2FtL6wH|`c1k#R!bUGha5c88iZj@( z|5NUd7z1}-BZhUhrJ_49TK`=*jqW&%n>a3lJgpG(wEk{1+|(mA0C0%p+bV9n>$s!` zQ#ix*hFzf7Imi_9bF#}{ZHGWSNGER=V~_>`?jW7y#--*F(-VuH-S&T{!lFHsl}^7= z-U_alv8a~yW@s>%0C=fPB>b%ZDmwdxdOP(D6InZodcQ9_;m&|%CaMU)6}OM9+Q-mZ=9^`uP0(u>SHM5Nwi%kIhJRwEm(cn1gHyC=cah$ja zHQOAC)JnPO!e}#sW+$M3IRR8?F>1vC;R3$VGdcM0dF9qSEP-Xr9~y_xZa}kQQ}!f^ z0BX;Gi>QDF_Tf-2bI!$47>(+$1negfL~DWED)0gtC?}D`X+Kx_qwlNRuSz%S^>w>N zE^qnOG^+ubB6veCeG$61dC|nOhxoHr>Nm=FQ}$C81JtO1>9npKE91{7g5>H&u-PL+ z?JyzkMnGu^K6zK9;1#&OM4?-$<{xhCqL-WUe`O|Br~;XEHTal;|GhziIF<#We@?Ve z%5|4LGhMua4oH7avqH9FU==Ati5_ZUnk_1~RLWITZ*+6}MlG z^^gYVoE!CcS+Sl|Z0mPN+8`_&?vccoC{Z@i2kWi}B0Ma8i>b%Zneo6u(d<8_YvO-r z8lXZHBfa_U0LG<%-F>Kkz6{BI%ErmOS`o_ubL13k+-}U`V0r~#V6m_X$6(V}-wM;% z-pk>Cs8xi*C!@jGhMzMune$l^|cS}N6#Kl+ou z6B)`CIWIAaMZ=a$75oo_EF385uvW!*_vx#j?74UGQd^lPyw zde(is@E1#^Dq?C8M3UL(?)t%%1At($qxdj-j{8(o-_$@tW-dl$B&hZTg9N{qyxx9+ z0yP*x(g&yV)f}??Wz&~RmY0>{xKQarFL zhu#hcG5&Hzb`-2TJXPu^RSVl1?S!d_1lpQ^{UqpsufrDtak>R@_M5p!0|Qy?X!!<=^Xi#s3cBTsUID1DJ%fOe1-w_}F!VG0 z*dSHRovCer_!vgcBNCM{Z^aiRVrHTW`0iL(CQzkVWok+z*638OkI%z~C=ZdHSbusV z$B=cQ?71uszPY>z@vlO!*(WlrB9Kmci$i6F4qK)HB47ZUc0mYgy;vp2#3B6aOQj91 zzUMoB$$iq>dCK5lYR&f%8|FJDtzul45lL2dy^oaXc#*Pa6&)X@MbTamTH`sH^7CIJ z7x$eMv9^DTndAO?eLOM72R;PPQAP3ey-Ru+au+%Ib&_F(U$$I^adBw@Hza?*KB))-t^YF{iFySbN3stX6yF*|a5LyyG4Zji|Ayg9JWo*jnj6 z>Jc^to2#Z>3}&yIU_>N-3ujS(X@bEqH#mvoiWv!KXi3yLO4b27oo1358Pk$ba-b`m zJw|gPlT=$A=+&*K-lM+2W_u8}%w*Aff4vR+p$fYqNpLbn&wyY0ZU{`wTVZ8|*xh&C zA3#R)Bd=HgM(H>KHcF7>KjXOKXcZyhah}v`K-5Qp^O~nC-z`0nwS)RwDKcIwpgz8 zig-AW)@dpWiUz_e7;dneXo0+BOKDnu9WH}I0$ETDTNFJqrX%!HOY)iR{y~8$D`%4?(+9#qZWA69T`KOExP(GfW?ZWY#W{i|xD-Umw7)`hGv(^vcaLxh~P$3f4G#u^bmVPA1 zz{)%ewa(b=Ibv7_B!pF05ya zRUarKRj+UU21rVZ?Vhdo6j`N~PXjfKwFUD+nxP^1j7U=mma_^7Fj! z=p8$R#11izzPKt%?pAB~U+02bm14oYM|+sEtHYoO2-AUkA{>&*s(SH~{e4LOpx$2W`4?l3d5*(0%Mo2F{mGiXiW>hl*>{$nx0C7$r(es7E9KC=RI=>r&61B)0 zIY8})w&=8)feZf_6M^!dq~4>IaGD75wYROqGWZ_w=5n0kSrd{s)!c&yYELdU!54ohkNKDYB7 zj%m!h6g^=gJoP!(6K=q}?AE}tHYDo2w+(x8scV8EP7L2ErI4Nh7Gui-EiCQ^Z zz@<lq>!d5O|~Ekn;pwoV{{q$ke{n`MT~=CBzid)=qOMggHVmjweDf| z##AAvonz(cRzeV#paM86kBd&sI9x;3Z!h4wy0Z-Dlg}>?%~A%FM>fGry_ep>m2WK! zR3ii?N)IupHv3Uqr!MtE_heUzESMxXRL(t~J@DFR&@b(wmFyV*TBYxhtaK5-C;o9T z7!${s&s|@FFsHMznwG0R7G=xB*u#S$eGBIOrqeu+w`l-uQR6XK4tIrw#rZ-5Ujf|G z+6gm7=X$;MgBl(&)7=i61YKW}v{C|w!tx})u4AtK8O=>}eID*UzY3TQbG)>B#F2WS zJzbu-+CEyHUpbd-rnndO4)<6aMU0Xou5AtPTQ80F0T}+%t$vQgz!GTbC~GCwbTWrq zP#bB5^f=}lp)bBJf9t)Q{+O8@d_LrLU8jEF6ybzFwOHtxsGAvRvsb2&7_{X&ln2#I zRaKNBZEK)uIno?mrx~Gf;n#BQKnoCh>6uyj&46HCx~4O6dT=4lw}4rlRJD0p7GZ4b zSVuu*uVc*jIP!JpzYQ+IpfzJU#Qum%;5E;MypPP}~sSp^mY_x{8@$wdjdU;j^cP+b*VpbF>;k z%FPuaTpZKxeJRriyUhg08QX0=$__(-`VfPfj8zMn-qekS&NV7?f$ydXG`Ru2{&Z3< z;q$aV&)U95%VABKT?Ia9D~iz_BQZ>IdU?;!y#jM_&DkAZOw2_GM^$69=$zZ=0C^JyXYce&;7@aK$WpZ{K`4k|&UvYLz3hR{ zv?LremXR3}{wUY2A_F{igDDb)2WGiXb)W$9-Y0P4Gn#W*Vpl$Hc4YXIC%@ z!}l=};+dT^Msco$(efS7XB%_F&N#}2WJ4x!dQE1QRe8nS1x7swHe8s#L>0J9hfr1a z3c+by%rWr=;tw!#GnjV02z06G?mx~)IJ_khp#N#;htuM$*=QN=DU2-BoM&u zP#~>6f9z(=L}|x|M~+P8P-W;L6FWXj5{BXPMurQiDG{uVGw>z9x7Xm-kC4|FTS3kg zj|xvlPkA6jJ}*kY6VkA|HJGPb@kVnjB8cA$K_l{onkvZj>~A1q;m>@o`N@l)zypIc=iJMs~F~e;*Y0kdLrCK?R^bee�rq(VB7-Y$AfJ~zEK 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 z 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 z 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

      mCK`VKYH!o zdHuCN``Yc#J#LS#_xJnV-F@F_`%x`*n%Qm>6?E(by3O3vDX3tde9;&SbTz)tW~(rQ zh%)0gDj*wb!G+Qc%Dvf6ZVvj?5TZ+Y)N{S7mVq0qCV;D0h`FlgdFo60@HHTdDCUwZ ziAed$sBZ#xy5~UZ|7TT{UkW`!&6u9}+J3VWe#6?O2Nx~xmpJr=b_Rr{) znv|UDhdr4~k-{2e0@+@#OU5%fP|DA?lyNKmi^M3c@x3CyTB~L&V*Jw=#WP2b-!PC= zE}Ugqi@a*jy^=#Bc3z3k6G=0*$kuuc26vYgU!)~3pxB0)hOImqVibR9@`O#c#Inw? zBrvZq2W>Y?Ext~hqAVD7&*N`?CsEraL5}HpR_fU^ajdY+Ej3GpI1iC8QT6Z|!>UED zfUGo2HMR|LV@lNB@h7c%49Wl&3Lu*^(f=Q1|GI5UmL%t4ZgZc!R8~O**{A|Yk>bD* z$Iyku`@ewRK|?<%iJ|}z1e)wdcU>~`oG|@}m~Li1V;2S!jqc2I_GPVD5p()swPLfA;viSjzF4z5Ui3)_lEjz-MP91}Cv zSvapc$MV9upA~jkFsD!F9ro_ACrkPjVWNS;AX&-WiWR`-C7!r|@GmOZ6=s-^4yCx7 zOjww23K+57FfTOIKdg&#cH{DYVYyVSwD61ZjL3*F6(9C>zMwDmxfh z+e+V?UP(SdU{-!b5=MEl*s{ac2q{BIum%_CS;;#wpqHDqcBl3}6`*eX%3ZpB!?%mY ztG?s`|`Io=LZ`M~_-@fwt`i);NUQaCO4HByB{(tSo+*`_R zDwy5>Xhzb={abP2Eg6I)($$WPmS1`~s8{hxu=y8n-Pf}c?UP#?FsX*Cab zXIQWGWqo{y^?@(H;_Ki4`p5s_Pk;aa`qMxD_y6$i-~Nh!{Dxmvv1+kCp4znIWxYdC zJJ7nliXCG8ETq@|&--bmfsMWTrw1tT@eEjHzXd<6JLneM99%*7H(jsmNf5US#fsHy zE9(K0o$^_h`Krx{p40`C_(R*A>2;MGOtoWncjfM~t&$c$+kPZxfXsb$77t&6y4}0c zcJV4;<%?oh0jp~mFp(A&MhGS2DU2XOxXO+% ze#n<&1X5+>W;WOx*j3}jMxeR5IXeH(HN1RJ;yf*+r;~w^f}ekPAIgd9Jw00EJYm|V z$iuAwMb%ne#f8w#lP|v(c8%{q#8%p+0UauxDq;t>)Uf? z23B-zhE651eU?G~?5=huw&ZE&=vO%@WKeh9y(ffh47N10>9Tk;7Hq_y3$F*Y1Y$oj zN!9=Nya{_1Qfg`a2jV!@Xt37pDc-_PyyF%sg^OzyM$|@m*r>pP#RRN3xE8*FS6%p(-+%q?_dopfFMs>H|MO2j{nx+w_?z#p@2i08TU}pyeZ8)4 z*R%IOeBg(y!c7c%{45*1#Dp43AaQqli5zv$Wto)#YDbhFC-15kaKzBiO>n~4G!ZMM zr^md8efgGMb~^mTvsOp!#?kM86$_nPqB)0Ahb{R~A=y!unPI0#6U%-iHixKI-*RpF z#ag@eFBb3x>*i3c^|65Ky8e9q{6GKlkN^Fj{^9@e$DjYrU%vgXzvAKtKGxG`zwRTX zvfA4q!L&5pU4PGnq_vALcH2I(dox{*ZUjt|0JfdLaFw{vv~kdiqXk3g#-Tkkkuyi6 zoZyzva3khg9I~9UE^(!ud~CPvRWSN>O-rzI_h8X>m-QPt6xHet=?F}iD38j|_E+cO z-j@U7>qrw-JZL8szyr&UC`>!L!#hiKfo@L*7E0Wx=uruBDG`zlUZmW Txn*p}=S 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 literal 0 HcmV?d00001 diff --git a/Loop/DerivedAssetsBase.xcassets/AppIconNight.appiconset/Contents.json b/Loop/DerivedAssetsBase.xcassets/AppIconNight.appiconset/Contents.json new file mode 100644 index 0000000000..a9f66f6697 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/AppIconNight.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images": [ + { + "filename": "AppIconNight.png", + "idiom": "universal", + "platform": "ios", + "size": "1024x1024" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/Managers/LoopAppManager.swift b/Loop/Managers/LoopAppManager.swift index b9e0d477bd..a88152d720 100644 --- a/Loop/Managers/LoopAppManager.swift +++ b/Loop/Managers/LoopAppManager.swift @@ -200,6 +200,7 @@ class LoopAppManager: NSObject { precondition(state == .launchManagers) windowProvider?.window?.tintColor = .loopAccent + windowProvider?.window?.overrideUserInterfaceStyle = LoopAppearancePreference.current.interfaceStyle OrientationLock.deviceOrientationController = self resetLoopManager = ResetLoopManager(delegate: self) @@ -526,6 +527,11 @@ class LoopAppManager: NSObject { .sink { LoopModeHistory.shared.record(closedLoop: $0) } .store(in: &cancellables) + NotificationCenter.default.publisher(for: LoopAppearancePreference.didChange) + .receive(on: RunLoop.main) + .sink { [weak self] _ in self?.windowProvider?.window?.overrideUserInterfaceStyle = LoopAppearancePreference.current.interfaceStyle } + .store(in: &cancellables) + NotificationCenter.default.publisher(for: LoopInterfacePreference.didChange) .receive(on: RunLoop.main) .sink { [weak self] _ in self?.relaunchHomeScreenForInterfaceChange() } diff --git a/Loop/Redesign/AppearanceSettings.swift b/Loop/Redesign/AppearanceSettings.swift new file mode 100644 index 0000000000..437af384d5 --- /dev/null +++ b/Loop/Redesign/AppearanceSettings.swift @@ -0,0 +1,203 @@ +// +// AppearanceSettings.swift +// Loop +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import SwiftUI +import UIKit + +/// Light, dark or the system's choice, applied to Loop's whole window. +enum LoopAppearancePreference: String, CaseIterable, Identifiable { + case system + case light + case dark + + private static let key = "com.loopkit.Loop.redesign.appearance" + + static let didChange = Notification.Name("LoopAppearancePreferenceDidChange") + + static var current: LoopAppearancePreference { + get { UserDefaults.standard.string(forKey: key).flatMap(LoopAppearancePreference.init(rawValue:)) ?? .system } + set { + guard newValue != current else { return } + UserDefaults.standard.set(newValue.rawValue, forKey: key) + NotificationCenter.default.post(name: didChange, object: nil) + } + } + + var id: String { rawValue } + + var title: String { + switch self { + case .system: return NSLocalizedString("System", comment: "Appearance option that follows the iPhone's light or dark setting") + case .light: return NSLocalizedString("Day", comment: "Appearance option that always uses light mode") + case .dark: return NSLocalizedString("Night", comment: "Appearance option that always uses dark mode") + } + } + + var interfaceStyle: UIUserInterfaceStyle { + switch self { + case .system: return .unspecified + case .light: return .light + case .dark: return .dark + } + } +} + +/// The home screen icons Loop ships. Classic is the primary icon; the others are alternate icon sets in DerivedAssetsBase. +enum LoopAppIcon: String, CaseIterable, Identifiable { + case classic + case dayAndNight + case day + case night + + var id: String { rawValue } + + /// The asset catalog name passed to `setAlternateIconName`; nil is the primary icon. + var alternateIconName: String? { + switch self { + case .classic: return nil + case .dayAndNight: return "AppIconDayNight" + case .day: return "AppIconDay" + case .night: return "AppIconNight" + } + } + + var title: String { + switch self { + case .classic: return NSLocalizedString("Classic", comment: "Name of Loop's original app icon") + case .dayAndNight: return NSLocalizedString("Day and Night", comment: "Name of the app icon that follows the home screen's light or dark appearance") + case .day: return NSLocalizedString("Day", comment: "Name of the light app icon") + case .night: return NSLocalizedString("Night", comment: "Name of the dark app icon") + } + } + + var detail: String? { + switch self { + case .dayAndNight: return NSLocalizedString("Changes with the home screen's light or dark appearance", comment: "Description of the app icon that follows the home screen appearance") + default: return nil + } + } + + static var current: LoopAppIcon { + let name = UIApplication.shared.alternateIconName + return allCases.first { $0.alternateIconName == name } ?? .classic + } + + /// The preview shown in Settings. iOS doesn't expose alternate icons as images, so they have their own + /// preview image sets; Classic is read from the primary icon files, which a workspace may override. + var preview: UIImage? { + switch self { + case .classic: break + case .dayAndNight: return UIImage(named: "AppIconPreviewDayNight") + case .day: return UIImage(named: "AppIconPreviewDay") + case .night: return UIImage(named: "AppIconPreviewNight") + } + let icons = Bundle.main.object(forInfoDictionaryKey: "CFBundleIcons") as? [String: Any] + let entry = icons?["CFBundlePrimaryIcon"] as? [String: Any] + if let files = entry?["CFBundleIconFiles"] as? [String] { + for file in files.reversed() { + if let image = UIImage(named: file) { return image } + } + } + return (entry?["CFBundleIconName"] as? String).flatMap { UIImage(named: $0) } + } +} + +/// Settings → Appearance: day or night for the app, and which icon the home screen shows. +struct AppearanceSettingsView: View { + @State private var appearance = LoopAppearancePreference.current + @State private var icon = LoopAppIcon.current + @State private var iconError: String? + + var body: some View { + List { + Section(footer: Text(NSLocalizedString("System follows your iPhone's light or dark setting.", comment: "Footer for the appearance choice"))) { + Picker(NSLocalizedString("Appearance", comment: "Title of the light or dark appearance choice"), selection: $appearance) { + ForEach(LoopAppearancePreference.allCases) { option in + Text(option.title).tag(option) + } + } + .pickerStyle(.segmented) + .onChange(of: appearance) { LoopAppearancePreference.current = $0 } + } + + Section(header: Text(NSLocalizedString("App Icon", comment: "Header for the app icon choice")), footer: iconFooter) { + ForEach(LoopAppIcon.allCases) { option in + Button { + choose(option) + } label: { + AppIconRow(icon: option, isSelected: option == icon) + } + .buttonStyle(.plain) + } + } + } + .listStyle(.insetGrouped) + .navigationTitle(NSLocalizedString("Appearance", comment: "Title of the appearance settings screen")) + } + + @ViewBuilder + private var iconFooter: some View { + if let iconError { + Text(iconError).foregroundStyle(LoopDesign.Palette.criticalInk) + } + } + + private func choose(_ option: LoopAppIcon) { + guard option != icon, UIApplication.shared.supportsAlternateIcons else { return } + UIApplication.shared.setAlternateIconName(option.alternateIconName) { error in + DispatchQueue.main.async { + // iOS can report an error from the "icon changed" alert even though the icon did change, + // so the icon iOS now reports decides. + if let error, UIApplication.shared.alternateIconName != option.alternateIconName { + iconError = String(format: NSLocalizedString("The icon couldn't be changed: %@", comment: "Error shown when iOS refuses an app icon change"), error.localizedDescription) + } else { + iconError = nil + icon = option + } + } + } + } +} + +private struct AppIconRow: View { + let icon: LoopAppIcon + let isSelected: Bool + + var body: some View { + HStack(spacing: LoopDesign.Space.s3) { + Group { + if let image = icon.preview { + Image(uiImage: image).resizable() + } else { + LoopDesign.Palette.surfaceSunken + } + } + .frame(width: 52, height: 52) + .clipShape(RoundedRectangle(cornerRadius: 12, style: .continuous)) + .overlay(RoundedRectangle(cornerRadius: 12, style: .continuous).strokeBorder(LoopDesign.Palette.separator, lineWidth: 0.5)) + .accessibilityHidden(true) + VStack(alignment: .leading, spacing: 2) { + Text(icon.title) + .foregroundStyle(LoopDesign.Palette.ink) + if let detail = icon.detail { + Text(detail) + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(LoopDesign.Palette.inkMuted) + } + } + Spacer(minLength: 0) + if isSelected { + Image(systemName: "checkmark") + .font(.body.weight(.semibold)) + .foregroundStyle(LoopDesign.Palette.accent) + } + } + .contentShape(Rectangle()) + .accessibilityElement(children: .combine) + .accessibilityAddTraits(isSelected ? [.isButton, .isSelected] : .isButton) + } +} diff --git a/Loop/Views/SettingsView.swift b/Loop/Views/SettingsView.swift index 6411538267..dcb5995f0d 100644 --- a/Loop/Views/SettingsView.swift +++ b/Loop/Views/SettingsView.swift @@ -454,6 +454,7 @@ extension SettingsView { .environment(\.insulinTintColor, self.insulinTintColor) } + @ViewBuilder private var interfaceSection: some View { Section(footer: Text(NSLocalizedString("The new interface adds Trends and Logbook tabs. Turn it off to go back to the classic status screen; Settings closes to switch.", comment: "Footer for the interface choice in settings"))) { Toggle(NSLocalizedString("New Interface", comment: "Title of the toggle for the redesigned interface"), isOn: Binding( @@ -461,6 +462,11 @@ extension SettingsView { set: { LoopInterfacePreference.useRedesign = $0 } )) } + Section { + NavigationLink(destination: AppearanceSettingsView()) { + Text(NSLocalizedString("Appearance and App Icon", comment: "Title of the row that opens the appearance and app icon settings")) + } + } } private var therapySection: some View { From d59f239debfbf047ba1ce9d0b973328dc75b9c59 Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Tue, 27 Oct 2026 10:10:39 +0000 Subject: [PATCH 04/17] Localise the redesigned interface in all of Loop's languages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every string the new interface shows or speaks now goes through NSLocalizedString with a translator comment, and Localizable.xcstrings gains 213 keys with translations in all 23 of Loop's other languages (ar cs da de es fi fr he hu it ja nb nl pl pt-BR ro ru sk sv tr uk vi zh-Hans). Fourteen existing keys the redesign reuses ("Bolus", "%1$@ U", "Settings", ...) keep their translations and gain the languages they were missing. - Sentences with values are whole keys with positional placeholders, and counts ("%lld days", "%lld shorter gaps", "Loop · %lld changes") use plural variations, so no text is glued together in code. - Numbers, dates, ranges and durations follow the user's locale: LoopFormat.number replaces String(format:), date ranges use DateIntervalFormatter and durations DateComponentsFormatter. - The Trends one-day period has its own key, "Day (Trends period)", because "Day" is also the light appearance and icon name and some languages need different words for the two. - The Now action buttons wrap to two lines and tile labels scale down, so longer languages don't truncate. - The CSV export stays English with '.' decimals on purpose; it is data for spreadsheets, not display text. Translations follow Loop's existing terms per language and were checked for placeholder and plural-category integrity. Each language was run through the simulator with NSShowNonLocalizedStrings. They have not been reviewed by native speakers. On next-dev the catalogue merge keeps next-dev's own entries and comments and adds the redesign's keys and translations. The pre-meal menu strings are left out because next-dev opens pre-meal from the Presets screen. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01QHnVPACb9uRhdQPgF5h2mj --- Loop/Localizable.xcstrings | 50432 +++++++++++++--- Loop/Redesign/DayCharts.swift | 64 +- Loop/Redesign/DayDetailView.swift | 26 +- Loop/Redesign/LogbookScreen.swift | 120 +- Loop/Redesign/LoopDesign.swift | 6 + Loop/Redesign/LoopHistoryMath.swift | 37 +- Loop/Redesign/LoopHistoryModels.swift | 65 +- Loop/Redesign/LoopHistoryProvider.swift | 28 +- Loop/Redesign/MainTabBarController.swift | 8 +- Loop/Redesign/NowScreen.swift | 162 +- Loop/Redesign/TrendsComponents.swift | 102 +- Loop/Redesign/TrendsScreen.swift | 148 +- .../StatusTableViewController.swift | 8 +- LoopTests/Models/LoopHistoryMathTests.swift | 15 +- 14 files changed, 41443 insertions(+), 9778 deletions(-) diff --git a/Loop/Localizable.xcstrings b/Loop/Localizable.xcstrings index e8be2e8501..eac14043fc 100644 --- a/Loop/Localizable.xcstrings +++ b/Loop/Localizable.xcstrings @@ -552,31902 +552,63198 @@ } } }, - "-" : { - "comment" : "A hyphen.", - "isCommentAutoGenerated" : true - }, - "-.--" : { - - }, - "–" : { - "comment" : "String denoting lack of a recommended bolus amount in the simple bolus calculator" - }, - "." : { - "comment" : "Full stop character", + "%1$@ d" : { + "comment" : "Trends period picker, short label for a period of several days, e.g. 7 d. (1: number of days)", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ يوم" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ d" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "." + "value" : "%1$@ d" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "." + "value" : "%1$@ T" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "." + "value" : "%1$@ d" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ pv" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "-" + "value" : "%1$@ j" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "." + "value" : "%1$@ ימ׳" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ nap" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "." + "value" : "%1$@ g" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@日" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "." + "value" : "%1$@ d" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "." + "value" : "%1$@ d" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "." + "value" : "%1$@ d" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ d" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "." + "value" : "%1$@ z" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "." + "value" : "%1$@ д" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ d" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ d" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "." + "value" : "%1$@ g" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ д" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ ngày" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "." + "value" : "%1$@天" } } } }, - "(+1 day)" : { - "comment" : "Text indicating that the stop time is set for the next day.", - "isCommentAutoGenerated" : true - }, - "**Tip: If glucose rises to >270 mg/dl,** check %@ to see if a bolus is recommended to bring your glucose back into range." : { - - }, - "**Tip:** Try exercising when your active insulin is close to zero at the start of an activity." : { - - }, - "**Try:** If you often experience low glucose, consider exercising earlier in the day before eating." : { - - }, - "**Try:** Reducing your meal bolus if you expect your glucose to drop." : { - - }, - "%@" : { - - }, - "%@ " : { - - }, - "%@ %@" : { - "comment" : "The format for an active custom preset. (1: preset symbol)(2: preset name)", + "%1$@ entries" : { + "comment" : "Trends Carbs per day tile detail: average number of carb entries per day, a fractional value such as 2.5, so not pluralised. (1: number with one decimal)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ إدخالات" } }, - "da" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "záznamů: %1$@" } }, - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ registreringer" } }, - "en" : { + "de" : { "stringUnit" : { - "state" : "new", - "value" : "%1$@ %2$@" + "state" : "translated", + "value" : "%1$@ Einträge" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ entradas" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ kirjausta" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ entrées" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ רשומות" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ bejegyzés" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ inserimenti" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@件" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ registreringer" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ registraties" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "wpisów: %1$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ registros" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@%2$@" + "value" : "%1$@ intrări" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "записей: %1$@" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "záznamov: %1$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ registreringar" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ giriş" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "записів: %1$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ lần nhập" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@条" } } } }, - "%@ absorbed" : { - "comment" : "Formats absorbed carb value", + "%1$@ for %2$@" : { + "comment" : "A temp basal: its rate and how long it ran. (1: rate, e.g. 0.50 U/h; 2: duration, e.g. 30m)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%@ استغرق" + "value" : "%1$@ لمدة %2$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ po dobu %2$@" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "%@ optaget" + "value" : "%1$@ i %2$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%@ resorbiert" + "value" : "%1$@ für %2$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%@ absorbido" + "value" : "%1$@ durante %2$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%@ imeytynyt" + "value" : "%1$@ %2$@ ajan" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%@ absorbé(s)" + "value" : "%1$@ pendant %2$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%@ נספג" + "value" : "%1$@ למשך %2$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@, %2$@ ideig" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%@ assorbiti" + "value" : "%1$@ per %2$@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%@ 吸収済" + "value" : "%1$@(%2$@間)" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%@ absorbert" + "value" : "%1$@ i %2$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%@ geabsorbeerd" + "value" : "%1$@ gedurende %2$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%@ zaabsorbowane" + "value" : "%1$@ przez %2$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%@ absorvida" + "value" : "%1$@ por %2$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%@ absorbiți" + "value" : "%1$@ timp de %2$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%@ усвоено" + "value" : "%1$@ на %2$@" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%@ absorbované" + "value" : "%1$@ počas %2$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%@ absorberat" + "value" : "%1$@ i %2$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Emilen %@" + "value" : "%2$@ boyunca %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ на %2$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%@ được hấp thụ" + "value" : "%1$@ trong %2$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%@ 已吸收" + "value" : "%1$@,持续%2$@" } } } }, - "%@ of insulin" : { - - }, - "%@ read" : { - - }, - "%@ Recommended starting values" : { - - }, - "%@ remaining" : { - "comment" : "Estimated remaining duration with more than a minute", + "%1$@ for %2$@ (scheduled %3$@)" : { + "comment" : "A temp basal: its rate, how long it ran and the scheduled rate it replaced. (1: rate, e.g. 0.50 U/h; 2: duration, e.g. 30m; 3: scheduled rate number, e.g. 0.80)", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ لمدة %2$@ (المجدول %3$@)" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ po dobu %2$@ (dle plánu %3$@)" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "%@ tilbage" + "value" : "%1$@ i %2$@ (planlagt %3$@)" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%@ verbleiben" + "value" : "%1$@ für %2$@ (geplant %3$@)" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%@ restante" + "value" : "%1$@ durante %2$@ (programada %3$@)" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%@ jäljellä" + "value" : "%1$@ %2$@ ajan (ohjelmoitu %3$@)" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%@ restant" + "value" : "%1$@ pendant %2$@ (programmé %3$@)" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%@ נותרו" + "value" : "%1$@ למשך %2$@ (מתוזמן %3$@)" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@, %2$@ ideig (ütemezett: %3$@)" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%@ rimanenti" + "value" : "%1$@ per %2$@ (programmata %3$@)" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@(%2$@間、予定 %3$@)" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%@ gjenstår" + "value" : "%1$@ i %2$@ (planlagt %3$@)" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%@ resterend" + "value" : "%1$@ gedurende %2$@ (gepland %3$@)" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Pozostało %@" + "value" : "%1$@ przez %2$@ (wg planu %3$@)" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ por %2$@ (programada %3$@)" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%@ rămase" + "value" : "%1$@ timp de %2$@ (programat %3$@)" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Осталось %@" + "value" : "%1$@ на %2$@ (по плану %3$@)" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ počas %2$@ (podľa plánu %3$@)" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%@ återstår" + "value" : "%1$@ i %2$@ (schemalagd %3$@)" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%@ kaldı" + "value" : "%2$@ boyunca %1$@ (planlanan %3$@)" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ на %2$@ (за планом %3$@)" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ trong %2$@ (theo lịch %3$@)" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "剩余 %@" + "value" : "%1$@,持续%2$@(预设 %3$@)" } } } }, - "%@ U Total" : { - "comment" : "The subtitle format describing total insulin. (1: localized insulin total)", - "extractionState" : "stale", + "%1$@ g" : { + "comment" : "Format string for an amount of carbohydrate in grams. (1: grams)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%@ وحدة بشكل كامل" + "value" : "%1$@ g" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ g" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "%@ E Total" + "value" : "%1$@ g" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%@ IE gesamt" + "value" : "%1$@ g" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U Totales" + "value" : "%1$@ g" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U yhteensä" + "value" : "%1$@ g" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U total" + "value" : "%1$@ g" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U סה״כ" + "value" : "%1$@ g" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ g" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U Totali" + "value" : "%1$@ g" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "計 %@ 単位" + "value" : "%1$@ g" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%@ E Totalt" + "value" : "%1$@ g" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%@ E totaal" + "value" : "%1$@ g" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%@ J łącznie" + "value" : "%1$@ g" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U Total" + "value" : "%1$@ g" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U total" + "value" : "%1$@ g" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%@ всего ед" + "value" : "%1$@ г" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%@ j Celkom" + "value" : "%1$@ g" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%@ E totalt" + "value" : "%1$@ g" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Toplam %@ Ü" + "value" : "%1$@ gr" } }, - "vi" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U Tổng cộng" + "value" : "%1$@ г" } }, - "zh-Hans" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%@ 单位 总量" + "value" : "%1$@ g" } - } - } - }, - "%@-%@" : { - "localizations" : { - "en" : { + }, + "zh-Hans" : { "stringUnit" : { - "state" : "new", - "value" : "%1$@-%2$@" + "state" : "translated", + "value" : "%1$@ 克" } } } }, - "%@." : { - "comment" : "Appends a full-stop to a statement", - "extractionState" : "manual", + "%1$@ h" : { + "comment" : "Time in range row: average hours a day spent in the band, abbreviated. (1: hours with one decimal)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ س" } }, - "da" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ h" } }, - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ t" } }, - "en" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ Std" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ h" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ h" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ h" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ שע׳" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ óra" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ h" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@時間" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%@ ." + "value" : "%1$@ t" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ u" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ godz." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ h" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ h" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ ч" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%@ ." + "value" : "%1$@ h" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ h" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ sa" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ год" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ giờ" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%@." + "value" : "%1$@ 小时" } } } }, - "%@%@ was unable to cancel your current temporary basal rate, which is higher than the new Max Basal limit you have set. This may result in higher insulin delivery than desired.\n\nConsider suspending insulin delivery manually and then immediately resuming to enact basal delivery with the new limit in place." : { - "comment" : "Alert text for failing to cancel temp basal (1: reason description, 2: app name)", + "%1$@ mmol/mol" : { + "comment" : "Trends GMI tile detail: the GMI in IFCC units. (1: value)", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ mmol/mol" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ mmol/mol" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@%2$@ kunne ikke annullere din nuværende midlertidige basalrate, som er højere end den nye Max basalgrænse, du har indstillet. Dette kan resultere i en højere insulintilførsel end ønsket.\n\nOvervej at suspendere insulintilførslen manuelt og derefter straks genoptage den for at iværksætte basaltilførslen med den nye grænse på plads." + "value" : "%1$@ mmol/mol" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@%2$@ konnte Deine aktuelle temporäre Basalrate nicht abbrechen, da diese höher ist als die neue maximale Basalrate, die Du festgelegt hast. Dies kann zu einer höheren Insulinabgabe, als erwünscht führen.\n\nErwäge, die Insulinabgabe manuell zu unterbrechen und dann sofort wieder aufzunehmen, um die Basalabgabe mit dem neuen Grenzwert zu initiieren." + "value" : "%1$@ mmol/mol" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@ no pudo cancelar su basal temporal actual, que es más alta que el nuevo límite basal máximo que ha establecido. Esto puede resultar en una administración de insulina superior a la deseada. \n\n Considere suspender la administración de insulina manualmente y luego reanudarla de inmediato para activar la administración basal con el nuevo límite establecido." + "value" : "%1$@ mmol/mol" } }, - "fr" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@ n'a pas pu annuler votre débit basal temporaire actuel, qui est supérieur à la nouvelle limite basale max que vous avez définie. Cela peut entraîner une administration d'insuline plus élevée que souhaitée. \n\nEnvisagez de suspendre l'administration d'insuline manuellement, puis de reprendre immédiatement l'administration basale avec la nouvelle limite en place." + "value" : "%1$@ mmol/mol" } }, - "it" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@%2$@ non sono stati in grado di cancellare la tua attuale basale temporanea, che è più elevata di quella impostata come nuovo limite massimo di basale. Questo potrebbe comportare una maggiore infusione d'insulina di quanto desiderato. \n\nConsidera di sospendere manualmente l'erogazione d'insulina e quindi di riattivarla immediatamente per attivare l'erogazione d'insulina basale con il corretto limite impostato." + "value" : "%1$@ mmol/mol" } }, - "nb" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@ kunne ikke avbryte den nåværende midlertidige basaldosen, som er høyere enn den nye maksimale basalgrensen du har angitt. Dette kan føre til høyere insulintilførsel enn ønsket. \n\n Vurder å avbryte insulintilførselen manuelt og deretter umiddelbart gjenoppta for å innføre basaltilførsel med den nye grensen på plass." + "value" : "%1$@ mmol/mol" } }, - "nl" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "%@%@ kon je huidige tijdelijke basaalstand niet annuleren, die hoger is dan de nieuwe maximale basaallimiet die je hebt ingesteld. Dit kan leiden tot een hogere insulinetoediening dan gewenst. \n\nOverweeg om de insulinetoediening handmatig te onderbreken en dan direct het hervatten van de basaaltoediening uit te laten voeren met de nieuwe geldende limiet." + "value" : "%1$@ mmol/mol" } }, - "pl" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@ nie mógł anulować bieżącej tymczasowej dawki podstawowej, która jest wyższa niż nowy ustawiony limit maksymalnej dawki podstawowej. Może to skutkować wyższym niż pożądane podawaniem insuliny. \n\n Rozważ ręczne wstrzymanie podawania insuliny, a następnie natychmiastowe wznowienie podawania dawki podstawowej z obowiązującym nowym limitem." + "value" : "%1$@ mmol/mol" } }, - "ro" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@ nu a putut anula rata bazală temporară actuală, care este mai mare decât noua limită bazală maximă pe care ați setat-o. Acest lucru poate duce la o administrare de insulină mai mare decât se dorește. \n\nLuați în considerare suspendarea manuală a administrării insulinei și apoi reluarea imediată pentru a pune în aplicare administrarea bazală cu noua limită în vigoare." + "value" : "%1$@ mmol/mol" } }, - "ru" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@%2$@ не смог отменить вашу текущую ВБС, которая превышает установленный вами новый предел максимальной ВБС. Это может привести к большему количеству подаваемого инсулина, чем хотелось бы.\n\nРассмотрите возможность приостановить введение инсулина вручную, а затем немедленно возобновить введение базального инсулина с новым установленным лимитом." + "value" : "%1$@ mmol/mol" } }, - "sk" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@%2$@ nedokázal zrušiť vašu aktuálnu dočasnú bazálnu dávku, ktorá je vyššia ako nový maximálny bazálny limit, ktorý ste nastavili. To môže viesť k vyššiemu dodávaniu inzulínu, ako je požadované.\n\nZvážte ručné pozastavenie podávania inzulínu a následné okamžité obnovenie, aby ste uplatnili novým bazálny limit." + "value" : "%1$@ mmol/mol" } }, - "tr" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@ , ayarladığınız yeni Maks Bazal limitinden daha yüksek olan mevcut geçici bazal oranınızı iptal edemedi. Bu, istenenden daha yüksek insülin iletimi ile sonuçlanabilir. \n\n İnsülin iletimini manuel olarak askıya almayı ve ardından yeni limit geçerliyken bazal iletimi etkinleştirmek için hemen devam etmeyi düşünün." + "value" : "%1$@ mmol/mol" } }, - "zh-Hans" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%@%@ 无法取消当前的临时基础率,该基础率高于您新设定的最大基础率上限。这可能导致胰岛素输注量高于预期。\n\n建议您手动暂停胰岛素输注,然后立即恢复,以便根据新的上限重新执行基础输注。" + "value" : "%1$@ mmol/mol" } - } - } - }, - "%1@%2@" : { - "comment" : "Adds a full-stop to a statement (1: statement, 2: full stop character)", - "localizations" : { - "de" : { + }, + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$1@%2$2@" + "value" : "%1$@ mmol/mol" } }, - "en" : { + "ru" : { "stringUnit" : { - "state" : "new", - "value" : "%1$1@%2$2@" + "state" : "translated", + "value" : "%1$@ mmol/mol" } }, - "fr" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$1@%2$2@" + "value" : "%1$@ mmol/mol" } }, - "he" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%1$1@%2$2@" + "value" : "%1$@ mmol/mol" } }, - "nb" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$1@%2$2@" + "value" : "%1$@ mmol/mol" } }, - "nl" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$1@%2$2@" + "value" : "%1$@ mmol/mol" } }, - "ro" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$1@%2$2@" + "value" : "%1$@ mmol/mol" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$1@%2$2@" + "value" : "%1$@ mmol/mol" } } } }, - "%1$@ – %2$@ %3$@" : { - "comment" : "Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit)", - "extractionState" : "manual", + "%1$@ of %2$@" : { + "comment" : "Trends Loop active tile detail: time in closed loop out of the time Loop status is known. (1: duration in closed loop, e.g. 6d 4h, 2: duration covered, e.g. 7d) Trends: how many days of the period are averaged. (1: days averaged, a number; 2: days in the period, e.g. 14 days)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ من %2$@" } }, - "da" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ z %2$@" } }, - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ af %2$@" } }, - "en" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ von %2$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ de %2$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ / %2$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ sur %2$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ מתוך %2$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ / %2$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ su %2$@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ / %2$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ av %2$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ - %2$@ %3$@" + "value" : "%1$@ van %2$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ z %2$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ de %2$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ din %2$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ из %2$@" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ z %2$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ av %2$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ / %2$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ з %2$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ / %2$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ – %2$@ %3$@" + "value" : "%1$@ / %2$@" } } } }, - "%1$@ %2$@" : { - "comment" : "Format string combining carb entry quantity and absorption time emoji", + "%1$@ U/h" : { + "comment" : "Format string for an insulin rate in units per hour. (1: rate)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ وحدة لكل ساعة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ U/hod" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ E/t" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ IE/Std" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ U/h" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ U/h" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ U/h" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "U/hr %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ U/óra" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ U/ora" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ 単位/時" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ E/t" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ E/uur" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ J/h" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ U/h" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@%2$@" + "value" : "%1$@ U/oră" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ Ед/ч" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ J/hod" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ IE/h" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ Ü/Sa" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ U/год" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@" + "value" : "%1$@ U/giờ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ U/小时" } } } }, - "%1$@ %2$@/U" : { - "comment" : "Format string for carb ratio average. (1: value)(2: carb unit)", - "extractionState" : "manual", + "%1$@ vs plan" : { + "comment" : "Basal tile on the Now screen: how the current basal rate differs from the scheduled rate. (1: signed difference in U/h, e.g. +0.25)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/وحدة" + "value" : "%1$@ مقارنة بالمجدول" } }, - "da" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/E" + "value" : "%1$@ oproti plánu" } }, - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/IE" + "value" : "%1$@ ift. plan" } }, - "en" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/U" + "value" : "%1$@ ggü. Plan" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/U" + "value" : "%1$@ vs. lo programado" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/U" + "value" : "%1$@ vs. ohjelmoitu" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/U" + "value" : "%1$@ vs prévu" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/U" + "value" : "%1$@ לעומת התוכנית" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ a tervhez képest" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/U" + "value" : "%1$@ vs programmata" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/U" + "value" : "予定比 %1$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@ /E" + "value" : "%1$@ mot plan" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@ /E" + "value" : "%1$@ t.o.v. gepland" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/J" + "value" : "%1$@ wzgl. planu" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/U" + "value" : "%1$@ vs. programado" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/U" + "value" : "%1$@ față de program" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/ед" + "value" : "%1$@ к плану" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@ /j" + "value" : "%1$@ oproti plánu" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/E" + "value" : "%1$@ mot schema" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/Ü" + "value" : "plana göre %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ до плану" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/U" + "value" : "%1$@ so với lịch" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ %2$@/单位" + "value" : "较预设 %1$@" } } } }, - "%1$@ + %2$@" : { - "comment" : "Format string combining carb entry time and absorption time\nFormats (1: carb start time) and (2: carb absorption duration)", + "%1$@ · %2$@ in 5 min" : { + "comment" : "Under the glucose value on the Now screen: the glucose unit and how much glucose changed over 5 minutes. (1: glucose unit, e.g. mmol/L; 2: signed change, e.g. +0.3)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ خلال 5 دقائق" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ · %2$@ za 5 min" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ på 5 min" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ in 5 Min" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ en 5 min" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ / 5 min" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ en 5 min" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ ב-5 דק׳" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ · %2$@ 5 perc alatt" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ in 5 min" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · 5分で%2$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ på 5 min" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ in 5 min" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ w 5 min" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ em 5 min" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ în 5 min" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ за 5 мин" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ za 5 min" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ på 5 min" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · 5 dk'da %2$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ · %2$@ за 5 хв" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · %2$@ trong 5 phút" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ + %2$@" + "value" : "%1$@ · 5分钟内%2$@" } } } }, - "%1$@ also reads insulin data from other apps in Apple Health. Apple Health does not report whether an app may read data, so read access can't be shown here." : { - "comment" : "Health access reading explanation (1: app name)" - }, - "%1$@ APP SOUNDS" : { - "comment" : "App sounds title text (1: app name)", - "extractionState" : "stale", + "%1$@ · ending soon" : { + "comment" : "Status pill on the Now screen when a pump pod or CGM sensor is near the end of its life. (1: device name from the pump or CGM plugin, e.g. Omnipod 5)", "localizations" : { - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ APP LYDE" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ SUONI DELL'APP" - } - }, - "nb" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ APP-LYDER" + "value" : "%1$@ · ينتهي قريبًا" } }, - "pl" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ DŹWIĘKI APLIKACJI" + "value" : "%1$@ · brzy výměna" } }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ ЗВУКИ ПРИЛОЖЕНИЯ" - } - } - } - }, - "%1$@ cannot turn your iPhone's volume up for you. Make sure your volume is turned up — especially overnight — or you may not hear urgent alarms. The Mute All App Sounds feature also silences these alarms while it is active." : { - "comment" : "Critical alert audio fallback callout message (1: app name)" - }, - "%1$@ has been active for more than 24 hours. Make sure you still want it enabled, or turn it off in the app." : { - "comment" : "Active preset reminder alert background body. (1: preset name)" - }, - "%1$@ has been active for more than 24 hours. Make sure you still want it enabled, or turn it off." : { - "comment" : "Active preset reminder alert foreground body. (1: preset name)" - }, - "%1$@ has set your correction range to 110 mg/dL or higher." : { - "comment" : "The format string for the high insulin needs preset warning text on the preset detent screen when stopping a preset. (1: app name)" - }, - "%1$@ is operating with Closed Loop in the OFF position. Your pump and CGM will continue operating, but the app will not adjust dosing automatically." : { - "comment" : "Alert message for closed loop off informational modal. (1: app name)", - "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ kører med Lukket Loop i positionen OFF. Din pumpe og CGM fortsætter med at fungere, men appen justerer ikke doseringen automatisk." + "value" : "%1$@ · udløber snart" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ arbeitet mit geschlossenem Regelkreis in der AUS-Position. Deine Pumpe und CGM funktionieren weiter, aber die App passt die Dosierung nicht automatisch an." + "value" : "%1$@ · läuft bald ab" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ está funcionando con Circuito Cerrado en la posición APAGADO. Su bomba y CGM seguirán funcionando, pero la aplicación no ajustará la dosis automáticamente." + "value" : "%1$@ · termina pronto" } }, - "fr" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ fonctionne avec la boucle fermée en position ARRÊT. Votre pompe et votre CGM continueront de fonctionner, mais l'application n'ajustera pas automatiquement le dosage." + "value" : "%1$@ · päättyy pian" } }, - "it" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ è in funzione con Loop chiuso disattivato. La pompa e il CGM continueranno a funzionare, ma l'applicazione non regolerà automaticamente il dosaggio." + "value" : "%1$@ · fin proche" } }, - "nb" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ opererer med Lukket Loop i AV-posisjon. Pumpen og CGM vil fortsette å fungere, men appen vil ikke justere doseringen automatisk." + "value" : "%1$@ · מסתיים בקרוב" } }, - "nl" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ werkt met Actieve loop UIT. Je pomp en CGM blijven werken, maar de app past de dosering niet automatisch aan." + "value" : "%1$@ · hamarosan lejár" } }, - "pl" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ działa z zamkniętą pętlą w pozycji OFF. Twoja pompa i CGM będą nadal działać, ale aplikacja nie będzie automatycznie dostosowywać insuliny." + "value" : "%1$@ · in scadenza" } }, - "ro" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ operează cu bucla închisă în poziția OPRIT. Pompa și senzorul de glicemie vor continua să funcționeze, dar aplicația nu va ajusta automat dozarea." + "value" : "%1$@ · まもなく終了" } }, - "ru" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ работает с замкнутым циклом в положении ВЫКЛ. Ваша помпа и CGM будут продолжать работать, но приложение не будет регулировать дозировку автоматически." + "value" : "%1$@ · utløper snart" } }, - "tr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ , KAPALI konumda Kapalı Döngü ile çalışıyor. Pompanız ve CGM çalışmaya devam edecek, ancak uygulama dozajı otomatik olarak ayarlamayacaktır." + "value" : "%1$@ · verloopt binnenkort" } }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ 当前处于非闭环模式。胰岛素泵和连续血糖监测仪仍将正常运行,但应用程序不会自动调整胰岛素剂量。" - } - } - } - }, - "%1$@ is unable to clear the alert from your device" : { - "comment" : "Message for alert shown when alert acknowledgement fails for a device, and the device does not provide a LocalizedError. (1: app name)", - "localizations" : { - "da" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ kan ikke slette advarslen fra din enhed" + "value" : "%1$@ · wkrótce wymiana" } }, - "de" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ kann die Benachrichtigung nicht von Deinem Gerät löschen" + "value" : "%1$@ · terminando em breve" } }, - "es" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ no puede borrar la alerta de su dispositivo" + "value" : "%1$@ · expiră curând" } }, - "fr" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ ne parvient pas à supprimer l'alerte de votre dispositif." + "value" : "%1$@ · скоро замена" } }, - "it" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ non è in grado di cancellare l'avviso dal tuo dispositivo" + "value" : "%1$@ · čoskoro výmena" } }, - "nb" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ kan ikke fjerne varselet fra enheten din" + "value" : "%1$@ · går snart ut" } }, - "nl" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ kan de melding niet wissen van je apparaat" + "value" : "%1$@ · yakında bitiyor" } }, - "pl" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ nie może usunąć alertu z Twojego urządzenia" + "value" : "%1$@ · незабаром заміна" } }, - "ro" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ nu poate șterge alerta de pe dispozitiv" + "value" : "%1$@ · sắp hết hạn" } }, - "ru" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ не удается удалить предупреждение с вашего устройства" + "value" : "%1$@ · 即将到期" } - }, - "tr" : { + } + } + }, + "%1$@%%" : { + "comment" : "A percentage. (1: number)", + "localizations" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ , uyarıyı cihazınızdan silemiyor" + "value" : "%1$@%%" } }, - "zh-Hans" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ 无法清除您设备上的警报。" + "value" : "%1$@%%" } - } - } - }, - "%1$@ is unable to communicate with your insulin pump. The app will continue trying to reach your pump, but insulin delivery information cannot be updated and no automation can continue.\nYou can wait several minutes to see if the issue resolves or tap the button below to learn more about other options." : { - "comment" : "Message for alert shown when delivery status is uncertain. (1: app name)", - "localizations" : { + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ kan ikke kommunikere med insulinpumpen. Loop vil fortsætte med at forsøge at kommunikere med din pumpe, men insulinafgivelsesoplysninger kan ikke opdateres og ingen automatisering kan fortsætte.\nDu kan vente et par minutter for at se, om problemet bliver løst, eller tryk på knappen nedenfor for at få mere at vide om andre muligheder." + "value" : "%1$@ %%" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ kann nicht mit Deiner Insulinpumpe kommunizieren. Die App versucht weiterhin, Deine Pumpe zu erreichen, aber die Informationen zur Insulinabgabe können nicht aktualisiert werden und die Automatisierung kann nicht fortgesetzt werden.\nDu kannst einige Minuten warten, um zu sehen, ob das Problem behoben ist, oder auf die Schaltfläche unten tippen, um mehr über andere Optionen zu erfahren." + "value" : "%1$@ %%" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ no puede comunicarse con tu bomba de insulina. La aplicación continuará intentando llegar a tu bomba, pero la información de entrega de insulina no se puede actualizar y ninguna automatización puede continuar.\nPuedes esperar varios minutos para ver si el problema resuelve o pulsa el botón de abajo para saber más sobre otras opciones." + "value" : "%1$@%%" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ ei pysty kommunikoimaan insuliinipumpun kanssa. Sovellus yrittää edelleen yhdistää pumppuun, mutta insuliininannostelun tiedot eivät päivity, eikä automatiikka ole päällä.\nVoit odottaa muutaman minuutin nähdäksesi ratkeaako ongelma, tai voit napauttaa alla olevaa painiketta saadaksesi lisätietoja muista vaihtoehdoista." + "value" : "%1$@ %%" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ ne parvient pas à communiquer avec votre pompe à insuline. L’application continuera d’essayer d’atteindre votre pompe, mais les informations sur l’administration d’insuline ne peuvent pas être mises à jour et aucune automatisation ne peut continuer.\nVous pouvez attendre quelques minutes pour voir si le problème est résolu ou appuyer sur le bouton ci-dessous pour en savoir plus sur les autres options." + "value" : "%1$@ %%" } }, - "it" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ non riesce a comunicare con la pompa. L'app continuerà a provare a contattare la pompa, ma le informazioni sull'erogazione dell'insulina non possono essere aggiornate e l'automazione non può proseguire. \nPuoi attendere alcuni minuti per vedere se il problema si risolve oppure toccare il pulsante qui sotto per saperne di più sulle altre opzioni." + "value" : "%1$@%%" } }, - "nb" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ kan ikke kommunisere med insulinpumpen. Appen vil fortsette å prøve å nå pumpen din, men insulintilførselsinformasjon kan ikke oppdateres og ingen automatisering kan fortsette.\n Du kan vente flere minutter for å se om problemet løser seg eller trykke på knappen nedenfor for å lære mer om andre alternativer." + "value" : "%1$@%%" } }, - "nl" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ kan niet communiceren met je insulinepomp. De app blijft proberen je pomp te bereiken, maar de insulinetoedieningsinformatie kan niet worden bijgewerkt en automatisering kan niet plaatsvinden.\nJe kunt enkele minuten wachten om te zien of het probleem is opgelost of tik op de onderstaande knop voor meer informatie over andere opties." + "value" : "%1$@%%" } }, - "pl" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ nie może skomunikować się z Twoją pompą insulinową. Aplikacja będzie nadal próbowała połączyć się z pompą, ale nie można aktualizować informacji o podawaniu insuliny i nie można kontynuować automatyzacji.\n Możesz poczekać kilka minut, aby sprawdzić, czy problem został rozwiązany, lub nacisnąć poniższy przycisk, aby dowiedzieć się więcej o innych opcjach." + "value" : "%1$@%%" } }, - "ro" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ nu poate comunica cu pompa de insulină. Aplicația va continua să încerce să comunice cu pompa, dar informațiile despre administrarea insulinei nu pot fi actualizate și automatizarea nu poate continua.\nPuteți aștepta câteva minute pentru a vedea dacă problema se rezolvă sau apăsați butonul de mai jos pentru a afla mai multe despre alte opțiuni." + "value" : "%1$@ %%" } }, - "ru" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ не может связаться с вашей инсулиновой помпой. Приложение будет продолжать попытки связаться с вашей помпой, но информация о доставке инсулина не может быть обновлена, и автоматизация не может продолжаться.\nВы можете подождать несколько минут и посмотреть, разрешится ли проблема, или нажать кнопку ниже, чтобы узнать о других возможностях." + "value" : "%1$@%%" } }, - "sk" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ nedokáže komunikovať s vašou inzulínovou pumpou. Aplikácia sa bude naďalej pokúšať kontaktovať vašu pumpu, ale informácie o podávaní inzulínu nemožno aktualizovať a nemôže pokračovať žiadna automatizácia.\nMôžete počkať niekoľko minút, aby ste zistili, či sa problém vyriešil, alebo klepnutím na tlačidlo nižšie sa dozviete viac o ďalších možnostiach." + "value" : "%1$@%%" } }, - "sv" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ kan inte kommunicera med din insulinpump. Appen kommer att fortsätta att försöka nå din pump, men under tiden kan information om insulintillförsel inte uppdateras och automatisering inte fortsätta.\nDu kan vänta flera minuter för att se om problemet löser sig eller klicka på knappen nedan för att läsa mer om andra alternativ." + "value" : "%1$@%%" } }, - "tr" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ insülin pompanızla iletişim kuramıyor. Uygulama pompanıza ulaşmaya çalışmaya devam edecek, ancak insülin iletim bilgileri güncellenemeyecek ve hiçbir otomasyon devam edemeyecektir.\nSorunun çözülüp çözülmediğini görmek için birkaç dakika bekleyebilir veya diğer seçenekler hakkında daha fazla bilgi edinmek için aşağıdaki butona dokunabilirsiniz." + "value" : "%1$@%%" } }, - "zh-Hans" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ 无法与您的胰岛素泵通信。应用将继续尝试连接胰岛素泵,但当前无法更新胰岛素输注信息,也无法继续自动化操作。\n\n您可以等待几分钟以观察问题是否自动恢复,或点击下方按钮了解其他可选操作。" + "value" : "%1$@%%" } - } - } - }, - "%1$@ Still Active" : { - "comment" : "The format title for the preset still active alert. (1: preset name)" - }, - "%1$@ Time Settings Need Attention" : { - "comment" : "Time change alert title", - "localizations" : { - "da" : { + }, + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Tidsindstillinger kræver opmærksomhed" + "value" : "%1$@%%" } }, - "de" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Zeiteinstellungen erfordern Aufmerksamkeit" + "value" : "%1$@ %%" } }, - "es" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ La configuración de la hora necesita atención" + "value" : "%%%1$@" } }, - "fr" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Paramètres d'heure requierent une attention" + "value" : "%1$@%%" } }, - "he" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ הגדרות השעה דורשות תשומת לב" + "value" : "%1$@%%" } }, - "it" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Le impostazioni dell'orario richiedono attenzione" + "value" : "%1$@%%" } - }, - "nb" : { + } + } + }, + "%1$@%% basal" : { + "comment" : "Trends Insulin per day tile detail: share of insulin delivered as basal. (1: percentage number)", + "localizations" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Tidsinnstillinger trenger oppmerksomhet" + "value" : "%1$@%% القاعدية" } }, - "nl" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Tijdinstellingen hebben aandacht nodig" + "value" : "bazál %1$@%%" } }, - "pl" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Ustawienia czasu wymagają uwagi" + "value" : "%1$@ %% basal" } }, - "ro" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Setările de timp necesită atenție" + "value" : "%1$@ %% Basal" } }, - "ru" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Настройки времени требуют внимания" + "value" : "%1$@%% basal" } }, - "tr" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Zaman Ayarlarına Dikkat Edilmesi Gerekiyor" + "value" : "%1$@ %% basaalia" } }, - "zh-Hans" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ 时间设置需要注意" + "value" : "%1$@ %% basal" } - } - } - }, - "%1$@ U" : { - "comment" : "Reservoir entry (1: volume value)", - "localizations" : { - "da" : { + }, + "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E" + "value" : "%1$@%% Basal" } }, - "de" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ IE" + "value" : "%1$@%% basal" } }, - "es" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U" + "value" : "%1$@%% basale" } }, - "fi" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U" + "value" : "ベーサル %1$@%%" } }, - "fr" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U" + "value" : "%1$@ %% basal" } }, - "he" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "U %1$@" + "value" : "%1$@%% basaal" } }, - "it" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U" + "value" : "baza %1$@%%" } }, - "nb" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E" + "value" : "%1$@%% basal" } }, - "nl" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E" + "value" : "%1$@%% bazală" } }, - "pl" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ J" + "value" : "базал %1$@%%" } }, - "ro" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U" + "value" : "bazál %1$@%%" } }, - "ru" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Ед." + "value" : "%1$@ %% basal" } }, - "sk" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%@ j" + "value" : "%%%1$@ bazal" } }, - "sv" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E" + "value" : "базал %1$@%%" } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Ü" + "value" : "%1$@%% Basal" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U" + "value" : "基础 %1$@%%" } } } }, - "%1$@ U left" : { - "comment" : "Low reservoir alert format string. (1: Number of units remaining)", - "extractionState" : "manual", + "%1$@%% basal · %2$@" : { + "comment" : "Trends Insulin per day tile detail when only some days are averaged. (1: basal share as a percentage number, 2: days averaged, e.g. 5 of 14 days)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ وحدة متبقية" + "value" : "%1$@%% القاعدية · %2$@" } }, - "da" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E tilbage" + "value" : "bazál %1$@%% · %2$@" } }, - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ IE verbleibend" + "value" : "%1$@ %% basal · %2$@" } }, - "en" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U left" + "value" : "%1$@ %% Basal · %2$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U restantes" + "value" : "%1$@%% basal · %2$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U jäljellä" + "value" : "%1$@ %% basaalia · %2$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U restantes" + "value" : "%1$@ %% basal · %2$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U נותרו" + "value" : "%1$@%% Basal · %2$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@%% basal · %2$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U rimaste" + "value" : "%1$@%% basale · %2$@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "残 %1$@単位" + "value" : "ベーサル %1$@%% · %2$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E igjen" + "value" : "%1$@ %% basal · %2$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E over" + "value" : "%1$@%% basaal · %2$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ J pozostało" + "value" : "baza %1$@%% · %2$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U restante" + "value" : "%1$@%% basal · %2$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U rămase" + "value" : "%1$@%% bazală · %2$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Ед осталось" + "value" : "базал %1$@%% · %2$@" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Zostáva %1$@ j" + "value" : "bazál %1$@%% · %2$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E kvar" + "value" : "%1$@ %% basal · %2$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Ü kaldı" + "value" : "%%%1$@ bazal · %2$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "базал %1$@%% · %2$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U còn lại" + "value" : "%1$@%% Basal · %2$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ 单位 剩余" + "value" : "基础 %1$@%% · %2$@" } } } }, - "%1$@ U left: %2$@" : { - "comment" : "Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining)", - "extractionState" : "manual", + "%1$@%% CGM active" : { + "comment" : "Trends Time in range card: share of the period with CGM readings. (1: percentage number)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ وحدة متبقية: %2$@" + "value" : "%1$@%% CGM نشط" } }, - "da" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E tilbage: %2$@" + "value" : "CGM aktivní %1$@%%" } }, - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ IE verbleibend: %2$@" + "value" : "%1$@ %% CGM aktiv" } }, - "en" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U left: %2$@" + "value" : "%1$@ %% CGM aktiv" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U restantes: %2$@" + "value" : "CGM activo %1$@%%" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U jäljellä: %2$@" + "value" : "%1$@ %% CGM aktiivinen" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U restantes: %2$@" + "value" : "CGM actif %1$@ %%" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U נותרו: %2$@" + "value" : "%1$@%% CGM פעיל" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@%% CGM aktív" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U rimaste: %2$@" + "value" : "CGM attivo %1$@%%" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "残 %1$@単位: %2$@" + "value" : "CGM稼働 %1$@%%" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E gjenstår: %2$@" + "value" : "%1$@ %% CGM aktiv" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E over: %2$@" + "value" : "%1$@%% CGM actief" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ J pozostało: %2$@" + "value" : "CGM aktywny %1$@%%" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U restante: %2$@" + "value" : "CGM ativo %1$@%%" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U rămase: %2$@" + "value" : "%1$@%% CGM activ" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Ед осталось: %2$@" + "value" : "CGM активен %1$@%%" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Zostáva %1$@ j: %2$@" + "value" : "CGM aktívny %1$@%%" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E kvar: %2$@" + "value" : "%1$@ %% CGM aktiv" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Ü kalan: %2$@" + "value" : "%%%1$@ CGM aktif" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM активний %1$@%%" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U còn lại: %2$@" + "value" : "CGM hoạt động %1$@%%" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ 单位 剩余: %2$@" + "value" : "CGM 在线 %1$@%%" } } } }, - "%1$@ U/hour @ %2$@" : { - "comment" : "The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time)", - "extractionState" : "manual", + "%1$@, %2$@ %3$@: %4$@ percent, %5$@ hours a day" : { + "comment" : "VoiceOver label for a Time in range row. (1: band name, e.g. In range, 2: glucose thresholds, e.g. 3.9–10.0, 3: glucose unit, 4: percentage number, 5: average hours a day with one decimal)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ وحدة/ساعة @ %2$@" + "value" : "%1$@، %2$@ %3$@: %4$@ بالمئة، %5$@ ساعة يوميًا" } }, - "da" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E/time @ %2$@" + "value" : "%1$@, %2$@ %3$@: procenta — %4$@, hodin denně — %5$@" } }, - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ IE/h @ %2$@" + "value" : "%1$@, %2$@ %3$@: %4$@ procent, %5$@ timer om dagen" } }, - "en" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U/hour @ %2$@" + "value" : "%1$@, %2$@ %3$@: %4$@ Prozent, %5$@ Stunden pro Tag" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U/hora @ %2$@" + "value" : "%1$@, %2$@ %3$@: %4$@ por ciento, %5$@ horas al día" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U/h klo %2$@" + "value" : "%1$@, %2$@ %3$@: %4$@ prosenttia, %5$@ tuntia päivässä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U/heure @ %2$@" + "value" : "%1$@, %2$@ %3$@ : %4$@ pour cent, %5$@ heures par jour" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ יח׳/שעה @ %2$@" + "value" : "%1$@, %2$@ %3$@: %4$@ אחוז, %5$@ שעות ביום" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@, %2$@ %3$@: %4$@ százalék, napi %5$@ óra" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U/ora @ %2$@" + "value" : "%1$@, %2$@ %3$@: %4$@ percento, %5$@ ore al giorno" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U/時 @ %2$@" + "value" : "%1$@、%2$@ %3$@:%4$@パーセント、1日%5$@時間" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E/timen @ %2$@" + "value" : "%1$@, %2$@ %3$@: %4$@ prosent, %5$@ timer i døgnet" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E/uur @ %2$@" + "value" : "%1$@, %2$@ %3$@: %4$@ procent, %5$@ uur per dag" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ J/godzinę @ %2$@" + "value" : "%1$@, %2$@ %3$@: procent — %4$@, godzin dziennie — %5$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U/hora @ %2$@" + "value" : "%1$@, %2$@ %3$@: %4$@ por cento, %5$@ horas por dia" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U/oră @ %2$@" + "value" : "%1$@, %2$@ %3$@: %4$@ procente, %5$@ ore pe zi" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ ед/час @ %2$@" + "value" : "%1$@, %2$@ %3$@: процент — %4$@, часов в день — %5$@" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ j/hod @ %2$@" + "value" : "%1$@, %2$@ %3$@: percentá — %4$@, hodín denne — %5$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ E/h @ %2$@" + "value" : "%1$@, %2$@ %3$@: %4$@ procent, %5$@ timmar per dag" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Ü/saat @ %2$@" + "value" : "%1$@, %2$@ %3$@: yüzde %4$@, günde %5$@ saat" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@, %2$@ %3$@: відсоток — %4$@, годин на день — %5$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ U/giờ @ %2$@" + "value" : "%1$@, %2$@ %3$@: %4$@ phần trăm, %5$@ giờ mỗi ngày" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ 单位/小时 @ %2$@" + "value" : "%1$@,%2$@ %3$@:百分之%4$@,每天%5$@小时" } } } }, - "%1$@ v%2$@" : { - "comment" : "The format string for the app name and version number. (1: bundle name)(2: bundle version)", + "%lld days" : { + "comment" : "A number of days, e.g. a Trends period or how many days are averaged. (1: number of days) Trends period picker, VoiceOver name for a period of several days. (1: number of days)", "localizations" : { + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld day" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld days" + } + } + } + } + }, "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "zero" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld يوم" + } + }, + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld يوم" + } + }, + "two" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld يوم" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld أيام" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld يومًا" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld يوم" + } + } + } + } + }, + "cs" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld den" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dny" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dne" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dní" + } + } + } } }, "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dag" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dage" + } + } + } } }, "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld Tag" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld Tage" + } + } + } } }, "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld día" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld días" + } + } + } } }, "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld päivä" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld päivää" + } + } + } } }, "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld jour" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld jours" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld jours" + } + } + } } }, "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld יום" + } + }, + "two" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld ימים" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld ימים" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld ימים" + } + } + } + } + }, + "hu" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld nap" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld nap" + } + } + } } }, "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld giorno" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld giorni" + } + } + } } }, "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld日" + } + } + } } }, "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v %2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dag" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dager" + } + } + } } }, "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dag" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dagen" + } + } + } } }, "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dzień" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dni" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dni" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dnia" + } + } + } } }, "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dia" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dias" + } + } + } } }, "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld zi" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld zile" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld de zile" + } + } + } } }, "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ версии %2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld день" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld дня" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld дней" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld дня" + } + } + } } }, "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v %2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld deň" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dni" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dňa" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dní" + } + } + } } }, "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dag" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dagar" + } + } + } } }, "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld gün" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld gün" + } + } + } } }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "uk" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld день" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld дні" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld днів" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld дня" + } + } + } + } + }, + "vi" : { + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld ngày" + } + } + } } }, "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ v%2$@" + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld天" + } + } + } } } } }, - "%1$@ will actively adjust your insulin dosing in response to your glucose as often as every 5 minutes." : { - "comment" : "message when automation is on and the glucose value is fresh (1: app name)" - }, - "%1$@ will continue trying to restore automation, but check for potential communication issues with your CGM or insulin pump." : { - "comment" : "message when automation is on and pump is in signal loss (1: app name)\nmessage when automation is on and the glucose value is not fresh (1: app name)" - }, - "%1$@ will continue trying to restore automation, but check for potential communication issues with your CGM.\n\nIn the meantime, your pump is still able to deliver insulin." : { - "comment" : "message when automation is on and CGM is in signal loss (1: app name)" - }, - "%1$@ will set your correction range to 110 mg/dL or higher when this preset is enabled." : { - "comment" : "The format string for the high insulin needs preset warning text on the preset detent screen when starting a preset. (1: app name)" - }, - "%1$@ will stop working in %2$@. You will need to rebuild before that." : { - "comment" : "Format string for body for notification of upcoming expiration. (1: app name) (2: amount of time until expiration", + "%lld shorter gaps" : { + "comment" : "Chart note: how many other, shorter gaps in glucose readings there were; follows the longest gap. (1: number of gaps)", "localizations" : { - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ holder op med at fungere i %2$@. Du bliver nødt til at rebuilde før det." - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ funktioniert in %2$@ nicht mehr. Sie müssen vorher einen Neuaufbau durchführen." - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ cessera de fonctionner dans %2$@. Il vous faudra recompiler avant cette échéance." + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld shorter gap" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld shorter gaps" + } + } + } } }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ smetterà di funzionare tra %2$@. Prima di allora, sarà necessario ricostruirlo." + "ar" : { + "variations" : { + "plural" : { + "zero" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld فجوة أقصر" + } + }, + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld فجوة أقصر" + } + }, + "two" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld فجوة أقصر" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld فجوات أقصر" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld فجوة أقصر" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld فجوة أقصر" + } + } + } } }, - "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ vil slutte å fungere i %2$@. Du må gjenoppbygge før det." + "cs" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kratší výpadek" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kratší výpadky" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kratšího výpadku" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kratších výpadků" + } + } + } } }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ stopt over %2$@ met werken. Bouw de app vóór die tijd opnieuw." + "da" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kortere hul" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kortere huller" + } + } + } } }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ przestanie działać w %2$@. Konieczna będzie wcześniejsza odbudowa." + "de" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kürzere Lücke" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kürzere Lücken" + } + } + } } }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ va înceta să funcționeze în %2$@. Va trebui să reconstruiți sistemul înainte de asta." + "es" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld interrupción más corta" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld interrupciones más cortas" + } + } + } } }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ перестанет работать в %2$@. До этого времени необходимо пересобрать приложение заново." + "fi" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld lyhyempi katko" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld lyhyempää katkoa" + } + } + } } }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@将在%2$@停止工作。您需要在此之前重建。" - } - } - } - }, - "%1$@ will stop working in %2$@. You will need to update before that, with a new provisioning profile." : { - "comment" : "Format string for body for notification of upcoming provisioning profile expiration. (1: app name) (2: amount of time until expiration", - "localizations" : { - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ holder op med at fungere i %2$@. Du skal opdatere inden da med en ny provisioneringsprofil." + "fr" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld interruption plus courte" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld interruptions plus courtes" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld interruptions plus courtes" + } + } + } } }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ funktioniert nicht mehr in %2$@. Du musst vor Ablauf mit einem neuen Bereitstellungsprofil aktualisieren." + "he" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld פער קצר יותר" + } + }, + "two" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld פערים קצרים יותר" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld פערים קצרים יותר" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld פערים קצרים יותר" + } + } + } } }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ dejará de funcionar en %2$@ . Deberá actualizar antes de eso, con un nuevo perfil de aprovisionamiento." + "hu" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld rövidebb kimaradás" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld rövidebb kimaradás" + } + } + } } }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ cessera de fonctionner dans %2$@ . Vous devrez mettre à jour avant cela, avec un nouveau profil de provisioning." + "it" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld interruzione più breve" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld interruzioni più brevi" + } + } + } } }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ smetterà di funzionare tra %2$@. Prima di allora, sarà necessario effettuare l'aggiornamento con un nuovo profilo di provisioning." + "ja" : { + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "ほか短い欠損%lld件" + } + } + } } }, "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ slutter å fungere om %2$@ . Du må oppdatere før det, med en ny klargjøringsprofil." + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kortere hull" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kortere hull" + } + } + } } }, "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ stopt met werken in %2$@. Je zult eerder moeten updaten, met een nieuw beschikbaargesteld profiel." + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kortere onderbreking" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kortere onderbrekingen" + } + } + } } }, "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ przestanie działać za %2$@ . Wcześniej konieczna będzie aktualizacja przy użyciu nowego profilu udostępniania." + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld krótsza przerwa" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld krótsze przerwy" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld krótszych przerw" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld krótszej przerwy" + } + } + } + } + }, + "pt-BR" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld interrupção mais curta" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld interrupções mais curtas" + } + } + } } }, "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ nu va mai funcționa în %2$@. Va trebui să actualizați înainte de aceasta, cu un nou profil de asigurare a accesului." + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld întrerupere mai scurtă" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld întreruperi mai scurte" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld de întreruperi mai scurte" + } + } + } } }, "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ перестанет работать в %2$@. Вам нужно будет обновить его до этого, используя новую подпись." + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld короткий пропуск" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld коротких пропуска" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld коротких пропусков" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld коротких пропуска" + } + } + } + } + }, + "sk" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kratší výpadok" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kratšie výpadky" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kratšieho výpadku" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kratších výpadkov" + } + } + } + } + }, + "sv" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kortare lucka" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kortare luckor" + } + } + } } }, "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ %2$@ içinde çalışmayı durduracaktır. Bundan önce yeni bir provizyon profili ile güncelleme yapmanız gerekecektir." + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld daha kısa boşluk" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld daha kısa boşluk" + } + } + } + } + }, + "uk" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld коротший пропуск" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld коротші пропуски" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld коротших пропусків" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld коротшого пропуску" + } + } + } + } + }, + "vi" : { + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld khoảng trống ngắn hơn" + } + } + } } }, "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ 在 %2$@中将无法正常工作。您需要在该版本发布之前,使用新的配置文件进行更新。" + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "另有%lld段较短中断" + } + } + } } } } }, - "%1$@: %2$@" : { - "comment" : "Formats (1: carb value) and (2: food type)", + "+ %1$@ automatic" : { + "comment" : "Trends Boluses per day tile detail: average number of automatic boluses per day on top of the manual ones, a fractional value such as 4.2. (1: number with one decimal)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ %1$@ تلقائي" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "+ %1$@ automat." } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ %1$@ automatiske" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ %1$@ automatisch" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ %1$@ automáticos" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ %1$@ automaattista" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ %1$@ automatiques" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ %1$@ אוטומטיים" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "+ %1$@ automatikus" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ %1$@ automatici" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ 自動 %1$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ : %2$@" + "value" : "+ %1$@ automatiske" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ : %2$@" + "value" : "+ %1$@ automatisch" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ %1$@ automat." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ %1$@ automáticos" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ %1$@ automate" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ %1$@ авто" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ : %2$@" + "value" : "+ %1$@ automat." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ %1$@ automatiska" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ %1$@ otomatik" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "+ %1$@ авто" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ %1$@ tự động" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@" + "value" : "+ 自动 %1$@" } } } }, - "%1$@: %2$@ %3$@" : { - "comment" : "Description of a basal temp basal dose entry (1: title for dose type, 2: value (? if no value) in bold, 3: unit)\nDescription of a bolus dose entry (1: title for dose type, 2: value (? if no value) in bold, 3: unit)", + "-" : { + "comment" : "A hyphen.", + "isCommentAutoGenerated" : true + }, + "-.--" : { + + }, + "–" : { + "comment" : "String denoting lack of a recommended bolus amount in the simple bolus calculator" + }, + "." : { + "comment" : "Full stop character", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@ %3$@" + "value" : "." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@ %3$@" + "value" : "." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@ %3$@" + "value" : "." } }, - "fi" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@ %3$@" + "value" : "-" } }, - "fr" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@ %3$@" + "value" : "." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@ %3$@" + "value" : "." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ : %2$@ %3$@" + "value" : "." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@ %3$@" + "value" : "." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@ %3$@" + "value" : "." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@ %3$@" + "value" : "." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@ %3$@" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@: %2$@ %3$@" + "value" : "." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@ %3$@" + "value" : "." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@: %2$@ %3$@" + "value" : "." } } } }, - "%lld" : { - "comment" : "A label displaying the playback speed. The argument is the playback speed.", - "isCommentAutoGenerated" : true - }, - "%lld min" : { - "comment" : "A picker row that lets the user select a snooze interval. The argument is the number of minutes in the interval.", - "isCommentAutoGenerated" : true - }, - "%lld." : { - "comment" : "A number followed by a period, used to number a list of references.", - "isCommentAutoGenerated" : true - }, - "%lld%%" : { - - }, - "%lldd" : { - - }, - "%lldx" : { - "comment" : "A label that shows the playback speed of the audio. The argument is the playback speed.", + "(+1 day)" : { + "comment" : "Text indicating that the stop time is set for the next day.", "isCommentAutoGenerated" : true }, - "•" : { - - }, - "<%@" : { - - }, - ">%@" : { + "**Tip: If glucose rises to >270 mg/dl,** check %@ to see if a bolus is recommended to bring your glucose back into range." : { }, - "⚠️" : { - "localizations" : { - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "⚠️" - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "⚠️" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "⚠️" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "⚠️" - } - }, - "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "⚠️" - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "⚠️" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "⚠️" - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "⚠️" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "⚠️" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "⚠️" - } - } - } - }, - "0" : { + "**Tip:** Try exercising when your active insulin is close to zero at the start of an activity." : { }, - "0.5" : { - "comment" : "A label displayed in the playback speed menu.", - "isCommentAutoGenerated" : true - }, - "0.5x" : { - "comment" : "A label for a playback speed of 0.5x.", - "isCommentAutoGenerated" : true - }, - "1" : { - "comment" : "A label for a playback speed of 1.", - "isCommentAutoGenerated" : true - }, - "1x" : { - "comment" : "A label for the playback speed of 1.", - "isCommentAutoGenerated" : true - }, - "2" : { - "comment" : "A label for a playback speed of 2x.", - "isCommentAutoGenerated" : true - }, - "2x" : { - "comment" : "A label for a playback speed of 2x.", - "isCommentAutoGenerated" : true - }, - "3-6" : { + "**Try:** If you often experience low glucose, consider exercising earlier in the day before eating." : { }, - "6-9" : { + "**Try:** Reducing your meal bolus if you expect your glucose to drop." : { }, - "9-20" : { + "%@" : { }, - "10" : { + "%@ " : { }, - "15 min glucose regression coefficient (b₁), continued with decay over 30 min" : { - "comment" : "Description of the prediction input effect for glucose momentum", + "%@ %@" : { + "comment" : "The format for an active custom preset. (1: preset symbol)(2: preset name)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "15 دقيقة معامل انحدار قراءات سكر الدم (b₁), ويستمر بالاضمحلال خلال 30 دقيقة" + "value" : "%1$@ %2$@" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "15 min. glukoseregressionskoefficient (b₁), fortsætter med henfald over 30 minutter." + "value" : "%1$@ %2$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "15 Minuten Blutzucker-Regressionskoeffizient (b₁), fortgesetzt mit Abfall über 30 min" + "value" : "%1$@ %2$@" + } + }, + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@ %2$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Coeficiente de regresión de glucosa de 15 minutos (b₁), continuado con decaimiento durante 30 minutos" + "value" : "%1$@ %2$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "15 min glukoosin regressiokerroin (b₁), hiipuen 30 min kuluessa" + "value" : "%1$@ %2$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Coefficient de régression du glucose de 15 minutes (b1), décroissance poursuivie au-delà de 30 min." + "value" : "%1$@ %2$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "15 min glucose regression coefficient (b₁), continued with decay over 30 min" + "value" : "%1$@ %2$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Coefficiente di regressione della glicemia a 15 minuti (b₁), continuato con decadimento per 30 minuti" + "value" : "%1$@ %2$@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "15分 グルコース回帰係数 (b₁)、30分退化適用" + "value" : "%1$@ %2$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "15 minutters glukose-regresjonskoeffisient (b1), fortsatt med nedbrytning over 30 minutter." + "value" : "%1$@ %2$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "15 min glucose regressiecoëficiënt (b₁), gevolgd door afbouw over 30 min" + "value" : "%1$@ %2$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "15-minutowy współczynnik regresji glukozy (b₁), kontynuowany z rozkładem przez 30 min." + "value" : "%1$@ %2$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "15 min coeficiente de regressão de glicose (b₁), continuada com queda em 30 min." + "value" : "%1$@ %2$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "coeficient de regresie glicemică pe 15 min (b₁), continuat cu o diminuare pe 30 min." + "value" : "%1$@%2$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "15-мин коэффициент регрессии гликемии (b1), продолжен с угасанием 30 мин" + "value" : "%1$@ %2$@" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "15 minútový regresný koeficient glykémie (b1), pokračujúci s poklesom počas 30 minút" + "value" : "%1$@ %2$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "15 minuters glukosregressionskoefficient (b₁), fortsatt med 30 minuters avklingande" + "value" : "%1$@ %2$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "15 dakikalık glikoz regresyon katsayısı (b₁), 30 dakika boyunca bozuk devam etti" + "value" : "%1$@ %2$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "15 phút hồi quy glucose (b₁), tiếp tục phân rã trên 30 phút." + "value" : "%1$@ %2$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "15分钟血糖回归系数 (b₁),持续30分钟衰减" + "value" : "%1$@ %2$@" } } } }, - "25-33%" : { - - }, - "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" : { - "comment" : "Description of the prediction input effect for retrospective correction", + "%@ absorbed" : { + "comment" : "Formats absorbed carb value", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "30 دقيقة مقارنة قراءات سكر الدم المتوقعة والفعلية , ويستمر بالاضمحلال خلال 60 دقيقة" + "value" : "%@ استغرق" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "30 min. sammenligning af glukose-forudsigelse kontra faktisk målt glukose, med henfald over 60 minutter." + "value" : "%@ optaget" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "30-minütiger Vergleich der Blutzuckerprognose gegenüber dem tatsächlichen Blutzucker, Fortsetzung mit Abfall über 60 min" + "value" : "%@ resorbiert" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Comparación de glucosa actual contra la proyectada en 30 minutos, continuada con decaimiento durante 60 minutos." + "value" : "%@ absorbido" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "30 min vertailu ennustetun ja todellisen glukoosin välillä, hiipuen 60 min kuluessa" + "value" : "%@ imeytynyt" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Comparaison sur 30 min de la glycémie prévue par rapport à celle réelle, suivie d'une décroissance (decay) sur 60 min." + "value" : "%@ absorbé(s)" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" + "value" : "%@ נספג" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Confronto di 30 minuti tra la previsione della glicemia e quella effettiva, continuato con decadimento per 60 minuti" + "value" : "%@ assorbiti" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "30分 グルコース予想値と実際値の比較、60分退化適用" + "value" : "%@ 吸収済" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "30 min sammenligning av glukose-prediksjon vs faktisk, fortsatt med nedbrytning over 60 min." + "value" : "%@ absorbert" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "30 min vergelijking van glucosevoorspelling versus de werkelijke, gevolgd door afbouw over 60 min" + "value" : "%@ geabsorbeerd" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "30 minutowe porównanie przewidywania stężenia glukozy w stosunku do rzeczywistego, kontynuowane z rozkładem przez 60 min." + "value" : "%@ zaabsorbowane" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "30 min de comparação da previsão de glicose vs atual, continuada com queda em 60 min." + "value" : "%@ absorvida" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Comparație timp de 30 de minute între predicția glicemiei și valoarea reală, continuată cu scăderea valorii pe parcursul a 60 de minute" + "value" : "%@ absorbiți" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "30 мин сравнение предсказанной гликемии с действительной, продолжено с угасанием 60 мин" + "value" : "%@ усвоено" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ absorbované" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "30 min jämförelse av glukosprediktion och faktiskt värde, fortsatt med 60 miuters avklingande." + "value" : "%@ absorberat" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "30 dakikalık glikoz tahmini ile gerçek karşılaştırması, 60 dakika boyunca bozuk devam etti" + "value" : "Emilen %@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "30 phút so sánh dự đoán glucose so với thực tế, tiếp tục với sự phân rã hơn 60 phút." + "value" : "%@ được hấp thụ" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "30分钟葡萄糖预测与实际比较,持续60分钟以上衰减" + "value" : "%@ 已吸收" } } } }, - "100m sprint" : { + "%@ of insulin" : { }, - "A critical issue has been discovered in this version of %1$@. To continue using the app, you must update to the latest version." : { - "comment" : "Required update modal paragraph 1 (1: app name)" + "%@ read" : { + }, - "A critical update is available. Your app may not function correctly until you update to the latest version." : { - "comment" : "Software update description for required update" + "%@ Recommended starting values" : { + }, - "A few seconds remaining" : { - "comment" : "Estimated remaining duration with a few seconds", + "%@ remaining" : { + "comment" : "Estimated remaining duration with more than a minute", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Et par sekunder tilbage" + "value" : "%@ tilbage" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Ein paar Sekunden verbleiben" + "value" : "%@ verbleiben" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Quedan unos segundos" + "value" : "%@ restante" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Muutama sekunti jäljellä" + "value" : "%@ jäljellä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Quelques secondes restantes" + "value" : "%@ restant" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "נותרו כמה שניות" + "value" : "%@ נותרו" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Pochi secondi rimanenti" + "value" : "%@ rimanenti" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Noen sekunder gjenstår" + "value" : "%@ gjenstår" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Nog een paar seconden" + "value" : "%@ resterend" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Pozostało kilka sekund" + "value" : "Pozostało %@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Câteva secunde rămase" + "value" : "%@ rămase" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Осталось несколько секунд" + "value" : "Осталось %@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Några sekunder återstår" + "value" : "%@ återstår" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Birkaç saniye kaldı" + "value" : "%@ kaldı" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "剩余几秒" + "value" : "剩余 %@" } } } }, - "A manual glucose entry must be between %@ and %@" : { - "comment" : "Alert message for a manual glucose entry out of range error", + "%@ U Total" : { + "comment" : "The subtitle format describing total insulin. (1: localized insulin total)", + "extractionState" : "stale", "localizations" : { - "da" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "En manuel blodsukkerindtastning skal være mellem %1$@ og %2$@" + "value" : "%@ وحدة بشكل كامل" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ E Total" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Der manuelle Blutzucker muss zwischen %1$@ und %2$@ liegen" + "value" : "%@ IE gesamt" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Una entrada de glucosa manual debe estar entre %1$@ y %2$@" + "value" : "%@ U Totales" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Syötetyn glukoosiarvon on oltava välillä %1$@ – %2$@" + "value" : "%@ U yhteensä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Une saisie manuelle de la glycémie doit être comprise entre %1$@ et %2$@." + "value" : "%@ U total" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ U סה״כ" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Un inserimento manuale della glicemia deve essere compreso tra %1$@ e %2$@" + "value" : "%@ U Totali" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "計 %@ 単位" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "En manuell BS-registrering må være mellom %1$@ og %2$@" + "value" : "%@ E Totalt" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Een handmatige glucose-invoer moet tussen %1$@ en %2$@ liggen" + "value" : "%@ E totaal" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Ręczny wpis poziomu glukozy musi mieścić się w przedziale od %1$@ do %2$@" + "value" : "%@ J łącznie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ U Total" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "O intrare manuală de glicemie trebuie să fie între %1$@ și %2$@" + "value" : "%@ U total" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Ручной ввод глюкозы должен находиться между %1$@ и %2$@" + "value" : "%@ всего ед" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ j Celkom" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Det manuellt inmatade blodsockervärdet måste vara mellan %1$@ och %2$@" + "value" : "%@ E totalt" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Manuel KŞ girişi %1$@ ile %2$@ arasında olmalıdır" + "value" : "Toplam %@ Ü" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ U Tổng cộng" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "请输入 %@ 到 %@ 之间的血糖值" + "value" : "%@ 单位 总量" } } } }, - "A manual glucose entry must be between %1$@ and %2$@." : { - "comment" : "Warning for simple bolus when glucose entry is out of range. (1: upper bound) (2: lower bound)", + "%@-%@" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@-%2$@" + } + } + } + }, + "%@." : { + "comment" : "Appends a full-stop to a statement", + "extractionState" : "manual", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@." + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "En manuel glukoseindtastning skal være mellem %1$@ og %2$@" + "value" : "%@." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Der manuelle Blutzucker muss zwischen %1$@ und %2$@ liegen." + "value" : "%@." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Una entrada de glucosa manual debe estar entre %1$@ y %2$@ ." + "value" : "%@." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Une saisie manuelle de la glycémie doit être comprise entre %1$@ et %2$@." + "value" : "%@." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הזנת גלוקוז ידנית חייבת להיות בין %1$@ ל- %2$@." + "value" : "%@." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Un inserimento manuale della glicemia deve essere compreso tra %1$@ e %2$@." + "value" : "%@." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "En manuell BS-registrering må være mellom %1$@ og %2$@ ." + "value" : "%@ ." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Een handmatige glucose-invoer moet tussen %1$@ en %2$@ liggen." + "value" : "%@." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Ręczny wpis poziomu glukozy musi mieścić się w przedziale od %1$@ do %2$@ ." + "value" : "%@." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "O intrare manuală de glicemie trebuie să fie între %1$@ și %2$@ ." + "value" : "%@." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Ручной ввод глюкозы должен находиться между %1$@ и %2$@" + "value" : "%@." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ ." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Manuel KŞ girişi %1$@ ile %2$@ arasında olmalıdır." + "value" : "%@." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "请输入 %1$@ 到 %2$@ 之间的血糖值" + "value" : "%@." } } } }, - "A model based on the published absorption of Fiasp insulin." : { - "comment" : "Subtitle of Fiasp preset", - "extractionState" : "manual", + "%@%@ was unable to cancel your current temporary basal rate, which is higher than the new Max Basal limit you have set. This may result in higher insulin delivery than desired.\n\nConsider suspending insulin delivery manually and then immediately resuming to enact basal delivery with the new limit in place." : { + "comment" : "Alert text for failing to cancel temp basal (1: reason description, 2: app name)", "localizations" : { - "ar" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "نموذج يستند على امتصاص أنسولين Fiasp." + "value" : "%1$@%2$@ kunne ikke annullere din nuværende midlertidige basalrate, som er højere end den nye Max basalgrænse, du har indstillet. Dette kan resultere i en højere insulintilførsel end ønsket.\n\nOvervej at suspendere insulintilførslen manuelt og derefter straks genoptage den for at iværksætte basaltilførslen med den nye grænse på plads." } }, - "da" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "En model baseret på publiceret data om absorption af Fiasp insulin." + "value" : "%1$@%2$@ konnte Deine aktuelle temporäre Basalrate nicht abbrechen, da diese höher ist als die neue maximale Basalrate, die Du festgelegt hast. Dies kann zu einer höheren Insulinabgabe, als erwünscht führen.\n\nErwäge, die Insulinabgabe manuell zu unterbrechen und dann sofort wieder aufzunehmen, um die Basalabgabe mit dem neuen Grenzwert zu initiieren." } }, - "de" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Ein Modell basierend auf der veröffentlichten Resorption von Fiasp-Insulin." + "value" : "%1$@ %2$@ no pudo cancelar su basal temporal actual, que es más alta que el nuevo límite basal máximo que ha establecido. Esto puede resultar en una administración de insulina superior a la deseada. \n\n Considere suspender la administración de insulina manualmente y luego reanudarla de inmediato para activar la administración basal con el nuevo límite establecido." } }, - "en" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "A model based on the published absorption of Fiasp insulin." + "value" : "%1$@ %2$@ n'a pas pu annuler votre débit basal temporaire actuel, qui est supérieur à la nouvelle limite basale max que vous avez définie. Cela peut entraîner une administration d'insuline plus élevée que souhaitée. \n\nEnvisagez de suspendre l'administration d'insuline manuellement, puis de reprendre immédiatement l'administration basale avec la nouvelle limite en place." } }, - "es" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Un modelo basado en la publicación de la absorción de insulina Fiasp." + "value" : "%1$@%2$@ non sono stati in grado di cancellare la tua attuale basale temporanea, che è più elevata di quella impostata come nuovo limite massimo di basale. Questo potrebbe comportare una maggiore infusione d'insulina di quanto desiderato. \n\nConsidera di sospendere manualmente l'erogazione d'insulina e quindi di riattivarla immediatamente per attivare l'erogazione d'insulina basale con il corretto limite impostato." } }, - "fi" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Perustuu Fiasp-insuliinin julkaistuun imeytymismalliin." + "value" : "%1$@ %2$@ kunne ikke avbryte den nåværende midlertidige basaldosen, som er høyere enn den nye maksimale basalgrensen du har angitt. Dette kan føre til høyere insulintilførsel enn ønsket. \n\n Vurder å avbryte insulintilførselen manuelt og deretter umiddelbart gjenoppta for å innføre basaltilførsel med den nye grensen på plass." } }, - "fr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Un modèle basé sur l’absorption de l’insuline FIASP (telle que publiée)." + "value" : "%@%@ kon je huidige tijdelijke basaalstand niet annuleren, die hoger is dan de nieuwe maximale basaallimiet die je hebt ingesteld. Dit kan leiden tot een hogere insulinetoediening dan gewenst. \n\nOverweeg om de insulinetoediening handmatig te onderbreken en dan direct het hervatten van de basaaltoediening uit te laten voeren met de nieuwe geldende limiet." } }, - "he" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "A model based on the published absorption of Fiasp insulin." + "value" : "%1$@ %2$@ nie mógł anulować bieżącej tymczasowej dawki podstawowej, która jest wyższa niż nowy ustawiony limit maksymalnej dawki podstawowej. Może to skutkować wyższym niż pożądane podawaniem insuliny. \n\n Rozważ ręczne wstrzymanie podawania insuliny, a następnie natychmiastowe wznowienie podawania dawki podstawowej z obowiązującym nowym limitem." } }, - "it" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Un modello basato sull'assorbimento pubblicato dell'insulina Fiasp." + "value" : "%1$@ %2$@ nu a putut anula rata bazală temporară actuală, care este mai mare decât noua limită bazală maximă pe care ați setat-o. Acest lucru poate duce la o administrare de insulină mai mare decât se dorește. \n\nLuați în considerare suspendarea manuală a administrării insulinei și apoi reluarea imediată pentru a pune în aplicare administrarea bazală cu noua limită în vigoare." } }, - "ja" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Fiaspインスリンの公表吸収率に基づいたモデル。" + "value" : "%1$@%2$@ не смог отменить вашу текущую ВБС, которая превышает установленный вами новый предел максимальной ВБС. Это может привести к большему количеству подаваемого инсулина, чем хотелось бы.\n\nРассмотрите возможность приостановить введение инсулина вручную, а затем немедленно возобновить введение базального инсулина с новым установленным лимитом." } }, - "nb" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "En modell basert på publisert absorpsjon av Fiasp-insulin." + "value" : "%1$@%2$@ nedokázal zrušiť vašu aktuálnu dočasnú bazálnu dávku, ktorá je vyššia ako nový maximálny bazálny limit, ktorý ste nastavili. To môže viesť k vyššiemu dodávaniu inzulínu, ako je požadované.\n\nZvážte ručné pozastavenie podávania inzulínu a následné okamžité obnovenie, aby ste uplatnili novým bazálny limit." } }, - "nl" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Een model gebaseerd op de gepubliceerde opname van Fiasp insuline." + "value" : "%1$@ %2$@ , ayarladığınız yeni Maks Bazal limitinden daha yüksek olan mevcut geçici bazal oranınızı iptal edemedi. Bu, istenenden daha yüksek insülin iletimi ile sonuçlanabilir. \n\n İnsülin iletimini manuel olarak askıya almayı ve ardından yeni limit geçerliyken bazal iletimi etkinleştirmek için hemen devam etmeyi düşünün." } }, - "pl" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Model oparty na opublikowanej absorpcji insulin Fiasp." + "value" : "%@%@ 无法取消当前的临时基础率,该基础率高于您新设定的最大基础率上限。这可能导致胰岛素输注量高于预期。\n\n建议您手动暂停胰岛素输注,然后立即恢复,以便根据新的上限重新执行基础输注。" } - }, - "pt-BR" : { + } + } + }, + "%1@%2@" : { + "comment" : "Adds a full-stop to a statement (1: statement, 2: full stop character)", + "localizations" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Um modelo baseado na absorção publicada da insulina Fiasp." + "value" : "%1$1@%2$2@" } }, - "ro" : { + "en" : { "stringUnit" : { - "state" : "translated", - "value" : "Un model bazat pe absorbția declarată a insulinei Fiasp." + "state" : "new", + "value" : "%1$1@%2$2@" } }, - "ru" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Модель, основанная на опубликованных данных усвоения FIASP инсулина." + "value" : "%1$1@%2$2@" } }, - "sk" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Model založený na publikovanej absorpcii inzulínu Fiasp." + "value" : "%1$1@%2$2@" } }, - "sv" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinmodell baserad på publicerade studier av absorption av Fiasp-insulin." + "value" : "%1$1@%2$2@" } }, - "tr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp insülininin yayınlanmış emilimine dayanan bir model." + "value" : "%1$1@%2$2@" } }, - "vi" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Mô hình dựa trên sự hấp thụ được công bố đối với insulin Fiasp." + "value" : "%1$1@%2$2@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "基于公布的Fiasp胰岛素吸收的模型" + "value" : "%1$1@%2$2@" } } } }, - "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." : { - "comment" : "Subtitle of Rapid-Acting – Adult preset", + "%1$@ – %2$@ %3$@" : { + "comment" : "Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit)", "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "نموذج يستند على امتصاص أنسولين Humalog و Novolog و Apidra لدى البالغين." + "value" : "%1$@ – %2$@ %3$@" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "En model baseret på publiceret data om absorption Humalog, Novolog, og Apidra insulin hos voksne." + "value" : "%1$@ – %2$@ %3$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Ein Modell auf der Grundlage der veröffentlichten Resorption von Humalog, Novolog und Apidra Insulin bei Erwachsenen." + "value" : "%1$@ – %2$@ %3$@" } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." + "value" : "%1$@ – %2$@ %3$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Un modelo basado en la publicación de la absorción de insulina Humalog, Novolog y Apidra en adultos." + "value" : "%1$@ – %2$@ %3$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Perustuu Humalog-, Novorapid- ja Apidra-insuliinien julkaistuun imeytymismalliin aikuisilla." + "value" : "%1$@ – %2$@ %3$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Un modèle basé sur les absorptions de l’Humalog, Novolog (Novorapid), et Apidra chez l’adulte (telles que publiées)." + "value" : "%1$@ – %2$@ %3$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." + "value" : "%1$@ – %2$@ %3$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Un modello basato sull'assorbimento pubblicato dell'insulina Humalog, Novolog e Apidra negli adulti." + "value" : "%1$@ – %2$@ %3$@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "大人使用時の Humalog、Novolog、Apidraインスリンの公表吸収率に基づいたモデル。" + "value" : "%1$@ – %2$@ %3$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "En modell basert på publisert absorpsjon av Humalog, Novolog og Apidra insulin hos voksne." + "value" : "%1$@ – %2$@ %3$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Een model gebaseerd op de gepubliceerde absorptie van Humalog-, Novolog- en Apidra-insuline bij volwassenen." + "value" : "%1$@ - %2$@ %3$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Model oparty na opublikowanej absorpcji insulin Humalog, Novolog/Novorapid i Apidra u dorosłych." + "value" : "%1$@ – %2$@ %3$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Um modelo baseado na absorção publicada das insulinas Humalog, Novolog e Apidra em adultos." + "value" : "%1$@ – %2$@ %3$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Un model bazat pe absorbția declarată a insulinei Humalog, Novolog și Apidra la adulți." + "value" : "%1$@ – %2$@ %3$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Модель, основанная на опубликованных данных усвоения Humalog, Novolog и Apidra у взрослых." + "value" : "%1$@ – %2$@ %3$@" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Model založený na publikovanej absorpcii inzulínu Humalog, Novolog a Apidra u dospelých." + "value" : "%1$@ – %2$@ %3$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinmodell baserad på publicerade studier av absorption av Humalog-, Novolog- samt Apidra-insulin hos vuxna." + "value" : "%1$@ – %2$@ %3$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Yetişkinlerde yayınlanmış Humalog, Novolog ve Apidra insülin emilimine dayalı bir model." + "value" : "%1$@ – %2$@ %3$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Mô hình dựa trên sự hấp thụ được công bố của các loại insulin Humalog, Novolog và Apidra ở người lớn." + "value" : "%1$@ – %2$@ %3$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "基于已发表的成人使用优泌乐、诺和锐和爱倍达胰岛素吸收数据的模型。" + "value" : "%1$@ – %2$@ %3$@" } } } }, - "A new version of %@ is available and is recommended to continue using the app." : { - "comment" : "Software update available section footer (1: app name)", + "%1$@ %2$@" : { + "comment" : "Format string combining carb entry quantity and absorption time emoji", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "En ny version af %@ er tilgængelig og anbefales for at fortsætte med at bruge appen." + "value" : "%1$@ %2$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Eine neue Version von %@ ist verfügbar und es wird empfohlen, die App weiterhin zu verwenden." + "value" : "%1$@ %2$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Hay una nueva versión de %@ disponible y se recomienda continuar usando la aplicación." + "value" : "%1$@ %2$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Une nouvelle version de %@ est disponible et est recommandée pour continuer à utiliser l'application." + "value" : "%1$@ %2$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "È disponibile una nuova versione di %@ e si consiglia di continuare a utilizzare l'app." + "value" : "%1$@ %2$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "En ny versjon av %@ er tilgjengelig og anbefales for å fortsette å bruke appen." + "value" : "%1$@ %2$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Er is een nieuwe versie van %@ beschikbaar die aanbevolen wordt om de app te kunnen blijven gebruiken." + "value" : "%1$@ %2$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Dostępna jest nowa wersja %@, która jest zalecana do dalszego korzystania z aplikacji." + "value" : "%1$@ %2$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "O nouă versiune de %@ este disponibilă și se recomandă să continuați să utilizați aplicația." + "value" : "%1$@%2$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Новая версия %@ доступна и рекомендуется для продолжения использования приложения." + "value" : "%1$@ %2$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%@ 'ın yeni bir sürümü mevcut ve uygulamayı kullanmaya devam etmeniz önerilir." + "value" : "%1$@ %2$@" } }, - "zh-Hans" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%@ 已推出新版本,建议您继续使用该应用。" + "value" : "%1$@ %2$@" } } } }, - "A new version of %@ is available." : { - "comment" : "Required software update section footer (1: app name)", + "%1$@ %2$@/U" : { + "comment" : "Format string for carb ratio average. (1: value)(2: carb unit)", + "extractionState" : "manual", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@/وحدة" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "En ny version af %@ er tilgængelig." + "value" : "%1$@ %2$@/E" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Eine neue Version von %@ ist verfügbar." + "value" : "%1$@ %2$@/IE" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@/U" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Hay una nueva versión de %@ disponible." + "value" : "%1$@ %2$@/U" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@/U" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Une nouvelle version de %@ est disponible." + "value" : "%1$@ %2$@/U" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@/U" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "È disponibile una nuova versione di %@." + "value" : "%1$@ %2$@/U" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@/U" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "En ny versjon av %@ er tilgjengelig." + "value" : "%1$@ %2$@ /E" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Er is een nieuwe versie van %@ beschikbaar." + "value" : "%1$@ %2$@ /E" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Dostępna jest nowa wersja %@ ." + "value" : "%1$@ %2$@/J" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@/U" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Este disponibilă o nouă versiune de %@ ." + "value" : "%1$@ %2$@/U" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Доступна новая версия %@ ." + "value" : "%1$@ %2$@/ед" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@ /j" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@/E" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Yeni bir %@ sürümü mevcuttur." + "value" : "%1$@ %2$@/Ü" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@/U" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%@有新版本可用。" + "value" : "%1$@ %2$@/单位" } } } }, - "A percentage **above 100%** tells the system you need **more** insulin" : { - - }, - "A percentage **below 100%** tells the system you need **less** insulin" : { - - }, - "A preset with %@ overall insulin is on. The system is currently delivering less than your preset baseline." : { - - }, - "A preset with %@ overall insulin is on. The system is currently delivering more than your preset baseline." : { - - }, - "A preset with %@ overall insulin is on. This is your new preset baseline and it overrides your Scheduled Basal." : { - - }, - "A pump must be configured before a bolus can be delivered." : { - "comment" : "Alert message for a missing pump error", + "%1$@ + %2$@" : { + "comment" : "Format string combining carb entry time and absorption time\nFormats (1: carb start time) and (2: carb absorption duration)", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ + %2$@" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "En pumpe skal være konfigureret, før en bolus kan leveres." + "value" : "%1$@ + %2$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Eine Pumpe muss konfiguriert werden, bevor ein Bolus abgegeben werden kann." + "value" : "%1$@ + %2$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Una microinfusadora debe ser configurada antes de que un bolo pueda ser entregado." + "value" : "%1$@ + %2$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Pumppu on määritettävä, ennen kuin bolus voidaan annostella." + "value" : "%1$@ + %2$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Une pompe doit être configurée avant qu'un bolus puisse être administré." + "value" : "%1$@ + %2$@" } }, - "it" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Prima di poter erogare un bolo, è necessario configurare una pompa." + "value" : "%1$@ + %2$@" } }, - "nb" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "En pumpe må konfigureres før en bolus kan tilføres." + "value" : "%1$@ + %2$@" } }, - "nl" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Een pomp moet worden geconfigureerd voordat een bolus kan worden toegediend." + "value" : "%1$@ + %2$@" } }, - "pl" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Przed podaniem bolusa należy skonfigurować pompę." + "value" : "%1$@ + %2$@" } }, - "ro" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "O pompă trebuie configurată înainte ca un bolus să poată fi administrat." + "value" : "%1$@ + %2$@" } }, - "ru" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Перед введением болюса необходимо настроить помпу." + "value" : "%1$@ + %2$@" } }, - "sv" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "En pump måste ha lagts till och konfigurerats innan en bolus ge ges." + "value" : "%1$@ + %2$@" } }, - "tr" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus iletilmeden önce bir pompanın yapılandırılması gerek." + "value" : "%1$@ + %2$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ + %2$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ + %2$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ + %2$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ + %2$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ + %2$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "在注射大剂量前,必须先配置胰岛素泵。" + "value" : "%1$@ + %2$@" } } } }, - "Above range (>180): %d%% · goal <25%%" : { - "comment" : "TIR above-range summary" + "%1$@ also reads insulin data from other apps in Apple Health. Apple Health does not report whether an app may read data, so read access can't be shown here." : { + "comment" : "Health access reading explanation (1: app name)" }, - "Absorption Time" : { - "comment" : "Label for food absorption entry on add favorite food screen", + "%1$@ APP SOUNDS" : { + "comment" : "App sounds title text (1: app name)", + "extractionState" : "stale", "localizations" : { - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Resorptionsdauer" + "value" : "%1$@ APP LYDE" } }, - "fr" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Temps d'absorption" + "value" : "%1$@ SUONI DELL'APP" } }, - "he" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "זמן ספיגה" + "value" : "%1$@ APP-LYDER" } }, - "nb" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Absorpsjonstid" + "value" : "%1$@ DŹWIĘKI APLIKACJI" } }, - "nl" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Opnametijd" + "value" : "%1$@ ЗВУКИ ПРИЛОЖЕНИЯ" } - }, - "ro" : { + } + } + }, + "%1$@ cannot turn your iPhone's volume up for you. Make sure your volume is turned up — especially overnight — or you may not hear urgent alarms. The Mute All App Sounds feature also silences these alarms while it is active." : { + "comment" : "Critical alert audio fallback callout message (1: app name)" + }, + "%1$@ has been active for more than 24 hours. Make sure you still want it enabled, or turn it off in the app." : { + "comment" : "Active preset reminder alert background body. (1: preset name)" + }, + "%1$@ has been active for more than 24 hours. Make sure you still want it enabled, or turn it off." : { + "comment" : "Active preset reminder alert foreground body. (1: preset name)" + }, + "%1$@ has set your correction range to 110 mg/dL or higher." : { + "comment" : "The format string for the high insulin needs preset warning text on the preset detent screen when stopping a preset. (1: app name)" + }, + "%1$@ is operating with Closed Loop in the OFF position. Your pump and CGM will continue operating, but the app will not adjust dosing automatically." : { + "comment" : "Alert message for closed loop off informational modal. (1: app name)", + "localizations" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Timp de absorbție" + "value" : "%1$@ kører med Lukket Loop i positionen OFF. Din pumpe og CGM fortsætter med at fungere, men appen justerer ikke doseringen automatisk." } }, - "zh-Hans" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "吸收时间" + "value" : "%1$@ arbeitet mit geschlossenem Regelkreis in der AUS-Position. Deine Pumpe und CGM funktionieren weiter, aber die App passt die Dosierung nicht automatisch an." } - } - } - }, - "AcceptRecommendedBolus" : { - "comment" : "Action to copy the recommended Bolus value to the actual Bolus Field", - "extractionState" : "manual", - "localizations" : { - "ar" : { + }, + "es" : { "stringUnit" : { "state" : "translated", - "value" : "استخدم قيمة الجرعة الموصى بها" + "value" : "%1$@ está funcionando con Circuito Cerrado en la posición APAGADO. Su bomba y CGM seguirán funcionando, pero la aplicación no ajustará la dosis automáticamente." } }, - "da" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "AccepterAnbefaletBolus" + "value" : "%1$@ fonctionne avec la boucle fermée en position ARRÊT. Votre pompe et votre CGM continueront de fonctionner, mais l'application n'ajustera pas automatiquement le dosage." } }, - "de" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Akzeptiere empfohlenen Bolus" + "value" : "%1$@ è in funzione con Loop chiuso disattivato. La pompa e il CGM continueranno a funzionare, ma l'applicazione non regolerà automaticamente il dosaggio." } }, - "en" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "AcceptRecommendedBolus" + "value" : "%1$@ opererer med Lukket Loop i AV-posisjon. Pumpen og CGM vil fortsette å fungere, men appen vil ikke justere doseringen automatisk." } }, - "es" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "AceptarBoloRecomendado" + "value" : "%1$@ werkt met Actieve loop UIT. Je pomp en CGM blijven werken, maar de app past de dosering niet automatisch aan." } }, - "fi" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "HyväksySuositeltuBolus" + "value" : "%1$@ działa z zamkniętą pętlą w pozycji OFF. Twoja pompa i CGM będą nadal działać, ale aplikacja nie będzie automatycznie dostosowywać insuliny." } }, - "fr" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "AcceptRecommendedBolus" + "value" : "%1$@ operează cu bucla închisă în poziția OPRIT. Pompa și senzorul de glicemie vor continua să funcționeze, dar aplicația nu va ajusta automat dozarea." } }, - "he" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "AcceptRecommendedBolus" + "value" : "%1$@ работает с замкнутым циклом в положении ВЫКЛ. Ваша помпа и CGM будут продолжать работать, но приложение не будет регулировать дозировку автоматически." } }, - "it" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "AcceptRecommendedBolus" + "value" : "%1$@ , KAPALI konumda Kapalı Döngü ile çalışıyor. Pompanız ve CGM çalışmaya devam edecek, ancak uygulama dozajı otomatik olarak ayarlamayacaktır." } }, - "ja" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "推奨ボーラス値を使う" + "value" : "%1$@ 当前处于非闭环模式。胰岛素泵和连续血糖监测仪仍将正常运行,但应用程序不会自动调整胰岛素剂量。" + } + } + } + }, + "%1$@ is unable to clear the alert from your device" : { + "comment" : "Message for alert shown when alert acknowledgement fails for a device, and the device does not provide a LocalizedError. (1: app name)", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ kan ikke slette advarslen fra din enhed" } }, - "nb" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "AksepterAnbefaltBolus" + "value" : "%1$@ kann die Benachrichtigung nicht von Deinem Gerät löschen" } }, - "nl" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "AccepteerVoorgesteldeBolus" + "value" : "%1$@ no puede borrar la alerta de su dispositivo" } }, - "pl" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "AcceptRecommendedBolus" + "value" : "%1$@ ne parvient pas à supprimer l'alerte de votre dispositif." } }, - "pt-BR" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "AceitarBolusRecomendado" + "value" : "%1$@ non è in grado di cancellare l'avviso dal tuo dispositivo" } }, - "ro" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "AcceptațiBolusRecomandat" + "value" : "%1$@ kan ikke fjerne varselet fra enheten din" } }, - "ru" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Принятьрекомендуемыйболюс" + "value" : "%1$@ kan de melding niet wissen van je apparaat" } }, - "sk" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Akceptovať Odporúčaný Bolus" + "value" : "%1$@ nie może usunąć alertu z Twojego urządzenia" } }, - "sv" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "AcceptRecommendedBolus" + "value" : "%1$@ nu poate șterge alerta de pe dispozitiv" } }, - "tr" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "ÖnerilenBolusuKabulEt" + "value" : "%1$@ не удается удалить предупреждение с вашего устройства" } }, - "vi" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "AcceptRecommendedBolus" + "value" : "%1$@ , uyarıyı cihazınızdan silemiyor" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "接受推荐的大剂量输注" + "value" : "%1$@ 无法清除您设备上的警报。" } } } }, - "Active Carbohydrates" : { - "comment" : "The title of the Carbs On-Board graph", + "%1$@ is unable to communicate with your insulin pump. The app will continue trying to reach your pump, but insulin delivery information cannot be updated and no automation can continue.\nYou can wait several minutes to see if the issue resolves or tap the button below to learn more about other options." : { + "comment" : "Message for alert shown when delivery status is uncertain. (1: app name)", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "الكربوهيدرات النشطة" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Aktive kulhydrater" + "value" : "%1$@ kan ikke kommunikere med insulinpumpen. Loop vil fortsætte med at forsøge at kommunikere med din pumpe, men insulinafgivelsesoplysninger kan ikke opdateres og ingen automatisering kan fortsætte.\nDu kan vente et par minutter for at se, om problemet bliver løst, eller tryk på knappen nedenfor for at få mere at vide om andre muligheder." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Aktive Kohlenhydrate" + "value" : "%1$@ kann nicht mit Deiner Insulinpumpe kommunizieren. Die App versucht weiterhin, Deine Pumpe zu erreichen, aber die Informationen zur Insulinabgabe können nicht aktualisiert werden und die Automatisierung kann nicht fortgesetzt werden.\nDu kannst einige Minuten warten, um zu sehen, ob das Problem behoben ist, oder auf die Schaltfläche unten tippen, um mehr über andere Optionen zu erfahren." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Carbohidratos Activos" + "value" : "%1$@ no puede comunicarse con tu bomba de insulina. La aplicación continuará intentando llegar a tu bomba, pero la información de entrega de insulina no se puede actualizar y ninguna automatización puede continuar.\nPuedes esperar varios minutos para ver si el problema resuelve o pulsa el botón de abajo para saber más sobre otras opciones." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Aktiivinen hiilihydraatti" + "value" : "%1$@ ei pysty kommunikoimaan insuliinipumpun kanssa. Sovellus yrittää edelleen yhdistää pumppuun, mutta insuliininannostelun tiedot eivät päivity, eikä automatiikka ole päällä.\nVoit odottaa muutaman minuutin nähdäksesi ratkeaako ongelma, tai voit napauttaa alla olevaa painiketta saadaksesi lisätietoja muista vaihtoehdoista." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Glucides actifs" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "פחמימות פעילות" + "value" : "%1$@ ne parvient pas à communiquer avec votre pompe à insuline. L’application continuera d’essayer d’atteindre votre pompe, mais les informations sur l’administration d’insuline ne peuvent pas être mises à jour et aucune automatisation ne peut continuer.\nVous pouvez attendre quelques minutes pour voir si le problème est résolu ou appuyer sur le bouton ci-dessous pour en savoir plus sur les autres options." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Carboidrati attivi" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "残存糖質" + "value" : "%1$@ non riesce a comunicare con la pompa. L'app continuerà a provare a contattare la pompa, ma le informazioni sull'erogazione dell'insulina non possono essere aggiornate e l'automazione non può proseguire. \nPuoi attendere alcuni minuti per vedere se il problema si risolve oppure toccare il pulsante qui sotto per saperne di più sulle altre opzioni." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Aktive karbohydrater" + "value" : "%1$@ kan ikke kommunisere med insulinpumpen. Appen vil fortsette å prøve å nå pumpen din, men insulintilførselsinformasjon kan ikke oppdateres og ingen automatisering kan fortsette.\n Du kan vente flere minutter for å se om problemet løser seg eller trykke på knappen nedenfor for å lære mer om andre alternativer." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Actieve koolhydraten" + "value" : "%1$@ kan niet communiceren met je insulinepomp. De app blijft proberen je pomp te bereiken, maar de insulinetoedieningsinformatie kan niet worden bijgewerkt en automatisering kan niet plaatsvinden.\nJe kunt enkele minuten wachten om te zien of het probleem is opgelost of tik op de onderstaande knop voor meer informatie over andere opties." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Aktywne węglowodany" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Carboidratos Ativos" + "value" : "%1$@ nie może skomunikować się z Twoją pompą insulinową. Aplikacja będzie nadal próbowała połączyć się z pompą, ale nie można aktualizować informacji o podawaniu insuliny i nie można kontynuować automatyzacji.\n Możesz poczekać kilka minut, aby sprawdzić, czy problem został rozwiązany, lub nacisnąć poniższy przycisk, aby dowiedzieć się więcej o innych opcjach." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Carbohidrați activi" + "value" : "%1$@ nu poate comunica cu pompa de insulină. Aplicația va continua să încerce să comunice cu pompa, dar informațiile despre administrarea insulinei nu pot fi actualizate și automatizarea nu poate continua.\nPuteți aștepta câteva minute pentru a vedea dacă problema se rezolvă sau apăsați butonul de mai jos pentru a afla mai multe despre alte opțiuni." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Действующие углеводы" + "value" : "%1$@ не может связаться с вашей инсулиновой помпой. Приложение будет продолжать попытки связаться с вашей помпой, но информация о доставке инсулина не может быть обновлена, и автоматизация не может продолжаться.\nВы можете подождать несколько минут и посмотреть, разрешится ли проблема, или нажать кнопку ниже, чтобы узнать о других возможностях." } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Aktívne sacharidy" + "value" : "%1$@ nedokáže komunikovať s vašou inzulínovou pumpou. Aplikácia sa bude naďalej pokúšať kontaktovať vašu pumpu, ale informácie o podávaní inzulínu nemožno aktualizovať a nemôže pokračovať žiadna automatizácia.\nMôžete počkať niekoľko minút, aby ste zistili, či sa problém vyriešil, alebo klepnutím na tlačidlo nižšie sa dozviete viac o ďalších možnostiach." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Aktiva kolhydrater" + "value" : "%1$@ kan inte kommunicera med din insulinpump. Appen kommer att fortsätta att försöka nå din pump, men under tiden kan information om insulintillförsel inte uppdateras och automatisering inte fortsätta.\nDu kan vänta flera minuter för att se om problemet löser sig eller klicka på knappen nedan för att läsa mer om andra alternativ." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Aktif Karbonhidrat" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lượng Carbohydrates còn hoạt động" + "value" : "%1$@ insülin pompanızla iletişim kuramıyor. Uygulama pompanıza ulaşmaya çalışmaya devam edecek, ancak insülin iletim bilgileri güncellenemeyecek ve hiçbir otomasyon devam edemeyecektir.\nSorunun çözülüp çözülmediğini görmek için birkaç dakika bekleyebilir veya diğer seçenekler hakkında daha fazla bilgi edinmek için aşağıdaki butona dokunabilirsiniz." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "活性碳水" + "value" : "%1$@ 无法与您的胰岛素泵通信。应用将继续尝试连接胰岛素泵,但当前无法更新胰岛素输注信息,也无法继续自动化操作。\n\n您可以等待几分钟以观察问题是否自动恢复,或点击下方按钮了解其他可选操作。" } } } }, - "Active Carbohydrates: %@" : { - "comment" : "The string format describing active carbohydrates. (1: localized glucose value description)", - "extractionState" : "manual", + "%1$@ Still Active" : { + "comment" : "The format title for the preset still active alert. (1: preset name)" + }, + "%1$@ Time Settings Need Attention" : { + "comment" : "Time change alert title", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "الكربوهيدرات النشطة: %@" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Aktive kulhydrater: %@" + "value" : "%1$@ Tidsindstillinger kræver opmærksomhed" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Aktive Kohlenhydrate: %@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Active Carbohydrates: %@" + "value" : "%1$@ Zeiteinstellungen erfordern Aufmerksamkeit" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Carbohidratos Activos: %@" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Aktiivinen hiilihydraatti: %@" + "value" : "%1$@ La configuración de la hora necesita atención" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Glucides actifs: %@" + "value" : "%1$@ Paramètres d'heure requierent une attention" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "פחמימות פעילות: %@" + "value" : "%1$@ הגדרות השעה דורשות תשומת לב" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Carboidrati attivi: %@" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "残存糖質: %@" + "value" : "%1$@ Le impostazioni dell'orario richiedono attenzione" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Aktive karbohydrater: %@" + "value" : "%1$@ Tidsinnstillinger trenger oppmerksomhet" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Actieve koolhydraten: %@" + "value" : "%1$@ Tijdinstellingen hebben aandacht nodig" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Aktywne węglowodany: %@" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Carboidratos Ativos: %@" + "value" : "%1$@ Ustawienia czasu wymagają uwagi" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Carbohidrați activi: %@" + "value" : "%1$@ Setările de timp necesită atenție" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Действующие углеводы: %@" + "value" : "%1$@ Настройки времени требуют внимания" } }, - "sk" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Aktívne sacharidy: %@" + "value" : "%1$@ Zaman Ayarlarına Dikkat Edilmesi Gerekiyor" } }, - "sv" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Aktiva kolhydrater: %@" + "value" : "%1$@ 时间设置需要注意" } - }, - "tr" : { + } + } + }, + "%1$@ U" : { + "comment" : "Reservoir entry (1: volume value)", + "localizations" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Aktif Karbonhidrat: %@" + "value" : "%1$@ E" } }, - "vi" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Lượng Carbohydrates còn hoạt động: %@" + "value" : "%1$@ IE" } }, - "zh-Hans" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "活性碳水化合物: %@" + "value" : "%1$@ U" } - } - } - }, - "Active Carbs" : { - "comment" : "Title describing quantity of still-absorbing carbohydrates", - "localizations" : { - "ar" : { + }, + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "كارب النشط" + "value" : "%1$@ U" } }, - "da" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Aktive kulhydrater" + "value" : "%1$@ U" } }, - "de" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Aktive KH" + "value" : "U %1$@" } }, - "es" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Carbohidratos Activos" + "value" : "%1$@ U" } }, - "fi" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Akt. hiilari" + "value" : "%1$@ E" } }, - "fr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Glucides actifs" + "value" : "%1$@ E" } }, - "he" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "פחמימות פעילות" + "value" : "%1$@ J" } }, - "it" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Carboidrati attivi" + "value" : "%1$@ U" } }, - "ja" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "残存糖質" + "value" : "%1$@ Ед." } }, - "nb" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Aktive karbohydrater" + "value" : "%@ j" } }, - "nl" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Actieve koolhydraten" + "value" : "%1$@ E" } }, - "pl" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Aktywne węglowodany" + "value" : "%1$@ Ü" } }, - "pt-BR" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Carboidratos Ativos" + "value" : "%1$@ U" } }, - "ro" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Carbohidrați activi" + "value" : "%1$@ وحدة" } }, - "ru" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Активные углеводы" + "value" : "%1$@ U" } }, - "sk" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Aktívne sacharidy" + "value" : "%1$@ U" } }, - "sv" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Aktiva kolhydrater" + "value" : "%1$@ 単位" } }, - "tr" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Aktif Karb." + "value" : "%1$@ U" } }, - "vi" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Lượng Carbs còn hoạt động" + "value" : "%1$@ U" } }, - "zh-Hans" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "活性碳水" + "value" : "%1$@ U" } } } }, - "Active Insulin" : { - "comment" : "Details for missing data error when active insulin amount is missing\nThe title of the Insulin On-Board graph\nTitle describing quantity of still-absorbing insulin", + "%1$@ U left" : { + "comment" : "Low reservoir alert format string. (1: Number of units remaining)", + "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "أنسولين نشط" + "value" : "%1$@ وحدة متبقية" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Aktivt insulin" + "value" : "%1$@ E tilbage" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Aktives Insulin" + "value" : "%1$@ IE verbleibend" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ U left" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina activa" + "value" : "%1$@ U restantes" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Akt. insuliini" + "value" : "%1$@ U jäljellä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Insuline active" + "value" : "%1$@ U restantes" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "אינסולין פעיל" + "value" : "%1$@ U נותרו" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina attiva" + "value" : "%1$@ U rimaste" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "残存インスリン" + "value" : "残 %1$@単位" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Aktivt insulin" + "value" : "%1$@ E igjen" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Actieve insuline" + "value" : "%1$@ E over" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Aktywna insulina" + "value" : "%1$@ J pozostało" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina Ativa" + "value" : "%1$@ U restante" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Insulină activă" + "value" : "%1$@ U rămase" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Активный инсулин" + "value" : "%1$@ Ед осталось" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Aktívny inzulín" + "value" : "Zostáva %1$@ j" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Aktivt insulin" + "value" : "%1$@ E kvar" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Aktif İnsülin" + "value" : "%1$@ Ü kaldı" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Lượng Insulin còn hoạt động" + "value" : "%1$@ U còn lại" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "活性胰岛素" + "value" : "%1$@ 单位 剩余" } } } }, - "Active Insulin: %@" : { - "comment" : "The string format describing active insulin. (1: localized insulin value description)", + "%1$@ U left: %2$@" : { + "comment" : "Low reservoir alert with time remaining format string. (1: Number of units remaining)(2: approximate time remaining)", "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "الأنسولين النشط: %@" + "value" : "%1$@ وحدة متبقية: %2$@" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Aktiv insulin: %@" + "value" : "%1$@ E tilbage: %2$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Aktives Insulin: %@" + "value" : "%1$@ IE verbleibend: %2$@" } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "Active Insulin: %@" + "value" : "%1$@ U left: %2$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina Activa: %@" + "value" : "%1$@ U restantes: %2$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Aktiivinen insuliini: %@" + "value" : "%1$@ U jäljellä: %2$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Insuline active: %@" + "value" : "%1$@ U restantes: %2$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "אינסולין פעיל: %@" + "value" : "%1$@ U נותרו: %2$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina attiva: %@" + "value" : "%1$@ U rimaste: %2$@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "残存インスリン: %@" + "value" : "残 %1$@単位: %2$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Aktivt insulin: %@" + "value" : "%1$@ E gjenstår: %2$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Actieve insuline: %@" + "value" : "%1$@ E over: %2$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Aktywna Insulina: %@" + "value" : "%1$@ J pozostało: %2$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina Ativa: %@" + "value" : "%1$@ U restante: %2$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Insulină activă: %@" + "value" : "%1$@ U rămase: %2$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Действующий инсулин: %@" + "value" : "%1$@ Ед осталось: %2$@" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Aktívny inzulín: %@" + "value" : "Zostáva %1$@ j: %2$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Aktivt insulin: %@" + "value" : "%1$@ E kvar: %2$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Aktif İnsülin: %@" + "value" : "%1$@ Ü kalan: %2$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Lượng Insulin còn hoạt động: %@" + "value" : "%1$@ U còn lại: %2$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "活性胰岛素: %@" + "value" : "%1$@ 单位 剩余: %2$@" } } } }, - "Add a new favorite food" : { - "comment" : "Button label to open new favorite food view", + "%1$@ U/hour @ %2$@" : { + "comment" : "The format for recommended temp basal rate and time. (1: localized rate number)(2: localized time)", + "extractionState" : "manual", "localizations" : { - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "Tilføj en ny favoritmad" - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Füge ein neues Lieblingsessen hinzu" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ajouter un nouveau plat préféré" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "הוסף מאכל אהוב חדש" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Aggiungi un nuovo cibo preferito" - } - }, - "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "Legg til en ny favorittmat" - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Voeg een nieuw favoriet eten toe" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Dodaj nowe ulubione jedzenie" - } - }, - "ro" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Adăugați o nouă mâncare preferată" + "value" : "%1$@ وحدة/ساعة @ %2$@" } }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "添加常用食物" - } - } - } - }, - "Add Alert Profile" : { - "comment" : "The text of a button that allows a user to add a new alert profile.", - "isCommentAutoGenerated" : true - }, - "Add Carb Entry" : { - "comment" : "Title of the user activity for adding carbs", - "localizations" : { - "ar" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Add Carb Entry" + "value" : "%1$@ E/time @ %2$@" } }, - "da" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Tilføj kulhydrater" + "value" : "%1$@ IE/h @ %2$@" } }, - "de" : { + "en" : { "stringUnit" : { "state" : "translated", - "value" : "KH hinzufügen" + "value" : "%1$@ U/hour @ %2$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Agregar Entrada de Carb" + "value" : "%1$@ U/hora @ %2$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Lisää hiilihydraatteja" + "value" : "%1$@ U/h klo %2$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ajouter des glucides" + "value" : "%1$@ U/heure @ %2$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הוספת פחמימות" + "value" : "%1$@ יח׳/שעה @ %2$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Aggiungi inserimento carboidrati" + "value" : "%1$@ U/ora @ %2$@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "糖質の記入を追加" + "value" : "%1$@ U/時 @ %2$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Legg til karbohydrater" + "value" : "%1$@ E/timen @ %2$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Kh. Inv. Toevoegen" + "value" : "%1$@ E/uur @ %2$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wprowadź węglowodany" + "value" : "%1$@ J/godzinę @ %2$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Adicionar Carb" + "value" : "%1$@ U/hora @ %2$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Adăugați carbohidrați" + "value" : "%1$@ U/oră @ %2$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Добавить запись углеводов" + "value" : "%1$@ ед/час @ %2$@" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Zadať sacharidy" + "value" : "%1$@ j/hod @ %2$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Lägg till kolhydrater" + "value" : "%1$@ E/h @ %2$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Karb Girişi Ekle" + "value" : "%1$@ Ü/saat @ %2$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Khai báo Carb" + "value" : "%1$@ U/giờ @ %2$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "添加碳水摄入" + "value" : "%1$@ 单位/小时 @ %2$@" } } } }, - "Add CGM" : { - "comment" : "The title of the CGM chooser in settings\nTitle text for button to add CGM device\nTitle text for button to set up a CGM", + "%1$@ v%2$@" : { + "comment" : "The format string for the app name and version number. (1: bundle name)(2: bundle version)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "إضافة CGM" + "value" : "%1$@ v%2$@" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Tilføj CGM" + "value" : "%1$@ v%2$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "CGM hinzufügen" + "value" : "%1$@ v%2$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Agregar MCG" + "value" : "%1$@ v%2$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Lisää CGM" + "value" : "%1$@ v%2$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ajouter un CGM" + "value" : "%1$@ v%2$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הוסף חיישן" + "value" : "%1$@ v%2$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Aggiungi CGM" + "value" : "%1$@ v%2$@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "CGMを追加" + "value" : "%1$@ v%2$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Legg til CGM" + "value" : "%1$@ v %2$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Voeg CGM toe" + "value" : "%1$@ v%2$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Dodaj CGM" + "value" : "%1$@ v%2$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Adicionar CGM" + "value" : "%1$@ v%2$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Adăugați senzor de glicemie" + "value" : "%1$@ v%2$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Добавить CGM" + "value" : "%1$@ версии %2$@" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Pridať CGM" + "value" : "%1$@ v %2$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Lägg till CGM" + "value" : "%1$@ v%2$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "CGM Ekle" + "value" : "%1$@ v%2$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Khai báo CGM" + "value" : "%1$@ v%2$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "添加CGM" + "value" : "%1$@ v%2$@" } } } }, - "Add item to bottom row" : { - "comment" : "Title for Add item", - "extractionState" : "stale", + "%1$@ will actively adjust your insulin dosing in response to your glucose as often as every 5 minutes." : { + "comment" : "message when automation is on and the glucose value is fresh (1: app name)" + }, + "%1$@ will continue trying to restore automation, but check for potential communication issues with your CGM or insulin pump." : { + "comment" : "message when automation is on and pump is in signal loss (1: app name)\nmessage when automation is on and the glucose value is not fresh (1: app name)" + }, + "%1$@ will continue trying to restore automation, but check for potential communication issues with your CGM.\n\nIn the meantime, your pump is still able to deliver insulin." : { + "comment" : "message when automation is on and CGM is in signal loss (1: app name)" + }, + "%1$@ will set your correction range to 110 mg/dL or higher when this preset is enabled." : { + "comment" : "The format string for the high insulin needs preset warning text on the preset detent screen when starting a preset. (1: app name)" + }, + "%1$@ will stop working in %2$@. You will need to rebuild before that." : { + "comment" : "Format string for body for notification of upcoming expiration. (1: app name) (2: amount of time until expiration", "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ holder op med at fungere i %2$@. Du bliver nødt til at rebuilde før det." + } + }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Wert zur unteren Zeile hinzufügen" + "value" : "%1$@ funktioniert in %2$@ nicht mehr. Sie müssen vorher einen Neuaufbau durchführen." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ajouter un élément à la ligne inférieure" + "value" : "%1$@ cessera de fonctionner dans %2$@. Il vous faudra recompiler avant cette échéance." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ smetterà di funzionare tra %2$@. Prima di allora, sarà necessario ricostruirlo." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Tilføy element til bunnraden" + "value" : "%1$@ vil slutte å fungere i %2$@. Du må gjenoppbygge før det." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Item toevoegen aan onderste rij" + "value" : "%1$@ stopt over %2$@ met werken. Bouw de app vóór die tijd opnieuw." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ przestanie działać w %2$@. Konieczna będzie wcześniejsza odbudowa." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Adăugați elementul pe rândul de jos" + "value" : "%1$@ va înceta să funcționeze în %2$@. Va trebui să reconstruiți sistemul înainte de asta." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ перестанет работать в %2$@. До этого времени необходимо пересобрать приложение заново." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "将项目添加到底行" + "value" : "%1$@将在%2$@停止工作。您需要在此之前重建。" } } } }, - "Add item to Lock Screen / CarPlay display" : { - "comment" : "Title for Add item", + "%1$@ will stop working in %2$@. You will need to update before that, with a new provisioning profile." : { + "comment" : "Format string for body for notification of upcoming provisioning profile expiration. (1: app name) (2: amount of time until expiration", "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ holder op med at fungere i %2$@. Du skal opdatere inden da med en ny provisioneringsprofil." + } + }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Element zum Sperrbildschirm / CarPlay-Display hinzufügen" + "value" : "%1$@ funktioniert nicht mehr in %2$@. Du musst vor Ablauf mit einem neuen Bereitstellungsprofil aktualisieren." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ dejará de funcionar en %2$@ . Deberá actualizar antes de eso, con un nuevo perfil de aprovisionamiento." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ajouter un élément à l'écran de verrouillage / CarPlay" + "value" : "%1$@ cessera de fonctionner dans %2$@ . Vous devrez mettre à jour avant cela, avec un nouveau profil de provisioning." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ smetterà di funzionare tra %2$@. Prima di allora, sarà necessario effettuare l'aggiornamento con un nuovo profilo di provisioning." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Tilføy en enhet til låseskjermen / CarPlay skjermen" + "value" : "%1$@ slutter å fungere om %2$@ . Du må oppdatere før det, med en ny klargjøringsprofil." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Item toevoegen aan toegangsscherm / CarPlay" + "value" : "%1$@ stopt met werken in %2$@. Je zult eerder moeten updaten, met een nieuw beschikbaargesteld profiel." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ przestanie działać za %2$@ . Wcześniej konieczna będzie aktualizacja przy użyciu nowego profilu udostępniania." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Adăugați element la ecranul de blocare / afișajul CarPlay" + "value" : "%1$@ nu va mai funcționa în %2$@. Va trebui să actualizați înainte de aceasta, cu un nou profil de asigurare a accesului." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ перестанет работать в %2$@. Вам нужно будет обновить его до этого, используя новую подпись." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ %2$@ içinde çalışmayı durduracaktır. Bundan önce yeni bir provizyon profili ile güncelleme yapmanız gerekecektir." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "向锁屏 / CarPlay显示 添加项" + "value" : "%1$@ 在 %2$@中将无法正常工作。您需要在该版本发布之前,使用新的配置文件进行更新。" } } } }, - "Add Meal" : { - "comment" : "The label of the carb entry button", - "extractionState" : "stale", + "%1$@: %2$@" : { + "comment" : "Formats (1: carb value) and (2: food type)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "إضافة وجبة" + "value" : "%1$@: %2$@" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Tilføj måltid" + "value" : "%1$@: %2$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Mahlzeit hinzufügen" + "value" : "%1$@: %2$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Agregar Alimento" + "value" : "%1$@: %2$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Lisää ateria" + "value" : "%1$@: %2$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Entrer un repas" + "value" : "%1$@: %2$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הוסף ארוחה" + "value" : "%1$@: %2$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Aggiungi pasto" + "value" : "%1$@: %2$@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "食事を追加" + "value" : "%1$@: %2$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Legg til måltid" + "value" : "%1$@ : %2$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Voeg maaltijd toe" + "value" : "%1$@ : %2$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Dodaj posiłek" + "value" : "%1$@: %2$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Adicionar Refeição" + "value" : "%1$@: %2$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Adăugați masă" + "value" : "%1$@: %2$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Добавить еду" + "value" : "%1$@: %2$@" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Zadať jedlo" + "value" : "%1$@ : %2$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Lägg till måltid" + "value" : "%1$@: %2$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Öğün ekle" + "value" : "%1$@: %2$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Khai báo bữa ăn" + "value" : "%1$@: %2$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "添加用餐信息" + "value" : "%1$@: %2$@" } } } }, - "Add predictive line" : { - "comment" : "Title for predictive line toggle", - "extractionState" : "stale", + "%1$@: %2$@ %3$@" : { + "comment" : "Description of a basal temp basal dose entry (1: title for dose type, 2: value (? if no value) in bold, 3: unit)\nDescription of a bolus dose entry (1: title for dose type, 2: value (? if no value) in bold, 3: unit)", "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@: %2$@ %3$@" + } + }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Prognostizierten BZ-Verlauf hinzufügen" + "value" : "%1$@: %2$@ %3$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@: %2$@ %3$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@: %2$@ %3$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ajouter une ligne prédictive" + "value" : "%1$@: %2$@ %3$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@: %2$@ %3$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Tilføy forutsigende linje" + "value" : "%1$@ : %2$@ %3$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Voorspellingslijn toevoegen" + "value" : "%1$@: %2$@ %3$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@: %2$@ %3$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Adăugați linie predictivă" + "value" : "%1$@: %2$@ %3$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@: %2$@ %3$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@: %2$@ %3$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@: %2$@ %3$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "添加预测线" + "value" : "%1$@: %2$@ %3$@" } } } }, - "Add Pump" : { - "comment" : "The title of the pump chooser in settings\nTitle text for button to add pump device\nTitle text for button to set up a Pump", + "25–75%" : { + "comment" : "Trends Daily pattern legend: band between the 25th and 75th percentiles of glucose", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "إضافة مضخة" + "value" : "25–75%" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "25–75%" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Tilføj pumpe" + "value" : "25–75 %" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Pumpe hinzufügen" + "value" : "25–75 %" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Agregar Microinfusora" + "value" : "25–75%" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Lisää pumppu" + "value" : "25–75%" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ajouter une pompe" + "value" : "25–75 %" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הוסף משאבה" + "value" : "25–75%" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "25–75%" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Aggiungi pompa" + "value" : "25–75%" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "ポンプを追加" + "value" : "25–75%" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Legg til pumpe" + "value" : "25–75 %" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Voeg pomp toe" + "value" : "25–75%" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Dodaj pompę" + "value" : "25–75%" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Adicionar Bomba" + "value" : "25–75%" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Adăugați pompă" + "value" : "25–75%" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Добавить помпу" + "value" : "25–75%" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Pridať pumpu" + "value" : "25–75%" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Lägg till pump" + "value" : "25–75%" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Pompa Ekle" + "value" : "%25–75" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "25–75%" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Khai báo bơm" + "value" : "25–75%" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "添加泵" + "value" : "25–75%" } } } }, - "Add Service" : { - "comment" : "The title of the add service button in settings\nThe title of the add service picker in settings", + "5–95%" : { + "comment" : "Trends Daily pattern legend: band between the 5th and 95th percentiles of glucose", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "5–95%" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "5–95%" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Tilføj tjeneste" + "value" : "5–95 %" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Service hinzufügen" + "value" : "5–95 %" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Add Service" + "value" : "5–95%" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Lisää palvelu" + "value" : "5–95%" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ajouter un service" + "value" : "5–95 %" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הוסף שרות" + "value" : "5–95%" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "5–95%" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Aggiungi servizio" + "value" : "5–95%" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "5–95%" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Legg til tjeneste" + "value" : "5–95 %" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Service toevoegen" + "value" : "5–95%" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Dodaj usługę" + "value" : "5–95%" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "5–95%" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Adăugați Serviciu" + "value" : "5–95%" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Добавить сервис" + "value" : "5–95%" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "5–95%" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Lägg till tjänst" + "value" : "5–95%" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Servis Ekle" + "value" : "%5–95" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "5–95%" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "5–95%" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "添加服务" + "value" : "5–95%" } } } }, - "Adjust Preset Duration" : { - - }, - "Adjusted for" : { + "absorbs over %1$@ h" : { + "comment" : "Logbook carb row detail: carb absorption time in hours. (1: hours, e.g. 3 or 2.5)", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يُمتص خلال %1$@ س" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "vstřebání za %1$@ h" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Justeret for" + "value" : "optages over %1$@ t" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Angepasst für" + "value" : "Aufnahme über %1$@ Std" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Ajustado para" + "value" : "se absorbe en %1$@ h" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Mukautettu" + "value" : "imeytyy %1$@ h:ssa" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ajusté(e) pour" + "value" : "absorption sur %1$@ h" } }, - "it" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Regolato per" + "value" : "נספג במשך %1$@ שע׳" } }, - "nb" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Justert for" + "value" : "%1$@ óra alatt szívódik fel" } }, - "nl" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Aangepast voor" + "value" : "assorbimento in %1$@ h" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@時間で吸収" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "absorberes over %1$@ t" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "opname in %1$@ u" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Dostosowane do" + "value" : "wchłanianie przez %1$@ godz." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "absorve em %1$@ h" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Ajustat pentru" + "value" : "se absoarbe în %1$@ h" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Скорректировано на" + "value" : "усваивается за %1$@ ч" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "vstrebanie za %1$@ h" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Justerad för" + "value" : "absorberas under %1$@ h" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "için düzeltilmiş" + "value" : "%1$@ sa içinde emilir" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "засвоюється за %1$@ год" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "hấp thu trong %1$@ giờ" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "已调整" + "value" : "%1$@小时内吸收" } } } }, - "Aerobic" : { - - }, - "Afternoon Exercise" : { - - }, - "Alert Identifier" : { - - }, - "Alert Management" : { - "comment" : "Alert Permissions button text\nTitle of alert management screen", + "Active insulin %1$@, active carbs %2$@" : { + "comment" : "VoiceOver summary of the active insulin and carbs chart. (1: insulin on board, e.g. 1.25 U, or unknown; 2: carbs on board, e.g. 20 g, or unknown)", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الأنسولين النشط %1$@، الكارب النشط %2$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktivní inzulín %1$@, aktivní sacharidy %2$@" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Administration af advarsler" + "value" : "Aktivt insulin %1$@, aktive kulhydrater %2$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Alarm-Einstellungen" + "value" : "Aktives Insulin %1$@, aktive KH %2$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Gestión de Alertas" + "value" : "Insulina activa %1$@, carbohidratos activos %2$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Akt. insuliini %1$@, akt. hiilari %2$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Gestion des alertes" + "value" : "Insuline active %1$@, glucides actifs %2$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "ניהול התראות" + "value" : "אינסולין פעיל %1$@, פחמימות פעילות %2$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktív inzulin %1$@, aktív szénhidrát %2$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Gestione avvisi" + "value" : "Insulina attiva %1$@, carboidrati attivi %2$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "残存インスリン %1$@、残存糖質 %2$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Administrasjon av varsler" + "value" : "Aktivt insulin %1$@, aktive karbohydrater %2$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Meldingbeheer" + "value" : "Actieve insuline %1$@, actieve koolhydraten %2$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Zarządzanie alertami" + "value" : "Aktywna insulina %1$@, aktywne węglowodany %2$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina ativa %1$@, carboidratos ativos %2$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Gestionarea alertelor" + "value" : "Insulină activă %1$@, carbohidrați activi %2$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Управление оповещениями" + "value" : "Активный инсулин %1$@, активные углеводы %2$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktívny inzulín %1$@, aktívne sacharidy %2$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktivt insulin %1$@, aktiva kolhydrater %2$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Uyarı Yönetimi" + "value" : "Aktif insülin %1$@, aktif karb %2$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Активний інсулін %1$@, активні вуглеводи %2$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin còn hoạt động %1$@, Carbs còn hoạt động %2$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "警报管理" + "value" : "活性胰岛素 %1$@,活性碳水 %2$@" } } } }, - "Alert Permissions" : { - "comment" : "Alert Permissions button text\nNotification & Critical Alert Permissions screen title", - "extractionState" : "stale", + "Active insulin and carbs" : { + "comment" : "Title of the day page card charting insulin and carbs on board", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الأنسولين والكارب النشطان" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktivní inzulín a sacharidy" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Alarmtilladelser" + "value" : "Aktivt insulin og kulhydrater" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Benachrichtigungsberechtigungen" + "value" : "Aktives Insulin und KH" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Permisos de Alertas" + "value" : "Insulina y carbohidratos activos" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Hälytysten käyttöoikeudet" + "value" : "Aktiivinen insuliini ja hiilihydraatit" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Autorisations d'alerte" + "value" : "Insuline et glucides actifs" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הרשאות התראה" + "value" : "אינסולין ופחמימות פעילים" } }, - "it" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Permessi di avviso" + "value" : "Aktív inzulin és szénhidrát" } }, - "nb" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Varslingsinnstillinger" + "value" : "Insulina e carboidrati attivi" } }, - "nl" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Toestemming meldingen" + "value" : "残存インスリンと残存糖質" } }, - "pl" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Uprawnienia alertów" + "value" : "Aktivt insulin og karbohydrater" } }, - "ro" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Permisiuni pentru alarme" + "value" : "Actieve insuline en koolhydraten" } }, - "ru" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Разрешение оповещений" + "value" : "Aktywna insulina i węglowodany" } }, - "sv" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Behörigheter för Varningar" + "value" : "Insulina e carboidratos ativos" } }, - "tr" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Uyarı İzinleri" + "value" : "Insulină activă și carbohidrați activi" } }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "警报权限" - } - } - } - }, - "Alert Permissions and Mute Alerts" : { - "comment" : "Alert Permissions descriptive text", - "extractionState" : "stale", - "localizations" : { - "da" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Advarselstilladelser og dæmpede advarsler" + "value" : "Активный инсулин и углеводы" } }, - "de" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Alarmberechtigungen und Stummschalten von Alarmen" + "value" : "Aktívny inzulín a sacharidy" } }, - "fr" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Permissions d'alerte et désactivation des alertes auditives" + "value" : "Aktivt insulin och kolhydrater" } }, - "he" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "הרשאות התראה והשתקת התראות" + "value" : "Aktif insülin ve karb" } }, - "it" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Autorizzazioni avvisi e avvisi disattivati" + "value" : "Активний інсулін і вуглеводи" } }, - "nb" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Varselstillatelser og demp varsler" + "value" : "Insulin và Carbs còn hoạt động" } }, - "nl" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Toestemming voor waarschuwingen en dempen" + "value" : "活性胰岛素和碳水" } - }, - "pl" : { + } + } + }, + "Add carbs" : { + "comment" : "Button on the Now screen that opens carb entry", + "localizations" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Uprawnienia do alertów i wyciszanie alertów" + "value" : "إضافة كارب" } }, - "ro" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Permisiuni de alertă și alerte silențioase" + "value" : "Přidat sacharidy" } }, - "ru" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Разрешения на оповещения и отключение звука оповещений" + "value" : "Tilføj kulhydrater" } }, - "zh-Hans" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "警报权限与静音设置" + "value" : "KH hinzufügen" } - } - } - }, - "Alert Profiles" : { - "comment" : "A header label for the list of alert profiles.", - "isCommentAutoGenerated" : true - }, - "Alerts" : { - "comment" : "The title of the view.", - "isCommentAutoGenerated" : true - }, - "Algorithm Experiments" : { - "comment" : "Navigation title for algorithms experiments screen\nThe title of the Algorithm Experiments section in settings", - "localizations" : { - "da" : { + }, + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Algoritme-eksperimenter" + "value" : "Agregar carbohidratos" } }, - "de" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Algorithmus-Experimente" + "value" : "Lisää hiilihydraatteja" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Essais d'algorithmes" + "value" : "Ajouter des glucides" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "ניסויי אלגוריתמים" + "value" : "הוספת פחמימות" } }, - "it" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Esperimenti algoritmo" + "value" : "Szénhidrát hozzáadása" } }, - "nb" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Algoritmeeksperimenter" + "value" : "Aggiungi carboidrati" } }, - "nl" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Algoritme experimenten" + "value" : "カーボを追加" } }, - "pl" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Algorytmy Eksperymentalne" + "value" : "Legg til karbohydrater" } }, - "ro" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Experimente algoritmice" + "value" : "Koolhydraten toevoegen" } }, - "zh-Hans" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "算法实验" + "value" : "Dodaj węglowodany" } - } - } - }, - "Algorithm Experiments are optional modifications to the Loop Algorithm. These modifications are less tested than the standard Loop Algorithm, so please use carefully." : { - "comment" : "Algorithm Experiments description.", - "localizations" : { - "da" : { + }, + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Algoritmeeksperimenter er valgfrie ændringer af Loop-algoritmen. Disse ændringer er mindre testet end standard Loop-algoritmen, så brug venligst omhyggeligt." + "value" : "Adicionar carbs" } }, - "de" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Algorithmus-Experimente sind optionale Modifikationen des Loop-Algorithmus. Diese Modifikationen sind weniger getestet als der Standard-Loop-Algorithmus. Verwende sie daher mit Vorsicht." + "value" : "Adăugați carbohidrați" } }, - "fr" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Les essais d'algorithme sont des modifications optionnelles de l'algorithme Loop. Ces modifications sont moins testées que l'algorithme Loop standard, alors veuillez les utiliser avec précaution." + "value" : "Добавить углеводы" } }, - "it" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Gli esperimenti sull'algoritmo sono modifiche opzionali all'algoritmo di Loop. Queste modifiche sono meno testate rispetto all'algoritmo Loop standard, quindi utilizzale con attenzione." + "value" : "Pridať sacharidy" } }, - "nb" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Algoritmeeksperimenter er valgfrie modifikasjoner til Loop-algoritmen. Disse modifikasjonene er mindre testet enn standard Loop-algoritmen, så vær vennlig å bruke dem med forsiktighet." + "value" : "Lägg till kolhydrater" } }, - "nl" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Algoritme-experimenten zijn optionele aanpassingen aan het Loop-algoritme. Deze aanpassingen zijn minder grondig getest dan het standaard Loop-algoritme, dus gebruik ze voorzichtig." + "value" : "Karb ekle" } }, - "pl" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Eksperymenty algorytmiczne to opcjonalne modyfikacje algorytmu pętli. Te modyfikacje są mniej przetestowane niż standardowy algorytm pętli, więc używaj ich ostrożnie." + "value" : "Додати вуглеводи" } }, - "ro" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Experimentele algoritmice sunt modificări opționale ale algoritmului de buclă. Aceste modificări sunt mai puțin testate decât algoritmul de buclă standard, așa că vă rugăm să le utilizați cu atenție." + "value" : "Thêm Carbs" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "算法实验是对 Loop 算法的可选调整。这些调整的测试程度低于标准算法,请谨慎启用。" + "value" : "添加碳水" } } } }, - "Algorithm Settings" : { - "comment" : "The title of the section containing algorithm settings", - "extractionState" : "manual", + "Add pump" : { + "comment" : "Status pill on the Now screen when no pump is set up; tapping it starts pump setup", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إضافة مضخة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Přidat pumpu" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Indstillinger for algoritme" + "value" : "Tilføj pumpe" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Algorithmus-Einstellungen" + "value" : "Pumpe hinzufügen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Ajustes de Algoritmo" + "value" : "Agregar microinfusadora" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Algoritmin asetukset" + "value" : "Lisää pumppu" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Paramètres de l'algorithme" + "value" : "Ajouter une pompe" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Algorithm Settings" + "value" : "הוספת משאבה" } }, - "it" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Impostazioni algoritmo" + "value" : "Pumpa hozzáadása" } }, - "nb" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Algoritmeinnstillinger" + "value" : "Aggiungi pompa" } }, - "nl" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Algoritme-instellingen" + "value" : "ポンプを追加" } }, - "pl" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Ustawienia algorytmu" + "value" : "Legg til pumpe" } }, - "ro" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Setări algoritm" + "value" : "Pomp toevoegen" } }, - "ru" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Настройки алгоритма" + "value" : "Dodaj pompę" } }, - "sv" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Algoritminställningar" + "value" : "Adicionar bomba" } }, - "tr" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Algoritma Ayarları" + "value" : "Adăugați pompă" } }, - "zh-Hans" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "算法设置" + "value" : "Добавить помпу" } - } - } - }, - "All Alerts Muted" : { - "comment" : "Warning text for when alerts are muted", - "extractionState" : "stale", - "localizations" : { - "da" : { + }, + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Alle alarmer er slået fra" + "value" : "Pridať pumpu" } }, - "de" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Alle Warnungen stummgeschaltet" + "value" : "Lägg till pump" } }, - "fr" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Toutes les alertes sont en sourdine" + "value" : "Pompa ekle" } }, - "he" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "כל ההתראות משותקות" + "value" : "Додати помпу" } }, - "it" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Tutti gli avvisi disattivati" + "value" : "Thêm bơm" } }, - "nb" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Alle varsler er dempet" + "value" : "添加胰岛素泵" } - }, - "nl" : { + } + } + }, + "Aim: over 70%% in range, under 4%% low." : { + "comment" : "Trends Time in range card footnote: the consensus targets for time in range and time low", + "localizations" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Alle waarschuwingen gedempt" + "value" : "الهدف: أكثر من 70%% ضمن النطاق، وأقل من 4%% منخفض." } }, - "pl" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Wszystkie alerty wyciszone" + "value" : "Cíl: přes 70%% v rozsahu, pod 4%% nízko." } }, - "ro" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Toate alertele sunt dezactivate" + "value" : "Mål: over 70 %% i området, under 4 %% lavt." } }, - "zh-Hans" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "所有警报已静音" + "value" : "Ziel: über 70 %% im Zielbereich, unter 4 %% niedrig." } - } - } - }, - "All alerts muted until" : { - "comment" : "Label for when mute alert will end", - "extractionState" : "stale", - "localizations" : { - "da" : { + }, + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Alle advarsler er slået fra indtil" + "value" : "Objetivo: más del 70%% en rango, menos del 4%% bajo." } }, - "de" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Alle Alarme stummgeschaltet bis" + "value" : "Tavoite: yli 70 %% tavoitealueella, alle 4 %% matalalla." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Toutes les alertes auditives sont désactivées jusqu'à" + "value" : "Objectif : plus de 70 %% dans la cible, moins de 4 %% en hypo." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "כל ההתראות מושתקות עד" + "value" : "יעד: מעל 70%% בטווח, מתחת ל-4%% נמוך." } }, - "it" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Tutti gli avvisi disattivati fino a" + "value" : "Cél: több mint 70%% tartományban, kevesebb mint 4%% alacsony." } }, - "nb" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Alle varsler er dempet inntil" + "value" : "Obiettivo: oltre il 70%% nell'intervallo, meno del 4%% bassa." } }, - "nl" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Alle waarschuwingen gedempt tot" + "value" : "目標:範囲内70%%超、低値4%%未満。" } }, - "pl" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Wszystkie alerty wyciszono do" + "value" : "Mål: over 70 %% i målområdet, under 4 %% lavt." } }, - "ro" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Toate alertele sunt dezactivate până la" + "value" : "Doel: meer dan 70%% binnen bereik, minder dan 4%% laag." } }, - "zh-Hans" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "所有警报均已静音,直至……" + "value" : "Cel: ponad 70%% w zakresie, poniżej 4%% niskich." } - } - } - }, - "All App Sounds Muted" : { - "comment" : "Warning text for when alerts are muted" - }, - "All app sounds, including sounds for all critical alerts such as Urgent Low, Sensor Fail, Pump Expiration, and others will NOT sound." : { - "comment" : "Warning label that all alerts will not sound" - }, - "All app sounds, including sounds for all critical alerts, are currently muted.\n\nTap Unmute to resume app sounds for your alerts." : { - "comment" : "The alert body for unmute alert confirmation" - }, - "All Events" : { - - }, - "All Favorites" : { - "comment" : "section header for list of existing FavoriteFoods", - "localizations" : { - "da" : { + }, + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Alle favoritter" + "value" : "Meta: mais de 70%% no alvo, menos de 4%% baixo." } }, - "de" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Alle Favoriten" + "value" : "Țintă: peste 70%% în interval, sub 4%% scăzut." } }, - "fr" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Tous les favoris" + "value" : "Цель: в диапазоне более 70%%, низкая — менее 4%%." } }, - "it" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Tutti i preferiti" + "value" : "Cieľ: nad 70%% v rozsahu, pod 4%% nízko." } }, - "nb" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Alle favoritter" + "value" : "Mål: över 70 %% inom målområdet, under 4 %% lågt." } }, - "nl" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Alle favorieten" + "value" : "Hedef: aralıkta %%70'in üzeri, düşükte %%4'ün altı." } }, - "pl" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Wszystkie ulubione" + "value" : "Мета: у діапазоні понад 70%%, низька — менше 4%%." } }, - "ro" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Toate favoritele" + "value" : "Mục tiêu: trên 70%% trong khoảng, dưới 4%% thấp." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "全部常用" + "value" : "目标:范围内超过70%%,低血糖低于4%%。" } } } }, - "All Out" : { - - }, - "All Presets" : { - - }, - "Allowed" : { - "comment" : "Health sharing status: authorized" - }, - "Also alert from Loop" : { - "comment" : "A toggle that lets the user enable or disable Loop's alerts for a specific profile.", - "isCommentAutoGenerated" : true - }, - "Amount Consumed" : { - "comment" : "Label for carb quantity entry row on carb entry screen", + "All" : { + "comment" : "Logbook filter chip: show every entry", "localizations" : { - "da" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Forbrugt mængde kulhydrater" + "value" : "الكل" } }, - "de" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "KH-Menge gegessen" + "value" : "Vše" } }, - "fr" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Quantité consommée" + "value" : "Alle" } }, - "he" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "כמות שנצרכה" + "value" : "Alle" } }, - "it" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Quantità consumata" + "value" : "Todo" } }, - "nb" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Mengde karbohydrater\n(Mengde inntatt)" + "value" : "Kaikki" } }, - "nl" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Gegeten hoeveelheid" + "value" : "Tout" } }, - "pl" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Ilość węglowodanów" + "value" : "הכל" } }, - "ro" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Cantitate consumată" + "value" : "Mind" } }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "摄入量" - } - } - } - }, - "Amplitude" : { - "comment" : "The title of the Amplitude service", - "extractionState" : "manual", - "localizations" : { - "ar" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "Tutto" } }, - "da" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "すべて" } }, - "de" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "Alle" } }, - "en" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "Alles" } }, - "es" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "Wszystko" } }, - "fi" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "Tudo" } }, - "fr" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "Toate" } }, - "he" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "Все" } }, - "it" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Ampiezza" + "value" : "Všetko" } }, - "ja" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "Alla" } }, - "nb" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "Tümü" } }, - "nl" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "Усі" } }, - "pl" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Amplituda" + "value" : "Tất cả" } }, - "pt-BR" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "全部" } - }, - "ro" : { + } + } + }, + "App Icon" : { + "comment" : "Header for the app icon choice", + "localizations" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "أيقونة التطبيق" } }, - "ru" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "Ikona aplikace" } }, - "sv" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "Appsymbol" } }, - "tr" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "App-Symbol" } }, - "vi" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "Icono de la app" } }, - "zh-Hans" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Amplitude" + "value" : "Sovelluksen kuvake" } - } - } - }, - "An active override is modifying your carb ratio and insulin sensitivity. If you don't want this to affect your bolus calculation and projected glucose, consider turning off the override." : { - "comment" : "Warning to ensure the carb entry is accurate during an override", - "extractionState" : "stale", - "localizations" : { - "da" : { + }, + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "En aktiv Override ændrer dit kulhydratforhold og din insulinfølsomhed. Hvis du ikke ønsker, at dette skal påvirke din bolusberegning og dit forventede glukose, kan du overveje at slå Override fra." + "value" : "Icône de l'app" } }, - "de" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Eine aktive Voreinstellung verändert Dein Kohlenhydratverhältnis und Deine Insulinempfindlichkeit. Wenn Du nicht möchtest, dass sich dies auf Deine Bolusberechnung und Deinen prognostizierten Blutzucker auswirkt, solltest Du die Voreinstellung deaktivieren." + "value" : "צלמית היישום" } }, - "es" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Un Ajuste Temporal activo modifica la proporción de carbohidratos y la sensibilidad a la insulina. Si no deseas que esto afecte el cálculo del bolo y la glucosa proyectada, considera desactivar el Ajuste Temporal." + "value" : "Alkalmazásikon" } }, - "fr" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Un ajustement actif modifie votre ratio de glucides et votre sensibilité à l'insuline. Si vous ne voulez pas que cela affecte le calcul du bolus et votre glycémie projetée, envisagez de désactiver l'ajustement." + "value" : "Icona dell'app" } }, - "it" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Un Override attivo sta modificando il rapporto di carboidrati e la sensibilità insulina. Se non si vuole che questo influisca sul calcolo del bolo e sulla glicemia prevista, si consiglia di disattivare la funzione di Override." + "value" : "アプリアイコン" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "En aktiv overstyring modifiserer ditt karbohydratforhold og insulinfølsomhet. Hvis du ikke vil at dette skal påvirke bolusberegningen og projisert blodsukker, bør du vurdere å slå av overstyringen." + "value" : "Appsymbol" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Een actieve override wijzigt je koolhydraatratio en je insulinegevoeligheid. Als je niet wilt dat dit je bolusberekening en voorspelde glucose beïnvloedt, kun je overwegen de override uit te schakelen." + "value" : "App-symbool" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Aktywny Cel Tymczasowy (Override) modyfikuje stosunek węglowodanów i wrażliwość na insulinę. Jeśli nie chcesz, aby wpłynęło to na obliczenie bolusa i przewidywaną glikemię, rozważ wyłączenie Celu Tymczasowego." + "value" : "Ikona aplikacji" } }, - "ro" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "O suprascriere activă a schimbat raportul dintre carbohidrați și insulină cât și sensibilitatea la insulină. Dacă nu doriți ca acest lucru să vă afecteze calculul bolusului și gllicemia prognozată, luați în considerare dezactivarea suprascrierii." + "value" : "Ícone do app" } }, - "ru" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Активные временные цели изменяют соотношение углеводов и чувствительность к инсулину. Если вы не хотите, чтобы это влияло на расчет болюса и прогнозируемый уровень глюкозы, отключите эту функцию." + "value" : "Pictograma aplicației" } }, - "tr" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Aktif bir geçersiz kılma, karbonhidrat oranınızı ve insülin duyarlılığınızı değiştiriyor. Bunun bolus hesaplamanızı ve öngörülen glikozu etkilemesini istemiyorsanız geçersiz kılmayı kapatmayı düşünün." + "value" : "Значок приложения" } }, - "zh-Hans" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "当前启用的覆盖设置正在修改您的碳水比和胰岛素敏感系数。\n如果您不希望其影响大剂量的计算和预测血糖,请考虑关闭该覆盖设置。" + "value" : "Ikona aplikácie" } - } - } - }, - "An error occurred while trying to save your carb entry." : { - "comment" : "Alert message for a carb entry persistence error", - "localizations" : { - "da" : { + }, + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Der opstod en fejl under forsøget på at gemme kulhydratindtastning." + "value" : "Appsymbol" } }, - "de" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Beim Speichern Deiner Eingabe der Kohlenhydrate ist ein Fehler aufgetreten." + "value" : "Uygulama Simgesi" } }, - "es" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Se produjo un error al intentar guardar la entrada de carbohidratos." + "value" : "Іконка програми" } }, - "fi" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Virhe hiilihydraattien tallennuksessa." + "value" : "Biểu tượng ứng dụng" } }, - "fr" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Une erreur est survenue lors de l'enregistrement de votre saisie manuelle de glucides." + "value" : "App 图标" } - }, - "it" : { + } + } + }, + "Appearance" : { + "comment" : "Title of the appearance settings screen Title of the light or dark appearance choice", + "localizations" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Si è verificato un errore durante il tentativo di salvare l'inserimento dei carboidrati." + "value" : "المظهر" } }, - "nb" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Det oppstod en feil under forsøk på å lagre karbohydratregistreringen." + "value" : "Vzhled" } }, - "nl" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Er is een fout opgetreden tijdens het opslaan van je koolhydraatinvoer." + "value" : "Udseende" } }, - "pl" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Wystąpił błąd podczas próby zapisania wpisu dotyczącego węglowodanów." + "value" : "Darstellung" } }, - "ro" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Eroare la încercarea de salvare a carbohidraților." + "value" : "Apariencia" } }, - "ru" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Произошла ошибка при попытке сохранить запись об углеводах." + "value" : "Ulkoasu" } }, - "sv" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ett fel uppstod när du skulle spara dina kolhydrater." + "value" : "Apparence" } }, - "tr" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Karbonhidrat girişinizi kaydetmeye çalışırken bir hata oluştu." + "value" : "מראה" } }, - "zh-Hans" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "保存碳水记录时出错了。" + "value" : "Megjelenés" } - } - } - }, - "An error occurred while trying to save your manual glucose entry." : { - "comment" : "Alert message for a manual glucose entry persistence error", - "localizations" : { - "da" : { + }, + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Der opstod en fejl under forsøget på at gemme en manuel blodsukkerindtastning." + "value" : "Aspetto" } }, - "de" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Beim Speichern Deines manuell eingegebenen Blutzuckers ist ein Fehler aufgetreten." + "value" : "外観" } }, - "es" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Se produjo un error al intentar guardar la entrada manual de glucosa." + "value" : "Utseende" } }, - "fi" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Virhe glukoosiarvon tallennuksessa." + "value" : "Weergave" } }, - "fr" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Une erreur est survenue lors de l'enregistrement de votre saisie manuelle de glycémie." + "value" : "Wygląd" } }, - "it" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Si è verificato un errore durante il tentativo di salvare l'inserimento manuale della glicemia." + "value" : "Aparência" } }, - "nb" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Det oppstod en feil under forsøk på å lagre den manuelle BS-registreringen." + "value" : "Aspect" } }, - "nl" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Er is een fout opgetreden tijdens het opslaan van je handmatige glucose-invoer." + "value" : "Оформление" } }, - "pl" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Wystąpił błąd podczas próby zapisania ręcznego wpisu o glukozie." + "value" : "Vzhľad" } }, - "ro" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Eroare la încercarea de salvare a glicemiei introduse manual." + "value" : "Utseende" } }, - "ru" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Произошла ошибка при попытке сохранить данные о глюкозе, введенные вручную." + "value" : "Görünüm" } }, - "sv" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Ett fel uppstod när du skulle spara ditt blodsockervärde." + "value" : "Вигляд" } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Manuel KŞ girişinizi kaydetmeye çalışırken bir hata oluştu." + "value" : "Giao diện" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "在尝试保存您手动输入的血糖值时发生错误。" + "value" : "外观" } } } }, - "An unexpected onboarding error state occurred." : { - "comment" : "Invalid onboarding state", + "Appearance and App Icon" : { + "comment" : "Title of the row that opens the appearance and app icon settings", "localizations" : { - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "Der er opstået en uventet fejltilstand i forbindelse med onboarding." - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ein unerwarteter Fehlerstatus beim Onboarding ist aufgetreten." - } - }, - "es" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Se ha producido un error inesperado" + "value" : "المظهر وأيقونة التطبيق" } }, - "fr" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Un état d'erreur innatendu a eu lieu durant le processus d'intégration" + "value" : "Vzhled a ikona aplikace" } }, - "it" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Si è verificato un errore di onboarding imprevisto." + "value" : "Udseende og appsymbol" } }, - "nb" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "En uventet onboarding-feiltilstand oppstod." + "value" : "Darstellung und App-Symbol" } }, - "nl" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Er is een onverwachte onboarding-foutstatus opgetreden" + "value" : "Apariencia e icono de la app" } }, - "pl" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Niespodziewany błąd wdrażania" + "value" : "Ulkoasu ja sovelluksen kuvake" } }, - "ro" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "A apărut o eroare neașteptată de stare la inițiere." + "value" : "Apparence et icône de l'app" } }, - "ru" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Возникла непредвиденная ошибка подключения." + "value" : "מראה וצלמית היישום" } }, - "tr" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Beklenmeyen bir ekleme hatası durumu oluştu." + "value" : "Megjelenés és alkalmazásikon" } }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "初始化向导发生意外错误状态" - } - } - } - }, - "An updated bolus recommendation is available." : { - "comment" : "Alert message when glucose data returns while on bolus screen", - "extractionState" : "stale", - "localizations" : { - "da" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "En opdateret bolusanbefaling er tilgængelig." + "value" : "Aspetto e icona dell'app" } }, - "de" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Eine aktualisierte Bolusempfehlung ist verfügbar." + "value" : "外観とアプリアイコン" } }, - "es" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Hay una recomendación actualizada de bolo." + "value" : "Utseende og appsymbol" } }, - "fi" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Päivitetty bolussuositus on saatavilla." + "value" : "Weergave en app-symbool" } }, - "fr" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Une recommandation de bolus mise à jour est disponible." + "value" : "Wygląd i ikona aplikacji" } }, - "it" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "È disponibile una raccomandazione aggiornata sul bolo." + "value" : "Aparência e ícone do app" } }, - "nb" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "En oppdatert bolusanbefaling er tilgjengelig." + "value" : "Aspect și pictograma aplicației" } }, - "nl" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Een bijgewerkte aanbevolen bolus is beschikbaar." + "value" : "Оформление и значок" } }, - "pl" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Dostępna jest zaktualizowana rekomendacja bolusa." + "value" : "Vzhľad a ikona aplikácie" } }, - "ro" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Este disponibilă o recomandare de bolus nouă." + "value" : "Utseende och appsymbol" } }, - "ru" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Доступна обновленная рекомендация болюса." + "value" : "Görünüm ve Uygulama Simgesi" } }, - "sv" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Det finns nu en ny bolusrekommendation." + "value" : "Вигляд та іконка" } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Güncellenmiş bir bolus önerisi mevcuttur." + "value" : "Giao diện và biểu tượng ứng dụng" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "有新的大剂量推荐值可用" + "value" : "外观与 App 图标" } } } }, - "API Key" : { - "comment" : "The title of the amplitude API key credential", - "extractionState" : "manual", + "Automatic" : { + "comment" : "Chart legend: outlined bars are automatic boluses given by Loop", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "API Key" + "value" : "تلقائي" } }, - "da" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "API nøgle" + "value" : "Automatické" } }, - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "API Key" + "value" : "Automatisk" } }, - "en" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "API Key" + "value" : "Automatisch" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "API Key" + "value" : "Automático" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "API-avain" + "value" : "Automaattinen" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Clé API" + "value" : "Automatique" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "API Key" + "value" : "אוטומטי" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatikus" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Chiave API" + "value" : "Automatico" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "API キー" + "value" : "自動" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "API Nøkkel" + "value" : "Automatisk" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "API sleutel" + "value" : "Automatisch" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "API Key" + "value" : "Automatyczne" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "API Key" + "value" : "Automático" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Cheie API" + "value" : "Automat" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "API-ключ" + "value" : "Автоматические" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Kľúč API" + "value" : "Automatické" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "API Key" + "value" : "Automatisk" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "API Anahtarı" + "value" : "Otomatik" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Автоматичні" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "API Key" + "value" : "Tự động" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "API Key" + "value" : "自动" } } } }, - "API Secret" : { - "comment" : "The title of the nightscout API secret credential", - "extractionState" : "manual", + "Automatic bolus" : { + "comment" : "Chart callout label for a bolus Loop delivered automatically near the touched time Logbook row title: a bolus Loop delivered automatically", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "API Secret" + "value" : "Bolus تلقائي" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "API Secret" + "value" : "Automatický bolus" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "API kodeord" + "value" : "Automatisk bolus" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "API Secret" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "API Secret" + "value" : "Automatischer Bolus" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Clave secreta API" + "value" : "Bolo automático" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "API-salasana" + "value" : "Automaattinen bolus" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Secret API" + "value" : "Bolus automatique" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "API Secret" + "value" : "Bolus אוטומטי" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatikus bólus" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Chiave personale API" + "value" : "Bolo automatico" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "APIシークレット" + "value" : "自動ボーラス" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "API Hemmelighet" + "value" : "Automatisk bolus" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "API Secret" + "value" : "Automatische bolus" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "API Secret" + "value" : "Bolus automatyczny" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Chave API" + "value" : "Bolus automático" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Secretul API" + "value" : "Bolus automat" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "API Секрет" + "value" : "Автоматический болюс" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "API Secret" + "value" : "Automatický bolus" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "API Secret" + "value" : "Automatisk bolus" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "API Secret" + "value" : "Otomatik bolus" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Автоматичний болюс" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "API Secret" + "value" : "Bolus tự động" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "API Secret" + "value" : "自动大剂量" } } } }, - "App Profile" : { - "comment" : "Settings app profile section", + "%lld" : { + "comment" : "A label displaying the playback speed. The argument is the playback speed.", + "isCommentAutoGenerated" : true + }, + "%lld min" : { + "comment" : "A picker row that lets the user select a snooze interval. The argument is the number of minutes in the interval.", + "isCommentAutoGenerated" : true + }, + "%lld." : { + "comment" : "A number followed by a period, used to number a list of references.", + "isCommentAutoGenerated" : true + }, + "%lld%%" : { + + }, + "%lldd" : { + + }, + "%lldx" : { + "comment" : "A label that shows the playback speed of the audio. The argument is the playback speed.", + "isCommentAutoGenerated" : true + }, + "•" : { + + }, + "<%@" : { + + }, + ">%@" : { + + }, + "⚠️" : { "localizations" : { - "cs" : { - "stringUnit" : { - "state" : "translated", - "value" : "Profil" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "App-profil" + "value" : "⚠️" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "App-Profil" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Perfil de la aplicación" + "value" : "⚠️" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Profil de l'application" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "פרופיל אפליקציה" + "value" : "⚠️" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Profilo app" + "value" : "⚠️" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "App-profil" + "value" : "⚠️" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "App-Profiel" + "value" : "⚠️" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Profil aplikacji" + "value" : "⚠️" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Profilul aplicației" + "value" : "⚠️" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Профиль приложения" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Uygulama Profili" + "value" : "⚠️" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "应用配置" + "value" : "⚠️" } } } }, - "App Store" : { - "comment" : "Button title to open the App Store for a required update" + "0" : { + }, - "Apple" : { - "comment" : "Default name on add favorite food screen", + "0.5" : { + "comment" : "A label displayed in the playback speed menu.", + "isCommentAutoGenerated" : true + }, + "0.5x" : { + "comment" : "A label for a playback speed of 0.5x.", + "isCommentAutoGenerated" : true + }, + "1" : { + "comment" : "A label for a playback speed of 1.", + "isCommentAutoGenerated" : true + }, + "1x" : { + "comment" : "A label for the playback speed of 1.", + "isCommentAutoGenerated" : true + }, + "2" : { + "comment" : "A label for a playback speed of 2x.", + "isCommentAutoGenerated" : true + }, + "2x" : { + "comment" : "A label for a playback speed of 2x.", + "isCommentAutoGenerated" : true + }, + "3-6" : { + + }, + "6-9" : { + + }, + "9-20" : { + + }, + "10" : { + + }, + "15 min glucose regression coefficient (b₁), continued with decay over 30 min" : { + "comment" : "Description of the prediction input effect for glucose momentum", "localizations" : { - "de" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Apfel" + "value" : "15 دقيقة معامل انحدار قراءات سكر الدم (b₁), ويستمر بالاضمحلال خلال 30 دقيقة" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "15 min. glukoseregressionskoefficient (b₁), fortsætter med henfald over 30 minutter." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "15 Minuten Blutzucker-Regressionskoeffizient (b₁), fortgesetzt mit Abfall über 30 min" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Coeficiente de regresión de glucosa de 15 minutos (b₁), continuado con decaimiento durante 30 minutos" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "15 min glukoosin regressiokerroin (b₁), hiipuen 30 min kuluessa" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Pomme" + "value" : "Coefficient de régression du glucose de 15 minutes (b1), décroissance poursuivie au-delà de 30 min." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "תפוח" + "value" : "15 min glucose regression coefficient (b₁), continued with decay over 30 min" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Mela" + "value" : "Coefficiente di regressione della glicemia a 15 minuti (b₁), continuato con decadimento per 30 minuti" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "15分 グルコース回帰係数 (b₁)、30分退化適用" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Eple" + "value" : "15 minutters glukose-regresjonskoeffisient (b1), fortsatt med nedbrytning over 30 minutter." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Appel" + "value" : "15 min glucose regressiecoëficiënt (b₁), gevolgd door afbouw over 30 min" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "15-minutowy współczynnik regresji glukozy (b₁), kontynuowany z rozkładem przez 30 min." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "15 min coeficiente de regressão de glicose (b₁), continuada com queda em 30 min." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Apple" + "value" : "coeficient de regresie glicemică pe 15 min (b₁), continuat cu o diminuare pe 30 min." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "15-мин коэффициент регрессии гликемии (b1), продолжен с угасанием 30 мин" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "15 minútový regresný koeficient glykémie (b1), pokračujúci s poklesom počas 30 minút" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "15 minuters glukosregressionskoefficient (b₁), fortsatt med 30 minuters avklingande" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "15 dakikalık glikoz regresyon katsayısı (b₁), 30 dakika boyunca bozuk devam etti" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "15 phút hồi quy glucose (b₁), tiếp tục phân rã trên 30 phút." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "苹果" + "value" : "15分钟血糖回归系数 (b₁),持续30分钟衰减" } } } }, - "Apple Health" : { - "comment" : "Apple Health settings button text\nTitle of the Apple Health access screen" + "25-33%" : { + }, - "Are you sure you want to delete all history entries?" : { - "comment" : "Action sheet confirmation message for pump history deletion", + "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" : { + "comment" : "Description of the prediction input effect for retrospective correction", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "30 دقيقة مقارنة قراءات سكر الدم المتوقعة والفعلية , ويستمر بالاضمحلال خلال 60 دقيقة" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Er du sikker på at du vil slette alle gamle indtastninger?" + "value" : "30 min. sammenligning af glukose-forudsigelse kontra faktisk målt glukose, med henfald over 60 minutter." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Möchtest Du wirklich alle Verlaufseinträge löschen?" + "value" : "30-minütiger Vergleich der Blutzuckerprognose gegenüber dem tatsächlichen Blutzucker, Fortsetzung mit Abfall über 60 min" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "¿Estás seguro de querer eliminar todos las entradas históricas?" + "value" : "Comparación de glucosa actual contra la proyectada en 30 minutos, continuada con decaimiento durante 60 minutos." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Haluatko varmasti poistaa kaikki historiatiedot?" + "value" : "30 min vertailu ennustetun ja todellisen glukoosin välillä, hiipuen 60 min kuluessa" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Voulez-vous vraiment supprimer toutes les entrées de l’historique?" + "value" : "Comparaison sur 30 min de la glycémie prévue par rapport à celle réelle, suivie d'une décroissance (decay) sur 60 min." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "בטוח שברצונך למחוק את כל ערכי ההיסטוריה?" + "value" : "30 min comparison of glucose prediction vs actual, continued with decay over 60 min" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Sei sicuro di voler eliminare tutte le voci della cronologia?" + "value" : "Confronto di 30 minuti tra la previsione della glicemia e quella effettiva, continuato con decadimento per 60 minuti" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "入力履歴をすべて削除しますか?" + "value" : "30分 グルコース予想値と実際値の比較、60分退化適用" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Er du sikker på at du vil slette alle historieoppføringer?" + "value" : "30 min sammenligning av glukose-prediksjon vs faktisk, fortsatt med nedbrytning over 60 min." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Weet je zeker dat je de gehele pompgeschiedenis wilt verwijderen?" + "value" : "30 min vergelijking van glucosevoorspelling versus de werkelijke, gevolgd door afbouw over 60 min" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Czy jesteś pewien, że chcesz usunąć z Loop wszystkie dane historyczne pompy?" + "value" : "30 minutowe porównanie przewidywania stężenia glukozy w stosunku do rzeczywistego, kontynuowane z rozkładem przez 60 min." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Tem certeza de que deseja excluir todas as entradas do histórico?" + "value" : "30 min de comparação da previsão de glicose vs atual, continuada com queda em 60 min." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Sigur doriți să ștergeți toate înregistrările din istoric?" + "value" : "Comparație timp de 30 de minute între predicția glicemiei și valoarea reală, continuată cu scăderea valorii pe parcursul a 60 de minute" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Подтвердите удаление всех записей истории?" + "value" : "30 мин сравнение предсказанной гликемии с действительной, продолжено с угасанием 60 мин" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Säkert att du vill radera all händelsehistorik?" + "value" : "30 min jämförelse av glukosprediktion och faktiskt värde, fortsatt med 60 miuters avklingande." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Tüm geçmiş girişlerini silmek istediğinizden emin misiniz?" + "value" : "30 dakikalık glikoz tahmini ile gerçek karşılaştırması, 60 dakika boyunca bozuk devam etti" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Bạn có chắc muốn xóa hết các dữ liệu cũ?" + "value" : "30 phút so sánh dự đoán glucose so với thực tế, tiếp tục với sự phân rã hơn 60 phút." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "确定要删除所有历史记录吗?" + "value" : "30分钟葡萄糖预测与实际比较,持续60分钟以上衰减" } } } }, - "Are you sure you want to delete all logged dose entries?" : { - "comment" : "Action sheet confirmation message for logged dose deletion", + "100m sprint" : { + + }, + "A critical issue has been discovered in this version of %1$@. To continue using the app, you must update to the latest version." : { + "comment" : "Required update modal paragraph 1 (1: app name)" + }, + "A critical update is available. Your app may not function correctly until you update to the latest version." : { + "comment" : "Software update description for required update" + }, + "A few seconds remaining" : { + "comment" : "Estimated remaining duration with a few seconds", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Er du sikker på, at du vil slette alle logget dosis?" + "value" : "Et par sekunder tilbage" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Möchtest Du wirklich alle protokollierten Dosis Einträge löschen?" + "value" : "Ein paar Sekunden verbleiben" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "¿Estás seguro de que quieres borrar todas las entradas de dosis registradas?" + "value" : "Quedan unos segundos" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Haluatko varmasti poistaa kaikki kirjatut annostelutiedot?" + "value" : "Muutama sekunti jäljellä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Voulez-vous vraiment supprimer toutes les entrées de dose enregistrées?" + "value" : "Quelques secondes restantes" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "בטוח שברצונך למחוק את כל ערכי המנות?" + "value" : "נותרו כמה שניות" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Sei sicuro di voler eliminare tutte le dosi inserite?" + "value" : "Pochi secondi rimanenti" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Er du sikker på at du vil slette alle loggførte doseoppføringer?" + "value" : "Noen sekunder gjenstår" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Weet je zeker dat je de gehele doseringsgeschiedenis wilt verwijderen?" + "value" : "Nog een paar seconden" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Czy na pewno chcesz usunąć wszystkie zapisane wpisy dawek?" + "value" : "Pozostało kilka sekund" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Sigur doriți să ștergeți toate înregistrările despre dozele de insulina?" + "value" : "Câteva secunde rămase" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Вы уверены, что хотите удалить все зарегистрированные записи о дозах?" + "value" : "Осталось несколько секунд" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Är du säker på att du vill ta bort alla dina loggade doser?" + "value" : "Några sekunder återstår" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Günlüğe kaydedilen tüm doz girişlerini silmek istediğinizden emin misiniz?" + "value" : "Birkaç saniye kaldı" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "是否确定删除全部注射记录?" + "value" : "剩余几秒" } } } }, - "Are you sure you want to delete all reservoir values?" : { - "comment" : "Action sheet confirmation message for reservoir deletion", + "A manual glucose entry must be between %@ and %@" : { + "comment" : "Alert message for a manual glucose entry out of range error", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Er du sikker på at du vil slette alle reservoirværdier?" + "value" : "En manuel blodsukkerindtastning skal være mellem %1$@ og %2$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Möchtest Du wirklich alle Reservoirwerte löschen?" + "value" : "Der manuelle Blutzucker muss zwischen %1$@ und %2$@ liegen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "¿Estás seguro de querer eliminar todos los datos del reservorio?" + "value" : "Una entrada de glucosa manual debe estar entre %1$@ y %2$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Haluatko varmasti poistaa kaikki säiliön arvot?" + "value" : "Syötetyn glukoosiarvon on oltava välillä %1$@ – %2$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Voulez-vous vraiment supprimer toutes les valeurs de réservoir?" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "בטוח שברצונך למחוק את כל ערכי המאגר?" + "value" : "Une saisie manuelle de la glycémie doit être comprise entre %1$@ et %2$@." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Sei sicuro di voler eliminare tutti i valori del serbatoio?" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "リザーバの値をすべて削除しますか?" + "value" : "Un inserimento manuale della glicemia deve essere compreso tra %1$@ e %2$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Er du sikker på at du vil slette alle reservoarverdier?" + "value" : "En manuell BS-registrering må være mellom %1$@ og %2$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Weet je zeker dat je alle waarden van het reservoir wilt verwijderen?" + "value" : "Een handmatige glucose-invoer moet tussen %1$@ en %2$@ liggen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Czy jesteś pewien, że chcesz usunąć wszystkie wartości zbiornika?" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Tem certeza de que deseja excluir todos os valores do reservatório?" + "value" : "Ręczny wpis poziomu glukozy musi mieścić się w przedziale od %1$@ do %2$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Sigur doriți să ștergeți toate valorile de rezervor?" + "value" : "O intrare manuală de glicemie trebuie să fie între %1$@ și %2$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Подтвердите удаление всех записей резервуара?" + "value" : "Ручной ввод глюкозы должен находиться между %1$@ и %2$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Säkert att du vill radera alla reservoarvärden?" + "value" : "Det manuellt inmatade blodsockervärdet måste vara mellan %1$@ och %2$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Tüm rezervuar değerlerini silmek istediğinizden emin misiniz?" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bạn có chắc muốn xóa hết mọi giá trị của ngăn chứa insulin?" + "value" : "Manuel KŞ girişi %1$@ ile %2$@ arasında olmalıdır" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "是否确定删除全部储液量记录?" + "value" : "请输入 %@ 到 %@ 之间的血糖值" } } } }, - "Are you sure you want to delete all your %@ Data?\n(This action is not reversible)" : { - "comment" : "Confirmation before you delete all your Simulated Test Devices data", + "A manual glucose entry must be between %1$@ and %2$@." : { + "comment" : "Warning for simple bolus when glucose entry is out of range. (1: upper bound) (2: lower bound)", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Er du sikker på, at du vil slette alle dine %@ data?\n(Denne handling kan ikke fortrydes)" + "value" : "En manuel glukoseindtastning skal være mellem %1$@ og %2$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Möchtest Du wirklich alle %@-Daten löschen?\n(Diese Aktion kann nicht rückgängig gemacht werden)" + "value" : "Der manuelle Blutzucker muss zwischen %1$@ und %2$@ liegen." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "¿Estás seguro de que quieres eliminar todos tus datos de %@ ?\n (Esta acción no es reversible)" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Haluatko varmasti poistaa kaikki %@ tietosi?\n(Tämä toiminto ei ole palautettavissa)" + "value" : "Una entrada de glucosa manual debe estar entre %1$@ y %2$@ ." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Voulez-vous vraiment effacer toutes vos valeurs de %@?\n(Cette action n'est pas réversible)" + "value" : "Une saisie manuelle de la glycémie doit être comprise entre %1$@ et %2$@." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "בטוח שברצונך למחוק את כל מידע %@?\n(פעולה זו בלתי הפיכה)" + "value" : "הזנת גלוקוז ידנית חייבת להיות בין %1$@ ל- %2$@." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Sei sicuro di voler eliminare tutti i tuoi dati %@ ?\n (Questa azione non è reversibile)" + "value" : "Un inserimento manuale della glicemia deve essere compreso tra %1$@ e %2$@." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Er du sikker på at du vil slette alle dine %@ Data?\n(Denne handlingen kan ikke angres)" + "value" : "En manuell BS-registrering må være mellom %1$@ og %2$@ ." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Weet je zeker dat je al je %@-gegevens wilt verwijderen?\n(Deze actie is niet omkeerbaar)" + "value" : "Een handmatige glucose-invoer moet tussen %1$@ en %2$@ liggen." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Czy na pewno chcesz usunąć wszystkie swoje dane %@ ?\n (Ta czynność jest nieodwracalna)" + "value" : "Ręczny wpis poziomu glukozy musi mieścić się w przedziale od %1$@ do %2$@ ." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Sunteți sigur că vreți să ștergeți toate datele %@.\n(Această acțiune nu este reversibilă)" + "value" : "O intrare manuală de glicemie trebuie să fie între %1$@ și %2$@ ." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Вы уверены, что хотите удалить все свои данные %@ ?\n (Это действие необратимо)" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Vill du ta bort alla dina %@data?\n(Denna åtgärd är inte reversibel)" + "value" : "Ручной ввод глюкозы должен находиться между %1$@ и %2$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Tüm %@ Verilerinizi silmek istediğinizden emin misiniz?\n (Bu eylem geri alınamaz)" + "value" : "Manuel KŞ girişi %1$@ ile %2$@ arasında olmalıdır." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "确定要删除所有 %@ 数据吗?(此操作无法恢复)" + "value" : "请输入 %1$@ 到 %2$@ 之间的血糖值" } } } }, - "Are you sure you want to delete all your testing Data?\n(This action is not reversible)" : { - "comment" : "The message displayed in an alert that lets the user delete all their testing data.", - "isCommentAutoGenerated" : true - }, - "Are you sure you want to delete this CGM?" : { - "comment" : "Confirmation message for deleting a CGM", + "A model based on the published absorption of Fiasp insulin." : { + "comment" : "Subtitle of Fiasp preset", + "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "هل أنت متأكد أنك تريد حذف هذا CGM؟" + "value" : "نموذج يستند على امتصاص أنسولين Fiasp." } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Er du sikker på, at du vil slette denne CGM?" + "value" : "En model baseret på publiceret data om absorption af Fiasp insulin." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bist Du sicher, dass Du dieses CGM löschen möchtest?" + "value" : "Ein Modell basierend auf der veröffentlichten Resorption von Fiasp-Insulin." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "A model based on the published absorption of Fiasp insulin." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "¿Está seguro de que quiere eliminar este MCG?" + "value" : "Un modelo basado en la publicación de la absorción de insulina Fiasp." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Haluatko varmasti poistaa CGM:n?" + "value" : "Perustuu Fiasp-insuliinin julkaistuun imeytymismalliin." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Voulez-vous vraiment supprimer ce CGM?" + "value" : "Un modèle basé sur l’absorption de l’insuline FIASP (telle que publiée)." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "בטוח שברצונך למחוק את חיישן זה?" + "value" : "A model based on the published absorption of Fiasp insulin." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Sei sicuro di voler eliminare questo CGM?" + "value" : "Un modello basato sull'assorbimento pubblicato dell'insulina Fiasp." } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "このCGMを削除しますか?" + "value" : "Fiaspインスリンの公表吸収率に基づいたモデル。" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Er du sikker på at du vil slette denne CGM?" + "value" : "En modell basert på publisert absorpsjon av Fiasp-insulin." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Weet je zeker dat je deze CGM wilt verwijderen" + "value" : "Een model gebaseerd op de gepubliceerde opname van Fiasp insuline." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Czy na pewno chcesz usunąć ten CGM?" + "value" : "Model oparty na opublikowanej absorpcji insulin Fiasp." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Você está certo que quer remover este CGM?" + "value" : "Um modelo baseado na absorção publicada da insulina Fiasp." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Sunteți sigur că vreți să ștergeți acest senzor de glicemie?" + "value" : "Un model bazat pe absorbția declarată a insulinei Fiasp." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Вы уверены, что хотите удалить этот CGM?" + "value" : "Модель, основанная на опубликованных данных усвоения FIASP инсулина." } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Naozaj chcete odstrániť toto CGM?" + "value" : "Model založený na publikovanej absorpcii inzulínu Fiasp." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Är du säker på att du vill radera denna CGM?" + "value" : "Insulinmodell baserad på publicerade studier av absorption av Fiasp-insulin." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bu CGM'i silmek istediğinizden emin misiniz?" + "value" : "Fiasp insülininin yayınlanmış emilimine dayanan bir model." } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Bạn có chắc sẽ xóa CGM này?" + "value" : "Mô hình dựa trên sự hấp thụ được công bố đối với insulin Fiasp." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "确定要删除该CGM数据源?" + "value" : "基于公布的Fiasp胰岛素吸收的模型" } } } }, - "Are you sure you want to delete this food?" : { + "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." : { + "comment" : "Subtitle of Rapid-Acting – Adult preset", + "extractionState" : "manual", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "نموذج يستند على امتصاص أنسولين Humalog و Novolog و Apidra لدى البالغين." + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Er du sikker på, at du vil slette denne mad?" + "value" : "En model baseret på publiceret data om absorption Humalog, Novolog, og Apidra insulin hos voksne." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bist Du sicher, dass Du diesen Favoriten löschen möchtest?" + "value" : "Ein Modell auf der Grundlage der veröffentlichten Resorption von Humalog, Novolog und Apidra Insulin bei Erwachsenen." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Un modelo basado en la publicación de la absorción de insulina Humalog, Novolog y Apidra en adultos." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perustuu Humalog-, Novorapid- ja Apidra-insuliinien julkaistuun imeytymismalliin aikuisilla." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Êtes-vous sûr de vouloir supprimer cet aliment ?" + "value" : "Un modèle basé sur les absorptions de l’Humalog, Novolog (Novorapid), et Apidra chez l’adulte (telles que publiées)." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Sei sicuro di voler eliminare questo cibo?" + "value" : "Un modello basato sull'assorbimento pubblicato dell'insulina Humalog, Novolog e Apidra negli adulti." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "大人使用時の Humalog、Novolog、Apidraインスリンの公表吸収率に基づいたモデル。" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Er du sikker på at du vil slette denne maten?" + "value" : "En modell basert på publisert absorpsjon av Humalog, Novolog og Apidra insulin hos voksne." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Weet je zeker dat je dit voedingsmiddel wilt verwijderen?" + "value" : "Een model gebaseerd op de gepubliceerde absorptie van Humalog-, Novolog- en Apidra-insuline bij volwassenen." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Czy na pewno chcesz usunąć to jedzenie?" + "value" : "Model oparty na opublikowanej absorpcji insulin Humalog, Novolog/Novorapid i Apidra u dorosłych." } }, - "ro" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Sunteți sigur că vreți să ștergeți acest aliment?" + "value" : "Um modelo baseado na absorção publicada das insulinas Humalog, Novolog e Apidra em adultos." } }, - "zh-Hans" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "你确定要删除该食物吗?" + "value" : "Un model bazat pe absorbția declarată a insulinei Humalog, Novolog și Apidra la adulți." } - } - } - }, - "Are you sure you want to delete this service?" : { - "comment" : "Confirmation message for deleting a service", - "extractionState" : "manual", - "localizations" : { - "cs" : { + }, + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Opravdu chcete tuto službu smazat?" + "value" : "Модель, основанная на опубликованных данных усвоения Humalog, Novolog и Apidra у взрослых." } }, - "da" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Er du sikker på, du vil slette denne service?" + "value" : "Model založený na publikovanej absorpcii inzulínu Humalog, Novolog a Apidra u dospelých." } }, - "de" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Bist Du sicher, dass Du diesen Dienst löschen möchtest?" + "value" : "Insulinmodell baserad på publicerade studier av absorption av Humalog-, Novolog- samt Apidra-insulin hos vuxna." } }, - "es" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "¿Está seguro de que desea eliminar este servicio?" + "value" : "Yetişkinlerde yayınlanmış Humalog, Novolog ve Apidra insülin emilimine dayalı bir model." } }, - "fi" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Haluatko varmasti poistaa tämän palvelun?" + "value" : "Mô hình dựa trên sự hấp thụ được công bố của các loại insulin Humalog, Novolog và Apidra ở người lớn." } }, - "fr" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Voulez-vous vraiment supprimer ce service?" + "value" : "基于已发表的成人使用优泌乐、诺和锐和爱倍达胰岛素吸收数据的模型。" + } + } + } + }, + "A new version of %@ is available and is recommended to continue using the app." : { + "comment" : "Software update available section footer (1: app name)", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "En ny version af %@ er tilgængelig og anbefales for at fortsætte med at bruge appen." } }, - "he" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "בטוח שברצונך למחוק את שירות זה?" + "value" : "Eine neue Version von %@ ist verfügbar und es wird empfohlen, die App weiterhin zu verwenden." } }, - "it" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Sei sicuro di voler eliminare questo servizio?" + "value" : "Hay una nueva versión de %@ disponible y se recomienda continuar usando la aplicación." } }, - "nb" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Er du sikker på at du vil slette denne tjenesten?" + "value" : "Une nouvelle version de %@ est disponible et est recommandée pour continuer à utiliser l'application." } }, - "nl" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Weet je zeker dat je deze service wil verwijderen?" + "value" : "È disponibile una nuova versione di %@ e si consiglia di continuare a utilizzare l'app." } }, - "pl" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Czy na pewno chcesz usunąć tę usługę?" + "value" : "En ny versjon av %@ er tilgjengelig og anbefales for å fortsette å bruke appen." } }, - "ro" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Sunteți sigur că vreți să ștergeți acest serviciu?" + "value" : "Er is een nieuwe versie van %@ beschikbaar die aanbevolen wordt om de app te kunnen blijven gebruiken." } }, - "ru" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Вы уверены, что хотите удалить этот сервис?" + "value" : "Dostępna jest nowa wersja %@, która jest zalecana do dalszego korzystania z aplikacji." } }, - "sk" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Naozaj chcete odstrániť túto službu?" + "value" : "O nouă versiune de %@ este disponibilă și se recomandă să continuați să utilizați aplicația." } }, - "sv" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Vill du ta bort den här tjänsten?" + "value" : "Новая версия %@ доступна и рекомендуется для продолжения использования приложения." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bu servisi silmek istediğinizden emin misiniz?" + "value" : "%@ 'ın yeni bir sürümü mevcut ve uygulamayı kullanmaya devam etmeniz önerilir." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "您确定要删除此服务吗?" + "value" : "%@ 已推出新版本,建议您继续使用该应用。" } } } }, - "Are you sure you want to turn automation OFF?" : { - "comment" : "Closed loop alert title" - }, - "Arm test alert" : { - "comment" : "A button that arms a test alert for a glucose level below the normal range.", - "isCommentAutoGenerated" : true - }, - "Arming substitutes a below-threshold value in place of the next real CGM reading, so the alert fires from whatever app state Loop is in at that moment." : { - "comment" : "A footer text in the \"Arm test alert\" button's section, explaining how it works.", - "isCommentAutoGenerated" : true - }, - "ask yourself, am I more likely to go high or low during this event?" : { - - }, - "at %@" : { - "comment" : "Format fragment for a specific time", + "A new version of %@ is available." : { + "comment" : "Required software update section footer (1: app name)", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "في %@" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "at %@" + "value" : "En ny version af %@ er tilgængelig." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "um %@" + "value" : "Eine neue Version von %@ ist verfügbar." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "en %@" + "value" : "Hay una nueva versión de %@ disponible." } }, - "fi" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "klo %@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "à %@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "ב-%@" + "value" : "Une nouvelle version de %@ est disponible." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "a %@" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "%@ 時点" + "value" : "È disponibile una nuova versione di %@." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "kl %@" + "value" : "En ny versjon av %@ er tilgjengelig." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "om %@" + "value" : "Er is een nieuwe versie van %@ beschikbaar." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "o %@" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "em %@" + "value" : "Dostępna jest nowa wersja %@ ." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "la %@" + "value" : "Este disponibilă o nouă versiune de %@ ." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "В %@" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "o %@" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "kl. %@" + "value" : "Доступна новая версия %@ ." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%@" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "lúc %@" + "value" : "Yeni bir %@ sürümü mevcuttur." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%@分钟内" + "value" : "%@有新版本可用。" } } } }, - "at %1$@" : { - "comment" : "when adding a timestamp. (1: the formatted timestamp)\nwhen adding the date and time. (1: the formatted date and time)" + "A percentage **above 100%** tells the system you need **more** insulin" : { + }, - "At 100%%, %@ assumes your insulin needs are the same as usual." : { + "A percentage **below 100%** tells the system you need **less** insulin" : { }, - "Authenticate to Bolus %@ Units" : { - "comment" : "The message displayed during a device authentication prompt for bolus specification", + "A preset with %@ overall insulin is on. The system is currently delivering less than your preset baseline." : { + + }, + "A preset with %@ overall insulin is on. The system is currently delivering more than your preset baseline." : { + + }, + "A preset with %@ overall insulin is on. This is your new preset baseline and it overrides your Scheduled Basal." : { + + }, + "A pump must be configured before a bolus can be delivered." : { + "comment" : "Alert message for a missing pump error", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "المصادة على ضخ %@ وحدات" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Godkend bolus af %@ Enheder" + "value" : "En pumpe skal være konfigureret, før en bolus kan leveres." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bolusabgabe von %@ IE bestätigen" + "value" : "Eine Pumpe muss konfiguriert werden, bevor ein Bolus abgegeben werden kann." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Autenticar para Bolo %@ Unidades" + "value" : "Una microinfusadora debe ser configurada antes de que un bolo pueda ser entregado." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Vahvista bolus %@ yksikköä" + "value" : "Pumppu on määritettävä, ennen kuin bolus voidaan annostella." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Authentifiez-vous pour faire un bolus de %@ Unités" + "value" : "Une pompe doit être configurée avant qu'un bolus puisse être administré." } }, - "he" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Authenticate to Bolus %@ Units" + "value" : "Prima di poter erogare un bolo, è necessario configurare una pompa." } }, - "it" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Esegui l'autenticazione per il bolo di %@ Unità" + "value" : "En pumpe må konfigureres før en bolus kan tilføres." } }, - "ja" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "ボーラス %@単位 認証してください" + "value" : "Een pomp moet worden geconfigureerd voordat een bolus kan worden toegediend." } }, - "nb" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Autentiserer for å gi %@ Enheter i Bolus" + "value" : "Przed podaniem bolusa należy skonfigurować pompę." } }, - "nl" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Authenticeer om %@ E te bolussen" + "value" : "O pompă trebuie configurată înainte ca un bolus să poată fi administrat." } }, - "pl" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Autoryzacja Bolusa %@ jednostek" + "value" : "Перед введением болюса необходимо настроить помпу." } }, - "pt-BR" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Autentique para Bolus de %@ Unidades" + "value" : "En pump måste ha lagts till och konfigurerats innan en bolus ge ges." } }, - "ro" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Autentificare pentru bolusare %@ unități" + "value" : "Bolus iletilmeden önce bir pompanın yapılandırılması gerek." } }, - "ru" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Подтверждение болюса %@ ед" + "value" : "在注射大剂量前,必须先配置胰岛素泵。" + } + } + } + }, + "Above range (>180): %d%% · goal <25%%" : { + "comment" : "TIR above-range summary" + }, + "Absorption Time" : { + "comment" : "Label for food absorption entry on add favorite food screen", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Resorptionsdauer" } }, - "sk" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Potvrdiť pre Bolus %@ Jednotky" + "value" : "Temps d'absorption" } }, - "sv" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Godkänn bolus på %@ enheter" + "value" : "זמן ספיגה" } }, - "tr" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus için kimlik doğrula %@ Ünite" + "value" : "Absorpsjonstid" } }, - "vi" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Xác thực liều Bolus %@ Units" + "value" : "Opnametijd" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Timp de absorbție" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "解锁以输注大剂量 %@ 单位" + "value" : "吸收时间" } } } }, - "Authenticate to log %@ Units" : { - "comment" : "The message displayed during a device authentication prompt to log an insulin dose", + "AcceptRecommendedBolus" : { + "comment" : "Action to copy the recommended Bolus value to the actual Bolus Field", + "extractionState" : "manual", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "استخدم قيمة الجرعة الموصى بها" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Godkend for at logge %@ enheder" + "value" : "AccepterAnbefaletBolus" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Authentifiziere Dich, um %@ Einheiten zu protokollieren." + "value" : "Akzeptiere empfohlenen Bolus" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "AcceptRecommendedBolus" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Autenticarse para registrar %@ Unidades" + "value" : "AceptarBoloRecomendado" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Vahvista kirjaus %@ yksikköä" + "value" : "HyväksySuositeltuBolus" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Authentifier pour enregistrer %@ unités" + "value" : "AcceptRecommendedBolus" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "AcceptRecommendedBolus" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Esegui l'autenticazione per registrare %@ Unità" + "value" : "AcceptRecommendedBolus" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "推奨ボーラス値を使う" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Autentiser for å logge %@ Enheter" + "value" : "AksepterAnbefaltBolus" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Authenticeer om %@ eenheden te registreren" + "value" : "AccepteerVoorgesteldeBolus" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Autoryzuj, aby podać %@ Jednostki" + "value" : "AcceptRecommendedBolus" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "AceitarBolusRecomendado" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Autentificare pentru a înregistra %@ unități" + "value" : "AcceptațiBolusRecomandat" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Пройдите аутентификацию для подтверждения болюса %@ Единиц" + "value" : "Принятьрекомендуемыйболюс" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Akceptovať Odporúčaný Bolus" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Godkänn att logga %@ enheter" + "value" : "AcceptRecommendedBolus" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%@ Ünite günlüğe kaydetmek için kimlik doğrulaması yapın" + "value" : "ÖnerilenBolusuKabulEt" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "AcceptRecommendedBolus" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "请验证身份以记录 %@U 胰岛素" + "value" : "接受推荐的大剂量输注" } } } }, - "Automated" : { - - }, - "Automated (↑ Increase)" : { - - }, - "Automated (↓ Decrease)" : { - - }, - "Automated (Preset Basal Rate)" : { - - }, - "Automated (Scheduled)" : { - - }, - "Automated insulin adjustments by %@ reduce a noticeable rise in glucose" : { - - }, - "Automation" : { - - }, - "Automation is off" : { - "comment" : "title for when automation is off" - }, - "Automation is on" : { - "comment" : "title for when automation is on" - }, - "Automation is unavailable" : { - "comment" : "title for when automation is unavailable" - }, - "Automation is unavailable while a manual temporary basal is in progress.\n\nCancel the manual temporary basal if you wish for the app to automate insulin delivery." : { - "comment" : "message when automation is on and a manual temp basal is in progress" - }, - "Automation is unavailable while your CGM sensor is warming up.\n\nIn the meantime, your pump is still able to deliver insulin.\n\nAutomation will resume when CGM readings are received." : { - "comment" : "message when automation is on and CGM is in warmup" - }, - "Automation is unavailable while your insulin is suspended.\n\nResume insulin if you wish for the app to automate insulin delivery." : { - "comment" : "message when automation is on and insulin delivery is suspended" - }, - "Automation OFF" : { - - }, - "Automation ON" : { - - }, - "Automation unavailable" : { - - }, - "Automation was unsuccessful" : { - "comment" : "title for when automation was unsuccessful" - }, - "Average" : { - "comment" : "Average glucose metric title" - }, - "Average Glucose" : { - - }, - "Basal Rate" : { - - }, - "Basal Rate Schedule" : { - "comment" : "Details for configuration error when basal rate schedule is missing", + "Active Carbohydrates" : { + "comment" : "The title of the Carbs On-Board graph", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "جدول الضخ المستمر" + "value" : "الكربوهيدرات النشطة" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Basalrateskema" + "value" : "Aktive kulhydrater" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Basalraten-Plan" + "value" : "Aktive Kohlenhydrate" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Perfil Basal" + "value" : "Carbohidratos Activos" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Basaaliohjelma" + "value" : "Aktiivinen hiilihydraatti" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Programme débit basal" + "value" : "Glucides actifs" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Basal Rate Schedule" + "value" : "פחמימות פעילות" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Tabella di velocità basale" + "value" : "Carboidrati attivi" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "基礎レートスケジュール" + "value" : "残存糖質" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Tidsplan for basaldoser" + "value" : "Aktive karbohydrater" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Basaalstandenschema" + "value" : "Actieve koolhydraten" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Harmonogram dawki standardowej" + "value" : "Aktywne węglowodany" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Programação da Taxa Basal" + "value" : "Carboidratos Ativos" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Orar rate bazale" + "value" : "Carbohidrați activi" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Скорости базала" + "value" : "Действующие углеводы" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Harmonogram bazálnej dávky" + "value" : "Aktívne sacharidy" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Basaldosschema" + "value" : "Aktiva kolhydrater" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bazal Oran Çizelgesi" + "value" : "Aktif Karbonhidrat" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Lịch biểu tiêm liều basal" + "value" : "Lượng Carbohydrates còn hoạt động" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "基础率表" + "value" : "活性碳水" } } } }, - "Basal Rates" : { - "comment" : "The title of the basal rate profile screen\n The title text for the basal rate schedule", + "Active Carbohydrates: %@" : { + "comment" : "The string format describing active carbohydrates. (1: localized glucose value description)", "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "الضخ المستمر" - } - }, - "cs" : { - "stringUnit" : { - "state" : "translated", - "value" : "Úrovně bazálu" + "value" : "الكربوهيدرات النشطة: %@" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Basalrater" + "value" : "Aktive kulhydrater: %@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Basalrate" + "value" : "Aktive Kohlenhydrate: %@" } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "Basal Rates" + "value" : "Active Carbohydrates: %@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Tasas basales" + "value" : "Carbohidratos Activos: %@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Basaalitasot" + "value" : "Aktiivinen hiilihydraatti: %@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Débits basaux" + "value" : "Glucides actifs: %@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Basal Rates" + "value" : "פחמימות פעילות: %@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Velocità basali" + "value" : "Carboidrati attivi: %@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "基礎レート" + "value" : "残存糖質: %@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Basal-satser" + "value" : "Aktive karbohydrater: %@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Basaalstanden" + "value" : "Actieve koolhydraten: %@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Dawka Podstawowa (Baza)" + "value" : "Aktywne węglowodany: %@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Taxas Basais" + "value" : "Carboidratos Ativos: %@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Rate bazale" + "value" : "Carbohidrați activi: %@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Скорости базала" + "value" : "Действующие углеводы: %@" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Bazálne dávky" + "value" : "Aktívne sacharidy: %@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Basaldoser" + "value" : "Aktiva kolhydrater: %@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bazal Oranlar" + "value" : "Aktif Karbonhidrat: %@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Lịch biểu tiêm liều nền" + "value" : "Lượng Carbohydrates còn hoạt động: %@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "基础率" + "value" : "活性碳水化合物: %@" } } } }, - "Basal: " : { - - }, - "Based on your predicted glucose, no bolus is recommended." : { - "comment" : "Caption for bolus screen notice when no bolus is recommended for the predicted glucose", + "Active Carbs" : { + "comment" : "Title describing quantity of still-absorbing carbohydrates", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "كارب النشط" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Baseret på din forventede glukose anbefales ingen bolus." + "value" : "Aktive kulhydrater" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Basierend auf Deinem vorhergesagten Blutzucker wird kein Bolus empfohlen." + "value" : "Aktive KH" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Basándose en su glucosa proyectada, no se recomienda ningún bolo." + "value" : "Carbohidratos Activos" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Akt. hiilari" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Sur la base de votre glycémie prévue, aucun bolus n’est recommandé." + "value" : "Glucides actifs" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "בהתבסס על הגלוקוז החזוי שלך, לא מומלץ שום בולוס." + "value" : "פחמימות פעילות" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "In base alla glicemia prevista, non è consigliato alcun bolo." + "value" : "Carboidrati attivi" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "残存糖質" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Basert på ditt forventede blodsukker, anbefales ingen bolus." + "value" : "Aktive karbohydrater" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Op basis van je voorspelde glucose, wordt een bolus niet aanbevolen." + "value" : "Actieve koolhydraten" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Na podstawie przewidywanej glikemii nie zaleca się podawania bolusa." + "value" : "Aktywne węglowodany" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carboidratos Ativos" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Pe baza glicemiei prognozate, nu se recomandă niciun bolus." + "value" : "Carbohidrați activi" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Основываясь на вашей прогнозируемой глюкозе, болюс не рекомендуется." + "value" : "Активные углеводы" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktívne sacharidy" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktiva kolhydrater" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Tahmini KŞ'ne bağlı olarak bolus önerilmez." + "value" : "Aktif Karb." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lượng Carbs còn hoạt động" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "根据您的预测血糖值,当前不建议注射大剂量。" + "value" : "活性碳水" } } } }, - "Because Omar has gone low while working outdoors in the past, he raises his preset correction range to help prevent another low." : { - - }, - "Before" : { - - }, - "Below range (<70): %d%% · goal <4%%" : { - "comment" : "TIR below-range summary" - }, - "Bluetooth\nOff" : { - "comment" : "Message to the user to that the bluetooth is off", + "Active Insulin" : { + "comment" : "Details for missing data error when active insulin amount is missing\nThe title of the Insulin On-Board graph\nTitle describing quantity of still-absorbing insulin", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "أنسولين نشط" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth slået fra" + "value" : "Aktivt insulin" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth aus" + "value" : "Aktives Insulin" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth\nApagado" + "value" : "Insulina activa" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth ei ole käytössä" + "value" : "Akt. insuliini" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth désactivé" + "value" : "Insuline active" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "בלוטות׳ כבוי" + "value" : "אינסולין פעיל" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth\nDisattivato" + "value" : "Insulina attiva" } }, - "nb" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Blåtann\nAv" + "value" : "残存インスリン" } }, - "nl" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth\nUit" + "value" : "Aktivt insulin" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actieve insuline" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth jest wyłączony" + "value" : "Aktywna insulina" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina Ativa" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth \nOprit" + "value" : "Insulină activă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth\n Выключен" + "value" : "Активный инсулин" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktívny inzulín" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth Av" + "value" : "Aktivt insulin" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth\nKapalı" + "value" : "Aktif İnsülin" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lượng Insulin còn hoạt động" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "蓝牙已关闭" + "value" : "活性胰岛素" } } } }, - "Bluetooth\nUnavailable" : { - "comment" : "Message to the user that bluetooth is unavailable to the app", + "Active Insulin: %@" : { + "comment" : "The string format describing active insulin. (1: localized insulin value description)", + "extractionState" : "manual", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الأنسولين النشط: %@" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth ikke tilgængelig" + "value" : "Aktiv insulin: %@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth nicht verfügbar" + "value" : "Aktives Insulin: %@" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Active Insulin: %@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth \nNo Disponible" + "value" : "Insulina Activa: %@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth ei ole käytettävissä" + "value" : "Aktiivinen insuliini: %@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth\nIndisponible" + "value" : "Insuline active: %@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "בלוטות׳ לא זמין" + "value" : "אינסולין פעיל: %@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth\nNon disponibile" + "value" : "Insulina attiva: %@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "残存インスリン: %@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Blåtann\nUtilgjengelig" + "value" : "Aktivt insulin: %@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth\nniet beschikbaar" + "value" : "Actieve insuline: %@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth niedostępny" + "value" : "Aktywna Insulina: %@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina Ativa: %@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth \nIndisponibil" + "value" : "Insulină activă: %@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth\n Недоступен" + "value" : "Действующий инсулин: %@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktívny inzulín: %@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth är inte tillgängligt" + "value" : "Aktivt insulin: %@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth\nKullanılamıyor" + "value" : "Aktif İnsülin: %@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lượng Insulin còn hoạt động: %@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "蓝牙不可用" + "value" : "活性胰岛素: %@" } } } }, - "Bluetooth Off Alert" : { - "comment" : "Bluetooth off alert title", + "Add a new favorite food" : { + "comment" : "Button label to open new favorite food view", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Advarsel om Bluetooth slået fra" + "value" : "Tilføj en ny favoritmad" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth-Aus Warnung" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Alerta de Bluetooth apagado" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bluetooth ei ole käytössä -hälytys" + "value" : "Füge ein neues Lieblingsessen hinzu" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth désactivé" + "value" : "Ajouter un nouveau plat préféré" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "התראת בלוטות׳ כבוי" + "value" : "הוסף מאכל אהוב חדש" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Avviso Bluetooth disattivato" + "value" : "Aggiungi un nuovo cibo preferito" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth Avslått-varsel" + "value" : "Legg til en ny favorittmat" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth uit melding" + "value" : "Voeg een nieuw favoriet eten toe" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Alert! Bluetooth jest wyłączony!" + "value" : "Dodaj nowe ulubione jedzenie" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Alertă Bluetooth dezactivat" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Оповещение об отключении Bluetooth" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Varning Bluetooth är Av" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bluetooth Kapalı Uyarısı" + "value" : "Adăugați o nouă mâncare preferată" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "蓝牙关闭提醒" + "value" : "添加常用食物" } } } }, - "Bluetooth Unavailable Alert" : { - "comment" : "Bluetooth unavailable alert title", + "Add Alert Profile" : { + "comment" : "The text of a button that allows a user to add a new alert profile.", + "isCommentAutoGenerated" : true + }, + "Add Carb Entry" : { + "comment" : "Title of the user activity for adding carbs", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add Carb Entry" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth er ikke tilgængelig" + "value" : "Tilføj kulhydrater" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth nicht Verfügbar-Warnung" + "value" : "KH hinzufügen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Alerta de Bluetooth no disponible" + "value" : "Agregar Entrada de Carb" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth ei ole käytettävissä -hälytys" + "value" : "Lisää hiilihydraatteja" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth indisponible" + "value" : "Ajouter des glucides" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "התראת בלוטות׳ לא זמין" + "value" : "הוספת פחמימות" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Avviso Bluetooth non disponibile" + "value" : "Aggiungi inserimento carboidrati" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "糖質の記入を追加" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Varsel om at Bluetooth er utilgjengelig" + "value" : "Legg til karbohydrater" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth niet beschikbaar melding" + "value" : "Kh. Inv. Toevoegen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Alarm! Bluetooth niedostępny" + "value" : "Wprowadź węglowodany" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Adicionar Carb" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Alertă Bluetooth indisponibil" + "value" : "Adăugați carbohidrați" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Оповещение о недоступности Bluetooth" + "value" : "Добавить запись углеводов" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zadať sacharidy" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Varning Bluetooth är inte tillgänglig" + "value" : "Lägg till kolhydrater" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth Kullanılamıyor Uyarısı" + "value" : "Karb Girişi Ekle" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khai báo Carb" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "蓝牙不可用提示" + "value" : "添加碳水摄入" } } } }, - "Bolus" : { - "comment" : "Label for bolus entry row on bolus screen\nLabel for bolus entry row on simple bolus screen\nTitle for bolus entry screen", + "Add CGM" : { + "comment" : "The title of the CGM chooser in settings\nTitle text for button to add CGM device\nTitle text for button to set up a CGM", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus" + "value" : "إضافة CGM" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus" + "value" : "Tilføj CGM" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus" + "value" : "CGM hinzufügen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Bolo" + "value" : "Agregar MCG" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus" + "value" : "Lisää CGM" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus" + "value" : "Ajouter un CGM" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus" + "value" : "הוסף חיישן" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Bolo" + "value" : "Aggiungi CGM" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "ボーラス" + "value" : "CGMを追加" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus" + "value" : "Legg til CGM" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus" + "value" : "Voeg CGM toe" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus" + "value" : "Dodaj CGM" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus" + "value" : "Adicionar CGM" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus" + "value" : "Adăugați senzor de glicemie" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Болюс" + "value" : "Добавить CGM" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus" + "value" : "Pridať CGM" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus" + "value" : "Lägg till CGM" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus" + "value" : "CGM Ekle" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus" + "value" : "Khai báo CGM" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "大剂量" + "value" : "添加CGM" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Přidat CGM" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM hozzáadása" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Додати CGM" } } } }, - "Bolus Canceled: Delivered %1$@ of %2$@" : { - "comment" : "The title of the cell indicating a bolus has been canceled. (1: delivered volume)(2: total volume)" - }, - "Bolus Issue" : { - "comment" : "The notification title for a bolus issue", + "Add item to bottom row" : { + "comment" : "Title for Add item", + "extractionState" : "stale", "localizations" : { - "da" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bolusproblem" + "value" : "Wert zur unteren Zeile hinzufügen" } }, - "de" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus Problem" + "value" : "Ajouter un élément à la ligne inférieure" } }, - "es" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Problema con el bolo" + "value" : "Tilføy element til bunnraden" } }, - "fr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Problème avec le bolus" + "value" : "Item toevoegen aan onderste rij" } }, - "it" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Problema con il bolo" + "value" : "Adăugați elementul pe rândul de jos" } }, - "nb" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus feil" + "value" : "将项目添加到底行" } - }, - "nl" : { + } + } + }, + "Add item to Lock Screen / CarPlay display" : { + "comment" : "Title for Add item", + "localizations" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bolusprobleem" + "value" : "Element zum Sperrbildschirm / CarPlay-Display hinzufügen" } }, - "pl" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Problem z bolusem" + "value" : "Ajouter un élément à l'écran de verrouillage / CarPlay" } }, - "ro" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Problemă bolus" + "value" : "Tilføy en enhet til låseskjermen / CarPlay skjermen" } }, - "ru" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Проблема с подачей болюса" + "value" : "Item toevoegen aan toegangsscherm / CarPlay" } }, - "tr" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus Sorunu" + "value" : "Adăugați element la ecranul de blocare / afișajul CarPlay" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "大剂量出现问题" + "value" : "向锁屏 / CarPlay显示 添加项" } } } }, - "Bolus Recommendation Updated" : { - "comment" : "Alert title for an updated bolus recommendation", + "Add Meal" : { + "comment" : "The label of the carb entry button", + "extractionState" : "stale", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إضافة وجبة" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Bolusanbefaling opdateret" + "value" : "Tilføj måltid" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Aktualisierte Bolusempfehlung" + "value" : "Mahlzeit hinzufügen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Recomendación de bolo fue actualicada" + "value" : "Agregar Alimento" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Bolussuositus päivitetty" + "value" : "Lisää ateria" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Recommandation de Bolus modifiée" + "value" : "Entrer un repas" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "המלצת בולוס התעדכנה" + "value" : "הוסף ארוחה" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Raccomandazioni sul bolo aggiornate" + "value" : "Aggiungi pasto" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "食事を追加" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus anbefaling er oppdatert" + "value" : "Legg til måltid" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Aanbevolen bolus bijgewerkt" + "value" : "Voeg maaltijd toe" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Zaktualizowano rekomendowanego bolusa" + "value" : "Dodaj posiłek" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Adicionar Refeição" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Actualizare Recomandare bolus" + "value" : "Adăugați masă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Рекомендации по болюсу обновлены" + "value" : "Добавить еду" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zadať jedlo" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Det finns en ny bolusrekommendation" + "value" : "Lägg till måltid" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus Önerisi Güncellendi" + "value" : "Öğün ekle" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khai báo bữa ăn" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "大剂量推荐值已更新" + "value" : "添加用餐信息" } } } }, - "Bolus Summary" : { - "comment" : "Title for card displaying carb entry and bolus recommendation", + "Add predictive line" : { + "comment" : "Title for predictive line toggle", + "extractionState" : "stale", "localizations" : { - "da" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus-resumé" + "value" : "Prognostizierten BZ-Verlauf hinzufügen" } }, - "de" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus Zusammenfassung" + "value" : "Ajouter une ligne prédictive" } }, - "es" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Resumen del bolo" + "value" : "Tilføy forutsigende linje" } }, - "fi" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Bolusyhteenveto" + "value" : "Voorspellingslijn toevoegen" } }, - "fr" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Résumé du bolus" + "value" : "Adăugați linie predictivă" } }, - "he" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "סיכום" + "value" : "添加预测线" } - }, - "it" : { + } + } + }, + "Add Pump" : { + "comment" : "The title of the pump chooser in settings\nTitle text for button to add pump device\nTitle text for button to set up a Pump", + "localizations" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Riepilogo bolo" + "value" : "إضافة مضخة" } }, - "nb" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus oppsummering" + "value" : "Tilføj pumpe" } }, - "nl" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bolussamenvatting" + "value" : "Pumpe hinzufügen" } }, - "pl" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Podsumowanie bolusa" + "value" : "Agregar Microinfusora" } }, - "ro" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Rezumat Bolus" + "value" : "Lisää pumppu" } }, - "ru" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Суммарный болюс" + "value" : "Ajouter une pompe" } }, - "sv" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus sammanfattning" + "value" : "הוסף משאבה" } }, - "tr" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus Özeti" + "value" : "Aggiungi pompa" } }, - "zh-Hans" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "大剂量概要" + "value" : "ポンプを追加" } - } - } - }, - "Bolus Too Small" : { - "comment" : "Alert title for a bolus too small validation error", - "localizations" : { - "da" : { + }, + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus for lille" + "value" : "Legg til pumpe" } }, - "de" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus zu gering" + "value" : "Voeg pomp toe" } }, - "es" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Bolo demasiado pequeño" + "value" : "Dodaj pompę" } }, - "fr" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus trop petit" + "value" : "Adicionar Bomba" } }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "בולוס קטן מדי" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bolo troppo piccolo" - } - }, - "nb" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus er for liten" + "value" : "Adăugați pompă" } }, - "nl" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus te klein" + "value" : "Добавить помпу" } }, - "pl" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Za mały bolus" + "value" : "Pridať pumpu" } }, - "ro" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus prea mic" + "value" : "Lägg till pump" } }, - "ru" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Болюс слишком маленький" + "value" : "Pompa Ekle" } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus Çok Küçük" + "value" : "Khai báo bơm" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "大剂量太少" + "value" : "添加泵" } } } }, - "Bolus: " : { - - }, - "Bolused %1$@ of %2$@" : { - "comment" : "The format string for bolus progress. (1: delivered volume)(2: total volume)", + "Add Service" : { + "comment" : "The title of the add service button in settings\nThe title of the add service picker in settings", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "تم ضخ %1$@ من %2$@" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@ af %2$@" + "value" : "Tilføj tjeneste" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ von %2$@ verabreicht" + "value" : "Service hinzufügen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Administró bolo %1$@ de %2$@" + "value" : "Add Service" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@ / %2$@" + "value" : "Lisää palvelu" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus délivré %1$@ sur %2$@" + "value" : "Ajouter un service" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הוזרק %1$@ מתוך %2$@" + "value" : "הוסף שרות" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Bolo %1$@ di %2$@" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "%2$@ のうち %1$@ ボーラス済" + "value" : "Aggiungi servizio" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@ av %2$@" + "value" : "Legg til tjeneste" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ van %2$@ gebolust" + "value" : "Service toevoegen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Podano %1$@ z %2$@" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Entregue %1$@ of %2$@" + "value" : "Dodaj usługę" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus administrat %1$@ of %2$@" + "value" : "Adăugați Serviciu" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Подан болюс%1$@ из %2$@" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Podaný bolus %1$@ z %2$@" + "value" : "Добавить сервис" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Givit bolus %1$@ av %2$@" + "value" : "Lägg till tjänst" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "İletilen Bolus %1$@ / %2$@" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Đã thực hiện Bolus %1$@ của %2$@" + "value" : "Servis Ekle" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "大剂量已输注%1$@ of %2$@" + "value" : "添加服务" } } } }, - "Bolusing %1$@" : { - "comment" : "The format string for bolus in progress showing total volume. (1: total volume)", + "Adjust Preset Duration" : { + + }, + "Adjusted for" : { "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "يضخ %1$@" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@" + "value" : "Justeret for" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bolusabgabe %1$@" + "value" : "Angepasst für" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Administrando bolo de %1$@" + "value" : "Ajustado para" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Annetaan bolus %1$@" + "value" : "Mukautettu" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus en cours %1$@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "מזריק בולוס: %1$@" + "value" : "Ajusté(e) pour" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Bolo in corso %1$@" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ ボーラス中" + "value" : "Regolato per" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Gir bolus %1$@" + "value" : "Justert for" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Bolussen %1$@" + "value" : "Aangepast voor" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Podawanie %1$@" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Aplicando %1$@" + "value" : "Dostosowane do" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus în administrare %1$@" + "value" : "Ajustat pentru" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Подается болюс" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bolus sa podáva" + "value" : "Скорректировано на" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Ger bolus %1$@ " + "value" : "Justerad för" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Đang thực hiện bolus %1$@" + "value" : "için düzeltilmiş" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@大剂量注射中" + "value" : "已调整" } } } }, - "Bottom row" : { - "comment" : "Live activity Bottom row configuration title", - "extractionState" : "stale", + "Aerobic" : { + + }, + "Afternoon Exercise" : { + + }, + "Alert Identifier" : { + + }, + "Alert Management" : { + "comment" : "Alert Permissions button text\nTitle of alert management screen", "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Administration af advarsler" + } + }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Untere Zeile" + "value" : "Alarm-Einstellungen" } }, - "fr" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Ligne inférieure" + "value" : "Gestión de Alertas" } }, - "nb" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bunnrad" + "value" : "Gestion des alertes" } }, - "nl" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Onderste rij" + "value" : "ניהול התראות" } }, - "ro" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Rândul de jos" + "value" : "Gestione avvisi" } }, - "zh-Hans" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "底部行" + "value" : "Administrasjon av varsler" } - } - } - }, - "Bottom row configuration" : { - "comment" : "Title for Bottom row configuration", - "extractionState" : "stale", - "localizations" : { - "de" : { + }, + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Konfiguration der unteren Zeile" + "value" : "Meldingbeheer" } }, - "fr" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Configuration de la ligne inférieure" + "value" : "Zarządzanie alertami" } }, - "nb" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Konfigurasjon av bunnraden" + "value" : "Gestionarea alertelor" } }, - "nl" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Onderste rij instellen" + "value" : "Управление оповещениями" } }, - "ro" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Configurația rândului de jos" + "value" : "Uyarı Yönetimi" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "底部行配置" + "value" : "警报管理" } } } }, - "Breathing is slightly uncomfortable. Conversation requires maximal effort." : { - - }, - "Breathing more heavily. Can carry on a conversation, but requires more effort." : { - - }, - "by %@" : { - "comment" : "A label displaying the author of the podcast. The argument is the podcast's author.", - "isCommentAutoGenerated" : true - }, - "Can I use Focus modes with %1$@?" : { - "comment" : "Focus modes section title (1: app name)" - }, - "Cancel" : { - "comment" : "Button label for cancel\nButton text to cancel\nCancel button for reset loop alert\nCancel export button title\nThe title of the cancel action in an action sheet\nThe title of the cancel button in the plugin picker", + "Alert Permissions" : { + "comment" : "Alert Permissions button text\nNotification & Critical Alert Permissions screen title", + "extractionState" : "stale", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "إلغاء" - } - }, - "cs" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zrušit" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Annuller" + "value" : "Alarmtilladelser" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Abbrechen" + "value" : "Benachrichtigungsberechtigungen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Cancelar" + "value" : "Permisos de Alertas" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Kumoa" + "value" : "Hälytysten käyttöoikeudet" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Annuler" + "value" : "Autorisations d'alerte" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "בטל" + "value" : "הרשאות התראה" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Annulla" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "キャンセル" + "value" : "Permessi di avviso" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Avbryt" + "value" : "Varslingsinnstillinger" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Annuleer" + "value" : "Toestemming meldingen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Anuluj" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cancelar" + "value" : "Uprawnienia alertów" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Anulați" + "value" : "Permisiuni pentru alarme" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Отмена" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zrušiť" + "value" : "Разрешение оповещений" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Avbryt" + "value" : "Behörigheter för Varningar" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "İptal" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hủy bỏ" + "value" : "Uyarı İzinleri" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "取消" + "value" : "警报权限" } } } }, - "Cancel the manual temporary basal if you wish for the app to restart automated dosing.\n\nIf you wish for the app to automate your insulin, go to Settings and toggle Closed Loop to on." : { - "comment" : "message when automation is off and a manual temp basal is in progress" - }, - "Canceling Bolus" : { - "comment" : "The title of the cell indicating a bolus is being canceled", + "Alert Permissions and Mute Alerts" : { + "comment" : "Alert Permissions descriptive text", + "extractionState" : "stale", "localizations" : { - "ar" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "إلغاء الجرعة" + "value" : "Advarselstilladelser og dæmpede advarsler" } }, - "da" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Annullerer bolus" + "value" : "Alarmberechtigungen und Stummschalten von Alarmen" } }, - "de" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus abbrechen" + "value" : "Permissions d'alerte et désactivation des alertes auditives" } }, - "es" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Cancelando bolo" + "value" : "הרשאות התראה והשתקת התראות" } }, - "fi" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Kumotaan bolus" + "value" : "Autorizzazioni avvisi e avvisi disattivati" } }, - "fr" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Annulation du Bolus en cours" + "value" : "Varselstillatelser og demp varsler" } }, - "he" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "מבטל בולוס" + "value" : "Toestemming voor waarschuwingen en dempen" } }, - "it" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Annullamento bolo in corso" + "value" : "Uprawnienia do alertów i wyciszanie alertów" } }, - "ja" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "ボーラスをキャンセルします" + "value" : "Permisiuni de alertă și alerte silențioase" } }, - "nb" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Avbryter bolus" + "value" : "Разрешения на оповещения и отключение звука оповещений" } }, - "nl" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus annuleren" + "value" : "警报权限与静音设置" + } + } + } + }, + "Alert Profiles" : { + "comment" : "A header label for the list of alert profiles.", + "isCommentAutoGenerated" : true + }, + "Alerts" : { + "comment" : "The title of the view.", + "isCommentAutoGenerated" : true + }, + "Algorithm Experiments" : { + "comment" : "Navigation title for algorithms experiments screen\nThe title of the Algorithm Experiments section in settings", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Algoritme-eksperimenter" } }, - "pl" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Anulowanie bolusa" + "value" : "Algorithmus-Experimente" } }, - "pt-BR" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Cancelando Bolus" + "value" : "Essais d'algorithmes" } }, - "ro" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Întrerupere bolus" + "value" : "ניסויי אלגוריתמים" } }, - "ru" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Отмена болюса" + "value" : "Esperimenti algoritmo" } }, - "sk" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus sa ruší" + "value" : "Algoritmeeksperimenter" } }, - "sv" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Avbryter bolus" + "value" : "Algoritme experimenten" } }, - "tr" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus İptal ediliyor" + "value" : "Algorytmy Eksperymentalne" } }, - "vi" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Hủy bỏ liều Bolus" + "value" : "Experimente algoritmice" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "取消大剂量" + "value" : "算法实验" } } } }, - "Carb effects" : { - "comment" : "Details for missing data error when carb effects are missing", + "Algorithm Experiments are optional modifications to the Loop Algorithm. These modifications are less tested than the standard Loop Algorithm, so please use carefully." : { + "comment" : "Algorithm Experiments description.", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "تأثيرات الكارب" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Kulhydrateffekter" + "value" : "Algoritmeeksperimenter er valgfrie ændringer af Loop-algoritmen. Disse ændringer er mindre testet end standard Loop-algoritmen, så brug venligst omhyggeligt." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Kohlenhydrat-Wirkungen" + "value" : "Algorithmus-Experimente sind optionale Modifikationen des Loop-Algorithmus. Diese Modifikationen sind weniger getestet als der Standard-Loop-Algorithmus. Verwende sie daher mit Vorsicht." } }, - "es" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Efectos de carbohidratos" + "value" : "Les essais d'algorithme sont des modifications optionnelles de l'algorithme Loop. Ces modifications sont moins testées que l'algorithme Loop standard, alors veuillez les utiliser avec précaution." } }, - "fi" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Hiilihydraattivaikutus" + "value" : "Gli esperimenti sull'algoritmo sono modifiche opzionali all'algoritmo di Loop. Queste modifiche sono meno testate rispetto all'algoritmo Loop standard, quindi utilizzale con attenzione." } }, - "fr" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Effets des glucides" + "value" : "Algoritmeeksperimenter er valgfrie modifikasjoner til Loop-algoritmen. Disse modifikasjonene er mindre testet enn standard Loop-algoritmen, så vær vennlig å bruke dem med forsiktighet." } }, - "he" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "השפעות פחמימות" + "value" : "Algoritme-experimenten zijn optionele aanpassingen aan het Loop-algoritme. Deze aanpassingen zijn minder grondig getest dan het standaard Loop-algoritme, dus gebruik ze voorzichtig." } }, - "it" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Effetto carboidrati" + "value" : "Eksperymenty algorytmiczne to opcjonalne modyfikacje algorytmu pętli. Te modyfikacje są mniej przetestowane niż standardowy algorytm pętli, więc używaj ich ostrożnie." } }, - "ja" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "糖質効果" + "value" : "Experimentele algoritmice sunt modificări opționale ale algoritmului de buclă. Aceste modificări sunt mai puțin testate decât algoritmul de buclă standard, așa că vă rugăm să le utilizați cu atenție." } }, - "nb" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Karb effekter" + "value" : "算法实验是对 Loop 算法的可选调整。这些调整的测试程度低于标准算法,请谨慎启用。" } - }, - "nl" : { + } + } + }, + "Algorithm Settings" : { + "comment" : "The title of the section containing algorithm settings", + "extractionState" : "manual", + "localizations" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Koolhydraateffecten" + "value" : "Indstillinger for algoritme" } }, - "pl" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Wpływ węglowodanów" + "value" : "Algorithmus-Einstellungen" } }, - "pt-BR" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Efeitos Carb" + "value" : "Ajustes de Algoritmo" } }, - "ro" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Efecte carbohidrați" + "value" : "Algoritmin asetukset" } }, - "ru" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Влияние углеводов" + "value" : "Paramètres de l'algorithme" } }, - "sk" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Účinky sacharidov" + "value" : "Algorithm Settings" } }, - "sv" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Kolhydrateffekter" + "value" : "Impostazioni algoritmo" } }, - "tr" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Karbonhidrat etkileri" + "value" : "Algoritmeinnstillinger" } }, - "vi" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "các tác động của Carb" + "value" : "Algoritme-instellingen" } }, - "zh-Hans" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "碳水效果" + "value" : "Ustawienia algorytmu" } - } - } - }, - "Carb Entry" : { - "comment" : "Label for carb entry row on bolus screen", - "localizations" : { - "da" : { + }, + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Indtast kulhydrater" + "value" : "Setări algoritm" } }, - "de" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "KH-Eintrag" + "value" : "Настройки алгоритма" } }, - "es" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Entrada de Carbohidratos" + "value" : "Algoritminställningar" } }, - "fi" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Hiilihydraatit" + "value" : "Algoritma Ayarları" } }, - "fr" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Entrée de glucides" + "value" : "算法设置" } - }, - "he" : { + } + } + }, + "All Alerts Muted" : { + "comment" : "Warning text for when alerts are muted", + "extractionState" : "stale", + "localizations" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "פחמימות" + "value" : "Alle alarmer er slået fra" } }, - "it" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Carboidrati inseriti" + "value" : "Alle Warnungen stummgeschaltet" } }, - "nb" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Legg til karbohydrater" + "value" : "Toutes les alertes sont en sourdine" } }, - "nl" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Koolhydraatinvoer" + "value" : "כל ההתראות משותקות" } }, - "pl" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Wprowadź węglowodany" + "value" : "Tutti gli avvisi disattivati" } }, - "ro" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Intrare carbohidrați" + "value" : "Alle varsler er dempet" } }, - "ru" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Добавить запись углеводов" + "value" : "Alle waarschuwingen gedempt" } }, - "sv" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Kolhydrater" + "value" : "Wszystkie alerty wyciszone" } }, - "tr" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Karb Girişi" + "value" : "Toate alertele sunt dezactivate" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "碳水记录" + "value" : "所有警报已静音" } } } }, - "Carb Quantity" : { - "comment" : "Label for carb quantity row on add favorite food screen", + "All alerts muted until" : { + "comment" : "Label for when mute alert will end", + "extractionState" : "stale", "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alle advarsler er slået fra indtil" + } + }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Menge gegessen" + "value" : "Alle Alarme stummgeschaltet bis" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Quantité de glucides" + "value" : "Toutes les alertes auditives sont désactivées jusqu'à" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "כמות פחמימות" + "value" : "כל ההתראות מושתקות עד" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Carboidrati Assunti" + "value" : "Tutti gli avvisi disattivati fino a" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Antall karbohydrater" + "value" : "Alle varsler er dempet inntil" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Hoeveelheid koolhydraten" + "value" : "Alle waarschuwingen gedempt tot" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wszystkie alerty wyciszono do" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Cantitate carbohidrați" + "value" : "Toate alertele sunt dezactivate până la" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "碳水含量" + "value" : "所有警报均已静音,直至……" } } } }, - "Carb Ratio" : { + "All App Sounds Muted" : { + "comment" : "Warning text for when alerts are muted" + }, + "All app sounds, including sounds for all critical alerts such as Urgent Low, Sensor Fail, Pump Expiration, and others will NOT sound." : { + "comment" : "Warning label that all alerts will not sound" + }, + "All app sounds, including sounds for all critical alerts, are currently muted.\n\nTap Unmute to resume app sounds for your alerts." : { + "comment" : "The alert body for unmute alert confirmation" + }, + "All Events" : { }, - "Carb Ratio Schedule" : { - "comment" : "Details for configuration error when carb ratio schedule is missing", + "All Favorites" : { + "comment" : "section header for list of existing FavoriteFoods", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Tidsplan for kulhydratforhold" + "value" : "Alle favoritter" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Zeitplan für das Kohlenhydratverhältnis" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Calendario de ratio de carbohidratos" + "value" : "Alle Favoriten" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Programme des ratios Insuline-Glucides" + "value" : "Tous les favoris" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Tabella del rapporto carboidrati" + "value" : "Tutti i preferiti" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Tidsplan for karbohydratforhold" + "value" : "Alle favoritter" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Koolhydraatratioschema" + "value" : "Alle favorieten" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Harmonogram Współczynnika Węglowodanowego" + "value" : "Wszystkie ulubione" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Programul raportului de carbohidrați" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Расписание соотношения углеводов" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Karb Oranı Programı" + "value" : "Toate favoritele" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "碳水系数配置表" + "value" : "全部常用" } } } }, - "Carb Ratios" : { - "comment" : "The title of the carb ratios schedule screen\n The title text for the carb ratio schedule", - "extractionState" : "manual", + "All Out" : { + + }, + "All Presets" : { + + }, + "Allowed" : { + "comment" : "Health sharing status: authorized" + }, + "Also alert from Loop" : { + "comment" : "A toggle that lets the user enable or disable Loop's alerts for a specific profile.", + "isCommentAutoGenerated" : true + }, + "Amount Consumed" : { + "comment" : "Label for carb quantity entry row on carb entry screen", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "معاملات الكارب" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Kulhydratforhold" + "value" : "Forbrugt mængde kulhydrater" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "KH-Verhältnis" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Carb Ratios" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ratios de carbohidratos" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hiilihydraattisuhteet" + "value" : "KH-Menge gegessen" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ratios Insuline-Glucides" + "value" : "Quantité consommée" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Carb Ratios" + "value" : "כמות שנצרכה" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Rapporti carboidrati" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "Carb Ratios" + "value" : "Quantità consumata" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Karb forhold" + "value" : "Mengde karbohydrater\n(Mengde inntatt)" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Koolhydraatratio's" + "value" : "Gegeten hoeveelheid" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Współczynniki węglowodanowe" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Taxas de Carbs" + "value" : "Ilość węglowodanów" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Raport carbohidrați insulină" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Соотношения углеводов" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Inzulínovo sacharidový pomer" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Insulinkvoter" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Karbonhidrat Oranları" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Carb Ratios" + "value" : "Cantitate consumată" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "碳水化合物系数" + "value" : "摄入量" } } } }, - "carb-entry-title-add" : { - "comment" : "The title of the view controller to create a new carb entry", - "extractionState" : "extracted_with_value", + "Amplitude" : { + "comment" : "The title of the Amplitude service", + "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Add Carb Entry" + "value" : "Amplitude" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Tilføj kulhydrater" + "value" : "Amplitude" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Kohlenhydrate hinzufügen" + "value" : "Amplitude" } }, "en" : { "stringUnit" : { - "state" : "new", - "value" : "Add Carb Entry" + "state" : "translated", + "value" : "Amplitude" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Agregar Entrada de Carb" + "value" : "Amplitude" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Lisää hiilihydraatteja" + "value" : "Amplitude" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ajouter des glucides" + "value" : "Amplitude" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הוספת רשומת פחמימות" + "value" : "Amplitude" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Aggiungi inserimento carboidrati" + "value" : "Ampiezza" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "糖質の記入を追加" + "value" : "Amplitude" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Legg inn karbohydrater" + "value" : "Amplitude" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Koolhydraten toevoegen" + "value" : "Amplitude" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wprowadź węglowodany" + "value" : "Amplituda" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Adicionar Carb" + "value" : "Amplitude" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Adăugați carbohidrați" + "value" : "Amplitude" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Добавить запись углеводов" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Zadať sacharidy" + "value" : "Amplitude" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Lägg till kolhydrater" + "value" : "Amplitude" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Karb Girişi Ekle" + "value" : "Amplitude" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Khai báo Carb" + "value" : "Amplitude" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "添加碳水摄入" + "value" : "Amplitude" } } } }, - "Carbohydrate Entry Too Large" : { - "comment" : "Title for bolus screen warning when carbohydrate entry is too large", + "An active override is modifying your carb ratio and insulin sensitivity. If you don't want this to affect your bolus calculation and projected glucose, consider turning off the override." : { + "comment" : "Warning to ensure the carb entry is accurate during an override", + "extractionState" : "stale", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Kulhydratindtastning for stor" + "value" : "En aktiv Override ændrer dit kulhydratforhold og din insulinfølsomhed. Hvis du ikke ønsker, at dette skal påvirke din bolusberegning og dit forventede glukose, kan du overveje at slå Override fra." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "KH-Eintrag zu groß" + "value" : "Eine aktive Voreinstellung verändert Dein Kohlenhydratverhältnis und Deine Insulinempfindlichkeit. Wenn Du nicht möchtest, dass sich dies auf Deine Bolusberechnung und Deinen prognostizierten Blutzucker auswirkt, solltest Du die Voreinstellung deaktivieren." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Entrada de carbohidratos demasiado grande" + "value" : "Un Ajuste Temporal activo modifica la proporción de carbohidratos y la sensibilidad a la insulina. Si no deseas que esto afecte el cálculo del bolo y la glucosa proyectada, considera desactivar el Ajuste Temporal." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Les glucides saisis sont trop important" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "כמות פחמימות גדולה מדי" + "value" : "Un ajustement actif modifie votre ratio de glucides et votre sensibilité à l'insuline. Si vous ne voulez pas que cela affecte le calcul du bolus et votre glycémie projetée, envisagez de désactiver l'ajustement." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Carboidrati inseriti troppo alti" + "value" : "Un Override attivo sta modificando il rapporto di carboidrati e la sensibilità insulina. Se non si vuole che questo influisca sul calcolo del bolo e sulla glicemia prevista, si consiglia di disattivare la funzione di Override." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Karbohydratinntaket er for stort" + "value" : "En aktiv overstyring modifiserer ditt karbohydratforhold og insulinfølsomhet. Hvis du ikke vil at dette skal påvirke bolusberegningen og projisert blodsukker, bør du vurdere å slå av overstyringen." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Koolhydraatinvoer te veel" + "value" : "Een actieve override wijzigt je koolhydraatratio en je insulinegevoeligheid. Als je niet wilt dat dit je bolusberekening en voorspelde glucose beïnvloedt, kun je overwegen de override uit te schakelen." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wpis węglowodanów za duży" + "value" : "Aktywny Cel Tymczasowy (Override) modyfikuje stosunek węglowodanów i wrażliwość na insulinę. Jeśli nie chcesz, aby wpłynęło to na obliczenie bolusa i przewidywaną glikemię, rozważ wyłączenie Celu Tymczasowego." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Intrarea de carbohidrați este prea mare" + "value" : "O suprascriere activă a schimbat raportul dintre carbohidrați și insulină cât și sensibilitatea la insulină. Dacă nu doriți ca acest lucru să vă afecteze calculul bolusului și gllicemia prognozată, luați în considerare dezactivarea suprascrierii." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Слишком много углеводов" + "value" : "Активные временные цели изменяют соотношение углеводов и чувствительность к инсулину. Если вы не хотите, чтобы это влияло на расчет болюса и прогнозируемый уровень глюкозы, отключите эту функцию." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Karbonhidrat Girişi Çok Büyük" + "value" : "Aktif bir geçersiz kılma, karbonhidrat oranınızı ve insülin duyarlılığınızı değiştiriyor. Bunun bolus hesaplamanızı ve öngörülen glikozu etkilemesini istemiyorsanız geçersiz kılmayı kapatmayı düşünün." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "碳水化合物输入量过大" + "value" : "当前启用的覆盖设置正在修改您的碳水比和胰岛素敏感系数。\n如果您不希望其影响大剂量的计算和预测血糖,请考虑关闭该覆盖设置。" } } } }, - "Carbohydrates" : { - "comment" : "Health access row label for carbohydrates\nLabel for carbohydrates entry row on simple bolus screen\nTitle of the prediction input effect for carbohydrates", + "An error occurred while trying to save your carb entry." : { + "comment" : "Alert message for a carb entry persistence error", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "الكربوهيدرات" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Kulhydrater" + "value" : "Der opstod en fejl under forsøget på at gemme kulhydratindtastning." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Kohlenhydrate" + "value" : "Beim Speichern Deiner Eingabe der Kohlenhydrate ist ein Fehler aufgetreten." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Carbohidratos" + "value" : "Se produjo un error al intentar guardar la entrada de carbohidratos." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Hiilihydraatit" + "value" : "Virhe hiilihydraattien tallennuksessa." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Glucides" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "פחמימות" + "value" : "Une erreur est survenue lors de l'enregistrement de votre saisie manuelle de glucides." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Carboidrati" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "残存糖質" + "value" : "Si è verificato un errore durante il tentativo di salvare l'inserimento dei carboidrati." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Karbohydrater" + "value" : "Det oppstod en feil under forsøk på å lagre karbohydratregistreringen." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Koolhydraten" + "value" : "Er is een fout opgetreden tijdens het opslaan van je koolhydraatinvoer." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Węglowodany" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Carboidratos" + "value" : "Wystąpił błąd podczas próby zapisania wpisu dotyczącego węglowodanów." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Carbohidrați" + "value" : "Eroare la încercarea de salvare a carbohidraților." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Углеводы" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sacharidy" + "value" : "Произошла ошибка при попытке сохранить запись об углеводах." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Kolhydrater" + "value" : "Ett fel uppstod när du skulle spara dina kolhydrater." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Karbonhidratlar" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Carbohydrates" + "value" : "Karbonhidrat girişinizi kaydetmeye çalışırken bir hata oluştu." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "碳水化合物" + "value" : "保存碳水记录时出错了。" } } } }, - "Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" : { - "comment" : "Description of the prediction input effect for carbohydrates. (1: The glucose unit string)", + "An error occurred while trying to save your manual glucose entry." : { + "comment" : "Alert message for a manual glucose entry persistence error", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "الكارب الذي تم امتصاصه (جرام) ÷ معامل الكارب (جرام لكل وحدة) × حاسية الأنسولين (%1$@/وحدة)" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Kulhydrater absorberet (g) ÷ Kulhydratratio (g/E) × Insulinfølsomhed (%1$@/E)" + "value" : "Der opstod en fejl under forsøget på at gemme en manuel blodsukkerindtastning." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Resorbierte Kohlenhydrate (g) ÷ Kohlenhydratfaktor (g/IE) × Insulinempfindlichkeit (%1$@/IE)" + "value" : "Beim Speichern Deines manuell eingegebenen Blutzuckers ist ein Fehler aufgetreten." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Carbohidratos absorbidos (gr) ÷ Relación de Carbohidratos (gr/U) x Sensibilidad a Insulina (%1$@/U)" + "value" : "Se produjo un error al intentar guardar la entrada manual de glucosa." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Imeytyneet hiilihydraatit (g) ÷ Hiilihydraattisuhde (g/U) × Insuliiniherkkyys (%1$@/U)" + "value" : "Virhe glukoosiarvon tallennuksessa." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Glucides Absorbés (g) ÷ Ratio Glucides (g/U) x Sensibilité à l'insuline (%1$@/U)" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" + "value" : "Une erreur est survenue lors de l'enregistrement de votre saisie manuelle de glycémie." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Carboidrati assorbiti ÷ Rapporto carboidrati (gr/U) × Sensibilità insulinica (%1$@/U)" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "吸収済糖質(g) ÷ 糖質比 (g/U) × インスリン効果値(%1$@/U)" + "value" : "Si è verificato un errore durante il tentativo di salvare l'inserimento manuale della glicemia." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Absorberte karbohydrater (g) ÷ Karbforhold (g/E) × insulinfølsomhet ( %1$@ /E)" + "value" : "Det oppstod en feil under forsøk på å lagre den manuelle BS-registreringen." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Opgenomen koolhydraten (g) ÷ koolhydraatratio (g/E) × insulinegevoeligheid (%1$@/E)" + "value" : "Er is een fout opgetreden tijdens het opslaan van je handmatige glucose-invoer." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Ilość węglowodanów (g) ÷ stosunek węglowodanów (g/J) × czułość insuliny (%1$@/J)" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Carbs Absorvidos (g) ÷ Relação Carb (g/U) × Sensibilidade a Insulina (%1$@/U)" + "value" : "Wystąpił błąd podczas próby zapisania ręcznego wpisu o glukozie." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Carbohidrați absorbiți (g) ÷ Raport carbohidrați (g/U) × Factor de sensibilitate la insulină (%1$@/U)" + "value" : "Eroare la încercarea de salvare a glicemiei introduse manual." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Усвоенные углеводы (г) ÷ Коэффициент углеводов (г/U) × Чувствительность к инсулину (%1$@/U)" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Absorbované sacharidy (g) ÷ Inzulínovo sacharidový pomer (g/j) × Faktor citlivosti na inzulín (%1$@/j)" + "value" : "Произошла ошибка при попытке сохранить данные о глюкозе, введенные вручную." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Absorberade kolhydrater (g) ÷ Insulinkvot (g/E) × Insulinkänslighet (%1$@/E)" + "value" : "Ett fel uppstod när du skulle spara ditt blodsockervärde." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Emilen Karb. (gr) ÷ Karb. Oranı (gr/Ü) × İnsulin duyarlılığı (%1$@/Ü)" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Khối lượng carb tiêu thụ (g) ÷ Tỷ lệ Carb (g/U) × Độ nhạy của Insulin (%1$@/U)" + "value" : "Manuel KŞ girişinizi kaydetmeye çalışırken bir hata oluştu." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "已吸收碳水化合物(克)÷碳水化合物吸收率(克 / 单位)×胰岛素敏感系数 (%1$@/单位)" + "value" : "在尝试保存您手动输入的血糖值时发生错误。" } } } }, - "Caution" : { + "An unexpected onboarding error state occurred." : { + "comment" : "Invalid onboarding state", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Forsigtig" + "value" : "Der er opstået en uventet fejltilstand i forbindelse med onboarding." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Achtung" + "value" : "Ein unerwarteter Fehlerstatus beim Onboarding ist aufgetreten." } }, - "fr" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Attention" + "value" : "Se ha producido un error inesperado" } }, - "he" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "זהירות" + "value" : "Un état d'erreur innatendu a eu lieu durant le processus d'intégration" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Attenzione" + "value" : "Si è verificato un errore di onboarding imprevisto." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Forsiktig" + "value" : "En uventet onboarding-feiltilstand oppstod." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Voorzichtig" + "value" : "Er is een onverwachte onboarding-foutstatus opgetreden" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Uwaga" + "value" : "Niespodziewany błąd wdrażania" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Atenție" + "value" : "A apărut o eroare neașteptată de stare la inițiere." } }, - "zh-Hans" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "注意" + "value" : "Возникла непредвиденная ошибка подключения." } - } - } - }, - "CAUTION - Investigational device. Limited by Federal (or United States) law to investigational use." : { - - }, - "CGM Active" : { - "comment" : "Percent of time CGM data present metric title" - }, - "Change the pump battery immediately" : { - "comment" : "The notification alert describing a low pump battery", - "extractionState" : "manual", - "localizations" : { - "ar" : { + }, + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "قم بتغيير بطارية المضخة على الفور" + "value" : "Beklenmeyen bir ekleme hatası durumu oluştu." } }, - "da" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Udskift pumpebatteri omgående" + "value" : "初始化向导发生意外错误状态" } - }, - "de" : { + } + } + }, + "An updated bolus recommendation is available." : { + "comment" : "Alert message when glucose data returns while on bolus screen", + "extractionState" : "stale", + "localizations" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Wechsel sofort die Pumpenbatterie" + "value" : "En opdateret bolusanbefaling er tilgængelig." } }, - "en" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Change the pump battery immediately" + "value" : "Eine aktualisierte Bolusempfehlung ist verfügbar." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Cambie la batería de la bomba de inmediato" + "value" : "Hay una recomendación actualizada de bolo." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Vaihda pumpun paristo välittömästi" + "value" : "Päivitetty bolussuositus on saatavilla." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Changer immédiatement la pile de la pompe" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "Change the pump battery immediately" + "value" : "Une recommandation de bolus mise à jour est disponible." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Sostituisci immediatamente la batteria della pompa" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "すぐにポンプの電池を替えてください" + "value" : "È disponibile una raccomandazione aggiornata sul bolo." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Skift pumpebatteriet umiddelbart" + "value" : "En oppdatert bolusanbefaling er tilgjengelig." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Vervang direct de batterij van de pomp" + "value" : "Een bijgewerkte aanbevolen bolus is beschikbaar." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Natychmiast wymienić baterię pompy" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Troque a bateria da bomba imediatamente" + "value" : "Dostępna jest zaktualizowana rekomendacja bolusa." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Schimbați imediat bateria pompei" + "value" : "Este disponibilă o recomandare de bolus nouă." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Немедленно замените батарейку в помпе" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ihneď vymeňte batériu pumpy" + "value" : "Доступна обновленная рекомендация болюса." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Byt pumpbatteri nu" + "value" : "Det finns nu en ny bolusrekommendation." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Pompa pilini hemen değiştirin" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Thay pin máy bơm ngay" + "value" : "Güncellenmiş bir bolus önerisi mevcuttur." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "立即更换胰岛素泵电池" + "value" : "有新的大剂量推荐值可用" } } } }, - "Change the pump reservoir now" : { - "comment" : "The notification alert describing an empty pump reservoir", + "API Key" : { + "comment" : "The title of the amplitude API key credential", "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "قم بتغيير خزان المضخة الآن" + "value" : "API Key" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Skift pumpereservoir nu" + "value" : "API nøgle" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Wechsel jetzt das Pumpenreservoir" + "value" : "API Key" } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "Change the pump reservoir now" + "value" : "API Key" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Cambie el depósito de la bomba ahora" + "value" : "API Key" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Vaihda pumpun säiliö" + "value" : "API-avain" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Changer maintenant le réservoir de la pompe" + "value" : "Clé API" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Change the pump reservoir now" + "value" : "API Key" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Cambia ora il serbatoio della pompa" + "value" : "Chiave API" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "ポンプのレザーバを替えてください" + "value" : "API キー" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Bytt pumpereservoar nå" + "value" : "API Nøkkel" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Vervang het pompreservoir nu" + "value" : "API sleutel" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Zmień zbiorniczek w pompie" + "value" : "API Key" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Troque o reservatório da bomba agora" + "value" : "API Key" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Schimbați rezervorul pompei acum" + "value" : "Cheie API" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Замените резервуар помпы сейчас" + "value" : "API-ключ" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Ihneď vymeňte zásobník pumpy" + "value" : "Kľúč API" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Byt pumpreservoar nu" + "value" : "API Key" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Pompa rezervuarını şimdi değiştirin" + "value" : "API Anahtarı" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Thay ngăn chứa insulin bây giờ" + "value" : "API Key" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "立即更换储药器" + "value" : "API Key" } } } }, - "Changing it can lower the chance of your glucose levels going too low if you expect unusual changes." : { - - }, - "Check for potential communication issues with your CGM.\n\nIn the meantime, your pump is still able to deliver insulin." : { - "comment" : "message when automation is off and CGM is in signal loss" - }, - "Check settings" : { - "comment" : "Details for configuration error when one or more loop settings are missing", + "API Secret" : { + "comment" : "The title of the nightscout API secret credential", "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "تأكد من الإعدادات" + "value" : "API Secret" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "API Secret" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Kontroller indstillinger" + "value" : "API kodeord" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Überprüfe die Einstellungen." + "value" : "API Secret" } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "Check settings" + "value" : "API Secret" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Verificar ajustes" + "value" : "Clave secreta API" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Tarkista asetukset" + "value" : "API-salasana" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Vérifier les paramètres" + "value" : "Secret API" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Check settings" + "value" : "API Secret" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Controlla le impostazioni" + "value" : "Chiave personale API" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "設定を確認する" + "value" : "APIシークレット" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Sjekk innstillinger" + "value" : "API Hemmelighet" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Controleer instellingen" + "value" : "API Secret" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Sprawdź ustawienia" + "value" : "API Secret" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Verifique as configurações" + "value" : "Chave API" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Verificați setările" + "value" : "Secretul API" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Проверьте настройки" + "value" : "API Секрет" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "API Secret" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Kontrollera inställningarna" + "value" : "API Secret" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Ayarları kontrol et" + "value" : "API Secret" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Kiểm tra các cài đặt" + "value" : "API Secret" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "检查设置" + "value" : "API Secret" } } } }, - "Check that your pump is in range" : { - "comment" : "Recovery suggestion when reservoir data is missing", - "extractionState" : "manual", + "App Profile" : { + "comment" : "Settings app profile section", "localizations" : { - "ar" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "تأكد أن المضخة في النطاق" + "value" : "Profil" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Kontroller, at din pumpe er indenfor rækkevidde" + "value" : "App-profil" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Stelle sicher, dass sich Deine Pumpe in Reichweite befindet." + "value" : "App-Profil" } }, - "en" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Check that your pump is in range" + "value" : "Perfil de la aplicación" } }, - "es" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Verifique que su microinfusora esté dentro del rango" + "value" : "Profil de l'application" } }, - "fi" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Tarkista, että pumppu on riittävän lähellä" + "value" : "פרופיל אפליקציה" } }, - "fr" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Vérifier que votre pompe est à portée" + "value" : "Profilo app" } }, - "he" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Check that your pump is in range" + "value" : "App-profil" } }, - "it" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Controlla che la pompa sia nel raggio d'azione" + "value" : "App-Profiel" } }, - "ja" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "ポンプが近くにあることを確認してください" + "value" : "Profil aplikacji" } }, - "nb" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Sjekk at pumpen din er innenfor rekkevidde" + "value" : "Profilul aplicației" } }, - "nl" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Controleer of je pomp binnen bereik is" + "value" : "Профиль приложения" } }, - "pl" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Upewnij się, że Twoja pompa jest w zasięgu" + "value" : "Uygulama Profili" } }, - "pt-BR" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Verifique se sua bomba está dentro do alcance" + "value" : "应用配置" + } + } + } + }, + "App Store" : { + "comment" : "Button title to open the App Store for a required update" + }, + "Apple" : { + "comment" : "Default name on add favorite food screen", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apfel" } }, - "ro" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Verificați că pompa este în apropriere" + "value" : "Pomme" } }, - "ru" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Убедитесь, что помпа в зоне коммуникации" + "value" : "תפוח" } }, - "sv" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Kontrollera att pumpen är inom räckhåll" + "value" : "Mela" } }, - "tr" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Pompanızın menzil içinde olup olmadığını kontrol edin" + "value" : "Eple" } }, - "vi" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Kiểm tra máy bơm đang trong phạm vi cho phép" + "value" : "Appel" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "请检查你的泵是否在范围内" + "value" : "苹果" } } } }, - "Check your CGM data source" : { - "comment" : "Recovery suggestion when glucose data is missing", + "Apple Health" : { + "comment" : "Apple Health settings button text\nTitle of the Apple Health access screen" + }, + "Are you sure you want to delete all history entries?" : { + "comment" : "Action sheet confirmation message for pump history deletion", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "تأكد من مصدر قراءات السكر المستمرة" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Kontroller din CGM-datakilde" + "value" : "Er du sikker på at du vil slette alle gamle indtastninger?" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Überprüfe Deine CGM-Datenquelle." + "value" : "Möchtest Du wirklich alle Verlaufseinträge löschen?" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Verifique su fuente de datos CGM" + "value" : "¿Estás seguro de querer eliminar todos las entradas históricas?" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Tarkista CGM-tietolähde" + "value" : "Haluatko varmasti poistaa kaikki historiatiedot?" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Vérifier votre source de données CGM" + "value" : "Voulez-vous vraiment supprimer toutes les entrées de l’historique?" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "בדוק את מקור המידע שלך בחיישן" + "value" : "בטוח שברצונך למחוק את כל ערכי ההיסטוריה?" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Controlla la sorgente dati del sensore" + "value" : "Sei sicuro di voler eliminare tutte le voci della cronologia?" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "CGM データソースを確認してください" + "value" : "入力履歴をすべて削除しますか?" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Sjekk CGM" + "value" : "Er du sikker på at du vil slette alle historieoppføringer?" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Controleer je CGM gegevensbron" + "value" : "Weet je zeker dat je de gehele pompgeschiedenis wilt verwijderen?" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Sprawdź swój CGM" + "value" : "Czy jesteś pewien, że chcesz usunąć z Loop wszystkie dane historyczne pompy?" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Verifique seu dispositivo CGM" + "value" : "Tem certeza de que deseja excluir todas as entradas do histórico?" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Verificați sursa de date a senzorului de glicemie" + "value" : "Sigur doriți să ștergeți toate înregistrările din istoric?" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Проверьте источник мониторинга СК" + "value" : "Подтвердите удаление всех записей истории?" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Kontrollera din CGM:s datakälla" + "value" : "Säkert att du vill radera all händelsehistorik?" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "CGM veri kaynağınızı kontrol edin" + "value" : "Tüm geçmiş girişlerini silmek istediğinizden emin misiniz?" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Kiểm tra nguồn dữ liệu CGM của bạn" + "value" : "Bạn có chắc muốn xóa hết các dữ liệu cũ?" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "请检查你的动态血糖数据来源" + "value" : "确定要删除所有历史记录吗?" } } } }, - "Check your device time and/or remove any invalid data from Apple Health." : { - "comment" : "Caption for bolus screen notice when glucose data is in the future", + "Are you sure you want to delete all logged dose entries?" : { + "comment" : "Action sheet confirmation message for logged dose deletion", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Tjek din enheds tid og/eller fjern ugyldige data fra Apple Health." + "value" : "Er du sikker på, at du vil slette alle logget dosis?" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Überprüfe die Uhrzeit deines Geräts und/oder entferne alle ungültigen Daten aus Apple Health." + "value" : "Möchtest Du wirklich alle protokollierten Dosis Einträge löschen?" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Compruebe la hora de su dispositivo y/o elimine cualquier dato no válido de Apple Health." + "value" : "¿Estás seguro de que quieres borrar todas las entradas de dosis registradas?" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haluatko varmasti poistaa kaikki kirjatut annostelutiedot?" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Vérifiez l'heure de votre appareil et/ou supprimez toute donnée invalide d'Apple Health." + "value" : "Voulez-vous vraiment supprimer toutes les entrées de dose enregistrées?" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בטוח שברצונך למחוק את כל ערכי המנות?" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Controlla l'orario del tuo dispositivo e/o rimuovi eventuali dati non validi da Apple Salute." + "value" : "Sei sicuro di voler eliminare tutte le dosi inserite?" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Sjekk enhetens klokke og/ eller fjern eventuelle ugyldige data fra Apple Helse." + "value" : "Er du sikker på at du vil slette alle loggførte doseoppføringer?" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Controleer de tijd op je apparaat en/of verwijder eventuele ongeldige invoer uit Apple Gezondheid." + "value" : "Weet je zeker dat je de gehele doseringsgeschiedenis wilt verwijderen?" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Sprawdź czas urządzenia i/lub usuń wszelkie nieprawidłowe dane z aplikacji Zdrowie." + "value" : "Czy na pewno chcesz usunąć wszystkie zapisane wpisy dawek?" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Verificați ora dispozitivului și/sau eliminați orice date incorecte din Apple Health." + "value" : "Sigur doriți să ștergeți toate înregistrările despre dozele de insulina?" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Проверьте время вашего устройства и/или удалите недействительные данные из Apple Health." + "value" : "Вы уверены, что хотите удалить все зарегистрированные записи о дозах?" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Är du säker på att du vill ta bort alla dina loggade doser?" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Aygıtınızın saatini kontrol edin ve/veya tüm geçersiz verileri Apple Sağlık'tan kaldırın." + "value" : "Günlüğe kaydedilen tüm doz girişlerini silmek istediğinizden emin misiniz?" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "请检查设备时间,并/或从“苹果健康”App中删除任何无效数据。" + "value" : "是否确定删除全部注射记录?" } } } }, - "Check your glucose levels around 20 to 30 min after eating. If you're still low, consider eating the same amount." : { - - }, - "Choose a longer absorption time for larger meals, or those containing fats and proteins. This is only guidance to the algorithm and need not be exact." : { - "comment" : "Carb entry section footer text explaining absorption time", + "Are you sure you want to delete all reservoir values?" : { + "comment" : "Action sheet confirmation message for reservoir deletion", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Vælg en længere absorptionstid ved større måltider, eller dem med fedt og proteiner. Det er blot hjælp til algoritmen og behøver ikke være nøjagtig." + "value" : "Er du sikker på at du vil slette alle reservoirværdier?" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Wähle eine längere Resorptionsdauer für größere Mahlzeiten oder welche die viel Fett und Proteine beinhalten. Dies ist eine Unterstützung für den Algorithmus und muss nicht genau sein." + "value" : "Möchtest Du wirklich alle Reservoirwerte löschen?" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Elija un tiempo de absorción más largo para comidas más grandes, o aquellas que contienen grasas y proteínas. Esta es solo una guía para el algoritmo y no necesita ser exacta." + "value" : "¿Estás seguro de querer eliminar todos los datos del reservorio?" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Valitse pidempi imeytymisaika isoille tai paljon rasvaa ja proteiineja sisältäville aterioille. Tämä on suuntaa antava ohje, eikä sen tarvitse olla tarkka." + "value" : "Haluatko varmasti poistaa kaikki säiliön arvot?" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Choisissez un temps d’absorption plus long pour les gros repas ou ceux contenant des graisses et des protéines. Ceci est seulement un guide pour l'algorithme et n'a pas besoin d'être exact." + "value" : "Voulez-vous vraiment supprimer toutes les valeurs de réservoir?" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Choose a longer absorption time for larger meals, or those containing fats and proteins. This is only guidance to the algorithm and need not be exact." + "value" : "בטוח שברצונך למחוק את כל ערכי המאגר?" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Scegli un periodo di assorbimento piu lungo per i pasti piu grandi o quelli contenenti grassi e proteine. Questa e solo una guida all’algoritmo e non e necessario che sia esatta." + "value" : "Sei sicuro di voler eliminare tutti i valori del serbatoio?" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "量の多い食事や脂質やたんぱく質を含んだ食事には長い吸収時間を選んでください。これはアルゴリズムのための参考で、厳密である必要はありません。" + "value" : "リザーバの値をすべて削除しますか?" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Velg lengre absorpsjonstid for større måltider, eller de som inneholder fett og proteiner. Dette er kun veiledning til algoritmen og trenger ikke være nøyaktig." + "value" : "Er du sikker på at du vil slette alle reservoarverdier?" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Kies een langere opnametijd voor grotere maaltijden of voor maaltijden die vetten en eiwitten bevatten. Dit is alleen een leidraad voor het algoritme en hoeft niet exact te zijn." + "value" : "Weet je zeker dat je alle waarden van het reservoir wilt verwijderen?" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wybierz dłuższy czas absorpcji dla większych, bogatobiałkowych lub wysokotłuszczowych posiłków. To tylko wskazówka dla algorytmu i nie musi być bardzo dokładna." + "value" : "Czy jesteś pewien, że chcesz usunąć wszystkie wartości zbiornika?" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Escolha um tempo de absorção mais longo para refeições maiores ou aquelas que contenham gorduras e proteínas. Esta é apenas uma orientação para o algoritmo e não precisa ser exata." + "value" : "Tem certeza de que deseja excluir todos os valores do reservatório?" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Alegeți o durată mai lungă de absorbție pentru mese mai mari sau pentru cele care conțin grăsimi și proteine. Nu e necesară o valoare exactă, scopul e să oferim doar o ghidare pentru algoritm." + "value" : "Sigur doriți să ștergeți toate valorile de rezervor?" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Выберите более длительное время усвоения для больших порций пищи или тех, которые содержат жиры и белки. Это лишь руководство к алгоритму и не обязательно должно быть точным." + "value" : "Подтвердите удаление всех записей резервуара?" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Välj en längre absorptionstid för måltid med mycket fett eller protein. Ofta är det bäst att dela upp måltiden i snabba och långsamma kolhydrater och mata in dessa var för sig." + "value" : "Säkert att du vill radera alla reservoarvärden?" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Daha büyük öğünler veya yağ ve protein içeren besinler için daha uzun bir emilim süresi seçin. Bu değer yalnızca algoritmaya rehberlik eder ve kesin olması gerekmez." + "value" : "Tüm rezervuar değerlerini silmek istediğinizden emin misiniz?" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Lựa chọn khoảng thời gian tiêu hóa dài hơn cho các bữa ăn no, hoặc những bữa ăn nhiều chất béo và protein. Đây chỉ là hướng dẫn cho thuật toán Algorithm và không cần phải chính xác." + "value" : "Bạn có chắc muốn xóa hết mọi giá trị của ngăn chứa insulin?" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "对于大餐或含有脂肪和蛋白质的餐食,请选择较长的吸收时间。此设置仅作为算法的参考, 无需精确。" + "value" : "是否确定删除全部储液量记录?" } } } }, - "Choose Favorite:" : { - "comment" : "The label for the row where you choose saved Favorite Food", + "Are you sure you want to delete all your %@ Data?\n(This action is not reversible)" : { + "comment" : "Confirmation before you delete all your Simulated Test Devices data", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Vælg favorit:" + "value" : "Er du sikker på, at du vil slette alle dine %@ data?\n(Denne handling kan ikke fortrydes)" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Wähle Favorit:" + "value" : "Möchtest Du wirklich alle %@-Daten löschen?\n(Diese Aktion kann nicht rückgängig gemacht werden)" } }, - "fr" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Choisissez le favori :" + "value" : "¿Estás seguro de que quieres eliminar todos tus datos de %@ ?\n (Esta acción no es reversible)" } }, - "it" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Scegli il preferito:" + "value" : "Haluatko varmasti poistaa kaikki %@ tietosi?\n(Tämä toiminto ei ole palautettavissa)" } }, - "nb" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Velg favoritt:" + "value" : "Voulez-vous vraiment effacer toutes vos valeurs de %@?\n(Cette action n'est pas réversible)" } }, - "nl" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Kies favoriet:" + "value" : "בטוח שברצונך למחוק את כל מידע %@?\n(פעולה זו בלתי הפיכה)" } }, - "pl" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Wybierz ulubione:" + "value" : "Sei sicuro di voler eliminare tutti i tuoi dati %@ ?\n (Questa azione non è reversibile)" } }, - "ro" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Alegeți preferatul:" + "value" : "Er du sikker på at du vil slette alle dine %@ Data?\n(Denne handlingen kan ikke angres)" } }, - "zh-Hans" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "选择常用" + "value" : "Weet je zeker dat je al je %@-gegevens wilt verwijderen?\n(Deze actie is niet omkeerbaar)" } - } - } - }, - "Choose the glucose value (or values) you want %@ to target when changing how much basal insulin you get." : { - - }, - "Close" : { - "comment" : "Preset training needed alert cancel button\nThe button label of the action used to dismiss the unsafe notification permission alert", - "localizations" : { - "da" : { + }, + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Luk" + "value" : "Czy na pewno chcesz usunąć wszystkie swoje dane %@ ?\n (Ta czynność jest nieodwracalna)" } }, - "de" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Schließen" + "value" : "Sunteți sigur că vreți să ștergeți toate datele %@.\n(Această acțiune nu este reversibilă)" } }, - "es" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Cerrar" + "value" : "Вы уверены, что хотите удалить все свои данные %@ ?\n (Это действие необратимо)" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vill du ta bort alla dina %@data?\n(Denna åtgärd är inte reversibel)" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tüm %@ Verilerinizi silmek istediğinizden emin misiniz?\n (Bu eylem geri alınamaz)" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "确定要删除所有 %@ 数据吗?(此操作无法恢复)" + } + } + } + }, + "Are you sure you want to delete all your testing Data?\n(This action is not reversible)" : { + "comment" : "The message displayed in an alert that lets the user delete all their testing data.", + "isCommentAutoGenerated" : true + }, + "Are you sure you want to delete this CGM?" : { + "comment" : "Confirmation message for deleting a CGM", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "هل أنت متأكد أنك تريد حذف هذا CGM؟" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Er du sikker på, at du vil slette denne CGM?" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bist Du sicher, dass Du dieses CGM löschen möchtest?" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "¿Está seguro de que quiere eliminar este MCG?" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haluatko varmasti poistaa CGM:n?" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voulez-vous vraiment supprimer ce CGM?" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בטוח שברצונך למחוק את חיישן זה?" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sei sicuro di voler eliminare questo CGM?" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "このCGMを削除しますか?" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Er du sikker på at du vil slette denne CGM?" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weet je zeker dat je deze CGM wilt verwijderen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Czy na pewno chcesz usunąć ten CGM?" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Você está certo que quer remover este CGM?" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sunteți sigur că vreți să ștergeți acest senzor de glicemie?" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вы уверены, что хотите удалить этот CGM?" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Naozaj chcete odstrániť toto CGM?" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Är du säker på att du vill radera denna CGM?" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bu CGM'i silmek istediğinizden emin misiniz?" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bạn có chắc sẽ xóa CGM này?" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "确定要删除该CGM数据源?" + } + } + } + }, + "Are you sure you want to delete this food?" : { + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Er du sikker på, at du vil slette denne mad?" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bist Du sicher, dass Du diesen Favoriten löschen möchtest?" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Êtes-vous sûr de vouloir supprimer cet aliment ?" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sei sicuro di voler eliminare questo cibo?" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Er du sikker på at du vil slette denne maten?" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weet je zeker dat je dit voedingsmiddel wilt verwijderen?" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Czy na pewno chcesz usunąć to jedzenie?" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sunteți sigur că vreți să ștergeți acest aliment?" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "你确定要删除该食物吗?" + } + } + } + }, + "Are you sure you want to delete this service?" : { + "comment" : "Confirmation message for deleting a service", + "extractionState" : "manual", + "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Opravdu chcete tuto službu smazat?" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Er du sikker på, du vil slette denne service?" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bist Du sicher, dass Du diesen Dienst löschen möchtest?" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "¿Está seguro de que desea eliminar este servicio?" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Haluatko varmasti poistaa tämän palvelun?" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voulez-vous vraiment supprimer ce service?" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בטוח שברצונך למחוק את שירות זה?" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sei sicuro di voler eliminare questo servizio?" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Er du sikker på at du vil slette denne tjenesten?" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weet je zeker dat je deze service wil verwijderen?" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Czy na pewno chcesz usunąć tę usługę?" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sunteți sigur că vreți să ștergeți acest serviciu?" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вы уверены, что хотите удалить этот сервис?" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Naozaj chcete odstrániť túto službu?" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vill du ta bort den här tjänsten?" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bu servisi silmek istediğinizden emin misiniz?" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "您确定要删除此服务吗?" + } + } + } + }, + "Are you sure you want to turn automation OFF?" : { + "comment" : "Closed loop alert title" + }, + "Arm test alert" : { + "comment" : "A button that arms a test alert for a glucose level below the normal range.", + "isCommentAutoGenerated" : true + }, + "Arming substitutes a below-threshold value in place of the next real CGM reading, so the alert fires from whatever app state Loop is in at that moment." : { + "comment" : "A footer text in the \"Arm test alert\" button's section, explaining how it works.", + "isCommentAutoGenerated" : true + }, + "ask yourself, am I more likely to go high or low during this event?" : { + + }, + "at %@" : { + "comment" : "Format fragment for a specific time", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "في %@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "at %@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "um %@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "en %@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "klo %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "à %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "ב-%@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "a %@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ 時点" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "kl %@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "om %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "o %@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "em %@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "la %@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "В %@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "o %@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "kl. %@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "lúc %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@分钟内" + } + } + } + }, + "at %1$@" : { + "comment" : "when adding a timestamp. (1: the formatted timestamp)\nwhen adding the date and time. (1: the formatted date and time)" + }, + "At 100%%, %@ assumes your insulin needs are the same as usual." : { + + }, + "Authenticate to Bolus %@ Units" : { + "comment" : "The message displayed during a device authentication prompt for bolus specification", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "المصادة على ضخ %@ وحدات" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Godkend bolus af %@ Enheder" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolusabgabe von %@ IE bestätigen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Autenticar para Bolo %@ Unidades" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vahvista bolus %@ yksikköä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Authentifiez-vous pour faire un bolus de %@ Unités" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Authenticate to Bolus %@ Units" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Esegui l'autenticazione per il bolo di %@ Unità" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ボーラス %@単位 認証してください" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Autentiserer for å gi %@ Enheter i Bolus" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Authenticeer om %@ E te bolussen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Autoryzacja Bolusa %@ jednostek" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Autentique para Bolus de %@ Unidades" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Autentificare pentru bolusare %@ unități" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Подтверждение болюса %@ ед" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Potvrdiť pre Bolus %@ Jednotky" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Godkänn bolus på %@ enheter" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus için kimlik doğrula %@ Ünite" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xác thực liều Bolus %@ Units" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "解锁以输注大剂量 %@ 单位" + } + } + } + }, + "Authenticate to log %@ Units" : { + "comment" : "The message displayed during a device authentication prompt to log an insulin dose", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Godkend for at logge %@ enheder" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Authentifiziere Dich, um %@ Einheiten zu protokollieren." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Autenticarse para registrar %@ Unidades" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vahvista kirjaus %@ yksikköä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Authentifier pour enregistrer %@ unités" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Esegui l'autenticazione per registrare %@ Unità" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Autentiser for å logge %@ Enheter" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Authenticeer om %@ eenheden te registreren" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Autoryzuj, aby podać %@ Jednostki" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Autentificare pentru a înregistra %@ unități" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пройдите аутентификацию для подтверждения болюса %@ Единиц" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Godkänn att logga %@ enheter" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ Ünite günlüğe kaydetmek için kimlik doğrulaması yapın" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "请验证身份以记录 %@U 胰岛素" + } + } + } + }, + "Automated" : { + + }, + "Automated (↑ Increase)" : { + + }, + "Automated (↓ Decrease)" : { + + }, + "Automated (Preset Basal Rate)" : { + + }, + "Automated (Scheduled)" : { + + }, + "Automated insulin adjustments by %@ reduce a noticeable rise in glucose" : { + + }, + "Automation" : { + + }, + "Automation is off" : { + "comment" : "title for when automation is off" + }, + "Automation is on" : { + "comment" : "title for when automation is on" + }, + "Automation is unavailable" : { + "comment" : "title for when automation is unavailable" + }, + "Automation is unavailable while a manual temporary basal is in progress.\n\nCancel the manual temporary basal if you wish for the app to automate insulin delivery." : { + "comment" : "message when automation is on and a manual temp basal is in progress" + }, + "Automation is unavailable while your CGM sensor is warming up.\n\nIn the meantime, your pump is still able to deliver insulin.\n\nAutomation will resume when CGM readings are received." : { + "comment" : "message when automation is on and CGM is in warmup" + }, + "Automation is unavailable while your insulin is suspended.\n\nResume insulin if you wish for the app to automate insulin delivery." : { + "comment" : "message when automation is on and insulin delivery is suspended" + }, + "Automation OFF" : { + + }, + "Automation ON" : { + + }, + "Automation unavailable" : { + + }, + "Automation was unsuccessful" : { + "comment" : "title for when automation was unsuccessful" + }, + "Average" : { + "comment" : "Average glucose metric title", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "المتوسط" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Průměr" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gennemsnit" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Durchschnitt" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Promedio" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Keskiarvo" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Moyenne" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "ממוצע" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Átlag" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Media" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "平均" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gjennomsnitt" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gemiddeld" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Średnia" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Média" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Medie" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Среднее" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Priemer" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Medelvärde" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ortalama" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Середнє" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trung bình" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "平均值" + } + } + } + }, + "Average %1$@ U" : { + "comment" : "Trends Insulin per day legend: the dashed line showing average total insulin per day. (1: units)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "المتوسط %1$@ وحدة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Průměr %1$@ U" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gennemsnit %1$@ E" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Durchschnitt %1$@ IE" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Promedio %1$@ U" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Keskiarvo %1$@ U" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Moyenne %1$@ U" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "ממוצע U %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Átlag %1$@ U" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Media %1$@ U" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "平均 %1$@ 単位" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gjennomsnitt %1$@ E" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gemiddeld %1$@ E" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Średnio %1$@ J" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Média %1$@ U" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Medie %1$@ U" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Среднее %1$@ Ед." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Priemer %1$@ j" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Medel %1$@ E" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ortalama %1$@ Ü" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Середнє %1$@ U" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trung bình %1$@ U" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "平均 %1$@ U" + } + } + } + }, + "Basal" : { + "comment" : "Chart callout label for the basal rate at the touched time Label of a tile showing the current basal rate (Now screen) or the day's basal insulin total (Today so far totals) Logbook filter chip: show only basal changes", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "القاعدية" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaalinen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basale" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ベーサル" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaal" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podstawowy" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazală" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazálna" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazal" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "基础" + } + } + } + }, + "Basal %1$@ U (%2$@%%)" : { + "comment" : "Trends Insulin per day legend: average basal insulin per day and its share of the total. (1: units, 2: percentage number)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "القاعدية %1$@ وحدة (%2$@%%)" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál %1$@ U (%2$@%%)" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ E (%2$@ %%)" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ IE (%2$@ %%)" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ U (%2$@%%)" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaali %1$@ U (%2$@ %%)" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ U (%2$@ %%)" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal U %1$@ (%2$@%%)" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ U (%2$@%%)" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basale %1$@ U (%2$@%%)" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ベーサル %1$@ 単位(%2$@%%)" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ E (%2$@ %%)" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaal %1$@ E (%2$@%%)" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baza %1$@ J (%2$@%%)" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ U (%2$@%%)" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazală %1$@ U (%2$@%%)" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал %1$@ Ед. (%2$@%%)" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál %1$@ j (%2$@%%)" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ E (%2$@ %%)" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazal %1$@ Ü (%%%2$@)" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал %1$@ U (%2$@%%)" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ U (%2$@%%)" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "基础 %1$@ U(%2$@%%)" + } + } + } + }, + "Basal adjustments" : { + "comment" : "Logbook row title summarising the temp basals Loop set in a day Title of the list of every temp basal Loop set in a day", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعديلات القاعدية" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Úpravy bazálu" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaljusteringer" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basalanpassungen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajustes de basal" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaalisäädöt" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajustements du basal" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "התאמות Basal" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal-módosítások" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Regolazioni basale" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ベーサル調整" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaljusteringer" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaalaanpassingen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zmiany bazy" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajustes de basal" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajustări bazală" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Изменения базала" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Úpravy bazálu" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaljusteringar" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazal ayarlamaları" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Зміни базалу" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Điều chỉnh Basal" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "基础率调整" + } + } + } + }, + "basal and bolus" : { + "comment" : "Trends Insulin per day card subtitle when each bar is one day's basal and bolus", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "القاعدية و Bolus" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "bazál a bolus" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "basal og bolus" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal und Bolus" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "basal y bolo" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "basaali ja bolus" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "basal et bolus" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal ו-Bolus" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "basal és bólus" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "basale e bolo" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ベーサルとボーラス" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "basal og bolus" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "basaal en bolus" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "baza i bolus" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "basal e bolus" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "bazală și bolus" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "базал и болюс" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "bazál a bolus" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "basal och bolus" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "bazal ve bolus" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "базал і болюс" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal và Bolus" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "基础和大剂量" + } + } + } + }, + "Basal given" : { + "comment" : "Chart legend: filled area is basal insulin actually delivered", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "القاعدية المُعطاة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podaný bazál" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Givet basal" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abgegebene Basalrate" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal administrada" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annettu basaali" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal administré" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal שניתן" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Leadott basal" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basale erogata" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "注入済みベーサル" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gitt basal" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toegediend basaal" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podana baza" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal entregue" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazală administrată" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Поданный базал" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podaný bazál" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Given basal" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verilen bazal" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Поданий базал" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal đã tiêm" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已输注基础" + } + } + } + }, + "Basal resumed" : { + "comment" : "Logbook row title: insulin delivery resumed after a suspend", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "استئناف القاعدية" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál obnoven" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal genoptaget" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal fortgesetzt" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal reanudada" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaali jatkuu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal repris" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal חודש" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal folytatva" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basale ripresa" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ベーサル再開" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal gjenopptatt" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaal hervat" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baza wznowiona" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal retomada" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazală reluată" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал возобновлён" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál obnovený" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal återupptagen" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazal devam ettirildi" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал відновлено" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã tiếp tục Basal" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "基础已恢复" + } + } + } + }, + "Basal suspended" : { + "comment" : "Logbook row title: insulin delivery was suspended", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إيقاف القاعدية مؤقتًا" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál pozastaven" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal suspenderet" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal unterbrochen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal suspendida" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaali pysäytetty" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal suspendu" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal הושהה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal felfüggesztve" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basale sospesa" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ベーサル一時停止" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal stanset" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaal onderbroken" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baza wstrzymana" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal suspensa" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazală suspendată" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал приостановлен" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál pozastavený" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal pausad" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazal askıya alındı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал призупинено" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã tạm ngưng Basal" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "基础已暂停" + } + } + } + }, + "Bolus %1$@ U (%2$@%%)" : { + "comment" : "Trends Insulin per day legend: average bolus insulin per day and its share of the total. (1: units, 2: percentage number)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ وحدة (%2$@%%)" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ U (%2$@%%)" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ E (%2$@ %%)" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ IE (%2$@ %%)" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolo %1$@ U (%2$@%%)" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ U (%2$@ %%)" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ U (%2$@ %%)" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus U %1$@ (%2$@%%)" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bólus %1$@ U (%2$@%%)" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolo %1$@ U (%2$@%%)" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ボーラス %1$@ 単位(%2$@%%)" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ E (%2$@ %%)" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ E (%2$@%%)" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ J (%2$@%%)" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ U (%2$@%%)" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ U (%2$@%%)" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Болюс %1$@ Ед. (%2$@%%)" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ j (%2$@%%)" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ E (%2$@ %%)" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ Ü (%%%2$@)" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Болюс %1$@ U (%2$@%%)" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ U (%2$@%%)" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "大剂量 %1$@ U(%2$@%%)" + } + } + } + }, + "Boluses per day" : { + "comment" : "Trends summary tile: average number of manual boluses per day", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "جرعات Bolus يوميًا" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolusů denně" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boluser pr. dag" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boli pro Tag" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolos por día" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boluksia päivässä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus par jour" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus ליום" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bólusok naponta" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boli al giorno" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日のボーラス回数" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boluser per dag" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolussen per dag" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolusy dziennie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus por dia" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolusuri pe zi" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Болюсов в день" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolusy za deň" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolusar per dag" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Günlük bolus sayısı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Болюсів на день" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Số lần Bolus mỗi ngày" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "每日大剂量次数" + } + } + } + }, + "Carbs" : { + "comment" : "Label of a tile showing the day's total carbohydrate Logbook filter chip: show only carb entries Logbook row title: a carb entry", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbs" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sacharidy" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kulhydrater" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "KH" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbohidratos" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiilihydraatit" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucides" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbs" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Szénhidrát" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carb." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "カーボ" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karbohydrater" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Koolhydraten" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Węglowodany" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbs" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbohidrați" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Углеводы" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sacharidy" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kolhydrater" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karb" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вуглеводи" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbs" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "碳水化合物" + } + } + } + }, + "Carbs per day" : { + "comment" : "Trends summary tile: average grams of carbohydrate entered per day", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الكارب يوميًا" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sacharidy denně" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kulhydrater pr. dag" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "KH pro Tag" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbohidratos por día" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiilihydraatit päivässä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucides par jour" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "פחמימות ליום" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Szénhidrát naponta" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carboidrati al giorno" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日のカーボ" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karbohydrater per dag" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Koolhydraten per dag" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Węglowodany dziennie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbs por dia" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbohidrați pe zi" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Углеводов в день" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sacharidy za deň" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kolhydrater per dag" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Günlük karb" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вуглеводів на день" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbs mỗi ngày" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "每日碳水" + } + } + } + }, + "Changes with the home screen's light or dark appearance" : { + "comment" : "Description of the app icon that follows the home screen appearance", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تتغير مع المظهر الفاتح أو الداكن للشاشة الرئيسية" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mění se podle světlého nebo tmavého vzhledu plochy" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skifter med hjemmeskærmens lyse eller mørke udseende" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wechselt mit der hellen oder dunklen Darstellung des Home-Bildschirms" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cambia con la apariencia clara u oscura de la pantalla de inicio" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vaihtuu kotinäytön vaalean tai tumman ulkoasun mukaan" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suit l'apparence claire ou sombre de l'écran d'accueil" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "משתנה בהתאם למראה הבהיר או הכהה של מסך הבית" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A kezdőképernyő világos vagy sötét megjelenését követi" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cambia con l'aspetto chiaro o scuro della schermata Home" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ホーム画面のライト/ダークに合わせて変わります" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Endres med det lyse eller mørke utseendet på Hjem-skjermen" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Past zich aan de lichte of donkere weergave van het beginscherm aan" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zmienia się wraz z jasnym lub ciemnym wyglądem ekranu początkowego" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Muda com a aparência clara ou escura da tela de início" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Se schimbă după aspectul luminos sau întunecat al ecranului principal" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Меняется вместе со светлым или тёмным оформлением экрана «Домой»" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mení sa podľa svetlého alebo tmavého vzhľadu plochy" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Följer hemskärmens ljusa eller mörka utseende" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ana ekranın açık veya koyu görünümüne göre değişir" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Змінюється разом зі світлим або темним виглядом початкового екрана" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thay đổi theo giao diện sáng hoặc tối của màn hình chính" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "随主屏幕的浅色或深色外观变化" + } + } + } + }, + "Classic" : { + "comment" : "Name of Loop's original app icon", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "كلاسيكي" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Klasická" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Klassisk" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Klassisch" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Clásico" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Klassinen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Classique" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "קלאסי" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Klasszikus" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Classica" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クラシック" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Klassisk" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Klassiek" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Klasyczna" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Clássico" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Clasică" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Классический" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Klasická" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Klassisk" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Klasik" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Класична" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cổ điển" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "经典" + } + } + } + }, + "Closed loop" : { + "comment" : "Trends Loop status: time Loop was running in closed loop", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "حلقة مغلقة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavřená smyčka" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Circuito cerrado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suljettu säätö" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boucle fermée" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zárt hurok" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop chiuso" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クローズドループ" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actieve loop" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pętla zamknięta" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ciclo fechado" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buclă închisă" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутый цикл" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavretá slučka" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sluten loop" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapalı döngü" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутий цикл" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vòng lặp kín" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "闭环" + } + } + } + }, + "Closed loop is off: Loop recommends but doesn't adjust insulin." : { + "comment" : "Message in the alert shown when tapping the Loop status on the Now screen while closed loop is off", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الحلقة المغلقة متوقفة: يقدّم Loop توصيات لكنه لا يعدّل الأنسولين." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavřená smyčka je vypnutá: Loop doporučuje, ale inzulín neupravuje." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop er slået fra: Loop anbefaler, men justerer ikke insulin." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop ist aus: Loop empfiehlt, passt das Insulin aber nicht an." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "El circuito cerrado está desactivado: Loop recomienda pero no ajusta la insulina." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suljettu säätö on pois päältä: Loop suosittelee, mutta ei säädä insuliinia." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "La boucle fermée est désactivée : Loop recommande mais n'ajuste pas l'insuline." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop כבוי: Loop ממליץ אך אינו מתאים את האינסולין." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A zárt hurok ki van kapcsolva: a Loop javasol, de nem módosítja az inzulint." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Il loop chiuso è disattivato: Loop suggerisce ma non regola l'insulina." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クローズドループはオフです:Loopは推奨のみ行い、インスリンを調整しません。" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop er av: Loop anbefaler, men justerer ikke insulin." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actieve loop staat uit: Loop geeft advies maar past de insuline niet aan." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pętla zamknięta jest wyłączona: Loop zaleca, ale nie dostosowuje insuliny." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "O ciclo fechado está desligado: o Loop recomenda, mas não ajusta a insulina." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bucla închisă este oprită: Loop recomandă, dar nu ajustează insulina." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутый цикл выключен: Loop даёт рекомендации, но не регулирует инсулин." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavretá slučka je vypnutá: Loop odporúča, ale inzulín neupravuje." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sluten loop är av: Loop ger förslag men justerar inte insulinet." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapalı döngü kapalı: Loop öneride bulunur ancak insülini ayarlamaz." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутий цикл вимкнено: Loop дає рекомендації, але не регулює інсулін." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vòng lặp kín đang tắt: Loop chỉ đưa ra khuyến nghị và không điều chỉnh insulin." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "闭环已关闭:Loop 只给出建议,不会调整胰岛素。" + } + } + } + }, + "Closed loop is on." : { + "comment" : "Message in the alert shown when tapping the Loop status on the Now screen while closed loop is on", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الحلقة المغلقة مفعّلة." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavřená smyčka je zapnutá." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop er slået til." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop ist an." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "El circuito cerrado está activado." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suljettu säätö on päällä." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "La boucle fermée est activée." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop פועל." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A zárt hurok be van kapcsolva." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Il loop chiuso è attivo." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クローズドループはオンです。" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop er på." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actieve loop staat aan." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pętla zamknięta jest włączona." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "O ciclo fechado está ligado." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bucla închisă este pornită." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутый цикл включён." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavretá slučka je zapnutá." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sluten loop är på." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapalı döngü açık." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутий цикл увімкнено." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vòng lặp kín đang bật." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "闭环已开启。" + } + } + } + }, + "Closed loop off" : { + "comment" : "Reason shown for a stretch of time when Loop was in open loop because closed loop was turned off", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الحلقة المغلقة متوقفة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavřená smyčka vypnuta" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop slået fra" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop aus" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Circuito cerrado desactivado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suljettu säätö pois" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boucle fermée désactivée" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop כבוי" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zárt hurok kikapcsolva" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop chiuso disattivato" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クローズドループ オフ" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop av" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actieve loop uit" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pętla zamknięta wyłączona" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ciclo fechado desligado" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buclă închisă oprită" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутый цикл выключен" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavretá slučka vypnutá" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sluten loop av" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapalı döngü kapalı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутий цикл вимкнено" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vòng lặp kín tắt" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "闭环已关闭" + } + } + } + }, + "Closed loop paused · %1$@" : { + "comment" : "Status pill on the Now screen: closed loop is switched on but paused (e.g. no CGM data), and Loop last ran this long ago. (1: duration, e.g. 3m)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الحلقة المغلقة متوقفة مؤقتًا · %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavřená smyčka pozastavena · %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop sat på pause · %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop pausiert · %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Circuito cerrado en pausa · %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suljettu säätö tauolla · %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boucle fermée en pause · %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop מושהה · %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zárt hurok szüneteltetve · %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop chiuso in pausa · %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クローズドループ一時停止中 · %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop satt på pause · %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actieve loop gepauzeerd · %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pętla zamknięta wstrzymana · %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ciclo fechado pausado · %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buclă închisă în pauză · %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутый цикл на паузе · %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavretá slučka pozastavená · %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sluten loop pausad · %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapalı döngü duraklatıldı · %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутий цикл на паузі · %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vòng lặp kín tạm dừng · %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "闭环已暂停 · %1$@" + } + } + } + }, + "Closed loop paused · not run yet" : { + "comment" : "Status pill on the Now screen: closed loop is switched on but paused (e.g. no CGM data), and Loop has never completed", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الحلقة المغلقة متوقفة مؤقتًا · لم يعمل بعد" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavřená smyčka pozastavena · zatím neproběhla" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop sat på pause · ikke kørt endnu" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop pausiert · noch nicht gelaufen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Circuito cerrado en pausa · aún no se ha ejecutado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suljettu säätö tauolla · ei vielä ajettu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boucle fermée en pause · pas encore exécuté" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop מושהה · טרם רץ" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zárt hurok szüneteltetve · még nem futott" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop chiuso in pausa · non ancora eseguito" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クローズドループ一時停止中 · 未実行" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop satt på pause · ikke kjørt ennå" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actieve loop gepauzeerd · nog niet gedraaid" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pętla zamknięta wstrzymana · jeszcze nie działała" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ciclo fechado pausado · ainda não executou" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buclă închisă în pauză · nu a rulat încă" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутый цикл на паузе · ещё не запускался" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavretá slučka pozastavená · ešte neprebehla" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sluten loop pausad · inte körd än" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapalı döngü duraklatıldı · henüz çalışmadı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутий цикл на паузі · ще не запускався" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vòng lặp kín tạm dừng · chưa chạy" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "闭环已暂停 · 尚未运行" + } + } + } + }, + "Closed loop · %1$@" : { + "comment" : "Status pill on the Now screen: closed loop is on and Loop last ran this long ago. (1: duration, e.g. 3m)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "حلقة مغلقة · %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavřená smyčka · %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop · %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop · %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Circuito cerrado · %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suljettu säätö · %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boucle fermée · %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop · %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zárt hurok · %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop chiuso · %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クローズドループ · %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop · %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actieve loop · %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pętla zamknięta · %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ciclo fechado · %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buclă închisă · %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутый цикл · %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavretá slučka · %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sluten loop · %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapalı döngü · %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутий цикл · %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vòng lặp kín · %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "闭环 · %1$@" + } + } + } + }, + "Closed loop · not run yet" : { + "comment" : "Status pill on the Now screen: closed loop is on but Loop has never completed", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "حلقة مغلقة · لم يعمل بعد" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavřená smyčka · zatím neproběhla" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop · ikke kørt endnu" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop · noch nicht gelaufen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Circuito cerrado · aún no se ha ejecutado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suljettu säätö · ei vielä ajettu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boucle fermée · pas encore exécuté" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop · טרם רץ" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zárt hurok · még nem futott" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop chiuso · non ancora eseguito" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クローズドループ · 未実行" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop · ikke kjørt ennå" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actieve loop · nog niet gedraaid" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pętla zamknięta · jeszcze nie działała" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ciclo fechado · ainda não executou" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buclă închisă · nu a rulat încă" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутый цикл · ещё не запускался" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavretá slučka · ešte neprebehla" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sluten loop · inte körd än" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapalı döngü · henüz çalışmadı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутий цикл · ще не запускався" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vòng lặp kín · chưa chạy" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "闭环 · 尚未运行" + } + } + } + }, + "COB" : { + "comment" : "Abbreviation for carbs on board (active carbohydrate) Abbreviation for carbs on board; label of a tile on the Now screen", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "GA" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + } + } + }, + "COB (g, right)" : { + "comment" : "Chart legend: carbs on board in grams, on the right axis", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g، يمين)" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, vpravo)" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, højre)" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, rechts)" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, derecha)" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, oikea)" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "GA (g, droite)" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, ימין)" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, jobb)" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, destra)" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB(g、右)" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, høyre)" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, rechts)" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, prawa oś)" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, direita)" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, dreapta)" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (г, справа)" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, vpravo)" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, höger)" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (gr, sağ)" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (г, праворуч)" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB (g, bên phải)" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB(克,右轴)" + } + } + } + }, + "Configuration error" : { + "comment" : "Reason Loop could not run: its settings are incomplete", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "خطأ في الإعدادات" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chyba konfigurace" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfigurationsfejl" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfigurationsfehler" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error de configuración" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Määritysvirhe" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur de configuration" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "שגיאת תצורה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfigurációs hiba" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errore di configurazione" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定エラー" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfigurasjonsfeil" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuratiefout" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd konfiguracji" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erro de configuração" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eroare de configurare" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ошибка настроек" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chyba konfigurácie" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfigurationsfel" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yapılandırma hatası" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Помилка налаштувань" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi cấu hình" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "配置错误" + } + } + } + }, + "Connection error" : { + "comment" : "Reason Loop could not run: no connected devices, or a device connection failed", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "خطأ في الاتصال" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chyba připojení" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Forbindelsesfejl" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verbindungsfehler" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error de conexión" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yhteysvirhe" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur de connexion" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "שגיאת חיבור" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapcsolódási hiba" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errore di connessione" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "接続エラー" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tilkoblingsfeil" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verbindingsfout" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd połączenia" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erro de conexão" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eroare de conexiune" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ошибка подключения" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chyba pripojenia" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anslutningsfel" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bağlantı hatası" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Помилка підключення" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi kết nối" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连接错误" + } + } + } + }, + "Couldn't delete" : { + "comment" : "Alert title when deleting a Logbook entry fails", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعذّر الحذف" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nelze smazat" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke slette" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Löschen fehlgeschlagen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pudo eliminar" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poisto epäonnistui" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suppression impossible" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "לא ניתן היה למחוק" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nem sikerült törölni" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossibile eliminare" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "削除できませんでした" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke slette" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verwijderen mislukt" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie udało się usunąć" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Não foi possível apagar" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nu s-a putut șterge" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не удалось удалить" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nedá sa odstrániť" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunde inte ta bort" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Silinemedi" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не вдалося видалити" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể xóa" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法删除" + } + } + } + }, + "Couldn't export" : { + "comment" : "Alert title when exporting the Trends PDF or CSV fails", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعذّر التصدير" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nelze exportovat" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke eksportere" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Export fehlgeschlagen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pudo exportar" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vienti epäonnistui" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportation impossible" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "לא ניתן היה לייצא" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nem sikerült exportálni" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossibile esportare" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "書き出せませんでした" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke eksportere" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exporteren mislukt" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie udało się wyeksportować" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Não foi possível exportar" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nu s-a putut exporta" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не удалось экспортировать" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nedá sa exportovať" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunde inte exportera" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dışa aktarılamadı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не вдалося експортувати" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể xuất" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法导出" + } + } + } + }, + "Couldn't load Logbook: %1$@" : { + "comment" : "Logbook error when its history can't be read. (1: system error description)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعذّر تحميل السجل: %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nelze načíst deník: %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke indlæse logbogen: %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Logbuch konnte nicht geladen werden: %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pudo cargar el registro: %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lokikirjaa ei voitu ladata: %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossible de charger le journal : %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "לא ניתן היה לטעון את היומן: %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nem sikerült betölteni a naplót: %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossibile caricare il diario: %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ログブックを読み込めませんでした:%1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke laste inn loggboken: %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Logboek kan niet worden geladen: %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie udało się wczytać dziennika: %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Não foi possível carregar o diário: %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nu s-a putut încărca jurnalul: %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не удалось загрузить журнал: %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Denník sa nedá načítať: %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunde inte läsa in loggboken: %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kayıt Defteri yüklenemedi: %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не вдалося завантажити журнал: %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể tải Nhật ký: %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法载入日志:%1$@" + } + } + } + }, + "Couldn't load recent CGM readings" : { + "comment" : "Prediction chart on the Now screen when recent glucose couldn't be read", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعذّر تحميل قراءات CGM الأخيرة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nelze načíst nedávné hodnoty CGM" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke indlæse de seneste CGM-målinger" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktuelle CGM-Werte konnten nicht geladen werden" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pudieron cargar las lecturas recientes del CGM" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Viimeisimpiä CGM-lukemia ei voitu ladata" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossible de charger les mesures CGM récentes" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "לא ניתן היה לטעון קריאות CGM אחרונות" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nem sikerült betölteni a legutóbbi CGM-értékeket" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossibile caricare le letture CGM recenti" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "最近のCGM値を読み込めませんでした" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke laste inn nylige CGM-målinger" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Recente CGM-waarden kunnen niet worden geladen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie udało się wczytać ostatnich odczytów CGM" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Não foi possível carregar as leituras recentes do CGM" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nu s-au putut încărca citirile CGM recente" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не удалось загрузить последние показания CGM" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nedajú sa načítať nedávne hodnoty CGM" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunde inte läsa in senaste CGM-värden" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Son CGM okumaları yüklenemedi" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не вдалося завантажити останні показники CGM" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể tải các chỉ số CGM gần đây" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法载入最近的 CGM 读数" + } + } + } + }, + "Couldn't load this day: %1$@" : { + "comment" : "Day page error when the day's history can't be read. (1: system error description)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعذّر تحميل هذا اليوم: %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nelze načíst tento den: %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke indlæse denne dag: %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dieser Tag konnte nicht geladen werden: %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pudo cargar este día: %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Päivää ei voitu ladata: %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossible de charger cette journée : %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "לא ניתן היה לטעון יום זה: %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nem sikerült betölteni ezt a napot: %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossibile caricare questo giorno: %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "この日を読み込めませんでした:%1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke laste inn denne dagen: %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deze dag kan niet worden geladen: %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie udało się wczytać tego dnia: %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Não foi possível carregar este dia: %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nu s-a putut încărca această zi: %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не удалось загрузить этот день: %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tento deň sa nedá načítať: %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunde inte läsa in dagen: %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bu gün yüklenemedi: %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не вдалося завантажити цей день: %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể tải ngày này: %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法载入这一天:%1$@" + } + } + } + }, + "Couldn't load today's history: %1$@" : { + "comment" : "Shown on the Now screen's Today so far card when history couldn't be read. (1: system error description)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعذّر تحميل سجل اليوم: %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nelze načíst dnešní historii: %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke indlæse dagens historik: %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Der heutige Verlauf konnte nicht geladen werden: %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pudo cargar el historial de hoy: %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tämän päivän historiaa ei voitu ladata: %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossible de charger l'historique du jour : %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "לא ניתן היה לטעון את היסטוריית היום: %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nem sikerült betölteni a mai előzményeket: %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossibile caricare la cronologia di oggi: %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今日の履歴を読み込めませんでした:%1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke laste inn dagens historikk: %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "De geschiedenis van vandaag kan niet worden geladen: %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie udało się wczytać dzisiejszej historii: %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Não foi possível carregar o histórico de hoje: %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nu s-a putut încărca istoricul de azi: %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не удалось загрузить историю за сегодня: %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dnešná história sa nedá načítať: %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunde inte läsa in dagens historik: %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bugünün geçmişi yüklenemedi: %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не вдалося завантажити історію за сьогодні: %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể tải lịch sử hôm nay: %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法载入今天的历史记录:%1$@" + } + } + } + }, + "Couldn't load Trends: %1$@" : { + "comment" : "Trends error message when the history can't be read. (1: error description)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعذّر تحميل الاتجاهات: %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nelze načíst trendy: %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke indlæse Tendenser: %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trends konnten nicht geladen werden: %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pudieron cargar las tendencias: %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trendejä ei voitu ladata: %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossible de charger les tendances : %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "לא ניתן היה לטעון מגמות: %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nem sikerült betölteni a trendeket: %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossibile caricare le tendenze: %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "トレンドを読み込めませんでした:%1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke laste inn Trender: %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trends kunnen niet worden geladen: %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie udało się wczytać trendów: %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Não foi possível carregar as tendências: %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nu s-au putut încărca tendințele: %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не удалось загрузить тренды: %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trendy sa nedajú načítať: %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunde inte läsa in Trender: %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eğilimler yüklenemedi: %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не вдалося завантажити тренди: %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không thể tải Xu hướng: %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法载入趋势:%1$@" + } + } + } + }, + "Covers %1$@: Loop keeps 7 days of runs, and closed or open loop is recorded from when the new interface was first opened." : { + "comment" : "Trends Loop status footnote when the status covers only part of the period. (1: date range covered)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يغطي %1$@: يحتفظ Loop بسجل تشغيلات 7 أيام، وتُسجَّل الحلقة المغلقة أو المفتوحة منذ أول فتح للواجهة الجديدة." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pokrývá %1$@: Loop uchovává běhy za 7 dní a uzavřená či otevřená smyčka se zaznamenává od prvního otevření nového rozhraní." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dækker %1$@: Loop gemmer kørsler i 7 dage, og lukket eller åbent Loop registreres fra første gang den nye brugerflade blev åbnet." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Umfasst %1$@: Loop speichert Durchläufe 7 Tage lang, und Closed oder Open Loop wird erst ab dem ersten Öffnen der neuen Oberfläche aufgezeichnet." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cubre %1$@: Loop guarda 7 días de ejecuciones, y el circuito cerrado o abierto se registra desde la primera vez que se abrió la nueva interfaz." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kattaa %1$@: Loop säilyttää 7 päivän ajot, ja suljettu tai avoin säätö tallennetaan siitä lähtien, kun uusi käyttöliittymä avattiin ensimmäisen kerran." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couvre %1$@ : Loop conserve 7 jours d'exécutions, et la boucle fermée ou ouverte est enregistrée depuis la première ouverture de la nouvelle interface." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מכסה %1$@: Loop שומר 7 ימים של הרצות, ו-Closed Loop או Open Loop נרשמים מאז הפתיחה הראשונה של הממשק החדש." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lefedett időszak: %1$@. A Loop 7 napnyi futást őriz meg, a zárt vagy nyitott hurok pedig az új felület első megnyitásától kerül rögzítésre." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Copre %1$@: Loop conserva 7 giorni di esecuzioni e il loop chiuso o aperto è registrato dalla prima apertura della nuova interfaccia." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "対象期間 %1$@:Loopは実行記録を7日間保持し、クローズド/オープンループは新しいインターフェイスを初めて開いた時点から記録されます。" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dekker %1$@: Loop lagrer kjøringer i 7 dager, og lukket eller åpen Loop registreres fra første gang det nye grensesnittet ble åpnet." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Omvat %1$@: Loop bewaart 7 dagen aan loop-runs, en actieve of open loop wordt vastgelegd vanaf het moment dat de nieuwe interface voor het eerst werd geopend." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obejmuje %1$@: Loop przechowuje cykle z 7 dni, a pętla zamknięta lub otwarta jest zapisywana od pierwszego otwarcia nowego interfejsu." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cobre %1$@: o Loop guarda 7 dias de execuções, e o ciclo fechado ou aberto é registrado desde a primeira vez que a nova interface foi aberta." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Acoperă %1$@: Loop păstrează 7 zile de rulări, iar bucla închisă sau deschisă este înregistrată de la prima deschidere a noii interfețe." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Охвачено: %1$@. Loop хранит запуски за 7 дней, а замкнутый или открытый цикл записывается с первого открытия нового интерфейса." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pokrýva %1$@: Loop uchováva behy za 7 dní a uzavretá či otvorená slučka sa zaznamenáva od prvého otvorenia nového rozhrania." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Omfattar %1$@: Loop sparar 7 dagars körningar, och sluten eller öppen loop registreras från när det nya gränssnittet först öppnades." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapsanan dönem %1$@: Loop 7 günlük çalışma kaydı tutar; kapalı veya açık döngü, yeni arayüzün ilk açıldığı andan itibaren kaydedilir." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Охоплено: %1$@. Loop зберігає запуски за 7 днів, а замкнутий чи відкритий цикл записується з першого відкриття нового інтерфейсу." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bao gồm %1$@: Loop lưu các lần chạy trong 7 ngày, và trạng thái vòng lặp kín hoặc mở được ghi lại từ khi giao diện mới được mở lần đầu." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "覆盖 %1$@:Loop 保留 7 天的运行记录,闭环或开环状态从首次打开新界面时开始记录。" + } + } + } + }, + "CSV, one row per day" : { + "comment" : "Trends export menu item: share a CSV spreadsheet file with one row for each day", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV، صف واحد لكل يوم" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, jeden řádek na den" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, én række pr. dag" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, eine Zeile pro Tag" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, una fila por día" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, yksi rivi päivää kohden" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, une ligne par jour" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, שורה אחת לכל יום" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, naponta egy sor" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, una riga al giorno" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV(1日1行)" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, én rad per dag" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, één rij per dag" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, jeden wiersz na dzień" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, uma linha por dia" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, un rând pe zi" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, одна строка на день" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, jeden riadok na deň" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, en rad per dag" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, gün başına bir satır" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, один рядок на день" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV, mỗi ngày một dòng" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "CSV,每天一行" + } + } + } + }, + "Daily pattern" : { + "comment" : "Trends card title: the ambulatory glucose profile, glucose by time of day across the period", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "النمط اليومي" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Denní profil" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Døgnmønster" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tagesprofil" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Patrón diario" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vuorokausiprofiili" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profil journalier" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "דפוס יומי" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Napi mintázat" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Andamento giornaliero" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日内パターン" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Døgnmønster" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dagpatroon" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profil dobowy" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Padrão diário" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tipar zilnic" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Суточный профиль" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Denný profil" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dygnsmönster" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Günlük örüntü" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Добовий профіль" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mẫu hằng ngày" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "每日模式" + } + } + } + }, + "Daily pattern over %1$@. Median highest %2$@ at %3$@, lowest %4$@ at %5$@" : { + "comment" : "VoiceOver label for the Trends Daily pattern chart. (1: days with readings, e.g. 14 days; 2: highest median glucose; 3: time of day; 4: lowest median glucose; 5: time of day)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "النمط اليومي خلال %1$@. أعلى وسيط %2$@ عند %3$@، وأدنى وسيط %4$@ عند %5$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Denní profil za %1$@. Nejvyšší medián %2$@ v %3$@, nejnižší %4$@ v %5$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Døgnmønster over %1$@. Median højest %2$@ kl. %3$@, lavest %4$@ kl. %5$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tagesprofil über %1$@. Median am höchsten %2$@ um %3$@, am niedrigsten %4$@ um %5$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Patrón diario de %1$@. Mediana más alta %2$@ a las %3$@, más baja %4$@ a las %5$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vuorokausiprofiili %1$@ ajalta. Korkein mediaani %2$@ klo %3$@, matalin %4$@ klo %5$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profil journalier sur %1$@. Médiane la plus haute %2$@ à %3$@, la plus basse %4$@ à %5$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "דפוס יומי במשך %1$@. חציון גבוה ביותר %2$@ ב-%3$@, נמוך ביותר %4$@ ב-%5$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Napi mintázat, %1$@. Legmagasabb medián %2$@ ekkor: %3$@, legalacsonyabb %4$@ ekkor: %5$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Andamento giornaliero su %1$@. Mediana più alta %2$@ alle %3$@, più bassa %4$@ alle %5$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@の日内パターン。中央値の最高は%3$@の%2$@、最低は%5$@の%4$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Døgnmønster over %1$@. Median høyest %2$@ kl. %3$@, lavest %4$@ kl. %5$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dagpatroon over %1$@. Mediaan hoogst %2$@ om %3$@, laagst %4$@ om %5$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profil dobowy z %1$@. Najwyższa mediana %2$@ o %3$@, najniższa %4$@ o %5$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Padrão diário em %1$@. Mediana mais alta %2$@ às %3$@, mais baixa %4$@ às %5$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tipar zilnic pe %1$@. Mediana cea mai mare %2$@ la %3$@, cea mai mică %4$@ la %5$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Суточный профиль за %1$@. Наибольшая медиана %2$@ в %3$@, наименьшая %4$@ в %5$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Denný profil za %1$@. Najvyšší medián %2$@ o %3$@, najnižší %4$@ o %5$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dygnsmönster över %1$@. Högsta median %2$@ kl. %3$@, lägsta %4$@ kl. %5$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ boyunca günlük örüntü. En yüksek medyan %3$@ saatinde %2$@, en düşük %5$@ saatinde %4$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Добовий профіль за %1$@. Найвища медіана %2$@ о %3$@, найнижча %4$@ о %5$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mẫu hằng ngày trong %1$@. Trung vị cao nhất %2$@ lúc %3$@, thấp nhất %4$@ lúc %5$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@的每日模式。中位数最高 %2$@(%3$@),最低 %4$@(%5$@)" + } + } + } + }, + "Daily pattern: not enough days" : { + "comment" : "VoiceOver label for the Trends Daily pattern chart when fewer than 5 days have readings", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "النمط اليومي: لا توجد أيام كافية" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Denní profil: málo dní" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Døgnmønster: ikke nok dage" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tagesprofil: nicht genug Tage" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Patrón diario: no hay suficientes días" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vuorokausiprofiili: liian vähän päiviä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profil journalier : pas assez de jours" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "דפוס יומי: אין מספיק ימים" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Napi mintázat: nincs elég nap" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Andamento giornaliero: giorni insufficienti" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日内パターン:日数が不足しています" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Døgnmønster: ikke nok dager" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dagpatroon: niet genoeg dagen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Profil dobowy: za mało dni" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Padrão diário: dias insuficientes" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tipar zilnic: prea puține zile" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Суточный профиль: недостаточно дней" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Denný profil: málo dní" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dygnsmönster: för få dagar" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Günlük örüntü: yeterli gün yok" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Добовий профіль: замало днів" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mẫu hằng ngày: không đủ số ngày" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "每日模式:天数不足" + } + } + } + }, + "Day" : { + "comment" : "Appearance option and app icon name: the light (daytime) version", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "نهار" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Den" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dag" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tag" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Día" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Päivä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jour" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "יום" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nap" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giorno" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dag" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dag" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dzień" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dia" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zi" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "День" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deň" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dag" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gündüz" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "День" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ngày" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "日" + } + } + } + }, + "Day (Trends period)" : { + "comment" : "Trends period picker: a period of one calendar day (not daytime)", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Day" + } + }, + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يوم" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Den" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dag" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tag" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Día" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Päivä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jour" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "יום" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nap" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giorno" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dag" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dag" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dzień" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dia" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zi" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "День" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deň" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dag" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gün" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "День" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ngày" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "日" + } + } + } + }, + "Day and Night" : { + "comment" : "Name of the app icon that follows the home screen's light or dark appearance", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "نهار وليل" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Den a noc" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dag og nat" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tag und Nacht" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Día y noche" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Päivä ja yö" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jour et nuit" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "יום ולילה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nap és éjszaka" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giorno e notte" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日と夜" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dag og natt" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dag en nacht" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dzień i noc" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dia e noite" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zi și noapte" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "День и ночь" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deň a noc" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dag och natt" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gündüz ve Gece" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "День і ніч" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ngày và Đêm" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "日与夜" + } + } + } + }, + "Edit" : { + "comment" : "Swipe action to edit a Logbook carb entry", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعديل" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Upravit" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rediger" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bearbeiten" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Editar" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Muokkaa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modifier" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "ערוך" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Szerkesztés" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modifica" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "編集" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rediger" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wijzig" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edytuj" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Editar" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Editați" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Изменить" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Upraviť" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Redigera" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Düzenle" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Змінити" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sửa" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "编辑" + } + } + } + }, + "Edit Carb Entry" : { + "comment" : "Title of the screen for editing a carb entry from the Logbook", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعديل إدخال الكارب" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Upravit záznam sacharidů" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rediger kulhydrater" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "KH-Eintrag bearbeiten" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Editar entrada de carbohidratos" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Muokkaa hiilihydraatteja" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modifier les glucides" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "עריכת פחמימות" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Szénhidrát szerkesztése" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modifica carboidrati inseriti" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "糖質の記入を編集" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rediger karbohydrater" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Koolhydraatinvoer wijzigen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edytuj wprowadzone węglowodany" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Editar carbs" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Editați intrarea de carbohidrați" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Редактировать запись углеводов" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Upraviť záznam sacharidov" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Redigera kolhydrater" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karb Girişini Düzenle" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Редагувати запис вуглеводів" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sửa khai báo Carb" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "编辑碳水记录" + } + } + } + }, + "Eventually %1$@ %2$@" : { + "comment" : "Prediction card on the Now screen: Loop's eventual predicted glucose. (1: glucose value; 2: glucose unit, e.g. mmol/L)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "في النهاية %1$@ %2$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nakonec %1$@ %2$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Med tiden %1$@ %2$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voraussichtlich %1$@ %2$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Al final %1$@ %2$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ennuste %1$@ %2$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finalement %1$@ %2$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eventually %1$@ %2$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Várható %1$@ %2$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Infine %1$@ %2$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "予想 %1$@ %2$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Omsider %1$@ %2$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uiteindelijk %1$@ %2$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Docelowo %1$@ %2$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "No final %1$@ %2$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "În cele din urmă %1$@ %2$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "В конечном итоге %1$@ %2$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nakoniec %1$@ %2$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Förväntat %1$@ %2$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nihai KŞ %1$@ %2$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Зрештою %1$@ %2$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết quả %1$@ %2$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "最终 %1$@ %2$@" + } + } + } + }, + "Export" : { + "comment" : "Trends menu title: export the period as a PDF report or CSV file", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تصدير" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportovat" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eksporter" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportieren" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportar" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vie" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exporter" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "ייצוא" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportálás" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Esporta" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "書き出し" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eksporter" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exporteer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eksportuj" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportar" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportați" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Экспорт" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportovať" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportera" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dışa Aktar" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Експорт" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xuất" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出" + } + } + } + }, + "From Apple Health: Loop keeps 7 days, so this day has no temp basal or schedule detail." : { + "comment" : "Day page note when the day is older than Loop's 7-day history and was read from Apple Health", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "من Apple Health: يحتفظ Loop بـ 7 أيام فقط، لذا لا توجد تفاصيل Temp Basal أو الجدول لهذا اليوم." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Z aplikace Zdraví: Loop uchovává 7 dní, takže pro tento den chybí podrobnosti o dočasném bazálu a plánu." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fra Apple Sundhed: Loop gemmer 7 dage, så denne dag har ingen detaljer om midlertidig basal eller tidsplan." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aus Apple Health: Loop speichert 7 Tage, daher gibt es für diesen Tag keine Details zu temporären Basalraten oder zum Zeitplan." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "De Apple Salud: Loop guarda 7 días, así que este día no tiene detalle de basal temporal ni de programación." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Terveydestä: Loop säilyttää 7 päivää, joten tältä päivältä ei ole tilapäisen basaalin tai ohjelman tietoja." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Depuis Apple Santé : Loop conserve 7 jours, donc ce jour n'a pas de détail de basal temp. ni de programmation." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מ-Apple Health: Loop שומר 7 ימים, ולכן אין ליום זה פרטי Temp Basal או תוכנית." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Az Apple Egészség appból: a Loop 7 napot őriz meg, így ehhez a naphoz nincsenek ideiglenes basal- és ütemezési részletek." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Da Apple Salute: Loop conserva 7 giorni, quindi questo giorno non ha dettagli su basale temporanea o programmazione." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appleヘルスケアから取得:Loopは7日間のみ保持するため、この日には一時ベーサルやスケジュールの詳細がありません。" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fra Apple Helse: Loop lagrer 7 dager, så denne dagen har ingen detaljer om midlertidig basal eller tidsplan." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uit Apple Health: Loop bewaart 7 dagen, dus deze dag heeft geen details over tijdelijk basaal of het schema." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Z aplikacji Zdrowie: Loop przechowuje 7 dni, więc dla tego dnia brak szczegółów bazy tymczasowej i harmonogramu." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Do app Saúde: o Loop guarda 7 dias, então este dia não tem detalhes de basal temporária nem da programação." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Din Apple Sănătate: Loop păstrează 7 zile, așa că această zi nu are detalii despre bazala temporară sau program." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Из приложения «Здоровье»: Loop хранит 7 дней, поэтому для этого дня нет данных о временном базале и расписании." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Z aplikácie Zdravie: Loop uchováva 7 dní, preto pre tento deň chýbajú podrobnosti o dočasnom bazáli a pláne." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Från Apple Hälsa: Loop sparar 7 dagar, så den här dagen saknar detaljer om temporär basal och schema." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Health'ten: Loop 7 gün saklar, bu nedenle bu gün için geçici bazal veya program ayrıntısı yok." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "З програми «Здоровʼя»: Loop зберігає 7 днів, тому для цього дня немає даних про тимчасовий базал і розклад." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Từ Apple Health: Loop chỉ lưu 7 ngày, nên ngày này không có chi tiết Temp Basal hoặc lịch biểu." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "来自 Apple 健康:Loop 只保留 7 天,因此这一天没有临时基础率或预设详情。" + } + } + } + }, + "Gaps" : { + "comment" : "Trends Loop status button and screen title: list of times Loop wasn't in closed loop", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الفجوات" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Výpadky" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Huller" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lücken" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Interrupciones" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Katkot" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Interruptions" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "פערים" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kimaradások" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Interruzioni" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "中断" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hull" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Onderbrekingen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Przerwy" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Interrupções" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Întreruperi" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пропуски" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Výpadky" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Luckor" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boşluklar" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пропуски" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gián đoạn" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "中断" + } + } + } + }, + "glucose %1$@" : { + "comment" : "Logbook row detail: glucose when the dose was given. (1: glucose value, e.g. 7.5)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "السكر %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "glukóza %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "glukose %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blutzucker %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "glucosa %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "glukoosi %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "glycémie %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "סוכר %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "glükóz %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "glicemia %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖値 %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "blodsukker %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "glucose %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "glukoza %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "glicose %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "glicemie %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "глюкоза %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "glykémia %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "glukos %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "KŞ %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "глюкоза %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "đường huyết %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖 %1$@" + } + } + } + }, + "glucose %1$@ falling" : { + "comment" : "Logbook row detail: glucose when the dose was given, and falling. (1: glucose value, e.g. 11.0)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "السكر %1$@ ينخفض" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "glukóza %1$@, klesá" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "glukose %1$@ faldende" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blutzucker %1$@ fallend" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "glucosa %1$@ bajando" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "glukoosi %1$@ laskeva" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "glycémie %1$@ en baisse" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "סוכר %1$@ יורד" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "glükóz %1$@, csökkenő" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "glicemia %1$@ in discesa" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖値 %1$@ 下降中" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "blodsukker %1$@ fallende" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "glucose %1$@ dalend" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "glukoza %1$@, spada" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "glicose %1$@ caindo" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "glicemie %1$@ în scădere" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "глюкоза %1$@, падает" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "glykémia %1$@, klesá" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "glukos %1$@ sjunkande" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "KŞ %1$@ düşüyor" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "глюкоза %1$@, падає" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "đường huyết %1$@ đang giảm" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖 %1$@ 下降中" + } + } + } + }, + "glucose %1$@ rising" : { + "comment" : "Logbook row detail: glucose when the dose was given, and rising. (1: glucose value, e.g. 11.0)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "السكر %1$@ يرتفع" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "glukóza %1$@, stoupá" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "glukose %1$@ stigende" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blutzucker %1$@ steigend" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "glucosa %1$@ subiendo" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "glukoosi %1$@ nouseva" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "glycémie %1$@ en hausse" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "סוכר %1$@ עולה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "glükóz %1$@, emelkedő" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "glicemia %1$@ in salita" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖値 %1$@ 上昇中" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "blodsukker %1$@ stigende" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "glucose %1$@ stijgend" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "glukoza %1$@, rośnie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "glicose %1$@ subindo" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "glicemie %1$@ în creștere" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "глюкоза %1$@, растёт" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "glykémia %1$@, stúpa" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "glukos %1$@ stigande" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "KŞ %1$@ yükseliyor" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "глюкоза %1$@, зростає" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "đường huyết %1$@ đang tăng" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖 %1$@ 上升中" + } + } + } + }, + "Glucose prediction unavailable" : { + "comment" : "VoiceOver label for the prediction chart when Loop has no prediction", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "توقع السكر غير متاح" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predikce glukózy není k dispozici" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoseforudsigelse ikke tilgængelig" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blutzuckervorhersage nicht verfügbar" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predicción de glucosa no disponible" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoosiennuste ei saatavilla" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prédiction de glycémie indisponible" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "תחזית סוכר אינה זמינה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glükózelőrejelzés nem érhető el" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Previsione glicemica non disponibile" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖値の予測はありません" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blodsukkerprognose ikke tilgjengelig" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosevoorspelling niet beschikbaar" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prognoza glukozy niedostępna" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Previsão de glicose indisponível" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predicția glicemiei indisponibilă" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Прогноз глюкозы недоступен" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predikcia glykémie nie je k dispozícii" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukosprognos ej tillgänglig" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kan şekeri tahmini yok" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Прогноз глюкози недоступний" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có dự đoán đường huyết" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖预测不可用" + } + } + } + }, + "Glucose too old" : { + "comment" : "Reason Loop could not run: the latest glucose reading was too old", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "قراءة السكر قديمة جدًا" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukóza je příliš stará" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukosemåling for gammel" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blutzuckerwert zu alt" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosa demasiado antigua" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoosi liian vanha" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glycémie trop ancienne" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "קריאת הסוכר ישנה מדי" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Túl régi glükózérték" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemia troppo vecchia" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖値が古すぎます" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blodsukkermåling for gammel" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosewaarde te oud" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoza zbyt stara" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicose muito antiga" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemie prea veche" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Данные глюкозы устарели" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glykémia je príliš stará" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukosvärdet är för gammalt" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kan şekeri verisi çok eski" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Дані глюкози застаріли" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dữ liệu đường huyết quá cũ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖数据过旧" + } + } + } + }, + "Average Glucose" : { + + }, + "Basal Rate" : { + + }, + "Basal Rate Schedule" : { + "comment" : "Details for configuration error when basal rate schedule is missing", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "جدول الضخ المستمر" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basalrateskema" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basalraten-Plan" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Perfil Basal" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaaliohjelma" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Programme débit basal" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal Rate Schedule" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tabella di velocità basale" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "基礎レートスケジュール" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tidsplan for basaldoser" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaalstandenschema" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Harmonogram dawki standardowej" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Programação da Taxa Basal" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Orar rate bazale" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Скорости базала" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Harmonogram bazálnej dávky" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaldosschema" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazal Oran Çizelgesi" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lịch biểu tiêm liều basal" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "基础率表" + } + } + } + }, + "Basal Rates" : { + "comment" : "The title of the basal rate profile screen\n The title text for the basal rate schedule", + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الضخ المستمر" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Úrovně bazálu" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basalrater" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basalrate" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal Rates" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tasas basales" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaalitasot" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Débits basaux" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal Rates" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Velocità basali" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "基礎レート" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal-satser" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaalstanden" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dawka Podstawowa (Baza)" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Taxas Basais" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rate bazale" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Скорости базала" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazálne dávky" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaldoser" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazal Oranlar" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lịch biểu tiêm liều nền" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "基础率" + } + } + } + }, + "Basal: " : { + + }, + "Based on your predicted glucose, no bolus is recommended." : { + "comment" : "Caption for bolus screen notice when no bolus is recommended for the predicted glucose", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baseret på din forventede glukose anbefales ingen bolus." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basierend auf Deinem vorhergesagten Blutzucker wird kein Bolus empfohlen." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basándose en su glucosa proyectada, no se recomienda ningún bolo." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sur la base de votre glycémie prévue, aucun bolus n’est recommandé." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בהתבסס על הגלוקוז החזוי שלך, לא מומלץ שום בולוס." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "In base alla glicemia prevista, non è consigliato alcun bolo." + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basert på ditt forventede blodsukker, anbefales ingen bolus." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Op basis van je voorspelde glucose, wordt een bolus niet aanbevolen." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Na podstawie przewidywanej glikemii nie zaleca się podawania bolusa." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pe baza glicemiei prognozate, nu se recomandă niciun bolus." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Основываясь на вашей прогнозируемой глюкозе, болюс не рекомендуется." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tahmini KŞ'ne bağlı olarak bolus önerilmez." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "根据您的预测血糖值,当前不建议注射大剂量。" + } + } + } + }, + "Because Omar has gone low while working outdoors in the past, he raises his preset correction range to help prevent another low." : { + + }, + "Before" : { + + }, + "Below range (<70): %d%% · goal <4%%" : { + "comment" : "TIR below-range summary" + }, + "Bluetooth\nOff" : { + "comment" : "Message to the user to that the bluetooth is off", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth slået fra" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth aus" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth\nApagado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth ei ole käytössä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth désactivé" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בלוטות׳ כבוי" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth\nDisattivato" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blåtann\nAv" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth\nUit" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth jest wyłączony" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth \nOprit" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth\n Выключен" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth Av" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth\nKapalı" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "蓝牙已关闭" + } + } + } + }, + "Bluetooth\nUnavailable" : { + "comment" : "Message to the user that bluetooth is unavailable to the app", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth ikke tilgængelig" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth nicht verfügbar" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth \nNo Disponible" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth ei ole käytettävissä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth\nIndisponible" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בלוטות׳ לא זמין" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth\nNon disponibile" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blåtann\nUtilgjengelig" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth\nniet beschikbaar" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth niedostępny" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth \nIndisponibil" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth\n Недоступен" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth är inte tillgängligt" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth\nKullanılamıyor" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "蓝牙不可用" + } + } + } + }, + "Bluetooth Off Alert" : { + "comment" : "Bluetooth off alert title", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Advarsel om Bluetooth slået fra" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth-Aus Warnung" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alerta de Bluetooth apagado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth ei ole käytössä -hälytys" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth désactivé" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "התראת בלוטות׳ כבוי" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avviso Bluetooth disattivato" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth Avslått-varsel" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth uit melding" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alert! Bluetooth jest wyłączony!" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alertă Bluetooth dezactivat" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Оповещение об отключении Bluetooth" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Varning Bluetooth är Av" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth Kapalı Uyarısı" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "蓝牙关闭提醒" + } + } + } + }, + "Bluetooth Unavailable Alert" : { + "comment" : "Bluetooth unavailable alert title", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth er ikke tilgængelig" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth nicht Verfügbar-Warnung" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alerta de Bluetooth no disponible" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth ei ole käytettävissä -hälytys" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth indisponible" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "התראת בלוטות׳ לא זמין" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avviso Bluetooth non disponibile" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Varsel om at Bluetooth er utilgjengelig" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth niet beschikbaar melding" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alarm! Bluetooth niedostępny" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alertă Bluetooth indisponibil" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Оповещение о недоступности Bluetooth" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Varning Bluetooth är inte tillgänglig" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth Kullanılamıyor Uyarısı" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "蓝牙不可用提示" + } + } + } + }, + "Bolus" : { + "comment" : "Label for bolus entry row on bolus screen\nLabel for bolus entry row on simple bolus screen\nTitle for bolus entry screen", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolo" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolo" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ボーラス" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Болюс" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "大剂量" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bólus" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Болюс" + } + } + } + }, + "Bolus Canceled: Delivered %1$@ of %2$@" : { + "comment" : "The title of the cell indicating a bolus has been canceled. (1: delivered volume)(2: total volume)" + }, + "Bolus Issue" : { + "comment" : "The notification title for a bolus issue", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolusproblem" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus Problem" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Problema con el bolo" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Problème avec le bolus" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Problema con il bolo" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus feil" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolusprobleem" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Problem z bolusem" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Problemă bolus" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Проблема с подачей болюса" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus Sorunu" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "大剂量出现问题" + } + } + } + }, + "Bolus Recommendation Updated" : { + "comment" : "Alert title for an updated bolus recommendation", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolusanbefaling opdateret" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktualisierte Bolusempfehlung" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Recomendación de bolo fue actualicada" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolussuositus päivitetty" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Recommandation de Bolus modifiée" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "המלצת בולוס התעדכנה" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Raccomandazioni sul bolo aggiornate" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus anbefaling er oppdatert" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aanbevolen bolus bijgewerkt" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zaktualizowano rekomendowanego bolusa" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actualizare Recomandare bolus" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Рекомендации по болюсу обновлены" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Det finns en ny bolusrekommendation" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus Önerisi Güncellendi" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "大剂量推荐值已更新" + } + } + } + }, + "Bolus Summary" : { + "comment" : "Title for card displaying carb entry and bolus recommendation", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus-resumé" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus Zusammenfassung" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Resumen del bolo" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolusyhteenveto" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Résumé du bolus" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "סיכום" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Riepilogo bolo" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus oppsummering" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolussamenvatting" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podsumowanie bolusa" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rezumat Bolus" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Суммарный болюс" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus sammanfattning" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus Özeti" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "大剂量概要" + } + } + } + }, + "Bolus Too Small" : { + "comment" : "Alert title for a bolus too small validation error", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus for lille" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus zu gering" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolo demasiado pequeño" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus trop petit" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בולוס קטן מדי" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolo troppo piccolo" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus er for liten" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus te klein" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Za mały bolus" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus prea mic" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Болюс слишком маленький" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus Çok Küçük" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "大剂量太少" + } + } + } + }, + "Bolus: " : { + + }, + "Bolused %1$@ of %2$@" : { + "comment" : "The format string for bolus progress. (1: delivered volume)(2: total volume)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم ضخ %1$@ من %2$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ af %2$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ von %2$@ verabreicht" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Administró bolo %1$@ de %2$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ / %2$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus délivré %1$@ sur %2$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הוזרק %1$@ מתוך %2$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolo %1$@ di %2$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%2$@ のうち %1$@ ボーラス済" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@ av %2$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ van %2$@ gebolust" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podano %1$@ z %2$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entregue %1$@ of %2$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus administrat %1$@ of %2$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Подан болюс%1$@ из %2$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podaný bolus %1$@ z %2$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Givit bolus %1$@ av %2$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İletilen Bolus %1$@ / %2$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã thực hiện Bolus %1$@ của %2$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "大剂量已输注%1$@ of %2$@" + } + } + } + }, + "Bolusing %1$@" : { + "comment" : "The format string for bolus in progress showing total volume. (1: total volume)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يضخ %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolusabgabe %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Administrando bolo de %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annetaan bolus %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus en cours %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מזריק בולוס: %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolo in corso %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ ボーラス中" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gir bolus %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolussen %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podawanie %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aplicando %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus în administrare %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Подается болюс" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus sa podáva" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ger bolus %1$@ " + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đang thực hiện bolus %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@大剂量注射中" + } + } + } + }, + "Bottom row" : { + "comment" : "Live activity Bottom row configuration title", + "extractionState" : "stale", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Untere Zeile" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ligne inférieure" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bunnrad" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Onderste rij" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rândul de jos" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "底部行" + } + } + } + }, + "Bottom row configuration" : { + "comment" : "Title for Bottom row configuration", + "extractionState" : "stale", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguration der unteren Zeile" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration de la ligne inférieure" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfigurasjon av bunnraden" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Onderste rij instellen" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurația rândului de jos" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "底部行配置" + } + } + } + }, + "Breathing is slightly uncomfortable. Conversation requires maximal effort." : { + + }, + "Breathing more heavily. Can carry on a conversation, but requires more effort." : { + + }, + "by %@" : { + "comment" : "A label displaying the author of the podcast. The argument is the podcast's author.", + "isCommentAutoGenerated" : true + }, + "Can I use Focus modes with %1$@?" : { + "comment" : "Focus modes section title (1: app name)" + }, + "Cancel" : { + "comment" : "Button label for cancel\nButton text to cancel\nCancel button for reset loop alert\nCancel export button title\nThe title of the cancel action in an action sheet\nThe title of the cancel button in the plugin picker", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إلغاء" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zrušit" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuller" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abbrechen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelar" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kumoa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuler" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בטל" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annulla" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "キャンセル" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avbryt" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annuleer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anuluj" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelar" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anulați" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Отмена" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zrušiť" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avbryt" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İptal" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hủy bỏ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "取消" + } + } + } + }, + "Cancel the manual temporary basal if you wish for the app to restart automated dosing.\n\nIf you wish for the app to automate your insulin, go to Settings and toggle Closed Loop to on." : { + "comment" : "message when automation is off and a manual temp basal is in progress" + }, + "Canceling Bolus" : { + "comment" : "The title of the cell indicating a bolus is being canceled", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إلغاء الجرعة" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annullerer bolus" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus abbrechen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelando bolo" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kumotaan bolus" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annulation du Bolus en cours" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מבטל בולוס" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annullamento bolo in corso" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ボーラスをキャンセルします" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avbryter bolus" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus annuleren" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anulowanie bolusa" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cancelando Bolus" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Întrerupere bolus" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Отмена болюса" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus sa ruší" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avbryter bolus" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus İptal ediliyor" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hủy bỏ liều Bolus" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "取消大剂量" + } + } + } + }, + "Carb effects" : { + "comment" : "Details for missing data error when carb effects are missing", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تأثيرات الكارب" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kulhydrateffekter" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kohlenhydrat-Wirkungen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Efectos de carbohidratos" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiilihydraattivaikutus" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Effets des glucides" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "השפעות פחמימות" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Effetto carboidrati" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "糖質効果" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karb effekter" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Koolhydraateffecten" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wpływ węglowodanów" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Efeitos Carb" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Efecte carbohidrați" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Влияние углеводов" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Účinky sacharidov" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kolhydrateffekter" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karbonhidrat etkileri" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "các tác động của Carb" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "碳水效果" + } + } + } + }, + "Carb Entry" : { + "comment" : "Label for carb entry row on bolus screen", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Indtast kulhydrater" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "KH-Eintrag" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrada de Carbohidratos" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiilihydraatit" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrée de glucides" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "פחמימות" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carboidrati inseriti" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Legg til karbohydrater" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Koolhydraatinvoer" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wprowadź węglowodany" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Intrare carbohidrați" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Добавить запись углеводов" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kolhydrater" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karb Girişi" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "碳水记录" + } + } + } + }, + "Carb Quantity" : { + "comment" : "Label for carb quantity row on add favorite food screen", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Menge gegessen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Quantité de glucides" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "כמות פחמימות" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carboidrati Assunti" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Antall karbohydrater" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoeveelheid koolhydraten" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cantitate carbohidrați" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "碳水含量" + } + } + } + }, + "Carb Ratio" : { + + }, + "Carb Ratio Schedule" : { + "comment" : "Details for configuration error when carb ratio schedule is missing", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tidsplan for kulhydratforhold" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zeitplan für das Kohlenhydratverhältnis" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Calendario de ratio de carbohidratos" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Programme des ratios Insuline-Glucides" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tabella del rapporto carboidrati" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tidsplan for karbohydratforhold" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Koolhydraatratioschema" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Harmonogram Współczynnika Węglowodanowego" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Programul raportului de carbohidrați" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Расписание соотношения углеводов" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karb Oranı Programı" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "碳水系数配置表" + } + } + } + }, + "Carb Ratios" : { + "comment" : "The title of the carb ratios schedule screen\n The title text for the carb ratio schedule", + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "معاملات الكارب" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kulhydratforhold" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "KH-Verhältnis" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carb Ratios" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ratios de carbohidratos" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiilihydraattisuhteet" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ratios Insuline-Glucides" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carb Ratios" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rapporti carboidrati" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carb Ratios" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karb forhold" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Koolhydraatratio's" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Współczynniki węglowodanowe" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Taxas de Carbs" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Raport carbohidrați insulină" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Соотношения углеводов" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inzulínovo sacharidový pomer" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulinkvoter" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karbonhidrat Oranları" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carb Ratios" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "碳水化合物系数" + } + } + } + }, + "carb-entry-title-add" : { + "comment" : "The title of the view controller to create a new carb entry", + "extractionState" : "extracted_with_value", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add Carb Entry" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tilføj kulhydrater" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kohlenhydrate hinzufügen" + } + }, + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Add Carb Entry" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Agregar Entrada de Carb" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lisää hiilihydraatteja" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajouter des glucides" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הוספת רשומת פחמימות" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aggiungi inserimento carboidrati" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "糖質の記入を追加" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Legg inn karbohydrater" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Koolhydraten toevoegen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wprowadź węglowodany" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Adicionar Carb" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Adăugați carbohidrați" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Добавить запись углеводов" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zadať sacharidy" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lägg till kolhydrater" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karb Girişi Ekle" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khai báo Carb" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "添加碳水摄入" + } + } + } + }, + "Carbohydrate Entry Too Large" : { + "comment" : "Title for bolus screen warning when carbohydrate entry is too large", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kulhydratindtastning for stor" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "KH-Eintrag zu groß" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrada de carbohidratos demasiado grande" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Les glucides saisis sont trop important" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "כמות פחמימות גדולה מדי" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carboidrati inseriti troppo alti" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karbohydratinntaket er for stort" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Koolhydraatinvoer te veel" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wpis węglowodanów za duży" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Intrarea de carbohidrați este prea mare" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Слишком много углеводов" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karbonhidrat Girişi Çok Büyük" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "碳水化合物输入量过大" + } + } + } + }, + "Carbohydrates" : { + "comment" : "Health access row label for carbohydrates\nLabel for carbohydrates entry row on simple bolus screen\nTitle of the prediction input effect for carbohydrates", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الكربوهيدرات" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kulhydrater" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kohlenhydrate" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbohidratos" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiilihydraatit" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucides" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "פחמימות" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carboidrati" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "残存糖質" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karbohydrater" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Koolhydraten" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Węglowodany" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carboidratos" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbohidrați" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Углеводы" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sacharidy" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kolhydrater" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karbonhidratlar" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbohydrates" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "碳水化合物" + } + } + } + }, + "Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" : { + "comment" : "Description of the prediction input effect for carbohydrates. (1: The glucose unit string)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الكارب الذي تم امتصاصه (جرام) ÷ معامل الكارب (جرام لكل وحدة) × حاسية الأنسولين (%1$@/وحدة)" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kulhydrater absorberet (g) ÷ Kulhydratratio (g/E) × Insulinfølsomhed (%1$@/E)" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Resorbierte Kohlenhydrate (g) ÷ Kohlenhydratfaktor (g/IE) × Insulinempfindlichkeit (%1$@/IE)" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbohidratos absorbidos (gr) ÷ Relación de Carbohidratos (gr/U) x Sensibilidad a Insulina (%1$@/U)" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Imeytyneet hiilihydraatit (g) ÷ Hiilihydraattisuhde (g/U) × Insuliiniherkkyys (%1$@/U)" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucides Absorbés (g) ÷ Ratio Glucides (g/U) x Sensibilité à l'insuline (%1$@/U)" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carboidrati assorbiti ÷ Rapporto carboidrati (gr/U) × Sensibilità insulinica (%1$@/U)" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "吸収済糖質(g) ÷ 糖質比 (g/U) × インスリン効果値(%1$@/U)" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Absorberte karbohydrater (g) ÷ Karbforhold (g/E) × insulinfølsomhet ( %1$@ /E)" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Opgenomen koolhydraten (g) ÷ koolhydraatratio (g/E) × insulinegevoeligheid (%1$@/E)" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ilość węglowodanów (g) ÷ stosunek węglowodanów (g/J) × czułość insuliny (%1$@/J)" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbs Absorvidos (g) ÷ Relação Carb (g/U) × Sensibilidade a Insulina (%1$@/U)" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Carbohidrați absorbiți (g) ÷ Raport carbohidrați (g/U) × Factor de sensibilitate la insulină (%1$@/U)" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Усвоенные углеводы (г) ÷ Коэффициент углеводов (г/U) × Чувствительность к инсулину (%1$@/U)" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Absorbované sacharidy (g) ÷ Inzulínovo sacharidový pomer (g/j) × Faktor citlivosti na inzulín (%1$@/j)" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Absorberade kolhydrater (g) ÷ Insulinkvot (g/E) × Insulinkänslighet (%1$@/E)" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Emilen Karb. (gr) ÷ Karb. Oranı (gr/Ü) × İnsulin duyarlılığı (%1$@/Ü)" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khối lượng carb tiêu thụ (g) ÷ Tỷ lệ Carb (g/U) × Độ nhạy của Insulin (%1$@/U)" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已吸收碳水化合物(克)÷碳水化合物吸收率(克 / 单位)×胰岛素敏感系数 (%1$@/单位)" + } + } + } + }, + "Caution" : { + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Forsigtig" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Achtung" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Attention" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "זהירות" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Attenzione" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Forsiktig" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voorzichtig" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uwaga" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Atenție" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "注意" + } + } + } + }, + "CAUTION - Investigational device. Limited by Federal (or United States) law to investigational use." : { + + }, + "CGM Active" : { + "comment" : "Percent of time CGM data present metric title" + }, + "Change the pump battery immediately" : { + "comment" : "The notification alert describing a low pump battery", + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "قم بتغيير بطارية المضخة على الفور" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Udskift pumpebatteri omgående" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wechsel sofort die Pumpenbatterie" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Change the pump battery immediately" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cambie la batería de la bomba de inmediato" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vaihda pumpun paristo välittömästi" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Changer immédiatement la pile de la pompe" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Change the pump battery immediately" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sostituisci immediatamente la batteria della pompa" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "すぐにポンプの電池を替えてください" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skift pumpebatteriet umiddelbart" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vervang direct de batterij van de pomp" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Natychmiast wymienić baterię pompy" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Troque a bateria da bomba imediatamente" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Schimbați imediat bateria pompei" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Немедленно замените батарейку в помпе" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ihneď vymeňte batériu pumpy" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Byt pumpbatteri nu" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pompa pilini hemen değiştirin" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thay pin máy bơm ngay" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "立即更换胰岛素泵电池" + } + } + } + }, + "Change the pump reservoir now" : { + "comment" : "The notification alert describing an empty pump reservoir", + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "قم بتغيير خزان المضخة الآن" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skift pumpereservoir nu" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wechsel jetzt das Pumpenreservoir" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Change the pump reservoir now" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cambie el depósito de la bomba ahora" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vaihda pumpun säiliö" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Changer maintenant le réservoir de la pompe" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Change the pump reservoir now" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cambia ora il serbatoio della pompa" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ポンプのレザーバを替えてください" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bytt pumpereservoar nå" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vervang het pompreservoir nu" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zmień zbiorniczek w pompie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Troque o reservatório da bomba agora" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Schimbați rezervorul pompei acum" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замените резервуар помпы сейчас" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ihneď vymeňte zásobník pumpy" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Byt pumpreservoar nu" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pompa rezervuarını şimdi değiştirin" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thay ngăn chứa insulin bây giờ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "立即更换储药器" + } + } + } + }, + "Changing it can lower the chance of your glucose levels going too low if you expect unusual changes." : { + + }, + "Check for potential communication issues with your CGM.\n\nIn the meantime, your pump is still able to deliver insulin." : { + "comment" : "message when automation is off and CGM is in signal loss" + }, + "Check settings" : { + "comment" : "Details for configuration error when one or more loop settings are missing", + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تأكد من الإعدادات" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontroller indstillinger" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Überprüfe die Einstellungen." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Check settings" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verificar ajustes" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tarkista asetukset" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vérifier les paramètres" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Check settings" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Controlla le impostazioni" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定を確認する" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sjekk innstillinger" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Controleer instellingen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sprawdź ustawienia" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verifique as configurações" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verificați setările" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Проверьте настройки" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontrollera inställningarna" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ayarları kontrol et" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kiểm tra các cài đặt" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "检查设置" + } + } + } + }, + "Check that your pump is in range" : { + "comment" : "Recovery suggestion when reservoir data is missing", + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تأكد أن المضخة في النطاق" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontroller, at din pumpe er indenfor rækkevidde" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stelle sicher, dass sich Deine Pumpe in Reichweite befindet." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Check that your pump is in range" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verifique que su microinfusora esté dentro del rango" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tarkista, että pumppu on riittävän lähellä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vérifier que votre pompe est à portée" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Check that your pump is in range" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Controlla che la pompa sia nel raggio d'azione" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ポンプが近くにあることを確認してください" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sjekk at pumpen din er innenfor rekkevidde" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Controleer of je pomp binnen bereik is" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Upewnij się, że Twoja pompa jest w zasięgu" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verifique se sua bomba está dentro do alcance" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verificați că pompa este în apropriere" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Убедитесь, что помпа в зоне коммуникации" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontrollera att pumpen är inom räckhåll" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pompanızın menzil içinde olup olmadığını kontrol edin" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kiểm tra máy bơm đang trong phạm vi cho phép" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "请检查你的泵是否在范围内" + } + } + } + }, + "Check your CGM data source" : { + "comment" : "Recovery suggestion when glucose data is missing", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تأكد من مصدر قراءات السكر المستمرة" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontroller din CGM-datakilde" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Überprüfe Deine CGM-Datenquelle." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verifique su fuente de datos CGM" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tarkista CGM-tietolähde" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vérifier votre source de données CGM" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בדוק את מקור המידע שלך בחיישן" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Controlla la sorgente dati del sensore" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM データソースを確認してください" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sjekk CGM" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Controleer je CGM gegevensbron" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sprawdź swój CGM" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verifique seu dispositivo CGM" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verificați sursa de date a senzorului de glicemie" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Проверьте источник мониторинга СК" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontrollera din CGM:s datakälla" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM veri kaynağınızı kontrol edin" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kiểm tra nguồn dữ liệu CGM của bạn" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "请检查你的动态血糖数据来源" + } + } + } + }, + "Check your device time and/or remove any invalid data from Apple Health." : { + "comment" : "Caption for bolus screen notice when glucose data is in the future", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tjek din enheds tid og/eller fjern ugyldige data fra Apple Health." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Überprüfe die Uhrzeit deines Geräts und/oder entferne alle ungültigen Daten aus Apple Health." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Compruebe la hora de su dispositivo y/o elimine cualquier dato no válido de Apple Health." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vérifiez l'heure de votre appareil et/ou supprimez toute donnée invalide d'Apple Health." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Controlla l'orario del tuo dispositivo e/o rimuovi eventuali dati non validi da Apple Salute." + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sjekk enhetens klokke og/ eller fjern eventuelle ugyldige data fra Apple Helse." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Controleer de tijd op je apparaat en/of verwijder eventuele ongeldige invoer uit Apple Gezondheid." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sprawdź czas urządzenia i/lub usuń wszelkie nieprawidłowe dane z aplikacji Zdrowie." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verificați ora dispozitivului și/sau eliminați orice date incorecte din Apple Health." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Проверьте время вашего устройства и/или удалите недействительные данные из Apple Health." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aygıtınızın saatini kontrol edin ve/veya tüm geçersiz verileri Apple Sağlık'tan kaldırın." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "请检查设备时间,并/或从“苹果健康”App中删除任何无效数据。" + } + } + } + }, + "Check your glucose levels around 20 to 30 min after eating. If you're still low, consider eating the same amount." : { + + }, + "Choose a longer absorption time for larger meals, or those containing fats and proteins. This is only guidance to the algorithm and need not be exact." : { + "comment" : "Carb entry section footer text explaining absorption time", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vælg en længere absorptionstid ved større måltider, eller dem med fedt og proteiner. Det er blot hjælp til algoritmen og behøver ikke være nøjagtig." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wähle eine längere Resorptionsdauer für größere Mahlzeiten oder welche die viel Fett und Proteine beinhalten. Dies ist eine Unterstützung für den Algorithmus und muss nicht genau sein." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Elija un tiempo de absorción más largo para comidas más grandes, o aquellas que contienen grasas y proteínas. Esta es solo una guía para el algoritmo y no necesita ser exacta." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Valitse pidempi imeytymisaika isoille tai paljon rasvaa ja proteiineja sisältäville aterioille. Tämä on suuntaa antava ohje, eikä sen tarvitse olla tarkka." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choisissez un temps d’absorption plus long pour les gros repas ou ceux contenant des graisses et des protéines. Ceci est seulement un guide pour l'algorithme et n'a pas besoin d'être exact." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choose a longer absorption time for larger meals, or those containing fats and proteins. This is only guidance to the algorithm and need not be exact." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Scegli un periodo di assorbimento piu lungo per i pasti piu grandi o quelli contenenti grassi e proteine. Questa e solo una guida all’algoritmo e non e necessario che sia esatta." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "量の多い食事や脂質やたんぱく質を含んだ食事には長い吸収時間を選んでください。これはアルゴリズムのための参考で、厳密である必要はありません。" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Velg lengre absorpsjonstid for større måltider, eller de som inneholder fett og proteiner. Dette er kun veiledning til algoritmen og trenger ikke være nøyaktig." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kies een langere opnametijd voor grotere maaltijden of voor maaltijden die vetten en eiwitten bevatten. Dit is alleen een leidraad voor het algoritme en hoeft niet exact te zijn." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wybierz dłuższy czas absorpcji dla większych, bogatobiałkowych lub wysokotłuszczowych posiłków. To tylko wskazówka dla algorytmu i nie musi być bardzo dokładna." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Escolha um tempo de absorção mais longo para refeições maiores ou aquelas que contenham gorduras e proteínas. Esta é apenas uma orientação para o algoritmo e não precisa ser exata." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alegeți o durată mai lungă de absorbție pentru mese mai mari sau pentru cele care conțin grăsimi și proteine. Nu e necesară o valoare exactă, scopul e să oferim doar o ghidare pentru algoritm." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Выберите более длительное время усвоения для больших порций пищи или тех, которые содержат жиры и белки. Это лишь руководство к алгоритму и не обязательно должно быть точным." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Välj en längre absorptionstid för måltid med mycket fett eller protein. Ofta är det bäst att dela upp måltiden i snabba och långsamma kolhydrater och mata in dessa var för sig." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Daha büyük öğünler veya yağ ve protein içeren besinler için daha uzun bir emilim süresi seçin. Bu değer yalnızca algoritmaya rehberlik eder ve kesin olması gerekmez." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lựa chọn khoảng thời gian tiêu hóa dài hơn cho các bữa ăn no, hoặc những bữa ăn nhiều chất béo và protein. Đây chỉ là hướng dẫn cho thuật toán Algorithm và không cần phải chính xác." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "对于大餐或含有脂肪和蛋白质的餐食,请选择较长的吸收时间。此设置仅作为算法的参考, 无需精确。" + } + } + } + }, + "Choose Favorite:" : { + "comment" : "The label for the row where you choose saved Favorite Food", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vælg favorit:" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wähle Favorit:" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Choisissez le favori :" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Scegli il preferito:" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Velg favoritt:" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kies favoriet:" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wybierz ulubione:" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alegeți preferatul:" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "选择常用" + } + } + } + }, + "Choose the glucose value (or values) you want %@ to target when changing how much basal insulin you get." : { + + }, + "Close" : { + "comment" : "Preset training needed alert cancel button\nThe button label of the action used to dismiss the unsafe notification permission alert", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Luk" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Schließen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cerrar" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sulje" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fermer" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "סגור" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chiudi" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukk" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sluiten" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zamknij" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Închideți" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Закрыть" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stäng" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapat" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "关闭" + } + } + } + }, + "Close Training" : { + + }, + "Closed Loop" : { + "comment" : "The title text for the looping enabled switch cell", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "حلقة مغلقة" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Circuito Cerrado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suljettu säätö" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boucle Fermée" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop chiuso" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クローズドループ" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actieve loop" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pętla Zamknięta" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ciclo Fechado" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buclă închisă" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутый цикл" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sluten loop" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapalı Döngü" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vòng lặp kín" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "闭环模式" + } + } + } + }, + "Closed Loop OFF" : { + "comment" : "Alert title for closed loop off informational modal", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket loop FRA" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop AUS" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Asa cerrada APAGADA" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suljettu säätö pois päältä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boucle Ouverte" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop chiuso disattivato" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop AV" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actieve loop UIT" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pętla zamknięta WYŁĄCZONA" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buclă închisă dezactivată" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутый цикл ВЫКЛ" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sluten Loop är AV" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapalı Döngü KAPALI" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "闭环模式已关闭" + } + } + } + }, + "Closed Loop requires an active CGM Sensor Session" : { + "comment" : "The description text for the looping enabled switch cell when closed loop is not allowed because the sensor is inactive", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop kræver en aktiv CGM sensor-session" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop erfordert eine aktive CGM-Sensorsitzung" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "La asa cerrada requiere una sesión de sensor CGM activa" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suljettu säätö vaatii aktiivisen glukoosisensorin" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop en boucle fermée requiert une session de capteur CGM active." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop chiuso richiede almeno una sessione attiva del sensore CGM" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop krever en aktiv CGM sensorøkt" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actieve loop vereist een lopende CGM-sensorsessie" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zamknięta pętla wymaga aktywnego sensora CGM" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bucla închisă necesită o sesiune activă a unui senzor de glicemie" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутый цикл требует активного подключенного датчика CGM" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sluten Loop kräver en aktiv CGM-sensor" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapalı Döngü, aktif bir CGM Sensör Oturumu gerektirir" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "闭环需要活动的 CGM 传感器会话" + } + } + } + }, + "Closed Loop requires Setup to be Complete" : { + "comment" : "The description text for the looping enabled switch cell when onboarding is not complete", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop kræver, at opsætningen er fuldført" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop erfordert, dass die Einrichtung abgeschlossen ist" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "El Circuito Cerrado requiere que la configuración esté completa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop en boucle fermée nécessite une configuration complète" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop chiuso richiede che la configurazione sia completata" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop krever at installasjonen er fullført" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actieve loop vereist dat de installatie is voltooid" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zamknięta pętla wymaga zakończenia konfiguracji" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bucla închisă necesită ca setarea să fie finalizată" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутый цикл требует завершения настройки" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapalı Döngü, Kurulumun Tamamlanmasını gerektirir" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "启用闭环控制前需完成所有设置。" + } + } + } + }, + "com.loudnate.InsulinKit.IOBDateLabel" : { + "comment" : "The format string describing the date of an IOB value. The first format argument is the localized date.", + "extractionState" : "extracted_with_value", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "d %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "um %1$@" + } + }, + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "at %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "en %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "klo %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "à %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "ב-%1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "a %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ 時点" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "kl. %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "om %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "o %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "em %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "la %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "в %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "kl %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "lúc %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "在 %1$@" + } + } + } + }, + "com.loudnate.InsulinKit.totalDateLabel" : { + "comment" : "The format string describing the starting date of a total value. The first format argument is the localized date.", + "extractionState" : "extracted_with_value", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "siden %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "seit %1$@" + } + }, + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "since %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "desde %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ jälkeen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "depuis %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מאז %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "da %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ より" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "siden %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "sinds %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "od %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "desde %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "de la %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "с %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "sedan %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ den beri" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "từ lúc %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自从 %1$@" + } + } + } + }, + "com.loudnate.LoopKit.errorAlertActionTitle" : { + "comment" : "The title of the action used to dismiss an error alert", + "extractionState" : "extracted_with_value", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "موافق" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "OK" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "אישור" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tamam" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + } + } + }, + "Combination of high and low intensity" : { + + }, + "Competition Stress" : { + + }, + "Complete each section below to learn how presets can be used for a variety of situations." : { + + }, + "Complete Setup" : { + "comment" : "Title text for button to complete setup", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fuldfør opsætning" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Einstellungen abschließen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Completa la Configuración" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terminer la configuration" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Completa configurazione" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fullfør oppsett" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Volledige installatie" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zakończ konfigurację" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurare finalizată" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Завершить настройку" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kurulumu Tamamla" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "完成设置" + } + } + } + }, + "Configuration" : { + "comment" : "The title of the Configuration section in settings", + "extractionState" : "stale", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "المعطيات" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfigurace" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguration" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguration" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuración" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Määritykset" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurazione" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "コンフィグレーション" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfigurasjon" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuratie" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguracja" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuração" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurare" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Конфигурация" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfigurácia" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfiguration" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfigürasyon" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cấu hình" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "配置" + } + } + } + }, + "Configuration Error: %1$@" : { + "comment" : "The error message displayed for configuration errors. (1: configuration error details)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "خطأ في المعطيات: %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfigurationsfejl: %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfigurationsfehler: %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error de Configuración: %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Määritysvirhe: %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur de Configuration: %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuration Error: %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errore di configurazione: %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "設定エラー: %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfigurasjonsfeil: %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configuratiefout: %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd konfiguracji: %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erro de Configuração: %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eroare configurare: %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ошибка конфигурации: %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfigurationsfel %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konfigürasyon Hatası: %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi cấu hình: %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "配置错误:%1$@" + } + } + } + }, + "Configure Display" : { + "comment" : "Title for the view to configure the lock screen display", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anzeige konfigurieren" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurer l'affichage" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tilpass skjermen" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Scherm configureren" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurați afișajul" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "显示设置" + } + } + } + }, + "Configure Lock Screen / Carplay Row" : { + "comment" : "A link that takes the user to a view where they can configure the display of the live activity screen on their lock screen and in CarPlay.", + "isCommentAutoGenerated" : true, + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sperrbildschirm / CarPlay-Zeile konfigurieren" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurer l'écran de verrouillage / CarPlay" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tilpass låseskjerm / Carplay rad" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rij voor toegangsscherm / CarPlay instellen" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configurați ecranul de blocare / rândul CarPlay" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "配置锁屏 / CarPlay 显示行" + } + } + } + }, + "Congratulations! You've finished the Presets training." : { + + }, + "Consider an exercise you do regularly and think about how hard you push yourself." : { + + }, + "Consider eating around 10 to 20 grams of fast-acting carbs" : { + + }, + "Continue" : { + "comment" : "Button label for continue\nDefault alert dismissal", + "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pokračovat" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fortsæt" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weiter" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Continuar" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jatka" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Continuer" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Continue" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Continua" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "次へ" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fortsett" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ga verder" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontynuuj" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Continuar" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Continuați" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Продолжить" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pokračovať" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fortsätt" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Devam et" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tiếp tục" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "继续" + } + } + } + }, + "Continue to %@" : { + + }, + "Continuous Glucose Monitor" : { + "comment" : "Descriptive text for Continuous Glucose Monitor", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "نظام متابعة السكر المستمرة" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontinuerlig Blodsukker Måler (CGM)" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontinuierliche Blutzuckermessung" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Monitor de glucosa continuo" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoosinseuranta (CGM)" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lecteur de glycémie en continu" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Continuous Glucose Monitor" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Monitoraggio continuo glicemia" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontinuerlig glukosemonitor" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Continue glucose monitor" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ciągły Monitoring Glukozy" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Monitoramento Contínuo de Glicose" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Senzor de monitorizare continuă a glicemiei" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Непрерывный мониторинг гликемии" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kontinuerlig glukosmätning" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sürekli Glikoz İzleme" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kiểm soát đường huyết liên tục" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "连续血糖监测仪" + } + } + } + }, + "Continuous or exercise without breaks" : { + + }, + "Correction Range" : { + "comment" : "The title of the glucose target range schedule screen\n The title text for the glucose target range schedule", + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "نطاق التصحيح" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Korrektionsområde" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Korrekturbereich" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Correction Range" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rango de Corrección" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Korjausalue" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plage de correction" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "טווח תיקון" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Intervallo di correzione" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ターゲット範囲" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Korreksjonsområde" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Correctiebereik" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zakres docelowy" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Faixa de Correção" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Interval de corecție" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Диапазон коррекции" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Målvärde" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Düzeltme Aralığı" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phạm vi liều Bổ sung" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "校正范围" + } + } + } + }, + "Correction range is a " : { + + }, + "Correction range is a **safety setting**. Changing it can help lower your risk of going low if you expect unusual changes." : { + + }, + "Could Not Restart %1$@" : { + "comment" : "Format string for title of reset loop alert. (1: App name)", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke genstarte %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ konnte nicht neu gestartet werden" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossible de redémarrer %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossibile riavviare %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke starte %1$@ på nytt" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kan %1$@ niet herstarten" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie można ponownie uruchomić %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nu s-a putut reporni %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法重启 %1$@" + } + } + } + }, + "Create new presets" : { + + }, + "Critical Alerts" : { + "comment" : "Critical Alerts Status text", + "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritická upozornění" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritiske advarsler" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritische Warnungen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alertas críticas" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alertes critiques" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avvisi critici" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritiske varsler" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritieke meldingen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alerty krytyczne" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alerte critice" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Критические оповещения" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritické výstrahy" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritik Uyarılar" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "关键通知" + } + } + } + }, + "Critical Alerts and Time Sensitive Notifications are important types of iOS notifications used for events that require immediate attention. Examples include:" : { + + }, + "Critical Alerts and Time Sensitive Notifications are turned OFF" : { + "comment" : "Both Critical Alerts and Time Sensitive Notifications disabled banner title" + }, + "Critical Alerts and Time Sensitive Notifications are turned OFF. Go to the App to fix the issue now." : { + "comment" : "Both Critical Alerts and Time Sensitive Notifications disabled notification body" + }, + "Critical Alerts and Time Sensitive Notifications are turned off. You may not get sound, visual or vibration alerts regarding critical safety information.\n\nTo fix the issue, tap ‘Settings’ and make sure Critical Alerts and Time Sensitive Notifications are turned ON." : { + "comment" : "Both Critical Alerts and Time Sensitive Notifications disabled alert body" + }, + "Critical Alerts and Time Sensitive Notifications are turned off. You may not get sound, visual or vibration alerts regarding critical safety information.\n\nTo fix the issue, tap ‘Settings’ and make sure Notifications and Critical Alerts are turned ON." : { + "comment" : "Both Notifications and Critical Alerts disabled alert body" + }, + "Critical Alerts are turned OFF" : { + "comment" : "Critical alerts disabled banner title" + }, + "Critical Alerts are turned OFF. Go to the App to fix the issue now." : { + "comment" : "Critical alerts disabled notification body" + }, + "Critical Alerts are turned off. You may not get sound, visual or vibration alerts regarding critical safety information.\n\nTo fix the issue, tap ‘Settings’ and make sure Critical Alerts are turned ON." : { + "comment" : "Critical alerts disabled alert body" + }, + "Critical Alerts require a special permission from Apple that many do-it-yourself versions of %1$@ don't include. Without it, iOS treats even urgent alarms as ordinary notifications, so the Ring/Silent switch, Do Not Disturb, and Focus modes can silence them." : { + "comment" : "Description text explaining the critical alerts entitlement may be unavailable (1: app name)" + }, + "Critical Alerts will still sound, but all others will be silenced." : { + "comment" : "Additional description text for temporarily silencing non-critical alerts" + }, + "Critical Event Log Ready" : { + "comment" : "Critical event log ready text", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritisk begivenhedslog klar" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritisches Ereignisprotokoll bereit" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Registro de eventos críticos listo" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tärkeiden tapahtumien loki valmis" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Journal des événements critiques prêt" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Registro eventi critici pronto" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritisk hendelseslogg er klar" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritieke gebeurtenislogboek klaar" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dziennik zdarzeń krytycznych gotowy" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jurnal evenimente critice pregătit" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Логи критических событий готовы" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritisk händelselogg klar" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritik Olay Günlüğü Hazır" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "关键事件日志已就绪" + } + } + } + }, + "Critical Event Logs" : { + "comment" : "Critical event log export title", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritisk begivenhedslog" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritische Ereignisprotokolle" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Registros de eventos críticos" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tärkeiden tapahtumien loki" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Journaux des événements critiques" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Registri eventi critici" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritiske hendelseslogger" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritieke gebeurtenislogboek" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dzienniki zdarzeń krytycznych" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jurnal de evenimente critice" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Логи критических событий" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritiska händelseloggar" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritik Olay Günlükleri" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "关键事件日志" + } + } + } + }, + "Critical Event Logs were not able to be exported." : { + "comment" : "Critical event log export error alert message", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritisk begivenhedslogs kunne ikke eksporteres." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritische Ereignisprotokolle konnten nicht exportiert werden." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se han podido exportar los registros de eventos críticos." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tärkeiden tapahtumien lokia ei voitu viedä." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Les journaux d'événements critiques n'ont pas pu être exportés." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Non è stato possibile esportare i registri degli eventi critici." + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritiske hendelseslogger kunne ikke eksporteres." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritieke gebeurtenislogboeken konden niet worden geëxporteerd." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie można wyeksportować dzienników zdarzeń krytycznych." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jurnalele de evenimente critice nu au putut fi exportate." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не удалось экспортировать журналы критических событий." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritiska händelseloggar kunde inte exporteras." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritik Olay Günlükleri dışa aktarılamadı." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法导出关键事件日志。" + } + } + } + }, + "CrossFit" : { + + }, + "Current Basal Rate" : { + + }, + "Current Delivery" : { + + }, + "Current Glucose" : { + "comment" : "Label for glucose entry row on simple bolus screen", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nuværende blodsukker" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktueller Blutzucker" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosa actual" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nykyinen glukoosi" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glycémie actuelle" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemia attuale" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nåværende blodsukker" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Huidige glucose" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktualna glukoza" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemia curentă" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Текущая глюкоза" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nuvarande blodglukosvärde" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mevcut KŞ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "当前血糖" + } + } + } + }, + "Current glucose of %1$@ is below correction range." : { + "comment" : "Message when offering bolus recommendation even though bg is below range. (1: glucose value)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "قراءة سكر الدم %1$@ أقل من نطاق التصحيح." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Den aktuelle glukose for %1$@ er under korrektionsområdet." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Der aktuelle Blutzucker von %1$@ liegt unter dem Korrekturbereich." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosa actual de %1$@ está por debajo del rango de corrección." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nykyinen glukoosi %1$@ on korjausalueen alapuolella." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glycémie actuelle de %1$@ est en dessous de la plage de correction." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Current glucose of %1$@ is below correction range." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "La glicemia attuale di %1$@ è al di sotto dell'intervallo glicemico." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "現在の血糖値は %1$@ で補正範囲を下回っています。" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gjeldende blodsukker på %1$@ er under korreksjonsområdet." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Huidige glucose %1$@ is lager dan het correctiebereik." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poziom glukozy %1$@ jest poniżej wartości korekcji." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : " Glicemia atual %1$@ está abaixo da zona de correção." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemia actuală de %1$@ se situează sub intervalul de corecție." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Гликемия %1$@ ниже диапазона коррекции" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktuálna glykémie %1$@ je pod cieľovým rozsahom." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nuvarande glukosvärde %1$@ är under målvärde." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ Mevcut KŞ düzeltme aralığının altında." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : " Chỉ số glucose hiện tại %1$@ nằm dưới Phạm vi Điều chỉnh." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "当前血糖%1$@低于校正范围" + } + } + } + }, + "Custom Override" : { + "comment" : "The title of the cell indicating a generic temporary override is enabled", + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تجاوز مخصص" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Brugerdefineret Override" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Benutzerdefinierter Override" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Custom Override" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sobreescritura personalizada" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mukautettu tilapäisasetus" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajustement personnalisé" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Custom Override" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Override personalizzato" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "カスタムオーバーライド" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tilpasset overstyring" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aangepaste Override" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Custom Override" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sobreposição Personalizada" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suprascriere personalizată" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Настраиваемое ручное управление" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anpassad Override" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Özel Geçersiz kılma" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thói quen Chồng liều" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自定义覆盖" + } + } + } + }, + "Custom preset" : { + "comment" : "The title of the cell indicating a generic custom preset is enabled", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Benutzerdefinierte Voreinstellung" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Préréglage personnalisé" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Engendefinert forhåndsinnstilling" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aangepast programma" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Presetare personalizată" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自定义预设" + } + }, + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إعداد مسبق مخصص" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vlastní předvolba" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Brugerdefineret forudindstilling" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajuste preestablecido personalizado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mukautettu esiasetus" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרה מראש מותאמת" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egyéni előbeállítás" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Programmazione" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "カスタムプリセット" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cel Tymczasowy" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predefinição personalizada" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пользовательский пресет" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vlastná predvoľba" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anpassad förinställning" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Özel ön ayar" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Власний пресет" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cài đặt sẵn tùy chỉnh" + } + } + } + }, + "Custom Preset" : { + "comment" : "The title of the cell indicating a generic custom preset is enabled", + "extractionState" : "stale", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Brugerdefineret forudindstilling" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voreinstellung" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajuste Preestablecido personalizado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mukautettu esiasetus" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Préréglage personnalisé" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Programmazione" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egendefinert forhåndsinnstilling" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aangepast programma" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cel Tymczasowy" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Presetare personalizată" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пользовательский пресет" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anpassad förinställning" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Özel Ön Ayar" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自定义预设" + } + } + } + }, + "Daily glucose pattern" : { + "comment" : "Accessibility label for the daily glucose pattern (AGP) chart" + }, + "Daily Glucose Pattern" : { + "comment" : "Daily glucose pattern (AGP) section header" + }, + "Date" : { + "comment" : "Date picker label", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "التاريخ" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dato" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Datum" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fecha" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aika" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Date" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "תאריך" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Data" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "日付" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dato" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Datum" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Data" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Data" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Data" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Дата" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dátum" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tid" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tarih" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ngày" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "日期" + } + } + } + }, + "Date Created" : { + "comment" : "Preset sorting option description for sorting by date created" + }, + "Days" : { + "comment" : "A label displayed alongside the days of the week for a glucose alert profile.", + "isCommentAutoGenerated" : true + }, + "dB" : { + "comment" : "The short unit display string for decibles", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "дБ" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + } + } + }, + "decrease" : { + + }, + "Decreased Delivery" : { + + }, + "Delay 1st Alert" : { + + }, + "Delay for" : { + + }, + "Delay the first alert until your reading stays out of range for this long." : { + + }, + "Delete" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "حذف" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slet" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Löschen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eliminar" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poista" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מחק" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Elimina" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slett" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verwijderen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usunąć" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apagar" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ștergeți" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Удалить" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odstrániť" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ta bort" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sil" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Smazat" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Törlés" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "削除" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Видалити" + } + } + } + }, + "Delete \"%@\"?" : { + "comment" : "A confirmation dialog that appears when the user taps the \"Delete Alert Profile\" button. The text inside the dialog is parameterized with the name of the profile. The argument is the string “”.", + "isCommentAutoGenerated" : true + }, + "Delete “%@”?" : { + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slet \"%@\"?" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "„ %@ “ löschen?" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer \"%@\"?" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "למחוק את \" %@ \"?" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eliminare \"%@\" ?" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slette \"%@\"?" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "„%@” verwijderen?" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usunąć „ %@ ”?" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ștergeți \"%@\"?" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除”%@”?" + } + } + } + }, + "Delete Account" : { + "comment" : "The title of the button to remove the credentials for a service", + "extractionState" : "manual", + "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Smazat účet" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slet konto" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Konto löschen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eliminar Cuenta" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poista tili" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer le compte" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מחק חשבון" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Elimina account" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アカウントを削除" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slett Konto" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verwijder account" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usuń konto" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Remover Conta" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ștergeți cont" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Удалить аккаунт" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odstrániť účet" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Radera konto" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hesabı sil" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa Tài khoản" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除账户" + } + } + } + }, + "Delete Alert Profile" : { + "comment" : "A button that deletes a glucose alert profile.", + "isCommentAutoGenerated" : true + }, + "Delete All" : { + "comment" : "Button title to delete all objects", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slet alle" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alle löschen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eliminar Todos" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poista kaikki" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer tout" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מחק הכל" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Elimina tutto" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "すべて削除" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slett alle" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verwijder alles" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usuń wszystko" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Remover Todos" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ștergeți tot" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Удалить все" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Radera allt" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hepsini sil" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa hết" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除所有" + } + } + } + }, + "Delete All Testing Data" : { + "comment" : "The title of an alert that lets the user delete all their testing data.", + "isCommentAutoGenerated" : true + }, + "Delete CGM" : { + "comment" : "Button title to delete CGM", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "حذف CGM" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slet CGM" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM löschen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eliminar MCG" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poista CGM" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer le CGM" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מחק חיישן" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Elimina CGM" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGMを削除" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slett CGM" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verwijder CGM" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usuń CGM" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Remover CGM" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ștergeți senzor de glicemie" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Удалить мониторинг" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odstrániť CGM" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Radera CGM" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM Sil" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xóa CGM" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除CGM" + } + } + } + }, + "Delete Dose" : { + "comment" : "Button to delete a dose" + }, + "Delete External Insulin" : { + "comment" : "Button to delete a manually-entered insulin dose" + }, + "Delete Food" : { + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slet mad" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Essen löschen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer l'aliment" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Elimina cibo" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slett mat" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voedingsmiddel verwijderen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usuń jedzenie" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ștergeți alimentele" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除食物" + } + } + } + }, + "Delete Service" : { + "comment" : "Button title to delete a service", + "extractionState" : "manual", + "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Smazat službu" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slet service" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dienst löschen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eliminar servicio" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poista palvelu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer le service" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מחק שירות" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Elimina servizio" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete Service" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slett tjeneste" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Service verwijderen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usuń usługę" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete Service" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ștergeți serviciul" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Удалить сервис" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odstrániť službu" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ta bort tjänst" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Servisi Sil" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete Service" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除服务" + } + } + } + }, + "Delete Testing CGM Data" : { + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slet CGM testdata" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM-Test-Daten löschen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eliminar prueba de datos CGM" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poista testi-CGM:n tiedot" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Effacer les données de test du CGM" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מחק נתוני בדיקת חיישן" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Elimina dati test CGM" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slett testdata for blodsukkermåler" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verwijder test-CGM-gegevens" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usuń testowe dane CGM" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ștergeți datele senzorului de test" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Удалить данные тестирования CGM" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ta bort simulerade testvärden från CGM" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Test CGM Verilerini Sil" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除测试 CGM 数据" + } + } + } + }, + "Delete Testing Data" : { + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slet testdata" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Test-Daten löschen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eliminar datos de prueba" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poista testitiedot" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer les données de Test" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מחק נתוני בדיקה" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Elimina dati test" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slett testdata" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Testgegevens verwijderen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usuń dane testowe" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ștergeți datele de testare" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Удалить данные тестирования" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ta bort simulerade testvärden" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Test Verilerini Sil" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除测试数据" + } + } + } + }, + "Delete Testing Pump Data" : { + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slet testdata for pumpe" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pumpen-Test-Daten löschen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Borrar los datos de prueba de la bomba" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poista testipumpun tiedot" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer les données de la Pompe de test" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מחק נתוני בדיקת משאבה" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Elimina dati test della pompa" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slett data for testpumpe" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Testpompgegevens verwijderen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Usuń dane pompy testowej" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ștergeți datele pompei de test" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Удалить данные тестирования помпы" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ta bort simulerade pumpvärden" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Test Pompası Verilerini Sil" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "删除测试用胰岛素泵数据" + } + } + } + }, + "Delete this dose?" : { + "comment" : "Confirmation title for deleting a dose" + }, + "Delete this manually-entered insulin entry?" : { + "comment" : "Confirmation title for deleting a manually-entered insulin dose" + }, + "Deliver" : { + "comment" : "Button text to deliver a bolus", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afgiv" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abgeben" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entregar" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annostele" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Administrer" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eroga" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gi bolus" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toedienen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podaj Bolus" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Administrați" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Подать" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podať" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ge bolus" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İlet" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "输注" + } + } + } + }, + "Delivery Details" : { + + }, + "Delivery Limits" : { + "comment" : "Title text for delivery limits", + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "حدود الضخ" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limity podávání" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulingrænser" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abgabelimits" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delivery Limits" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Límites de Administración de Insulina" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annostelurajat" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limites d'Administration" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delivery Limits" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limiti erogazione" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "注入限度" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Leveringsgrenser" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toedieningslimieten" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limity podawania" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limites de Entrega" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limite de administrare" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пределы подачи" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limity podávania" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Maxdoser" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İletim Limitleri" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Giới hạn liều tiêm" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "输注限制" + } + } + } + }, + "Denied" : { + "comment" : "Health sharing status: denied" + }, + "Depending on the activity, you may notice a few common patterns when it comes to your insulin needs:" : { + + }, + "Device Issue" : { + "comment" : "title for when automation is off and there is a device issue" + }, + "Devices" : { + + }, + "Diabetes Treatment" : { + "comment" : "Descriptive text for Therapy Settings", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diabetesbehandling" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diabetes-Behandlung" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tratamiento de la diabetes" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diabeteshoito" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Traitement du diabète" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terapia" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diabetesbehandling" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diabetesbehandeling" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "w leczeniu cukrzycy" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tratamentul diabetului" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Лечение диабета" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diabetesbehandling" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diyabet Tedavisi" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "糖尿病治疗" + } + } + } + }, + "Did you intend to enter %1$@ grams as the amount of carbohydrates for this meal?" : { + "comment" : "Alert body when entered carbohydrates is greater than threshold (1: entered quantity in grams)", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Havde du til hensigt at angive %1$@ gram som mængden af kulhydrater for dette måltid?" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wolltest Du %1$@ Gramm an Kohlenhydraten für diese Mahlzeit eingeben?" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "¿Quería introducir %1$@ gramos como cantidad de hidratos de carbono para esta comida?" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aviez-vous l'intention d'entrer %1$@ grammes comme quantité de glucides pour ce repas?" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Intendevi inserire %1$@ grammi come quantità di carboidrati per questo pasto?" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hadde du tenkt å angi %1$@ gram som mengde karbohydrater for dette måltidet?" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Was je van plan om %1$@ gram in te voeren als hoeveelheid koolhydraten voor deze maaltijd?" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Czy zamierzałeś wprowadzić %1$@ gramów jako ilość węglowodanów dla tego posiłku?" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ați intenționat să introduceți %1$@ grame drept cantitate de carbohidrați pentru această masă?" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вы намеревались ввести %1$@ граммов углеводов для этого блюда?" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bu yemek için karbonhidrat miktarı olarak %1$@ gram girmeyi düşündünüz mü?" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "你确定本餐包含 %1$@ g 碳水吗?" + } + } + } + }, + "Difficulty maintaining exercise or holding a conversation." : { + + }, + "Disables" : { + "comment" : "The action hint of the workout mode toggle button when enabled", + "extractionState" : "stale", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعطيل" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deaktiverer" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deaktivieren" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desactivar" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poistaa käytöstä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Désactive" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Disables" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Disattiva" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "無効にする" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deaktiverer" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uitschakelen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wyłącza" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Desativa" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dezactivează" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Отключает" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stänger av" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Devre Dışı" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vô hiệu hóa" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "禁用" + } + } + } + }, + "Dismiss" : { + "comment" : "Default alert dismissal", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تجاهل" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afvis" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Schließen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ignorar" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ohita" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fermer" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בטל" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "閉じる" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avvis" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sluiten" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rozumiem" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dispensar" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anulați" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Отклонить" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avfärda" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reddet" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Từ bỏ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "忽略" + } + } + } + }, + "Display colors for glucose" : { + "comment" : "Title for glucose coloring", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Farben für Blutzucker anzeigen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afficher les couleurs du glucose" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vis fargene for glukose." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kleuren tonen voor glucose" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afișați culorile pentru glicemie" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖颜色显示" + } + } + } + }, + "Display Control Options" : { + "comment" : "A section header in the live activity settings view, describing the control options for displaying glucose levels on the live activity screen.", + "isCommentAutoGenerated" : true, + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Optionen zur Anzeigesteuerung" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Options de contrôle de l'affichage" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vis kontrollopsjonene" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Weergaveopties" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afișați opțiunile de control" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "显示控制选项" + } + } + } + }, + "Display prediction in plot" : { + "comment" : "Title for prediction line toggle", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "BZ-Vorhersage im Diagramm anzeigen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afficher la prédiction dans le graphique" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vis prognosen i et diagram." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voorspelling tonen in grafiek" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afișați predicția în grafic" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "在图中显示预测结果" + } + } + } + }, + "Display up to 4 items. Display label is in parentheses." : { + "comment" : "Indicates the maximum number of items that can be displayed and how the label for each item is shortened.", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Es werden bis zu 4 Elemente angezeigt. Die Bezeichnungen werden in Klammern angegeben." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Affiche jusqu'à 4 éléments. La forme abrégée du libellé figure entre parenthèses." + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vis opp til 4 elementer. Visningsetiketten står i parantes." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toon maximaal 4 items. Het label staat tussen haakjes." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afișați până la 4 elemente. Eticheta de afișare este în paranteze." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "最多显示4个项目。括号内为显示标签。" + } + } + } + }, + "Don't Start" : { + "comment" : "Label for do not start preset action on scheduled preset reminder alert\nThe title of the notification action to not start a preset" + }, + "Done" : { + "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hotovo" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Udført" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fertig" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Completado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Valmis" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terminé" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בוצע" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fine" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ferdig" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voltooid" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gotowe" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gata" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Готово" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hotovo" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Färdig" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tamamlandı" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "完成" + } + } + } + }, + "Dose Summary" : { + "comment" : "Title for card to log dose", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Resumé af dosis" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dosisübersicht" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Resumen de dosis" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annoksen yhteenveto" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Résumé de la dose" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Riepilogo della dose" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dose sammendrag" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doseersamenvatting" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podsumowanie dawki" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rezumat doză" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Сводная информация о дозе" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sammanfattning av dos" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doz Özeti" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "注射量摘要" + } + } + } + }, + "Dose Type" : { + + }, + "Dosing Strategy" : { + "comment" : "The title of the Dosing Strategy section in settings", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dosingstrategi" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dosierungsstrategie" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Estrategia de dosificación" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annostelutapa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stratégie de Dosage" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Strategia di dosaggio" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doseringsstrategi" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doseerstrategie" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Strategia dawkowania" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Strategie dozare" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Режим ввода инсулина" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Strategi för insulinbehandling" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dozlama Stratejisi" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "剂量策略" + } + } + } + }, + "Duration" : { + + }, + "Duration exceeds: %1$.1f hours" : { + "comment" : "Override error description: duration exceed max (1: max duration in hours).", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Varigheden overstiger: %1$.1f timer" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dauer überschritten: %1$.1f Stunden" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "La durée dépasse : %1$.1f heures" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "משך זמן חורג: %1$.1f שעות" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "La durata supera: %1$.1f ore" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Varigheten overskrider: %1$.1f timer" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Duur overschrijdt: %1$.1f uur" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Czas trwania przekracza: %1$.1f godzin" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Durata depășește: %1$.1f ore" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Продолжительность превышает: %1$.1f часов" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Süre aşıldı: %1$.1f saat" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "持续时间超过: %1$.1f 小时" + } + } + } + }, + "Duration: %@" : { + + }, + "During Preset" : { + "comment" : "Title of a picker view that allows the user to select whether they want to see the data for the preset or the preset plus 6 hours.", + "isCommentAutoGenerated" : true + }, + "During this kind of hard exercise, your body may release hormones that raise glucose. This is more common in the morning before eating." : { + + }, + "Each 1% time in range ≈ 15 minutes." : { + "comment" : "TIR helper" + }, + "Each 5% increase in range is clinically beneficial." : { + "comment" : "TIR suggestion" + }, + "Easy breath. Can carry on a conversation." : { + + }, + "Edit Food" : { + + }, + "Edit Preset" : { + + }, + "Edit presets" : { + + }, + "Enable\nBluetooth" : { + "comment" : "Message to the user to enable bluetooth", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktiver \nbluetooth" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth einschalten" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activar \nBluetooth" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ota Bluetooth käyttöön" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activer \nbluetooth" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הפעל \n בלוטות'" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Attiva\nBluetooth" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktiver blåtann" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bluetooth\nInschakelen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Włączać\nBluetooth" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activați\nBluetooth" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Включить\nBluetooth" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktivera Bluetooth" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Etkinleştir\nBluetooth" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "启用蓝牙" + } + } + } + }, + "Enable Glucose Based Partial Application" : { + "comment" : "Title for Glucose Based Partial Application toggle", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktivér Glucose Based Partial Application" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucose Based Partial Application aktivieren" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Permettre l'application partielle basée sur la glycémie" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Attiva Applicazione parziale basata sulla glicemia (GBPA)" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktiver delvis anvendelse basert på glukose" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucose-afhankelijke gedeeltelijke toediening inschakelen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Włącz Algorytm adaptacyjny" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activați aplicarea parțială pe bază de glicemie" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "启用基于血糖的部分输注" + } + } + } + }, + "Enable Integral Retrospective Correction" : { + "comment" : "Title for Integral Retrospective Correction toggle", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktivér Integral Retrospective Correction" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Integral Retrospective Correction aktivieren" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activer la correction rétrospective intégrale" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Attiva Correzione retrospettiva integrale (IRC)" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktivere integrert retrospektiv korrigering" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Integrale retrospectieve correctie inschakelen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Włącz Integralną Korektę Retrospektywną (IRC)" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activați corecția retrospectivă integrală" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "启用整体回溯校正(IRC)" + } + } + } + }, + "Enabled" : { + "comment" : "Title for enable live activity toggle", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktiviert" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activé" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktivert" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ingeschakeld" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activat" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "启用" + } + } + } + }, + "Enables" : { + "comment" : "The action hint of the workout mode toggle button when disabled", + "extractionState" : "stale", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تفعيل" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktiverer" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktivieren" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Permitir" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ottaa käyttöön" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Active" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enables" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Attiva" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "有効にする" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aktiverer" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inschakelen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Włącza" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ativar" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activați" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Включает" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Slår på" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Etkin" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cho phép" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "启用" + } + } + } + }, + "End" : { + + }, + "End Preset" : { + + }, + "End Time" : { + + }, + "End Training?" : { + + }, + "Ensure that notifications are allowed and NOT silenced from %1$@." : { + "comment" : "Focus modes step 4 (1: appName)" + }, + "Enter a blood glucose from a meter for a recommended bolus amount." : { + "comment" : "Caption for bolus screen notice when glucose data is missing or stale", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Indtast blodsukker fra en fingerprikmåling for at få anbefalet en bolusmængde." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gib einen Blutzuckerwert von einem Messgerät ein, um eine Bolusempfehlung zu bekommen." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ingrese una glucosa en sangre de un medidor por una cantidad recomendada de bolo." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Syötä sormenpäästä mitattu glukoosiarvo saadaksesi suositellun bolusmäärän." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrez la glycémie à partir d'un mesure manuelle pour le calcul du bolus." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הכנס קריאת מד סוכר כדי לקבל המלצה לכמות בולוס." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inserirsci la glicemia capillare per ottenere la quantità di bolo consigliata." + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Legg inn blodsukkerverdi fra en måler for anbefalt bolusmengde." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Verkrijg een bloedglucose waarde van een meter voor een aanbevolen bolus hoeveelheid." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wprowadź poziom glukozy z glukometru, aby uzyskać zalecaną wielkość bolusa." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Introduceți o glicemie luata cu glucometrul pentru o recomandare de bolus." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Введите глюкозу крови, полученную с помощью глюкометра, для получения рекомендуемого количества болюса." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Du behöver mata in ett blodsockervärde för att få en rekommenderad bolus." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Önerilen bolus miktarı için bir ölçüm cihazından bir kan şekeri girin." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "请输入血糖仪测得的血糖值,以获取推荐的大剂量。" + } + } + } + }, + "Enter Bolus" : { + "comment" : "Button text to begin entering a bolus", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Indtast bolus" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus eingeben" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Introducir bolo" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Syötä bolus" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrer un Bolus" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inserisci bolo" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Skriv inn bolus" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus invoeren" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wprowadź bolus" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Introduceți bolusul" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ввести болюс" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ange Bolus" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus girin" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "输入大剂量" + } + } + } + }, + "Enter Fingerstick Glucose" : { + "comment" : "Button text prompting manual glucose entry on bolus screen", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Indtast fingerprikmåling" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blutzucker eingeben" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ingrese la glucosa de punción en el dedo" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Syötä mitattu glukoosiarvo" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrez la Glycémie capillaire" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הכנס קריאת מד סוכר" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inserirsci glicemia capillare" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Legg inn blodsukkerverdi fra fingerstikk" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vul vingerprikglucose in" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wprowadź glukozę z glukometru" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Introduceți glicemia din deget" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Введите глюкозу по глюкометру" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ange kapillärt blodsocker" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Parmak Ucu KŞ Girin" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "输入指尖血糖值" + } + } + } + }, + "Enter glucose safety limit" : { + "comment" : "The placeholder text instructing users to enter a glucose safety limit", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Indtast glucosesikkerhedsgrænse" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukosesicherheitsgrenze eingeben" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Introduzca el límite de seguridad de glucosa" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aseta glukoosin turvaraja" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrez la limite de sécurité du taux de glucose" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הגדרת בטיחות" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inserisci limite di sicurezza glicemia" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Angi sikkerhetsgrensen for blodsukker" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voer glucoseveiligheidslimiet in" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wprowadź bezpieczny limit glukozy" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Introduceți limita de siguranță pentru glicemie" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Введите безопасный предел глюкозы" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ange tröskelvärde för blodsocker" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "KŞ güvenlik limitini girin" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "输入血糖安全下限" + } + } + } + }, + "Enter suspend threshold" : { + "comment" : "The placeholder text instructing users to enter a suspend treshold", + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "أدخل حد التوقف" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Indtast grænse for suspendering" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Grenzwert für Hypo-Abschaltung eingeben" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enter suspend threshold" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ingrese nivel de suspensión" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aseta pysäytysraja" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrez le seuil de suspension" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enter suspend threshold" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inserisci soglia di sospensione" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "一時停止値を入力" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Angi suspenderingsgrense" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voer drempel voor onderbreking in" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wprowadź próg zawieszenia pompy" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Digite o limite de suspensão" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Introduceți limita pentru suspendare" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Введите рубеж приостановки" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ange tröskelvärde" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Askıya alma eşiğini girin" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhập ngưỡng tạm dừng" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "输入暂停阈值" + } + } + } + }, + "Error Canceling Bolus" : { + "comment" : "The alert title for an error while canceling a bolus", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "خطأ في إلغاء الجرعة" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fejl ved annullering af bolus" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fehler beim Abbrechen des Bolus" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error de cancelación de bolo" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Virhe boluksen kumoamisessa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur lors de l’annulation du Bolus" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error Canceling Bolus" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errore durante l'annullamento del bolo" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ボーラスのキャンセルにエラー" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke avbryte bolus" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fout bij annuleren bolus" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd anulowania bolusa" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erro Cancelando Bolus" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eroare la anularea bolusului" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ошибка отмены болюса" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fel vid försök att avbryta bolus" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus İptali Hatası" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi hủy liều Bolus" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无法取消大剂量" + } + } + } + }, + "Error Exporting Logs" : { + "comment" : "Critical event log export error alert title", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Der opstod en fejl under eksport af log" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fehler beim Exportieren des Protokolls" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error al exportar registros" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Virhe lokin viennissä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur lors de l'exportation des journaux" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errore durante l'esportazione dei registri" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Feil ved eksport av logger" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fout bij exporteren logboeken" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd podczas eksportowania dzienników" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eroare la exportarea jurnalelor" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ошибка экспорта логов" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fel vid export av loggar" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Günlükleri Dışa Aktarırken Hata" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出日志发生错误" + } + } + } + }, + "Error Resuming" : { + "comment" : "The alert title for a resume error", + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "خطأ في الاستئناف" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fejl ved genoptagelse" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fehler beim Fortfahren" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error Resuming" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error Reanudando" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Virhe jatkamisessa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erreur lors de la reprise" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Error Resuming" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Errore durante la ripresa" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "再開エラー" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Feil ved gjenopptagelse" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fout bij hervatten" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd wznawiania" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erro ao Retomar" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eroare în timpul reluării" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ошибка возобновления" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chyba pri obnovení" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fel vid återupptagande" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sürdürme Hatası" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi khi đang tái thực hiện" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "恢复输注错误" + } + } + } + }, + "Event" : { + + }, + "Event History" : { + "comment" : "Segmented button title for insulin delivery log event history", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hændelseshistorik" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ereignisverlauf" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Historial de Eventos" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tapahtumahistoria" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Historique des événements" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Event History" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cronologia degli eventi" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Event History" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hendelseshistorie" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Logboek" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Historia zdarzeń" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Event History" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Istoric evenimente" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "История событий" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Händelsehistorik" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Etkinlik Geçmişi" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Event History" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "历史事件" + } + } + } + }, + "Eventually" : { + + }, + "Eventually %@" : { + "comment" : "The subtitle format describing eventual glucose. (1: localized glucose value description)", + "extractionState" : "stale", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "في النهاية %@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Med tiden %@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voraussichtlich %@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eventualmente %@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ennuste %@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Éventuellement %@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eventually %@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Infine %@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "予想 %@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Omsider %@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uiteindelijk %@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Docelowo %@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eventualmente %@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "În cele din urmă %@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "В конечном итоге %@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Förväntat %@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nihai KŞ %@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết quả %@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "最终 %@" + } + } + } + }, + "Example" : { + + }, + "Example: Allow Notifications from %1$@" : { + "comment" : "Focus mode image 1 caption (1: appName)" + }, + "Example: Silence Notifications from other apps" : { + "comment" : "Focus mode image 2 caption" + }, + "Exceeds maximum allowed bolus in settings" : { + "comment" : "Bolus error description: bolus exceeds maximum bolus in settings.", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Overskrider den maksimalt tilladte bolus i indstillingerne" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Überschreitet den maximal zulässigen Bolus in den Einstellungen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Excede el bolo máximo permitido en la configuración" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dépasse le bolus maximal défini dans les paramètres" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supera il bolo massimo consentito nelle impostazioni" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Overskrider maksimalt tillatt bolus i innstillingene" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Overschrijdt maximale toegestane bolus in instellingen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Przekracza maksymalny dozwolony bolus." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Depășește bolusul maxim permis în setări" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Превышен максимально допустимый болюс в настройках" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ayarlarda izin verilen maksimum bolusu aşıyor" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "超出设定的最大剂量限制" + } + } + } + }, + "Exceeds maximum allowed carbs" : { + "comment" : "Carb error description: carbs exceed maximum amount.", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Overskrider det maksimalt tilladte antal kulhydrater" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Überschreitet die maximal zulässigen Kohlenhydrate" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supera el máximo permitido de carbohidratos definido en la configuración" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dépasse le nombre de glucides maximal accepté" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supera i carboidrati massimi consentiti" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Overskrider maksimalt tillatte karbohydrater" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Overschrijdt maximale toegestane koolhydraten" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Przekracza maksymalną dopuszczalną ilość węglowodanów" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Depășește maximul de carbohidrați permis" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Превышено максимально допустимое количество углеводов" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İzin verilen maksimum karbonhidrat miktarını aşıyor" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "超过最大允许碳水化合物摄入量" + } + } + } + }, + "Exceeds Maximum Bolus" : { + "comment" : "Alert title for a maximum bolus validation error", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يتجاوز أقصى جرعة" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Overskrider maksimal bolus" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Überschreitet den maximalen Bolus" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Excede bolo máximo" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ylittää maksimiboluksen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dépasse le bolus maximal" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exceeds Maximum Bolus" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supera il bolo massimo" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ボーラス最大値を超えています" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Overskrider maksimal bolus" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Overschrijdt maximale bolus" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Osiągnięto bolus maksymalny" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Excede o Bolus Máximo" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Depășește bolusul maxim" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Превышает максимальный болюс" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Överstiger maxbolusdos" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Maksimum Bolusu Aşıyor" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vượt quá liều Bolus tối đa" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "超过大剂量上限" + } + } + } + }, + "Exercise is a common reason to use a preset. Different kinds of exercise and their intensity levels can affect your glucose levels in different ways." : { + + }, + "Explosive sprints or bursts" : { + + }, + "Export Critical Event Logs" : { + "comment" : "The title of the export critical event logs in support", + "extractionState" : "stale", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eksportér kritisk begivenhedslog" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Protokolle kritischer Ereignisse exportieren" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportar registros de eventos críticos" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vie tärkeiden tapahtumien loki" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exporter les journaux d'événements critiques" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Esporta registri eventi critici" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eksporter kritiske hendelseslogger" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exporteer kritieke gebeurtenislogboek" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eksportuj dzienniki zdarzeń krytycznych" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportați jurnalul de evenimente critice" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Экспорт логов критических событий" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportera kritiska händelseloggar" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kritik Olay Günlüklerini Dışa Aktarma" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出关键事件日志" + } + } + } + }, + "Export-%1$@" : { + "comment" : "The export file name formatted string (1: timestamp)", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eksport-%1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Export-%1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportar- %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vienti-%1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Export-%1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Esporta- %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eksporter- %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exporteren: %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eksportuj- %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportați-%1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Экспорт -%1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Exportera-%1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dışa Aktar- %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "导出-%1$@" + } + } + } + }, + "External Insulin" : { + "comment" : "Dose type label for a manually-entered bolus" + }, + "Failed to Resume Insulin Delivery" : { + "comment" : "The alert title for a resume error", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke genoptage insulintilførsel" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wiederaufnahme der Insulinabgabe fehlgeschlagen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No se pudo reanudar la administración de insulina" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annostelun jatkaminen epäonnistui" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échec de la reprise de l’administration d’insuline" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Impossibile riprendere l'erogazione dell'insulina" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kunne ikke gjenoppta insulinlevering" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulinetoediening hervatten mislukt" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nie udało się wznowić podawania insuliny" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eșec la reluarea administrării de insulină" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не удалось возобновить подачу инсулина" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obnovenie podávania inzulínu zlyhalo" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Misslyckades att återuppta insulintillförsel" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İnsülin İletimine Devam Edilemedi" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "恢复胰岛素输注失败" + } + } + } + }, + "Falling / Falling Quickly" : { + + }, + "Falling Slowly" : { + + }, + "FAQ about Alerts" : { + "comment" : "View title for how mute alerts work" + }, + "Favorite Food Insights" : { + + }, + "Favorite Foods" : { + "comment" : "Label for Favorite Foods icon in Settings\nTitle for Favorite Foods view", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lieblingsessen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aliments favoris" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מאכלים אהובים" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favorittmat" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favoriete voedingsmiddelen" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mâncăruri preferate" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "食物库" + } + } + } + }, + "FAVORITE FOODS" : { + "comment" : "The section title for Carb entry screen where Favorite Foods can be selected", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "FAVORIT-MAD" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favorisiertes Essen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "ALIMENTS FAVORIS" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מאכלים אהובים" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "CIBI SALVATI" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "FAVORITTMAT" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "FAVORIETE ETEN" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "ULUBIONE JEDZENIE" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "MÂNCĂRURI PREFERATE" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "食物库" + } + } + } + }, + "Fiasp" : { + "comment" : "Title of insulin model preset", + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiasp" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "费雅普(Fiasp)" + } + } + } + }, + "Filter" : { + + }, + "Filtered by:" : { + + }, + "Fingerstick Glucose" : { + "comment" : "Label for manual glucose entry row on bolus screen", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fingerprik blodsukker" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blutzucker" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosa de punción en el dedo" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mitattu glukoosi" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucose capilaire" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "קריאת מד סוכר" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemia capillare" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blodsukkerverdi fra fingerstikk" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vingerprikglucose" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoza z krwi" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemie din deget" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Глюкоза по глюкометру" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapillärt blodsocker" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Parmak Ucu KŞ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "指尖血糖" + } + } + } + }, + "Fires once when Loop's forecast first dips below the level inside this horizon. Re-arms when the forecast clears." : { + "comment" : "A footer for the \"Horizon\" section of a glucose alert detail view, explaining how the horizon works.", + "isCommentAutoGenerated" : true + }, + "Fix now by turning Critical Alerts and Time Sensitive Notifications ON." : { + "comment" : "Both Critical Alerts and Time Sensitive Notifications disabled banner body" + }, + "Fix now by turning Critical Alerts ON." : { + "comment" : "Critical alerts disabled banner body" + }, + "Fix now by turning Notifications and Critical Alerts ON." : { + "comment" : "Both Critical Alerts and Notifications disabled banner body" + }, + "Fix now by turning Notifications ON." : { + "comment" : "Notifications disabled banner body" + }, + "Fix now by turning Notifications, Critical Alerts and Time Sensitive Notifications ON." : { + "comment" : "Secondary text for alerts disabled warning, which appears on the main status screen.", + "extractionState" : "stale", + "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Opravit nyní zapnutím Oznámení, Kritických upozornění a Časově citlivých oznámení." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Løs nu ved at slå meddelelser, kritiske advarsler og tidsfølsomme meddelelser TIL." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Behebe dies jetzt, indem Du Benachrichtigungen, kritische Alarme und zeitkritische Benachrichtigungen einschaltest." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Soluciónalo ahora activando Notificaciones, Alertas Críticas y Notificaciones Sensibles al Tiempo." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Corrigez-le maintenant en activant les notifications, les alertes critiques et les notifications urgentes." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "תקן כעת ע״י הפעלת התראות, התראות קריטיות והודעות רגישות לזמן" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Risolvilo ora attivando notifiche, avvisi critici e notifiche sensibili al tempo." + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fiks nå ved å slå PÅ varsler, kritiske varsler og tidssensitive varsler." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Los nu op door Meldingen, Kritieke meldingen en Tijdgevoelige meldingen AAN te zetten." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Napraw teraz, włączając powiadomienia, alerty krytyczne i powiadomienia zależne od czasu." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Remediați acum activând Notificări, Alerte critice și Notificări urgente." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Исправьте ситуацию, включив уведомления, критические оповещения и уведомления, чувствительные к времени." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bildirimleri, Kritik Uyarıları ve Zamana Duyarlı Bildirimleri AÇIK konuma getirerek şimdi düzeltin." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "请立即开启“通知”、“重要警报”和“时效性通知”以解决问题。" + } + } + } + }, + "Fix now by turning Time Sensitive Notifications ON." : { + "comment" : "Time sensitive notifications disabled banner body" + }, + "Food Type" : { + "comment" : "Label for food type entry on add favorite food screen", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "Food Type" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Madtype" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Essenstyp" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Food Type" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Food Type" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Type d'aliment" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "סוג מאכל" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tipo cibo" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Type mat" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Type voeding" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rodzaj żywności" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Food Type" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tip aliment" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Тип еды" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Typ jedla" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Typ av mat" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Food Type" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loại thực phẩm" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "食物类型" + } + } + } + }, + "For %1$@" : { + "comment" : "The format string used to describe a finite workout targets duration", + "extractionState" : "stale", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لمدة %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "I %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Für %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Por %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ ajaksi" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pendant %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "For %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Per %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@につき" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "For %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voor %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Do %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Por %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pentru %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "В течение %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "I %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ için" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "For %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "对于 %1$@" + } + } + } + }, + "For activities that raise your risk of going low, you can set a higher temporary correction range." : { + + }, + "For mixed-intensity activity:" : { + + }, + "For safety purposes, you should allow Critical Alerts, Time Sensitive and Notification Permissions (non-critical alerts) on your device to continue using %1$@ and cannot turn off individual alarms." : { + "comment" : "Description text for silencing time sensitive and non-critical alerts (1: app name)", + "extractionState" : "stale", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Af sikkerhedsmæssige årsager bør du tillade, at Kritiske advarsler, Tidsfølsomme og Meddelelser (ikke-kritiske advarsler) på din enhed fortsætter med at bruge %1$@ og ikke kan slå individuelle alarmer fra." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aus Sicherheitsgründen solltest Du kritische Warnungen, zeitkritische Warnungen und Benachrichtigungsberechtigungen (nicht kritische Warnungen) auf Deinem Gerät zulassen, um %1$@ weiterhin verwenden zu können." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pour des raisons de sécurité, vous devriez autoriser les alertes critiques, les alertes urgentes et les autorisations de notification (alertes non-critiques) sur votre appareil pour continuer à utiliser %1$@ si vous ne pouvez pas désactiver les alarmes individuelles." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Per motivi di sicurezza, dovresti consentire gli avvisi critici, gli avvisi sensibili al tempo e le autorizzazioni di notifica (avvisi non critici) sul tuo dispositivo per continuare a utilizzare %1$@ e non puoi disattivare i singoli allarmi." + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Av sikkerhetshensyn bør du tillate at kritiske varsler, tidssensitive varsler og varslingstillatelser (ikke-kritiske varsler) på enheten din fortsetter å bruke %1$@ og ikke kan slå av individuelle alarmer." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voor je veiligheid moet je Kritieke meldingen, Tijdgevoelige meldingen en Meldingen (niet-kritieke waarschuwingen) op je apparaat toestaan om %1$@ te blijven gebruiken. Je kunt afzonderlijke alarmen niet uitschakelen." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ze względów bezpieczeństwa należy zezwolić na alerty krytyczne, alerty zależne od czasu i uprawnienia do powiadomień (alerty niekrytyczne) na swoim urządzeniu na dalsze korzystanie z %1$@ i nie można wyłączać poszczególnych alarmów." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "În scopuri de siguranță, trebuie să permiteți alertele critice, urgente și permisiunile de notificare (alerte necritice) pe dispozitivul dumneavoastră pentru a continua să utilizați %1$@ și nu puteți dezactiva alarmele individuale." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "В целях безопасности вам следует разрешить критические оповещения, срочные оповещения и уведомления (некритические оповещения) на вашем устройстве, чтобы продолжить использовать %1$@ и не отключать отдельные тревоги." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "出于安全考虑,您应允许设备上的“关键警报”、“时效性警报”和“通知权限”(非关键警报),以便继续使用 %1$@ ,且无法关闭单个警报。" + } + } + } + }, + "For some people, routine chores and everyday activities can affect glucose levels similar to exercise." : { + + }, + "For these activities, consider setting your insulin needs to **less than 100%**." : { + + }, + "For these activities, consider setting your insulin needs to **more than 100%**." : { + + }, + "Forecasted blood glucose may still be higher than target range." : { + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Forventet blodsukker kan stadig være højere end målområdet." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Der prognostizierte Blutzucker kann immer noch über dem Zielbereich liegen." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "La glucosa en sangre pronosticada aún puede estar por encima del rango objetivo." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Le taux de glucose sanguin prévu pourrait quand-même être plus élevé que la plage cible." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "רמת הסוכר הצפויה עשויה עדיין להיות גבוהה מטווח היעד." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "La glicemia prevista potrebbe essere più elevata di quella impostata come obiettivo." + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Forventet blodsukker kan fortsatt være høyere enn målområdet." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voorspelde bloedglucose kan nog steeds hoger zijn dan het streefbereik." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prognozowany poziom glukozy we krwi może nadal być wyższy niż zakres docelowy." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemia prognozată poate fi în continuare mai mare decât intervalul țintă." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Прогнозируемый уровень глюкозы в крови все еще может быть выше целевого диапазона." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Öngörülen KŞ, hala hedef aralıktan yüksek olabilir." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "预测的血糖值可能仍高于目标范围。" + } + } + } + }, + "Forecasted Glucose" : { + "comment" : "Title for forecast explanation modal on bolus view", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Forventet blodsukker" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prognostizierte Blutzucker" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosa pronosticada" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glycémie prévue" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "סוכר צפוי" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemia prevista" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Forventet blodsukker" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voorspelde glucose" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prognozowana glukoza" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemia prognozată" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Прогнозируемый уровень глюкозы" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tahmini KŞ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "预测血糖值" + } + } + } + }, + "Frequently asked questions about alerts" : { + "comment" : "Label for link to see frequently asked questions", + "extractionState" : "stale", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ofte stillede spørgsmål om påmindelser" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Häufig gestellte Fragen zu Benachrichtigungen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Foire aux questions sur les alertes" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Domande frequenti sugli avvisi" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ofte stilte spørsmål om varsler" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Veelgestelde vragen over waarschuwingen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Często zadawane pytania dotyczące alertów" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Întrebări frecvente privind alertele" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Часто задаваемые вопросы об оповещениях" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "关于警报的常见问题" + } + } + } + }, + "Full out effort. No conversation possible." : { + + }, + "g" : { + "comment" : "The short unit display string for grams", + "extractionState" : "stale", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "г" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "gr" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "克" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "г" + } + } + } + }, + "Get help with Alert Permissions" : { + "comment" : "Get help with Alert Permissions support button text", + "extractionState" : "stale", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Få hjælp til advarselstilladelser" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hol Dir Hilfe zu den Benachrichtigungsberechtigungen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ayuda con los Permisos de Alerta" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obtenir de l'aide avec les autorisations d'alerte" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ottieni assistenza per le autorizzazioni" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Få hjelp med varslingsinnstillinger" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Krijg hulp bij toestemming meldingen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzyskaj pomoc dotyczącą uprawnień alertów" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obțineți ajutor cu permisiunile de alertă" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Справка по разрешениям на оповещения" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uyarı İzinleri ile ilgili yardım alın" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "获取有关警报权限的帮助" + } + } + } + }, + "Get help with iOS Permissions" : { + "comment" : "Get help with iOS Permissions support button text" + }, + "Glucose" : { + "comment" : "Health access row label for glucose\nThe title of the glucose and prediction graph\nTitle for predicted glucose chart on bolus screen", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "قراءات السكر" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukóza" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukose" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blutzucker" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosa" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoosi" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glycémie" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucose" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemia" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖値" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blodsukker" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucose" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoza" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicose" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemia" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Глюкоза" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glykémia" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukos" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kan şekeri" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đường huyết" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glükóz" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Глюкоза" + } + } + } + }, + "Glucose Alerts" : { + "comment" : "A link in the alert management screen that takes the user to the glucose alert settings view.", + "isCommentAutoGenerated" : true + }, + "Glucose Based Partial Application" : { + "comment" : "Title for glucose based partial application experiment description\nTitle of glucose based partial application experiment", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucose Based Partial Application" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Teilweise Anwendung auf Glukosebasis" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Application partielle basée sur la glycémie" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Applicazione parziale basata sulla glicemia (GBPA)" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Partiell anvendelse basert på glukosenivå" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucose-afhankelijke gedeeltelijke toediening" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Algorytm adaptacyjny" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aplicare parțială pe bază de glicemie" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "基于血糖的部分输注" + } + } + } + }, + "Glucose Change Chart" : { + + }, + "Glucose data is %1$@ old" : { + "comment" : "The error message when glucose data is too old to be used. (1: glucose data age in minutes)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "قراءات السكر منذ %1$@ " + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blodsukkerdata er %1$@ gamle" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blutzuckerdaten sind %1$@ alt" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Los datos de glucosa son de hace %1$@ " + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoositieto on %1$@ vanha" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Les dernières données de glucose remontent à %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucose data is %1$@ old" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "I dati sulla glicemia sono vecchi di %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖データは %1$@ 前のものです" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blodsukkerdata er %1$@ gammel" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosegegevens zijn %1$@ oud" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dane o glukozie są nieaktualne od %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Medida de glicose está %1$@ atrasada" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Datele despre glicemie au o vechime de %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Данные о глюкозе устарели на %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukosvärde är %1$@ gammalt" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ eski KŞ verisi" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dữ liệu đường huyết %1$@ cũ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "葡萄糖%1$@分钟未更新" + } + } + } + }, + "Glucose data not available" : { + "comment" : "Description of error when glucose data is missing", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "قراءات السكر غير متوفرة" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blodsukkerdata ikke tilgængelige" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blutzuckerdaten nicht verfügbar" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Los datos de glucosa no están disponibles" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoositietoja ei saatavilla" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Les données de glucose ne sont pas disponibles" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucose data not available" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dati sulla glicemia non disponibili" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "グルコースデータがありません" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blodsukkerdata er utilgjengelig" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosegegevens niet beschikbaar" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dane o glukozie są niedostępne" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Medida de glicose não disponível" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nu sunt disponibile date despre glicemie" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Данные гликемии недоступны" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukosvärde saknas" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "KŞ verisi mevcut değil" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dữ liệu đường huyết không sẵn sàng" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖数据不可用" + } + } + } + }, + "Glucose Data Now Available" : { + "comment" : "Alert title when glucose data returns while on bolus screen", + "extractionState" : "stale", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blodsukkerdata er nu tilgængelige" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blutzucker jetzt verfügbar" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Datos de glucosa ahora disponibles" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoositiedot nyt saatavilla" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Les données de glycémie sont maintenant disponibles" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dati glicemia ora disponibili" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blodsukkerdata er utilgjengelig" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosegegevens nu beschikbaar" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dane dotyczące glukozy są już dostępne" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Valorile glicemiei sunt disponibile" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Данные о глюкозе теперь доступны" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blodglukosvärde finns nu tillgängligt" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "KŞ Verileri Artık Kullanılabilir" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "现已获取血糖数据" + } + } + } + }, + "Glucose effect of suspending insulin delivery" : { + "comment" : "Description of the prediction input effect for suspension of insulin delivery", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoseeffekt ved afbrydelse af insulintilførsel" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoseeffekt der Unterbrechung der Insulinabgabe" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Effet sur la glycémie de la suspension d'administration de l'insuline" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Effetto sulla glicemia della sospensione dell'erogazione d'insulina" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoseeffekt av å suspendere insulintilførsel" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucose-effect van onderbroken insulinetoediening" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wpływ wstrzymania podawania insuliny na poziom glukozy" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Efectul asupra glicemiei al suspendării administrării de insulină" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "暂停胰岛素输注对血糖的影响" + } + } + } + }, + "Glucose Entry Out of Range" : { + "comment" : "Alert title for a manual glucose entry out of range error\nTitle for bolus screen warning when glucose entry is out of range", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blodsukkerværdi er uden for intervallet" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blutzucker-Eingabe außerhalb des Bereichs" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrada de glucosa fuera de rango" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoosiarvo alueen ulkopuolella" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "La glycémie saisie est hors de la plage." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemia inserita fuori intervallo" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blodsukkerdata er utenfor intervallet" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucose-invoer buiten bereik" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wprowadzanie glukoza jest poza zakresem" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Valoarea glicemiei introdusă este în afara intervalului" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ввод глюкозы вне допустимого диапазона" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Det manuellt inmatade blodsockervärdet utanför gränsvärden" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "KŞ Girişi Aralık Dışında" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "输入血糖超出范围" + } + } + } + }, + "Glucose Metrics" : { + "comment" : "Glucose metrics section header" + }, + "Glucose Momentum" : { + "comment" : "Title of the prediction input effect for glucose momentum", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "مقاومة سكر الدم" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blodsukkermomentum" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blutzucker-Momentum" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Momento de Glucosa" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoosin liike" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Momentum de glucose" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucose Momentum" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Momento della glicemia" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "グルコース モメンタム" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukose Momentum" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosetrendlijn" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pęd glukozy" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aceleração da Glicose" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avânt glicemie" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Динамика гликемии" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukosförändring" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "KŞ Momentumu" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chuyển động của Glucose" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "葡萄糖增量预测算法" + } + } + } + }, + "Glucose overview and ambulatory glucose profile" : { + "comment" : "Statistics settings descriptive text" + }, + "Glucose Summary" : { + + }, + "Glucose Target Range Schedule" : { + "comment" : "Details for configuration error when glucose target range schedule is missing", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tidsplan for glukosemålområde" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zeitplan für den Blutzucker-Zielbereich" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Horario para el objetivo de glucosa" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Horaire de la plage cible de glycémie" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Programma di intervalli target di glicemia" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tidsplan for blodsukker målområde" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosestreefbereikschema" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Harmonogram zakresu docelowego glukozy" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Programul intervalului țintă de glicemie" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "График целевого диапазона глюкозы" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "KŞ Hedef Aralığı Programı" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖目标范围表" + } + } + } + }, + "Glucose, Insulin, and Carb Data Access" : { + "comment" : "Apple Health settings descriptive text" + }, + "GMI" : { + "comment" : "Glucose Management Indicator metric title", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "GMI" + } + } + } + }, + "Health" : { + "comment" : "Logbook carb row detail: the entry came from Apple Health", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "Health" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zdraví" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sundhed" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Health" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Salud" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Terveys" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Santé" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Health" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egészség" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Salute" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ヘルスケア" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Helse" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gezondheid" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zdrowie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Saúde" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sănătate" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Здоровье" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zdravie" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hälsa" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Health" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Здоровʼя" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Apple Health" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "健康" + } + } + } + }, + "Go to Settings > Focus." : { + "comment" : "Focus modes step 1" + }, + "Goal: <%@" : { + "comment" : "Average glucose goal" + }, + "Goal: <1%" : { + "comment" : "TIR goal for very low" + }, + "Goal: <5%" : { + "comment" : "TIR goal for very high" + }, + "Goal: <7%" : { + "comment" : "GMI goal" + }, + "Goal: >70%" : { + "comment" : "CGM active goal\nTIR goal for target range" + }, + "Goal: ≤36%" : { + "comment" : "Glucose variability goal" + }, + "grams" : { + + }, + "HARDWARE SOUNDS" : { + "extractionState" : "stale", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "HARDWARE-LYDE" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "HARDWARE-SOUNDS" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "SONS MATÉRIELS" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "SUONI HARDWARE" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "MASKINVARELYDER" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "GELUIDEN VAN APPARATUUR" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "DŹWIĘKI SPRZĘTOWE" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "SUNETE HARDWARE" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "АППАРАТНЫЕ ЗВУКИ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "泵体提示音" + } + } + } + }, + "Her bolus recommendation is higher than usual because her overall insulin is set higher." : { + + }, + "Her preset is set to **110%%**, which is more than she usually needs. This means %@ will make her basal rates, carb ratio, and insulin sensitivity factor (ISF) stronger. " : { + + }, + "High" : { + "comment" : "Time-in-range band label (181–250 mg/dL)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "مرتفع" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vysoká" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Høj" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoch" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alta" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Korkea" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Élevée" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "גבוה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Magas" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alta" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "高値" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Høy" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoog" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wysoka" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alta" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ridicată" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Высокая" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vysoká" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Högt" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yüksek" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Висока" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cao" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "高" + } + } + } + }, + "In range" : { + "comment" : "Time in range band: glucose 70–180 mg/dL (3.9–10.0 mmol/L) Time-in-range band name: glucose 70–180 mg/dL (3.9–10.0 mmol/L)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "ضمن النطاق" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "V rozsahu" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "I området" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Im Zielbereich" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "En rango" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tavoitealueella" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dans la cible" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בטווח" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tartományban" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nell'intervallo" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "範囲内" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "I målområdet" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Binnen bereik" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "W zakresie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "No alvo" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "În interval" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "В диапазоне" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "V rozsahu" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inom målområdet" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aralıkta" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "У діапазоні" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trong khoảng" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "范围内" + } + } + } + }, + "Infusion set changed" : { + "comment" : "Pump event in the history: the infusion set was replaced", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم تغيير مجموعة التسريب" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Infuzní set vyměněn" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Infusionssæt skiftet" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Infusionsset gewechselt" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Equipo de infusión cambiado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Infuusiosetti vaihdettu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cathéter changé" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "סט העירוי הוחלף" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Infúziós szerelék cserélve" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Set di infusione cambiato" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "インフュージョンセット交換" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Infusjonssett byttet" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Infuusset vervangen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wymieniono zestaw infuzyjny" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Conjunto de infusão trocado" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Set de infuzie schimbat" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Инфузионный набор заменён" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Infúzny set vymenený" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Infusionsset bytt" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İnfüzyon seti değiştirildi" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Інфузійний набір замінено" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã thay bộ truyền" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "已更换输注管路" + } + } + } + }, + "Insulin isn't being adjusted. Tap for details." : { + "comment" : "Notice detail on the Now screen when Loop hasn't completed recently", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لا يتم تعديل الأنسولين. اضغط للتفاصيل." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inzulín se neupravuje. Klepněte pro podrobnosti." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin bliver ikke justeret. Tryk for detaljer." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin wird nicht angepasst. Für Details tippen." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "La insulina no se está ajustando. Toca para ver detalles." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuliinia ei säädetä. Napauta nähdäksesi lisätiedot." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'insuline n'est pas ajustée. Touchez pour en savoir plus." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "האינסולין אינו מותאם. הקש לפרטים." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Az inzulin nem kerül módosításra. Koppints a részletekért." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'insulina non viene regolata. Tocca per i dettagli." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "インスリンが調整されていません。タップして詳細を表示。" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin blir ikke justert. Trykk for detaljer." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuline wordt niet aangepast. Tik voor details." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina nie jest dostosowywana. Stuknij, aby zobaczyć szczegóły." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "A insulina não está sendo ajustada. Toque para ver detalhes." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina nu este ajustată. Atingeți pentru detalii." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Инсулин не регулируется. Нажмите для подробностей." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inzulín sa neupravuje. Klepnite pre podrobnosti." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulinet justeras inte. Tryck för detaljer." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İnsülin ayarlanmıyor. Ayrıntılar için dokunun." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Інсулін не регулюється. Торкніться, щоб дізнатися більше." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin không được điều chỉnh. Chạm để xem chi tiết." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "胰岛素未在调整。轻点查看详情。" + } + } + } + }, + "Insulin per day" : { + "comment" : "Trends tile and card title: average total insulin per day", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الأنسولين يوميًا" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inzulín za den" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin pr. dag" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin pro Tag" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina por día" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuliini päivässä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuline par jour" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "אינסולין ליום" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inzulin naponta" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina al giorno" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日のインスリン量" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin per dag" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuline per dag" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina dziennie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina por dia" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulină pe zi" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Инсулин в день" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inzulín za deň" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin per dag" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Günlük insülin" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Інсулін на день" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin mỗi ngày" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "每日胰岛素" + } + } + } + }, + "Insulin per day, average %1$@" : { + "comment" : "VoiceOver label for the Trends Insulin per day chart. (1: average insulin per day, e.g. 32.1 U)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الأنسولين يوميًا، المتوسط %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inzulín za den, průměr %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin pr. dag, gennemsnit %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin pro Tag, Durchschnitt %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina por día, promedio %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuliini päivässä, keskiarvo %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuline par jour, moyenne %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "אינסולין ליום, ממוצע %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inzulin naponta, átlag %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina al giorno, media %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日のインスリン量、平均 %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin per dag, gjennomsnitt %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuline per dag, gemiddeld %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina dziennie, średnio %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina por dia, média %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulină pe zi, medie %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Инсулин в день, в среднем %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inzulín za deň, priemer %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin per dag, medel %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Günlük insülin, ortalama %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Інсулін на день, у середньому %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin mỗi ngày, trung bình %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "每日胰岛素,平均 %1$@" + } + } + } + }, + "Insulin per day, weekly average, average %1$@" : { + "comment" : "VoiceOver label for the Trends Insulin per day chart when bars are weekly averages. (1: average insulin per day, e.g. 32.1 U)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الأنسولين يوميًا، متوسط أسبوعي، المتوسط %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inzulín za den, týdenní průměr, průměr %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin pr. dag, ugegennemsnit, gennemsnit %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin pro Tag, Wochendurchschnitt, Durchschnitt %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina por día, promedio semanal, promedio %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuliini päivässä, viikkokeskiarvo, keskiarvo %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuline par jour, moyenne hebdomadaire, moyenne %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "אינסולין ליום, ממוצע שבועי, ממוצע %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inzulin naponta, heti átlag, átlag %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina al giorno, media settimanale, media %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日のインスリン量、週平均、平均 %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin per dag, ukesgjennomsnitt, gjennomsnitt %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuline per dag, weekgemiddelde, gemiddeld %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina dziennie, średnia tygodniowa, średnio %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina por dia, média semanal, média %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulină pe zi, medie săptămânală, medie %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Инсулин в день, среднее за неделю, в среднем %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inzulín za deň, týždenný priemer, priemer %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin per dag, veckomedel, medel %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Günlük insülin, haftalık ortalama, ortalama %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Інсулін на день, середнє за тиждень, у середньому %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin mỗi ngày, trung bình theo tuần, trung bình %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "每日胰岛素,按周平均,平均 %1$@" + } + } + } + }, + "Insulin timeline, %1$@, bolus %2$@, basal %3$@, carbs %4$@" : { + "comment" : "VoiceOver summary of the day's insulin timeline chart with no glucose readings. (1: weekday and date; 2: bolus total, e.g. 12.5 U; 3: basal total; 4: carbs total, e.g. 140 g)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "مخطط الأنسولين، %1$@، Bolus %2$@، القاعدية %3$@، الكارب %4$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Časová osa inzulínu, %1$@, bolus %2$@, bazál %3$@, sacharidy %4$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulintidslinje, %1$@, bolus %2$@, basal %3$@, kulhydrater %4$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin-Zeitleiste, %1$@, Bolus %2$@, Basal %3$@, KH %4$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cronología de insulina, %1$@, bolo %2$@, basal %3$@, carbohidratos %4$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuliinin aikajana, %1$@, bolus %2$@, basaali %3$@, hiilihydraatit %4$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chronologie de l'insuline, %1$@, bolus %2$@, basal %3$@, glucides %4$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "ציר זמן אינסולין, %1$@, Bolus %2$@, Basal %3$@, פחמימות %4$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inzulin idővonal, %1$@, bólus %2$@, basal %3$@, szénhidrát %4$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cronologia insulina, %1$@, bolo %2$@, basale %3$@, carboidrati %4$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "インスリンのタイムライン、%1$@、ボーラス %2$@、ベーサル %3$@、カーボ %4$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulintidslinje, %1$@, bolus %2$@, basal %3$@, karbohydrater %4$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulinetijdlijn, %1$@, bolus %2$@, basaal %3$@, koolhydraten %4$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Oś czasu insuliny, %1$@, bolus %2$@, baza %3$@, węglowodany %4$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Linha do tempo de insulina, %1$@, bolus %2$@, basal %3$@, carbs %4$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cronologie insulină, %1$@, bolus %2$@, bazală %3$@, carbohidrați %4$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Хронология инсулина, %1$@, болюс %2$@, базал %3$@, углеводы %4$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Časová os inzulínu, %1$@, bolus %2$@, bazál %3$@, sacharidy %4$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulintidslinje, %1$@, bolus %2$@, basal %3$@, kolhydrater %4$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İnsülin zaman çizelgesi, %1$@, bolus %2$@, bazal %3$@, karb %4$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Хронологія інсуліну, %1$@, болюс %2$@, базал %3$@, вуглеводи %4$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dòng thời gian insulin, %1$@, Bolus %2$@, Basal %3$@, Carbs %4$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "胰岛素时间线,%1$@,大剂量 %2$@,基础 %3$@,碳水 %4$@" + } + } + } + }, + "Insulin timeline, %1$@, bolus %2$@, basal %3$@, carbs %4$@, latest glucose %5$@ %6$@" : { + "comment" : "VoiceOver summary of the day's insulin timeline chart. (1: weekday and date; 2: bolus total, e.g. 12.5 U; 3: basal total; 4: carbs total, e.g. 140 g; 5: latest glucose value; 6: glucose unit, mmol/L or mg/dL)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "مخطط الأنسولين، %1$@، Bolus %2$@، القاعدية %3$@، الكارب %4$@، آخر قراءة سكر %5$@ %6$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Časová osa inzulínu, %1$@, bolus %2$@, bazál %3$@, sacharidy %4$@, poslední glukóza %5$@ %6$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulintidslinje, %1$@, bolus %2$@, basal %3$@, kulhydrater %4$@, seneste glukose %5$@ %6$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin-Zeitleiste, %1$@, Bolus %2$@, Basal %3$@, KH %4$@, letzter Blutzucker %5$@ %6$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cronología de insulina, %1$@, bolo %2$@, basal %3$@, carbohidratos %4$@, última glucosa %5$@ %6$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuliinin aikajana, %1$@, bolus %2$@, basaali %3$@, hiilihydraatit %4$@, viimeisin glukoosi %5$@ %6$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chronologie de l'insuline, %1$@, bolus %2$@, basal %3$@, glucides %4$@, dernière glycémie %5$@ %6$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "ציר זמן אינסולין, %1$@, Bolus %2$@, Basal %3$@, פחמימות %4$@, סוכר אחרון %5$@ %6$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inzulin idővonal, %1$@, bólus %2$@, basal %3$@, szénhidrát %4$@, legutóbbi glükóz %5$@ %6$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cronologia insulina, %1$@, bolo %2$@, basale %3$@, carboidrati %4$@, ultima glicemia %5$@ %6$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "インスリンのタイムライン、%1$@、ボーラス %2$@、ベーサル %3$@、カーボ %4$@、最新の血糖値 %5$@ %6$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulintidslinje, %1$@, bolus %2$@, basal %3$@, karbohydrater %4$@, siste blodsukker %5$@ %6$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulinetijdlijn, %1$@, bolus %2$@, basaal %3$@, koolhydraten %4$@, laatste glucose %5$@ %6$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Oś czasu insuliny, %1$@, bolus %2$@, baza %3$@, węglowodany %4$@, ostatnia glukoza %5$@ %6$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Linha do tempo de insulina, %1$@, bolus %2$@, basal %3$@, carbs %4$@, última glicose %5$@ %6$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cronologie insulină, %1$@, bolus %2$@, bazală %3$@, carbohidrați %4$@, ultima glicemie %5$@ %6$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Хронология инсулина, %1$@, болюс %2$@, базал %3$@, углеводы %4$@, последняя глюкоза %5$@ %6$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Časová os inzulínu, %1$@, bolus %2$@, bazál %3$@, sacharidy %4$@, posledná glykémia %5$@ %6$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulintidslinje, %1$@, bolus %2$@, basal %3$@, kolhydrater %4$@, senaste glukos %5$@ %6$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İnsülin zaman çizelgesi, %1$@, bolus %2$@, bazal %3$@, karb %4$@, son KŞ %5$@ %6$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Хронологія інсуліну, %1$@, болюс %2$@, базал %3$@, вуглеводи %4$@, остання глюкоза %5$@ %6$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dòng thời gian insulin, %1$@, Bolus %2$@, Basal %3$@, Carbs %4$@, đường huyết mới nhất %5$@ %6$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "胰岛素时间线,%1$@,大剂量 %2$@,基础 %3$@,碳水 %4$@,最新血糖 %5$@ %6$@" + } + } + } + }, + "Invalid future glucose" : { + "comment" : "Reason Loop could not run: a glucose reading had a timestamp in the future", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "قراءة سكر مستقبلية غير صالحة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukóza s budoucím časem" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ugyldig glukosemåling i fremtiden" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ungültiger Blutzuckerwert in der Zukunft" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosa futura no válida" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Virheellinen tulevaisuuden glukoosiarvo" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glycémie future non valide" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "קריאת סוכר עתידית לא תקינה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Érvénytelen, jövőbeli glükózérték" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemia futura non valida" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "未来時刻の無効な血糖値" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ugyldig blodsukkermåling i fremtiden" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ongeldige glucosewaarde in de toekomst" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoza z przyszłą datą" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicose futura inválida" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemie invalidă, din viitor" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Глюкоза с временем в будущем" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glykémia s budúcim časom" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ogiltigt glukosvärde i framtiden" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Geçersiz, ileri tarihli KŞ" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Глюкоза з часом у майбутньому" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đường huyết có thời gian trong tương lai không hợp lệ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "无效的未来血糖" + } + } + } + }, + "IOB" : { + "comment" : "Abbreviation for insulin on board (active insulin) Abbreviation for insulin on board; label of a tile on the Now screen", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "IA" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB" + } + } + } + }, + "IOB (U, left)" : { + "comment" : "Chart legend: insulin on board in units, on the left axis", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (وحدة، يسار)" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (U, vlevo)" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (E, venstre)" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (IE, links)" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (U, izquierda)" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (U, vasen)" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "IA (U, gauche)" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (U, שמאל)" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (U, bal)" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (U, sinistra)" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB(U、左)" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (E, venstre)" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (E, links)" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (J, lewa oś)" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (U, esquerda)" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (U, stânga)" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (Ед, слева)" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (j, vľavo)" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (E, vänster)" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (Ü, sol)" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (U, ліворуч)" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB (U, bên trái)" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "IOB(U,左轴)" + } + } + } + }, + "Last reading %1$@ ago" : { + "comment" : "Shown on the Now screen under No reading when the latest CGM reading is too old. (1: duration, e.g. 25m)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "آخر قراءة قبل %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poslední hodnota před %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seneste måling for %1$@ siden" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Letzter Wert vor %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Última lectura hace %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Viimeisin lukema %1$@ sitten" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dernière mesure il y a %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "קריאה אחרונה לפני %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utolsó érték %1$@ ezelőtt" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ultima lettura %1$@ fa" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "最終測定 %1$@前" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Siste måling for %1$@ siden" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Laatste waarde %1$@ geleden" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ostatni odczyt %1$@ temu" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Última leitura há %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ultima citire acum %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Последнее показание %1$@ назад" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Posledná hodnota pred %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Senaste värde för %1$@ sedan" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Son okuma %1$@ önce" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Останній показник %1$@ тому" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chỉ số cuối cách đây %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "最后读数在 %1$@前" + } + } + } + }, + "Limited" : { + "comment" : "Trends Loop status: time closed loop was on but Loop wasn't completing runs", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "محدود" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Omezeno" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Begrænset" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eingeschränkt" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limitado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rajoitettu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limitée" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מוגבל" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Korlátozott" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limitato" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "制限あり" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Begrenset" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Beperkt" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ograniczona" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limitado" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Limitat" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ограничен" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obmedzená" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Begränsad" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sınırlı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Обмежено" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hạn chế" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "受限" + } + } + } + }, + "Logbook" : { + "comment" : "Title of the Logbook tab Title of the Logbook tab in the redesigned interface, listing past events", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "السجل" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Deník" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Logbog" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Logbuch" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Registro" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lokikirja" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Journal" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "יומן" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Napló" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diario" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ログブック" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loggbok" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Logboek" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dziennik" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diário" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jurnal" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Журнал" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Denník" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loggbok" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kayıt Defteri" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Журнал" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhật ký" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "日志" + } + } + } + }, + "logged" : { + "comment" : "Logbook bolus row detail: the dose was logged by hand rather than delivered by the pump", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "مُسجَّل يدويًا" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "zadáno ručně" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "registreret manuelt" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "eingetragen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "registrado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "kirjattu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "saisi" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "נרשם ידנית" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "naplózva" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "registrato" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "手動記録" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "registrert manuelt" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "handmatig vastgelegd" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "wpisany ręcznie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "registrado" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "înregistrat manual" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "внесено вручную" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "zadané ručne" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "loggad" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "elle kaydedildi" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "внесено вручну" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "ghi tay" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "手动记录" + } + } + } + }, + "Loop" : { + "comment" : "Logbook filter chip: show only what Loop did automatically (Loop is the app's name) Logbook row detail: Loop made this change automatically (Loop is the app's name)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop" + } + } + } + }, + "Loop active" : { + "comment" : "Trends summary tile: share of the period Loop spent in closed loop", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop نشط" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop aktivní" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop aktiv" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop aktiv" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop activo" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop aktiivinen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop actif" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop פעיל" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop aktív" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop attivo" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop稼働" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop aktiv" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop actief" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop aktywny" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ativo" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop activ" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop активен" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop aktívny" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop aktiv" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop aktif" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop активний" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop hoạt động" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 运行" + } + } + } + }, + "Loop can't adjust insulin without readings." : { + "comment" : "Notice detail on the Now screen under a CGM problem when there is no recent glucose reading", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لا يستطيع Loop تعديل الأنسولين بدون قراءات." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop nemůže upravovat inzulín bez hodnot." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop kan ikke justere insulin uden målinger." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop kann das Insulin ohne Messwerte nicht anpassen." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop no puede ajustar la insulina sin lecturas." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ei voi säätää insuliinia ilman lukemia." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ne peut pas ajuster l'insuline sans mesures." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop אינו יכול להתאים אינסולין ללא קריאות." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A Loop értékek nélkül nem tudja módosítani az inzulint." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop non può regolare l'insulina senza letture." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "測定値がないとLoopはインスリンを調整できません。" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop kan ikke justere insulin uten målinger." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop kan de insuline niet aanpassen zonder glucosewaarden." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop nie może dostosowywać insuliny bez odczytów." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "O Loop não consegue ajustar a insulina sem leituras." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop nu poate ajusta insulina fără citiri." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop не может регулировать инсулин без показаний." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop nemôže upravovať inzulín bez hodnôt." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop kan inte justera insulinet utan glukosvärden." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop okuma olmadan insülini ayarlayamaz." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop не може регулювати інсулін без показників." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop không thể điều chỉnh insulin khi không có chỉ số." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "没有读数,Loop 无法调整胰岛素。" + } + } + } + }, + "Loop didn't run" : { + "comment" : "Reason shown for a stretch of time when Loop did not complete a run and recorded no error", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لم يعمل Loop" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop neproběhl" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop kørte ikke" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ist nicht gelaufen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop no se ejecutó" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ei ajanut" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ne s'est pas exécuté" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop לא רץ" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A Loop nem futott" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop non eseguito" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopが実行されませんでした" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop kjørte ikke" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop heeft niet gedraaid" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop nie działał" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "O Loop não executou" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop nu a rulat" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop не запускался" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop neprebehol" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop kördes inte" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop çalışmadı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop не запускався" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop không chạy" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 未运行" + } + } + } + }, + "Loop failed · %1$@" : { + "comment" : "Status pill on the Now screen: Loop hasn't completed for over 15 minutes. (1: duration since Loop last ran, e.g. 16m)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "فشل Loop · %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop selhal · %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop fejlede · %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop fehlgeschlagen · %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop falló · %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop epäonnistui · %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Échec de Loop · %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop נכשל · %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop sikertelen · %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop non riuscito · %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop失敗 · %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop feilet · %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop mislukt · %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Błąd Loop · %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop falhou · %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop eșuat · %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Сбой Loop · %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop zlyhal · %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop misslyckades · %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop başarısız · %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Збій Loop · %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop lỗi · %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 失败 · %1$@" + } + } + } + }, + "Loop hasn't run for %1$@" : { + "comment" : "Notice title on the Now screen when Loop hasn't completed recently. (1: duration since Loop last ran, e.g. 16m)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لم يعمل Loop منذ %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop neproběhl %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop har ikke kørt i %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ist seit %1$@ nicht gelaufen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop no se ha ejecutado en %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopia ei ole ajettu %1$@ aikana" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ne s'est pas exécuté depuis %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop לא רץ כבר %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A Loop %1$@ óta nem futott" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop non eseguito da %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopが%1$@実行されていません" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop har ikke kjørt på %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop heeft %1$@ niet gedraaid" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop nie działa od %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "O Loop não executa há %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop nu a rulat de %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop не запускался уже %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop neprebehol %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop har inte körts på %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop %1$@ süredir çalışmadı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop не запускався вже %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop đã không chạy trong %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 已 %1$@未运行" + } + } + } + }, + "Loop hasn't run yet" : { + "comment" : "Title of the alert shown when tapping the Loop status on the Now screen before Loop has ever completed", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لم يعمل Loop بعد" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop zatím neproběhl" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop har ikke kørt endnu" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ist noch nicht gelaufen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop aún no se ha ejecutado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopia ei ole vielä ajettu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ne s'est pas encore exécuté" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop טרם רץ" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A Loop még nem futott" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop non ancora eseguito" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopはまだ実行されていません" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop har ikke kjørt ennå" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop heeft nog niet gedraaid" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop jeszcze nie działał" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "O Loop ainda não executou" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop nu a rulat încă" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ещё не запускался" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ešte neprebehol" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop har inte körts än" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop henüz çalışmadı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ще не запускався" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop chưa chạy" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 尚未运行" + } + } + } + }, + "Loop keeps the last 7 days on this phone. Older doses and carbs are in Apple Health and on the Trends tab." : { + "comment" : "Logbook footer explaining why only 7 days are listed", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يحتفظ Loop بآخر 7 أيام على هذا الهاتف. الجرعات والكارب الأقدم موجودة في Apple Health وفي تبويب الاتجاهات." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop uchovává posledních 7 dní v tomto telefonu. Starší dávky a sacharidy najdete v aplikaci Zdraví a na kartě Trendy." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop gemmer de seneste 7 dage på denne telefon. Ældre doser og kulhydrater findes i Apple Sundhed og på fanen Tendenser." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop speichert die letzten 7 Tage auf diesem iPhone. Ältere Dosen und KH findest Du in Apple Health und im Tab Trends." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop guarda los últimos 7 días en este teléfono. Las dosis y carbohidratos anteriores están en Apple Salud y en la pestaña Tendencias." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop säilyttää viimeiset 7 päivää tässä puhelimessa. Vanhemmat annokset ja hiilihydraatit ovat Apple Terveydessä ja Trendit-välilehdellä." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop conserve les 7 derniers jours sur ce téléphone. Les doses et glucides plus anciens sont dans Apple Santé et dans l'onglet Tendances." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop שומר את 7 הימים האחרונים בטלפון זה. מנות ופחמימות ישנות יותר נמצאות ב-Apple Health ובלשונית המגמות." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A Loop az utolsó 7 napot őrzi meg ezen a telefonon. A régebbi adagok és szénhidrátok az Apple Egészség appban és a Trendek lapon találhatók." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop conserva gli ultimi 7 giorni su questo telefono. Dosi e carboidrati precedenti sono in Apple Salute e nella scheda Tendenze." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopはこの端末に直近7日間を保持します。それより前の投与とカーボはAppleヘルスケアとトレンドタブにあります。" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop lagrer de siste 7 dagene på denne telefonen. Eldre doser og karbohydrater finner du i Apple Helse og i Trender-fanen." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop bewaart de laatste 7 dagen op deze telefoon. Oudere doses en koolhydraten vind je in Apple Health en op het tabblad Trends." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop przechowuje ostatnie 7 dni na tym telefonie. Starsze dawki i węglowodany są w aplikacji Zdrowie i na karcie Trendy." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "O Loop guarda os últimos 7 dias neste iPhone. Doses e carbs mais antigos estão no app Saúde e na aba Tendências." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop păstrează ultimele 7 zile pe acest telefon. Dozele și carbohidrații mai vechi sunt în Apple Sănătate și în fila Tendințe." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop хранит последние 7 дней на этом телефоне. Более ранние дозы и углеводы — в приложении «Здоровье» и на вкладке «Тренды»." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop uchováva posledných 7 dní v tomto telefóne. Staršie dávky a sacharidy nájdete v aplikácii Zdravie a na karte Trendy." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop sparar de senaste 7 dagarna på den här telefonen. Äldre doser och kolhydrater finns i Apple Hälsa och på fliken Trender." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop son 7 günü bu telefonda saklar. Daha eski dozlar ve karbonhidratlar Apple Health'te ve Eğilimler sekmesindedir." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop зберігає останні 7 днів на цьому телефоні. Старіші дози та вуглеводи є в програмі «Здоровʼя» і на вкладці «Тренди»." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop lưu 7 ngày gần nhất trên điện thoại này. Các liều và Carbs cũ hơn có trong Apple Health và tab Xu hướng." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 在此手机上保留最近 7 天的数据。更早的剂量和碳水可在 Apple 健康和“趋势”标签页中查看。" + } + } + } + }, + "Loop may not be giving insulin." : { + "comment" : "Notice detail on the Now screen under a critical pump problem reported by the pump", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "قد لا يقوم Loop بإعطاء الأنسولين." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop možná nepodává inzulín." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop giver muligvis ikke insulin." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop gibt möglicherweise kein Insulin ab." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Es posible que Loop no esté administrando insulina." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ei ehkä anna insuliinia." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop n'administre peut-être pas d'insuline." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "ייתכן ש-Loop אינו מספק אינסולין." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lehet, hogy a Loop nem ad inzulint." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop potrebbe non erogare insulina." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopがインスリンを注入していない可能性があります。" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop gir kanskje ikke insulin." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop geeft mogelijk geen insuline." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop może nie podawać insuliny." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "O Loop pode não estar entregando insulina." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Este posibil ca Loop să nu administreze insulină." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Возможно, Loop не подаёт инсулин." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop možno nepodáva inzulín." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop kanske inte ger insulin." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop insülin vermiyor olabilir." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Можливо, Loop не подає інсулін." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop có thể không đang tiêm insulin." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 可能未在输注胰岛素。" + } + } + } + }, + "Loop only works out active insulin and carbs for the days it keeps" : { + "comment" : "Day page placeholder for active insulin and carbs on a day older than Loop's 7-day history", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يحسب Loop الأنسولين والكارب النشطين فقط للأيام التي يحتفظ بها" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop počítá aktivní inzulín a sacharidy jen pro dny, které uchovává" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop beregner kun aktivt insulin og kulhydrater for de dage, den gemmer" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop berechnet aktives Insulin und aktive KH nur für die gespeicherten Tage" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop solo calcula la insulina y los carbohidratos activos de los días que guarda" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop laskee aktiivisen insuliinin ja hiilihydraatit vain säilyttämilleen päiville" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop calcule l'insuline et les glucides actifs uniquement pour les jours qu'il conserve" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop מחשב אינסולין ופחמימות פעילים רק עבור הימים שהוא שומר" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A Loop csak a megőrzött napokra számolja ki az aktív inzulint és szénhidrátot" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop calcola insulina e carboidrati attivi solo per i giorni che conserva" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopが残存インスリンと残存糖質を計算するのは、保持している日のみです" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop beregner bare aktivt insulin og karbohydrater for dagene den lagrer" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop berekent actieve insuline en koolhydraten alleen voor de dagen die het bewaart" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop oblicza aktywną insulinę i węglowodany tylko dla przechowywanych dni" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "O Loop só calcula a insulina e os carboidratos ativos dos dias que guarda" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop calculează insulina și carbohidrații activi doar pentru zilele pe care le păstrează" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop рассчитывает активный инсулин и углеводы только за хранимые дни" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop počíta aktívny inzulín a sacharidy len pre dni, ktoré uchováva" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop beräknar bara aktivt insulin och kolhydrater för de dagar som sparas" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop aktif insülini ve karbı yalnızca sakladığı günler için hesaplar" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop розраховує активний інсулін і вуглеводи лише за дні, які зберігає" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop chỉ tính insulin và Carbs còn hoạt động cho những ngày nó lưu" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 只为其保留的日期计算活性胰岛素和碳水" + } + } + } + }, + "Loop prediction" : { + "comment" : "Chart legend on the Now screen: dashed line is Loop's predicted glucose", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "توقع Loop" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predikce Loop" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-forudsigelse" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-Vorhersage" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predicción de Loop" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopin ennuste" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prédiction de Loop" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "תחזית Loop" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-előrejelzés" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Previsione di Loop" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopの予測" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-prognose" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-voorspelling" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prognoza Loop" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Previsão do Loop" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predicție Loop" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Прогноз Loop" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predikcia Loop" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loops prognos" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop tahmini" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Прогноз Loop" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dự đoán của Loop" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 预测" + } + } + } + }, + "Loop predicts %1$@ %2$@ by %3$@" : { + "comment" : "VoiceOver summary of the prediction chart. (1: predicted glucose value; 2: glucose unit, mmol/L or mg/dL; 3: time of the prediction)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يتوقع Loop %1$@ %2$@ بحلول %3$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop predikuje %1$@ %2$@ do %3$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop forudsiger %1$@ %2$@ kl. %3$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop sagt %1$@ %2$@ bis %3$@ voraus" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop predice %1$@ %2$@ a las %3$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ennustaa %1$@ %2$@ klo %3$@ mennessä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop prévoit %1$@ %2$@ à %3$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop צופה %1$@ %2$@ עד %3$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A Loop előrejelzése %3$@ időpontra: %1$@ %2$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop prevede %1$@ %2$@ alle %3$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopの予測:%3$@までに%1$@ %2$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop forventer %1$@ %2$@ kl. %3$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop voorspelt %1$@ %2$@ om %3$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop prognozuje %1$@ %2$@ do %3$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "O Loop prevê %1$@ %2$@ às %3$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop prezice %1$@ %2$@ până la %3$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop прогнозирует %1$@ %2$@ к %3$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop predikuje %1$@ %2$@ do %3$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop förutspår %1$@ %2$@ kl. %3$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop %3$@ itibarıyla %1$@ %2$@ tahmin ediyor" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop прогнозує %1$@ %2$@ до %3$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop dự đoán %1$@ %2$@ vào lúc %3$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 预测到 %3$@ 时为 %1$@ %2$@" + } + } + } + }, + "Loop ran at %1$@" : { + "comment" : "Title of the alert shown when tapping the Loop status on the Now screen. (1: time Loop last completed, e.g. 14:05)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "عمل Loop في %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop proběhl v %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop kørte kl. %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop lief um %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop se ejecutó a las %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ajettu klo %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop exécuté à %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop רץ ב-%1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A Loop futott: %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop eseguito alle %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop実行:%1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop kjørte kl. %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop draaide om %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop działał o %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "O Loop executou às %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop a rulat la %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop запускался в %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop prebehol o %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop kördes kl. %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop %1$@ saatinde çalıştı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop запускався о %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop đã chạy lúc %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 运行于 %1$@" + } + } + } + }, + "Loop runs when it has a new CGM reading and can reach the pump." : { + "comment" : "Message in the alert shown when tapping the Loop status on the Now screen before Loop has ever completed", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يعمل Loop عندما تتوفر قراءة CGM جديدة ويمكنه الوصول إلى المضخة." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop běží, když má novou hodnotu z CGM a může se spojit s pumpou." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop kører, når der er en ny CGM-måling, og pumpen kan nås." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop läuft, wenn ein neuer CGM-Wert vorliegt und die Pumpe erreichbar ist." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop se ejecuta cuando tiene una nueva lectura del CGM y puede comunicarse con la microinfusadora." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ajetaan, kun uusi CGM-lukema on saatavilla ja pumppuun saadaan yhteys." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop s'exécute lorsqu'il a une nouvelle mesure CGM et peut joindre la pompe." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop רץ כאשר יש קריאת CGM חדשה והוא יכול להתחבר למשאבה." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A Loop akkor fut, ha van új CGM-érték, és eléri a pumpát." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop viene eseguito quando ha una nuova lettura CGM e può comunicare con la pompa." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopは新しいCGM値があり、ポンプと通信できるときに実行されます。" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop kjører når den har en ny CGM-måling og kan nå pumpen." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop draait zodra er een nieuwe CGM-waarde is en de pomp bereikbaar is." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop działa, gdy ma nowy odczyt CGM i może połączyć się z pompą." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "O Loop executa quando tem uma nova leitura do CGM e consegue se comunicar com a bomba." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop rulează când are o citire CGM nouă și poate comunica cu pompa." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop запускается, когда есть новое показание CGM и связь с помпой." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop beží, keď má novú hodnotu z CGM a môže sa spojiť s pumpou." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop körs när det finns ett nytt CGM-värde och pumpen kan nås." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop yeni bir CGM okuması olduğunda ve pompaya ulaşabildiğinde çalışır." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop запускається, коли є новий показник CGM і звʼязок із помпою." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop chạy khi có chỉ số CGM mới và kết nối được với bơm." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "当有新的 CGM 读数且能连接胰岛素泵时,Loop 就会运行。" + } + } + } + }, + "Loop status" : { + "comment" : "Trends card title: how long Loop spent in closed loop, limited or open loop", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "حالة Loop" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stav Loop" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-status" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-Status" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Estado de Loop" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopin tila" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "État de Loop" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מצב Loop" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop állapota" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stato di Loop" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopの状態" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-status" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopstatus" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stan Loop" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Status do Loop" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Starea Loop" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Статус Loop" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stav Loop" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopstatus" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop durumu" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Стан Loop" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trạng thái Loop" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 状态" + } + } + } + }, + "Loop status is recorded from when the new interface was first opened." : { + "comment" : "Trends Loop status footnote when there is no Loop status history yet", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تُسجَّل حالة Loop منذ أول فتح للواجهة الجديدة." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stav Loop se zaznamenává od prvního otevření nového rozhraní." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-status registreres fra første gang den nye brugerflade blev åbnet." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Der Loop-Status wird ab dem ersten Öffnen der neuen Oberfläche aufgezeichnet." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "El estado de Loop se registra desde la primera vez que se abrió la nueva interfaz." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopin tila tallennetaan siitä lähtien, kun uusi käyttöliittymä avattiin ensimmäisen kerran." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "L'état de Loop est enregistré depuis la première ouverture de la nouvelle interface." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מצב Loop נרשם מאז הפתיחה הראשונה של הממשק החדש." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A Loop állapota az új felület első megnyitásától kerül rögzítésre." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lo stato di Loop è registrato dalla prima apertura della nuova interfaccia." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopの状態は、新しいインターフェイスを初めて開いた時点から記録されます。" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-status registreres fra første gang det nye grensesnittet ble åpnet." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "De loopstatus wordt vastgelegd vanaf het moment dat de nieuwe interface voor het eerst werd geopend." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stan Loop jest zapisywany od pierwszego otwarcia nowego interfejsu." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "O status do Loop é registrado desde a primeira vez que a nova interface foi aberta." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Starea Loop este înregistrată de la prima deschidere a noii interfețe." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Статус Loop записывается с первого открытия нового интерфейса." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stav Loop sa zaznamenáva od prvého otvorenia nového rozhrania." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopstatus registreras från när det nya gränssnittet först öppnades." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop durumu, yeni arayüzün ilk açıldığı andan itibaren kaydedilir." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Стан Loop записується з першого відкриття нового інтерфейсу." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trạng thái Loop được ghi lại từ khi giao diện mới được mở lần đầu." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 状态从首次打开新界面时开始记录。" + } + } + } + }, + "Loop trends" : { + "comment" : "Title of the exported Trends PDF report", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "اتجاهات Loop" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trendy Loop" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-tendenser" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-Trends" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendencias de Loop" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-trendit" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendances Loop" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מגמות Loop" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-trendek" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendenze Loop" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopトレンド" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-trender" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-trends" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trendy Loop" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendências do Loop" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendințe Loop" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Тренды Loop" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trendy Loop" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-trender" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop eğilimleri" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Тренди Loop" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xu hướng Loop" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 趋势" + } + } + } + }, + "Loop trends %1$@" : { + "comment" : "File name of an exported Trends report or CSV, without the extension. (1: date range of the period)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "اتجاهات Loop %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trendy Loop %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-tendenser %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-Trends %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendencias de Loop %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-trendit %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendances Loop %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מגמות Loop %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-trendek %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendenze Loop %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopトレンド %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-trender %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-trends %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trendy Loop %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendências do Loop %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendințe Loop %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Тренды Loop %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trendy Loop %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop-trender %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop eğilimleri %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Тренди Loop %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xu hướng Loop %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 趋势 %1$@" + } + } + } + }, + "Loop · %lld changes · tap to list" : { + "comment" : "Logbook basal adjustments row subtitle: how many temp basals Loop set in the day; tapping lists them. (1: number of changes)", + "localizations" : { + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld change · tap to list" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld changes · tap to list" + } + } + } + } + }, + "ar" : { + "variations" : { + "plural" : { + "zero" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld تغيير · اضغط للعرض" + } + }, + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld تغيير · اضغط للعرض" + } + }, + "two" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld تغيير · اضغط للعرض" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld تغييرات · اضغط للعرض" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld تغييرًا · اضغط للعرض" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld تغيير · اضغط للعرض" + } + } + } + } + }, + "cs" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld změna · klepněte pro seznam" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld změny · klepněte pro seznam" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld změny · klepněte pro seznam" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld změn · klepněte pro seznam" + } + } + } + } + }, + "da" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld ændring · tryk for liste" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld ændringer · tryk for liste" + } + } + } + } + }, + "de" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld Änderung · tippen für Liste" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld Änderungen · tippen für Liste" + } + } + } + } + }, + "es" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld cambio · toca para ver" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld cambios · toca para ver" + } + } + } + } + }, + "fi" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld muutos · näytä napauttamalla" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld muutosta · näytä napauttamalla" + } + } + } + } + }, + "fr" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld modification · touchez pour la liste" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld modifications · touchez pour la liste" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld modifications · touchez pour la liste" + } + } + } + } + }, + "he" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld שינוי · הקש לרשימה" + } + }, + "two" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld שינויים · הקש לרשימה" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld שינויים · הקש לרשימה" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld שינויים · הקש לרשימה" + } + } + } + } + }, + "hu" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld módosítás · koppints a listához" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld módosítás · koppints a listához" + } + } + } + } + }, + "it" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld modifica · tocca per l'elenco" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld modifiche · tocca per l'elenco" + } + } + } + } + }, + "ja" : { + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld件の変更 · タップで一覧表示" + } + } + } + } + }, + "nb" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld endring · trykk for liste" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld endringer · trykk for liste" + } + } + } + } + }, + "nl" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld wijziging · tik voor lijst" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld wijzigingen · tik voor lijst" + } + } + } + } + }, + "pl" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld zmiana · stuknij, aby wyświetlić" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld zmiany · stuknij, aby wyświetlić" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld zmian · stuknij, aby wyświetlić" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld zmiany · stuknij, aby wyświetlić" + } + } + } + } + }, + "pt-BR" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld alteração · toque para listar" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld alterações · toque para listar" + } + } + } + } + }, + "ro" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld modificare · atingeți pentru listă" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld modificări · atingeți pentru listă" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld de modificări · atingeți pentru listă" + } + } + } + } + }, + "ru" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld изменение · нажмите для списка" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld изменения · нажмите для списка" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld изменений · нажмите для списка" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld изменения · нажмите для списка" + } + } + } + } + }, + "sk" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld zmena · klepnite pre zoznam" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld zmeny · klepnite pre zoznam" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld zmeny · klepnite pre zoznam" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld zmien · klepnite pre zoznam" + } + } + } + } + }, + "sv" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld ändring · tryck för lista" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld ändringar · tryck för lista" + } + } + } + } + }, + "tr" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld değişiklik · listelemek için dokunun" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld değişiklik · listelemek için dokunun" + } + } + } + } + }, + "uk" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld зміна · торкніться для списку" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld зміни · торкніться для списку" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld змін · торкніться для списку" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld зміни · торкніться для списку" + } + } + } + } + }, + "vi" : { + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld thay đổi · chạm để xem danh sách" + } + } + } + } + }, + "zh-Hans" : { + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop · %lld次更改 · 轻点查看列表" + } + } + } + } + } + } + }, + "High Glucose" : { + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Høj glukose" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoher Blutzucker" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glycémie élevée" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemia alta" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Høyt glukosenivå" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoge glucose" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wysoki poziom glukozy" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemie ridicată" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Высокий уровень глюкозы" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "高血糖" + } + } + } + }, + "High Intensity (Anaerobic)" : { + + }, + "High-intensity exercise means pushing yourself to your **maximum effort**. It is so hard that talking is nearly impossible, and you can’t keep it up for very long." : { + + }, + "Hiking" : { + + }, + "Historical Data" : { + + }, + "Horizon" : { + "comment" : "A label for the \"Horizon\" setting in the glucose alert settings view.", + "isCommentAutoGenerated" : true + }, + "How can I silence non-Critical Alerts?" : { + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hvordan kan jeg slå ikke-kritiske alarmer fra?" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wie kann ich nicht kritische Warnungen stummschalten?" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Comment puis-je faire taire les alertes auditives non-critiques?" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Come posso silenziare gli avvisi non critici?" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hvordan kan jeg dempe ikke-kritiske varsler?" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoe demp ik niet-kritieke waarschuwingen?" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jak mogę wyciszyć alerty niekrytyczne?" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cum pot dezactiva sunetul alertelor non-critice?" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Как отключить некритичные оповещения?" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "如何关闭非关键警报?" + } + } + } + }, + "How can I silence only Time Sensitive and Non-Critical alerts?" : { + "extractionState" : "stale", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hvordan kan jeg kun slå lyden fra for tidsfølsomme og ikke-kritiske advarsler?" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wie kann ich nur zeitkritische und nicht kritische Warnungen stummschalten?" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Comment puis-je faire taire uniquement les alertes urgentes et non-critiques?" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Come posso silenziare solo gli avvisi sensibili al tempo e non critici?" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hvordan kan jeg deaktivere kun tidssensitive og ikke-kritiske varsler?" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoe demp ik alleen tijdgevoelige en niet-kritieke waarschuwingen?" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jak wyciszyć tylko alerty zależne od czasu i niekrytyczne?" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cum pot dezactiva sunetul doar alertelor urgente și non-critice?" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Как отключить только срочные и некритические предупреждения?" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "如何仅屏蔽“时效性”和“非关键”警报?" + } + } + } + }, + "How can I temporarily silence all %1$@ app sounds?" : { + "comment" : "Title text for temporarily silencing all sounds (1: app name)", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hvordan kan jeg midlertidigt slå lyden fra for alle %1$@ applyde?" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wie kann ich alle Töne der %1$@ App vorübergehend stummschalten?" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Comment puis-je désactiver temporairement tous les sons de l'application %1$@?" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Come posso silenziare temporaneamente tutti i suoni dell'app %1$@ ?" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hvordan kan jeg midlertidig dempe alle %1$@-applydene?" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoe demp ik tijdelijk alle geluiden van de %1$@-app?" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jak mogę tymczasowo wyciszyć wszystkie dźwięki aplikacji %1$@ ?" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cum pot dezactiva temporar toate sunetele aplicației %1$@?" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Как временно отключить все звуки приложения %1$@?" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "如何暂时关闭 %1$@ 应用中的所有声音?" + } + } + } + }, + "How does her preset impact her bolus recommendation?" : { + + }, + "How to configure each setting" : { + + }, + "How to update (LoopDocs)" : { + "comment" : "The title text for how to update", + "localizations" : { + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jak aktualizovat (LoopDocs)" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sådan opdaterer du (LoopDocs)" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wie man aktualisiert (LoopDocs)" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cómo actualizar (LoopDocs)" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Comment mettre à jour (LoopDocs)" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "כיצד לעדכן (LoopDocs)" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Come Aggiornare (LoopDocs)" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hvordan oppdatere (LoopDocs)" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoe bij te werken (LoopDocs)" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jak zaktualizować (LoopDocs)" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cum se actualizează (LoopDocs)" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Как обновить (LoopDocs)" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nasıl güncellenir (LoopDocs)" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "如何更新(LoopDocs)" + } + } + } + }, + "How to use Presets for everyday activities" : { + + }, + "How to use Presets for exercise" : { + + }, + "How to use Presets when you are sick" : { + + }, + "https://mysite.herokuapp.com" : { + "comment" : "The placeholder text for the nightscout site URL credential", + "extractionState" : "manual", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "https://mysite.herokuapp.com" + } + } + } + }, + "I'm a tester" : { + "comment" : "Button that dismisses the development build warning", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ich bin ein Tester" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Je suis un testeur" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jeg er en tester" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ik ben een tester" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sunt un tester" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "我是一名测试员" + } + } + } + }, + "if eating less than 2 hours before exercise" : { + + }, + "If glucose drops below 126 mg/dL" : { + + }, + "If iOS Focus Mode is ON and Mute Alerts is OFF, Critical Alerts will still be delivered and non-Critical Alerts will be silenced until %1$@ is added to each Focus mode as an Allowed App." : { + "comment" : "Focus modes descriptive text (1: app name)", + "extractionState" : "stale", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hvis iOS-fokustilstand er slået TIL, og Slå lyden fra-advarsler er slået fra, leveres kritiske advarsler stadig, og ikke-kritiske advarsler slås fra, indtil %1$@ føjes til hver fokustilstand som en tilladt app." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wenn der iOS-Fokusmodus aktiviert und die Stummschaltung von Warnungen deaktiviert ist, werden kritische Warnungen weiterhin übermittelt und nicht kritische Warnungen stummgeschaltet, bis %1$@ jedem Fokusmodus als zulässige App hinzugefügt wird." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Si le mode Concentration d'iOS est activé et que les Alertes Muettes sont désactivées, les Alertes Critiques seront toujours livrées et les Alertes non Critiques seront silencieuses jusqu'à ce que %1$@ soit ajouté à chaque mode Concentration en tant qu'application autorisée." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Se la modalità Focus iOS è attiva e Disattiva avvisi è disattivata, gli avvisi critici verranno comunque inviati e gli avvisi non critici verranno silenziati finché %1$@ non verrà aggiunto a ciascuna modalità Focus come app consentita." + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hvis iOS Focus Mode er PÅ og Mute Alerts er AV, vil kritiske varsler fortsatt bli levert og ikke-kritiske varsler vil bli dempet inntil %1$@ er lagt til i hver Focus Mode som en tillatt app." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Als een iOS-focusmodus AAN staat en Waarschuwingen dempen UIT, worden Kritieke meldingen nog steeds afgeleverd. Niet-kritieke waarschuwingen blijven stil totdat %1$@ in elke focusmodus als toegestane app is toegevoegd." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jeśli tryb skupienia w systemie iOS jest włączony, a opcja Wycisz alerty jest wyłączona, alerty krytyczne będą nadal dostarczane, a alerty niekrytyczne będą wyciszane, dopóki %1$@ nie zostanie dodany do każdego trybu skupienia jako dozwolona aplikacja." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dacă modul Focus iOS este ACTIVAT și opțiunea Dezactivare alerte este DEZACTIVATĂ, alertele critice vor fi transmise în continuare, iar alertele non-critice vor fi dezactivate până când %1$@ este adăugat la fiecare mod Focus ca aplicație permisă." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Если режим фокусировки iOS включен, а функция отключения оповещений выключена, критические оповещения будут по-прежнему доставляться, а некритические будут глушиться до тех пор, пока %1$@ не будет добавлен в каждый режим фокусировки в качестве разрешенного приложения." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "如果 iOS 专注模式处于开启状态,且“静音提醒”处于关闭状态,则关键提醒仍会正常推送,而非关键提醒将被静音,直到将 %1$@ 添加到每个专注模式的“允许的应用”列表中为止。" + } + } + } + }, + "If you expect your glucose to rise during the activity, you may not need a preset." : { + + }, + "If you have active insulin in your body when you start exercising, you generally have an increased risk of low glucose." : { + + }, + "If you haven’t noticed a rise in glucose with high-intensity exercise, it may be due to:" : { + + }, + "If you often experience low glucose, you may need to reduce how much insulin you deliver for meals eaten 1-2 hours before exercising." : { + + }, + "If you usually experience lows while exercising, watch your glucose levels closely during exercise and consider eating around 3 to 20g of fast-acting carbs." : { + + }, + "If your activity has a higher risk of low glucose, start a physical activity preset at least **1 hour before you begin** and keep it on until you finish." : { + + }, + "If your glucose goes down, you may only need a small decrease in insulin — less than you would for low to moderate-intensity activity." : { + + }, + "If your glucose goes up, you may only need a small increase in insulin — less than you would for high-intensity activity." : { + + }, + "If your glucose isn't dropping, eating too many carbs can raise your blood sugar, trigger more insulin, and increase the risk of low blood sugar during or after the activity." : { + + }, + "Immediate" : { + "comment" : "Immediate Delivery status text", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Akut" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sofort" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inmediato" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Immédiat" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Immediato" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Umiddelbar" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Onmiddellijk" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Natychmiastowy" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Imediat" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Немедленно" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Acilen" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "实时" + } + } + } + }, + "In future versions of Loop these experiments may change, end up as standard parts of the Loop Algorithm, or be removed from Loop entirely. Please follow along in the Loop Zulip chat to stay informed of possible changes to these features." : { + "comment" : "Algorithm Experiments description second paragraph.", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "I fremtidige versioner af Loop kan disse eksperimenter ændre sig, ende som standarddele af Loop-algoritmen eller blive fjernet helt fra Loop. Følg med i Loop Zulip-chatten for at holde dig informeret om mulige ændringer af disse funktioner." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "In zukünftigen Versionen von Loop können sich diese Experimente ändern, als Standardbestandteile des Loop-Algorithmus enden oder vollständig aus Loop entfernt werden. Bitte folgen Sie dem Loop Zulip-Chat, um über mögliche Änderungen dieser Funktionen auf dem Laufenden zu bleiben." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dans les futures versions de Loop, ces essais peuvent changer, devenir des parties standard de l'algorithme Loop, ou être complètement retirées de Loop. Veuillez suivre le chat Zulip de Loop pour rester informé des éventuels changements sur ces fonctionnalités." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nelle versioni future di Loop questi esperimenti potrebbero cambiare, diventare parti standard dell'algoritmo Loop o essere rimossi completamente da Loop. Segui la chat di Loop Zulip per rimanere informato su possibili modifiche a queste funzionalità." + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "I fremtidige versjoner av Loop kan disse eksperimentene endres, ende opp som standarddeler av Loop-algoritmen eller fjernes helt fra Loop. Følg med i Loop Zulip-chatten for å holde deg informert om eventuelle endringer i disse funksjonene." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "In toekomstige versies van Loop kunnen deze experimenten veranderen, een vast onderdeel van het Loop-algoritme worden of helemaal uit Loop verdwijnen. Volg de Loop Zulip-chat om op de hoogte te blijven van mogelijke wijzigingen aan deze functies." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "W przyszłych wersjach Loop te eksperymenty mogą się zmienić, stać się standardowymi częściami algorytmu Loop lub zostać całkowicie usunięte z Loop. Śledź czat Loop Zulip, aby być na bieżąco z możliwymi zmianami w tych funkcjach." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "În versiunile viitoare ale Loop, aceste experimente se pot schimba, pot deveni părți standard ale algoritmului Loop sau pot fi eliminate complet din Loop. Vă rugăm să urmăriți mesageria Loop Zulip pentru a fi la curent cu posibilele modificări ale acestor funcții." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "在 Loop 的未来版本中,这些实验性功能可能会发生变化,可能会成为 Loop 算法的标准组成部分,也可能会被完全移除。请关注 Loop 的 Zulip 聊天频道,以便及时了解这些功能可能发生的变化。" + } + } + } + }, + "In Range" : { + "comment" : "Time-in-range band label (70–180 mg/dL)" + }, + "Includes basal and automated boluses" : { + + }, + "increase" : { + + }, + "Increased Delivery" : { + + }, + "Indefinitely" : { + "comment" : "The title of a target alert action specifying an indefinitely long workout targets duration", + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إلى أجل غير مسمى" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uendelig" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Unbegrenzt" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Indefinitely" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Indefinidamente" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Sulje" + "value" : "Toistaiseksi" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Fermer" + "value" : "Indéfiniment" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "סגור" + "value" : "Indefinitely" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Chiudi" + "value" : "Indefinitamente" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "無期限" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Lukk" + "value" : "På ubestemt tid" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Sluiten" + "value" : "Voor onbepaalde tijd" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Niemożliwy do określenia" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Indefinidamente" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nedeterminat" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "На неопределенное время" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Oändligt" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Süresiz" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vô hạn định" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "永久" + } + } + } + }, + "Information" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Information" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Information" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Informasjon" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Informatie" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Informații" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "信息" + } + } + } + }, + "Insulin" : { + "comment" : "Health access row label for insulin\nTitle of the prediction input effect for insulin", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الأنسولين" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuliini" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuline" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "インスリン" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuline" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulină" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Инсулин" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İnsülin" } }, - "pl" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Zamknij" + "value" : "Thuốc Insulin" } }, - "ro" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Închideți" + "value" : "胰岛素" } }, - "ru" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Закрыть" + "value" : "Inzulín" } }, - "sv" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Stäng" + "value" : "Inzulin" } }, - "tr" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Kapat" + "value" : "Inzulín" } }, - "zh-Hans" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "关闭" + "value" : "Інсулін" } } } }, - "Close Training" : { - - }, - "Closed Loop" : { - "comment" : "The title text for the looping enabled switch cell", + "Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" : { + "comment" : "Description of the prediction input effect for insulin", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "حلقة مغلقة" + "value" : "الأنسولين الذي تم امتصاصه (وحدات) × حساسيو الأنسولين (%1$@/وحدة)" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Lukket Loop" + "value" : "Insulin absorberet (E) × Insulinfølsomhed (%1$@/E)" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Closed Loop" + "value" : "Resorbiertes Insulin (IE) × Insulinempfindlichkeit (%1$@/IE)" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Circuito Cerrado" + "value" : "Insulina Absorbida (U) x Sensibilidad a Insulina (%1$@/U)" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Suljettu säätö" + "value" : "Imeytynyt insuliini (U) × Insuliiniherkkyys (%1$@/U)" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Boucle Fermée" + "value" : "Insuline Absorbée (U) × Sensibilité à l'Insuline (%1$@/U)" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Closed Loop" + "value" : "Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Loop chiuso" + "value" : "Insulina assorbita (U) × Sensibilità insulinica (%1$@/U)" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "クローズドループ" + "value" : "吸収済インスリン(U) × インスリン効果値(%1$@/U)" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Lukket Loop" + "value" : "Insulin absorbert (E) × insulinfølsomhet ( %1$@ /E)" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Actieve loop" + "value" : "Opgenomen insuline (E) x insulinegevoeligheid (%1$@/E)" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Pętla Zamknięta" + "value" : "Insulina podana (U) × czułość insuliny (%1$@/J)" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Ciclo Fechado" + "value" : "Insulina Absorvida (U) × Sensibilidade a Insulina (%1$@/U)" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Buclă închisă" + "value" : "Insulină absorbită (U) × factor de sensibilitate la insulină (%1$@/U)" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Замкнутый цикл" + "value" : "Усвоенный инсулин (U) × Чувствительность к инсулину (%1$@/U)" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Sluten loop" + "value" : "Insulin absorberat (E) × Insulinkänslighet (%1$@/E)" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Kapalı Döngü" + "value" : "Emilen İnsulin (Ü) × İnsulin Duyarlılığı (%1$@/Ü)" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Vòng lặp kín" + "value" : "Lượng insulin tiêu hao (U) × Độ nhạy của insulin (%1$@/U)" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "闭环模式" + "value" : "已吸收胰岛素×胰岛素敏感系数" } } } }, - "Closed Loop OFF" : { - "comment" : "Alert title for closed loop off informational modal", + "Insulin adjustments have been disabled!" : { + "comment" : "Notification body for crash recovery alert", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Lukket loop FRA" + "value" : "Insulinjusteringer er blevet deaktiveret!" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Closed Loop AUS" + "value" : "Die Insulinanpassung wurde deaktiviert!" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Asa cerrada APAGADA" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Suljettu säätö pois päältä" + "value" : "¡Se han deshabilitado los ajustes de insulina!" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Boucle Ouverte" + "value" : "Les ajustements d’insuline ont été désactivés!" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Loop chiuso disattivato" + "value" : "Le regolazioni dell'insulina sono state disattivate!" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Lukket Loop AV" + "value" : "Insulinjusteringer er deaktivert!" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Actieve loop UIT" + "value" : "Insulineaanpassingen zijn uitgeschakeld!" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Pętla zamknięta WYŁĄCZONA" + "value" : "Korekty insuliny zostały wyłączone!" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Buclă închisă dezactivată" + "value" : "Ajustările de insulină au fost dezactivate!" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Замкнутый цикл ВЫКЛ" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sluten Loop är AV" + "value" : "Регулировка инсулина была отключена!" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Kapalı Döngü KAPALI" + "value" : "İnsülin ayarlamaları devre dışı bırakıldı!" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "闭环模式已关闭" + "value" : "胰岛素剂量调整功能已被禁用!" } } } }, - "Closed Loop requires an active CGM Sensor Session" : { - "comment" : "The description text for the looping enabled switch cell when closed loop is not allowed because the sensor is inactive", + "Insulin Automation" : { + "comment" : "Closed loop settings button descriptive text" + }, + "Insulin Delivery" : { + "comment" : "The title of the insulin delivery graph", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "توصيل الأنسولين" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Lukket Loop kræver en aktiv CGM sensor-session" + "value" : "Insulintilførsel" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Closed Loop erfordert eine aktive CGM-Sensorsitzung" + "value" : "Insulinabgabe" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "La asa cerrada requiere una sesión de sensor CGM activa" + "value" : "Administración de Insulina" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Suljettu säätö vaatii aktiivisen glukoosisensorin" + "value" : "Insuliinin annostelu" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Loop en boucle fermée requiert une session de capteur CGM active." + "value" : "Administration de l'insuline" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin Delivery" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Loop chiuso richiede almeno una sessione attiva del sensore CGM" + "value" : "Erogazione insulina" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "インスリン放出" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Lukket Loop krever en aktiv CGM sensorøkt" + "value" : "Insulinlevering" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Actieve loop vereist een lopende CGM-sensorsessie" + "value" : "Insulinetoediening" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Zamknięta pętla wymaga aktywnego sensora CGM" + "value" : "Podaż insuliny" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina Entregue" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bucla închisă necesită o sesiune activă a unui senzor de glicemie" + "value" : "Administrare insulină" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Замкнутый цикл требует активного подключенного датчика CGM" + "value" : "Подача инсулина" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podávanie inzulínu" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Sluten Loop kräver en aktiv CGM-sensor" + "value" : "Insulin doserat" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Kapalı Döngü, aktif bir CGM Sensör Oturumu gerektirir" + "value" : "İnsulin İletimi" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khối lượng tiêm insulin" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "闭环需要活动的 CGM 传感器会话" + "value" : "胰岛素输注" } } } }, - "Closed Loop requires Setup to be Complete" : { - "comment" : "The description text for the looping enabled switch cell when onboarding is not complete", + "Insulin Delivery Log" : { + + }, + "Insulin effects" : { + "comment" : "Details for missing data error when insulin effects are missing\nDetails for missing data error when insulin effects including pending insulin are missing", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تأثيرات الأنسولين" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Lukket Loop kræver, at opsætningen er fuldført" + "value" : "Insulineffekter" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Closed Loop erfordert, dass die Einrichtung abgeschlossen ist" + "value" : "Insulinwirkungen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "El Circuito Cerrado requiere que la configuración esté completa" + "value" : "Efectos de la insulina" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuliinivaikutus" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Loop en boucle fermée nécessite une configuration complète" + "value" : "Effets de l'insuline" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin effects" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Loop chiuso richiede che la configurazione sia completata" + "value" : "Effetto dell’insulina" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "インスリン効果" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Lukket Loop krever at installasjonen er fullført" + "value" : "Insulin effekt" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Actieve loop vereist dat de installatie is voltooid" + "value" : "Insulineëffecten" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Zamknięta pętla wymaga zakończenia konfiguracji" + "value" : "wpływ insuliny" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Efeitos da Insulina" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bucla închisă necesită ca setarea să fie finalizată" + "value" : "Efecte insulină" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Замкнутый цикл требует завершения настройки" + "value" : "Влияние инсулина" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulineffekter" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Kapalı Döngü, Kurulumun Tamamlanmasını gerektirir" + "value" : "İnsülin etkileri" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tác dụng của insulin" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "启用闭环控制前需完成所有设置。" + "value" : "胰岛素效果" } } } }, - "com.loudnate.InsulinKit.IOBDateLabel" : { - "comment" : "The format string describing the date of an IOB value. The first format argument is the localized date.", - "extractionState" : "extracted_with_value", + "Insulin Event" : { + + }, + "Insulin Model" : { + "comment" : "Details for configuration error when insulin model is missing\n The title text for the insulin model setting row", + "extractionState" : "manual", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "نوع الأنسولين" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "d %1$@" + "value" : "Insulinmodel" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "um %1$@" + "value" : "Insulin-Modell" } }, "en" : { "stringUnit" : { - "state" : "new", - "value" : "at %1$@" + "state" : "translated", + "value" : "Insulin Model" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "en %1$@" + "value" : "Modelo de Insulina" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "klo %1$@" + "value" : "Insuliinimalli" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "à %1$@" + "value" : "Modèle d'insuline" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "ב-%1$@" + "value" : "Insulin Model" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "a %1$@" + "value" : "Modello di azione dell'Insulina" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ 時点" + "value" : "インスリンモデル" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "kl. %1$@" + "value" : "Insulin Modell" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "om %1$@" + "value" : "Insulinemodel" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "o %1$@" + "value" : "Model insuliny" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "em %1$@" + "value" : "Modelo de Insulina" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "la %1$@" + "value" : "Model insulină" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "в %1$@" + "value" : "Модель инсулина" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inzulínový model" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "kl %1$@" + "value" : "Insulinmodell" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@" + "value" : "İnsülin Modeli" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "lúc %1$@" + "value" : "Chủng loại Insulin" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "在 %1$@" + "value" : "胰岛素模型" } } } }, - "com.loudnate.InsulinKit.totalDateLabel" : { - "comment" : "The format string describing the starting date of a total value. The first format argument is the localized date.", - "extractionState" : "extracted_with_value", + "Insulin Pump" : { + "comment" : "Descriptive text for Insulin Pump", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "siden %1$@" + "value" : "Insulinpumpe" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "seit %1$@" - } - }, - "en" : { - "stringUnit" : { - "state" : "new", - "value" : "since %1$@" + "value" : "Insulinpumpe" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "desde %1$@" + "value" : "Microinfusadora de insulina" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ jälkeen" + "value" : "Insuliinipumppu" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "depuis %1$@" + "value" : "Pompe à insuline" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "מאז %1$@" + "value" : "משאבת אינסולין" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "da %1$@" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "%1$@ より" + "value" : "Pompa" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "siden %1$@" + "value" : "Insulinpumpe" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "sinds %1$@" + "value" : "Insulinepomp" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "od %1$@" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "desde %1$@" + "value" : "Pompa insulinowa" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "de la %1$@" + "value" : "Pompa de insulină" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "с %1$@" + "value" : "Инсулиновая помпа" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "sedan %1$@" + "value" : "Insulinpump" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ den beri" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "từ lúc %1$@" + "value" : "İnsülin pompası" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "自从 %1$@" + "value" : "胰岛素泵" } } } }, - "com.loudnate.LoopKit.errorAlertActionTitle" : { - "comment" : "The title of the action used to dismiss an error alert", - "extractionState" : "extracted_with_value", + "Insulin Resumed" : { + + }, + "Insulin Sensitivities" : { + "comment" : "The title of the insulin sensitivities schedule screen\n The title text for the insulin sensitivity schedule", + "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "موافق" - } - }, - "cs" : { - "stringUnit" : { - "state" : "translated", - "value" : "OK" + "value" : "حساسية الأنسولين" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Insulinfølsomheder" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Insulinempfindlichkeit" } }, "en" : { "stringUnit" : { - "state" : "new", - "value" : "OK" + "state" : "translated", + "value" : "Insulin Sensitivities" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Sensibilidad a la insulina" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Insuliiniherkkyydet" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Facteurs de sensibilité à l'insuline" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "אישור" + "value" : "Insulin Sensitivities" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Sensibilità insulinica" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "インスリン効果値" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Insulinfølsomhet" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Insulinegevoeligheden" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Wrażliwość na insulinę (ISF)" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Sensibilidades a Insulina" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Factor de sensibilitate la insulină" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "OK" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "OK" + "value" : "Факторы чувствительности инсулина" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Insulinkänslighet" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Tamam" + "value" : "İnsülin Duyarlılığı" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Độ nhạy của Insulin" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "胰岛素敏感系数" } } } }, - "Combination of high and low intensity" : { - - }, - "Competition Stress" : { + "Insulin Sensitivity Factor (ISF)" : { }, - "Complete each section below to learn how presets can be used for a variety of situations." : { - + "Insulin Sensitivity Schedule" : { + "comment" : "Details for configuration error when insulin sensitivity schedule is missing", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulinfølsomhed tidsplan" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulinempfindlichkeit Plan" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Horario de la sensibilidad a la insulina" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Horaire de facteur de sensibilité à l'insuline" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Programma di sensibilità insulinica" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulin følsomhet tidsplan" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulinegevoeligheidschema" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Harmonogram wrażliwości na insulinę" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Orarul Factorului de Sensibilitate la Insulină" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "График чувствительности к инсулину" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "İnsülin Duyarlılık Programı" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "胰岛素敏感系数(ISF)方案" + } + } + } }, - "Complete Setup" : { - "comment" : "Title text for button to complete setup", + "Insulin Suspended" : { + "comment" : "The title of the cell indicating the pump is suspended", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Fuldfør opsætning" + "value" : "Insulin suspenderet" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Einstellungen abschließen" + "value" : "Insulinabgabe unterbrochen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Completa la Configuración" + "value" : "Insulina Suspendida" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insuliini pysäytetty" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Terminer la configuration" + "value" : "Insuline suspendue" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Completa configurazione" + "value" : "Insulina sospesa" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Fullfør oppsett" + "value" : "Insulintilførsel utsatt" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Volledige installatie" + "value" : "Insulinetoediening onderbroken" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Zakończ konfigurację" + "value" : "Podawanie Zawieszone" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Configurare finalizată" + "value" : "Administrarea insulinei suspendată" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Завершить настройку" + "value" : "Подача инсулина приостановлена" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulintillförsel pausad" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Kurulumu Tamamla" + "value" : "İnsülin Askıya Alındı" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "完成设置" + "value" : "胰岛素已暂停输注" } } } }, - "Configuration" : { - "comment" : "The title of the Configuration section in settings", - "extractionState" : "stale", + "Insulin Type" : { + "comment" : "Insulin type label", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "المعطيات" - } - }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Konfigurace" + "value" : "Typ inzulínu" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Konfiguration" + "value" : "Insulintype" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Konfiguration" + "value" : "Insulintyp" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Configuración" + "value" : "Tipo de Insulina" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Määritykset" + "value" : "Insuliinityyppi" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Configuration" + "value" : "Type d'insuline" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Configuration" + "value" : "סוג האינסולין" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Configurazione" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "コンフィグレーション" + "value" : "Tipo d'insulina" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Konfigurasjon" + "value" : "Insulintype" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Configuratie" + "value" : "Insulinetype" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Konfiguracja" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Configuração" + "value" : "Rodzaj insuliny" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Configurare" + "value" : "Tipul de insulină" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Конфигурация" + "value" : "Тип инсулина" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Konfigurácia" + "value" : "Typ inzulínu" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Konfiguration" + "value" : "Insulintyp" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Konfigürasyon" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cấu hình" + "value" : "İnsülin Tipi" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "配置" + "value" : "胰岛素类型" } } } }, - "Configuration Error: %1$@" : { - "comment" : "The error message displayed for configuration errors. (1: configuration error details)", + "Integral Retrospective Correction" : { + "comment" : "Title for integral retrospective correction experiment description\nTitle of integral retrospective correction experiment", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "خطأ في المعطيات: %1$@" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Konfigurationsfejl: %1$@" + "value" : "Integral Retrospective Correction" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Konfigurationsfehler: %1$@" + "value" : "Integrale retrospektive Korrektur" } }, - "es" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Error de Configuración: %1$@" + "value" : "Correction rétrospective intégrale" } }, - "fi" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Määritysvirhe: %1$@" + "value" : "Correzione retrospettiva integrale (IRC)" } }, - "fr" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Erreur de Configuration: %1$@" + "value" : "Integrert retrospektiv korreksjon" } }, - "he" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Configuration Error: %1$@" + "value" : "Integrale retrospectieve correctie" } }, - "it" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Errore di configurazione: %1$@" + "value" : "Integralna korekta retrospektywna" } }, - "ja" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "設定エラー: %1$@" + "value" : "Corecție retrospectivă integrală" } }, - "nb" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Konfigurasjonsfeil: %1$@" + "value" : "整体回顾性校正 (IRC)" } - }, - "nl" : { + } + } + }, + "Integral Retrospective Correction (IRC) is an extension of the standard Retrospective Correction (RC) algorithm component in Loop, which adjusts the forecast based on the history of discrepancies between predicted and actual glucose levels.\n\nIn contrast to RC, which looks at discrepancies over the last 30 minutes, with IRC, the history of discrepancies adds up over time. So continued positive discrepancies over time will result in increased dosing. If the discrepancies are negative over time, Loop will reduce dosing further." : { + "comment" : "Description of Integral Retrospective Correction toggle.", + "localizations" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Configuratiefout: %1$@" + "value" : "Integral Retrospective Correction (IRC) er en udvidelse af standard Retrospective Correction (RC) algoritmekomponent i Loop, som justerer prognosen baseret på historikken med uoverensstemmelser mellem forudsagte og faktiske glukoseniveauer.\n\nI modsætning til RC, der ser på uoverensstemmelser i løbet af de sidste 30 minutter, med IRC, tilføjes historikken over uoverensstemmelser over tid. Så fortsatte positive uoverensstemmelser over tid vil resultere i øget dosering. Hvis uoverensstemmelserne er negative over tid, vil Loop reducere doseringen yderligere." } }, - "pl" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Błąd konfiguracji: %1$@" + "value" : "Integral Retrospective Correction (IRC) ist eine Erweiterung der standardmäßigen Retrospective Correction (RC)-Algorithmuskomponente in Loop, die die Prognose basierend auf der Historie der Abweichungen zwischen vorhergesagten und tatsächlichen Glukosewerten anpasst. \n\nIm Gegensatz zu RC, das die Abweichungen der letzten 30 Minuten betrachtet, summiert sich bei IRC der Verlauf der Abweichungen im Laufe der Zeit. Daher führen anhaltende positive Abweichungen im Laufe der Zeit zu einer erhöhten Dosierung. Wenn die Abweichungen im Laufe der Zeit negativ sind, reduziert Loop die Dosierung weiter." } }, - "pt-BR" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Erro de Configuração: %1$@" + "value" : "La correction rétrospective intégrale (IRC) est une extension de l'algorithme standard de correction rétrospective (RC) de Loop, qui ajuste les prévisions en fonction de l'historique des écarts entre les taux de glucose prévus et réels.\n\nContrairement à la correction correction rétrospective, qui prend en compte les écarts des 30 dernières minutes, la correction rétrospective intégrale (IRC) prend en compte l'historique des écarts au fil du temps. Ainsi, des écarts positifs continus au fil du temps entraîneront une augmentation du dosage. Si les écarts sont négatifs au fil du temps, Loop réduira encore le dosage." } }, - "ro" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Eroare configurare: %1$@" + "value" : "Correzione retrospettiva integrale (IRC) è un'estensione del componente standard dell'algoritmo di correzione retrospettiva (RC) in Loop, che regola la previsione in base alla cronologia delle discrepanze tra i livelli di glicemia previsti e quelli effettivi. \n\nA differenza di RC, che esamina le discrepanze negli ultimi 30 minuti, con IRC la cronologia delle discrepanze si accumula nel tempo. Pertanto, continue discrepanze positive nel tempo comporteranno un aumento del dosaggio. Se le discrepanze diventano negative nel tempo, Loop ridurrà ulteriormente il dosaggio." } }, - "ru" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Ошибка конфигурации: %1$@" + "value" : "Integral Retrospective Correction (IRC) er en utvidelse av standardalgoritmekomponenten Retrospective Correction (RC) i Loop, som justerer prognosen basert på historikken for avvik mellom forventede og faktiske glukosenivåer.\n\nI motsetning til RC, som ser på avvik i løpet av de siste 30 minuttene, summerer IRC avvikene over tid. Fortsatte positive avvik over tid vil derfor føre til økt dosering. Hvis avvikene er negative over tid, vil Loop redusere doseringen ytterligere." } }, - "sv" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Konfigurationsfel %1$@" + "value" : "Integrale retrospectieve correctie (IRC) is een uitbreiding van het standaardonderdeel Retrospectieve correctie (RC) van het Loop-algoritme. RC past de voorspelling aan op basis van eerdere verschillen tussen voorspelde en werkelijke glucosewaarden.\n\nRC kijkt alleen naar verschillen in de laatste 30 minuten. Bij IRC tellen de verschillen in de loop van de tijd op. Blijven de verschillen langere tijd positief, dan doseert Loop meer. Zijn ze langere tijd negatief, dan doseert Loop nog minder." } }, - "tr" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Konfigürasyon Hatası: %1$@" + "value" : "Integralna korekta retrospektywna (IRC) jest rozszerzeniem standardowego komponentu algorytmu Korekta retrospektywna (RC) w Loop, który koryguje prognozę na podstawie historii rozbieżności między przewidywanymi a rzeczywistymi poziomami glukozy. \n\n W przeciwieństwie do RC, który analizuje rozbieżności w ciągu ostatnich 30 minut, w przypadku IRC historia rozbieżności sumuje się w czasie. Tak więc utrzymujące się dodatnie rozbieżności w czasie spowodują zwiększenie dawki. Jeśli rozbieżności są ujemne w czasie, Loop jeszcze bardziej zmniejszy podawanie insuliny." } }, - "vi" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Lỗi cấu hình: %1$@" + "value" : "Corecția Retrospectivă Integrală (CRI) este o extensie a componentei algoritmului standard de Corecție Retrospectivă (CR) din Loop, care ajustează prognoza pe baza istoricului discrepanțelor dintre nivelurile de glicemie prezise și cele reale. \n \nSpre deosebire de CR, care analizează discrepanțele din ultimele 30 de minute, cu CRI, istoricul discrepanțelor se adună în timp. Așadar, discrepanțele pozitive continue în timp vor duce la creșterea dozării. Dacă discrepanțele sunt negative în timp, Loop va reduce și mai mult dozarea." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "配置错误:%1$@" + "value" : "整体回顾性校正(IRC)是Loop中标准回顾性校正(RC)算法组件的扩展,它根据预测血糖值与实际血糖值之间的历史偏差来调整预测值。\n\n与仅关注过去30分钟偏差情况的RC不同,IRC会随时间推移累积偏差历史数据。因此,若偏差值长期呈正值,剂量将相应增加;若偏差值长期呈负值,Loop则会进一步减少剂量。" } } } }, - "Configure Display" : { - "comment" : "Title for the view to configure the lock screen display", + "Interrupted %1$@: %2$@ of %3$@ %4$@" : { + "comment" : "Description of an interrupted bolus dose entry (1: title for dose type, 2: value (? if no value) in bold, 3: programmed value (? if no value), 4: unit)", "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Afbrudt %1$@: %2$@ af %3$@ %4$@" + } + }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Anzeige konfigurieren" + "value" : "%1$@ unterbrochen: %2$@ von %3$@ %4$@" } }, - "fr" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Configurer l'affichage" + "value" : "%1$@ interrumpido: %2$@ de %3$@ %4$@" } }, - "nb" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Tilpass skjermen" + "value" : "Keskeytetty %1$@: %2$@ / %3$@ %4$@" } }, - "nl" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Scherm configureren" + "value" : "Interrompu %1$@: %2$@ de %3$@ %4$@" } }, - "ro" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Configurați afișajul" + "value" : "Interrotto %1$@: %2$@ di %3$@ %4$@" } }, - "zh-Hans" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "显示设置" + "value" : "Avbrutt %1$@: %2$@ av %3$@ %4$@" } - } - } - }, - "Configure Lock Screen / Carplay Row" : { - "comment" : "A link that takes the user to a view where they can configure the display of the live activity screen on their lock screen and in CarPlay.", - "isCommentAutoGenerated" : true, - "localizations" : { - "de" : { + }, + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Sperrbildschirm / CarPlay-Zeile konfigurieren" + "value" : "Onderbroken %1$@: %2$@ van %3$@ %4$@" } }, - "fr" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Configurer l'écran de verrouillage / CarPlay" + "value" : "Przerwane %1$@ : %2$@ z %3$@ %4$@" } }, - "nb" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Tilpass låseskjerm / Carplay rad" + "value" : "Întrerupere %1$@: %2$@ din %3$@ %4$@" } }, - "nl" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Rij voor toegangsscherm / CarPlay instellen" + "value" : "Прервано %1$@: %2$@ из %3$@ %4$@" } }, - "ro" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Configurați ecranul de blocare / rândul CarPlay" + "value" : "Avbruten %1$@: %2$@ av %3$@ %4$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ kesintiye uğradı: %3$@ %4$@'nın %2$@ 'si" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "配置锁屏 / CarPlay 显示行" + "value" : "中断的 %1$@:计划剂量:%3$@ %4$@, 实际剂量: %2$@" } } } }, - "Congratulations! You've finished the Presets training." : { - - }, - "Consider an exercise you do regularly and think about how hard you push yourself." : { - - }, - "Consider eating around 10 to 20 grams of fast-acting carbs" : { + "Interval Training " : { }, - "Continue" : { - "comment" : "Button label for continue\nDefault alert dismissal", + "Invalid absorption time: %1$@ hours" : { + "comment" : "Carb error description: invalid absorption time. (1: Input duration in hours).", "localizations" : { - "cs" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Pokračovat" + "value" : "Ugyldig absorptionstid: %1$@ timer" } }, - "da" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Fortsæt" + "value" : "Ungültige Resorptionszeit: %1$@ Stunden" } }, - "de" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Weiter" + "value" : "Temps d'absorption invalide : %1$@ heures" } }, - "es" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Continuar" + "value" : "Periodo di assorbimento non valido: %1$@ ore" } }, - "fi" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Jatka" + "value" : "Ugyldig absorpsjonstid: %1$@ timer" } }, - "fr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Continuer" + "value" : "Ongeldige opnametijd: %1$@ uur" } }, - "he" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Continue" + "value" : "Nieprawidłowy czas absorpcji: %1$@ godz" } }, - "it" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Continua" + "value" : "Timp de absorbție nevalid: %1$@ ore" } }, - "ja" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "次へ" + "value" : "无效的吸收时间:%1$@ 小时" + } + } + } + }, + "Invalid Bolus Amount" : { + "comment" : "Bolus error description: invalid bolus amount.", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ugyldig bolusmængde" } }, - "nb" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Fortsett" + "value" : "Ungültige Bolusmenge" } }, - "nl" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ga verder" + "value" : "Quantité de bolus invalide" } }, - "pl" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Kontynuuj" + "value" : "כמות בולוס לא תקינה" } }, - "pt-BR" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Continuar" + "value" : "Quantità bolo non valida" } }, - "ro" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Continuați" + "value" : "Ugyldig bolusmengde" } }, - "ru" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Продолжить" + "value" : "Ongeldige bolushoeveelheid" } }, - "sk" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Pokračovať" + "value" : "Nieprawidłowa wielkość bolusa" } }, - "sv" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Fortsätt" + "value" : "Cantitate invalidă de bolus" } }, - "tr" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Devam et" + "value" : "Неверный объем болюса" } }, - "vi" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Tiếp tục" + "value" : "Geçersiz Bolus Miktarı" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "继续" + "value" : "大剂量无效" } } } }, - "Continue to %@" : { - - }, - "Continuous Glucose Monitor" : { - "comment" : "Descriptive text for Continuous Glucose Monitor", + "Invalid carb amount" : { + "comment" : "Carb error description: invalid carb amount.", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "نظام متابعة السكر المستمرة" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Kontinuerlig Blodsukker Måler (CGM)" + "value" : "Ugyldig kulhydratmængde" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Kontinuierliche Blutzuckermessung" + "value" : "Ungültige Kohlenhydratmenge" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Monitor de glucosa continuo" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Glukoosinseuranta (CGM)" + "value" : "Cantidad de carbohidratos no válida" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Lecteur de glycémie en continu" + "value" : "Quantité de glucides invalide" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Continuous Glucose Monitor" + "value" : "כמות פחמימות לא תקינה" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Monitoraggio continuo glicemia" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "CGM" + "value" : "Quantità di carboidrati non valida" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Kontinuerlig glukosemonitor" + "value" : "Ugyldig karbohydratmengde" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Continue glucose monitor" + "value" : "Ongeldige hoeveelheid koolhydraten" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Ciągły Monitoring Glukozy" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Monitoramento Contínuo de Glicose" + "value" : "Nieprawidłowa ilość węglowodanów" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Senzor de monitorizare continuă a glicemiei" + "value" : "Cantitate de carbohidrați invalidă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Непрерывный мониторинг гликемии" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kontinuerlig glukosmätning" + "value" : "Неверное количество углеводов" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Sürekli Glikoz İzleme" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kiểm soát đường huyết liên tục" + "value" : "Geçersiz karb miktarı" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "连续血糖监测仪" + "value" : "碳水含量无效" } } } }, - "Continuous or exercise without breaks" : { - - }, - "Correction Range" : { - "comment" : "The title of the glucose target range schedule screen\n The title text for the glucose target range schedule", + "Invalid data: %1$@" : { + "comment" : "The error message when invalid data was encountered. (1: details of invalid data)", "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "نطاق التصحيح" + "value" : "بيانات غير صالحة: %1$@" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Korrektionsområde" + "value" : "Fejlagtige data: %1$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Korrekturbereich" + "value" : "Ungültige Daten: %1$@" } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "Correction Range" + "value" : "Invalid data: %1$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Rango de Corrección" + "value" : "Datos no válidos: %1$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Korjausalue" + "value" : "Virheellinen tieto: %1$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Plage de correction" + "value" : "Données Incorrectes: %1$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "טווח תיקון" + "value" : "Invalid data: %1$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Intervallo di correzione" + "value" : "Dati non validi: %1$@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "ターゲット範囲" + "value" : "無効データ: %1$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Korreksjonsområde" + "value" : "Ugyldige data: %1$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Correctiebereik" + "value" : "Ongeldige gegevens: %1$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Zakres docelowy" + "value" : "Błędne dane: %1$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Faixa de Correção" + "value" : "Dados inválidos: %1$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Interval de corecție" + "value" : "Date invalide: %1$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Диапазон коррекции" + "value" : "Неверные данные: %1$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Målvärde" + "value" : "Ogiltigt värde: %1$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Düzeltme Aralığı" + "value" : "Geçersiz veri: %1$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Phạm vi liều Bổ sung" + "value" : "Dữ liệu vô hiệu: %1$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "校正范围" + "value" : "无效数据: %1$@" } } } }, - "Correction range is a " : { - - }, - "Correction range is a **safety setting**. Changing it can help lower your risk of going low if you expect unusual changes." : { - - }, - "Could Not Restart %1$@" : { - "comment" : "Format string for title of reset loop alert. (1: App name)", + "Invalid Future Glucose" : { + "comment" : "Title for bolus screen notice when glucose data is in the future", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Kunne ikke genstarte %1$@" + "value" : "Ugyldig fremtidig glukose" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ konnte nicht neu gestartet werden" + "value" : "Ungültige zukünftige Blutzuckerwerte" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosa futura no válida" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Impossible de redémarrer %1$@" + "value" : "Glycémie future invalide" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Impossibile riavviare %1$@" + "value" : "Glicemia futura non valida" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Kunne ikke starte %1$@ på nytt" + "value" : "Ugyldig fremtidig blodsukker" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Kan %1$@ niet herstarten" + "value" : "Ongeldige toekomstige glucose" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Przyszła glukoza nie jest znana" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemie Viitoare Invalidă" } }, - "pl" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Nie można ponownie uruchomić %1$@" + "value" : "Недействительная будущая глюкоза" } }, - "ro" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Nu s-a putut reporni %1$@" + "value" : "Geçersiz Gelecek Glikoz" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "无法重启 %1$@" + "value" : "无效的未来血糖值" } } } }, - "Create new presets" : { - - }, - "Critical Alerts" : { - "comment" : "Critical Alerts Status text", + "Invalid glucose reading with a timestamp that is %1$@ in the future" : { + "comment" : "The error message when glucose data is in the future. (1: glucose data time in future in minutes)", "localizations" : { - "cs" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kritická upozornění" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Kritiske advarsler" + "value" : "Ugyldig glukoseaflæsning med et tidsstempel, der er %1$@ i fremtiden" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Kritische Warnungen" + "value" : "Ungültiger Blutzuckermesswert mit einem Zeitstempel, der %1$@ in der Zukunft liegt" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Alertas críticas" + "value" : "Lectura de glucosa no válida de %1$@ en el futuro" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Alertes critiques" + "value" : "Lecture de glucose non valide avec un horodatage situé à %1$@ dans le futur" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Avvisi critici" + "value" : "Lettura della glicemia non valida con data e ora %1$@ nel futuro" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Kritiske varsler" + "value" : "Ugyldig blodsukkermåling med et tidsstempel som er %1$@ i fremtiden" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Kritieke meldingen" + "value" : "Ongeldige glucosemeting met een tijdstempel dat %1$@ in de toekomst ligt." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Alerty krytyczne" + "value" : "Nieprawidłowy odczyt glukozy ze znacznikiem czasu, który wynosi %1$@ w przyszłości" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Alerte critice" + "value" : "Citirea invalidă a glicemiei cu un marcaj temporal care este %1$@ în viitor" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Критические оповещения" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kritické výstrahy" + "value" : "Неверное показание глюкозы с временной меткой, которая находится на %1$@ в будущем" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Kritik Uyarılar" + "value" : "Gelecekte %1$@ olan bir zaman damgasıyla geçersiz KŞ okuması" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "关键通知" + "value" : "血糖读数无效,其时间戳为 %1$@ ,该时间点在未来" } } } }, - "Critical Alerts and Time Sensitive Notifications are important types of iOS notifications used for events that require immediate attention. Examples include:" : { + "iOS" : { }, - "Critical Alerts and Time Sensitive Notifications are turned OFF" : { - "comment" : "Both Critical Alerts and Time Sensitive Notifications disabled banner title" - }, - "Critical Alerts and Time Sensitive Notifications are turned OFF. Go to the App to fix the issue now." : { - "comment" : "Both Critical Alerts and Time Sensitive Notifications disabled notification body" - }, - "Critical Alerts and Time Sensitive Notifications are turned off. You may not get sound, visual or vibration alerts regarding critical safety information.\n\nTo fix the issue, tap ‘Settings’ and make sure Critical Alerts and Time Sensitive Notifications are turned ON." : { - "comment" : "Both Critical Alerts and Time Sensitive Notifications disabled alert body" - }, - "Critical Alerts and Time Sensitive Notifications are turned off. You may not get sound, visual or vibration alerts regarding critical safety information.\n\nTo fix the issue, tap ‘Settings’ and make sure Notifications and Critical Alerts are turned ON." : { - "comment" : "Both Notifications and Critical Alerts disabled alert body" - }, - "Critical Alerts are turned OFF" : { - "comment" : "Critical alerts disabled banner title" - }, - "Critical Alerts are turned OFF. Go to the App to fix the issue now." : { - "comment" : "Critical alerts disabled notification body" - }, - "Critical Alerts are turned off. You may not get sound, visual or vibration alerts regarding critical safety information.\n\nTo fix the issue, tap ‘Settings’ and make sure Critical Alerts are turned ON." : { - "comment" : "Critical alerts disabled alert body" - }, - "Critical Alerts require a special permission from Apple that many do-it-yourself versions of %1$@ don't include. Without it, iOS treats even urgent alarms as ordinary notifications, so the Ring/Silent switch, Do Not Disturb, and Focus modes can silence them." : { - "comment" : "Description text explaining the critical alerts entitlement may be unavailable (1: app name)" - }, - "Critical Alerts will still sound, but all others will be silenced." : { - "comment" : "Additional description text for temporarily silencing non-critical alerts" - }, - "Critical Event Log Ready" : { - "comment" : "Critical event log ready text", + "iOS Critical Alerts and Time Sensitive Alerts are types of Apple notifications. They are used for high-priority events. Some examples include:" : { + "extractionState" : "stale", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Kritisk begivenhedslog klar" + "value" : "Kritiske iOS-advarsler og tidsfølsomme advarsler er typer Apple-meddelelser. De bruges til begivenheder med høj prioritet. Nogle eksempler inkluderer:" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Kritisches Ereignisprotokoll bereit" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Registro de eventos críticos listo" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Tärkeiden tapahtumien loki valmis" + "value" : "Kritische iOS-Warnungen und zeitkritische Warnungen sind Arten von Apple-Benachrichtigungen. Sie werden für Ereignisse mit hoher Priorität verwendet. Einige Beispiele:" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Journal des événements critiques prêt" + "value" : "Les alertes critiques iOS et les alertes urgentes sont des types de notifications Apple. Elles sont utilisées pour des événements de haute priorité. Voici quelques exemples :" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Registro eventi critici pronto" + "value" : "gli avvisi critici e gli avvisi sensibili al tempo di iOS sono tipi di notifiche Apple. Vengono utilizzati per eventi ad alta priorità. Alcuni esempi sono:" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Kritisk hendelseslogg er klar" + "value" : "iOS Critical Alerts og Time Sensitive Alerts er typer Apple-varsler. De brukes ved hendelser med høy prioritet. Noen eksempler er:" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Kritieke gebeurtenislogboek klaar" + "value" : "Kritieke meldingen en Tijdgevoelige meldingen zijn soorten meldingen van Apple in iOS. Ze worden gebruikt voor belangrijke gebeurtenissen. Enkele voorbeelden:" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Dziennik zdarzeń krytycznych gotowy" + "value" : "Alerty krytyczne systemu iOS i alerty zależne od czasu to typy powiadomień Apple. Wykorzystuje się je do zdarzeń o wysokim priorytecie. Oto kilka przykładów:" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Jurnal evenimente critice pregătit" + "value" : "Alertele critice iOS și alertele urgente sunt tipuri de notificări Apple. Sunt folosite pentru evenimente cu prioritate ridicată. Câteva exemple includ:" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Логи критических событий готовы" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kritisk händelselogg klar" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kritik Olay Günlüğü Hazır" + "value" : "Критические оповещения iOS и срочные оповещения — это типы уведомлений Apple. Они используются для проведения высокоприоритетных мероприятий. Вот некоторые примеры:" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "关键事件日志已就绪" + "value" : "iOS 严重告警与时效性告警是苹果系统的两类通知,用于高优先级事件。部分示例包括:" } } } }, - "Critical Event Logs" : { - "comment" : "Critical event log export title", + "iOS Focus Modes" : { + "comment" : "View title for iOS focus modes\niOS focus modes navigation link label" + }, + "IOS FOCUS MODES" : { + "extractionState" : "stale", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Kritisk begivenhedslog" + "value" : "iOS-FOKUSTILSTANDE" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Kritische Ereignisprotokolle" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Registros de eventos críticos" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Tärkeiden tapahtumien loki" + "value" : "IOS-FOKUSMODI" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Journaux des événements critiques" + "value" : "MODES DE CONCENTRATION IOS" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Registri eventi critici" + "value" : "MODALITÀ FOCUS IOS" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Kritiske hendelseslogger" + "value" : "IOS-FOKUSMODUSER" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Kritieke gebeurtenislogboek" + "value" : "FOCUSMODI VAN IOS" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Dzienniki zdarzeń krytycznych" + "value" : "TRYBY SKUPIENIA IOS" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Jurnal de evenimente critice" + "value" : "MODURI CONCENTRARE IOS" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Логи критических событий" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kritiska händelseloggar" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kritik Olay Günlükleri" + "value" : "РЕЖИМЫ ФОКУСИРОВКИ IOS" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "关键事件日志" + "value" : "iOS专注模式" } } } }, - "Critical Event Logs were not able to be exported." : { - "comment" : "Critical event log export error alert message", + "iOS Focus Modes enable you to have more control over when apps can send you notifications. If you decide to use these, ensure that notifications are allowed and NOT silenced from %1$@." : { + "comment" : "Description text for focus modes (1: app name)" + }, + "iOS has added features such as ‘Focus Mode’ that enable you to have more control over when apps can send you notifications.\n\nIf you wish to continue receiving important notifications from %1$@ while in a Focus Mode, you must ensure that notifications are allowed and NOT silenced from %1$@ for each Focus Mode." : { + "comment" : "Description text for iOS Focus Modes (1: app name) (2: app name)" + }, + "iOS Permissions" : { + "comment" : "Notification & Critical Alert Permissions screen title\niOS Permissions button text" + }, + "iOS Permissions and Mute All App Sounds" : { + "comment" : "Alert Permissions descriptive text" + }, + "ISF" : { + + }, + "Issue Report" : { + "comment" : "The title text for the issue report menu item\nThe view controller title for the issue report screen", + "extractionState" : "stale", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تقرير المشكلة" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Kritisk begivenhedslogs kunne ikke eksporteres." + "value" : "Fejlrapport" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Kritische Ereignisprotokolle konnten nicht exportiert werden." + "value" : "Problembericht" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "No se han podido exportar los registros de eventos críticos." + "value" : "Informe de Errores" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Tärkeiden tapahtumien lokia ei voitu viedä." + "value" : "Ongelmaraportti" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Les journaux d'événements critiques n'ont pas pu être exportés." + "value" : "Créer un rapport" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Issue Report" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Non è stato possibile esportare i registri degli eventi critici." + "value" : "Report problemi" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "問題を報告" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Kritiske hendelseslogger kunne ikke eksporteres." + "value" : "Problem Rapport" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Kritieke gebeurtenislogboeken konden niet worden geëxporteerd." + "value" : "Probleemrapportage" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Nie można wyeksportować dzienników zdarzeń krytycznych." + "value" : "Zgłaszanie błędów" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gerar Relatório" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Jurnalele de evenimente critice nu au putut fi exportate." + "value" : "Generați raport" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Не удалось экспортировать журналы критических событий." + "value" : "Сообщить об ошибке" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Kritiska händelseloggar kunde inte exporteras." + "value" : "Skapa felrapport" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Kritik Olay Günlükleri dışa aktarılamadı." + "value" : "Sorun Raporu" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xuất bản Báo cáo" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "无法导出关键事件日志。" + "value" : "问题报告" } } } }, - "CrossFit" : { - - }, - "Current Basal Rate" : { - - }, - "Current Delivery" : { - - }, - "Current Glucose" : { - "comment" : "Label for glucose entry row on simple bolus screen", + "It looks like you may not have logged a meal you ate. Tap to log it now." : { + "comment" : "The notification description for a meal that was possibly not logged in Loop.", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Nuværende blodsukker" + "value" : "Det ser ud til, at du måske ikke har indtastet et måltid, du har spist. Tryk for at logge det nu." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Aktueller Blutzucker" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Glucosa actual" + "value" : "Es sieht so aus, als ob du vergessen hast eine Mahlzeit einzugeben. Tippe um sie nun einzutragen." } }, - "fi" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Nykyinen glukoosi" + "value" : "Il semble que vous n'ayez pas enregistré un repas que vous avez pris. Appuyez pour l'enregistrer maintenant." } }, - "fr" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Glycémie actuelle" + "value" : "ייתכן ולא הזנת ארוחה שאכלת. לחץ כדי להזין אותה כעת." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia attuale" + "value" : "Sembra che non sia stato registrato un pasto consumato. Tocca per registrarlo ora." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Nåværende blodsukker" + "value" : "Det ser ut til at du kanskje ikke har logget et måltid du har spist. Trykk for å logge den nå." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Huidige glucose" + "value" : "Het lijkt erop dat je een maaltijd die je hebt gegeten niet hebt toegevoegd. Tik om het nu toe te voegen." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Aktualna glukoza" + "value" : "Wygląda na to, że nie wprowadziłeś zjedzonego posiłku. Stuknij, aby dodać zaległy posiłek." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia curentă" + "value" : "Se pare că nu ați înregistrat o masă pe care ați mâncat-o. Atingeți pentru a o înregistra acum." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Текущая глюкоза" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nuvarande blodglukosvärde" + "value" : "Похоже, что Вы не ввели съеденную Вами еду. Нажмите , чтобы записать ее сейчас." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Mevcut KŞ" + "value" : "Görünüşe göre yediğiniz bir yemeği kaydetmemiş olabilirsiniz. Şimdi kaydetmek için dokunun." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "当前血糖" + "value" : "检测到你可能进食了但没有记录餐食。点击此处立即录入碳水。" } } } }, - "Current glucose of %1$@ is below correction range." : { - "comment" : "Message when offering bolus recommendation even though bg is below range. (1: glucose value)", + "Jogging" : { + + }, + "Keep All Notifications ON for %1$@" : { + "comment" : "Time sensitive notifications callout title (1: app name)" + }, + "Keep your volume up" : { + "comment" : "Critical alert audio fallback callout title" + }, + "Large Meal Entered" : { + "comment" : "Title of the warning shown when a large meal was entered", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "قراءة سكر الدم %1$@ أقل من نطاق التصحيح." - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Den aktuelle glukose for %1$@ er under korrektionsområdet." + "value" : "Stort måltid indtastet" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Der aktuelle Blutzucker von %1$@ liegt unter dem Korrekturbereich." + "value" : "Große Mahlzeit eingegeben" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosa actual de %1$@ está por debajo del rango de corrección." - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nykyinen glukoosi %1$@ on korjausalueen alapuolella." + "value" : "Comida grande ingresada" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Glycémie actuelle de %1$@ est en dessous de la plage de correction." + "value" : "Grand repas entré" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Current glucose of %1$@ is below correction range." + "value" : "ארוחה גדולה נרשמה" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "La glicemia attuale di %1$@ è al di sotto dell'intervallo glicemico." - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "現在の血糖値は %1$@ で補正範囲を下回っています。" + "value" : "Pasto abbondante inserito" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Gjeldende blodsukker på %1$@ er under korreksjonsområdet." + "value" : "Angitt Stort Måltid" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Huidige glucose %1$@ is lager dan het correctiebereik." + "value" : "Grote maaltijd ingevoerd" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Poziom glukozy %1$@ jest poniżej wartości korekcji." - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : " Glicemia atual %1$@ está abaixo da zona de correção." + "value" : "Wprowadzono duży posiłek" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia actuală de %1$@ se situează sub intervalul de corecție." + "value" : "O cantitate mare de carbohidrați a fost introdusă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Гликемия %1$@ ниже диапазона коррекции" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Aktuálna glykémie %1$@ je pod cieľovým rozsahom." - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nuvarande glukosvärde %1$@ är under målvärde." + "value" : "Введена большая порция еды" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ Mevcut KŞ düzeltme aralığının altında." - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : " Chỉ số glucose hiện tại %1$@ nằm dưới Phạm vi Điều chỉnh." + "value" : "Büyük Yemek Girildi" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "当前血糖%1$@低于校正范围" + "value" : "已输入大份餐" } } } }, - "Custom Override" : { - "comment" : "The title of the cell indicating a generic temporary override is enabled", + "Larger glucose drop" : { + + }, + "LAST 7 DAYS" : { + "comment" : "Preset Performance History, Last 7 days, Section title" + }, + "LAST 24 HOURS" : { + "comment" : "Preset Performance History, Last 24 hrs, Section title" + }, + "Last Auto Bolus" : { + + }, + "Last Bolus: " : { + + }, + "Last loop completed" : { + + }, + "Last Used" : { + "comment" : "Preset sorting option description for sorting by last used" + }, + "Later that day, Paloma eats a meal with about 30g of carbs." : { + + }, + "Launches CGM app" : { + "comment" : "Glucose HUD accessibility hint", "extractionState" : "manual", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "تجاوز مخصص" + "value" : "قم بتشغيل تطبيق نظام متابعة سكر الدم المستمرة" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Brugerdefineret Override" + "value" : "Åbner CGM app’en" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Benutzerdefinierter Override" + "value" : "Öffnet die CGM-App" } }, "en" : { "stringUnit" : { "state" : "translated", - "value" : "Custom Override" + "value" : "Launches CGM app" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Sobreescritura personalizada" + "value" : "Lanza app MCG" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Mukautettu tilapäisasetus" + "value" : "Avaa CGM-sovelluksen" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ajustement personnalisé" + "value" : "Lance l'application CGM" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Custom Override" + "value" : "מפעיל אפליקציית חיישן" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Override personalizzato" + "value" : "Avvia l'app CGM" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "カスタムオーバーライド" + "value" : "CGMアプリを起動" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Tilpasset overstyring" + "value" : "Laster inn CGM-appen" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Aangepaste Override" + "value" : "Lanceert CGM app" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Custom Override" + "value" : "Uruchamia aplikację CGM" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Sobreposição Personalizada" + "value" : "Inicia app CGM" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Suprascriere personalizată" + "value" : "Lansează aplicația senzorului de glicemie" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Настраиваемое ручное управление" + "value" : "Запускает приложение непрерывного мониторинга CGM" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Anpassad Override" + "value" : "Startar CGM-app" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Özel Geçersiz kılma" + "value" : "CGM uygulamasına erişim" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Thói quen Chồng liều" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "自定义覆盖" - } - } - } - }, - "Custom preset" : { - "comment" : "The title of the cell indicating a generic custom preset is enabled", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Benutzerdefinierte Voreinstellung" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Préréglage personnalisé" - } - }, - "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "Engendefinert forhåndsinnstilling" - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Aangepast programma" - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Presetare personalizată" + "value" : "Phát hành ứng dụng CGM" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "自定义预设" + "value" : "启动CGM软件" } } } }, - "Custom Preset" : { - "comment" : "The title of the cell indicating a generic custom preset is enabled", - "extractionState" : "stale", + "Learn More" : { + "comment" : "Learn more section header\nOK button title for alert shown when delivery status is uncertain", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Brugerdefineret forudindstilling" + "value" : "Lær mere" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Voreinstellung" + "value" : "Mehr erfahren" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Ajuste Preestablecido personalizado" + "value" : "Más información" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Mukautettu esiasetus" + "value" : "Lue lisää" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Préréglage personnalisé" + "value" : "En savoir plus" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מידע נוסף" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Programmazione" + "value" : "Ulteriori informazioni" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Egendefinert forhåndsinnstilling" + "value" : "Lære mer" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Aangepast programma" + "value" : "Meer informatie" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Cel Tymczasowy" + "value" : "Dowiedz się więcej" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Presetare personalizată" + "value" : "Aflați mai multe" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Пользовательский пресет" + "value" : "Подробнее" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Anpassad förinställning" + "value" : "Lär dig mer" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Özel Ön Ayar" + "value" : "Daha fazla bilgi edin" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "自定义预设" + "value" : "了解更多" } } } }, - "Daily glucose pattern" : { - "comment" : "Accessibility label for the daily glucose pattern (AGP) chart" + "Learn more about Alerts" : { + "comment" : "Link to learn more about alerts" }, - "Daily Glucose Pattern" : { - "comment" : "Daily glucose pattern (AGP) section header" + "Learning Hub" : { + }, - "Date" : { - "comment" : "Date picker label", + "Less than a minute remaining" : { + "comment" : "Estimated remaining duration with less than a minute", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "التاريخ" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Dato" + "value" : "Mindre end 1 minut tilbage" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Datum" + "value" : "Weniger als eine Minute verbleiben" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Fecha" + "value" : "Queda menos de un minuto" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Aika" + "value" : "Alle minuutti jäljellä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Date" + "value" : "Moins d'une minute restante" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "תאריך" + "value" : "נותרה פחות מדקה" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Data" + "value" : "Meno di un minuto rimanente" } }, - "ja" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "日付" + "value" : "Mindre enn et minutt gjenstår" } }, - "nb" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Dato" + "value" : "Minder dan een minuut resterend" } }, - "nl" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Datum" + "value" : "Pozostało mniej niż minutę" } }, - "pl" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Data" + "value" : "A rămas mai puțin de un minut" } }, - "pt-BR" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Data" + "value" : "Осталось меньше минуты" } }, - "ro" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Data" + "value" : "Mindre än en minut återstår" } }, - "ru" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Дата" + "value" : "Bir dakikadan az kaldı" } }, - "sk" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Dátum" + "value" : "剩余时间不足 1 分钟" + } + } + } + }, + "Let’s walk through a simple example to show how a preset might be used in this situation." : { + + }, + "Let’s walk through some examples to show how presets might be used in these situations." : { + + }, + "Light Intensity (Aerobic)" : { + + }, + "Light-to-moderate intensity exercise can cause a drop in glucose levels. This is because your body uses glucose (or sugar) for energy during physical activity." : { + + }, + "Live activity" : { + "comment" : "Live activity screen title", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Live-Aktivität" } }, - "sv" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Tid" + "value" : "Activité en direct" } }, - "tr" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Tarih" + "value" : "Live activity" } }, - "vi" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Ngày" + "value" : "Live activiteit" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Activitate live" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "日期" + "value" : "实时活动" } } } }, - "Date Created" : { - "comment" : "Preset sorting option description for sorting by date created" - }, - "Days" : { - "comment" : "A label displayed alongside the days of the week for a glucose alert profile.", - "isCommentAutoGenerated" : true + "Live Activity" : { + "comment" : "Live Activity settings button text" }, - "dB" : { - "comment" : "The short unit display string for decibles", + "Loading..." : { + "comment" : "The loading message for the diagnostic report screen", + "extractionState" : "stale", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "تحميل..." } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Indlæser..." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Laden…" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Cargando..." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Ladataan..." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Chargement..." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Loading..." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Caricamento in corso..." } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "ロード中..." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Laster inn..." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Laden..." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Ładowanie..." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Carregando..." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Se încarcă..." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "дБ" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "dB" + "value" : "Загрузка..." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Laddar..." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Yükleniyor..." } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Đang tải..." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "读取中..." } } } }, - "decrease" : { - - }, - "Decreased Delivery" : { - - }, - "Delay 1st Alert" : { - - }, - "Delay for" : { - - }, - "Delay the first alert until your reading stays out of range for this long." : { - - }, - "Delete" : { + "Lock Screen / Dynamic Island / CarPlay" : { + "comment" : "The title of a section in the live activity settings view, related to lock screen, dynamic island, or carplay.", + "isCommentAutoGenerated" : true, "localizations" : { - "ar" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "حذف" + "value" : "Sperrbildschirm / Dynamic Island / CarPlay" } }, - "da" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Slet" + "value" : "Écran verrouillé / Dynamic Island / CarPlay" } }, - "de" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Löschen" + "value" : "Låseskjerm / Dynamic Island / CarPlay" } }, - "es" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Eliminar" + "value" : "Toegangsscherm / Dynamic Island / CarPlay" } }, - "fi" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Poista" + "value" : "Ecran de blocare / Insulă dinamică / CarPlay" } }, - "fr" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Supprimer" + "value" : "锁屏 / 灵动岛 / CarPlay 车载" + } + } + } + }, + "Lock Screen, Dynamic Island, and CarPlay display" : { + "comment" : "Live Activity settings descriptive text" + }, + "Log Dose" : { + "comment" : "Accessibility label for the manual dose entry button on the insulin delivery screen\nButton text to log a dose\nTitle for dose logging screen", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Log dosis" } }, - "he" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "מחק" + "value" : "Dosis speichern" } }, - "it" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Elimina" + "value" : "Registrar dosis" } }, - "nb" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Slett" + "value" : "Kirjaa annos" } }, - "nl" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Verwijderen" + "value" : "Enregistrer la dose" } }, - "pl" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Usunąć" + "value" : "Registra dose" } }, - "pt-BR" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Apagar" + "value" : "Logg Dose" } }, - "ro" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Ștergeți" + "value" : "Registreer dosis" } }, - "ru" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Удалить" + "value" : "Zarejestruj dawkę" } }, - "sk" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Odstrániť" + "value" : "Înregistrați doza" } }, - "sv" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Ta bort" + "value" : "Доза из лога" } }, - "tr" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Sil" + "value" : "Logga Dos" } }, - "vi" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Xóa" + "value" : "Günlük Doz" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "删除" + "value" : "记录注射量" } } } }, - "Delete \"%@\"?" : { - "comment" : "A confirmation dialog that appears when the user taps the \"Delete Alert Profile\" button. The text inside the dialog is parameterized with the name of the profile. The argument is the string “”.", - "isCommentAutoGenerated" : true - }, - "Delete “%@”?" : { + "Logged Insulin Dose" : { + "comment" : "The title of the screen displaying a manually entered insulin dose", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Slet \"%@\"?" + "value" : "Logget insulindosis" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "„ %@ “ löschen?" + "value" : "Gespeicherte Insulindosis" } }, - "fr" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Supprimer \"%@\"?" + "value" : "Dosis de insulina registrada" } }, - "he" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "למחוק את \" %@ \"?" + "value" : "Kirjattu insuliiniannos" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dose d'insuline enregistrée" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Eliminare \"%@\" ?" + "value" : "Dose d'insulina registrata" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Slette \"%@\"?" + "value" : "Logget insulindose" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "„%@” verwijderen?" + "value" : "Geregistreerde insulinedosis" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Usunąć „ %@ ”?" + "value" : "Zarejestrowana dawka insuliny" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Ștergeți \"%@\"?" + "value" : "Doza de insulină înregistrată" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Зарегистрированная доза инсулина" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loggad insulindos" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kayıtlı İnsülin Dozu" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "删除”%@”?" + "value" : "记录的胰岛素剂量" } } } }, - "Delete Account" : { - "comment" : "The title of the button to remove the credentials for a service", + "Loggly" : { + "comment" : "The title of the loggly service", "extractionState" : "manual", "localizations" : { - "cs" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Smazat účet" + "value" : "Loggly" } }, - "da" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Slet konto" + "value" : "Loggly" } }, - "de" : { + "en" : { "stringUnit" : { "state" : "translated", - "value" : "Konto löschen" + "value" : "Loggly" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Eliminar Cuenta" + "value" : "Loggly" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Poista tili" + "value" : "Loggly" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Supprimer le compte" + "value" : "Loggly" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "מחק חשבון" + "value" : "Loggly" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Elimina account" + "value" : "Loggly" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "アカウントを削除" + "value" : "Loggly" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Slett Konto" + "value" : "Loggly" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Verwijder account" + "value" : "Loggly" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Usuń konto" + "value" : "Loggly" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Remover Conta" + "value" : "Loggly" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Ștergeți cont" + "value" : "Loggly" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Удалить аккаунт" + "value" : "Loggly" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Odstrániť účet" + "value" : "Loggly" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Radera konto" + "value" : "Loggly" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Hesabı sil" + "value" : "Loggly" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Xóa Tài khoản" + "value" : "Loggly" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "删除账户" + "value" : "Loggly" } } } }, - "Delete Alert Profile" : { - "comment" : "A button that deletes a glucose alert profile.", - "isCommentAutoGenerated" : true + "Loop Crashed" : { + "comment" : "Title for crash recovery alert", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop er crashet" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ist abgestürzt" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Falla del Loop" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Panne de Loop" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop קרס" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop è crashato" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop krasjet" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop is vastgelopen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pętla uległa awarii" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop s-a închis" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Произошел сбой приложения" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop Çöktü" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "loop 崩溃了" + } + } + } }, - "Delete All" : { - "comment" : "Button title to delete all objects", + "Loop Failure" : { + "comment" : "The notification title for a loop failure", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "فشل في الحلقة المغلقة" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Slet alle" + "value" : "Loop-fejl" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Alle löschen" + "value" : "Loop fehlgeschlagen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Eliminar Todos" + "value" : "Falla del Loop" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Poista kaikki" + "value" : "Loopin häiriö" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Supprimer tout" + "value" : "Echec de Loop" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "מחק הכל" + "value" : "Loop Failure" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Elimina tutto" + "value" : "Malfunzionamento di Loop" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "すべて削除" + "value" : "ループの不良" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Slett alle" + "value" : "Loop-feil" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Verwijder alles" + "value" : "Loopstoring" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Usuń wszystko" + "value" : "Awaria pętli" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Remover Todos" + "value" : "Falha no Loop" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Ștergeți tot" + "value" : "Eșec buclă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Удалить все" + "value" : "Ошибка в работе петли" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Radera allt" + "value" : "Loopfel" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Hepsini sil" + "value" : "Döngü Hatası" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Xóa hết" + "value" : "Loop lỗi" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "删除所有" + "value" : "Loop失败" } } } }, - "Delete All Testing Data" : { - "comment" : "The title of an alert that lets the user delete all their testing data.", - "isCommentAutoGenerated" : true - }, - "Delete CGM" : { - "comment" : "Button title to delete CGM", + "Loop has detected an issue with your Bluetooth settings, and will not work successfully until Bluetooth is enabled. You will not receive glucose readings, or be able to bolus." : { + "comment" : "Bluetooth unavailable alert body.", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "حذف CGM" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Slet CGM" + "value" : "Loop har opdaget et problem med dine Bluetooth-indstillinger, og fungerer ikke korrekt, før Bluetooth er aktiveret. Du vil ikke få blodsukkeraflæsninger eller være i stand til at give bolus." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "CGM löschen" + "value" : "Loop hat ein Problem mit Deinen Bluetooth-Einstellungen festgestellt und funktioniert nicht, bis Bluetooth aktiviert ist. Du erhältst keine Blutzucker-Werte und es kann kein Bolus abgeben werden." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Eliminar MCG" + "value" : "Loop ha detectado un problema con la configuración de Bluetooth, y no funcionará correctamente hasta que el Bluetooth esté activado. No recibirás lecturas de glucosa, ni podrás dar los bolos." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Poista CGM" + "value" : "Loop on havainnut Bluetooth-asetuksissa ongelman, eikä se toimi oikein ennen kuin Bluetooth on otettu käyttöön. Et saa glukoosilukemia, etkä voi antaa bolusta." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Supprimer le CGM" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "מחק חיישן" + "value" : "Loop a détecté un problème avec vos paramètres Bluetooth, et ne fonctionnera pas correctement tant que le Bluetooth ne sera pas activé. Vous ne pourrez pas recevoir de lectures de glucose, ni être en mesure de faire un bolus." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Elimina CGM" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "CGMを削除" + "value" : "Loop ha rilevato un problema con le tue impostazioni Bluetooth e non funzionerà correttamente finché il Bluetooth non sarà attivato. Non riceverai letture glicemiche né potrai eseguire il bolo." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Slett CGM" + "value" : "Loop har oppdaget et problem med Bluetooth-innstillingene dine, og vil ikke fungere før Bluetooth er aktivert. Du vil ikke motta blodsukkermålinger, eller være i stand til å gi bolus." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Verwijder CGM" + "value" : "Loop heeft een probleem met je Bluetooth-instellingen gedetecteerd en zal niet goed werken totdat Bluetooth wordt ingeschakeld. Je ontvangt geen glucosemetingen en je kunt niet bolussen." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Usuń CGM" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Remover CGM" + "value" : "Loop wykrył problem z ustawieniami Bluetooth i nie będzie działać poprawnie, dopóki Bluetooth nie zostanie włączony. Nie będziesz otrzymywać odczytów poziomu glukozy ani możliwości podania bolusa." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Ștergeți senzor de glicemie" + "value" : "Loop a detectat o problemă cu setările Bluetooth și nu va funcționa cu succes până când Bluetooth nu este activat. Nu veți primi valori ale glicemiei sau nu veți putea face bolus." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Удалить мониторинг" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Odstrániť CGM" + "value" : "Loop обнаружил проблему в настройках Bluetooth и не будет успешно работать, пока Bluetooth не будет включен. Вы не будете получать показания глюкозы и не сможете вводить болюс." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Radera CGM" + "value" : "Loop har upptäckt ett problem med dina Bluetooth-inställningar och kommer inte att fungera förrän Bluetooth är aktiverat. Du kommer varken att kunna se dina blodsockervärden eller att kunna ge någon bolus." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "CGM Sil" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Xóa CGM" + "value" : "Loop, Bluetooth ayarlarınızla ilgili bir sorun algıladı ve Bluetooth etkinleştirilene kadar başarılı bir şekilde çalışmayacaktır. KŞ okumaları almayacaksınız veya bolus yapamayacaksınız." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "删除CGM" + "value" : "Loop 检测到您的蓝牙设置存在问题,在蓝牙启用之前将无法正常工作。\n您将无法接收血糖读数,也无法推注大剂量。" } } } }, - "Delete Dose" : { - "comment" : "Button to delete a dose" - }, - "Delete External Insulin" : { - "comment" : "Button to delete a manually-entered insulin dose" - }, - "Delete Food" : { + "Loop has detected an missed meal and estimated its size. Edit the carb amount to match the amount of any carbs you may have eaten." : { + "comment" : "Warning displayed when user is adding a meal from an missed meal notification", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Slet mad" + "value" : "Loop har opdaget et overset måltid og vurderet dets størrelse. Rediger mængden af kulhydrater, så den svarer til mængden af kulhydrater, du har spist." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Essen löschen" + "value" : "Loop hat eine vergessene Mahlzeit erkannt und deren Größe geschätzt. Passe die KH auf die Menge an, die Du wahrscheinlich gegessen hast." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Supprimer l'aliment" + "value" : "Loop a détecté un repas manqué et a estimé sa taille. Modifiez la quantité de glucides pour qu'elle corresponde à la quantité de glucides que vous avez peut-être mangée." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop זיהה ארוחה שלא הוזנה והעריך את גודלה. ערוך את מספר הפחמימות כדי להתאים אותו לזה שאכלת." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Elimina cibo" + "value" : "Loop ha rilevato un pasto saltato e ne ha stimato le dimensioni. Modifica la quantità di carboidrati in modo che corrisponda alla quantità di carboidrati che potresti aver mangiato." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Slett mat" + "value" : "Loop har oppdaget et glemt måltid og estimert størrelsen. Rediger karbohydratmengden for å matche mengden av karbohydrater du måtte ha spist." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Voedingsmiddel verwijderen" + "value" : "Loop heeft een gemiste maaltijd gedetecteerd en een schatting van de hoeveelheid gedaan. Bewerk de hoeveelheid koolhydraten, zodat deze overeenkomt met de hoeveelheid koolhydraten die je mogelijk hebt gegeten." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Usuń jedzenie" + "value" : "Pętla wykryła pominięty posiłek i oszacowała jego wielkość. Edytuj ilość węglowodanów, aby odpowiadała ilości węglowodanów, które mogłeś zjeść." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Ștergeți alimentele" + "value" : "Loop a detectat o masă neanunțată și a estimat dimensiunea acesteia. Editați cantitatea de carbohidrați pentru a se potrivi cu cantitatea de carbohidrați pe care ați consumat-o." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop обнаружил пропущенный прием пищи и оценил его размер. Отредактируйте количество углеводов, чтобы оно соответствовало количеству тех углеводов, которые вы, возможно, съели." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop atlanmış bir öğün tespit etti ve boyutunu tahmin etti. Yemiş olabileceğiniz karbonhidrat miktarına uyması için karbonhidrat miktarını düzenleyin." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "删除食物" + "value" : "Loop 检测到一次可能遗漏的进食,并估算了碳水量。请根据实际摄入情况修改碳水数值。" } } } }, - "Delete Service" : { - "comment" : "Button title to delete a service", - "extractionState" : "manual", + "Loop has not completed successfully in %@" : { + "comment" : "The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop", "localizations" : { - "cs" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Smazat službu" + "value" : "لم تتم الحلقة المغلقة بنجاح منذ %@" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Slet service" + "value" : "Loop har ikke kørt korrekt i %@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Dienst löschen" + "value" : "Loop wurde nicht erfolgreich abgeschlossen seit %@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Eliminar servicio" + "value" : "Loop no ha terminado correctamente en %@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Poista palvelu" + "value" : "Häiriö Loopin toiminnassa %@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Supprimer le service" + "value" : "Loop n'a pas bouclé avec succès depuis %@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "מחק שירות" + "value" : "Loop has not completed successfully in %@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Elimina servizio" + "value" : "Loop non ha funzionato correttamente per %@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Delete Service" + "value" : "ループが %@ の間クローズされていません" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Slett tjeneste" + "value" : "Loop har ikke fullført i %@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Service verwijderen" + "value" : "Loop is niet goed afgerond in %@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Usuń usługę" + "value" : "Loop nie działał poprawnie przez %@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Delete Service" + "value" : "Nenhum ciclo completo com sucesso em %@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Ștergeți serviciul" + "value" : "Loop nu a rulat cu succes timp de %@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Удалить сервис" + "value" : "Ну удалось успешно замкнуть цикл/контур в %@" } }, - "sk" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Odstrániť službu" + "value" : "Loop har inte lyckats köra på %@" } }, - "sv" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Ta bort tjänst" + "value" : "Döngü %@ içinde başarıyla tamamlanamadı" } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Servisi Sil" + "value" : "Loop không hoạt động thành công trong %@" } }, - "vi" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Delete Service" + "value" : "Loop运行异常 %@" + } + } + } + }, + "Loop is already looping." : { + "comment" : "The error message displayed for LoopError.loopInProgress errors." + }, + "Loop normally gives 40% of your predicted insulin needs each dosing cycle.\n\nWhen the Glucose Based Partial Application experiment is enabled, Loop will vary the percentage of recommended bolus delivered each cycle with glucose level.\n\nNear correction range, it will use 20% (similar to Temp Basal), and gradually increase to a maximum of 80% at high glucose (200 mg/dL, 11.1 mmol/L).\n\nPlease be aware that during fast rising glucose, such as after an unannounced meal, this feature, combined with velocity and retrospective correction effects, may result in a larger dose than your ISF would call for." : { + "comment" : "Description of Glucose Based Partial Application toggle.", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop verabreicht normalerweise 40% Deines voraussichtlichen Insulinbedarfs pro Dosierungszyklus. \n\nWenn das Experiment zur glukosebasierten partiellen Verabreichung aktiviert ist (Glucose Based Partial Application), variiert Loop den Prozentsatz des empfohlenen Bolus, der pro Zyklus verabreicht wird, je nach Glukosespiegel. \n\nNahe dem unterem Korrekturbereich werden 20% verwendet (ähnlich wie bei Temp Basal) und bei hohem Glukosespiegel (200 mg/dl, 11,1 mmol/l) schrittweise auf maximal 80% erhöht. \n\nBitte beachte, dass diese Funktion bei schnell ansteigendem Glukosespiegel, etwa nach einer unangekündigten Mahlzeit, in Kombination mit Geschwindigkeits- und retrospektiven Korrektureffekten zu einer höheren Dosis führen kann, als Dein ISF erfordern würde." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop administre normalement 40 % des besoins prévus en insuline à chaque cycle de dosage.\n\nLorsque l'application partielle basée sur la glycémie est activée, Loop fait varier le pourcentage du bolus recommandé administré à chaque cycle en fonction du niveau de glucose.\n\nÀ proximité de la plage de correction, il utilisera 20 % (similaire à Temp Basal), et augmentera progressivement jusqu'à un maximum de 80 % à un niveau de glucose élevé (200 mg/dL, 11,1 mmol/L).\n\nVeuillez noter qu'en cas d'augmentation rapide du glucose, par exemple après un repas non annoncé, cette fonction, combinée aux effets de vitesse et de correction rétrospective, peut entraîner une dose plus importante que ce que votre ISF préconise." + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop gir normalt 40 % av det forventede insulinbehovet ditt i hver doseringssyklus. Når eksperimentet Glukosebasert delvis tilførsel er aktivert, vil Loop variere prosentandelen av anbefalt bolus som gis i hver syklus med glukosenivået.\n\nI nærheten av korreksjonsområdet vil den bruke 20 % (på samme måte som Temp Basal), og gradvis øke til maksimalt 80 % ved høyt glukosenivå (200 mg/dL, 11,1 mmol/L). Vær oppmerksom på at ved raskt stigende glukose, for eksempel etter et uanmeldt måltid, kan denne funksjonen, kombinert med hastighet og retrospektive korreksjonseffekter, resultere i en større dose enn det ISF-en din ville ha krevd." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop geeft normaal gesproken per doseercyclus 40% van je voorspelde insulinebehoefte.\n\nAls het experiment Glucose-afhankelijke gedeeltelijke toediening aan staat, past Loop het percentage van de aanbevolen bolus dat per cyclus wordt toegediend aan op je glucosewaarde.\n\nIn de buurt van je correctiebereik is dat 20% (vergelijkbaar met Tijdelijke basaal). Bij hoge glucose loopt het geleidelijk op tot maximaal 80% (200 mg/dL, 11,1 mmol/L).\n\nLet op: bij snel stijgende glucose, zoals na een niet-ingevoerde maaltijd, kan deze functie samen met de effecten van snelheid en retrospectieve correctie een grotere dosis geven dan je ISF zou aangeven." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "În mod normal, Loop furnizează 40% din necesarul de insulină estimat pentru fiecare ciclu de dozare. \n \nCând algoritmul experimental Aplicare parțială bazată pe glicemie este activat, Loop o să varieze procentul de bolus recomandat administrat pentru fiecare ciclu în funcție de nivelul glicemiei.\n \nÎn apropierea intervalului de corecție, va utiliza 20% (similar cu o bazală temporar) și va crește treptat până la maximum 80% la glicemie ridicată (200 mg/dl, 11,1 mmol/l). \n \nVă rugăm să rețineți că în timpul creșterii rapide a glicemiei, cum ar fi după o masă neanunțată, această funcție, combinată cu efectele vitezei și ale corecției retrospective, poate duce la o doză mai mare decât ar necesita sensibilitatea dumneavoastră la insulină." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "删除服务" + "value" : "Loop 通常在每个给药周期中提供您预测胰岛素需求的 40%。\n\n启用“基于血糖的部分给药实验功能”后,Loop 将根据血糖水平调整每个周期实际推注的大剂量比例。\n\n当血糖接近矫正目标范围时,仅注射 20%(类似于临时基础率),血糖升高时比例会逐步增加,在高血糖状态(200 mg/dL,11.1 mmol/L)时最高可达 80%。\n\n请注意,当血糖快速上升(例如未申报的进食)时,该功能与血糖变化速度及回顾性矫正机制叠加,可能导致注射剂量超过由胰岛素敏感系数(ISF)计算出的剂量。" } } } }, - "Delete Testing CGM Data" : { + "Loop will automatically bolus when insulin needs are above scheduled basal, and will use temporary basal rates when needed to reduce insulin delivery below scheduled basal." : { + "comment" : "Description string for automatic bolus dosing strategy", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Slet CGM testdata" + "value" : "Loop vil automatisk give bolus, når insulinbehov er over planlagt basal, og vil bruge midlertidige basalrater, når det er nødvendigt for at reducere insulinlevering under planlagt basal." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "CGM-Test-Daten löschen" + "value" : "Loop gibt automatisch einen Bolus ab, wenn der Insulinbedarf über der geplanten Basalrate liegt, und verwendet temporäre Basalraten, wenn dies erforderlich ist, um die Insulinabgabe unter die geplante Basalrate zu reduzieren." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Eliminar prueba de datos CGM" + "value" : "Loop administrará bolos automáticamente cuando las necesidades de insulina estén por encima del basal programado y utilizará ajustes temporales de basal cuando sea necesario para reducir la administración de insulina por debajo del basal programado." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Poista testi-CGM:n tiedot" + "value" : "Loop annostelee automaattisen boluksen kun insuliinitarve ylittää ohjelmoidun basaalin, ja käyttää tilapäisiä alhaisempia basaalitasoja kun tarvitaan vähemmän insuliinia." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Effacer les données de test du CGM" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "מחק נתוני בדיקת חיישן" + "value" : "Loop effectue automatiquement des bolus lorsque les besoins en insuline sont supérieurs au débit de base programmé, et utilise des débits basaux temporaires si nécessaire pour réduire l'administration d'insuline en dessous du débit de base programmé." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Elimina dati test CGM" + "value" : "Loop eseguirà automaticamente il bolo quando il fabbisogno d'insulina è superiore alla basale programmata e utilizzerà velocità basali temporanee quando necessario per ridurre l'erogazione d'insulina al di sotto della basale programmata." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Slett testdata for blodsukkermåler" + "value" : "Lopp vil sette bolus når insulinbehovet er over planlagt basal, og vil bruke midlertidige basale rater når det er nødvendig for å redusere insulintilførselen under planlagt basal" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Verwijder test-CGM-gegevens" + "value" : "Loop zal automatisch bolussen geven wanneer de insulinebehoefte groter is dan het ingestelde basaal, en Loop zal wanneer dat nodig is gebruik maken van tijdelijke basaalsnelheden om insulinetoediening te verlagen." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Usuń testowe dane CGM" + "value" : "Pętla automatycznie poda bolusa, kiedy zapotrzebowanie na insulinę przekroczy zaplanowaną dawkę podstawową, a w razie potrzeby zredukuje zaplanowaną dawkę podstawową (bazę)." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Ștergeți datele senzorului de test" + "value" : "Loop va bolusa automat când necesarul de insulină este deasupra bazalei programate, și va utiliza rate bazale temporare atunci când este necesar, pentru a reduce cantitatea de insulină administrată sub nivelul bazal programat." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Удалить данные тестирования CGM" + "value" : "Loop автоматически вводит болюсы, когда потребность в инсулине превышает запланированную базу, и при необходимости использует ВБС, чтобы снизить подачу инсулина ниже запланированной базы." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Ta bort simulerade testvärden från CGM" + "value" : "Loop kommer att ge bolus automatiskt när insulinbehovet är större än ordinarie basal och kommer, vid behov, att minska din ordinarie basal med temporära basaldoser för att minska insulintillförseln." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Test CGM Verilerini Sil" + "value" : "Loop, insülin ihtiyaçları programlanan bazalın üzerine çıktığında otomatik olarak bolus yapacak ve gerektiğinde insülin iletimini programlanan bazalın altına düşürmek için geçici bazal oranları kullanacaktır." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "删除测试 CGM 数据" + "value" : "当所需胰岛素高于计划基础率时,Loop 将自动推注大剂量;当所需胰岛素低于计划基础率时,则使用临时基础率以减少胰岛素输注" } } } }, - "Delete Testing Data" : { + "Loop will not work successfully until Bluetooth is enabled. You will not receive glucose readings, or be able to bolus." : { + "comment" : "Bluetooth off background alert body.", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Slet testdata" + "value" : "Loop vil ikke fungere, før Bluetooth er aktiveret. Du vil ikke modtage glukoseaflæsninger eller være i stand til at give bolus." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Test-Daten löschen" + "value" : "Loop funktioniert nicht, bis Bluetooth aktiviert ist. Du erhältst keine Blutzuckerwerte und es kann kein Bolus abgeben werden." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Eliminar datos de prueba" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Poista testitiedot" + "value" : "Loop no funcionará correctamente hasta que el Bluetooth esté habilitado. No recibirá lecturas de glucosa ni podrá administrar bolus." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Supprimer les données de Test" + "value" : "Loop ne fonctionnera pas correctement tant que le Bluetooth ne sera pas activé. Vous ne pourrez pas recevoir de lectures de glucose, ni être en mesure de faire un bolus." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "מחק נתוני בדיקה" + "value" : "Loop לא תעבוד עד הפעלת Bluetooth. לא תוכל לקבל נתוני גלוקוז או להזריק בולוס." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Elimina dati test" + "value" : "Loop non funzionerà correttamente fino a quando il Bluetooth non sarà attivato. Non riceverai letture glicemiche né potrai eseguire il bolo." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Slett testdata" + "value" : "Loop vil ikke fungere før Bluetooth er aktivert. Du vil ikke motta blodsukkermålinger, eller være i stand til å gi bolus." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Testgegevens verwijderen" + "value" : "Loop werkt pas als Bluetooth is ingeschakeld. Je zult geen glucosemetingen ontvangen of een bolus kunnen toedienen." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Usuń dane testowe" + "value" : "Pętla nie będzie działać pomyślnie, dopóki Bluetooth nie zostanie włączony. Nie będziesz otrzymywać odczytów poziomu glukozy ani możliwości podania bolusa." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Ștergeți datele de testare" + "value" : "Loop nu va funcționa cu succes până când Bluetooth nu este activat. Nu veți primi citiri de glicemie sau nu veți putea să bolusați." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Удалить данные тестирования" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ta bort simulerade testvärden" + "value" : "Loop не будет успешно работать, пока не будет включен Bluetooth. Вы не сможете получать показания уровня глюкозы или вводить болюсы." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Test Verilerini Sil" + "value" : "Bluetooth etkinleştirilene kadar döngü başarılı bir şekilde çalışmayacaktır. KŞ ölçümleri alamayacak veya bolus yapamayacaksınız." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "删除测试数据" + "value" : "在启用蓝牙之前,Loop 无法正常工作。您将无法获取血糖读数,也不能执行大剂量输注。" } } } }, - "Delete Testing Pump Data" : { + "Loop will set temporary basal rates to increase and decrease insulin delivery." : { + "comment" : "Description string for temp basal only dosing strategy", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Slet testdata for pumpe" + "value" : "Loop vil fastsætte midlertidige basalrater for at øge og reducere insulinafgivelse." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Pumpen-Test-Daten löschen" + "value" : "Loop stellt temporäre Basalraten ein, um die Insulinabgabe zu erhöhen oder zu verringern." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Borrar los datos de prueba de la bomba" + "value" : "Loop establecerá basal temporales para aumentar y disminuir la administración de insulina." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Poista testipumpun tiedot" + "value" : "Loop käyttää tilapäisiä basaalitasoja lisätäkseen tai vähentääkseen insuliinin annostelua." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Supprimer les données de la Pompe de test" + "value" : "Loop permet de définir des débits de base temporaires pour augmenter et diminuer l'administration d'insuline." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "מחק נתוני בדיקת משאבה" + "value" : "Loop תגדיר בזאלי זמני כדי להגדיל ולהקטין מתן אינסולין." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Elimina dati test della pompa" + "value" : "Loop imposterà velocità basali temporanee per aumentare e diminuire l'erogazione d'insulina." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Slett data for testpumpe" + "value" : "Loop vil sette midlertidige basal rater for å øke og redusere insulin levering." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Testpompgegevens verwijderen" + "value" : "Loop stelt tijdelijke basaalsnelheden in om de insulinetoediening te verhogen of te verlagen." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Usuń dane pompy testowej" + "value" : "Pętla ustawi tymczasowe dawki podstawowe, aby zwiększać lub zmniejszyć podawanie insuliny." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Ștergeți datele pompei de test" + "value" : "Loop va stabili ratele bazale temporare pentru a crește și reduce cantitatea de insulina administrată." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Удалить данные тестирования помпы" + "value" : "Петля установит ВБС для увеличения или уменьшения подачи инсулина." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Ta bort simulerade pumpvärden" + "value" : "Loop kommer att ställa in tillfälliga basalnivåer för att öka eller minska insulintillförsel." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Test Pompası Verilerini Sil" + "value" : "Loop, insülin iletimini artırmak ve azaltmak için geçici bazal oranlar ayarlayacaktır." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "删除测试用胰岛素泵数据" + "value" : "Loop 将设置临时基础率,以增加或减少胰岛素输注。" } } } }, - "Delete this dose?" : { - "comment" : "Confirmation title for deleting a dose" - }, - "Delete this manually-entered insulin entry?" : { - "comment" : "Confirmation title for deleting a manually-entered insulin dose" - }, - "Deliver" : { - "comment" : "Button text to deliver a bolus", + "Low" : { + "comment" : "Time-in-range band label (54–69 mg/dL)", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "منخفض" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nízká" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Afgiv" + "value" : "Lav" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Abgeben" + "value" : "Niedrig" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Entregar" + "value" : "Baja" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Annostele" + "value" : "Matala" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Administrer" + "value" : "Basse" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "נמוך" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alacsony" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Eroga" + "value" : "Bassa" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "低値" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Gi bolus" + "value" : "Lav" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Toedienen" + "value" : "Laag" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Podaj Bolus" + "value" : "Niska" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baixa" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Administrați" + "value" : "Scăzută" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Подать" + "value" : "Низкая" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Podať" + "value" : "Nízka" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Ge bolus" + "value" : "Lågt" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "İlet" + "value" : "Düşük" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Низька" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thấp" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "输注" + "value" : "低" } } } }, - "Delivery Details" : { - - }, - "Delivery Limits" : { - "comment" : "Title text for delivery limits", - "extractionState" : "manual", + "Low Glucose" : { + "comment" : "Title for bolus screen warning when glucose is below glucose warning limit.\nTitle for bolus screen warning when glucose is below suspend threshold, but a bolus is recommended", "localizations" : { - "ar" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "حدود الضخ" + "value" : "Lav glukose" } }, - "cs" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Limity podávání" + "value" : "Niedriger Blutzucker" } }, - "da" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Insulingrænser" + "value" : "Glucosa baja" } }, - "de" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Abgabelimits" + "value" : "Glycémie basse" } }, - "en" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Delivery Limits" + "value" : "גלוקוז נמוך" } }, - "es" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Límites de Administración de Insulina" + "value" : "Glicemia bassa" } }, - "fi" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Annostelurajat" + "value" : "Lavt blodsukker" } }, - "fr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Limites d'Administration" + "value" : "Lage glucose" } }, - "he" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Delivery Limits" + "value" : "Niski poziom glukozy" } }, - "it" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Limiti erogazione" + "value" : "Glicemie scăzută" } }, - "ja" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "注入限度" + "value" : "Низкий уровень глюкозы" } }, - "nb" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Leveringsgrenser" + "value" : "Düşük KŞ" } }, - "nl" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Toedieningslimieten" + "value" : "低血糖" + } + } + } + }, + "Make sure to keep Notifications and Time Sensitive Notifications turned ON in iOS Settings to receive essential safety and maintenance notifications." : { + "comment" : "Time sensitive notifications callout message when Critical Alerts are unavailable" + }, + "Make sure to keep Notifications, Time Sensitive Notifications, and Critical Alerts turned ON in iOS Settings to receive essential safety and maintenance notifications." : { + "comment" : "Time sensitive notifications callout message" + }, + "Manage iOS Permissions" : { + "comment" : "Manage Permissions in Settings button text" + }, + "Manage Permissions in Settings" : { + "comment" : "Manage Permissions in Settings button text", + "extractionState" : "stale", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Administrer tilladelser i Indstillinger" } }, - "pl" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Berechtigungen in den Einstellungen verwalten" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Administrar permisos en Configuración" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gérer les permissions dans les paramètres" + } + }, + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Limity podawania" + "value" : "קבע הרשאות בהגדרות" } }, - "pt-BR" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Limites de Entrega" + "value" : "Gestisci le autorizzazioni in Impostazioni" } }, - "ro" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Limite de administrare" + "value" : "Behandle tillatelser i Innstillinger" } }, - "ru" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Пределы подачи" + "value" : "Beheer toestemming in Instellingen" } }, - "sk" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Limity podávania" + "value" : "Zarządzaj uprawnieniami w Ustawieniach" } }, - "sv" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Maxdoser" + "value" : "Gestionați permisiunile din Setări" } }, - "tr" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "İletim Limitleri" + "value" : "Управление разрешениями в настройках" } }, - "vi" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Giới hạn liều tiêm" + "value" : "Ayarlarda İzinleri Yönetin" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "输注限制" + "value" : "在系统设置中配置权限" } } } }, - "Denied" : { - "comment" : "Health sharing status: denied" - }, - "Depending on the activity, you may notice a few common patterns when it comes to your insulin needs:" : { - - }, - "Device Issue" : { - "comment" : "title for when automation is off and there is a device issue" - }, - "Devices" : { + "Manager Identifier" : { }, - "Diabetes Treatment" : { - "comment" : "Descriptive text for Therapy Settings", + "Managing Alerts" : { + "comment" : "View title for how mute alerts work", + "extractionState" : "stale", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Diabetesbehandling" + "value" : "Administration af advarsler" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Diabetes-Behandlung" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Tratamiento de la diabetes" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Diabeteshoito" + "value" : "Verwalten von Warnungen" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Traitement du diabète" + "value" : "Gestion des Alertes" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Terapia" + "value" : "Gestione degli avvisi" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Diabetesbehandling" + "value" : "Administrere varsler" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Diabetesbehandeling" + "value" : "Waarschuwingen beheren" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "w leczeniu cukrzycy" + "value" : "Zarządzanie alertami" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Tratamentul diabetului" + "value" : "Gestionarea alertelor" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Лечение диабета" + "value" : "Управление оповещениями" } }, - "sv" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Diabetesbehandling" + "value" : "管理警报" } - }, - "tr" : { + } + } + }, + "Manual" : { + "localizations" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Diyabet Tedavisi" + "value" : "يدوي" } }, - "zh-Hans" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "糖尿病治疗" + "value" : "Ručně" } - } - } - }, - "Did you intend to enter %1$@ grams as the amount of carbohydrates for this meal?" : { - "comment" : "Alert body when entered carbohydrates is greater than threshold (1: entered quantity in grams)", - "localizations" : { + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Havde du til hensigt at angive %1$@ gram som mængden af kulhydrater for dette måltid?" + "value" : "Manuel" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Wolltest Du %1$@ Gramm an Kohlenhydraten für diese Mahlzeit eingeben?" + "value" : "Manuell" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "¿Quería introducir %1$@ gramos como cantidad de hidratos de carbono para esta comida?" + "value" : "Manual" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manuaalinen" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Aviez-vous l'intention d'entrer %1$@ grammes comme quantité de glucides pour ce repas?" + "value" : "Manuel" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "ידני" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kézi" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Intendevi inserire %1$@ grammi come quantità di carboidrati per questo pasto?" + "value" : "Manuale" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "手動" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Hadde du tenkt å angi %1$@ gram som mengde karbohydrater for dette måltidet?" + "value" : "Manuell" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Was je van plan om %1$@ gram in te voeren als hoeveelheid koolhydraten voor deze maaltijd?" + "value" : "Handmatig" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Czy zamierzałeś wprowadzić %1$@ gramów jako ilość węglowodanów dla tego posiłku?" + "value" : "Ręcznie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manual" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Ați intenționat să introduceți %1$@ grame drept cantitate de carbohidrați pentru această masă?" + "value" : "Manual" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Вы намеревались ввести %1$@ граммов углеводов для этого блюда?" + "value" : "Вручную" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ručne" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manuell" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bu yemek için karbonhidrat miktarı olarak %1$@ gram girmeyi düşündünüz mü?" + "value" : "Manuel" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вручну" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thủ công" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "你确定本餐包含 %1$@ g 碳水吗?" + "value" : "手动" } } } }, - "Difficulty maintaining exercise or holding a conversation." : { - - }, - "Disables" : { - "comment" : "The action hint of the workout mode toggle button when enabled", - "extractionState" : "stale", + "Manual · %1$@" : { + "comment" : "Logbook temp basal row subtitle: set by hand, then the rate and how long. (1: description, e.g. 0.50 U/h for 30m (scheduled 0.80))", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "تعطيل" + "value" : "يدوي · %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ručně · %1$@" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Deaktiverer" + "value" : "Manuel · %1$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Deaktivieren" + "value" : "Manuell · %1$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Desactivar" + "value" : "Manual · %1$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Poistaa käytöstä" + "value" : "Manuaalinen · %1$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Désactive" + "value" : "Manuel · %1$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Disables" + "value" : "ידני · %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kézi · %1$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Disattiva" + "value" : "Manuale · %1$@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "無効にする" + "value" : "手動 · %1$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Deaktiverer" + "value" : "Manuell · %1$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Uitschakelen" + "value" : "Handmatig · %1$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wyłącza" + "value" : "Ręcznie · %1$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Desativa" + "value" : "Manual · %1$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Dezactivează" + "value" : "Manual · %1$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Отключает" + "value" : "Вручную · %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ručne · %1$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Stänger av" + "value" : "Manuell · %1$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Devre Dışı" + "value" : "Manuel · %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вручну · %1$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Vô hiệu hóa" + "value" : "Thủ công · %1$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "禁用" + "value" : "手动 · %1$@" } } } }, - "Dismiss" : { - "comment" : "Default alert dismissal", + "Median" : { + "comment" : "Trends Daily pattern legend: the median glucose line", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "تجاهل" + "value" : "الوسيط" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Medián" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Afvis" + "value" : "Median" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Schließen" + "value" : "Median" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Ignorar" + "value" : "Mediana" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ohita" + "value" : "Mediaani" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Fermer" + "value" : "Médiane" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "בטל" + "value" : "חציון" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Medián" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Mediana" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "閉じる" + "value" : "中央値" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Avvis" + "value" : "Median" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Sluiten" + "value" : "Mediaan" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Rozumiem" + "value" : "Mediana" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Dispensar" + "value" : "Mediana" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Anulați" + "value" : "Mediană" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Отклонить" + "value" : "Медиана" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Medián" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Avfärda" + "value" : "Median" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Reddet" + "value" : "Medyan" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Медіана" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Từ bỏ" + "value" : "Trung vị" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "忽略" + "value" : "中位数" } } } }, - "Display colors for glucose" : { - "comment" : "Title for glucose coloring", + "Missing data error" : { + "comment" : "Reason Loop could not run: data it needs was missing", "localizations" : { - "de" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Farben für Blutzucker anzeigen" + "value" : "خطأ بيانات مفقودة" } }, - "fr" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Afficher les couleurs du glucose" + "value" : "Chyba chybějících dat" } }, - "nb" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Vis fargene for glukose." + "value" : "Fejl: manglende data" } }, - "nl" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Kleuren tonen voor glucose" + "value" : "Fehler: fehlende Daten" } }, - "ro" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Afișați culorile pentru glicemie" + "value" : "Error de datos faltantes" } }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "血糖颜色显示" - } - } - } - }, - "Display Control Options" : { - "comment" : "A section header in the live activity settings view, describing the control options for displaying glucose levels on the live activity screen.", - "isCommentAutoGenerated" : true, - "localizations" : { - "de" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Optionen zur Anzeigesteuerung" + "value" : "Tietoja puuttuu" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Options de contrôle de l'affichage" + "value" : "Erreur de données manquantes" } }, - "nb" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Vis kontrollopsjonene" + "value" : "שגיאת נתונים חסרים" } }, - "nl" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Weergaveopties" + "value" : "Hiányzó adat" } }, - "ro" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Afișați opțiunile de control" + "value" : "Errore dati mancanti" } }, - "zh-Hans" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "显示控制选项" + "value" : "データ欠落エラー" } - } - } - }, - "Display prediction in plot" : { - "comment" : "Title for prediction line toggle", - "localizations" : { - "de" : { + }, + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "BZ-Vorhersage im Diagramm anzeigen" + "value" : "Feil: manglende data" } }, - "fr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Afficher la prédiction dans le graphique" + "value" : "Fout: ontbrekende gegevens" } }, - "nb" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Vis prognosen i et diagram." + "value" : "Błąd brakujących danych" } }, - "nl" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Voorspelling tonen in grafiek" + "value" : "Erro de dados ausentes" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Afișați predicția în grafic" + "value" : "Eroare: date lipsă" } }, - "zh-Hans" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "在图中显示预测结果" + "value" : "Ошибка: нет данных" } - } - } - }, - "Display up to 4 items. Display label is in parentheses." : { - "comment" : "Indicates the maximum number of items that can be displayed and how the label for each item is shortened.", - "localizations" : { - "de" : { + }, + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Es werden bis zu 4 Elemente angezeigt. Die Bezeichnungen werden in Klammern angegeben." + "value" : "Chyba chýbajúcich údajov" } }, - "fr" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Affiche jusqu'à 4 éléments. La forme abrégée du libellé figure entre parenthèses." + "value" : "Data saknas" } }, - "nb" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Vis opp til 4 elementer. Visningsetiketten står i parantes." + "value" : "Eksik veri hatası" } }, - "nl" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Toon maximaal 4 items. Het label staat tussen haakjes." + "value" : "Помилка: немає даних" } }, - "ro" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Afișați până la 4 elemente. Eticheta de afișare este în paranteze." + "value" : "Lỗi thiếu dữ liệu" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "最多显示4个项目。括号内为显示标签。" + "value" : "数据缺失错误" } } } }, - "Don't Start" : { - "comment" : "Label for do not start preset action on scheduled preset reminder alert\nThe title of the notification action to not start a preset" - }, - "Done" : { + "Needs 10 days of CGM" : { + "comment" : "Trends GMI tile detail when fewer than 10 days of CGM data are available", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يحتاج إلى 10 أيام من CGM" + } + }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Hotovo" + "value" : "Vyžaduje 10 dní CGM" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Udført" + "value" : "Kræver 10 dages CGM" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Fertig" + "value" : "Benötigt 10 Tage CGM" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Completado" + "value" : "Requiere 10 días de CGM" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Valmis" + "value" : "Vaatii 10 päivää CGM-dataa" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Terminé" + "value" : "Nécessite 10 jours de CGM" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "בוצע" + "value" : "נדרשים 10 ימי CGM" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "10 nap CGM-adat szükséges" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Fine" + "value" : "Servono 10 giorni di CGM" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGMデータが10日分必要" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Ferdig" + "value" : "Krever 10 dager med CGM" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Voltooid" + "value" : "Vereist 10 dagen CGM" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Gotowe" + "value" : "Wymaga 10 dni CGM" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Requer 10 dias de CGM" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Gata" + "value" : "Necesită 10 zile de CGM" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Готово" + "value" : "Нужно 10 дней CGM" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Hotovo" + "value" : "Vyžaduje 10 dní CGM" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Färdig" + "value" : "Kräver 10 dagars CGM" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Tamamlandı" + "value" : "10 günlük CGM gerekir" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Потрібно 10 днів CGM" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cần 10 ngày dữ liệu CGM" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "完成" + "value" : "需要 10 天 CGM 数据" } } } }, - "Dose Summary" : { - "comment" : "Title for card to log dose", + "New Interface" : { + "comment" : "Title of the toggle for the redesigned interface", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الواجهة الجديدة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nové rozhraní" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Resumé af dosis" + "value" : "Ny brugerflade" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Dosisübersicht" + "value" : "Neue Oberfläche" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Resumen de dosis" + "value" : "Nueva interfaz" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Annoksen yhteenveto" + "value" : "Uusi käyttöliittymä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Résumé de la dose" + "value" : "Nouvelle interface" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "ממשק חדש" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Új felület" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Riepilogo della dose" + "value" : "Nuova interfaccia" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "新しいインターフェイス" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Dose sammendrag" + "value" : "Nytt grensesnitt" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Doseersamenvatting" + "value" : "Nieuwe interface" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Podsumowanie dawki" + "value" : "Nowy interfejs" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nova interface" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Rezumat doză" + "value" : "Interfață nouă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Сводная информация о дозе" + "value" : "Новый интерфейс" } }, - "sv" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Sammanfattning av dos" + "value" : "Nové rozhranie" } }, - "tr" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Doz Özeti" + "value" : "Nytt gränssnitt" } }, - "zh-Hans" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "注射量摘要" + "value" : "Yeni Arayüz" } - } - } - }, - "Dose Type" : { - - }, - "Dosing Strategy" : { - "comment" : "The title of the Dosing Strategy section in settings", - "localizations" : { - "da" : { + }, + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Dosingstrategi" + "value" : "Новий інтерфейс" } }, - "de" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Dosierungsstrategie" + "value" : "Giao diện mới" } }, - "es" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Estrategia de dosificación" + "value" : "新界面" } - }, - "fi" : { + } + } + }, + "Next 3 hours" : { + "comment" : "Title of the prediction chart card on the Now screen", + "localizations" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Annostelutapa" + "value" : "الساعات الثلاث القادمة" } }, - "fr" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Stratégie de Dosage" + "value" : "Příští 3 hodiny" } }, - "it" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Strategia di dosaggio" + "value" : "Næste 3 timer" } }, - "nb" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Doseringsstrategi" + "value" : "Nächste 3 Stunden" } }, - "nl" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Doseerstrategie" + "value" : "Próximas 3 horas" } }, - "pl" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Strategia dawkowania" + "value" : "Seuraavat 3 tuntia" } }, - "ro" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Strategie dozare" + "value" : "3 prochaines heures" } }, - "ru" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Режим ввода инсулина" + "value" : "3 השעות הבאות" } }, - "sv" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Strategi för insulinbehandling" + "value" : "Következő 3 óra" } }, - "tr" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Dozlama Stratejisi" + "value" : "Prossime 3 ore" } }, - "zh-Hans" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "剂量策略" + "value" : "今後3時間" } - } - } - }, - "Duration" : { - - }, - "Duration exceeds: %1$.1f hours" : { - "comment" : "Override error description: duration exceed max (1: max duration in hours).", - "localizations" : { - "da" : { + }, + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Varigheden overstiger: %1$.1f timer" + "value" : "Neste 3 timer" } }, - "de" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Dauer überschritten: %1$.1f Stunden" + "value" : "Komende 3 uur" } }, - "fr" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "La durée dépasse : %1$.1f heures" + "value" : "Następne 3 godziny" } }, - "he" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "משך זמן חורג: %1$.1f שעות" + "value" : "Próximas 3 horas" } }, - "it" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "La durata supera: %1$.1f ore" + "value" : "Următoarele 3 ore" } }, - "nb" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Varigheten overskrider: %1$.1f timer" + "value" : "Ближайшие 3 часа" } }, - "nl" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Duur overschrijdt: %1$.1f uur" + "value" : "Nasledujúce 3 hodiny" } }, - "pl" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Czas trwania przekracza: %1$.1f godzin" + "value" : "Kommande 3 timmar" } }, - "ro" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Durata depășește: %1$.1f ore" + "value" : "Sonraki 3 saat" } }, - "ru" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Продолжительность превышает: %1$.1f часов" + "value" : "Наступні 3 години" } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Süre aşıldı: %1$.1f saat" + "value" : "3 giờ tới" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "持续时间超过: %1$.1f 小时" + "value" : "未来 3 小时" } } } }, - "Duration: %@" : { - - }, - "During Preset" : { - "comment" : "Title of a picker view that allows the user to select whether they want to see the data for the preset or the preset plus 6 hours.", - "isCommentAutoGenerated" : true - }, - "During this kind of hard exercise, your body may release hormones that raise glucose. This is more common in the morning before eating." : { - - }, - "Each 1% time in range ≈ 15 minutes." : { - "comment" : "TIR helper" - }, - "Each 5% increase in range is clinically beneficial." : { - "comment" : "TIR suggestion" - }, - "Easy breath. Can carry on a conversation." : { - - }, - "Edit Food" : { - - }, - "Edit Preset" : { - - }, - "Edit presets" : { - - }, - "Enable\nBluetooth" : { - "comment" : "Message to the user to enable bluetooth", + "Next day" : { + "comment" : "Accessibility label for the day page button that steps forward a day", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "اليوم التالي" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Další den" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Aktiver \nbluetooth" + "value" : "Næste dag" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth einschalten" + "value" : "Nächster Tag" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Activar \nBluetooth" + "value" : "Día siguiente" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ota Bluetooth käyttöön" + "value" : "Seuraava päivä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Activer \nbluetooth" + "value" : "Jour suivant" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הפעל \n בלוטות'" + "value" : "היום הבא" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Következő nap" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Attiva\nBluetooth" + "value" : "Giorno successivo" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "翌日" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Aktiver blåtann" + "value" : "Neste dag" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth\nInschakelen" + "value" : "Volgende dag" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Włączać\nBluetooth" + "value" : "Następny dzień" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Próximo dia" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Activați\nBluetooth" + "value" : "Ziua următoare" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Включить\nBluetooth" + "value" : "Следующий день" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ďalší deň" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Aktivera Bluetooth" + "value" : "Nästa dag" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Etkinleştir\nBluetooth" + "value" : "Sonraki gün" } }, - "zh-Hans" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "启用蓝牙" + "value" : "Наступний день" } - } - } - }, - "Enable Glucose Based Partial Application" : { - "comment" : "Title for Glucose Based Partial Application toggle", - "localizations" : { - "da" : { + }, + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Aktivér Glucose Based Partial Application" + "value" : "Ngày sau" } }, - "de" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Glucose Based Partial Application aktivieren" + "value" : "后一天" } - }, - "fr" : { + } + } + }, + "Next period" : { + "comment" : "VoiceOver label for the Trends button that moves forward one period", + "localizations" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Permettre l'application partielle basée sur la glycémie" + "value" : "الفترة التالية" } }, - "it" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Attiva Applicazione parziale basata sulla glicemia (GBPA)" + "value" : "Další období" } }, - "nb" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Aktiver delvis anvendelse basert på glukose" + "value" : "Næste periode" } }, - "nl" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Glucose-afhankelijke gedeeltelijke toediening inschakelen" + "value" : "Nächster Zeitraum" } }, - "pl" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Włącz Algorytm adaptacyjny" + "value" : "Período siguiente" } }, - "ro" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Activați aplicarea parțială pe bază de glicemie" + "value" : "Seuraava jakso" } }, - "zh-Hans" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "启用基于血糖的部分输注" + "value" : "Période suivante" } - } - } - }, - "Enable Integral Retrospective Correction" : { - "comment" : "Title for Integral Retrospective Correction toggle", - "localizations" : { - "da" : { + }, + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Aktivér Integral Retrospective Correction" + "value" : "התקופה הבאה" } }, - "de" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Integral Retrospective Correction aktivieren" + "value" : "Következő időszak" } }, - "fr" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Activer la correction rétrospective intégrale" + "value" : "Periodo successivo" } }, - "it" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Attiva Correzione retrospettiva integrale (IRC)" + "value" : "次の期間" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Aktivere integrert retrospektiv korrigering" + "value" : "Neste periode" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Integrale retrospectieve correctie inschakelen" + "value" : "Volgende periode" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Włącz Integralną Korektę Retrospektywną (IRC)" + "value" : "Następny okres" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Próximo período" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Activați corecția retrospectivă integrală" + "value" : "Perioada următoare" } }, - "zh-Hans" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "启用整体回溯校正(IRC)" + "value" : "Следующий период" } - } - } - }, - "Enabled" : { - "comment" : "Title for enable live activity toggle", - "localizations" : { - "de" : { + }, + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Aktiviert" + "value" : "Ďalšie obdobie" } }, - "fr" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Activé" + "value" : "Nästa period" } }, - "nb" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Aktivert" + "value" : "Sonraki dönem" } }, - "nl" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Ingeschakeld" + "value" : "Наступний період" } }, - "ro" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Activat" + "value" : "Khoảng thời gian sau" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "启用" + "value" : "下一时段" } } } }, - "Enables" : { - "comment" : "The action hint of the workout mode toggle button when disabled", - "extractionState" : "stale", + "Night" : { + "comment" : "Appearance option that always uses dark mode Name of the dark app icon", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "تفعيل" + "value" : "ليل" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Noc" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Aktiverer" + "value" : "Nat" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Aktivieren" + "value" : "Nacht" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Permitir" + "value" : "Noche" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ottaa käyttöön" + "value" : "Yö" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Active" + "value" : "Nuit" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Enables" + "value" : "לילה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Éjszaka" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Attiva" + "value" : "Notte" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "有効にする" + "value" : "夜" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Aktiverer" + "value" : "Natt" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Inschakelen" + "value" : "Nacht" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Włącza" + "value" : "Noc" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Ativar" + "value" : "Noite" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Activați" + "value" : "Noapte" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Включает" + "value" : "Ночь" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Noc" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Slår på" + "value" : "Natt" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Etkin" + "value" : "Gece" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ніч" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Cho phép" + "value" : "Đêm" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "启用" + "value" : "夜" } } } }, - "End" : { - - }, - "End Preset" : { - - }, - "End Time" : { - - }, - "End Training?" : { - - }, - "Ensure that notifications are allowed and NOT silenced from %1$@." : { - "comment" : "Focus modes step 4 (1: appName)" - }, - "Enter a blood glucose from a meter for a recommended bolus amount." : { - "comment" : "Caption for bolus screen notice when glucose data is missing or stale", + "No active insulin or carbs on this day" : { + "comment" : "Day page placeholder when there was no insulin or carbs on board all day", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لا يوجد أنسولين أو كارب نشط في هذا اليوم" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "V tento den nebyl žádný aktivní inzulín ani sacharidy" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Indtast blodsukker fra en fingerprikmåling for at få anbefalet en bolusmængde." + "value" : "Intet aktivt insulin eller kulhydrater denne dag" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Gib einen Blutzuckerwert von einem Messgerät ein, um eine Bolusempfehlung zu bekommen." + "value" : "Kein aktives Insulin und keine aktiven KH an diesem Tag" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Ingrese una glucosa en sangre de un medidor por una cantidad recomendada de bolo." + "value" : "Sin insulina ni carbohidratos activos este día" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Syötä sormenpäästä mitattu glukoosiarvo saadaksesi suositellun bolusmäärän." + "value" : "Ei aktiivista insuliinia tai hiilihydraatteja tänä päivänä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Entrez la glycémie à partir d'un mesure manuelle pour le calcul du bolus." + "value" : "Aucune insuline ni glucides actifs ce jour-là" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הכנס קריאת מד סוכר כדי לקבל המלצה לכמות בולוס." + "value" : "אין אינסולין או פחמימות פעילים ביום זה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ezen a napon nem volt aktív inzulin vagy szénhidrát" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Inserirsci la glicemia capillare per ottenere la quantità di bolo consigliata." + "value" : "Nessuna insulina o carboidrati attivi in questo giorno" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "この日は残存インスリンも残存糖質もありません" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Legg inn blodsukkerverdi fra en måler for anbefalt bolusmengde." + "value" : "Ingen aktivt insulin eller karbohydrater denne dagen" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Verkrijg een bloedglucose waarde van een meter voor een aanbevolen bolus hoeveelheid." + "value" : "Geen actieve insuline of koolhydraten op deze dag" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wprowadź poziom glukozy z glukometru, aby uzyskać zalecaną wielkość bolusa." + "value" : "Brak aktywnej insuliny i węglowodanów tego dnia" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sem insulina ou carboidratos ativos neste dia" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Introduceți o glicemie luata cu glucometrul pentru o recomandare de bolus." + "value" : "Fără insulină sau carbohidrați activi în această zi" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Введите глюкозу крови, полученную с помощью глюкометра, для получения рекомендуемого количества болюса." + "value" : "В этот день не было активного инсулина или углеводов" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "V tento deň nebol žiadny aktívny inzulín ani sacharidy" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Du behöver mata in ett blodsockervärde för att få en rekommenderad bolus." + "value" : "Inget aktivt insulin eller kolhydrater denna dag" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Önerilen bolus miktarı için bir ölçüm cihazından bir kan şekeri girin." + "value" : "Bu gün aktif insülin veya karb yok" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Цього дня не було активного інсуліну чи вуглеводів" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có insulin hoặc Carbs còn hoạt động trong ngày này" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "请输入血糖仪测得的血糖值,以获取推荐的大剂量。" + "value" : "这一天没有活性胰岛素或碳水" } } } }, - "Enter Bolus" : { - "comment" : "Button text to begin entering a bolus", + "No CGM data" : { + "comment" : "Trends Average tile detail when the period has no glucose readings", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لا توجد بيانات CGM" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Žádná data CGM" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Indtast bolus" + "value" : "Ingen CGM-data" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus eingeben" + "value" : "Keine CGM-Daten" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Introducir bolo" + "value" : "Sin datos del CGM" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Syötä bolus" + "value" : "Ei CGM-dataa" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Entrer un Bolus" + "value" : "Aucune donnée CGM" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "אין נתוני CGM" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nincs CGM-adat" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Inserisci bolo" + "value" : "Nessun dato CGM" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGMデータなし" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Skriv inn bolus" + "value" : "Ingen CGM-data" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus invoeren" + "value" : "Geen CGM-gegevens" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wprowadź bolus" + "value" : "Brak danych CGM" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sem dados do CGM" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Introduceți bolusul" + "value" : "Fără date CGM" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Ввести болюс" + "value" : "Нет данных CGM" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Žiadne údaje CGM" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Ange Bolus" + "value" : "Inga CGM-data" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus girin" + "value" : "CGM verisi yok" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Немає даних CGM" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có dữ liệu CGM" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "输入大剂量" + "value" : "无 CGM 数据" } } } }, - "Enter Fingerstick Glucose" : { - "comment" : "Button text prompting manual glucose entry on bolus screen", + "No CGM data %1$@ – %2$@" : { + "comment" : "Chart note: a gap in glucose readings. (1: start time; 2: end time)", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لا توجد بيانات CGM %1$@ – %2$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Žádná data CGM %1$@ – %2$@" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Indtast fingerprikmåling" + "value" : "Ingen CGM-data %1$@ – %2$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Blutzucker eingeben" + "value" : "Keine CGM-Daten %1$@ – %2$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Ingrese la glucosa de punción en el dedo" + "value" : "Sin datos del CGM %1$@ – %2$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Syötä mitattu glukoosiarvo" + "value" : "Ei CGM-dataa %1$@ – %2$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Entrez la Glycémie capillaire" + "value" : "Aucune donnée CGM %1$@ – %2$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הכנס קריאת מד סוכר" + "value" : "אין נתוני CGM %1$@ – %2$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nincs CGM-adat %1$@ – %2$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Inserirsci glicemia capillare" + "value" : "Nessun dato CGM %1$@ – %2$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGMデータなし %1$@ – %2$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Legg inn blodsukkerverdi fra fingerstikk" + "value" : "Ingen CGM-data %1$@ – %2$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Vul vingerprikglucose in" + "value" : "Geen CGM-gegevens %1$@ – %2$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wprowadź glukozę z glukometru" + "value" : "Brak danych CGM %1$@ – %2$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sem dados do CGM %1$@ – %2$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Introduceți glicemia din deget" + "value" : "Fără date CGM %1$@ – %2$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Введите глюкозу по глюкометру" + "value" : "Нет данных CGM %1$@ – %2$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Žiadne údaje CGM %1$@ – %2$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Ange kapillärt blodsocker" + "value" : "Inga CGM-data %1$@ – %2$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Parmak Ucu KŞ Girin" + "value" : "CGM verisi yok %1$@ – %2$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Немає даних CGM %1$@ – %2$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có dữ liệu CGM %1$@ – %2$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "输入指尖血糖值" + "value" : "无 CGM 数据 %1$@ – %2$@" } } } }, - "Enter glucose safety limit" : { - "comment" : "The placeholder text instructing users to enter a glucose safety limit", + "No CGM data %1$@ – %2$@ and %3$@" : { + "comment" : "Chart note: the longest gap in glucose readings, plus the shorter ones. (1: start time; 2: end time; 3: number of shorter gaps, e.g. 2 shorter gaps)", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لا توجد بيانات CGM %1$@ – %2$@ و %3$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Žádná data CGM %1$@ – %2$@ a %3$@" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Indtast glucosesikkerhedsgrænse" + "value" : "Ingen CGM-data %1$@ – %2$@ og %3$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Glukosesicherheitsgrenze eingeben" + "value" : "Keine CGM-Daten %1$@ – %2$@ und %3$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Introduzca el límite de seguridad de glucosa" + "value" : "Sin datos del CGM %1$@ – %2$@ y %3$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Aseta glukoosin turvaraja" + "value" : "Ei CGM-dataa %1$@ – %2$@ ja %3$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Entrez la limite de sécurité du taux de glucose" + "value" : "Aucune donnée CGM %1$@ – %2$@ et %3$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הגדרת בטיחות" + "value" : "אין נתוני CGM %1$@ – %2$@ ו-%3$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nincs CGM-adat %1$@ – %2$@, és %3$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Inserisci limite di sicurezza glicemia" + "value" : "Nessun dato CGM %1$@ – %2$@ e %3$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGMデータなし %1$@ – %2$@(%3$@)" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Angi sikkerhetsgrensen for blodsukker" + "value" : "Ingen CGM-data %1$@ – %2$@ og %3$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Voer glucoseveiligheidslimiet in" + "value" : "Geen CGM-gegevens %1$@ – %2$@ en %3$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wprowadź bezpieczny limit glukozy" + "value" : "Brak danych CGM %1$@ – %2$@ oraz %3$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sem dados do CGM %1$@ – %2$@ e %3$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Introduceți limita de siguranță pentru glicemie" + "value" : "Fără date CGM %1$@ – %2$@ și %3$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Введите безопасный предел глюкозы" + "value" : "Нет данных CGM %1$@ – %2$@ и ещё %3$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Žiadne údaje CGM %1$@ – %2$@ a %3$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Ange tröskelvärde för blodsocker" + "value" : "Inga CGM-data %1$@ – %2$@ och %3$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "KŞ güvenlik limitini girin" + "value" : "CGM verisi yok %1$@ – %2$@ ve %3$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Немає даних CGM %1$@ – %2$@ і ще %3$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có dữ liệu CGM %1$@ – %2$@ và %3$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "输入血糖安全下限" + "value" : "无 CGM 数据 %1$@ – %2$@,%3$@" } } } }, - "Enter suspend threshold" : { - "comment" : "The placeholder text instructing users to enter a suspend treshold", - "extractionState" : "manual", + "No CGM data in the last 3 hours" : { + "comment" : "Empty prediction chart on the Now screen", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "أدخل حد التوقف" + "value" : "لا توجد بيانات CGM في آخر 3 ساعات" } }, - "da" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Indtast grænse for suspendering" + "value" : "Žádná data CGM za poslední 3 hodiny" } }, - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Grenzwert für Hypo-Abschaltung eingeben" + "value" : "Ingen CGM-data de seneste 3 timer" } }, - "en" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Enter suspend threshold" + "value" : "Keine CGM-Daten in den letzten 3 Stunden" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Ingrese nivel de suspensión" + "value" : "Sin datos del CGM en las últimas 3 horas" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Aseta pysäytysraja" + "value" : "Ei CGM-dataa viimeisen 3 tunnin aikana" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Entrez le seuil de suspension" + "value" : "Aucune donnée CGM ces 3 dernières heures" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Enter suspend threshold" + "value" : "אין נתוני CGM ב-3 השעות האחרונות" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nincs CGM-adat az elmúlt 3 órában" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Inserisci soglia di sospensione" + "value" : "Nessun dato CGM nelle ultime 3 ore" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "一時停止値を入力" + "value" : "過去3時間のCGMデータなし" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Angi suspenderingsgrense" + "value" : "Ingen CGM-data de siste 3 timene" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Voer drempel voor onderbreking in" + "value" : "Geen CGM-gegevens in de afgelopen 3 uur" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wprowadź próg zawieszenia pompy" + "value" : "Brak danych CGM z ostatnich 3 godzin" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Digite o limite de suspensão" + "value" : "Sem dados do CGM nas últimas 3 horas" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Introduceți limita pentru suspendare" + "value" : "Fără date CGM în ultimele 3 ore" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Введите рубеж приостановки" + "value" : "Нет данных CGM за последние 3 часа" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Žiadne údaje CGM za posledné 3 hodiny" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Ange tröskelvärde" + "value" : "Inga CGM-data de senaste 3 timmarna" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Askıya alma eşiğini girin" + "value" : "Son 3 saatte CGM verisi yok" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Немає даних CGM за останні 3 години" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Nhập ngưỡng tạm dừng" + "value" : "Không có dữ liệu CGM trong 3 giờ qua" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "输入暂停阈值" + "value" : "过去 3 小时无 CGM 数据" } } } }, - "Error Canceling Bolus" : { - "comment" : "The alert title for an error while canceling a bolus", + "No CGM data in this period" : { + "comment" : "Trends chart placeholder when the period has no glucose readings", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "خطأ في إلغاء الجرعة" + "value" : "لا توجد بيانات CGM في هذه الفترة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Žádná data CGM v tomto období" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Fejl ved annullering af bolus" + "value" : "Ingen CGM-data i denne periode" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Fehler beim Abbrechen des Bolus" + "value" : "Keine CGM-Daten in diesem Zeitraum" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Error de cancelación de bolo" + "value" : "Sin datos del CGM en este período" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Virhe boluksen kumoamisessa" + "value" : "Ei CGM-dataa tällä jaksolla" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Erreur lors de l’annulation du Bolus" + "value" : "Aucune donnée CGM sur cette période" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Error Canceling Bolus" + "value" : "אין נתוני CGM בתקופה זו" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nincs CGM-adat ebben az időszakban" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Errore durante l'annullamento del bolo" + "value" : "Nessun dato CGM in questo periodo" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "ボーラスのキャンセルにエラー" + "value" : "この期間のCGMデータなし" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Kunne ikke avbryte bolus" + "value" : "Ingen CGM-data i denne perioden" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Fout bij annuleren bolus" + "value" : "Geen CGM-gegevens in deze periode" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Błąd anulowania bolusa" + "value" : "Brak danych CGM w tym okresie" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Erro Cancelando Bolus" + "value" : "Sem dados do CGM neste período" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Eroare la anularea bolusului" + "value" : "Fără date CGM în această perioadă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Ошибка отмены болюса" + "value" : "Нет данных CGM за этот период" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Žiadne údaje CGM v tomto období" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Fel vid försök att avbryta bolus" + "value" : "Inga CGM-data under denna period" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus İptali Hatası" + "value" : "Bu dönemde CGM verisi yok" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Немає даних CGM за цей період" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Lỗi hủy liều Bolus" + "value" : "Không có dữ liệu CGM trong khoảng thời gian này" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "无法取消大剂量" + "value" : "此时段无 CGM 数据" } } } }, - "Error Exporting Logs" : { - "comment" : "Critical event log export error alert title", + "No CGM data on this day" : { + "comment" : "Chart note: there are no glucose readings for the whole day", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لا توجد بيانات CGM في هذا اليوم" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Žádná data CGM v tento den" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Der opstod en fejl under eksport af log" + "value" : "Ingen CGM-data denne dag" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Fehler beim Exportieren des Protokolls" + "value" : "Keine CGM-Daten an diesem Tag" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Error al exportar registros" + "value" : "Sin datos del CGM este día" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Virhe lokin viennissä" + "value" : "Ei CGM-dataa tänä päivänä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Erreur lors de l'exportation des journaux" + "value" : "Aucune donnée CGM ce jour-là" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "אין נתוני CGM ביום זה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nincs CGM-adat ezen a napon" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Errore durante l'esportazione dei registri" + "value" : "Nessun dato CGM in questo giorno" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "この日のCGMデータなし" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Feil ved eksport av logger" + "value" : "Ingen CGM-data denne dagen" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Fout bij exporteren logboeken" + "value" : "Geen CGM-gegevens op deze dag" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Błąd podczas eksportowania dzienników" + "value" : "Brak danych CGM tego dnia" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sem dados do CGM neste dia" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Eroare la exportarea jurnalelor" + "value" : "Fără date CGM în această zi" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Ошибка экспорта логов" + "value" : "Нет данных CGM за этот день" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Žiadne údaje CGM v tento deň" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Fel vid export av loggar" + "value" : "Inga CGM-data denna dag" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Günlükleri Dışa Aktarırken Hata" + "value" : "Bu günde CGM verisi yok" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Немає даних CGM за цей день" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có dữ liệu CGM trong ngày này" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "导出日志发生错误" + "value" : "这一天无 CGM 数据" } } } }, - "Error Resuming" : { - "comment" : "The alert title for a resume error", - "extractionState" : "manual", + "No CGM data yet today" : { + "comment" : "Chart note: there are no glucose readings so far today", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "خطأ في الاستئناف" + "value" : "لا توجد بيانات CGM اليوم حتى الآن" } }, - "da" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Fejl ved genoptagelse" + "value" : "Dnes zatím žádná data CGM" } }, - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Fehler beim Fortfahren" + "value" : "Ingen CGM-data endnu i dag" } }, - "en" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Error Resuming" + "value" : "Heute noch keine CGM-Daten" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Error Reanudando" + "value" : "Aún no hay datos del CGM hoy" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Virhe jatkamisessa" + "value" : "Ei vielä CGM-dataa tänään" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Erreur lors de la reprise" + "value" : "Aucune donnée CGM aujourd'hui pour l'instant" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Error Resuming" + "value" : "אין עדיין נתוני CGM היום" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ma még nincs CGM-adat" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Errore durante la ripresa" + "value" : "Ancora nessun dato CGM oggi" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "再開エラー" + "value" : "今日はまだCGMデータなし" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Feil ved gjenopptagelse" + "value" : "Ingen CGM-data ennå i dag" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Fout bij hervatten" + "value" : "Vandaag nog geen CGM-gegevens" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Błąd wznawiania" + "value" : "Dziś jeszcze brak danych CGM" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Erro ao Retomar" + "value" : "Ainda sem dados do CGM hoje" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Eroare în timpul reluării" + "value" : "Încă nu există date CGM azi" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Ошибка возобновления" + "value" : "Сегодня пока нет данных CGM" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Chyba pri obnovení" + "value" : "Dnes zatiaľ žiadne údaje CGM" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Fel vid återupptagande" + "value" : "Inga CGM-data än i dag" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Sürdürme Hatası" + "value" : "Bugün henüz CGM verisi yok" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Сьогодні ще немає даних CGM" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Lỗi khi đang tái thực hiện" + "value" : "Hôm nay chưa có dữ liệu CGM" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "恢复输注错误" + "value" : "今天尚无 CGM 数据" } } } }, - "Event" : { - - }, - "Event History" : { - "comment" : "Segmented button title for insulin delivery log event history", + "No gaps: Loop ran closed loop all through this period." : { + "comment" : "Trends Gaps list when Loop was in closed loop for the whole period", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لا فجوات: عمل Loop بالحلقة المغلقة طوال هذه الفترة." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Žádné výpadky: Loop běžel v uzavřené smyčce celé období." + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Hændelseshistorik" + "value" : "Ingen huller: Loop kørte lukket Loop i hele perioden." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Ereignisverlauf" + "value" : "Keine Lücken: Loop lief im gesamten Zeitraum im Closed Loop." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Historial de Eventos" + "value" : "Sin interrupciones: Loop funcionó en circuito cerrado durante todo el período." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Tapahtumahistoria" + "value" : "Ei katkoja: Loop toimi suljetulla säädöllä koko jakson ajan." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Historique des événements" + "value" : "Aucune interruption : Loop est resté en boucle fermée toute la période." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Event History" + "value" : "אין פערים: Loop פעל ב-Closed Loop לאורך כל התקופה." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nincs kimaradás: a Loop az egész időszakban zárt hurokban futott." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Cronologia degli eventi" + "value" : "Nessuna interruzione: Loop è rimasto in loop chiuso per tutto il periodo." } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Event History" + "value" : "中断なし:この期間中、Loopは常にクローズドループで動作しました。" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Hendelseshistorie" + "value" : "Ingen hull: Loop kjørte lukket Loop gjennom hele perioden." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Logboek" + "value" : "Geen onderbrekingen: Loop draaide de hele periode in actieve loop." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Historia zdarzeń" + "value" : "Brak przerw: Loop działał w pętli zamkniętej przez cały okres." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Event History" + "value" : "Sem interrupções: o Loop ficou em ciclo fechado durante todo o período." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Istoric evenimente" + "value" : "Fără întreruperi: Loop a rulat în buclă închisă toată perioada." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "История событий" + "value" : "Пропусков нет: Loop работал в замкнутом цикле весь период." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Žiadne výpadky: Loop bežal v uzavretej slučke celé obdobie." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Händelsehistorik" + "value" : "Inga luckor: Loop körde sluten loop under hela perioden." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Etkinlik Geçmişi" + "value" : "Boşluk yok: Loop bu dönem boyunca kapalı döngüde çalıştı." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Пропусків немає: Loop працював у замкнутому циклі весь період." } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Event History" + "value" : "Không gián đoạn: Loop chạy vòng lặp kín suốt khoảng thời gian này." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "历史事件" + "value" : "无中断:此时段内 Loop 一直以闭环运行。" } } } }, - "Eventually" : { - - }, - "Eventually %@" : { - "comment" : "The subtitle format describing eventual glucose. (1: localized glucose value description)", - "extractionState" : "stale", + "No insulin recorded in this period" : { + "comment" : "Trends Insulin per day chart placeholder when no insulin was delivered in the period", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "في النهاية %@" + "value" : "لم يُسجَّل أنسولين في هذه الفترة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "V tomto období nebyl zaznamenán žádný inzulín" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Med tiden %@" + "value" : "Intet insulin registreret i denne periode" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Voraussichtlich %@" + "value" : "Kein Insulin in diesem Zeitraum erfasst" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Eventualmente %@" + "value" : "No se registró insulina en este período" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ennuste %@" + "value" : "Ei kirjattua insuliinia tällä jaksolla" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Éventuellement %@" + "value" : "Aucune insuline enregistrée sur cette période" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Eventually %@" + "value" : "לא נרשם אינסולין בתקופה זו" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nincs rögzített inzulin ebben az időszakban" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Infine %@" + "value" : "Nessuna insulina registrata in questo periodo" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "予想 %@" + "value" : "この期間のインスリン記録なし" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Omsider %@" + "value" : "Ingen insulin registrert i denne perioden" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Uiteindelijk %@" + "value" : "Geen insuline vastgelegd in deze periode" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Docelowo %@" + "value" : "Brak zapisanej insuliny w tym okresie" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Eventualmente %@" + "value" : "Nenhuma insulina registrada neste período" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "În cele din urmă %@" + "value" : "Nicio insulină înregistrată în această perioadă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "В конечном итоге %@" + "value" : "За этот период инсулин не записан" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "V tomto období nebol zaznamenaný žiadny inzulín" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Förväntat %@" + "value" : "Inget insulin registrerat under denna period" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Nihai KŞ %@" + "value" : "Bu dönemde kaydedilmiş insülin yok" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "За цей період інсулін не записано" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Kết quả %@" + "value" : "Không có insulin được ghi lại trong khoảng thời gian này" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "最终 %@" + "value" : "此时段内无胰岛素记录" } } } }, - "Example" : { - - }, - "Example: Allow Notifications from %1$@" : { - "comment" : "Focus mode image 1 caption (1: appName)" - }, - "Example: Silence Notifications from other apps" : { - "comment" : "Focus mode image 2 caption" - }, - "Exceeds maximum allowed bolus in settings" : { - "comment" : "Bolus error description: bolus exceeds maximum bolus in settings.", + "No loop runs kept" : { + "comment" : "Trends Loop active tile detail when no Loop run history is available for the period", "localizations" : { - "da" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Overskrider den maksimalt tilladte bolus i indstillingerne" + "value" : "لا توجد تشغيلات Loop محفوظة" } }, - "de" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Überschreitet den maximal zulässigen Bolus in den Einstellungen" + "value" : "Žádné uložené běhy" } }, - "es" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Excede el bolo máximo permitido en la configuración" + "value" : "Ingen Loop-kørsler gemt" } }, - "fr" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Dépasse le bolus maximal défini dans les paramètres" + "value" : "Keine Loop-Durchläufe gespeichert" } }, - "it" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Supera il bolo massimo consentito nelle impostazioni" + "value" : "No se guardaron ejecuciones de Loop" } }, - "nb" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Overskrider maksimalt tillatt bolus i innstillingene" + "value" : "Ei tallennettuja Loop-ajoja" } }, - "nl" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Overschrijdt maximale toegestane bolus in instellingen" + "value" : "Aucune exécution de Loop conservée" } }, - "pl" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Przekracza maksymalny dozwolony bolus." + "value" : "לא נשמרו הרצות Loop" } }, - "ro" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Depășește bolusul maxim permis în setări" + "value" : "Nincs megőrzött Loop-futás" } }, - "ru" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Превышен максимально допустимый болюс в настройках" + "value" : "Nessuna esecuzione di Loop conservata" } }, - "tr" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Ayarlarda izin verilen maksimum bolusu aşıyor" + "value" : "Loop実行記録なし" } }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "超出设定的最大剂量限制" - } - } - } - }, - "Exceeds maximum allowed carbs" : { - "comment" : "Carb error description: carbs exceed maximum amount.", - "localizations" : { - "da" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Overskrider det maksimalt tilladte antal kulhydrater" + "value" : "Ingen Loop-kjøringer lagret" } }, - "de" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Überschreitet die maximal zulässigen Kohlenhydrate" + "value" : "Geen loop-runs bewaard" } }, - "es" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Supera el máximo permitido de carbohidratos definido en la configuración" + "value" : "Brak zapisanych cykli" } }, - "fr" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Dépasse le nombre de glucides maximal accepté" + "value" : "Nenhuma execução do Loop guardada" } }, - "it" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Supera i carboidrati massimi consentiti" + "value" : "Nu sunt păstrate rulări Loop" } }, - "nb" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Overskrider maksimalt tillatte karbohydrater" + "value" : "Нет сохранённых запусков" } }, - "nl" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Overschrijdt maximale toegestane koolhydraten" + "value" : "Žiadne uložené behy" } }, - "pl" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Przekracza maksymalną dopuszczalną ilość węglowodanów" + "value" : "Inga loopkörningar sparade" } }, - "ro" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Depășește maximul de carbohidrați permis" + "value" : "Saklanan Loop çalışması yok" } }, - "ru" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Превышено максимально допустимое количество углеводов" + "value" : "Немає збережених запусків" } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "İzin verilen maksimum karbonhidrat miktarını aşıyor" + "value" : "Không lưu lần chạy Loop nào" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "超过最大允许碳水化合物摄入量" + "value" : "无 Loop 运行记录" } } } }, - "Exceeds Maximum Bolus" : { - "comment" : "Alert title for a maximum bolus validation error", + "No loop runs recorded in this period" : { + "comment" : "Trends Loop status placeholder when there is no Loop run history for the period", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "يتجاوز أقصى جرعة" + "value" : "لم تُسجَّل تشغيلات Loop في هذه الفترة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "V tomto období nebyly zaznamenány žádné běhy Loop" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Overskrider maksimal bolus" + "value" : "Ingen Loop-kørsler registreret i denne periode" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Überschreitet den maximalen Bolus" + "value" : "Keine Loop-Durchläufe in diesem Zeitraum erfasst" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Excede bolo máximo" + "value" : "No se registraron ejecuciones de Loop en este período" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ylittää maksimiboluksen" + "value" : "Ei Loop-ajoja tällä jaksolla" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Dépasse le bolus maximal" + "value" : "Aucune exécution de Loop enregistrée sur cette période" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Exceeds Maximum Bolus" + "value" : "לא נרשמו הרצות Loop בתקופה זו" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nincs rögzített Loop-futás ebben az időszakban" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Supera il bolo massimo" + "value" : "Nessuna esecuzione di Loop registrata in questo periodo" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "ボーラス最大値を超えています" + "value" : "この期間のLoop実行記録なし" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Overskrider maksimal bolus" + "value" : "Ingen Loop-kjøringer registrert i denne perioden" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Overschrijdt maximale bolus" + "value" : "Geen loop-runs vastgelegd in deze periode" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Osiągnięto bolus maksymalny" + "value" : "Brak zapisanych cykli Loop w tym okresie" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Excede o Bolus Máximo" + "value" : "Nenhuma execução do Loop registrada neste período" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Depășește bolusul maxim" + "value" : "Nicio rulare Loop înregistrată în această perioadă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Превышает максимальный болюс" + "value" : "За этот период запуски Loop не записаны" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "V tomto období neboli zaznamenané žiadne behy Loop" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Överstiger maxbolusdos" + "value" : "Inga loopkörningar registrerade under denna period" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Maksimum Bolusu Aşıyor" + "value" : "Bu dönemde kaydedilmiş Loop çalışması yok" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "За цей період запуски Loop не записано" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Vượt quá liều Bolus tối đa" + "value" : "Không có lần chạy Loop nào được ghi lại trong khoảng thời gian này" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "超过大剂量上限" + "value" : "此时段内无 Loop 运行记录" } } } }, - "Exercise is a common reason to use a preset. Different kinds of exercise and their intensity levels can affect your glucose levels in different ways." : { - - }, - "Explosive sprints or bursts" : { - - }, - "Export Critical Event Logs" : { - "comment" : "The title of the export critical event logs in support", - "extractionState" : "stale", + "No reading" : { + "comment" : "Shown on the Now screen in place of the glucose value when there is no recent CGM reading", "localizations" : { - "da" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Eksportér kritisk begivenhedslog" + "value" : "لا توجد قراءة" } }, - "de" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Protokolle kritischer Ereignisse exportieren" + "value" : "Žádná hodnota" } }, - "es" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Exportar registros de eventos críticos" + "value" : "Ingen måling" } }, - "fi" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Vie tärkeiden tapahtumien loki" + "value" : "Kein Wert" } }, - "fr" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Exporter les journaux d'événements critiques" + "value" : "Sin lectura" } }, - "it" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Esporta registri eventi critici" + "value" : "Ei lukemaa" } }, - "nb" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Eksporter kritiske hendelseslogger" + "value" : "Aucune mesure" } }, - "nl" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Exporteer kritieke gebeurtenislogboek" + "value" : "אין קריאה" } }, - "pl" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Eksportuj dzienniki zdarzeń krytycznych" + "value" : "Nincs érték" } }, - "ro" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Exportați jurnalul de evenimente critice" + "value" : "Nessuna lettura" } }, - "ru" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Экспорт логов критических событий" + "value" : "測定値なし" } }, - "sv" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Exportera kritiska händelseloggar" + "value" : "Ingen måling" } }, - "tr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Kritik Olay Günlüklerini Dışa Aktarma" + "value" : "Geen waarde" } }, - "zh-Hans" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "导出关键事件日志" + "value" : "Brak odczytu" } - } - } - }, - "Export-%1$@" : { - "comment" : "The export file name formatted string (1: timestamp)", - "localizations" : { - "da" : { + }, + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Eksport-%1$@" + "value" : "Sem leitura" } }, - "de" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Export-%1$@" + "value" : "Nicio citire" } }, - "es" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Exportar- %1$@" + "value" : "Нет показаний" } }, - "fi" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Vienti-%1$@" + "value" : "Žiadna hodnota" } }, - "fr" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Export-%1$@" + "value" : "Inget värde" } }, - "it" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Esporta- %1$@" + "value" : "Okuma yok" } }, - "nb" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Eksporter- %1$@" + "value" : "Немає показників" } }, - "nl" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Exporteren: %1$@" + "value" : "Không có chỉ số" } }, - "pl" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Eksportuj- %1$@" + "value" : "无读数" } - }, - "ro" : { + } + } + }, + "Not enough days for a pattern: %1$@ of 5" : { + "comment" : "Trends Daily pattern footnote when fewer than 5 days have readings; the chart shows raw readings instead. (1: days with readings)", + "localizations" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Exportați-%1$@" + "value" : "أيام غير كافية لنمط: %1$@ من 5" } }, - "ru" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Экспорт -%1$@" + "value" : "Málo dní pro profil: %1$@ z 5" } }, - "sv" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Exportera-%1$@" + "value" : "Ikke nok dage til et mønster: %1$@ af 5" } }, - "tr" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Dışa Aktar- %1$@" + "value" : "Nicht genug Tage für ein Profil: %1$@ von 5" } }, - "zh-Hans" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "导出-%1$@" + "value" : "No hay suficientes días para un patrón: %1$@ de 5" } - } - } - }, - "External Insulin" : { - "comment" : "Dose type label for a manually-entered bolus" - }, - "Failed to Resume Insulin Delivery" : { - "comment" : "The alert title for a resume error", - "localizations" : { - "da" : { + }, + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Kunne ikke genoptage insulintilførsel" + "value" : "Liian vähän päiviä profiiliin: %1$@ / 5" } }, - "de" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Wiederaufnahme der Insulinabgabe fehlgeschlagen" + "value" : "Pas assez de jours pour un profil : %1$@ sur 5" } }, - "es" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "No se pudo reanudar la administración de insulina" + "value" : "אין מספיק ימים לדפוס: %1$@ מתוך 5" } }, - "fi" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Annostelun jatkaminen epäonnistui" + "value" : "Nincs elég nap a mintázathoz: %1$@ / 5" } }, - "fr" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Échec de la reprise de l’administration d’insuline" + "value" : "Giorni insufficienti per un andamento: %1$@ su 5" } }, - "it" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Impossibile riprendere l'erogazione dell'insulina" + "value" : "パターン作成には日数不足:%1$@ / 5日" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Kunne ikke gjenoppta insulinlevering" + "value" : "Ikke nok dager for et mønster: %1$@ av 5" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinetoediening hervatten mislukt" + "value" : "Niet genoeg dagen voor een patroon: %1$@ van 5" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Nie udało się wznowić podawania insuliny" + "value" : "Za mało dni na profil: %1$@ z 5" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dias insuficientes para um padrão: %1$@ de 5" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Eșec la reluarea administrării de insulină" + "value" : "Prea puține zile pentru un tipar: %1$@ din 5" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Не удалось возобновить подачу инсулина" + "value" : "Мало дней для профиля: %1$@ из 5" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Obnovenie podávania inzulínu zlyhalo" + "value" : "Málo dní pre profil: %1$@ z 5" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Misslyckades att återuppta insulintillförsel" + "value" : "För få dagar för ett mönster: %1$@ av 5" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "İnsülin İletimine Devam Edilemedi" + "value" : "Örüntü için yeterli gün yok: %1$@ / 5" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замало днів для профілю: %1$@ з 5" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không đủ ngày để tạo mẫu: %1$@ / 5" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "恢复胰岛素输注失败" + "value" : "天数不足以生成模式:%1$@ / 5" } } } }, - "Falling / Falling Quickly" : { - - }, - "Falling Slowly" : { - - }, - "FAQ about Alerts" : { - "comment" : "View title for how mute alerts work" - }, - "Favorite Food Insights" : { - - }, - "Favorite Foods" : { - "comment" : "Label for Favorite Foods icon in Settings\nTitle for Favorite Foods view", + "Nothing logged" : { + "comment" : "Logbook day with no entries", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لا شيء مسجَّل" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nic zaznamenáno" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Intet registreret" + } + }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Lieblingsessen" + "value" : "Nichts eingetragen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nada registrado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ei kirjauksia" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Aliments favoris" + "value" : "Aucune saisie" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "מאכלים אהובים" + "value" : "לא נרשם דבר" } }, - "nb" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Favorittmat" + "value" : "Nincs bejegyzés" } }, - "nl" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Favoriete voedingsmiddelen" + "value" : "Nessuna registrazione" } }, - "ro" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Mâncăruri preferate" + "value" : "記録なし" } }, - "zh-Hans" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "食物库" + "value" : "Ingenting registrert" } - } - } - }, - "FAVORITE FOODS" : { - "comment" : "The section title for Carb entry screen where Favorite Foods can be selected", - "localizations" : { - "da" : { + }, + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "FAVORIT-MAD" + "value" : "Niets vastgelegd" } }, - "de" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Favorisiertes Essen" + "value" : "Brak wpisów" } }, - "fr" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "ALIMENTS FAVORIS" + "value" : "Nada registrado" } }, - "he" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "מאכלים אהובים" + "value" : "Nimic înregistrat" } }, - "it" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "CIBI SALVATI" + "value" : "Нет записей" } }, - "nb" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "FAVORITTMAT" + "value" : "Nič zaznamenané" } }, - "nl" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "FAVORIETE ETEN" + "value" : "Inget loggat" } }, - "pl" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "ULUBIONE JEDZENIE" + "value" : "Kayıt yok" } }, - "ro" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "MÂNCĂRURI PREFERATE" + "value" : "Немає записів" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có ghi chép" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "食物库" + "value" : "无记录" } } } }, - "Fiasp" : { - "comment" : "Title of insulin model preset", - "extractionState" : "manual", + "Nothing logged in the last 7 days." : { + "comment" : "Logbook empty state when there are no entries at all", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "لا شيء مسجَّل في آخر 7 أيام." } }, - "da" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "Za posledních 7 dní nic zaznamenáno." } }, - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "Intet registreret de seneste 7 dage." } }, - "en" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "In den letzten 7 Tagen nichts eingetragen." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "Nada registrado en los últimos 7 días." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "Ei kirjauksia viimeisen 7 päivän aikana." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "Aucune saisie ces 7 derniers jours." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "לא נרשם דבר ב-7 הימים האחרונים." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nincs bejegyzés az elmúlt 7 napban." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "Nessuna registrazione negli ultimi 7 giorni." } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "過去7日間の記録はありません。" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "Ingenting registrert de siste 7 dagene." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "Niets vastgelegd in de afgelopen 7 dagen." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "Brak wpisów z ostatnich 7 dni." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "Nada registrado nos últimos 7 dias." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "Nimic înregistrat în ultimele 7 zile." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "Нет записей за последние 7 дней." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Za posledných 7 dní nič zaznamenané." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "Inget loggat de senaste 7 dagarna." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "Son 7 günde kayıt yok." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Немає записів за останні 7 днів." } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Fiasp" + "value" : "Không có ghi chép nào trong 7 ngày qua." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "费雅普(Fiasp)" + "value" : "过去 7 天没有记录。" } } } }, - "Filter" : { - - }, - "Filtered by:" : { - - }, - "Fingerstick Glucose" : { - "comment" : "Label for manual glucose entry row on bolus screen", + "Nothing to show for this filter" : { + "comment" : "Logbook day with no entries matching the selected filter", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لا شيء لعرضه لهذا الفلتر" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pro tento filtr nic k zobrazení" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Fingerprik blodsukker" + "value" : "Intet at vise for dette filter" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Blutzucker" + "value" : "Keine Einträge für diesen Filter" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosa de punción en el dedo" + "value" : "Nada que mostrar con este filtro" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Mitattu glukoosi" + "value" : "Ei näytettävää tällä suodattimella" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Glucose capilaire" + "value" : "Rien à afficher pour ce filtre" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "קריאת מד סוכר" + "value" : "אין מה להציג עבור מסנן זה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nincs megjeleníthető elem ehhez a szűrőhöz" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia capillare" + "value" : "Niente da mostrare per questo filtro" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "このフィルタに該当する項目はありません" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Blodsukkerverdi fra fingerstikk" + "value" : "Ingenting å vise for dette filteret" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Vingerprikglucose" + "value" : "Niets te tonen voor dit filter" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Glukoza z krwi" + "value" : "Brak wpisów dla tego filtra" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nada para mostrar neste filtro" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemie din deget" + "value" : "Nimic de afișat pentru acest filtru" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Глюкоза по глюкометру" + "value" : "Нет записей для этого фильтра" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pre tento filter nič na zobrazenie" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Kapillärt blodsocker" + "value" : "Inget att visa för detta filter" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Parmak Ucu KŞ" + "value" : "Bu filtre için gösterilecek bir şey yok" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Немає записів для цього фільтра" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Không có mục nào cho bộ lọc này" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "指尖血糖" + "value" : "此筛选条件下没有内容" } } } }, - "Fires once when Loop's forecast first dips below the level inside this horizon. Re-arms when the forecast clears." : { - "comment" : "A footer for the \"Horizon\" section of a glucose alert detail view, explaining how the horizon works.", - "isCommentAutoGenerated" : true - }, - "Fix now by turning Critical Alerts and Time Sensitive Notifications ON." : { - "comment" : "Both Critical Alerts and Time Sensitive Notifications disabled banner body" - }, - "Fix now by turning Critical Alerts ON." : { - "comment" : "Critical alerts disabled banner body" - }, - "Fix now by turning Notifications and Critical Alerts ON." : { - "comment" : "Both Critical Alerts and Notifications disabled banner body" - }, - "Fix now by turning Notifications ON." : { - "comment" : "Notifications disabled banner body" - }, - "Fix now by turning Notifications, Critical Alerts and Time Sensitive Notifications ON." : { - "comment" : "Secondary text for alerts disabled warning, which appears on the main status screen.", - "extractionState" : "stale", + "Now" : { + "comment" : "Title at the top of the Now screen, showing current glucose and Loop status Title of the Now tab in the redesigned interface, showing current glucose and Loop status", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الآن" + } + }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Opravit nyní zapnutím Oznámení, Kritických upozornění a Časově citlivých oznámení." + "value" : "Nyní" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Løs nu ved at slå meddelelser, kritiske advarsler og tidsfølsomme meddelelser TIL." + "value" : "Nu" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Behebe dies jetzt, indem Du Benachrichtigungen, kritische Alarme und zeitkritische Benachrichtigungen einschaltest." + "value" : "Jetzt" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Soluciónalo ahora activando Notificaciones, Alertas Críticas y Notificaciones Sensibles al Tiempo." + "value" : "Ahora" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nyt" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Corrigez-le maintenant en activant les notifications, les alertes critiques et les notifications urgentes." + "value" : "Maintenant" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "תקן כעת ע״י הפעלת התראות, התראות קריטיות והודעות רגישות לזמן" + "value" : "עכשיו" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Most" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Risolvilo ora attivando notifiche, avvisi critici e notifiche sensibili al tempo." + "value" : "Ora" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "現在" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Fiks nå ved å slå PÅ varsler, kritiske varsler og tidssensitive varsler." + "value" : "Nå" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Los nu op door Meldingen, Kritieke meldingen en Tijdgevoelige meldingen AAN te zetten." + "value" : "Nu" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Napraw teraz, włączając powiadomienia, alerty krytyczne i powiadomienia zależne od czasu." + "value" : "Teraz" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Agora" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Remediați acum activând Notificări, Alerte critice și Notificări urgente." + "value" : "Acum" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Исправьте ситуацию, включив уведомления, критические оповещения и уведомления, чувствительные к времени." + "value" : "Сейчас" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Teraz" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nu" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bildirimleri, Kritik Uyarıları ve Zamana Duyarlı Bildirimleri AÇIK konuma getirerek şimdi düzeltin." + "value" : "Şimdi" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Зараз" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiện tại" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "请立即开启“通知”、“重要警报”和“时效性通知”以解决问题。" + "value" : "当前" } } } }, - "Fix now by turning Time Sensitive Notifications ON." : { - "comment" : "Time sensitive notifications disabled banner body" - }, - "Food Type" : { - "comment" : "Label for food type entry on add favorite food screen", + "now" : { + "comment" : "Prediction chart x-axis label marking the current time", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Food Type" + "value" : "الآن" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "nyní" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Madtype" + "value" : "nu" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Essenstyp" + "value" : "jetzt" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Food Type" + "value" : "ahora" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Food Type" + "value" : "nyt" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Type d'aliment" + "value" : "maint." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "סוג מאכל" + "value" : "עכשיו" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "most" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Tipo cibo" + "value" : "ora" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "現在" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Type mat" + "value" : "nå" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Type voeding" + "value" : "nu" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Rodzaj żywności" + "value" : "teraz" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Food Type" + "value" : "agora" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Tip aliment" + "value" : "acum" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Тип еды" + "value" : "сейчас" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Typ jedla" + "value" : "teraz" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Typ av mat" + "value" : "nu" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Food Type" + "value" : "şimdi" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "зараз" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Loại thực phẩm" + "value" : "bây giờ" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "食物类型" + "value" : "现在" } } } }, - "For %1$@" : { - "comment" : "The format string used to describe a finite workout targets duration", - "extractionState" : "stale", + "Open loop / manual" : { + "comment" : "Trends Loop status: time closed loop was switched off", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "لمدة %1$@" + "value" : "حلقة مفتوحة / يدوي" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otevřená smyčka / ručně" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "I %1$@" + "value" : "Åbent Loop / manuel" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Für %1$@" + "value" : "Open Loop / manuell" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Por %1$@" + "value" : "Circuito abierto / manual" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ ajaksi" + "value" : "Avoin säätö / manuaalinen" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Pendant %1$@" + "value" : "Boucle ouverte / manuel" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "For %1$@" + "value" : "Open Loop / ידני" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nyitott hurok / kézi" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Per %1$@" + "value" : "Loop aperto / manuale" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@につき" + "value" : "オープンループ/手動" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "For %1$@" + "value" : "Åpen Loop / manuell" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Voor %1$@" + "value" : "Open loop / handmatig" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Do %1$@" + "value" : "Pętla otwarta / ręcznie" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Por %1$@" + "value" : "Ciclo aberto / manual" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Pentru %1$@" + "value" : "Buclă deschisă / manual" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "В течение %1$@" + "value" : "Открытый цикл / вручную" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otvorená slučka / ručne" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "I %1$@" + "value" : "Öppen loop / manuell" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ için" + "value" : "Açık döngü / manuel" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Відкритий цикл / вручну" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "For %1$@" + "value" : "Vòng lặp mở / thủ công" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "对于 %1$@" + "value" : "开环 / 手动" } } } }, - "For activities that raise your risk of going low, you can set a higher temporary correction range." : { - - }, - "For mixed-intensity activity:" : { - - }, - "For safety purposes, you should allow Critical Alerts, Time Sensitive and Notification Permissions (non-critical alerts) on your device to continue using %1$@ and cannot turn off individual alarms." : { - "comment" : "Description text for silencing time sensitive and non-critical alerts (1: app name)", - "extractionState" : "stale", + "Open loop · %1$@" : { + "comment" : "Status pill on the Now screen: closed loop is off (Loop recommends only) and Loop last ran this long ago. (1: duration, e.g. 3m)", "localizations" : { - "da" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Af sikkerhedsmæssige årsager bør du tillade, at Kritiske advarsler, Tidsfølsomme og Meddelelser (ikke-kritiske advarsler) på din enhed fortsætter med at bruge %1$@ og ikke kan slå individuelle alarmer fra." + "value" : "حلقة مفتوحة · %1$@" } }, - "de" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Aus Sicherheitsgründen solltest Du kritische Warnungen, zeitkritische Warnungen und Benachrichtigungsberechtigungen (nicht kritische Warnungen) auf Deinem Gerät zulassen, um %1$@ weiterhin verwenden zu können." + "value" : "Otevřená smyčka · %1$@" } }, - "fr" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Pour des raisons de sécurité, vous devriez autoriser les alertes critiques, les alertes urgentes et les autorisations de notification (alertes non-critiques) sur votre appareil pour continuer à utiliser %1$@ si vous ne pouvez pas désactiver les alarmes individuelles." + "value" : "Åbent Loop · %1$@" } }, - "it" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Per motivi di sicurezza, dovresti consentire gli avvisi critici, gli avvisi sensibili al tempo e le autorizzazioni di notifica (avvisi non critici) sul tuo dispositivo per continuare a utilizzare %1$@ e non puoi disattivare i singoli allarmi." + "value" : "Open Loop · %1$@" } }, - "nb" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Av sikkerhetshensyn bør du tillate at kritiske varsler, tidssensitive varsler og varslingstillatelser (ikke-kritiske varsler) på enheten din fortsetter å bruke %1$@ og ikke kan slå av individuelle alarmer." + "value" : "Circuito abierto · %1$@" } }, - "nl" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Voor je veiligheid moet je Kritieke meldingen, Tijdgevoelige meldingen en Meldingen (niet-kritieke waarschuwingen) op je apparaat toestaan om %1$@ te blijven gebruiken. Je kunt afzonderlijke alarmen niet uitschakelen." + "value" : "Avoin säätö · %1$@" } }, - "pl" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ze względów bezpieczeństwa należy zezwolić na alerty krytyczne, alerty zależne od czasu i uprawnienia do powiadomień (alerty niekrytyczne) na swoim urządzeniu na dalsze korzystanie z %1$@ i nie można wyłączać poszczególnych alarmów." + "value" : "Boucle ouverte · %1$@" } }, - "ro" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "În scopuri de siguranță, trebuie să permiteți alertele critice, urgente și permisiunile de notificare (alerte necritice) pe dispozitivul dumneavoastră pentru a continua să utilizați %1$@ și nu puteți dezactiva alarmele individuale." + "value" : "Open Loop · %1$@" } }, - "ru" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "В целях безопасности вам следует разрешить критические оповещения, срочные оповещения и уведомления (некритические оповещения) на вашем устройстве, чтобы продолжить использовать %1$@ и не отключать отдельные тревоги." + "value" : "Nyitott hurok · %1$@" } }, - "zh-Hans" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "出于安全考虑,您应允许设备上的“关键警报”、“时效性警报”和“通知权限”(非关键警报),以便继续使用 %1$@ ,且无法关闭单个警报。" + "value" : "Loop aperto · %1$@" } - } - } - }, - "For some people, routine chores and everyday activities can affect glucose levels similar to exercise." : { - - }, - "For these activities, consider setting your insulin needs to **less than 100%**." : { - - }, - "For these activities, consider setting your insulin needs to **more than 100%**." : { - - }, - "Forecasted blood glucose may still be higher than target range." : { - "localizations" : { - "da" : { + }, + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Forventet blodsukker kan stadig være højere end målområdet." + "value" : "オープンループ · %1$@" } }, - "de" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Der prognostizierte Blutzucker kann immer noch über dem Zielbereich liegen." + "value" : "Åpen Loop · %1$@" } }, - "es" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "La glucosa en sangre pronosticada aún puede estar por encima del rango objetivo." + "value" : "Open loop · %1$@" } }, - "fr" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Le taux de glucose sanguin prévu pourrait quand-même être plus élevé que la plage cible." + "value" : "Pętla otwarta · %1$@" } }, - "he" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "רמת הסוכר הצפויה עשויה עדיין להיות גבוהה מטווח היעד." + "value" : "Ciclo aberto · %1$@" } }, - "it" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "La glicemia prevista potrebbe essere più elevata di quella impostata come obiettivo." + "value" : "Buclă deschisă · %1$@" } }, - "nb" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Forventet blodsukker kan fortsatt være høyere enn målområdet." + "value" : "Открытый цикл · %1$@" } }, - "nl" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Voorspelde bloedglucose kan nog steeds hoger zijn dan het streefbereik." + "value" : "Otvorená slučka · %1$@" } }, - "pl" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Prognozowany poziom glukozy we krwi może nadal być wyższy niż zakres docelowy." + "value" : "Öppen loop · %1$@" } }, - "ro" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia prognozată poate fi în continuare mai mare decât intervalul țintă." + "value" : "Açık döngü · %1$@" } }, - "ru" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Прогнозируемый уровень глюкозы в крови все еще может быть выше целевого диапазона." + "value" : "Відкритий цикл · %1$@" } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Öngörülen KŞ, hala hedef aralıktan yüksek olabilir." + "value" : "Vòng lặp mở · %1$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "预测的血糖值可能仍高于目标范围。" + "value" : "开环 · %1$@" } } } }, - "Forecasted Glucose" : { - "comment" : "Title for forecast explanation modal on bolus view", + "Open loop · not run yet" : { + "comment" : "Status pill on the Now screen: closed loop is off and Loop has never completed", "localizations" : { - "da" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Forventet blodsukker" + "value" : "حلقة مفتوحة · لم يعمل بعد" } }, - "de" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Prognostizierte Blutzucker" + "value" : "Otevřená smyčka · zatím neproběhla" } }, - "es" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosa pronosticada" + "value" : "Åbent Loop · ikke kørt endnu" } }, - "fr" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Glycémie prévue" + "value" : "Open Loop · noch nicht gelaufen" } }, - "he" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "סוכר צפוי" + "value" : "Circuito abierto · aún no se ha ejecutado" } }, - "it" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia prevista" + "value" : "Avoin säätö · ei vielä ajettu" } }, - "nb" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Forventet blodsukker" + "value" : "Boucle ouverte · pas encore exécuté" } }, - "nl" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Voorspelde glucose" + "value" : "Open Loop · טרם רץ" } }, - "pl" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Prognozowana glukoza" + "value" : "Nyitott hurok · még nem futott" } }, - "ro" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia prognozată" + "value" : "Loop aperto · non ancora eseguito" } }, - "ru" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Прогнозируемый уровень глюкозы" + "value" : "オープンループ · 未実行" } }, - "tr" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Tahmini KŞ" + "value" : "Åpen Loop · ikke kjørt ennå" } }, - "zh-Hans" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "预测血糖值" + "value" : "Open loop · nog niet gedraaid" } - } - } - }, - "Frequently asked questions about alerts" : { - "comment" : "Label for link to see frequently asked questions", - "extractionState" : "stale", - "localizations" : { - "da" : { + }, + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Ofte stillede spørgsmål om påmindelser" + "value" : "Pętla otwarta · jeszcze nie działała" } }, - "de" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Häufig gestellte Fragen zu Benachrichtigungen" + "value" : "Ciclo aberto · ainda não executou" } }, - "fr" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Foire aux questions sur les alertes" + "value" : "Buclă deschisă · nu a rulat încă" } }, - "it" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Domande frequenti sugli avvisi" + "value" : "Открытый цикл · ещё не запускался" } }, - "nb" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Ofte stilte spørsmål om varsler" + "value" : "Otvorená slučka · ešte neprebehla" } }, - "nl" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Veelgestelde vragen over waarschuwingen" + "value" : "Öppen loop · inte körd än" } }, - "pl" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Często zadawane pytania dotyczące alertów" + "value" : "Açık döngü · henüz çalışmadı" } }, - "ro" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Întrebări frecvente privind alertele" + "value" : "Відкритий цикл · ще не запускався" } }, - "ru" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Часто задаваемые вопросы об оповещениях" + "value" : "Vòng lặp mở · chưa chạy" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "关于警报的常见问题" + "value" : "开环 · 尚未运行" } } } }, - "Full out effort. No conversation possible." : { - - }, - "g" : { - "comment" : "The short unit display string for grams", - "extractionState" : "stale", + "Opens carb absorption" : { + "comment" : "VoiceOver hint for the COB tile on the Now screen", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "يفتح امتصاص الكارب" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otevře vstřebávání sacharidů" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Åbner kulhydratoptagelse" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Öffnet die KH-Aufnahme" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Abre la absorción de carbohidratos" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Avaa hiilihydraattien imeytymisen" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Ouvre l'absorption des glucides" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "פותח ספיגת פחמימות" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Megnyitja a szénhidrát-felszívódást" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Apre l'assorbimento dei carboidrati" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "糖質吸収を開きます" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Åpner karbohydratabsorpsjon" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Opent koolhydraatopname" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Otwiera wchłanianie węglowodanów" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Abre a absorção de carboidratos" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Deschide absorbția carbohidraților" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "г" + "value" : "Открывает усвоение углеводов" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Otvorí vstrebávanie sacharidov" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Öppnar kolhydratabsorption" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "gr" + "value" : "Karb emilimini açar" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Відкриває засвоєння вуглеводів" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Mở hấp thu Carbs" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "克" + "value" : "打开碳水吸收" } } } }, - "Get help with Alert Permissions" : { - "comment" : "Get help with Alert Permissions support button text", - "extractionState" : "stale", + "Opens CGM settings" : { + "comment" : "VoiceOver hint for the CGM status pill and CGM notice on the Now screen", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يفتح إعدادات CGM" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otevře nastavení CGM" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Få hjælp til advarselstilladelser" + "value" : "Åbner CGM-indstillinger" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Hol Dir Hilfe zu den Benachrichtigungsberechtigungen" + "value" : "Öffnet die CGM-Einstellungen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Ayuda con los Permisos de Alerta" + "value" : "Abre los ajustes del CGM" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avaa CGM-asetukset" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Obtenir de l'aide avec les autorisations d'alerte" + "value" : "Ouvre les paramètres du CGM" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "פותח הגדרות CGM" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Megnyitja a CGM beállításait" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Ottieni assistenza per le autorizzazioni" + "value" : "Apre le impostazioni CGM" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM設定を開きます" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Få hjelp med varslingsinnstillinger" + "value" : "Åpner CGM-innstillinger" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Krijg hulp bij toestemming meldingen" + "value" : "Opent CGM-instellingen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Uzyskaj pomoc dotyczącą uprawnień alertów" + "value" : "Otwiera ustawienia CGM" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abre as configurações do CGM" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Obțineți ajutor cu permisiunile de alertă" + "value" : "Deschide setările CGM" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Справка по разрешениям на оповещения" + "value" : "Открывает настройки CGM" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otvorí nastavenia CGM" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Öppnar CGM-inställningar" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Uyarı İzinleri ile ilgili yardım alın" + "value" : "CGM ayarlarını açar" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Відкриває налаштування CGM" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mở cài đặt CGM" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "获取有关警报权限的帮助" + "value" : "打开 CGM 设置" } } } }, - "Get help with iOS Permissions" : { - "comment" : "Get help with iOS Permissions support button text" - }, - "Glucose" : { - "comment" : "Health access row label for glucose\nThe title of the glucose and prediction graph\nTitle for predicted glucose chart on bolus screen", + "Opens insulin delivery history" : { + "comment" : "VoiceOver hint for the IOB tile on the Now screen", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "قراءات السكر" + "value" : "يفتح سجل توصيل الأنسولين" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Glukóza" + "value" : "Otevře historii podávání inzulínu" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Glukose" + "value" : "Åbner historik for insulintilførsel" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Blutzucker" + "value" : "Öffnet den Verlauf der Insulinabgabe" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosa" + "value" : "Abre el historial de administración de insulina" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Glukoosi" + "value" : "Avaa insuliinin annosteluhistorian" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Glycémie" + "value" : "Ouvre l'historique d'administration de l'insuline" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Glucose" + "value" : "פותח היסטוריית מתן אינסולין" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Megnyitja az inzulinadagolási előzményeket" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia" + "value" : "Apre la cronologia di erogazione insulina" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "血糖値" + "value" : "インスリン注入履歴を開きます" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Blodsukker" + "value" : "Åpner historikk for insulinlevering" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Glucose" + "value" : "Opent geschiedenis van insulinetoediening" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Glukoza" + "value" : "Otwiera historię podaży insuliny" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Glicose" + "value" : "Abre o histórico de entrega de insulina" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia" + "value" : "Deschide istoricul administrării insulinei" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Глюкоза" + "value" : "Открывает историю подачи инсулина" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Glykémia" + "value" : "Otvorí históriu podávania inzulínu" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Glukos" + "value" : "Öppnar historik för insulindosering" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Kan şekeri" + "value" : "İnsülin iletim geçmişini açar" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Відкриває історію подачі інсуліну" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Đường huyết" + "value" : "Mở lịch sử tiêm insulin" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "血糖" + "value" : "打开胰岛素输注历史" } } } }, - "Glucose Alerts" : { - "comment" : "A link in the alert management screen that takes the user to the glucose alert settings view.", - "isCommentAutoGenerated" : true - }, - "Glucose Based Partial Application" : { - "comment" : "Title for glucose based partial application experiment description\nTitle of glucose based partial application experiment", + "Opens Loop's prediction breakdown" : { + "comment" : "VoiceOver hint for the prediction card on the Now screen", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يفتح تفاصيل توقع Loop" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otevře rozpis predikce Loop" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Glucose Based Partial Application" + "value" : "Åbner opdelingen af Loops forudsigelse" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Teilweise Anwendung auf Glukosebasis" + "value" : "Öffnet die Aufschlüsselung der Loop-Vorhersage" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abre el desglose de la predicción de Loop" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avaa Loopin ennusteen erittelyn" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Application partielle basée sur la glycémie" + "value" : "Ouvre le détail de la prédiction de Loop" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "פותח פירוט תחזית Loop" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Megnyitja a Loop előrejelzésének részleteit" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Applicazione parziale basata sulla glicemia (GBPA)" + "value" : "Apre il dettaglio della previsione di Loop" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopの予測の内訳を開きます" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Partiell anvendelse basert på glukosenivå" + "value" : "Åpner oppdelingen av Loops prognose" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Glucose-afhankelijke gedeeltelijke toediening" + "value" : "Opent de onderbouwing van de Loop-voorspelling" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Algorytm adaptacyjny" + "value" : "Otwiera szczegóły prognozy Loop" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Abre o detalhamento da previsão do Loop" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Aplicare parțială pe bază de glicemie" + "value" : "Deschide detalierea predicției Loop" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Открывает разбор прогноза Loop" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otvorí rozpis predikcie Loop" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Öppnar detaljer om Loops prognos" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop tahmin dökümünü açar" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Відкриває розбір прогнозу Loop" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mở chi tiết dự đoán của Loop" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "基于血糖的部分输注" + "value" : "打开 Loop 预测明细" } } } }, - "Glucose Change Chart" : { - - }, - "Glucose data is %1$@ old" : { - "comment" : "The error message when glucose data is too old to be used. (1: glucose data age in minutes)", + "Opens pump settings" : { + "comment" : "VoiceOver hint for the pump status pill and pump notice on the Now screen", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "قراءات السكر منذ %1$@ " + "value" : "يفتح إعدادات المضخة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otevře nastavení pumpy" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Blodsukkerdata er %1$@ gamle" + "value" : "Åbner pumpeindstillinger" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Blutzuckerdaten sind %1$@ alt" + "value" : "Öffnet die Pumpeneinstellungen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Los datos de glucosa son de hace %1$@ " + "value" : "Abre los ajustes de la microinfusadora" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Glukoositieto on %1$@ vanha" + "value" : "Avaa pumpun asetukset" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Les dernières données de glucose remontent à %1$@" + "value" : "Ouvre les paramètres de la pompe" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Glucose data is %1$@ old" + "value" : "פותח הגדרות משאבה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Megnyitja a pumpa beállításait" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "I dati sulla glicemia sono vecchi di %1$@" + "value" : "Apre le impostazioni della pompa" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "血糖データは %1$@ 前のものです" + "value" : "ポンプ設定を開きます" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Blodsukkerdata er %1$@ gammel" + "value" : "Åpner pumpeinnstillinger" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosegegevens zijn %1$@ oud" + "value" : "Opent pompinstellingen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Dane o glukozie są nieaktualne od %1$@" + "value" : "Otwiera ustawienia pompy" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Medida de glicose está %1$@ atrasada" + "value" : "Abre as configurações da bomba" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Datele despre glicemie au o vechime de %1$@" + "value" : "Deschide setările pompei" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Данные о глюкозе устарели на %1$@" + "value" : "Открывает настройки помпы" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otvorí nastavenia pumpy" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Glukosvärde är %1$@ gammalt" + "value" : "Öppnar pumpinställningar" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ eski KŞ verisi" + "value" : "Pompa ayarlarını açar" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Відкриває налаштування помпи" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Dữ liệu đường huyết %1$@ cũ" + "value" : "Mở cài đặt bơm" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "葡萄糖%1$@分钟未更新" + "value" : "打开胰岛素泵设置" } } } }, - "Glucose data not available" : { - "comment" : "Description of error when glucose data is missing", + "Opens the full day" : { + "comment" : "VoiceOver hint for the Today so far card on the Now screen", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "قراءات السكر غير متوفرة" + "value" : "يفتح اليوم كاملًا" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otevře celý den" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Blodsukkerdata ikke tilgængelige" + "value" : "Åbner hele dagen" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Blutzuckerdaten nicht verfügbar" + "value" : "Öffnet den ganzen Tag" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Los datos de glucosa no están disponibles" + "value" : "Abre el día completo" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Glukoositietoja ei saatavilla" + "value" : "Avaa koko päivän" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Les données de glucose ne sont pas disponibles" + "value" : "Ouvre la journée complète" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Glucose data not available" + "value" : "פותח את היום המלא" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Megnyitja a teljes napot" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Dati sulla glicemia non disponibili" + "value" : "Apre il giorno completo" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "グルコースデータがありません" + "value" : "1日全体を開きます" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Blodsukkerdata er utilgjengelig" + "value" : "Åpner hele dagen" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosegegevens niet beschikbaar" + "value" : "Opent de hele dag" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Dane o glukozie są niedostępne" + "value" : "Otwiera cały dzień" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Medida de glicose não disponível" + "value" : "Abre o dia completo" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Nu sunt disponibile date despre glicemie" + "value" : "Deschide ziua completă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Данные гликемии недоступны" + "value" : "Открывает весь день" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otvorí celý deň" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Glukosvärde saknas" + "value" : "Öppnar hela dagen" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "KŞ verisi mevcut değil" + "value" : "Tüm günü açar" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Відкриває весь день" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Dữ liệu đường huyết không sẵn sàng" + "value" : "Mở toàn bộ ngày" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "血糖数据不可用" + "value" : "打开全天视图" } } } }, - "Glucose Data Now Available" : { - "comment" : "Alert title when glucose data returns while on bolus screen", - "extractionState" : "stale", + "PDF report" : { + "comment" : "Trends export menu item: share a PDF report of the period", "localizations" : { - "da" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Blodsukkerdata er nu tilgængelige" + "value" : "تقرير PDF" } }, - "de" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Blutzucker jetzt verfügbar" + "value" : "Zpráva PDF" } }, - "es" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Datos de glucosa ahora disponibles" + "value" : "PDF-rapport" } }, - "fi" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Glukoositiedot nyt saatavilla" + "value" : "PDF-Bericht" } }, - "fr" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Les données de glycémie sont maintenant disponibles" + "value" : "Informe PDF" } }, - "it" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Dati glicemia ora disponibili" + "value" : "PDF-raportti" } }, - "nb" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Blodsukkerdata er utilgjengelig" + "value" : "Rapport PDF" } }, - "nl" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosegegevens nu beschikbaar" + "value" : "דוח PDF" } }, - "pl" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Dane dotyczące glukozy są już dostępne" + "value" : "PDF-jelentés" } }, - "ro" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Valorile glicemiei sunt disponibile" + "value" : "Report PDF" } }, - "ru" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Данные о глюкозе теперь доступны" + "value" : "PDFレポート" } }, - "sv" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Blodglukosvärde finns nu tillgängligt" + "value" : "PDF-rapport" } }, - "tr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "KŞ Verileri Artık Kullanılabilir" + "value" : "PDF-rapport" } }, - "zh-Hans" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "现已获取血糖数据" + "value" : "Raport PDF" } - } - } - }, - "Glucose effect of suspending insulin delivery" : { - "comment" : "Description of the prediction input effect for suspension of insulin delivery", - "localizations" : { - "da" : { + }, + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Glukoseeffekt ved afbrydelse af insulintilførsel" + "value" : "Relatório PDF" } }, - "de" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Glukoseeffekt der Unterbrechung der Insulinabgabe" + "value" : "Raport PDF" } }, - "fr" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Effet sur la glycémie de la suspension d'administration de l'insuline" + "value" : "Отчёт PDF" } }, - "it" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Effetto sulla glicemia della sospensione dell'erogazione d'insulina" + "value" : "Správa PDF" } }, - "nb" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Glukoseeffekt av å suspendere insulintilførsel" + "value" : "PDF-rapport" } }, - "nl" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Glucose-effect van onderbroken insulinetoediening" + "value" : "PDF raporu" } }, - "pl" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Wpływ wstrzymania podawania insuliny na poziom glukozy" + "value" : "Звіт PDF" } }, - "ro" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Efectul asupra glicemiei al suspendării administrării de insulină" + "value" : "Báo cáo PDF" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "暂停胰岛素输注对血糖的影响" + "value" : "PDF 报告" } } } }, - "Glucose Entry Out of Range" : { - "comment" : "Alert title for a manual glucose entry out of range error\nTitle for bolus screen warning when glucose entry is out of range", + "per day, weekly average" : { + "comment" : "Trends Insulin per day card subtitle when each bar is a week's average daily total", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يوميًا، متوسط أسبوعي" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "za den, týdenní průměr" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Blodsukkerværdi er uden for intervallet" + "value" : "pr. dag, ugegennemsnit" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Blutzucker-Eingabe außerhalb des Bereichs" + "value" : "pro Tag, Wochendurchschnitt" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Entrada de glucosa fuera de rango" + "value" : "por día, promedio semanal" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Glukoosiarvo alueen ulkopuolella" + "value" : "päivässä, viikkokeskiarvo" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "La glycémie saisie est hors de la plage." + "value" : "par jour, moyenne hebdomadaire" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "ליום, ממוצע שבועי" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "naponta, heti átlag" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia inserita fuori intervallo" + "value" : "al giorno, media settimanale" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日あたり、週平均" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Blodsukkerdata er utenfor intervallet" + "value" : "per dag, ukesgjennomsnitt" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Glucose-invoer buiten bereik" + "value" : "per dag, weekgemiddelde" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wprowadzanie glukoza jest poza zakresem" + "value" : "dziennie, średnia tygodniowa" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "por dia, média semanal" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Valoarea glicemiei introdusă este în afara intervalului" + "value" : "pe zi, medie săptămânală" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Ввод глюкозы вне допустимого диапазона" + "value" : "в день, среднее за неделю" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "za deň, týždenný priemer" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Det manuellt inmatade blodsockervärdet utanför gränsvärden" + "value" : "per dag, veckomedel" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "KŞ Girişi Aralık Dışında" + "value" : "günlük, haftalık ortalama" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "на день, середнє за тиждень" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "mỗi ngày, trung bình theo tuần" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "输入血糖超出范围" + "value" : "每日,按周平均" } } } }, - "Glucose Metrics" : { - "comment" : "Glucose metrics section header" - }, - "Glucose Momentum" : { - "comment" : "Title of the prediction input effect for glucose momentum", + "Pod changed" : { + "comment" : "Pump event in the history: the pump or pod was replaced", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "مقاومة سكر الدم" + "value" : "تم تغيير Pod" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pod vyměněn" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Blodsukkermomentum" + "value" : "Pod skiftet" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Blutzucker-Momentum" + "value" : "Pod gewechselt" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Momento de Glucosa" + "value" : "Pod cambiado" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Glukoosin liike" + "value" : "Pod vaihdettu" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Momentum de glucose" + "value" : "Pod changé" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Glucose Momentum" + "value" : "ה-Pod הוחלף" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pod cserélve" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Momento della glicemia" + "value" : "Pod cambiato" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "グルコース モメンタム" + "value" : "Pod交換" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Glukose Momentum" + "value" : "Pod byttet" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosetrendlijn" + "value" : "Pod vervangen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Pęd glukozy" + "value" : "Wymieniono poda" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Aceleração da Glicose" + "value" : "Pod trocado" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Avânt glicemie" + "value" : "Pod schimbat" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Динамика гликемии" + "value" : "Под заменён" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pod vymenený" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Glukosförändring" + "value" : "Pod bytt" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "KŞ Momentumu" + "value" : "Pod değiştirildi" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Под замінено" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Chuyển động của Glucose" + "value" : "Đã thay Pod" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "葡萄糖增量预测算法" + "value" : "已更换 Pod" } } } }, - "Glucose overview and ambulatory glucose profile" : { - "comment" : "Statistics settings descriptive text" - }, - "Glucose Summary" : { - - }, - "Glucose Target Range Schedule" : { - "comment" : "Details for configuration error when glucose target range schedule is missing", + "Pre-meal on" : { + "comment" : "Presets button title on the Now screen while the pre-meal target is on", "localizations" : { - "da" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Tidsplan for glukosemålområde" + "value" : "Pre-Meal مفعّل" } }, - "de" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Zeitplan für den Blutzucker-Zielbereich" + "value" : "Před jídlem zapnuto" } }, - "es" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Horario para el objetivo de glucosa" + "value" : "Før-måltid til" } }, - "fr" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Horaire de la plage cible de glycémie" + "value" : "Vor dem Essen an" } }, - "it" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Programma di intervalli target di glicemia" + "value" : "Pre-comida activado" } }, - "nb" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Tidsplan for blodsukker målområde" + "value" : "Ennen ateriaa päällä" } }, - "nl" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosestreefbereikschema" + "value" : "Pré-repas activé" } }, - "pl" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Harmonogram zakresu docelowego glukozy" + "value" : "Pre-Meal פעיל" } }, - "ro" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Programul intervalului țintă de glicemie" + "value" : "Pre-Meal bekapcsolva" } }, - "ru" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "График целевого диапазона глюкозы" + "value" : "Pre-pasto attivo" } }, - "tr" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "KŞ Hedef Aralığı Programı" + "value" : "食前 オン" } }, - "zh-Hans" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "血糖目标范围表" + "value" : "Pre-måltid på" } - } - } - }, - "Glucose, Insulin, and Carb Data Access" : { - "comment" : "Apple Health settings descriptive text" - }, - "GMI" : { - "comment" : "Glucose Management Indicator metric title" - }, - "Go to Settings > Focus." : { - "comment" : "Focus modes step 1" - }, - "Goal: <%@" : { - "comment" : "Average glucose goal" - }, - "Goal: <1%" : { - "comment" : "TIR goal for very low" - }, - "Goal: <5%" : { - "comment" : "TIR goal for very high" - }, - "Goal: <7%" : { - "comment" : "GMI goal" - }, - "Goal: >70%" : { - "comment" : "CGM active goal\nTIR goal for target range" - }, - "Goal: ≤36%" : { - "comment" : "Glucose variability goal" - }, - "grams" : { - - }, - "HARDWARE SOUNDS" : { - "extractionState" : "stale", - "localizations" : { - "da" : { + }, + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "HARDWARE-LYDE" + "value" : "Voorafgaand aan maaltijd aan" } }, - "de" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "HARDWARE-SOUNDS" + "value" : "Przed posiłkiem wł." } }, - "fr" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "SONS MATÉRIELS" + "value" : "Pré-refeição ligado" } }, - "it" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "SUONI HARDWARE" + "value" : "Înainte de masă activ" } }, - "nb" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "MASKINVARELYDER" + "value" : "До еды вкл." } }, - "nl" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "GELUIDEN VAN APPARATUUR" + "value" : "Pred jedlom zapnuté" } }, - "pl" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "DŹWIĘKI SPRZĘTOWE" + "value" : "Före måltid på" } }, - "ro" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "SUNETE HARDWARE" + "value" : "Yemek öncesi açık" } }, - "ru" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "АППАРАТНЫЕ ЗВУКИ" + "value" : "Перед їжою увімк." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trước bữa ăn đang bật" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "泵体提示音" + "value" : "餐前已开启" } } } }, - "Her bolus recommendation is higher than usual because her overall insulin is set higher." : { - - }, - "Her preset is set to **110%%**, which is more than she usually needs. This means %@ will make her basal rates, carb ratio, and insulin sensitivity factor (ISF) stronger. " : { - - }, - "High" : { - "comment" : "Time-in-range band label (181–250 mg/dL)" - }, - "High Glucose" : { + "Predicted" : { + "comment" : "Prediction chart callout label for Loop's predicted glucose at the touched time", "localizations" : { - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "Høj glukose" - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hoher Blutzucker" - } - }, - "fr" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Glycémie élevée" + "value" : "متوقع" } }, - "it" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia alta" + "value" : "Predikce" } }, - "nb" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Høyt glukosenivå" + "value" : "Forudsagt" } }, - "nl" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Hoge glucose" + "value" : "Vorhergesagt" } }, - "pl" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Wysoki poziom glukozy" + "value" : "Predicción" } }, - "ro" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemie ridicată" + "value" : "Ennustettu" } }, - "ru" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Высокий уровень глюкозы" + "value" : "Prédit" } }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "高血糖" - } - } - } - }, - "High Intensity (Anaerobic)" : { - - }, - "High-intensity exercise means pushing yourself to your **maximum effort**. It is so hard that talking is nearly impossible, and you can’t keep it up for very long." : { - - }, - "Hiking" : { - - }, - "Historical Data" : { - - }, - "Horizon" : { - "comment" : "A label for the \"Horizon\" setting in the glucose alert settings view.", - "isCommentAutoGenerated" : true - }, - "How can I silence non-Critical Alerts?" : { - "localizations" : { - "da" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Hvordan kan jeg slå ikke-kritiske alarmer fra?" + "value" : "חזוי" } }, - "de" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Wie kann ich nicht kritische Warnungen stummschalten?" + "value" : "Előrejelzett" } }, - "fr" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Comment puis-je faire taire les alertes auditives non-critiques?" + "value" : "Prevista" } }, - "it" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Come posso silenziare gli avvisi non critici?" + "value" : "予測" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Hvordan kan jeg dempe ikke-kritiske varsler?" + "value" : "Forventet" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Hoe demp ik niet-kritieke waarschuwingen?" + "value" : "Voorspeld" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Jak mogę wyciszyć alerty niekrytyczne?" - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cum pot dezactiva sunetul alertelor non-critice?" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Как отключить некритичные оповещения?" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "如何关闭非关键警报?" - } - } - } - }, - "How can I silence only Time Sensitive and Non-Critical alerts?" : { - "extractionState" : "stale", - "localizations" : { - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hvordan kan jeg kun slå lyden fra for tidsfølsomme og ikke-kritiske advarsler?" + "value" : "Prognoza" } }, - "de" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Wie kann ich nur zeitkritische und nicht kritische Warnungen stummschalten?" + "value" : "Prevista" } }, - "fr" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Comment puis-je faire taire uniquement les alertes urgentes et non-critiques?" + "value" : "Prezis" } }, - "it" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Come posso silenziare solo gli avvisi sensibili al tempo e non critici?" + "value" : "Прогноз" } }, - "nb" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Hvordan kan jeg deaktivere kun tidssensitive og ikke-kritiske varsler?" + "value" : "Predikcia" } }, - "nl" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Hoe demp ik alleen tijdgevoelige en niet-kritieke waarschuwingen?" + "value" : "Förutsagt" } }, - "pl" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Jak wyciszyć tylko alerty zależne od czasu i niekrytyczne?" + "value" : "Tahmin" } }, - "ro" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Cum pot dezactiva sunetul doar alertelor urgente și non-critice?" + "value" : "Прогноз" } }, - "ru" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Как отключить только срочные и некритические предупреждения?" + "value" : "Dự đoán" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "如何仅屏蔽“时效性”和“非关键”警报?" + "value" : "预测" } } } }, - "How can I temporarily silence all %1$@ app sounds?" : { - "comment" : "Title text for temporarily silencing all sounds (1: app name)", + "Manual Dose: %1$@ %2$@" : { + "comment" : "Description of a bolus dose entry (1: value (? if no value) in bold, 2: unit)", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Hvordan kan jeg midlertidigt slå lyden fra for alle %1$@ applyde?" + "value" : "Manuel dosis: %1$@ %2$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Wie kann ich alle Töne der %1$@ App vorübergehend stummschalten?" + "value" : "Manuelle Dosis: %1$@ %2$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dosis manual: %1$@ %2$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Comment puis-je désactiver temporairement tous les sons de l'application %1$@?" + "value" : "Dosage manuel : %1$@ %2$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "כמות ידנית: %1$@ %2$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Come posso silenziare temporaneamente tutti i suoni dell'app %1$@ ?" + "value" : "Dose manuale: %1$@ %2$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Hvordan kan jeg midlertidig dempe alle %1$@-applydene?" + "value" : "Manuell dose: %1$@ %2$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Hoe demp ik tijdelijk alle geluiden van de %1$@-app?" + "value" : "Doseer handmatig: %1$@ %2$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Jak mogę tymczasowo wyciszyć wszystkie dźwięki aplikacji %1$@ ?" + "value" : "Dawka z pena: %1$@ %2$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Cum pot dezactiva temporar toate sunetele aplicației %1$@?" + "value" : "Doză manuală: %1$@ %2$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Как временно отключить все звуки приложения %1$@?" + "value" : "Ручная доза: %1$@ %2$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manuel Doz: %1$@ %2$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "如何暂时关闭 %1$@ 应用中的所有声音?" + "value" : "手动剂量: %1$@ %2$@" } } } }, - "How does her preset impact her bolus recommendation?" : { - - }, - "How to configure each setting" : { - + "Manual temporary basal in progress. Automatic dosing is disabled." : { + "comment" : "The error message displayed for LoopError.manualTempBasalRunning errors." }, - "How to update (LoopDocs)" : { - "comment" : "The title text for how to update", + "Maximum Basal Rate Per Hour" : { + "comment" : "Details for configuration error when maximum basal rate per hour is missing", "localizations" : { - "cs" : { - "stringUnit" : { - "state" : "translated", - "value" : "Jak aktualizovat (LoopDocs)" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Sådan opdaterer du (LoopDocs)" + "value" : "Maksimal basalrate pr. time" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Wie man aktualisiert (LoopDocs)" + "value" : "Maximale Basalte pro Stunde" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Cómo actualizar (LoopDocs)" + "value" : "Tasa basal máxima por hora" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Comment mettre à jour (LoopDocs)" + "value" : "Débit Basal Maximum par heure" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "כיצד לעדכן (LoopDocs)" + "value" : "בזאלי מקסימלי לשעה" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Come Aggiornare (LoopDocs)" + "value" : "Velocità basale massima all'ora" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Hvordan oppdatere (LoopDocs)" + "value" : "Maksimal basaldose pr. time" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Hoe bij te werken (LoopDocs)" + "value" : "Maximale basaalstand per uur" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Jak zaktualizować (LoopDocs)" + "value" : "Maksymalna dawka podstawowa na godzinę" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Cum se actualizează (LoopDocs)" + "value" : "Rata bazală maximă pe oră" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Как обновить (LoopDocs)" + "value" : "Максимальная базальная скорость в час" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Nasıl güncellenir (LoopDocs)" + "value" : "Saat Başı Maksimum Bazal Oran" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "如何更新(LoopDocs)" + "value" : "每小时最大基础速率" } } } }, - "How to use Presets for everyday activities" : { - - }, - "How to use Presets for exercise" : { - - }, - "How to use Presets when you are sick" : { - - }, - "https://mysite.herokuapp.com" : { - "comment" : "The placeholder text for the nightscout site URL credential", - "extractionState" : "manual", + "Maximum Bolus" : { + "comment" : "Details for configuration error when maximum bolus is missing", "localizations" : { - "en" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "https://mysite.herokuapp.com" + "value" : "Maksimal bolus" } - } - } - }, - "I'm a tester" : { - "comment" : "Button that dismisses the development build warning", - "localizations" : { + }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Ich bin ein Tester" + "value" : "Maximaler Bolus" } }, - "fr" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Je suis un testeur" + "value" : "Bolo Máximo" } }, - "nb" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Jeg er en tester" + "value" : "Suurin sallittu bolus" } }, - "nl" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Ik ben een tester" + "value" : "Bolus Maximum" } }, - "ro" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Sunt un tester" + "value" : "בולוס מקסימלי" } }, - "zh-Hans" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "我是一名测试员" + "value" : "Bolo massimo" } - } - } - }, - "if eating less than 2 hours before exercise" : { - - }, - "If glucose drops below 126 mg/dL" : { - - }, - "If iOS Focus Mode is ON and Mute Alerts is OFF, Critical Alerts will still be delivered and non-Critical Alerts will be silenced until %1$@ is added to each Focus mode as an Allowed App." : { - "comment" : "Focus modes descriptive text (1: app name)", - "extractionState" : "stale", - "localizations" : { - "da" : { + }, + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Hvis iOS-fokustilstand er slået TIL, og Slå lyden fra-advarsler er slået fra, leveres kritiske advarsler stadig, og ikke-kritiske advarsler slås fra, indtil %1$@ føjes til hver fokustilstand som en tilladt app." + "value" : "最大ボーラス" } }, - "de" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Wenn der iOS-Fokusmodus aktiviert und die Stummschaltung von Warnungen deaktiviert ist, werden kritische Warnungen weiterhin übermittelt und nicht kritische Warnungen stummgeschaltet, bis %1$@ jedem Fokusmodus als zulässige App hinzugefügt wird." + "value" : "Maks bolus" } }, - "fr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Si le mode Concentration d'iOS est activé et que les Alertes Muettes sont désactivées, les Alertes Critiques seront toujours livrées et les Alertes non Critiques seront silencieuses jusqu'à ce que %1$@ soit ajouté à chaque mode Concentration en tant qu'application autorisée." + "value" : "Maximale bolus" } }, - "it" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Se la modalità Focus iOS è attiva e Disattiva avvisi è disattivata, gli avvisi critici verranno comunque inviati e gli avvisi non critici verranno silenziati finché %1$@ non verrà aggiunto a ciascuna modalità Focus come app consentita." + "value" : "Maksymalny bolus" } }, - "nb" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Hvis iOS Focus Mode er PÅ og Mute Alerts er AV, vil kritiske varsler fortsatt bli levert og ikke-kritiske varsler vil bli dempet inntil %1$@ er lagt til i hver Focus Mode som en tillatt app." + "value" : "Bolus Máximo" } }, - "nl" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Als een iOS-focusmodus AAN staat en Waarschuwingen dempen UIT, worden Kritieke meldingen nog steeds afgeleverd. Niet-kritieke waarschuwingen blijven stil totdat %1$@ in elke focusmodus als toegestane app is toegevoegd." + "value" : "Bolus maxim" } }, - "pl" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Jeśli tryb skupienia w systemie iOS jest włączony, a opcja Wycisz alerty jest wyłączona, alerty krytyczne będą nadal dostarczane, a alerty niekrytyczne będą wyciszane, dopóki %1$@ nie zostanie dodany do każdego trybu skupienia jako dozwolona aplikacja." + "value" : "Максимальный Болюс" } }, - "ro" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Dacă modul Focus iOS este ACTIVAT și opțiunea Dezactivare alerte este DEZACTIVATĂ, alertele critice vor fi transmise în continuare, iar alertele non-critice vor fi dezactivate până când %1$@ este adăugat la fiecare mod Focus ca aplicație permisă." + "value" : "Maximal bolus" } }, - "ru" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Если режим фокусировки iOS включен, а функция отключения оповещений выключена, критические оповещения будут по-прежнему доставляться, а некритические будут глушиться до тех пор, пока %1$@ не будет добавлен в каждый режим фокусировки в качестве разрешенного приложения." + "value" : "Maksimum Bolus" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Liều Bolus tối đa" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "如果 iOS 专注模式处于开启状态,且“静音提醒”处于关闭状态,则关键提醒仍会正常推送,而非关键提醒将被静音,直到将 %1$@ 添加到每个专注模式的“允许的应用”列表中为止。" + "value" : "最大剂量" } } } }, - "If you expect your glucose to rise during the activity, you may not need a preset." : { - - }, - "If you have active insulin in your body when you start exercising, you generally have an increased risk of low glucose." : { - - }, - "If you haven’t noticed a rise in glucose with high-intensity exercise, it may be due to:" : { - - }, - "If you often experience low glucose, you may need to reduce how much insulin you deliver for meals eaten 1-2 hours before exercising." : { - - }, - "If you usually experience lows while exercising, watch your glucose levels closely during exercise and consider eating around 3 to 20g of fast-acting carbs." : { - - }, - "If your activity has a higher risk of low glucose, start a physical activity preset at least **1 hour before you begin** and keep it on until you finish." : { - - }, - "If your glucose goes down, you may only need a small decrease in insulin — less than you would for low to moderate-intensity activity." : { - - }, - "If your glucose goes up, you may only need a small increase in insulin — less than you would for high-intensity activity." : { - - }, - "If your glucose isn't dropping, eating too many carbs can raise your blood sugar, trigger more insulin, and increase the risk of low blood sugar during or after the activity." : { - - }, - "Immediate" : { - "comment" : "Immediate Delivery status text", + "Maximum Bolus Exceeded" : { + "comment" : "Title for bolus screen warning when max bolus is exceeded", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Akut" + "value" : "Maksimal bolus overskredet" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Sofort" + "value" : "Maximaler Bolus überschritten" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Inmediato" + "value" : "Bolo máximo excedido" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Immédiat" + "value" : "Bolus Maximum atteint" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "חריגה מבולוס מקסימלי" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Immediato" + "value" : "Bolo massimo superato" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Umiddelbar" + "value" : "Maksimal bolus overskredet" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Onmiddellijk" + "value" : "Maximale bolus overschreden" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Natychmiastowy" + "value" : "Przekroczono maksymalny bolus" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Imediat" + "value" : "Bolusul maxim depășit" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Немедленно" + "value" : "Превышен максимальный объем болюса" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Acilen" + "value" : "Maksimum Bolus Aşıldı" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "实时" + "value" : "超过最大推注量" } } } }, - "In future versions of Loop these experiments may change, end up as standard parts of the Loop Algorithm, or be removed from Loop entirely. Please follow along in the Loop Zulip chat to stay informed of possible changes to these features." : { - "comment" : "Algorithm Experiments description second paragraph.", + "Maximum Intensity (Anaerobic)" : { + + }, + "May experience a rise in glucose." : { + + }, + "May experience drops in glucose." : { + + }, + "Meal Bolus" : { + "comment" : "Title for bolus entry screen when also entering carbs", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "I fremtidige versioner af Loop kan disse eksperimenter ændre sig, ende som standarddele af Loop-algoritmen eller blive fjernet helt fra Loop. Følg med i Loop Zulip-chatten for at holde dig informeret om mulige ændringer af disse funktioner." + "value" : "Måltidsbolus" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "In zukünftigen Versionen von Loop können sich diese Experimente ändern, als Standardbestandteile des Loop-Algorithmus enden oder vollständig aus Loop entfernt werden. Bitte folgen Sie dem Loop Zulip-Chat, um über mögliche Änderungen dieser Funktionen auf dem Laufenden zu bleiben." + "value" : "Mahlzeiten Bolus" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolo de Comida" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ateriabolus" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Dans les futures versions de Loop, ces essais peuvent changer, devenir des parties standard de l'algorithme Loop, ou être complètement retirées de Loop. Veuillez suivre le chat Zulip de Loop pour rester informé des éventuels changements sur ces fonctionnalités." + "value" : "Bolus de repas" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בולוס לכיסוי ארוחה" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Nelle versioni future di Loop questi esperimenti potrebbero cambiare, diventare parti standard dell'algoritmo Loop o essere rimossi completamente da Loop. Segui la chat di Loop Zulip per rimanere informato su possibili modifiche a queste funzionalità." + "value" : "Bolo pasto" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "I fremtidige versjoner av Loop kan disse eksperimentene endres, ende opp som standarddeler av Loop-algoritmen eller fjernes helt fra Loop. Følg med i Loop Zulip-chatten for å holde deg informert om eventuelle endringer i disse funksjonene." + "value" : "Måltidsbolus" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "In toekomstige versies van Loop kunnen deze experimenten veranderen, een vast onderdeel van het Loop-algoritme worden of helemaal uit Loop verdwijnen. Volg de Loop Zulip-chat om op de hoogte te blijven van mogelijke wijzigingen aan deze functies." + "value" : "Maaltijd bolus" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "W przyszłych wersjach Loop te eksperymenty mogą się zmienić, stać się standardowymi częściami algorytmu Loop lub zostać całkowicie usunięte z Loop. Śledź czat Loop Zulip, aby być na bieżąco z możliwymi zmianami w tych funkcjach." + "value" : "Bolus Posiłkowy" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "În versiunile viitoare ale Loop, aceste experimente se pot schimba, pot deveni părți standard ale algoritmului Loop sau pot fi eliminate complet din Loop. Vă rugăm să urmăriți mesageria Loop Zulip pentru a fi la curent cu posibilele modificări ale acestor funcții." + "value" : "Bolus pentru masă" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Болюс на еду" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Måltidsbolus" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yemek Bolusu" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "在 Loop 的未来版本中,这些实验性功能可能会发生变化,可能会成为 Loop 算法的标准组成部分,也可能会被完全移除。请关注 Loop 的 Zulip 聊天频道,以便及时了解这些功能可能发生的变化。" + "value" : "餐食大剂量" } } } }, - "In Range" : { - "comment" : "Time-in-range band label (70–180 mg/dL)" - }, - "Includes basal and automated boluses" : { + "Meal Summary" : { }, - "increase" : { + "Meal Timing" : { }, - "Increased Delivery" : { + "Median (line) with 25–75% and 5–95% bands, by time of day." : { + "comment" : "AGP chart explanation" + }, + "Medium Intensity (Aerobic)" : { }, - "Indefinitely" : { - "comment" : "The title of a target alert action specifying an indefinitely long workout targets duration", - "extractionState" : "manual", + "mg/dL" : { + "comment" : "The short unit display string for milligrams of glucose per decilter", + "extractionState" : "stale", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "إلى أجل غير مسمى" + "value" : "mg/dL" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Uendelig" + "value" : "mg/dL" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Unbegrenzt" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Indefinitely" + "value" : "mg/dL" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Indefinidamente" + "value" : "mg/dL" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Toistaiseksi" + "value" : "mg/dL" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Indéfiniment" + "value" : "mg/dL" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Indefinitely" + "value" : "mg/dL" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Indefinitamente" + "value" : "mg/dL" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "無期限" + "value" : "mg/dL" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "På ubestemt tid" + "value" : "mg/dL" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Voor onbepaalde tijd" + "value" : "mg/dL" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Niemożliwy do określenia" + "value" : "mg/dl" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Indefinidamente" + "value" : "mg/dL" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Nedeterminat" + "value" : "mg/dL" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "На неопределенное время" + "value" : "мг/дл" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "mg/dL" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Oändligt" + "value" : "mg/dl" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Süresiz" + "value" : "mg/dL" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Vô hạn định" + "value" : "mg/dL" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "永久" + "value" : "mg/dL" } } } }, - "Information" : { + "Missed Meal Notifications" : { + "comment" : "Title for missed meal notifications toggle", "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Meddelelser om glemt måltid" + } + }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Information" + "value" : "Verpasste Mahlzeit Benachrichtigung" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Information" + "value" : "Notifications de repas manqués" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "התראה על ארוחות שלא הוזנו" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Notifiche di pasti mancati" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Informasjon" + "value" : "Varsler om tapte måltider" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Informatie" + "value" : "Gemiste maaltijdmeldingen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Powiadomienia o pominiętych posiłkach" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Informații" + "value" : "Notificări mese neanunțate" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Уведомления о пропущенных приемах пищи" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kaçırılan Yemek Bildirimleri" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "信息" + "value" : "错过用餐通知" } } } }, - "Insulin" : { - "comment" : "Health access row label for insulin\nTitle of the prediction input effect for insulin", + "Missing data: %1$@" : { + "comment" : "The error message for missing data. (1: missing data details)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "الأنسولين" + "value" : "بيانات مفقودة: %1$@" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin" + "value" : "Manglende data: %1$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin" + "value" : "Fehlende Daten: %1$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina" + "value" : "Faltan Datos: %1$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Insuliini" + "value" : "Tiedot puuttuvat: %1$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Insuline" + "value" : "Données manquantes: %1$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin" + "value" : "נתונים חסרים: %1$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina" + "value" : "Dati mancanti: %1$@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "インスリン" + "value" : "データがありません: %1$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin" + "value" : "Manglende data: %1$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Insuline" + "value" : "Ontbrekende gegevens: %1$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina" + "value" : "Brakujące dane: %1$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina" + "value" : "Dados ausentes: %1$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Insulină" + "value" : "Date lipsă: %1$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Инсулин" + "value" : "Пропущены данные: %1$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin" + "value" : "Saknar data: %1$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "İnsülin" + "value" : "Eksik veri: %1$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Thuốc Insulin" + "value" : "Dữ liệu thiếu: %1$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "胰岛素" + "value" : "数据缺失: %1$@" } } } }, - "Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" : { - "comment" : "Description of the prediction input effect for insulin", + "Missing maximum allowed bolus in settings" : { + "comment" : "Bolus error description: missing maximum bolus in settings.", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "الأنسولين الذي تم امتصاصه (وحدات) × حساسيو الأنسولين (%1$@/وحدة)" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin absorberet (E) × Insulinfølsomhed (%1$@/E)" + "value" : "Manglende maksimalt tilladt bolus i indstillingerne" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Resorbiertes Insulin (IE) × Insulinempfindlichkeit (%1$@/IE)" + "value" : "Maximal erlaubter Bolus in den Einstellungen fehlt" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina Absorbida (U) x Sensibilidad a Insulina (%1$@/U)" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Imeytynyt insuliini (U) × Insuliiniherkkyys (%1$@/U)" + "value" : "Falta el bolo máximo permitido en la configuración" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Insuline Absorbée (U) × Sensibilité à l'Insuline (%1$@/U)" + "value" : "Bolus maximal autorisé manquant dans les paramètres" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" + "value" : "בולוס מקסימלי חסר בהגדרות" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina assorbita (U) × Sensibilità insulinica (%1$@/U)" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "吸収済インスリン(U) × インスリン効果値(%1$@/U)" + "value" : "Manca il bolo massimo consentito nelle impostazioni" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin absorbert (E) × insulinfølsomhet ( %1$@ /E)" + "value" : "Mangler maksimalt tillatt bolus i innstillingene" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Opgenomen insuline (E) x insulinegevoeligheid (%1$@/E)" + "value" : "Maximaal toegestane bolus ontbreekt in instellingen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina podana (U) × czułość insuliny (%1$@/J)" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Insulina Absorvida (U) × Sensibilidade a Insulina (%1$@/U)" + "value" : "Brak ustawionego maksymalnego dozwolonego bolusa" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Insulină absorbită (U) × factor de sensibilitate la insulină (%1$@/U)" + "value" : "Lipsește bolusul maxim permis în setări" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Усвоенный инсулин (U) × Чувствительность к инсулину (%1$@/U)" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Insulin absorberat (E) × Insulinkänslighet (%1$@/E)" + "value" : "Отсутствие максимально допустимого болюса в настройках" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Emilen İnsulin (Ü) × İnsulin Duyarlılığı (%1$@/Ü)" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lượng insulin tiêu hao (U) × Độ nhạy của insulin (%1$@/U)" + "value" : "Ayarlarda izin verilen maksimum bolus eksik" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "已吸收胰岛素×胰岛素敏感系数" + "value" : "设置中缺少最大剂量限制" } } } }, - "Insulin adjustments have been disabled!" : { - "comment" : "Notification body for crash recovery alert", + "Mixed-intensity exercise may cause only small changes in glucose levels. Your glucose may go up or down." : { + + }, + "mmol/L" : { + "comment" : "The short unit display string for millimoles of glucose per liter", + "extractionState" : "stale", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinjusteringer er blevet deaktiveret!" + "value" : "mmol/L" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Die Insulinanpassung wurde deaktiviert!" + "value" : "mmol/L" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "¡Se han deshabilitado los ajustes de insulina!" + "value" : "mmol/L" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Les ajustements d’insuline ont été désactivés!" + "value" : "mmol/L" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Le regolazioni dell'insulina sono state disattivate!" + "value" : "mmol/L" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinjusteringer er deaktivert!" + "value" : "mmol/L" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Insulineaanpassingen zijn uitgeschakeld!" + "value" : "mmol/L" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Korekty insuliny zostały wyłączone!" + "value" : "mmol/L" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Ajustările de insulină au fost dezactivate!" + "value" : "mmol/L" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Регулировка инсулина была отключена!" + "value" : "ммоль/л" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "İnsülin ayarlamaları devre dışı bırakıldı!" + "value" : "mmol/L" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "胰岛素剂量调整功能已被禁用!" + "value" : "mmol/L" } } } }, - "Insulin Automation" : { - "comment" : "Closed loop settings button descriptive text" + "Mode" : { + "comment" : "Title for mode live activity toggle", + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modus" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mode" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modus" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modus" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mod" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "模式" + } + } + } }, - "Insulin Delivery" : { - "comment" : "The title of the insulin delivery graph", + "Momentum effects" : { + "comment" : "Details for missing data error when momentum effects are missing", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "توصيل الأنسولين" + "value" : "تأثيرات النشاط" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Insulintilførsel" + "value" : "Momentumeffekter" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinabgabe" + "value" : "Momentum-Effekte" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Administración de Insulina" + "value" : "Efectos de Momento" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Insuliinin annostelu" + "value" : "Liikevaikutukset (momentum)" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Administration de l'insuline" + "value" : "Effets de momentum" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin Delivery" + "value" : "השפעות מומנטום" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Erogazione insulina" + "value" : "Effetti del momento" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "インスリン放出" + "value" : "モメンタム効果" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinlevering" + "value" : "Momentum effekter" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinetoediening" + "value" : "Trendlijneffecten" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Podaż insuliny" + "value" : "wpływ pędu" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina Entregue" + "value" : "Efeitos de aceleração" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Administrare insulină" + "value" : "Efecte avânt" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Подача инсулина" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Podávanie inzulínu" + "value" : "Влияние динамики СК" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin doserat" + "value" : "Momentumeffekter" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "İnsulin İletimi" + "value" : "Momentum etkileri" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Khối lượng tiêm insulin" + "value" : "Hiệu ứng động lượng" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "胰岛素输注" + "value" : "葡萄糖动量效应" } } } }, - "Insulin Delivery Log" : { + "Monitor your glucose and active insulin at the start of a competition day" : { }, - "Insulin effects" : { - "comment" : "Details for missing data error when insulin effects are missing\nDetails for missing data error when insulin effects including pending insulin are missing", + "More Info" : { + "comment" : "Text for more info action on notification of upcoming TestFlight expiration\nText for more info action on notification of upcoming profile expiration", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "تأثيرات الأنسولين" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Insulineffekter" + "value" : "Mere Info" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinwirkungen" + "value" : "Weitere Info" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Efectos de la insulina" + "value" : "Más Info" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Insuliinivaikutus" + "value" : "Lisätietoa" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Effets de l'insuline" + "value" : "Plus d'informations" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin effects" + "value" : "מידע נוסף" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Effetto dell’insulina" + "value" : "Ulteriori informazioni" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "インスリン効果" + "value" : "詳細" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin effekt" + "value" : "Mer info" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Insulineëffecten" + "value" : "Meer informatie" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "wpływ insuliny" + "value" : "Więcej informacji" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Efeitos da Insulina" + "value" : "Mais Info" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Efecte insulină" + "value" : "Detalii" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Влияние инсулина" + "value" : "Доп. инфо" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Insulineffekter" + "value" : "Mer info" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "İnsülin etkileri" + "value" : "Daha fazla bilgi" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Tác dụng của insulin" + "value" : "Thêm thông tin" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "胰岛素效果" + "value" : "更多信息" } } } }, - "Insulin Event" : { + "Morning Exercise" : { }, - "Insulin Model" : { - "comment" : "Details for configuration error when insulin model is missing\n The title text for the insulin model setting row", - "extractionState" : "manual", + "Morning exercise before eating (like a fasted jog) usually causes a smaller drop in glucose levels and may even promote a rise, compared to afternoon exercise." : { + + }, + "Mutable" : { + + }, + "Mute All Alerts" : { + "comment" : "Label for button to mute all alerts", + "extractionState" : "stale", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "نوع الأنسولين" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinmodel" + "value" : "Slå alle alarmer fra" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin-Modell" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Insulin Model" + "value" : "Alle Alarme stummschalten" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Modelo de Insulina" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Insuliinimalli" + "value" : "Silenciar todas las alertas" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Modèle d'insuline" + "value" : "Enlever le son de toutes les alertes" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin Model" + "value" : "השתק את כל ההתראות" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Modello di azione dell'Insulina" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "インスリンモデル" + "value" : "Disattiva tutti gli avvisi" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin Modell" + "value" : "Demp alle varsler" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinemodel" + "value" : "Alle waarschuwingen dempen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Model insuliny" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Modelo de Insulina" + "value" : "Wycisz wszystkie alerty" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Model insulină" + "value" : "Dezactivați toate alertele" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Модель инсулина" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Inzulínový model" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Insulinmodell" + "value" : "Выключить все оповещения" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "İnsülin Modeli" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Chủng loại Insulin" + "value" : "Tüm Uyarıları Sessize Al" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "胰岛素模型" + "value" : "静音所有警报" } } } }, - "Insulin Pump" : { - "comment" : "Descriptive text for Insulin Pump", + "Mute All Alerts Temporarily" : { + "comment" : "Title for mute alert duration selection action sheet", + "extractionState" : "stale", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinpumpe" + "value" : "Slå lyden fra for alle advarsler midlertidigt" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinpumpe" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Microinfusadora de insulina" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Insuliinipumppu" + "value" : "Alle Warnungen vorübergehend stummschalten" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Pompe à insuline" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "משאבת אינסולין" + "value" : "Désactiver temporairement toutes les alertes" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Pompa" + "value" : "Disattiva temporaneamente tutti gli avvisi" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinpumpe" + "value" : "Slå av alle varsler midlertidig" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinepomp" + "value" : "Alle waarschuwingen tijdelijk dempen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Pompa insulinowa" + "value" : "Tymczasowo wycisz wszystkie alerty" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Pompa de insulină" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Инсулиновая помпа" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Insulinpump" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "İnsülin pompası" + "value" : "Dezactivați temporar toate alertele" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "胰岛素泵" + "value" : "暂时静音所有警报" } } } }, - "Insulin Resumed" : { - + "Mute All App Sounds" : { + "comment" : "Label for button to mute all app sounds" }, - "Insulin Sensitivities" : { - "comment" : "The title of the insulin sensitivities schedule screen\n The title text for the insulin sensitivity schedule", - "extractionState" : "manual", + "Muted until" : { + "comment" : "Label for when mute alert will end" + }, + "Name" : { + "comment" : "Label for name row on add favorite food screen\nPreset sorting option description for sorting by name", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "حساسية الأنسولين" + "value" : "الاسم" } }, - "da" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinfølsomheder" + "value" : "Název" } }, - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinempfindlichkeit" + "value" : "Navn" } }, - "en" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin Sensitivities" + "value" : "Name" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Sensibilidad a la insulina" + "value" : "Nombre" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Insuliiniherkkyydet" + "value" : "Nimi" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Facteurs de sensibilité à l'insuline" + "value" : "Nom" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin Sensitivities" + "value" : "שם" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Sensibilità insulinica" + "value" : "Nome" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "インスリン効果値" + "value" : "プリセット名" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinfølsomhet" + "value" : "Navn" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinegevoeligheden" + "value" : "Naam" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wrażliwość na insulinę (ISF)" + "value" : "Nazwa" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Sensibilidades a Insulina" + "value" : "Nome" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Factor de sensibilitate la insulină" + "value" : "Nume" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Факторы чувствительности инсулина" + "value" : "Имя" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Názov" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinkänslighet" + "value" : "Namn" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "İnsülin Duyarlılığı" + "value" : "İsim" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Độ nhạy của Insulin" + "value" : "Tên" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "胰岛素敏感系数" + "value" : "名称" } } } }, - "Insulin Sensitivity Factor (ISF)" : { - - }, - "Insulin Sensitivity Schedule" : { - "comment" : "Details for configuration error when insulin sensitivity schedule is missing", + "Needs Attention" : { + "comment" : "Sensor state description for the non-valid state", + "extractionState" : "manual", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinfølsomhed tidsplan" + "value" : "Handling påkrævet" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinempfindlichkeit Plan" + "value" : "Erfordert Aufmerksamkeit" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Horario de la sensibilidad a la insulina" + "value" : "Necesita Atención" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tarvitsee huomiota" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Horaire de facteur de sensibilité à l'insuline" + "value" : "Demande votre attention" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "דורש תשומת לב" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Programma di sensibilità insulinica" + "value" : "Richiede attenzione" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "注意してください" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin følsomhet tidsplan" + "value" : "Trenger tilsyn" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinegevoeligheidschema" + "value" : "Aandacht nodig" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Harmonogram wrażliwości na insulinę" + "value" : "Potrzebuje uwagi" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Precisa de Atenção" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Orarul Factorului de Sensibilitate la Insulină" + "value" : "Necesită atenție" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "График чувствительности к инсулину" + "value" : "Требует внимания" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kräver uppmärksamhet" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "İnsülin Duyarlılık Programı" + "value" : "İlgilenmeniz gerekiyor" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cần chú ý" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "胰岛素敏感系数(ISF)方案" + "value" : "请注意" } } } }, - "Insulin Suspended" : { - "comment" : "The title of the cell indicating the pump is suspended", + "Negative duration not allowed" : { + "comment" : "Override error description: negative duration error.", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Insulin suspenderet" + "value" : "Negativ varighed ikke tilladt" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinabgabe unterbrochen" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Insulina Suspendida" + "value" : "Eine negative Dauer ist nicht erlaubt" } }, - "fi" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Insuliini pysäytetty" + "value" : "Durée négative non autorisée" } }, - "fr" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Insuline suspendue" + "value" : "משך זמן שלילי לא מותר" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina sospesa" + "value" : "Durata negativa non consentita" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Insulintilførsel utsatt" + "value" : "Negativ varighet ikke tillatt" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinetoediening onderbroken" + "value" : "Negatieve duur niet toegestaan" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Podawanie Zawieszone" + "value" : "Ujemny czas trwania nie jest dozwolony" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Administrarea insulinei suspendată" + "value" : "Durata negativă nu este permisă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Подача инсулина приостановлена" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Insulintillförsel pausad" + "value" : "Отрицательная продолжительность не допускается" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "İnsülin Askıya Alındı" + "value" : "Negatif süreye izin verilmez" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "胰岛素已暂停输注" + "value" : "不允许出现负时长" } } } }, - "Insulin Type" : { - "comment" : "Insulin type label", + "New Favorite Food" : { + "comment" : "Title of new favorite food screen", "localizations" : { - "cs" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Typ inzulínu" + "value" : "Neues Lieblingsessen" } }, - "da" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Insulintype" + "value" : "Nouvel aliment préféré" } }, - "de" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Insulintyp" + "value" : "Ny favorittmat" } }, - "es" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Tipo de Insulina" + "value" : "Nieuw favoriet voedingsmiddel" } }, - "fi" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Insuliinityyppi" + "value" : "Noua mâncare preferată" } }, - "fr" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Type d'insuline" + "value" : "新增常用食物" + } + } + } + }, + "Next, we’ll look at settings you can change and how they affect Omar’s insulin." : { + + }, + "Next, we’ll look at settings you can change and how they affect Paloma’s insulin." : { + + }, + "Nightscout" : { + "comment" : "The title of the Nightscout service", + "extractionState" : "manual", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "نايتسكاوت" } }, - "he" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "סוג האינסולין" + "value" : "Nightscout" } }, - "it" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Tipo d'insulina" + "value" : "Nightscout" } }, - "nb" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Insulintype" + "value" : "Nightscout" } }, - "nl" : { + "en" : { "stringUnit" : { "state" : "translated", - "value" : "Insulinetype" + "value" : "Nightscout" } }, - "pl" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Rodzaj insuliny" + "value" : "Nightscout" } }, - "ro" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Tipul de insulină" + "value" : "Nightscout" } }, - "ru" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Тип инсулина" + "value" : "Nightscout" } }, - "sk" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Typ inzulínu" + "value" : "Nightscout" } }, - "sv" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Insulintyp" + "value" : "Nightscout" } }, - "tr" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "İnsülin Tipi" + "value" : "Nightscout" } }, - "zh-Hans" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "胰岛素类型" + "value" : "Nightscout" } - } - } - }, - "Integral Retrospective Correction" : { - "comment" : "Title for integral retrospective correction experiment description\nTitle of integral retrospective correction experiment", - "localizations" : { - "da" : { + }, + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Integral Retrospective Correction" + "value" : "Nightscout" } }, - "de" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Integrale retrospektive Korrektur" + "value" : "Nightscout" } }, - "fr" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Correction rétrospective intégrale" + "value" : "Nightscout" } }, - "it" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Correzione retrospettiva integrale (IRC)" + "value" : "Nightscout" } }, - "nb" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Integrert retrospektiv korreksjon" + "value" : "Nightscout" } }, - "nl" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Integrale retrospectieve correctie" + "value" : "Nightscout" } }, - "pl" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Integralna korekta retrospektywna" + "value" : "Nightscout" } }, - "ro" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Corecție retrospectivă integrală" + "value" : "Nightscout" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nightscout" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "整体回顾性校正 (IRC)" + "value" : "Nightscout" } } } }, - "Integral Retrospective Correction (IRC) is an extension of the standard Retrospective Correction (RC) algorithm component in Loop, which adjusts the forecast based on the history of discrepancies between predicted and actual glucose levels.\n\nIn contrast to RC, which looks at discrepancies over the last 30 minutes, with IRC, the history of discrepancies adds up over time. So continued positive discrepancies over time will result in increased dosing. If the discrepancies are negative over time, Loop will reduce dosing further." : { - "comment" : "Description of Integral Retrospective Correction toggle.", + "No" : { + + }, + "No Activity" : { + + }, + "No alerts or alarms will sound while muted. Select how long you would you like to mute for." : { + "comment" : "Message for mute alert duration selection action sheet", + "extractionState" : "stale", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Integral Retrospective Correction (IRC) er en udvidelse af standard Retrospective Correction (RC) algoritmekomponent i Loop, som justerer prognosen baseret på historikken med uoverensstemmelser mellem forudsagte og faktiske glukoseniveauer.\n\nI modsætning til RC, der ser på uoverensstemmelser i løbet af de sidste 30 minutter, med IRC, tilføjes historikken over uoverensstemmelser over tid. Så fortsatte positive uoverensstemmelser over tid vil resultere i øget dosering. Hvis uoverensstemmelserne er negative over tid, vil Loop reducere doseringen yderligere." + "value" : "Ingen advarsler eller alarmer lyder, mens lyden er slået fra. Vælg, hvor længe du vil slå lyden fra." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Integral Retrospective Correction (IRC) ist eine Erweiterung der standardmäßigen Retrospective Correction (RC)-Algorithmuskomponente in Loop, die die Prognose basierend auf der Historie der Abweichungen zwischen vorhergesagten und tatsächlichen Glukosewerten anpasst. \n\nIm Gegensatz zu RC, das die Abweichungen der letzten 30 Minuten betrachtet, summiert sich bei IRC der Verlauf der Abweichungen im Laufe der Zeit. Daher führen anhaltende positive Abweichungen im Laufe der Zeit zu einer erhöhten Dosierung. Wenn die Abweichungen im Laufe der Zeit negativ sind, reduziert Loop die Dosierung weiter." + "value" : "Bei Stummschaltung ertönen keine Warn- oder Alarmsignale. Wähle die Dauer der Stummschaltung aus." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "La correction rétrospective intégrale (IRC) est une extension de l'algorithme standard de correction rétrospective (RC) de Loop, qui ajuste les prévisions en fonction de l'historique des écarts entre les taux de glucose prévus et réels.\n\nContrairement à la correction correction rétrospective, qui prend en compte les écarts des 30 dernières minutes, la correction rétrospective intégrale (IRC) prend en compte l'historique des écarts au fil du temps. Ainsi, des écarts positifs continus au fil du temps entraîneront une augmentation du dosage. Si les écarts sont négatifs au fil du temps, Loop réduira encore le dosage." + "value" : "Aucune alerte ni alarme auditive ne sera émise lorsque le mode silencieux est activé. Choisissez la durée du mode silencieux." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Correzione retrospettiva integrale (IRC) è un'estensione del componente standard dell'algoritmo di correzione retrospettiva (RC) in Loop, che regola la previsione in base alla cronologia delle discrepanze tra i livelli di glicemia previsti e quelli effettivi. \n\nA differenza di RC, che esamina le discrepanze negli ultimi 30 minuti, con IRC la cronologia delle discrepanze si accumula nel tempo. Pertanto, continue discrepanze positive nel tempo comporteranno un aumento del dosaggio. Se le discrepanze diventano negative nel tempo, Loop ridurrà ulteriormente il dosaggio." + "value" : "Nessun avviso o allarme suonerà quando l'audio è disattivato. Seleziona per quanto tempo desideri disattivare l'audio." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Integral Retrospective Correction (IRC) er en utvidelse av standardalgoritmekomponenten Retrospective Correction (RC) i Loop, som justerer prognosen basert på historikken for avvik mellom forventede og faktiske glukosenivåer.\n\nI motsetning til RC, som ser på avvik i løpet av de siste 30 minuttene, summerer IRC avvikene over tid. Fortsatte positive avvik over tid vil derfor føre til økt dosering. Hvis avvikene er negative over tid, vil Loop redusere doseringen ytterligere." + "value" : "Ingen varsler eller alarmer vil høres mens de er dempet. Velg hvor lenge du ønsker å dempe lyden." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Integrale retrospectieve correctie (IRC) is een uitbreiding van het standaardonderdeel Retrospectieve correctie (RC) van het Loop-algoritme. RC past de voorspelling aan op basis van eerdere verschillen tussen voorspelde en werkelijke glucosewaarden.\n\nRC kijkt alleen naar verschillen in de laatste 30 minuten. Bij IRC tellen de verschillen in de loop van de tijd op. Blijven de verschillen langere tijd positief, dan doseert Loop meer. Zijn ze langere tijd negatief, dan doseert Loop nog minder." + "value" : "Zolang dempen aan staat, klinken er geen waarschuwingen of alarmen. Kies hoe lang je wilt dempen." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Integralna korekta retrospektywna (IRC) jest rozszerzeniem standardowego komponentu algorytmu Korekta retrospektywna (RC) w Loop, który koryguje prognozę na podstawie historii rozbieżności między przewidywanymi a rzeczywistymi poziomami glukozy. \n\n W przeciwieństwie do RC, który analizuje rozbieżności w ciągu ostatnich 30 minut, w przypadku IRC historia rozbieżności sumuje się w czasie. Tak więc utrzymujące się dodatnie rozbieżności w czasie spowodują zwiększenie dawki. Jeśli rozbieżności są ujemne w czasie, Loop jeszcze bardziej zmniejszy podawanie insuliny." + "value" : "Po wyciszeniu nie będą emitowane żadne alerty ani alarmy. Wybierz, jak długo chcesz wyciszyć." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Corecția Retrospectivă Integrală (CRI) este o extensie a componentei algoritmului standard de Corecție Retrospectivă (CR) din Loop, care ajustează prognoza pe baza istoricului discrepanțelor dintre nivelurile de glicemie prezise și cele reale. \n \nSpre deosebire de CR, care analizează discrepanțele din ultimele 30 de minute, cu CRI, istoricul discrepanțelor se adună în timp. Așadar, discrepanțele pozitive continue în timp vor duce la creșterea dozării. Dacă discrepanțele sunt negative în timp, Loop va reduce și mai mult dozarea." + "value" : "Nicio alertă nu va suna când este dezactivat sunetul. Odată ce această perioadă se încheie, alertele și alarmele dumneavoastră vor relua normal." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "整体回顾性校正(IRC)是Loop中标准回顾性校正(RC)算法组件的扩展,它根据预测血糖值与实际血糖值之间的历史偏差来调整预测值。\n\n与仅关注过去30分钟偏差情况的RC不同,IRC会随时间推移累积偏差历史数据。因此,若偏差值长期呈正值,剂量将相应增加;若偏差值长期呈负值,Loop则会进一步减少剂量。" + "value" : "静音期间所有提醒与告警都不会发出声音。请选择你希望保持静音的时长。" } } } }, - "Interrupted %1$@: %2$@ of %3$@ %4$@" : { - "comment" : "Description of an interrupted bolus dose entry (1: title for dose type, 2: value (? if no value) in bold, 3: programmed value (? if no value), 4: unit)", + "No Bolus Recommended" : { + "comment" : "Title for bolus screen notice when no bolus is recommended\nTitle for bolus screen warning when glucose is below suspend threshold, and a bolus is not recommended\nTitle for bolus screen warning when no bolus is recommended", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Afbrudt %1$@: %2$@ af %3$@ %4$@" + "value" : "Ingen bolus anbefalet" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ unterbrochen: %2$@ von %3$@ %4$@" + "value" : "Kein Bolus empfohlen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ interrumpido: %2$@ de %3$@ %4$@" + "value" : "No hay bolo recomendado" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Keskeytetty %1$@: %2$@ / %3$@ %4$@" + "value" : "Bolusta ei suositella" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Interrompu %1$@: %2$@ de %3$@ %4$@" + "value" : "Aucun Bolus Recommandé" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "אין המלצה לבולוס" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Interrotto %1$@: %2$@ di %3$@ %4$@" + "value" : "Nessun bolo consigliato" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Avbrutt %1$@: %2$@ av %3$@ %4$@" + "value" : "Ingen anbefalt bolus" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Onderbroken %1$@: %2$@ van %3$@ %4$@" + "value" : "Geen bolus aanbevolen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Przerwane %1$@ : %2$@ z %3$@ %4$@" + "value" : "Bolus nie jest zalecany" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Întrerupere %1$@: %2$@ din %3$@ %4$@" + "value" : "Niciun bolus recomandat" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Прервано %1$@: %2$@ из %3$@ %4$@" + "value" : "Нет рекомендации болюса" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Avbruten %1$@: %2$@ av %3$@ %4$@" + "value" : "Ingen bolus rekommenderas" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ kesintiye uğradı: %3$@ %4$@'nın %2$@ 'si" + "value" : "Bolus Önerilmez" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "中断的 %1$@:计划剂量:%3$@ %4$@, 实际剂量: %2$@" + "value" : "没有推荐的餐前剂量" } } } }, - "Interval Training " : { + "No change in glucose." : { }, - "Invalid absorption time: %1$@ hours" : { - "comment" : "Carb error description: invalid absorption time. (1: Input duration in hours).", + "no change needed" : { + + }, + "No connected devices, or failure during device connection" : { + "comment" : "The error message displayed for device connection errors.", "localizations" : { - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ugyldig absorptionstid: %1$@ timer" - } - }, - "de" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Ungültige Resorptionszeit: %1$@ Stunden" + "value" : "لا يوجد أجهزة متصلة, أو يوجد خطأ أثناء الاتصال" } }, - "fr" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Temps d'absorption invalide : %1$@ heures" + "value" : "Ingen tilsluttede enheder eller fejl under forbindelse til enhed" } }, - "it" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Periodo di assorbimento non valido: %1$@ ore" + "value" : "Keine verbundenen Geräte oder Fehler während der Geräteverbindung" } }, - "nb" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Ugyldig absorpsjonstid: %1$@ timer" + "value" : "No hay dispositivos conectados o falla durante conexión de dispositivo" } }, - "nl" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ongeldige opnametijd: %1$@ uur" + "value" : "Ei yhdistettyjä laitteita tai häiriö laiteyhteydessä" } }, - "pl" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Nieprawidłowy czas absorpcji: %1$@ godz" + "value" : "Pas d'appareil connecté, ou échec durant la connexion à l'appareil" } }, - "ro" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Timp de absorbție nevalid: %1$@ ore" + "value" : "אין מכשירים מחוברים, או שישנה שגיאת התחברות." } }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "无效的吸收时间:%1$@ 小时" - } - } - } - }, - "Invalid Bolus Amount" : { - "comment" : "Bolus error description: invalid bolus amount.", - "localizations" : { - "da" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Ugyldig bolusmængde" + "value" : "Nessun dispositivo connesso o mancanza di segnale durante la connessione del dispositivo" } }, - "de" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Ungültige Bolusmenge" + "value" : "機器が未接続、または接続に問題" } }, - "fr" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Quantité de bolus invalide" + "value" : "Ingen tilkoblede enheter, eller feil under enhetstilkobling" } }, - "he" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "כמות בולוס לא תקינה" + "value" : "Geen aangesloten apparaten of storingen tijdens het verbinden met het apparaat" } }, - "it" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Quantità bolo non valida" + "value" : "Brak podłączonych urządzeń lub awaria podczas połączenia urządzenia" } }, - "nb" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Ugyldig bolusmengde" + "value" : "Nenhum dispositivo conectado ou falha durante a conexão" } }, - "nl" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Ongeldige bolushoeveelheid" + "value" : "Nu este conectat niciun dispozitiv sau s-a produs o eroare la conectare" } }, - "pl" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Nieprawidłowa wielkość bolusa" + "value" : "Устройства не сопряжены или произошла ошибка во время сопряжения" } }, - "ro" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Cantitate invalidă de bolus" + "value" : "Ingen ansluten enhet, eller fel vid anslutning till enhet" } }, - "ru" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Неверный объем болюса" + "value" : "Bağlı cihaz yok veya cihaz bağlantısı sırasında hata" } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Geçersiz Bolus Miktarı" + "value" : "Không có thiết bị nào được kết nối, hoặc lỗi trong quá trình kết nối" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "大剂量无效" + "value" : "没有连接的设备,或设备连接期间发生故障" } } } }, - "Invalid carb amount" : { - "comment" : "Carb error description: invalid carb amount.", + "No Delivery" : { + + }, + "No glucose data for this period." : { + "comment" : "Statistics empty state" + }, + "No Maximum Bolus Configured" : { + "comment" : "Alert title for a missing maximum bolus setting error", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Ugyldig kulhydratmængde" + "value" : "Ingen maksimal bolus konfigureret" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Ungültige Kohlenhydratmenge" + "value" : "Kein maximaler Bolus konfiguriert" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Cantidad de carbohidratos no válida" + "value" : "No hay bolo máximo configurado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Maksimibolusta ei ole määritetty" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Quantité de glucides invalide" + "value" : "Aucun Bolus Maximum configuré" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "כמות פחמימות לא תקינה" + "value" : "לא הוגדר בולוס מקסימלי" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Quantità di carboidrati non valida" + "value" : "Nessun bolo massimo configurato" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Ugyldig karbohydratmengde" + "value" : "Ingen maksimal bolus er konfigurert" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Ongeldige hoeveelheid koolhydraten" + "value" : "Geen maximale bolus geconfigureerd" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Nieprawidłowa ilość węglowodanów" + "value" : "Nie skonfigurowano maksymalnego bolusa" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Cantitate de carbohidrați invalidă" + "value" : "Bolusul maxim nu este setat" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Неверное количество углеводов" + "value" : "Не установлен максимальный болюс" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ingen maximal bolus har blivit inställd" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Geçersiz karb miktarı" + "value" : "Yapılandırılmış Maksimum Bolus Yok" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "碳水含量无效" + "value" : "没有设置最大推注量" } } } }, - "Invalid data: %1$@" : { - "comment" : "The error message when invalid data was encountered. (1: details of invalid data)", - "extractionState" : "manual", + "No performance history available yet" : { + + }, + "No Pump Configured" : { + "comment" : "Alert title for a missing pump error", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "بيانات غير صالحة: %1$@" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Fejlagtige data: %1$@" + "value" : "Ingen pumpe konfigureret" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Ungültige Daten: %1$@" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Invalid data: %1$@" + "value" : "Keine Pumpe konfiguriert" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Datos no válidos: %1$@" + "value" : "No hay microinfusadora configurada" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Virheellinen tieto: %1$@" + "value" : "Pumppua ei ole määritetty" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Données Incorrectes: %1$@" + "value" : "Pas de pompe configurée" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Invalid data: %1$@" + "value" : "לא הוגדרה משאבה" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Dati non validi: %1$@" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "無効データ: %1$@" + "value" : "Nessuna pompa configurata" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Ugyldige data: %1$@" + "value" : "Ingen pumpe er konfigurert" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Ongeldige gegevens: %1$@" + "value" : "Geen pomp geconfigureerd" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Błędne dane: %1$@" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Dados inválidos: %1$@" + "value" : "Nie skonfigurowano pompy" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Date invalide: %1$@" + "value" : "Nicio pompă configurată" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Неверные данные: %1$@" + "value" : "Нет настроенной помпы" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Ogiltigt värde: %1$@" + "value" : "Ingen pump konfigurerad" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Geçersiz veri: %1$@" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Dữ liệu vô hiệu: %1$@" + "value" : "Yapılandırılmış Pompa Yok" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "无效数据: %1$@" + "value" : "未配置泵" } } } }, - "Invalid Future Glucose" : { - "comment" : "Title for bolus screen notice when glucose data is in the future", + "No Recent Glucose" : { + "comment" : "The title of the cell indicating that there is no recent glucose", + "extractionState" : "stale", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Ugyldig fremtidig glukose" + "value" : "Ingen nyere glukose" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Ungültige zukünftige Blutzuckerwerte" + "value" : "Kein aktueller Blutzucker " } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosa futura no válida" + "value" : "Sin glucosa reciente" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ei viimeaikaisia glukoositietoja" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Glycémie future invalide" + "value" : "Pas de Glycémie récente" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "אין גלוקוז לאחרונה" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia futura non valida" + "value" : "Nessuna glicemia recente" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Ugyldig fremtidig blodsukker" + "value" : "Ingen ny blodsukkermåling" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Ongeldige toekomstige glucose" + "value" : "Geen recente glucose" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Przyszła glukoza nie jest znana" + "value" : "Brak aktualnej glukozy" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemie Viitoare Invalidă" + "value" : "Lipsă glicemie recentă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Недействительная будущая глюкоза" + "value" : "Нет актуальных данных о глюкозе" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inga senaste blodglukosvärde" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Geçersiz Gelecek Glikoz" + "value" : "Son KŞ Yok" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "无效的未来血糖值" + "value" : "无近期血糖数据" } } } }, - "Invalid glucose reading with a timestamp that is %1$@ in the future" : { - "comment" : "The error message when glucose data is in the future. (1: glucose data time in future in minutes)", + "No Recent Glucose Data" : { + "comment" : "Title for bolus screen notice when glucose data is missing or stale", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Ugyldig glukoseaflæsning med et tidsstempel, der er %1$@ i fremtiden" + "value" : "Ingen nylige glukosedata" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Ungültiger Blutzuckermesswert mit einem Zeitstempel, der %1$@ in der Zukunft liegt" + "value" : "Kein aktueller Blutzucker " } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Lectura de glucosa no válida de %1$@ en el futuro" + "value" : "Sin datos de glucosa recientes" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ei viimeaikaisia glukoositietoja" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Lecture de glucose non valide avec un horodatage situé à %1$@ dans le futur" + "value" : "Pas de Glycémie récente" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "אין נתוני גלוקוז אחרונים" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Lettura della glicemia non valida con data e ora %1$@ nel futuro" + "value" : "Nessun dato recente sulla glicemia" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Ugyldig blodsukkermåling med et tidsstempel som er %1$@ i fremtiden" + "value" : "Ingen nye blodsukkerdata" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Ongeldige glucosemeting met een tijdstempel dat %1$@ in de toekomst ligt." + "value" : "Geen recente glucosegegevens" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Nieprawidłowy odczyt glukozy ze znacznikiem czasu, który wynosi %1$@ w przyszłości" + "value" : "Brak ostatnich danych dotyczących glukozy" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Citirea invalidă a glicemiei cu un marcaj temporal care este %1$@ în viitor" + "value" : "Lipsă date recente glicemie" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Неверное показание глюкозы с временной меткой, которая находится на %1$@ в будущем" + "value" : "Нет актуальных данных о глюкозе" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inget aktuellt blodsockervärde" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Gelecekte %1$@ olan bir zaman damgasıyla geçersiz KŞ okuması" + "value" : "Son KŞ Verisi Yok" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "血糖读数无效,其时间戳为 %1$@ ,该时间点在未来" + "value" : "无近期血糖数据记录" } } } }, - "iOS" : { - - }, - "iOS Critical Alerts and Time Sensitive Alerts are types of Apple notifications. They are used for high-priority events. Some examples include:" : { - "extractionState" : "stale", + "No Recent Pump Data" : { + "comment" : "Title for bolus screen notice when pump data is missing or stale", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Kritiske iOS-advarsler og tidsfølsomme advarsler er typer Apple-meddelelser. De bruges til begivenheder med høj prioritet. Nogle eksempler inkluderer:" + "value" : "Ingen nyere pumpedata" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Kritische iOS-Warnungen und zeitkritische Warnungen sind Arten von Apple-Benachrichtigungen. Sie werden für Ereignisse mit hoher Priorität verwendet. Einige Beispiele:" + "value" : "Keine Pumpendaten" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sin datos de microinfusora recientes" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ei viimeaikaisia pumpun tietoja" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Les alertes critiques iOS et les alertes urgentes sont des types de notifications Apple. Elles sont utilisées pour des événements de haute priorité. Voici quelques exemples :" + "value" : "Aucune donnée de pompe récente" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "אין נתוני משאבה אחרונים" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "gli avvisi critici e gli avvisi sensibili al tempo di iOS sono tipi di notifiche Apple. Vengono utilizzati per eventi ad alta priorità. Alcuni esempi sono:" + "value" : "Nessun dato recente sulla pompa" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "iOS Critical Alerts og Time Sensitive Alerts er typer Apple-varsler. De brukes ved hendelser med høy prioritet. Noen eksempler er:" + "value" : "Mangler relevant pumpdata" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Kritieke meldingen en Tijdgevoelige meldingen zijn soorten meldingen van Apple in iOS. Ze worden gebruikt voor belangrijke gebeurtenissen. Enkele voorbeelden:" + "value" : "Geen recente pompgegevens" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Alerty krytyczne systemu iOS i alerty zależne od czasu to typy powiadomień Apple. Wykorzystuje się je do zdarzeń o wysokim priorytecie. Oto kilka przykładów:" + "value" : "Brak ostatnich danych pompy" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Alertele critice iOS și alertele urgente sunt tipuri de notificări Apple. Sunt folosite pentru evenimente cu prioritate ridicată. Câteva exemple includ:" + "value" : "Lipsă date recente pompă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Критические оповещения iOS и срочные оповещения — это типы уведомлений Apple. Они используются для проведения высокоприоритетных мероприятий. Вот некоторые примеры:" + "value" : "Нет актуальных данных от помпы" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Det finns inga aktuella pumpdata" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Son Pompa Verisi Yok" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "iOS 严重告警与时效性告警是苹果系统的两类通知,用于高优先级事件。部分示例包括:" + "value" : "没有最近的泵数据" } } } }, - "iOS Focus Modes" : { - "comment" : "View title for iOS focus modes\niOS focus modes navigation link label" - }, - "IOS FOCUS MODES" : { - "extractionState" : "stale", + "No, edit amount" : { + "comment" : "The title of the action used when rejecting the the amount of carbohydrates entered.", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "iOS-FOKUSTILSTANDE" + "value" : "Nej, indstil mængde" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "IOS-FOKUSMODI" + "value" : "Nein, Menge bearbeiten" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "No, editar cantidad" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "MODES DE CONCENTRATION IOS" + "value" : "Non, modifier la quantité" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "לא, ערוך כמות" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "MODALITÀ FOCUS IOS" + "value" : "No, modifica la quantità" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "IOS-FOKUSMODUSER" + "value" : "Nei, rediger mengde" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "FOCUSMODI VAN IOS" + "value" : "Nee, hoeveelheid aanpassen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "TRYBY SKUPIENIA IOS" + "value" : "Nie, edytuj ilość" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "MODURI CONCENTRARE IOS" + "value" : "Nu, modificați cantitatea" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "РЕЖИМЫ ФОКУСИРОВКИ IOS" + "value" : "Нет, редактировать сумму" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hayır, miktarı düzenle" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "iOS专注模式" + "value" : "不,修改含量" } } } }, - "iOS Focus Modes enable you to have more control over when apps can send you notifications. If you decide to use these, ensure that notifications are allowed and NOT silenced from %1$@." : { - "comment" : "Description text for focus modes (1: app name)" - }, - "iOS has added features such as ‘Focus Mode’ that enable you to have more control over when apps can send you notifications.\n\nIf you wish to continue receiving important notifications from %1$@ while in a Focus Mode, you must ensure that notifications are allowed and NOT silenced from %1$@ for each Focus Mode." : { - "comment" : "Description text for iOS Focus Modes (1: app name) (2: app name)" - }, - "iOS Permissions" : { - "comment" : "Notification & Critical Alert Permissions screen title\niOS Permissions button text" - }, - "iOS Permissions and Mute All App Sounds" : { - "comment" : "Alert Permissions descriptive text" - }, - "ISF" : { - - }, - "Issue Report" : { - "comment" : "The title text for the issue report menu item\nThe view controller title for the issue report screen", - "extractionState" : "stale", + "None" : { + "comment" : "Indicates no favorite food is selected", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "تقرير المشكلة" + "value" : "None" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Žádný" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Fejlrapport" + "value" : "Ingen" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Problembericht" + "value" : "Keiner" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Informe de Errores" + "value" : "Ninguno" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ongelmaraportti" + "value" : "Ei mitään" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Créer un rapport" + "value" : "Aucun" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Issue Report" + "value" : "None" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Report problemi" + "value" : "Nessuno" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "問題を報告" + "value" : "なし" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Problem Rapport" + "value" : "Ingen" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Probleemrapportage" + "value" : "Geen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Zgłaszanie błędów" + "value" : "Brak" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Gerar Relatório" + "value" : "Nenhum" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Generați raport" + "value" : "Nimic" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Не подан" } }, - "ru" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Сообщить об ошибке" + "value" : "Žiadny" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Skapa felrapport" + "value" : "Ingen" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Sorun Raporu" + "value" : "Hiçbiri" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Xuất bản Báo cáo" + "value" : "None" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "问题报告" + "value" : "无" } } } }, - "It looks like you may not have logged a meal you ate. Tap to log it now." : { - "comment" : "The notification description for a meal that was possibly not logged in Loop.", + "None in last 24 hours" : { + + }, + "Not enough data to plot a profile." : { + "comment" : "AGP empty state" + }, + "Not Set" : { + "comment" : "Health sharing status: not determined" + }, + "Notification Delivery" : { + "comment" : "Notification Delivery Status text", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Det ser ud til, at du måske ikke har indtastet et måltid, du har spist. Tryk for at logge det nu." + "value" : "Notifikationsindstillinger" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Es sieht so aus, als ob du vergessen hast eine Mahlzeit einzugeben. Tippe um sie nun einzutragen." + "value" : "Benachrichtigungszustellung" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entrega de notificaciones" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Il semble que vous n'ayez pas enregistré un repas que vous avez pris. Appuyez pour l'enregistrer maintenant." + "value" : "Notification de l'administration" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "ייתכן ולא הזנת ארוחה שאכלת. לחץ כדי להזין אותה כעת." + "value" : "משלוח הודעות" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Sembra che non sia stato registrato un pasto consumato. Tocca per registrarlo ora." + "value" : "Invio delle notifiche" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Det ser ut til at du kanskje ikke har logget et måltid du har spist. Trykk for å logge den nå." + "value" : "Varslingslevering" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Het lijkt erop dat je een maaltijd die je hebt gegeten niet hebt toegevoegd. Tik om het nu toe te voegen." + "value" : "Afleveren meldingen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wygląda na to, że nie wprowadziłeś zjedzonego posiłku. Stuknij, aby dodać zaległy posiłek." + "value" : "Dostarczanie powiadomień" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Se pare că nu ați înregistrat o masă pe care ați mâncat-o. Atingeți pentru a o înregistra acum." + "value" : "Livrare notificare" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Похоже, что Вы не ввели съеденную Вами еду. Нажмите , чтобы записать ее сейчас." + "value" : "Доставка уведомлений" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Görünüşe göre yediğiniz bir yemeği kaydetmemiş olabilirsiniz. Şimdi kaydetmek için dokunun." + "value" : "Bildirim Gönderimi" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "检测到你可能进食了但没有记录餐食。点击此处立即录入碳水。" + "value" : "通知推送类型" } } } }, - "Jogging" : { - - }, - "Keep All Notifications ON for %1$@" : { - "comment" : "Time sensitive notifications callout title (1: app name)" - }, - "Keep your volume up" : { - "comment" : "Critical alert audio fallback callout title" - }, - "Large Meal Entered" : { - "comment" : "Title of the warning shown when a large meal was entered", + "Notification delivery is set to Scheduled Summary in your phone’s settings.\n\nTo avoid delay in receiving notifications from %1$@, we recommend notification delivery be set to Immediate Delivery." : { + "comment" : "Format for Critical Alerts permissions disabled alert body. (1: app name)", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Stort måltid indtastet" + "value" : "Notifikationer er indstillet til et Planlagt resumé i telefonens indstillinger.\n\nFor at undgå forsinkelser ved modtagelse af notifikarioner fra %1$@ anbefaler vi, at notifikationslevering er indstillet til øjeblikkelig levering." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Große Mahlzeit eingegeben" + "value" : "Die Benachrichtigungszustellung ist in den Einstellungen Deines Telefons auf geplante Zusammenfassung eingestellt.\n\nUm Verzögerungen beim Erhalt von Benachrichtigungen von %1$@ zu vermeiden, empfehlen wir, die Benachrichtigungszustellung auf sofortige Zustellung einzustellen." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Comida grande ingresada" + "value" : "El envío de notificaciones está configurado como Resumen Programado en los ajustes del teléfono.\n\nPara evitar retrasos en la recepción de notificaciones de %1$@, le recomendamos que configure el envío de notificaciones como Entrega inmediata." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Grand repas entré" + "value" : "L'envoi des notifications est réglé sur \"Résumé programmé\" dans les paramètres de votre téléphone.\n\nPour éviter tout retard dans la réception des notifications de %1$@, nous vous recommandons de régler l'envoi des notifications sur \"Envoi immédiat\"." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "ארוחה גדולה נרשמה" + "value" : "משלוח התראות מוגדר לסיכום מתוזמן בהגדרות הטלפון שלך. \n\n כדי למנוע עיכוב בקבלת התראות מ- %1$@ , אנו ממליצים להגדיר את משלוח ההתראות למשלוח מיידי." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Pasto abbondante inserito" + "value" : "L'invio delle notifiche è impostato su Riepilogo pianificato nelle impostazioni del telefono. \n\nPer evitare ritardi nella ricezione delle notifiche da %1$@ , ti consigliamo di impostare l'invio delle notifiche su Consegna immediata." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Angitt Stort Måltid" + "value" : "Varslingslevering er satt til Planlagt sammendrag i telefonens innstillinger. \n\n For å unngå forsinkelser i mottak av varsler fra %1$@ , anbefaler vi at varslingslevering settes til Umiddelbar levering." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Grote maaltijd ingevoerd" + "value" : "De aflevering van meldingen in de instellingen van je telefoon staat op Gepland overzicht.\n\nOm vertraging bij het ontvangen van meldingen van %1$@ te voorkomen, raden we je aan om de aflevering van meldingen in te stellen op Onmiddellijk afleveren." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wprowadzono duży posiłek" + "value" : "Dostarczanie powiadomień jest ustawione na Zaplanowane podsumowanie w ustawieniach telefonu. \n\nAby uniknąć opóźnień w otrzymywaniu powiadomień od %1$@ , zalecamy ustawienie dostarczania powiadomień na Natychmiastowe dostarczanie." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "O cantitate mare de carbohidrați a fost introdusă" + "value" : "Livrarea notificărilor este setată la Rezumat programat în setările telefonului dumneavoastră. \n\nPentru a evita întârzierea primirii notificărilor de la %1$@, vă recomandăm ca livrarea notificărilor să fie setată la Livrare imediată." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Введена большая порция еды" + "value" : "В настройках телефона для доставки уведомлений установлено значение \"Сводка по расписанию\".\n\nЧтобы избежать задержки в получении уведомлений от %1$@, мы рекомендуем установить доставку уведомлений на Немедленную доставку." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Büyük Yemek Girildi" + "value" : "Bildirim gönderimi, telefonunuzun ayarlarında Zamanlanmış Özet olarak ayarlanmıştır.\n\n%1$@ adresinden bildirim almakta gecikmeyi önlemek için bildirim gönderimini Anında Gönderim olarak ayarlanmasını öneririz." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "已输入大份餐" + "value" : "你的手机设置中,该 App 通知投递方式为定时推送摘要。\n\n为避免接收 %1$@ App 通知出现延迟,建议将通知投递方式改为立即推送。" } } } }, - "Larger glucose drop" : { - - }, - "LAST 7 DAYS" : { - "comment" : "Preset Performance History, Last 7 days, Section title" - }, - "LAST 24 HOURS" : { - "comment" : "Preset Performance History, Last 24 hrs, Section title" - }, - "Last Auto Bolus" : { - - }, - "Last Bolus: " : { - - }, - "Last loop completed" : { - - }, - "Last Used" : { - "comment" : "Preset sorting option description for sorting by last used" - }, - "Later that day, Paloma eats a meal with about 30g of carbs." : { - - }, - "Launches CGM app" : { - "comment" : "Glucose HUD accessibility hint", - "extractionState" : "manual", + "Notifications" : { + "comment" : "Notifications Status text", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "قم بتشغيل تطبيق نظام متابعة سكر الدم المستمرة" - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Åbner CGM app’en" + "value" : "Notifikationer" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Öffnet die CGM-App" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Launches CGM app" + "value" : "Benachrichtigungen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Lanza app MCG" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Avaa CGM-sovelluksen" + "value" : "Notificaciones" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Lance l'application CGM" + "value" : "Notifications" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "מפעיל אפליקציית חיישן" + "value" : "התראות" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Avvia l'app CGM" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "CGMアプリを起動" + "value" : "Notifiche" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Laster inn CGM-appen" + "value" : "Varsler" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Lanceert CGM app" + "value" : "Sta meldingen toe" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Uruchamia aplikację CGM" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Inicia app CGM" + "value" : "Powiadomienia" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Lansează aplicația senzorului de glicemie" + "value" : "Notificări" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Запускает приложение непрерывного мониторинга CGM" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Startar CGM-app" + "value" : "Уведомления" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "CGM uygulamasına erişim" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Phát hành ứng dụng CGM" + "value" : "Bildirimler" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "启动CGM软件" + "value" : "通知" } } } }, - "Learn More" : { - "comment" : "Learn more section header\nOK button title for alert shown when delivery status is uncertain", + "Notifications Delayed" : { + "comment" : "Scheduled Delivery Enabled alert title", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Lær mere" + "value" : "Notifikationer forsinkede" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Mehr erfahren" + "value" : "Benachrichtigungsverzögerung" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Más información" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lue lisää" + "value" : "Retraso en las notificaciones" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "En savoir plus" + "value" : "Notifications retardées" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "מידע נוסף" + "value" : "התראות מתעכבות" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Ulteriori informazioni" + "value" : "Notifiche ritardate" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Lære mer" + "value" : "Varsler forsinket" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Meer informatie" + "value" : "Meldingen vertraagd" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Dowiedz się więcej" + "value" : "Spóźnione Powiadomienia" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Aflați mai multe" + "value" : "Notificări întârziate" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Подробнее" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lär dig mer" + "value" : "Уведомления временно отключены" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Daha fazla bilgi edin" + "value" : "Bildirimler Gecikti" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "了解更多" + "value" : "通知延迟" } } } }, - "Learn more about Alerts" : { - "comment" : "Link to learn more about alerts" - }, - "Learning Hub" : { - - }, - "Less than a minute remaining" : { - "comment" : "Estimated remaining duration with less than a minute", + "Notifications give you important %1$@ app information without requiring you to open the app." : { + "comment" : "Alert Permissions descriptive text (1: app name)", + "extractionState" : "stale", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Mindre end 1 minut tilbage" + "value" : "Meddelelser giver dig vigtige oplysninger om %1$@-appen uden at du behøver at åbne appen." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Weniger als eine Minute verbleiben" + "value" : "Benachrichtigungen geben Dir wichtige %1$@-App-Informationen, ohne dass Du die App öffnen musst." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Queda menos de un minuto" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Alle minuutti jäljellä" + "value" : "Las notificaciones te proporcionan información importante sobre la aplicación %1$@ sin que tengas que abrirla." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Moins d'une minute restante" + "value" : "Les notifications vous donnent des informations importantes sur l'application %1$@ sans avoir à l'ouvrir." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "נותרה פחות מדקה" + "value" : "התראות מעבירות לך מידע חשוב על האפליקציה %1$@ מבלי לדרוש ממך לפתוח את האפליקציה." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Meno di un minuto rimanente" + "value" : "Le notifiche ti forniscono informazioni importanti sull'app %1$@ senza che tu debba aprire l'app." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Mindre enn et minutt gjenstår" + "value" : "Varslinger gir deg viktig %1$@ app informasjon uten at du behøver å åpne appen." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Minder dan een minuut resterend" + "value" : "Meldingen geven je belangrijke %1$@ appinformatie zonder dat je de app hoeft te openen." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Pozostało mniej niż minutę" + "value" : "Powiadomienia zawierają ważne informacje o aplikacji %1$@ bez konieczności otwierania aplikacji." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "A rămas mai puțin de un minut" + "value" : "Notificările vă oferă informații importante despre aplicația %1$@ fără a fi necesar să deschideți aplicația." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Осталось меньше минуты" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mindre än en minut återstår" + "value" : "Уведомления предоставляют важную информацию о приложении %1$@, не требуя открытия приложения." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bir dakikadan az kaldı" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "剩余时间不足 1 分钟" - } - } - } - }, - "Let’s walk through a simple example to show how a preset might be used in this situation." : { - - }, - "Let’s walk through some examples to show how presets might be used in these situations." : { - - }, - "Light Intensity (Aerobic)" : { - - }, - "Light-to-moderate intensity exercise can cause a drop in glucose levels. This is because your body uses glucose (or sugar) for energy during physical activity." : { - - }, - "Live activity" : { - "comment" : "Live activity screen title", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Live-Aktivität" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Activité en direct" - } - }, - "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "Live activity" - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Live activiteit" - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Activitate live" + "value" : "Bildirimler, uygulamayı açmanıza gerek kalmadan size önemli %1$@ uygulama bilgilerini verir." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "实时活动" + "value" : "通知可在无需打开 %1$@ 应用的情况下,向你提供重要信息。" } } } }, - "Live Activity" : { - "comment" : "Live Activity settings button text" - }, - "Loading..." : { - "comment" : "The loading message for the diagnostic report screen", - "extractionState" : "stale", + "Notifications give you important %1$@ app information without requiring you to open the app.\n\nKeep these turned ON in your phone’s settings to ensure you receive %1$@ Notifications, Critical Alerts, and Time Sensitive Notifications." : { + "comment" : "Alert Permissions descriptive text (1: app name)", "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "تحميل..." - } - }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Indlæser..." + "value" : "Meddelelser giver dig vigtige oplysninger om %1$@-appen, uden at du behøver at åbne appen.\n\nLad dem være aktiveret i telefonens indstillinger for at sikre, at du modtager %1$@-meddelelser, kritiske advarsler og tidsfølsomme meddelelser." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Laden…" + "value" : "Benachrichtigungen geben Dir wichtige %1$@ App-Informationen, ohne dass Du die App öffnen musst.\n\nLass diese in den Einstellungen Deines Telefons aktiviert, um sicherzustellen, dass Du %1$@ Benachrichtigungen, kritische Warnungen und zeitkritische Benachrichtigungen erhältst." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Cargando..." - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ladataan..." + "value" : "Las notificaciones te proporcionan información importante sobre la aplicación %1$@ sin que tengas que abrirla.\n\nManten estas activadas en los ajustes del teléfono para recibir notificaciones %1$@, alertas críticas y notificaciones sensibles al tiempo cuando se entregan." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Chargement..." + "value" : "Les notifications vous donnent des informations importantes sur l’application %1$@ sans que vous ayez à ouvrir l’application.\n\nGardez-les activées dans les paramètres de votre téléphone pour vous assurer de recevoir Notifications, Alertes critiques et Notifications urgentes de %1$@." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Loading..." + "value" : "התראות מעניקות לך מידע חשוב על %1$@ מבלי לדרוש ממך לפתוח את האפליקציה.\n\nכדי להבטיח שתקבל התראות %1$@, התראות קריטיות והתראות רגישות לזמן, וודא שהן מופעלות." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Caricamento in corso..." - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "ロード中..." + "value" : "Le notifiche ti forniscono informazioni importanti sull'app %1$@ senza che tu debba aprire l'app. \n\nTienile attive nelle impostazioni del tuo telefono per assicurarti di ricevere %1$@ notifiche, avvisi critici e notifiche sensibili al tempo." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Laster inn..." + "value" : "Varsler gir deg viktig %1$@ appinformasjon uten at du trenger å åpne appen. \n\n Hold disse slått PÅ i telefonens innstillinger for å sikre at du mottar %1$@ -varsler, kritiske varsler og tidssensitive varsler." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Laden..." + "value" : "Meldingen geven je belangrijke %1$@ appinformatie zonder dat je de app hoeft te openen.\n\nHoud deze instellingen AAN in je telefooninstellingen om ervoor te zorgen dat %1$@ je meldingen, Kritieke meldingen en Tijdgevoelige meldingen ontvangt." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Ładowanie..." - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Carregando..." + "value" : "Powiadomienia dostarczają ważnych informacji o aplikacji %1$@ bez konieczności otwierania aplikacji. \n\nWłącz je w ustawieniach telefonu, aby mieć pewność, że będziesz otrzymywać powiadomienia %1$@ , alerty krytyczne i powiadomienia zależne od czasu." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Se încarcă..." + "value" : "Notificările vă oferă informații importante despre aplicația %1$@ fără a fi necesar să deschideți aplicația. \n\nPăstrați-le activate în setările telefonului pentru a vă asigura că primiți notificări %1$@, alerte critice și notificări urgente." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Загрузка..." - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Laddar..." + "value" : "Уведомления предоставляют важную информацию о приложении %1$@, не требуя открытия приложения.\n\nВключите их в настройках телефона, чтобы получать уведомления %1$@, критические предупреждения и уведомления, чувствительные к времени." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Yükleniyor..." - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Đang tải..." + "value" : "Bildirimler, uygulamayı açmanıza gerek kalmadan size önemli %1$@ uygulama bilgilerini verir. \n\n %1$@ Bildirimler, Kritik Uyarılar ve Zamana Duyarlı Bildirimler aldığınızdan emin olmak için telefonunuzun ayarlarında bunları AÇIK durumda tutun." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "读取中..." + "value" : "通知可在无需打开 %1$@ 应用的情况下,向你提供重要信息。\n\n请在手机设置中保持通知开启,以确保你能够接收 %1$@ 通知、关键通知和时效性通知。" } } } }, - "Lock Screen / Dynamic Island / CarPlay" : { - "comment" : "The title of a section in the live activity settings view, related to lock screen, dynamic island, or carplay.", - "isCommentAutoGenerated" : true, + "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption." : { + "comment" : "Section explaining carb effects chart" + }, + "Off" : { + "comment" : "Notification Setting Status is Off", "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sperrbildschirm / Dynamic Island / CarPlay" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Écran verrouillé / Dynamic Island / CarPlay" - } - }, - "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "Låseskjerm / Dynamic Island / CarPlay" - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Toegangsscherm / Dynamic Island / CarPlay" - } - }, - "ro" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Ecran de blocare / Insulă dinamică / CarPlay" + "value" : "Vypnuto" } }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "锁屏 / 灵动岛 / CarPlay 车载" - } - } - } - }, - "Lock Screen, Dynamic Island, and CarPlay display" : { - "comment" : "Live Activity settings descriptive text" - }, - "Log Dose" : { - "comment" : "Accessibility label for the manual dose entry button on the insulin delivery screen\nButton text to log a dose\nTitle for dose logging screen", - "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Log dosis" + "value" : "Slukket" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Dosis speichern" + "value" : "Aus" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Registrar dosis" + "value" : "Apagado" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Kirjaa annos" + "value" : "Pois päältä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Enregistrer la dose" + "value" : "Désactivé" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "כבוי" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Registra dose" + "value" : "Disattivato" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Logg Dose" + "value" : "Av" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Registreer dosis" + "value" : "Uit" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Zarejestruj dawkę" + "value" : "Wyłącz" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Înregistrați doza" + "value" : "Oprit" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Доза из лога" + "value" : "Выключено" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vypnuté" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Logga Dos" + "value" : "Av" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Günlük Doz" + "value" : "Kapalı" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "记录注射量" + "value" : "关闭" } } } }, - "Logged Insulin Dose" : { - "comment" : "The title of the screen displaying a manually entered insulin dose", + "Oh no! Loop crashed while dosing, and insulin adjustments have been paused until this dialog is closed. Dosing history may not be accurate. Please review Insulin Delivery charts, and monitor your blood glucose carefully." : { + "comment" : "Modal body for crash recovery alert", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Logget insulindosis" + "value" : "Åh nej! Loop gik ned under dosering, og insulinjusteringer er blevet sat på pause, indtil denne dialogboks er lukket. Doseringshistorikken er muligvis ikke nøjagtig. Gennemgå venligst insulintilførsindstillinger og overvåg dit blodsukker omhyggeligt." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Gespeicherte Insulindosis" + "value" : "Oh nein! Loop ist während des Bolus abgestürzt und die Insulinanpassungen wurden angehalten, bis dieser Dialog geschlossen wird. Der Dosierung-Verlauf ist möglicherweise nicht korrekt. Bitte prüfe die Tabellen zur Insulinabgabe und überwache Deinen Blutzucker sorgfältig." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Dosis de insulina registrada" + "value" : "¡Oh, no! Loop falló durante la dosificación y los ajustes de insulina se pausaron hasta que se cierre este cuadro de diálogo. El historial de dosificación puede no ser exacto. Revise los gráficos de administración de insulina y controle cuidadosamente su nivel de glucosa en sangre." } }, - "fi" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Kirjattu insuliiniannos" + "value" : "Oh non ! La boucle s'est arrêtée pendant le dosage, et les ajustements d'insuline ont été mis en pause jusqu'à ce que ce dialogue soit fermé. L'historique des dosages peut ne pas être exact. Veuillez revoir les tableaux d'administration d'insuline et surveiller attentivement votre glycémie." } }, - "fr" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Dose d'insuline enregistrée" + "value" : "אוי לא! Loop קרסה בזמן הזרקה והתאמות אינסולין נעצרו עד שתסגור חלון זה. ייתכן שהיסטוריות ההזרקות לא תהיה מדוייקת. עיין בגרף מתן האינסולין ועקוב אחר הגלוקוז שלך מקרוב." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Dose d'insulina registrata" + "value" : "Oh No! Loop si è chiuso mentre stava eseguendo un bolo e il dosaggio d'insulina è stato messo in pausa, finchè la finestra sarà chiusa. L'elenco dell'infusione d'insulina potrebbe non essere accurato. Per favore rivedi con attenzione la tabella di infusione dell'insulina e sorveglia strettamente la tua glicemia" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Logget insulindose" + "value" : "Å nei! Loop krasjet under dosering, og insulinjusteringer er satt på pause til denne dialogen er lukket. Doseringshistorikken er kanskje ikke nøyaktig. Vennligst sjekk diagrammer for insulin levering, og overvåk blodsukkeret nøye." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Geregistreerde insulinedosis" + "value" : "Oh nee! Loop is vastgelopen tijdens het toedienen, en insulineaanpassingen zijn gepauzeerd totdat dit dialoogvenster wordt gesloten. De doseringsgeschiedenis is mogelijk niet nauwkeurig. Bekijk de Insulinetoedieningsgrafieken en controleer je bloedglucose nauwkeurig." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Zarejestrowana dawka insuliny" + "value" : "O nie! Pętla uległa awarii podczas dozowania, a regulacja insuliny została wstrzymana do czasu zamknięcia tego okna dialogowego. Historia dawkowania może nie być dokładna. Przejrzyj wykresy podawania insuliny i uważnie monitoruj poziom glukozy we krwi." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Doza de insulină înregistrată" + "value" : "Oh nu! Loop s-a blocat în timpul administrării, iar ajustările insulinei au fost întrerupte până la închiderea acestui dialog. Istoricul administrării poate să nu fie exact. Vă rugăm să consultați graficele de administrare a insulinei și să vă monitorizați cu atenție glicemia." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Зарегистрированная доза инсулина" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loggad insulindos" + "value" : "Внимание! Во время подачи произошел сбой петли, и управление помпой было приостановлено до закрытия этого диалога. История событий может быть неточной. Пожалуйста, просмотрите графики введения инсулина в помпе и внимательно следите за уровнем глюкозы в крови." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Kayıtlı İnsülin Dozu" + "value" : "Oh hayır! Dozlama sırasında Loop çöktü ve bu iletişim kutusu kapatılana kadar insülin ayarlamaları duraklatıldı. Dozlama geçmişi doğru olmayabilir. Lütfen İnsülin İletim tablolarını gözden geçirin ve kan şekerinizi dikkatle izleyin." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "记录的胰岛素剂量" + "value" : "糟糕!Loop 在给药过程中发生故障,胰岛素调整功能已暂停,直至关闭此对话框。给药记录可能不准确。请查看胰岛素输注图表,并密切监测您的血糖水平。" } } } }, - "Loggly" : { - "comment" : "The title of the loggly service", - "extractionState" : "manual", + "OK" : { + "comment" : "Alert acknowledgment OK button\nCritical Alert permissions disabled alert button\nDefault action for alert when alert acknowledgment fails\nLabel for acknowledging the preset has been active for 24 hours\nNotifications permissions disabled alert button\nText for ok action on notification of upcoming TestFlight expiration\nText for ok action on notification of upcoming profile expiration\nThe title of the notification action to acknowledge a device alert", "localizations" : { - "da" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "موافق" } }, - "de" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" } }, - "en" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "OK" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "אישור" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "Tamam" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" + "value" : "OK" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Loggly" - } - } - } - }, - "Loop Crashed" : { - "comment" : "Title for crash recovery alert", - "localizations" : { - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop er crashet" - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop ist abgestürzt" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Falla del Loop" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Panne de Loop" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop קרס" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop è crashato" - } - }, - "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop krasjet" - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop is vastgelopen" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Pętla uległa awarii" - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop s-a închis" + "value" : "OK" } }, - "ru" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Произошел сбой приложения" + "value" : "OK" } }, - "tr" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Loop Çöktü" + "value" : "OK" } - }, - "zh-Hans" : { + } + } + }, + "Omar asks himself, **do I expect I will need more or less insulin than usual?**" : { + + }, + "Omar Octopus wants to create a preset for some yard work he’ll be doing around the house." : { + + }, + "Omar sets his correction range a little higher, to %@-%@ %@. This tells %@ to step in sooner." : { + "localizations" : { + "en" : { "stringUnit" : { - "state" : "translated", - "value" : "loop 崩溃了" + "state" : "new", + "value" : "Omar sets his correction range a little higher, to %1$@-%2$@ %3$@. This tells %4$@ to step in sooner." } } } }, - "Loop Failure" : { - "comment" : "The notification title for a loop failure", + "Omar’s Current Therapy Settings" : { + + }, + "On" : { + "comment" : "Notification Setting Status is On", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "فشل في الحلقة المغلقة" + "value" : "On" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zapnuto" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Loop-fejl" + "value" : "Tændt" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Loop fehlgeschlagen" + "value" : "An" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Falla del Loop" + "value" : "Encendido" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Loopin häiriö" + "value" : "Päällä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Echec de Loop" + "value" : "Activé" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Loop Failure" + "value" : "מופעל" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Malfunzionamento di Loop" + "value" : "Attivato" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "ループの不良" + "value" : "オン" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Loop-feil" + "value" : "På" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Loopstoring" + "value" : "Aan" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Awaria pętli" + "value" : "Włącz" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Falha no Loop" + "value" : "Ligado" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Eșec buclă" + "value" : "Pornit" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Ошибка в работе петли" + "value" : "Включено" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zapnuté" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Loopfel" + "value" : "På" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Döngü Hatası" + "value" : "Açık" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Loop lỗi" + "value" : "On" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Loop失败" + "value" : "开" } } } }, - "Loop has detected an issue with your Bluetooth settings, and will not work successfully until Bluetooth is enabled. You will not receive glucose readings, or be able to bolus." : { - "comment" : "Bluetooth unavailable alert body.", + "On until" : { + + }, + "on until %@" : { + "comment" : "The format for the description of a custom preset end date\nThe format for the description of a finite custom preset end date" + }, + "on until carbs added" : { + "comment" : "The format for the description of a premeal preset end date" + }, + "on until turned off" : { + "comment" : "The format for the description of an indefinite custom preset end date" + }, + "Once saved, Omar’s new preset will display in his Presets lists." : { + + }, + "Once you have allowed or denied a data type, %1$@ cannot ask again from within the app. To review or change access, open the Health app, tap your profile, then Apps → %1$@." : { + "comment" : "Health access change instructions (1: app name)" + }, + "Open iOS Settings" : { + "comment" : "A button that opens the iOS settings app.", + "isCommentAutoGenerated" : true + }, + "Other" : { + "comment" : "The group name for plugins that do not declare a manufacturer or category" + }, + "Override Presets" : { + "comment" : "The title text for the override presets", + "extractionState" : "manual", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تخطي الإعدادات المسبقة" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Loop har opdaget et problem med dine Bluetooth-indstillinger, og fungerer ikke korrekt, før Bluetooth er aktiveret. Du vil ikke få blodsukkeraflæsninger eller være i stand til at give bolus." + "value" : "Override forudindstillinger" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Loop hat ein Problem mit Deinen Bluetooth-Einstellungen festgestellt und funktioniert nicht, bis Bluetooth aktiviert ist. Du erhältst keine Blutzucker-Werte und es kann kein Bolus abgeben werden." + "value" : "Voreinstellungen" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Override Presets" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Loop ha detectado un problema con la configuración de Bluetooth, y no funcionará correctamente hasta que el Bluetooth esté activado. No recibirás lecturas de glucosa, ni podrás dar los bolos." + "value" : "Sobreescrituras preestablecidas" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Loop on havainnut Bluetooth-asetuksissa ongelman, eikä se toimi oikein ennen kuin Bluetooth on otettu käyttöön. Et saa glukoosilukemia, etkä voi antaa bolusta." + "value" : "Tilapäisasetukset" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Loop a détecté un problème avec vos paramètres Bluetooth, et ne fonctionnera pas correctement tant que le Bluetooth ne sera pas activé. Vous ne pourrez pas recevoir de lectures de glucose, ni être en mesure de faire un bolus." + "value" : "Préréglages ajustement" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "עקוף הגדרות מוגדרות מראש" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Loop ha rilevato un problema con le tue impostazioni Bluetooth e non funzionerà correttamente finché il Bluetooth non sarà attivato. Non riceverai letture glicemiche né potrai eseguire il bolo." + "value" : "Override" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "オーバーライドプリセット" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Loop har oppdaget et problem med Bluetooth-innstillingene dine, og vil ikke fungere før Bluetooth er aktivert. Du vil ikke motta blodsukkermålinger, eller være i stand til å gi bolus." + "value" : "Overstyr forhåndsinnstillinger" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Loop heeft een probleem met je Bluetooth-instellingen gedetecteerd en zal niet goed werken totdat Bluetooth wordt ingeschakeld. Je ontvangt geen glucosemetingen en je kunt niet bolussen." + "value" : "Override programma's" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Loop wykrył problem z ustawieniami Bluetooth i nie będzie działać poprawnie, dopóki Bluetooth nie zostanie włączony. Nie będziesz otrzymywać odczytów poziomu glukozy ani możliwości podania bolusa." + "value" : "Override Presets" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sobreposições Predefinidas" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Loop a detectat o problemă cu setările Bluetooth și nu va funcționa cu succes până când Bluetooth nu este activat. Nu veți primi valori ale glicemiei sau nu veți putea face bolus." + "value" : "Presetări de înlocuire" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Loop обнаружил проблему в настройках Bluetooth и не будет успешно работать, пока Bluetooth не будет включен. Вы не будете получать показания глюкозы и не сможете вводить болюс." + "value" : "Редактировать параметры" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Loop har upptäckt ett problem med dina Bluetooth-inställningar och kommer inte att fungera förrän Bluetooth är aktiverat. Du kommer varken att kunna se dina blodsockervärden eller att kunna ge någon bolus." + "value" : "Override förinställningar" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Loop, Bluetooth ayarlarınızla ilgili bir sorun algıladı ve Bluetooth etkinleştirilene kadar başarılı bir şekilde çalışmayacaktır. KŞ okumaları almayacaksınız veya bolus yapamayacaksınız." + "value" : "Geçersiz Kılma Ön Ayarları" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cài đặt chồng liều" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Loop 检测到您的蓝牙设置存在问题,在蓝牙启用之前将无法正常工作。\n您将无法接收血糖读数,也无法推注大剂量。" + "value" : "覆盖预设置" } } } }, - "Loop has detected an missed meal and estimated its size. Edit the carb amount to match the amount of any carbs you may have eaten." : { - "comment" : "Warning displayed when user is adding a meal from an missed meal notification", + "Overview" : { + + }, + "Paloma Porpoise sees her glucose is running higher than usual. She creates a preset to help manage her glucose while she is sick." : { + + }, + "Paloma wants %@ to know she needs more insulin than usual." : { + + }, + "Paloma’s Adjusted Therapy Settings" : { + + }, + "Paloma’s Current Therapy Settings" : { + + }, + "Pay attention to your insulin needs before and after exercising, playing sports, or doing unusually hard physical labor." : { + + }, + "Performance History" : { + "comment" : "The title of the view that shows the user's preset performance history.", + "isCommentAutoGenerated" : true + }, + "Physical stress, like illness, can cause glucose to rise." : { + + }, + "Planning for physical activity can be tough. If you forget to set a preset ahead of time, consider these strategies:" : { + + }, + "Please go to the App Store now to update the app." : { + "comment" : "Required update modal paragraph 3" + }, + "Possible Missed Meal" : { + "comment" : "The notification title for a meal that was possibly not logged in Loop.", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Loop har opdaget et overset måltid og vurderet dets størrelse. Rediger mængden af kulhydrater, så den svarer til mængden af kulhydrater, du har spist." + "value" : "Muligt glemt måltid" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Loop hat eine vergessene Mahlzeit erkannt und deren Größe geschätzt. Passe die KH auf die Menge an, die Du wahrscheinlich gegessen hast." + "value" : "Wahrscheinlich eine Mahlzeit vergessen" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Loop a détecté un repas manqué et a estimé sa taille. Modifiez la quantité de glucides pour qu'elle corresponde à la quantité de glucides que vous avez peut-être mangée." + "value" : "Repas manqué possible" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Loop זיהה ארוחה שלא הוזנה והעריך את גודלה. ערוך את מספר הפחמימות כדי להתאים אותו לזה שאכלת." + "value" : "ייתכן שארוחה לא הוזנה" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Loop ha rilevato un pasto saltato e ne ha stimato le dimensioni. Modifica la quantità di carboidrati in modo che corrisponda alla quantità di carboidrati che potresti aver mangiato." + "value" : "Possibile pasto saltato" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Loop har oppdaget et glemt måltid og estimert størrelsen. Rediger karbohydratmengden for å matche mengden av karbohydrater du måtte ha spist." + "value" : "Mulig savnet måltid" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Loop heeft een gemiste maaltijd gedetecteerd en een schatting van de hoeveelheid gedaan. Bewerk de hoeveelheid koolhydraten, zodat deze overeenkomt met de hoeveelheid koolhydraten die je mogelijk hebt gegeten." + "value" : "Mogelijk gemiste maaltijd" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Pętla wykryła pominięty posiłek i oszacowała jego wielkość. Edytuj ilość węglowodanów, aby odpowiadała ilości węglowodanów, które mogłeś zjeść." + "value" : "Możliwe pominięcie posiłku" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Loop a detectat o masă neanunțată și a estimat dimensiunea acesteia. Editați cantitatea de carbohidrați pentru a se potrivi cu cantitatea de carbohidrați pe care ați consumat-o." + "value" : "Posibilă masă neanunțată" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Loop обнаружил пропущенный прием пищи и оценил его размер. Отредактируйте количество углеводов, чтобы оно соответствовало количеству тех углеводов, которые вы, возможно, съели." + "value" : "Возможный пропуск приема пищи" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Loop atlanmış bir öğün tespit etti ve boyutunu tahmin etti. Yemiş olabileceğiniz karbonhidrat miktarına uyması için karbonhidrat miktarını düzenleyin." + "value" : "Muhtemel Kaçırılan Öğün" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Loop 检测到一次可能遗漏的进食,并估算了碳水量。请根据实际摄入情况修改碳水数值。" + "value" : "可能未进餐" } } } }, - "Loop has not completed successfully in %@" : { - "comment" : "The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop", + "Power lifting" : { + + }, + "Pre-meal Preset" : { + "comment" : "Status row title for premeal override enabled" + }, + "Pre-Meal Targets" : { + "comment" : "The label of the pre-meal mode toggle button", + "extractionState" : "stale", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "لم تتم الحلقة المغلقة بنجاح منذ %@" + "value" : "أهداف ما قبل الوجبة" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Loop har ikke kørt korrekt i %@" + "value" : "Før-måltid Mål" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Loop wurde nicht erfolgreich abgeschlossen seit %@" + "value" : "Ziel vor dem Essen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Loop no ha terminado correctamente en %@" + "value" : "Objetivos Pre-Comida" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Häiriö Loopin toiminnassa %@" + "value" : "Ennen ateriaa -tavoite" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Loop n'a pas bouclé avec succès depuis %@" + "value" : "Objectif de Pré-Repas" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Loop has not completed successfully in %@" + "value" : "יעדים לפני הארוחה" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Loop non ha funzionato correttamente per %@" + "value" : "Obiettivo pre-pasto" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "ループが %@ の間クローズされていません" + "value" : "食前ターゲット" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Loop har ikke fullført i %@" + "value" : "Målområde før måltid" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Loop is niet goed afgerond in %@" + "value" : "Pre-Meal doelen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Loop nie działał poprawnie przez %@" + "value" : "Poziom przed posiłkiem" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Nenhum ciclo completo com sucesso em %@" + "value" : "Meta Pré-Refeição" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Loop nu a rulat cu succes timp de %@" + "value" : "Ținte înainte de masă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Ну удалось успешно замкнуть цикл/контур в %@" + "value" : "Целевые значения до еды" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Loop har inte lyckats köra på %@" + "value" : "Målvärden före måltid" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Döngü %@ içinde başarıyla tamamlanamadı" + "value" : "Yemek Öncesi Hedefler" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Loop không hoạt động thành công trong %@" + "value" : "Mục tiêu trước bữa ăn" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Loop运行异常 %@" + "value" : "餐前目标" } } } }, - "Loop is already looping." : { - "comment" : "The error message displayed for LoopError.loopInProgress errors." - }, - "Loop normally gives 40% of your predicted insulin needs each dosing cycle.\n\nWhen the Glucose Based Partial Application experiment is enabled, Loop will vary the percentage of recommended bolus delivered each cycle with glucose level.\n\nNear correction range, it will use 20% (similar to Temp Basal), and gradually increase to a maximum of 80% at high glucose (200 mg/dL, 11.1 mmol/L).\n\nPlease be aware that during fast rising glucose, such as after an unannounced meal, this feature, combined with velocity and retrospective correction effects, may result in a larger dose than your ISF would call for." : { - "comment" : "Description of Glucose Based Partial Application toggle.", + "Predicted glucose at %1$@ is %2$@." : { + "comment" : "Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number)", "localizations" : { - "de" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Loop verabreicht normalerweise 40% Deines voraussichtlichen Insulinbedarfs pro Dosierungszyklus. \n\nWenn das Experiment zur glukosebasierten partiellen Verabreichung aktiviert ist (Glucose Based Partial Application), variiert Loop den Prozentsatz des empfohlenen Bolus, der pro Zyklus verabreicht wird, je nach Glukosespiegel. \n\nNahe dem unterem Korrekturbereich werden 20% verwendet (ähnlich wie bei Temp Basal) und bei hohem Glukosespiegel (200 mg/dl, 11,1 mmol/l) schrittweise auf maximal 80% erhöht. \n\nBitte beachte, dass diese Funktion bei schnell ansteigendem Glukosespiegel, etwa nach einer unangekündigten Mahlzeit, in Kombination mit Geschwindigkeits- und retrospektiven Korrektureffekten zu einer höheren Dosis führen kann, als Dein ISF erfordern würde." + "value" : "قراءاة سكر الدم بعد %1$@ هي %2$@." } }, - "fr" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Loop administre normalement 40 % des besoins prévus en insuline à chaque cycle de dosage.\n\nLorsque l'application partielle basée sur la glycémie est activée, Loop fait varier le pourcentage du bolus recommandé administré à chaque cycle en fonction du niveau de glucose.\n\nÀ proximité de la plage de correction, il utilisera 20 % (similaire à Temp Basal), et augmentera progressivement jusqu'à un maximum de 80 % à un niveau de glucose élevé (200 mg/dL, 11,1 mmol/L).\n\nVeuillez noter qu'en cas d'augmentation rapide du glucose, par exemple après un repas non annoncé, cette fonction, combinée aux effets de vitesse et de correction rétrospective, peut entraîner une dose plus importante que ce que votre ISF préconise." + "value" : "Forventet glukose ved %1$@ er %2$@." } }, - "nb" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Loop gir normalt 40 % av det forventede insulinbehovet ditt i hver doseringssyklus. Når eksperimentet Glukosebasert delvis tilførsel er aktivert, vil Loop variere prosentandelen av anbefalt bolus som gis i hver syklus med glukosenivået.\n\nI nærheten av korreksjonsområdet vil den bruke 20 % (på samme måte som Temp Basal), og gradvis øke til maksimalt 80 % ved høyt glukosenivå (200 mg/dL, 11,1 mmol/L). Vær oppmerksom på at ved raskt stigende glukose, for eksempel etter et uanmeldt måltid, kan denne funksjonen, kombinert med hastighet og retrospektive korreksjonseffekter, resultere i en større dose enn det ISF-en din ville ha krevd." + "value" : "Vorhergesagte Glukose um %1$@ ist %2$@." } }, - "nl" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Loop geeft normaal gesproken per doseercyclus 40% van je voorspelde insulinebehoefte.\n\nAls het experiment Glucose-afhankelijke gedeeltelijke toediening aan staat, past Loop het percentage van de aanbevolen bolus dat per cyclus wordt toegediend aan op je glucosewaarde.\n\nIn de buurt van je correctiebereik is dat 20% (vergelijkbaar met Tijdelijke basaal). Bij hoge glucose loopt het geleidelijk op tot maximaal 80% (200 mg/dL, 11,1 mmol/L).\n\nLet op: bij snel stijgende glucose, zoals na een niet-ingevoerde maaltijd, kan deze functie samen met de effecten van snelheid en retrospectieve correctie een grotere dosis geven dan je ISF zou aangeven." + "value" : "Glucosa proyectada a las %1$@ es %2$@." } }, - "ro" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "În mod normal, Loop furnizează 40% din necesarul de insulină estimat pentru fiecare ciclu de dozare. \n \nCând algoritmul experimental Aplicare parțială bazată pe glicemie este activat, Loop o să varieze procentul de bolus recomandat administrat pentru fiecare ciclu în funcție de nivelul glicemiei.\n \nÎn apropierea intervalului de corecție, va utiliza 20% (similar cu o bazală temporar) și va crește treptat până la maximum 80% la glicemie ridicată (200 mg/dl, 11,1 mmol/l). \n \nVă rugăm să rețineți că în timpul creșterii rapide a glicemiei, cum ar fi după o masă neanunțată, această funcție, combinată cu efectele vitezei și ale corecției retrospective, poate duce la o doză mai mare decât ar necesita sensibilitatea dumneavoastră la insulină." + "value" : "Ennustettu glukoosi klo %1$@ on %2$@." } }, - "zh-Hans" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Loop 通常在每个给药周期中提供您预测胰岛素需求的 40%。\n\n启用“基于血糖的部分给药实验功能”后,Loop 将根据血糖水平调整每个周期实际推注的大剂量比例。\n\n当血糖接近矫正目标范围时,仅注射 20%(类似于临时基础率),血糖升高时比例会逐步增加,在高血糖状态(200 mg/dL,11.1 mmol/L)时最高可达 80%。\n\n请注意,当血糖快速上升(例如未申报的进食)时,该功能与血糖变化速度及回顾性矫正机制叠加,可能导致注射剂量超过由胰岛素敏感系数(ISF)计算出的剂量。" + "value" : "Glycémie prévue à %1$@ est %2$@." } - } - } - }, - "Loop will automatically bolus when insulin needs are above scheduled basal, and will use temporary basal rates when needed to reduce insulin delivery below scheduled basal." : { - "comment" : "Description string for automatic bolus dosing strategy", - "localizations" : { - "da" : { + }, + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Loop vil automatisk give bolus, når insulinbehov er over planlagt basal, og vil bruge midlertidige basalrater, når det er nødvendigt for at reducere insulinlevering under planlagt basal." + "value" : "הגלוקוז החזוי ב- %1$@ הוא %2$@ ." } }, - "de" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Loop gibt automatisch einen Bolus ab, wenn der Insulinbedarf über der geplanten Basalrate liegt, und verwendet temporäre Basalraten, wenn dies erforderlich ist, um die Insulinabgabe unter die geplante Basalrate zu reduzieren." + "value" : "La glicemia prevista a %1$@ è di %2$@." } }, - "es" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Loop administrará bolos automáticamente cuando las necesidades de insulina estén por encima del basal programado y utilizará ajustes temporales de basal cuando sea necesario para reducir la administración de insulina por debajo del basal programado." + "value" : "%1$@の予想グルコースは %2$@です。" } }, - "fi" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Loop annostelee automaattisen boluksen kun insuliinitarve ylittää ohjelmoidun basaalin, ja käyttää tilapäisiä alhaisempia basaalitasoja kun tarvitaan vähemmän insuliinia." + "value" : "Forventet blodsukker kl %1$@ er %2$@." } }, - "fr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Loop effectue automatiquement des bolus lorsque les besoins en insuline sont supérieurs au débit de base programmé, et utilise des débits basaux temporaires si nécessaire pour réduire l'administration d'insuline en dessous du débit de base programmé." + "value" : "Voorspelde glucose om %1$@ is %2$@." } }, - "it" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Loop eseguirà automaticamente il bolo quando il fabbisogno d'insulina è superiore alla basale programmata e utilizzerà velocità basali temporanee quando necessario per ridurre l'erogazione d'insulina al di sotto della basale programmata." + "value" : "Przewidywany poziom cukru o %1$@ wyniesie %2$@" } }, - "nb" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Lopp vil sette bolus når insulinbehovet er over planlagt basal, og vil bruke midlertidige basale rater når det er nødvendig for å redusere insulintilførselen under planlagt basal" + "value" : "Glicemia prevista em %1$@ é %2$@." } }, - "nl" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Loop zal automatisch bolussen geven wanneer de insulinebehoefte groter is dan het ingestelde basaal, en Loop zal wanneer dat nodig is gebruik maken van tijdelijke basaalsnelheden om insulinetoediening te verlagen." + "value" : "Glicemia prognozată pentru %1$@ este %2$@." } }, - "pl" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Pętla automatycznie poda bolusa, kiedy zapotrzebowanie na insulinę przekroczy zaplanowaną dawkę podstawową, a w razie potrzeby zredukuje zaplanowaną dawkę podstawową (bazę)." + "value" : "Прогнозируемый уровень глюкозы на %1$@ составляет %2$@." } }, - "ro" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Loop va bolusa automat când necesarul de insulină este deasupra bazalei programate, și va utiliza rate bazale temporare atunci când este necesar, pentru a reduce cantitatea de insulină administrată sub nivelul bazal programat." + "value" : "Predpokladaná glykémia o %1$@ je %2$@ ." } }, - "ru" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Loop автоматически вводит болюсы, когда потребность в инсулине превышает запланированную базу, и при необходимости использует ВБС, чтобы снизить подачу инсулина ниже запланированной базы." + "value" : "Förväntat glukosvärde vid %1$@ är %2$@." } }, - "sv" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Loop kommer att ge bolus automatiskt när insulinbehovet är större än ordinarie basal och kommer, vid behov, att minska din ordinarie basal med temporära basaldoser för att minska insulintillförseln." + "value" : "Tahmini KŞ %1$@ %2$@." } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Loop, insülin ihtiyaçları programlanan bazalın üzerine çıktığında otomatik olarak bolus yapacak ve gerektiğinde insülin iletimini programlanan bazalın altına düşürmek için geçici bazal oranları kullanacaktır." + "value" : "Dự đoán đường huyết vào lúc %1$@ là %2$@." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "当所需胰岛素高于计划基础率时,Loop 将自动推注大剂量;当所需胰岛素低于计划基础率时,则使用临时基础率以减少胰岛素输注" + "value" : "预测%1$@时的葡萄糖是%2$@" } } } }, - "Loop will not work successfully until Bluetooth is enabled. You will not receive glucose readings, or be able to bolus." : { - "comment" : "Bluetooth off background alert body.", + "Predicted glucose is in range." : { + "comment" : "Notice when predicted glucose for bolus recommendation is in range", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Loop vil ikke fungere, før Bluetooth er aktiveret. Du vil ikke modtage glukoseaflæsninger eller være i stand til at give bolus." + "value" : "Den forventede glukose er inden for intervallet." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Loop funktioniert nicht, bis Bluetooth aktiviert ist. Du erhältst keine Blutzuckerwerte und es kann kein Bolus abgeben werden." + "value" : "Der vorhergesagte Blutzucker liegt im Zielbereich." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Loop no funcionará correctamente hasta que el Bluetooth esté habilitado. No recibirá lecturas de glucosa ni podrá administrar bolus." + "value" : "La glucosa proyectada está en rango" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Loop ne fonctionnera pas correctement tant que le Bluetooth ne sera pas activé. Vous ne pourrez pas recevoir de lectures de glucose, ni être en mesure de faire un bolus." + "value" : "La glycémie prévue est dans la plage." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Loop לא תעבוד עד הפעלת Bluetooth. לא תוכל לקבל נתוני גלוקוז או להזריק בולוס." + "value" : "הגלוקוז החזוי נמצא בטווח." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Loop non funzionerà correttamente fino a quando il Bluetooth non sarà attivato. Non riceverai letture glicemiche né potrai eseguire il bolo." + "value" : "La glicemia prevista è nell'intervallo" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Loop vil ikke fungere før Bluetooth er aktivert. Du vil ikke motta blodsukkermålinger, eller være i stand til å gi bolus." + "value" : "Forventet blodsukker er innenfor målområdet." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Loop werkt pas als Bluetooth is ingeschakeld. Je zult geen glucosemetingen ontvangen of een bolus kunnen toedienen." + "value" : "Voorspelde glucose is binnen bereik." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Pętla nie będzie działać pomyślnie, dopóki Bluetooth nie zostanie włączony. Nie będziesz otrzymywać odczytów poziomu glukozy ani możliwości podania bolusa." + "value" : "Przewidywane stężenie glukozy jest w zakresie." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Loop nu va funcționa cu succes până când Bluetooth nu este activat. Nu veți primi citiri de glicemie sau nu veți putea să bolusați." + "value" : "Glicemia prognozată este în interval." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Loop не будет успешно работать, пока не будет включен Bluetooth. Вы не сможете получать показания уровня глюкозы или вводить болюсы." + "value" : "Прогнозируемый уровень глюкозы находится в диапазоне." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predpokladaná glykémia je v cieľovom rozsahu." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bluetooth etkinleştirilene kadar döngü başarılı bir şekilde çalışmayacaktır. KŞ ölçümleri alamayacak veya bolus yapamayacaksınız." + "value" : "Tahmini KŞ aralık içinde." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "在启用蓝牙之前,Loop 无法正常工作。您将无法获取血糖读数,也不能执行大剂量输注。" + "value" : "预测血糖在目标范围内。" } } } }, - "Loop will set temporary basal rates to increase and decrease insulin delivery." : { - "comment" : "Description string for temp basal only dosing strategy", + "Predicted glucose of %1$@ is below your glucose safety limit setting." : { + "comment" : "Notice message when recommending bolus when BG is below the glucose safety limit. (1: glucose value)", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Loop vil fastsætte midlertidige basalrater for at øge og reducere insulinafgivelse." + "value" : "Det forventede glukoseindhold på %1$@ er under din indstilling af glukose-sikkerhedsgrænsen." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Loop stellt temporäre Basalraten ein, um die Insulinabgabe zu erhöhen oder zu verringern." + "value" : "Der vorhergesagte Blutzucker von %1$@ liegt unter der Sicherheitsgrenze." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Loop establecerá basal temporales para aumentar y disminuir la administración de insulina." + "value" : "Glucosa proyectada de %1$@ se encuentra por debajo de tu nivel de suspensión." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Loop käyttää tilapäisiä basaalitasoja lisätäkseen tai vähentääkseen insuliinin annostelua." + "value" : "Ennustettu glukoosi %1$@ on turvarajan alapuolella." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Loop permet de définir des débits de base temporaires pour augmenter et diminuer l'administration d'insuline." + "value" : "La glycémie estimée à %1$@ est sous le seuil de suspension." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Loop תגדיר בזאלי זמני כדי להגדיל ולהקטין מתן אינסולין." + "value" : "הגלוקוז החזוי %1$@ נמוך מגבול הבטיחות שהגדרת." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Loop imposterà velocità basali temporanee per aumentare e diminuire l'erogazione d'insulina." + "value" : "La glicemia prevista da %1$@ è al di sotto del tuo limite glicemico di sicurezza." } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Loop vil sette midlertidige basal rater for å øke og redusere insulin levering." + "value" : "Forventet blodsukker på %1$@ er lavere enn innstillingen for blodsukkersikkerhet." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Loop stelt tijdelijke basaalsnelheden in om de insulinetoediening te verhogen of te verlagen." + "value" : "Voorspelde glucose van %1$@ ligt onder je ingestelde glucoseveiligheidslimiet." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Pętla ustawi tymczasowe dawki podstawowe, aby zwiększać lub zmniejszyć podawanie insuliny." + "value" : "Przewidywana glukoza %1$@ jest poniżej ustawionego bezpiecznego limitu glukozy." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Loop va stabili ratele bazale temporare pentru a crește și reduce cantitatea de insulina administrată." + "value" : "Glicemia prognozată de %1$@ se situează sub limita de siguranță configurată." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Петля установит ВБС для увеличения или уменьшения подачи инсулина." + "value" : "Прогнозируемое значение глюкозы %1$@ ниже установленного вами предела безопасности глюкозы." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Loop kommer att ställa in tillfälliga basalnivåer för att öka eller minska insulintillförsel." + "value" : "Förväntat blodsocker på %1$@ är under ditt tröskelvärde." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Loop, insülin iletimini artırmak ve azaltmak için geçici bazal oranlar ayarlayacaktır." + "value" : "%1$@ tahmini KŞ, KŞ güvenlik limiti ayarınızın altında." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Loop 将设置临时基础率,以增加或减少胰岛素输注。" + "value" : "预测血糖 %1$@ 低于你设定的血糖安全下限。" } } } }, - "Low" : { - "comment" : "Time-in-range band label (54–69 mg/dL)" - }, - "Low Glucose" : { - "comment" : "Title for bolus screen warning when glucose is below glucose warning limit.\nTitle for bolus screen warning when glucose is below suspend threshold, but a bolus is recommended", + "Predicted glucose of %1$@ is below your suspend threshold setting." : { + "comment" : "Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value)", + "extractionState" : "manual", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "قراءة سكر الدم المتوقعة %1$@ أقل من قيمة تعليق الضخ في الإعدادات." + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Lav glukose" + "value" : "Forventet glukose på %1$@ er under din indstilling for suspenderingstærskel." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Niedriger Blutzucker" + "value" : "Der vorhergesagte Blutzucker von %1$@ liegt unter dem Grenzwert für die Hypo-Abschaltung." + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predicted glucose of %1$@ is below your suspend threshold setting." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosa baja" + "value" : "Glucosa proyectada de %1$@ se encuentra por debajo de su nivel de suspensión." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ennustettu glukoosi %1$@ on pysäytysrajan alapuolella." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Glycémie basse" + "value" : "Prédiction de la glycémie à %1$@ sous le seuil de suspension défini." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "גלוקוז נמוך" + "value" : "הגלוקוז החזוי %1$@ נמוך מסך ההשהייה שהגדרת." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia bassa" + "value" : "La glicemia prevista %1$@ è inferiore al valore soglia per la sospensione dell'erogazione." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "予想グルコースは %1$@ で一時停止値を下回ります。" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Lavt blodsukker" + "value" : "Forventet blodsukker %1$@ er lavere enn innstilling for insulinstopp" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Lage glucose" + "value" : "Verwachte glucose van %1$@ is lager dan je ingestelde insulineonderbrekingsdrempel." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Niski poziom glukozy" + "value" : "Przewidywany poziom cukru %1$@ jest poniżej progu zawieszenia." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glicemia prevista de %1$@ está abaixo do limite de suspensão." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemie scăzută" + "value" : "Glicemia prognozată de %1$@ se situează sub limita de suspendare configurată" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Низкий уровень глюкозы" + "value" : "Предсказываемая гликемия %1$@ ниже ваших настроек порога приостановки помпы" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Förväntat glukosvärde %1$@ är under ditt tröskelvärde." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Düşük KŞ" + "value" : "Tahmini KŞ %1$@ askıya alma eşiği ayarınızın altında." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dự đoán đường huyết %1$@ là dưới ngưỡng tạm ngưng trong cài đặt của bạn." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "低血糖" + "value" : "预测葡萄糖%1$@低于您的暂停阈值设置" } } } }, - "Make sure to keep Notifications and Time Sensitive Notifications turned ON in iOS Settings to receive essential safety and maintenance notifications." : { - "comment" : "Time sensitive notifications callout message when Critical Alerts are unavailable" - }, - "Make sure to keep Notifications, Time Sensitive Notifications, and Critical Alerts turned ON in iOS Settings to receive essential safety and maintenance notifications." : { - "comment" : "Time sensitive notifications callout message" - }, - "Manage iOS Permissions" : { - "comment" : "Manage Permissions in Settings button text" - }, - "Manage Permissions in Settings" : { - "comment" : "Manage Permissions in Settings button text", - "extractionState" : "stale", + "Predicted: %1$@\nActual: %2$@ (%3$@)" : { + "comment" : "Format string describing retrospective glucose prediction comparison. (1: Predicted glucose)(2: Actual glucose)(3: difference)", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "التوقع: %1$@\nالواقع: %2$@ (%3$@)" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Administrer tilladelser i Indstillinger" + "value" : "Forventet: %1$@\nFaktisk: %2$@ (%3$@)" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Berechtigungen in den Einstellungen verwalten" + "value" : "Vorhergesagt: %1$@\nAktuell: %2$@ (%3$@)" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Administrar permisos en Configuración" + "value" : "Predicción: %1$@\nActual: %2$@ (%3$@)" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ennustettu: %1$@\nTodellinen: %2$@ (%3$@)" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Gérer les permissions dans les paramètres" + "value" : "Prédit : %1$@\nRéel : %2$@ (%3$@)" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "קבע הרשאות בהגדרות" + "value" : "חזוי: %1$@\nבפועל: %2$@ (%3$@)" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Gestisci le autorizzazioni in Impostazioni" + "value" : "Previsto: %1$@\nEffettivo: %2$@ (%3$@)" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predicted: %1$@\nActual: %2$@ (%3$@)" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Behandle tillatelser i Innstillinger" + "value" : "Forventet: %1$@\nFaktisk: %2$@ ( %3$@ )" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Beheer toestemming in Instellingen" + "value" : "Voorspeld: %1$@\nActueel: %2$@ (%3$@)" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Zarządzaj uprawnieniami w Ustawieniach" + "value" : "Przewidywana: %1$@Rzeczywista: %2$@ (%3$@)" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prevista: %1$@\nAtual: %2$@ (%3$@)" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Gestionați permisiunile din Setări" + "value" : "Prognozată: %1$@\nActuală: %2$@ (%3$@)" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Управление разрешениями в настройках" + "value" : "Прогноз: %1$@\nФакт: %2$@ (%3$@)" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Förväntat: %1$@\nFaktiskt: %2$@ (%3$@)" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Ayarlarda İzinleri Yönetin" + "value" : "Tahmini: %1$@\nGüncel: %2$@ (%3$@)" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Được dự đoán: %1$@\nThực tế: %2$@ (%3$@)" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "在系统设置中配置权限" + "value" : "预测值: %1$@\n实际值: %2$@ (%3$@)" } } } }, - "Manager Identifier" : { - - }, - "Managing Alerts" : { - "comment" : "View title for how mute alerts work", - "extractionState" : "stale", + "prediction-description-integral-retrospective-correction" : { + "comment" : "Format string describing integral retrospective correction. (1: Integral glucose effect)(2: Total glucose effect)", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Administration af advarsler" + "value" : "prediction-description-integral-retrospective-correction" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Verwalten von Warnungen" + "value" : "Integraler Effekt: %1$@ \n Gesamtglukoseeffekt: %2$@" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Integral effect: %1$@\nTotal glucose effect: %2$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Gestion des Alertes" + "value" : "Effet intégral: %1$@\nEffet total sur la glycémie: %2$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Gestione degli avvisi" + "value" : "previsione-descrizione-integrale-correzione-retrospettiva" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Administrere varsler" + "value" : "prediksjon-beskrivelse-integral-retrospektiv-korreksjon" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Waarschuwingen beheren" + "value" : "Integraal effect: %1$@\nTotaal glucose-effect: %2$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Zarządzanie alertami" + "value" : "predykcja-opis-całka-retrospektywna-korekta" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Gestionarea alertelor" + "value" : "Efect integral: %1$@ \nEfect total al glicemiei: %2$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Управление оповещениями" + "value" : "описание прогнозирования с помощью интегральной ретроспективной коррекции" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "管理警报" + "value" : "积分效应: %1$@\n总葡萄糖效应: %2$@" } } } }, - "Manual" : { - - }, - "Manual Dose: %1$@ %2$@" : { - "comment" : "Description of a bolus dose entry (1: value (? if no value) in bold, 2: unit)", + "prediction-description-retrospective-correction" : { + "comment" : "Format string describing retrospective glucose prediction comparison. (1: Predicted glucose)(2: Actual glucose)(3: difference)", + "extractionState" : "manual", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "التوقع: %1$@\nالواقع: %2$@ (%3$@)" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Manuel dosis: %1$@ %2$@" + "value" : "Forventet: %1$@\nFaktisk: %2$@ (%3$@)" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Manuelle Dosis: %1$@ %2$@" + "value" : "Vorhergesagt: %1$@\nAktuell: %2$@ (%3$@)" + } + }, + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predicted: %1$@\nActual: %2$@ (%3$@)" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Dosis manual: %1$@ %2$@" + "value" : "Predicción: %1$@\nActual: %2$@ (%3$@)" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ennustettu: %1$@\nTodellinen: %2$@ (%3$@)" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Dosage manuel : %1$@ %2$@" + "value" : "Prédit : %1$@\nRéel : %2$@ (%3$@)" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "כמות ידנית: %1$@ %2$@" + "value" : "חזוי: %1$@\nבפועל: %2$@ (%3$@)" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Dose manuale: %1$@ %2$@" + "value" : "Previsto: %1$@\nEffettivo: %2$@ (%3$@)" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predicted: %1$@\nActual: %2$@ (%3$@)" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Manuell dose: %1$@ %2$@" + "value" : "Forventet: %1$@\nFaktisk: %2$@ ( %3$@ )" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Doseer handmatig: %1$@ %2$@" + "value" : "Voorspeld: %1$@\nActueel: %2$@ (%3$@)" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Dawka z pena: %1$@ %2$@" + "value" : "Przewidywana: %1$@Rzeczywista: %2$@ (%3$@)" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prevista: %1$@\nAtual: %2$@ (%3$@)" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Doză manuală: %1$@ %2$@" + "value" : "Prognozată: %1$@\nActuală: %2$@ (%3$@)" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Ручная доза: %1$@ %2$@" + "value" : "Прогноз: %1$@\nФакт: %2$@ (%3$@)" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Förväntat: %1$@\nFaktiskt: %2$@ (%3$@)" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Manuel Doz: %1$@ %2$@" + "value" : "Tahmini: %1$@\nGüncel: %2$@ (%3$@)" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Được dự đoán: %1$@\nThực tế: %2$@ (%3$@)" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "手动剂量: %1$@ %2$@" + "value" : "预测值: %1$@\n实际值: %2$@ (%3$@)" } } } }, - "Manual temporary basal in progress. Automatic dosing is disabled." : { - "comment" : "The error message displayed for LoopError.manualTempBasalRunning errors." - }, - "Maximum Basal Rate Per Hour" : { - "comment" : "Details for configuration error when maximum basal rate per hour is missing", + "Preparing Critical Event Logs" : { + "comment" : "Preparing critical event log text", "localizations" : { "da" : { "stringUnit" : { "state" : "translated", - "value" : "Maksimal basalrate pr. time" + "value" : "Forbereder kritiske begivenhedslogs" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Maximale Basalte pro Stunde" + "value" : "Vorbereiten der kritischen Ereignis-Protokolle" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Tasa basal máxima por hora" + "value" : "Preparando registros de eventos críticos" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Valmistellaan tärkeiden tapahtumien lokia" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Débit Basal Maximum par heure" + "value" : "Préparation des journaux d’événements critiques" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "בזאלי מקסימלי לשעה" + "value" : "מכין יומן שגיאות קריטיות" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Velocità basale massima all'ora" + "value" : "Preparazione dei registri degli eventi critici in corso" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Maksimal basaldose pr. time" + "value" : "Forbereder logg av kritiske hendelser" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Maximale basaalstand per uur" + "value" : "Kritieke gebeurtenislogboek voorbereiden" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Maksymalna dawka podstawowa na godzinę" + "value" : "Przygotowywanie dzienników zdarzeń krytycznych" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Rata bazală maximă pe oră" + "value" : "Pregătire jurnal de evenimente critice" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Максимальная базальная скорость в час" + "value" : "Подготовка логов критических событий" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Förbereder kritiska händelseloggar" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Saat Başı Maksimum Bazal Oran" + "value" : "Kritik Olay Günlüklerinin Hazırlanması" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "每小时最大基础速率" + "value" : "正在准备关键事件日志" } } } }, - "Maximum Bolus" : { - "comment" : "Details for configuration error when maximum bolus is missing", + "Preset +6 Hours" : { + "comment" : "Title for a section of a screen that shows a comparison of a user's glucose performance during a preset and 6 hours after the preset.", + "isCommentAutoGenerated" : true + }, + "Preset Delivery" : { + + }, + "Preset Disabled" : { + + }, + "Preset Enabled" : { + + }, + "Preset Summary" : { + + }, + "Presets" : { + "comment" : "Presets screen title\nTitle text for button to Preset Settings", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الإعدادات المسبقة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Předvolby" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Maksimal bolus" + "value" : "Forudindstillinger" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Maximaler Bolus" + "value" : "Voreinstellungen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Bolo Máximo" + "value" : "Ajustes preestablecidos" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Suurin sallittu bolus" + "value" : "Esiasetukset" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus Maximum" + "value" : "Préréglages" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "בולוס מקסימלי" + "value" : "הגדרות מראש" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Előbeállítások" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Bolo massimo" + "value" : "Preimpostazioni" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "最大ボーラス" + "value" : "プリセット" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Maks bolus" + "value" : "Forhåndsinnstillinger" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Maximale bolus" + "value" : "Programma's" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Maksymalny bolus" + "value" : "Ustawienia wstępne" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus Máximo" + "value" : "Predefinições" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus maxim" + "value" : "Presetări" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Максимальный Болюс" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Maximal bolus" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Maksimum Bolus" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Liều Bolus tối đa" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "最大剂量" - } - } - } - }, - "Maximum Bolus Exceeded" : { - "comment" : "Title for bolus screen warning when max bolus is exceeded", - "localizations" : { - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "Maksimal bolus overskredet" - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Maximaler Bolus überschritten" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bolo máximo excedido" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bolus Maximum atteint" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "חריגה מבולוס מקסימלי" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bolo massimo superato" - } - }, - "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "Maksimal bolus overskredet" + "value" : "Пресеты" } }, - "nl" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Maximale bolus overschreden" + "value" : "Predvoľby" } }, - "pl" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Przekroczono maksymalny bolus" + "value" : "Förinställningar" } }, - "ro" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolusul maxim depășit" + "value" : "Ön Ayarlar" } }, - "ru" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Превышен максимальный объем болюса" + "value" : "Пресети" } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Maksimum Bolus Aşıldı" + "value" : "Cài đặt sẵn" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "超过最大推注量" + "value" : "预设" } } } }, - "Maximum Intensity (Anaerobic)" : { - - }, - "May experience a rise in glucose." : { - - }, - "May experience drops in glucose." : { - - }, - "Meal Bolus" : { - "comment" : "Title for bolus entry screen when also entering carbs", + "Previous day" : { + "comment" : "Accessibility label for the day page button that steps back a day", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "اليوم السابق" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Předchozí den" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Måltidsbolus" + "value" : "Forrige dag" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Mahlzeiten Bolus" + "value" : "Vorheriger Tag" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Bolo de Comida" + "value" : "Día anterior" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ateriabolus" + "value" : "Edellinen päivä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus de repas" + "value" : "Jour précédent" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "בולוס לכיסוי ארוחה" + "value" : "היום הקודם" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Előző nap" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Bolo pasto" + "value" : "Giorno precedente" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "前日" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Måltidsbolus" + "value" : "Forrige dag" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Maaltijd bolus" + "value" : "Vorige dag" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus Posiłkowy" + "value" : "Poprzedni dzień" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dia anterior" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus pentru masă" + "value" : "Ziua anterioară" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Болюс на еду" + "value" : "Предыдущий день" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predchádzajúci deň" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Måltidsbolus" + "value" : "Föregående dag" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Yemek Bolusu" + "value" : "Önceki gün" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Попередній день" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ngày trước" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "餐食大剂量" + "value" : "前一天" } } } }, - "Meal Summary" : { - - }, - "Meal Timing" : { - - }, - "Median (line) with 25–75% and 5–95% bands, by time of day." : { - "comment" : "AGP chart explanation" - }, - "Medium Intensity (Aerobic)" : { - - }, - "mg/dL" : { - "comment" : "The short unit display string for milligrams of glucose per decilter", - "extractionState" : "stale", + "Previous period" : { + "comment" : "VoiceOver label for the Trends button that moves back one period", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "الفترة السابقة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Předchozí období" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Forrige periode" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Vorheriger Zeitraum" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Período anterior" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Edellinen jakso" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Période précédente" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "התקופה הקודמת" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Előző időszak" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Periodo precedente" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "前の期間" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Forrige periode" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Vorige periode" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dl" + "value" : "Poprzedni okres" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Período anterior" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Perioada anterioară" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "мг/дл" + "value" : "Предыдущий период" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Predchádzajúce obdobie" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dl" + "value" : "Föregående period" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Önceki dönem" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Попередній період" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Khoảng thời gian trước" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "上一时段" } } } }, - "Missed Meal Notifications" : { - "comment" : "Title for missed meal notifications toggle", + "Primed" : { + "comment" : "Pump event in the history: the pump primed the tubing or cannula", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تمت التعبئة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Naplněno" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Meddelelser om glemt måltid" + "value" : "Fyldt" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Verpasste Mahlzeit Benachrichtigung" + "value" : "Gefüllt" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cebado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Täytetty" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Notifications de repas manqués" + "value" : "Amorcé" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "התראה על ארוחות שלא הוזנו" + "value" : "בוצע תיחול" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Feltöltve" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Notifiche di pasti mancati" + "value" : "Caricamento eseguito" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "プライミング" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Varsler om tapte måltider" + "value" : "Fylt" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Gemiste maaltijdmeldingen" + "value" : "Gevuld" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Powiadomienia o pominiętych posiłkach" + "value" : "Napełniono" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Preenchido" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Notificări mese neanunțate" + "value" : "Amorsat" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Уведомления о пропущенных приемах пищи" + "value" : "Заполнение выполнено" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Naplnené" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Primning klar" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Kaçırılan Yemek Bildirimleri" + "value" : "Dolum yapıldı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Заповнення виконано" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã mồi" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "错过用餐通知" + "value" : "已充注" } } } }, - "Missing data: %1$@" : { - "comment" : "The error message for missing data. (1: missing data details)", + "Projected" : { + "comment" : "Chart legend: dashed lines show Loop's projection of insulin and carbs on board", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "بيانات مفقودة: %1$@" + "value" : "المتوقع" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Předpověď" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Manglende data: %1$@" + "value" : "Forventet" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Fehlende Daten: %1$@" + "value" : "Prognose" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Faltan Datos: %1$@" + "value" : "Proyectado" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Tiedot puuttuvat: %1$@" + "value" : "Ennuste" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Données manquantes: %1$@" + "value" : "Projeté" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "נתונים חסרים: %1$@" + "value" : "צפי" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Előrevetített" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Dati mancanti: %1$@" + "value" : "Previsto" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "データがありません: %1$@" + "value" : "予測" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Manglende data: %1$@" + "value" : "Beregnet" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Ontbrekende gegevens: %1$@" + "value" : "Verwacht" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Brakujące dane: %1$@" + "value" : "Prognozowane" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Dados ausentes: %1$@" + "value" : "Projetado" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Date lipsă: %1$@" + "value" : "Proiectat" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Пропущены данные: %1$@" + "value" : "Прогнозируемые" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predpoveď" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Saknar data: %1$@" + "value" : "Prognos" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Eksik veri: %1$@" + "value" : "Öngörülen" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Прогнозовані" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Dữ liệu thiếu: %1$@" + "value" : "Dự kiến" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "数据缺失: %1$@" + "value" : "预计" } } } }, - "Missing maximum allowed bolus in settings" : { - "comment" : "Bolus error description: missing maximum bolus in settings.", + "Pump alarm" : { + "comment" : "Pump event in the history: an alarm whose pump gave no title", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إنذار المضخة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alarm pumpy" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Manglende maksimalt tilladt bolus i indstillingerne" + "value" : "Pumpealarm" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Maximal erlaubter Bolus in den Einstellungen fehlt" + "value" : "Pumpenalarm" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Falta el bolo máximo permitido en la configuración" + "value" : "Alarma de la microinfusadora" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pumpun hälytys" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus maximal autorisé manquant dans les paramètres" + "value" : "Alarme de la pompe" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "בולוס מקסימלי חסר בהגדרות" + "value" : "התראת משאבה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pumpariasztás" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Manca il bolo massimo consentito nelle impostazioni" + "value" : "Allarme pompa" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ポンプアラーム" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Mangler maksimalt tillatt bolus i innstillingene" + "value" : "Pumpealarm" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Maximaal toegestane bolus ontbreekt in instellingen" + "value" : "Pompalarm" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Brak ustawionego maksymalnego dozwolonego bolusa" + "value" : "Alarm pompy" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alarme da bomba" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Lipsește bolusul maxim permis în setări" + "value" : "Alarmă pompă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Отсутствие максимально допустимого болюса в настройках" + "value" : "Тревога помпы" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alarm pumpy" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pumplarm" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Ayarlarda izin verilen maksimum bolus eksik" + "value" : "Pompa alarmı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Тривога помпи" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cảnh báo bơm" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "设置中缺少最大剂量限制" + "value" : "胰岛素泵警报" } } } }, - "Mixed-intensity exercise may cause only small changes in glucose levels. Your glucose may go up or down." : { - - }, - "mmol/L" : { - "comment" : "The short unit display string for millimoles of glucose per liter", - "extractionState" : "stale", + "Pump data too old" : { + "comment" : "Reason Loop could not run: the latest pump data was too old", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "بيانات المضخة قديمة جدًا" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Data pumpy jsou příliš stará" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Pumpedata for gamle" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Pumpendaten zu alt" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Datos de la microinfusadora demasiado antiguos" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Pumpun tiedot liian vanhoja" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Données de la pompe trop anciennes" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "נתוני המשאבה ישנים מדי" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Túl régi pumpaadatok" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Dati pompa troppo vecchi" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "ポンプデータが古すぎます" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Pumpedata for gamle" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Pompgegevens te oud" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Dane pompy zbyt stare" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Dados da bomba muito antigos" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Date pompă prea vechi" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "ммоль/л" + "value" : "Данные помпы устарели" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Údaje pumpy sú príliš staré" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Pumpdata för gamla" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "mmol/L" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "mmol/L" - } - } - } - }, - "Mode" : { - "comment" : "Title for mode live activity toggle", - "localizations" : { - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Modus" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mode" - } - }, - "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "Modus" + "value" : "Pompa verisi çok eski" } }, - "nl" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Modus" + "value" : "Дані помпи застаріли" } }, - "ro" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Mod" + "value" : "Dữ liệu bơm quá cũ" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "模式" + "value" : "胰岛素泵数据过旧" } } } }, - "Momentum effects" : { - "comment" : "Details for missing data error when momentum effects are missing", + "Pump manager error" : { + "comment" : "Reason Loop could not run: the pump reported an error", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "تأثيرات النشاط" + "value" : "خطأ في مدير المضخة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chyba správce pumpy" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Momentumeffekter" + "value" : "Pumpefejl" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Momentum-Effekte" + "value" : "Pumpenfehler" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Efectos de Momento" + "value" : "Error del gestor de la microinfusadora" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Liikevaikutukset (momentum)" + "value" : "Pumpunhallinnan virhe" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Effets de momentum" + "value" : "Erreur du gestionnaire de pompe" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "השפעות מומנטום" + "value" : "שגיאת מנהל המשאבה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pumpakezelő-hiba" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Effetti del momento" + "value" : "Errore del gestore pompa" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "モメンタム効果" + "value" : "ポンプマネージャのエラー" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Momentum effekter" + "value" : "Pumpefeil" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Trendlijneffecten" + "value" : "Pompfout" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "wpływ pędu" + "value" : "Błąd menedżera pompy" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Efeitos de aceleração" + "value" : "Erro do gerenciador da bomba" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Efecte avânt" + "value" : "Eroare manager pompă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Влияние динамики СК" + "value" : "Ошибка менеджера помпы" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chyba správcu pumpy" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Momentumeffekter" + "value" : "Fel i pumphanteraren" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Momentum etkileri" + "value" : "Pompa yöneticisi hatası" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Помилка менеджера помпи" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Hiệu ứng động lượng" + "value" : "Lỗi trình quản lý bơm" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "葡萄糖动量效应" + "value" : "胰岛素泵管理器错误" } } } }, - "Monitor your glucose and active insulin at the start of a competition day" : { - - }, - "More Info" : { - "comment" : "Text for more info action on notification of upcoming TestFlight expiration\nText for more info action on notification of upcoming profile expiration", + "Pump suspended" : { + "comment" : "Reason Loop could not run: insulin delivery on the pump was suspended", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "المضخة متوقفة مؤقتًا" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pumpa pozastavena" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Mere Info" + "value" : "Pumpe suspenderet" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Weitere Info" + "value" : "Pumpe unterbrochen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Más Info" + "value" : "Microinfusadora suspendida" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Lisätietoa" + "value" : "Pumppu pysäytetty" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Plus d'informations" + "value" : "Pompe suspendue" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "מידע נוסף" + "value" : "המשאבה מושהית" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pumpa felfüggesztve" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Ulteriori informazioni" + "value" : "Pompa sospesa" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "詳細" + "value" : "ポンプ一時停止中" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Mer info" + "value" : "Pumpe stanset" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Meer informatie" + "value" : "Pomp onderbroken" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Więcej informacji" + "value" : "Pompa wstrzymana" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Mais Info" + "value" : "Bomba suspensa" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Detalii" + "value" : "Pompă suspendată" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Доп. инфо" + "value" : "Помпа приостановлена" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pumpa pozastavená" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Mer info" + "value" : "Pump pausad" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Daha fazla bilgi" + "value" : "Pompa askıya alındı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Помпу призупинено" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Thêm thông tin" + "value" : "Bơm đã tạm ngưng" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "更多信息" + "value" : "胰岛素泵已暂停" } } } }, - "Morning Exercise" : { - - }, - "Morning exercise before eating (like a fasted jog) usually causes a smaller drop in glucose levels and may even promote a rise, compared to afternoon exercise." : { - - }, - "Mutable" : { - - }, - "Mute All Alerts" : { - "comment" : "Label for button to mute all alerts", - "extractionState" : "stale", + "Readings" : { + "comment" : "Chart legend on the Now screen: dots are CGM glucose readings", "localizations" : { - "da" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Slå alle alarmer fra" + "value" : "القراءات" } }, - "de" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Alle Alarme stummschalten" + "value" : "Hodnoty" } }, - "es" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Silenciar todas las alertas" + "value" : "Målinger" } }, - "fr" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Enlever le son de toutes les alertes" + "value" : "Messwerte" } }, - "he" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "השתק את כל ההתראות" + "value" : "Lecturas" } }, - "it" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Disattiva tutti gli avvisi" + "value" : "Lukemat" } }, - "nb" : { + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mesures" + } + }, + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Demp alle varsler" + "value" : "קריאות" } }, - "nl" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Alle waarschuwingen dempen" + "value" : "Mért értékek" } }, - "pl" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Wycisz wszystkie alerty" + "value" : "Letture" } }, - "ro" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Dezactivați toate alertele" + "value" : "測定値" } }, - "ru" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Выключить все оповещения" + "value" : "Målinger" } }, - "tr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Tüm Uyarıları Sessize Al" + "value" : "Waarden" } }, - "zh-Hans" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "静音所有警报" + "value" : "Odczyty" } - } - } - }, - "Mute All Alerts Temporarily" : { - "comment" : "Title for mute alert duration selection action sheet", - "extractionState" : "stale", - "localizations" : { - "da" : { + }, + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Slå lyden fra for alle advarsler midlertidigt" + "value" : "Leituras" } }, - "de" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Alle Warnungen vorübergehend stummschalten" + "value" : "Citiri" } }, - "fr" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Désactiver temporairement toutes les alertes" + "value" : "Показания" } }, - "it" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Disattiva temporaneamente tutti gli avvisi" + "value" : "Hodnoty" } }, - "nb" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Slå av alle varsler midlertidig" + "value" : "Värden" } }, - "nl" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Alle waarschuwingen tijdelijk dempen" + "value" : "Okumalar" } }, - "pl" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Tymczasowo wycisz wszystkie alerty" + "value" : "Показники" } }, - "ro" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Dezactivați temporar toate alertele" + "value" : "Chỉ số" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "暂时静音所有警报" + "value" : "读数" } } } }, - "Mute All App Sounds" : { - "comment" : "Label for button to mute all app sounds" - }, - "Muted until" : { - "comment" : "Label for when mute alert will end" - }, - "Name" : { - "comment" : "Label for name row on add favorite food screen\nPreset sorting option description for sorting by name", + "Recent readings unavailable: %1$@" : { + "comment" : "Error under the prediction chart on the Now screen. (1: system error description)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "الاسم" + "value" : "القراءات الأخيرة غير متاحة: %1$@" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Název" + "value" : "Nedávné hodnoty nejsou k dispozici: %1$@" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Navn" + "value" : "Seneste målinger ikke tilgængelige: %1$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Name" + "value" : "Aktuelle Messwerte nicht verfügbar: %1$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Nombre" + "value" : "Lecturas recientes no disponibles: %1$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Nimi" + "value" : "Viimeisimmät lukemat eivät saatavilla: %1$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Nom" + "value" : "Mesures récentes indisponibles : %1$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "שם" + "value" : "קריאות אחרונות אינן זמינות: %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A legutóbbi értékek nem érhetők el: %1$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Nome" + "value" : "Letture recenti non disponibili: %1$@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "プリセット名" + "value" : "最近の測定値を取得できません:%1$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Navn" + "value" : "Nylige målinger ikke tilgjengelige: %1$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Naam" + "value" : "Recente waarden niet beschikbaar: %1$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Nazwa" + "value" : "Ostatnie odczyty niedostępne: %1$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Nome" + "value" : "Leituras recentes indisponíveis: %1$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Nume" + "value" : "Citiri recente indisponibile: %1$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Имя" + "value" : "Последние показания недоступны: %1$@" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Názov" + "value" : "Nedávne hodnoty nie sú k dispozícii: %1$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Namn" + "value" : "Senaste värden ej tillgängliga: %1$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "İsim" + "value" : "Son okumalar kullanılamıyor: %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Останні показники недоступні: %1$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Tên" + "value" : "Không có chỉ số gần đây: %1$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "名称" + "value" : "最近读数不可用:%1$@" } } } }, - "Needs Attention" : { - "comment" : "Sensor state description for the non-valid state", - "extractionState" : "manual", + "Recommendation expired" : { + "comment" : "Reason Loop could not run: its dosing recommendation expired before it was used", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "انتهت صلاحية التوصية" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doporučení vypršelo" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Handling påkrævet" + "value" : "Anbefaling udløbet" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Erfordert Aufmerksamkeit" + "value" : "Empfehlung abgelaufen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Necesita Atención" + "value" : "Recomendación caducada" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Tarvitsee huomiota" + "value" : "Suositus vanhentunut" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Demande votre attention" + "value" : "Recommandation expirée" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "דורש תשומת לב" + "value" : "תוקף ההמלצה פג" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lejárt javaslat" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Richiede attenzione" + "value" : "Suggerimento scaduto" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "注意してください" + "value" : "推奨の有効期限切れ" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Trenger tilsyn" + "value" : "Anbefaling utløpt" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Aandacht nodig" + "value" : "Advies verlopen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Potrzebuje uwagi" + "value" : "Zalecenie wygasło" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Precisa de Atenção" + "value" : "Recomendação expirada" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Necesită atenție" + "value" : "Recomandare expirată" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Требует внимания" + "value" : "Рекомендация устарела" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Odporúčanie vypršalo" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Kräver uppmärksamhet" + "value" : "Rekommendationen har gått ut" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "İlgilenmeniz gerekiyor" + "value" : "Önerinin süresi doldu" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Рекомендація застаріла" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Cần chú ý" + "value" : "Khuyến nghị đã hết hạn" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "请注意" + "value" : "建议已过期" } } } }, - "Negative duration not allowed" : { - "comment" : "Override error description: negative duration error.", + "Reservoir changed" : { + "comment" : "Pump event in the history: the insulin reservoir was replaced", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تم تغيير الخزان" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zásobník vyměněn" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Negativ varighed ikke tilladt" + "value" : "Reservoir skiftet" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Eine negative Dauer ist nicht erlaubt" + "value" : "Reservoir gewechselt" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Reservorio cambiado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Säiliö vaihdettu" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Durée négative non autorisée" + "value" : "Réservoir changé" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "משך זמן שלילי לא מותר" + "value" : "המאגר הוחלף" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tartály cserélve" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Durata negativa non consentita" + "value" : "Serbatoio cambiato" } }, - "nb" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Negativ varighet ikke tillatt" + "value" : "リザーバ交換" } }, - "nl" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Negatieve duur niet toegestaan" + "value" : "Reservoar byttet" } }, - "pl" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Ujemny czas trwania nie jest dozwolony" + "value" : "Reservoir vervangen" } }, - "ro" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Durata negativă nu este permisă" + "value" : "Wymieniono zbiorniczek" } }, - "ru" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Отрицательная продолжительность не допускается" + "value" : "Reservatório trocado" } }, - "tr" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Negatif süreye izin verilmez" + "value" : "Rezervor schimbat" } }, - "zh-Hans" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "不允许出现负时长" + "value" : "Резервуар заменён" } - } - } - }, - "New Favorite Food" : { - "comment" : "Title of new favorite food screen", - "localizations" : { - "de" : { + }, + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Neues Lieblingsessen" + "value" : "Zásobník vymenený" } }, - "fr" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Nouvel aliment préféré" + "value" : "Reservoar bytt" } }, - "nb" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Ny favorittmat" + "value" : "Rezervuar değiştirildi" } }, - "nl" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Nieuw favoriet voedingsmiddel" + "value" : "Резервуар замінено" } }, - "ro" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Noua mâncare preferată" + "value" : "Đã thay bình chứa" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "新增常用食物" + "value" : "已更换储药器" } } } }, - "Next, we’ll look at settings you can change and how they affect Omar’s insulin." : { - - }, - "Next, we’ll look at settings you can change and how they affect Paloma’s insulin." : { - - }, - "Nightscout" : { - "comment" : "The title of the Nightscout service", - "extractionState" : "manual", + "Reservoir rewound" : { + "comment" : "Pump event in the history: the pump rewound its reservoir", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "نايتسكاوت" + "value" : "تم إرجاع الخزان" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Zásobník převinut" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Reservoir spolet tilbage" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" - } - }, - "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Nightscout" + "value" : "Reservoir zurückgespult" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Reservorio rebobinado" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Säiliö kelattu taakse" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Réservoir rembobiné" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "המאגר הוחזר לאחור" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tartály visszatekerve" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Serbatoio riavvolto" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "リザーバ巻き戻し" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Reservoar spolt tilbake" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Reservoir teruggespoeld" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Cofnięto tłok zbiorniczka" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Reservatório rebobinado" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Rezervor rebobinat" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Резервуар перемотан" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Zásobník pretočený" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Reservoar tillbakaspolad" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Rezervuar geri sarıldı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Резервуар перемотано" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "Đã tua lại bình chứa" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Nightscout" + "value" : "储药器已回位" } } } }, - "No" : { - - }, - "No Activity" : { - - }, - "No alerts or alarms will sound while muted. Select how long you would you like to mute for." : { - "comment" : "Message for mute alert duration selection action sheet", - "extractionState" : "stale", + "Scheduled basal only" : { + "comment" : "Logbook day where only the scheduled basal ran, with nothing else logged", "localizations" : { - "da" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen advarsler eller alarmer lyder, mens lyden er slået fra. Vælg, hvor længe du vil slå lyden fra." + "value" : "القاعدية المجدولة فقط" } }, - "de" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Bei Stummschaltung ertönen keine Warn- oder Alarmsignale. Wähle die Dauer der Stummschaltung aus." + "value" : "Jen plánovaný bazál" } }, - "fr" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Aucune alerte ni alarme auditive ne sera émise lorsque le mode silencieux est activé. Choisissez la durée du mode silencieux." + "value" : "Kun planlagt basal" } }, - "it" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Nessun avviso o allarme suonerà quando l'audio è disattivato. Seleziona per quanto tempo desideri disattivare l'audio." + "value" : "Nur geplante Basalrate" } }, - "nb" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen varsler eller alarmer vil høres mens de er dempet. Velg hvor lenge du ønsker å dempe lyden." + "value" : "Solo basal programada" } }, - "nl" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Zolang dempen aan staat, klinken er geen waarschuwingen of alarmen. Kies hoe lang je wilt dempen." + "value" : "Vain ohjelmoitu basaali" } }, - "pl" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Po wyciszeniu nie będą emitowane żadne alerty ani alarmy. Wybierz, jak długo chcesz wyciszyć." + "value" : "Basal programmé uniquement" } }, - "ro" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Nicio alertă nu va suna când este dezactivat sunetul. Odată ce această perioadă se încheie, alertele și alarmele dumneavoastră vor relua normal." + "value" : "Basal מתוזמן בלבד" } }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "静音期间所有提醒与告警都不会发出声音。请选择你希望保持静音的时长。" - } - } - } - }, - "No Bolus Recommended" : { - "comment" : "Title for bolus screen notice when no bolus is recommended\nTitle for bolus screen warning when glucose is below suspend threshold, and a bolus is not recommended\nTitle for bolus screen warning when no bolus is recommended", - "localizations" : { - "da" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen bolus anbefalet" + "value" : "Csak ütemezett basal" } }, - "de" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Kein Bolus empfohlen" + "value" : "Solo basale programmata" } }, - "es" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "No hay bolo recomendado" + "value" : "スケジュールのベーサルのみ" } }, - "fi" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Bolusta ei suositella" + "value" : "Bare planlagt basal" } }, - "fr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Aucun Bolus Recommandé" + "value" : "Alleen gepland basaal" } }, - "he" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "אין המלצה לבולוס" + "value" : "Tylko zaplanowana baza" } }, - "it" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Nessun bolo consigliato" + "value" : "Somente basal programada" } }, - "nb" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen anbefalt bolus" + "value" : "Doar bazala programată" } }, - "nl" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Geen bolus aanbevolen" + "value" : "Только базал по расписанию" } }, - "pl" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus nie jest zalecany" + "value" : "Len plánovaný bazál" } }, - "ro" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Niciun bolus recomandat" + "value" : "Endast schemalagd basal" } }, - "ru" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Нет рекомендации болюса" + "value" : "Yalnızca planlanan bazal" } }, - "sv" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen bolus rekommenderas" + "value" : "Лише базал за розкладом" } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus Önerilmez" + "value" : "Chỉ Basal theo lịch" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "没有推荐的餐前剂量" + "value" : "仅预设基础率" } } } }, - "No change in glucose." : { - - }, - "no change needed" : { - - }, - "No connected devices, or failure during device connection" : { - "comment" : "The error message displayed for device connection errors.", + "SD %1$@ · CV %2$@%%" : { + "comment" : "Trends Average tile detail: standard deviation and coefficient of variation of glucose. (1: standard deviation in the glucose unit, 2: coefficient of variation as a percentage number)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "لا يوجد أجهزة متصلة, أو يوجد خطأ أثناء الاتصال" + "value" : "SD %1$@ · CV %2$@%%" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "SD %1$@ · CV %2$@%%" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen tilsluttede enheder eller fejl under forbindelse til enhed" + "value" : "SD %1$@ · CV %2$@ %%" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Keine verbundenen Geräte oder Fehler während der Geräteverbindung" + "value" : "SD %1$@ · VK %2$@ %%" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "No hay dispositivos conectados o falla durante conexión de dispositivo" + "value" : "DE %1$@ · CV %2$@%%" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ei yhdistettyjä laitteita tai häiriö laiteyhteydessä" + "value" : "SD %1$@ · CV %2$@ %%" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Pas d'appareil connecté, ou échec durant la connexion à l'appareil" + "value" : "ET %1$@ · CV %2$@ %%" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "אין מכשירים מחוברים, או שישנה שגיאת התחברות." + "value" : "SD %1$@ · CV %2$@%%" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "SD %1$@ · CV %2$@%%" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Nessun dispositivo connesso o mancanza di segnale durante la connessione del dispositivo" + "value" : "DS %1$@ · CV %2$@%%" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "機器が未接続、または接続に問題" + "value" : "SD %1$@ · CV %2$@%%" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen tilkoblede enheter, eller feil under enhetstilkobling" + "value" : "SD %1$@ · CV %2$@ %%" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Geen aangesloten apparaten of storingen tijdens het verbinden met het apparaat" + "value" : "SD %1$@ · CV %2$@%%" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Brak podłączonych urządzeń lub awaria podczas połączenia urządzenia" + "value" : "SD %1$@ · CV %2$@%%" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Nenhum dispositivo conectado ou falha durante a conexão" + "value" : "DP %1$@ · CV %2$@%%" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Nu este conectat niciun dispozitiv sau s-a produs o eroare la conectare" + "value" : "SD %1$@ · CV %2$@%%" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Устройства не сопряжены или произошла ошибка во время сопряжения" + "value" : "SD %1$@ · CV %2$@%%" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "SD %1$@ · CV %2$@%%" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen ansluten enhet, eller fel vid anslutning till enhet" + "value" : "SD %1$@ · CV %2$@ %%" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bağlı cihaz yok veya cihaz bağlantısı sırasında hata" + "value" : "SD %1$@ · CV %%%2$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "SD %1$@ · CV %2$@%%" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Không có thiết bị nào được kết nối, hoặc lỗi trong quá trình kết nối" + "value" : "SD %1$@ · CV %2$@%%" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "没有连接的设备,或设备连接期间发生故障" + "value" : "SD %1$@ · CV %2$@%%" } } } }, - "No Delivery" : { - - }, - "No glucose data for this period." : { - "comment" : "Statistics empty state" - }, - "No Maximum Bolus Configured" : { - "comment" : "Alert title for a missing maximum bolus setting error", + "Sets up a CGM" : { + "comment" : "VoiceOver hint for the Add CGM status pill on the Now screen", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يُعدّ جهاز CGM" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nastaví CGM" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen maksimal bolus konfigureret" + "value" : "Opsætter en CGM" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Kein maximaler Bolus konfiguriert" + "value" : "Richtet ein CGM ein" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "No hay bolo máximo configurado" + "value" : "Configura un CGM" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Maksimibolusta ei ole määritetty" + "value" : "Ottaa CGM:n käyttöön" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Aucun Bolus Maximum configuré" + "value" : "Configure un CGM" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "לא הוגדר בולוס מקסימלי" + "value" : "מגדיר CGM" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM beállítása" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Nessun bolo massimo configurato" + "value" : "Configura un CGM" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGMを設定します" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen maksimal bolus er konfigurert" + "value" : "Setter opp en CGM" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Geen maximale bolus geconfigureerd" + "value" : "Stelt een CGM in" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Nie skonfigurowano maksymalnego bolusa" + "value" : "Konfiguruje CGM" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configura um CGM" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bolusul maxim nu este setat" + "value" : "Configurează un CGM" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Не установлен максимальный болюс" + "value" : "Настраивает CGM" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nastaví CGM" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen maximal bolus har blivit inställd" + "value" : "Lägger till en CGM" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Yapılandırılmış Maksimum Bolus Yok" + "value" : "CGM kurar" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Налаштовує CGM" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thiết lập CGM" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "没有设置最大推注量" + "value" : "设置 CGM" } } } }, - "No performance history available yet" : { - - }, - "No Pump Configured" : { - "comment" : "Alert title for a missing pump error", + "Sets up a pump" : { + "comment" : "VoiceOver hint for the Add pump status pill on the Now screen", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يُعدّ مضخة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nastaví pumpu" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen pumpe konfigureret" + "value" : "Opsætter en pumpe" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Keine Pumpe konfiguriert" + "value" : "Richtet eine Pumpe ein" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "No hay microinfusadora configurada" + "value" : "Configura una microinfusadora" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Pumppua ei ole määritetty" + "value" : "Ottaa pumpun käyttöön" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Pas de pompe configurée" + "value" : "Configure une pompe" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "לא הוגדרה משאבה" + "value" : "מגדיר משאבה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pumpa beállítása" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Nessuna pompa configurata" + "value" : "Configura una pompa" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ポンプを設定します" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen pumpe er konfigurert" + "value" : "Setter opp en pumpe" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Geen pomp geconfigureerd" + "value" : "Stelt een pomp in" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Nie skonfigurowano pompy" + "value" : "Konfiguruje pompę" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Configura uma bomba" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Nicio pompă configurată" + "value" : "Configurează o pompă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Нет настроенной помпы" + "value" : "Настраивает помпу" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nastaví pumpu" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen pump konfigurerad" + "value" : "Lägger till en pump" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pompa kurar" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Налаштовує помпу" } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Yapılandırılmış Pompa Yok" + "value" : "Thiết lập bơm" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "未配置泵" + "value" : "设置胰岛素泵" } } } }, - "No Recent Glucose" : { - "comment" : "The title of the cell indicating that there is no recent glucose", - "extractionState" : "stale", + "Shows when Loop last ran" : { + "comment" : "VoiceOver hint for the Loop status pill and the Loop notice on the Now screen", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يعرض آخر مرة عمل فيها Loop" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ukáže, kdy Loop naposledy proběhl" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen nyere glukose" + "value" : "Viser, hvornår Loop sidst kørte" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Kein aktueller Blutzucker " + "value" : "Zeigt, wann Loop zuletzt gelaufen ist" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Sin glucosa reciente" + "value" : "Muestra cuándo se ejecutó Loop por última vez" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ei viimeaikaisia glukoositietoja" + "value" : "Näyttää, milloin Loop ajettiin viimeksi" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Pas de Glycémie récente" + "value" : "Indique la dernière exécution de Loop" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "אין גלוקוז לאחרונה" + "value" : "מציג מתי Loop רץ לאחרונה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Megmutatja, mikor futott utoljára a Loop" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Nessuna glicemia recente" + "value" : "Mostra l'ultima esecuzione di Loop" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopの最終実行時刻を表示します" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen ny blodsukkermåling" + "value" : "Viser når Loop sist kjørte" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Geen recente glucose" + "value" : "Toont wanneer Loop voor het laatst draaide" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Brak aktualnej glukozy" + "value" : "Pokazuje, kiedy Loop ostatnio działał" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mostra quando o Loop executou pela última vez" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Lipsă glicemie recentă" + "value" : "Arată când a rulat Loop ultima dată" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Нет актуальных данных о глюкозе" + "value" : "Показывает, когда Loop запускался последний раз" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ukáže, kedy Loop naposledy prebehol" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Inga senaste blodglukosvärde" + "value" : "Visar när Loop senast kördes" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Son KŞ Yok" + "value" : "Loop'un son çalıştığı zamanı gösterir" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Показує, коли Loop запускався востаннє" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hiển thị lần chạy gần nhất của Loop" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "无近期血糖数据" + "value" : "显示 Loop 上次运行时间" } } } }, - "No Recent Glucose Data" : { - "comment" : "Title for bolus screen notice when glucose data is missing or stale", + "Summary" : { + "comment" : "Trends card title: the summary statistics tiles", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الملخص" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Souhrn" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen nylige glukosedata" + "value" : "Oversigt" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Kein aktueller Blutzucker " + "value" : "Übersicht" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Sin datos de glucosa recientes" + "value" : "Resumen" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ei viimeaikaisia glukoositietoja" + "value" : "Yhteenveto" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Pas de Glycémie récente" + "value" : "Résumé" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "אין נתוני גלוקוז אחרונים" + "value" : "סיכום" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Összegzés" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Nessun dato recente sulla glicemia" + "value" : "Riepilogo" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "概要" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen nye blodsukkerdata" + "value" : "Oversikt" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Geen recente glucosegegevens" + "value" : "Overzicht" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Brak ostatnich danych dotyczących glukozy" + "value" : "Podsumowanie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Resumo" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Lipsă date recente glicemie" + "value" : "Rezumat" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Нет актуальных данных о глюкозе" + "value" : "Сводка" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Súhrn" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Inget aktuellt blodsockervärde" + "value" : "Sammanfattning" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Son KŞ Verisi Yok" + "value" : "Özet" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Підсумок" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tóm tắt" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "无近期血糖数据记录" + "value" : "摘要" } } } }, - "No Recent Pump Data" : { - "comment" : "Title for bolus screen notice when pump data is missing or stale", + "Suspended" : { + "comment" : "Chart callout value: insulin delivery was suspended at the touched time Shown in the Basal tile on the Now screen when insulin delivery is suspended", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "متوقف مؤقتًا" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pozastaveno" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen nyere pumpedata" + "value" : "Suspenderet" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Keine Pumpendaten" + "value" : "Unterbrochen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Sin datos de microinfusora recientes" + "value" : "Suspendida" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ei viimeaikaisia pumpun tietoja" + "value" : "Pysäytetty" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Aucune donnée de pompe récente" + "value" : "Suspendu" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "אין נתוני משאבה אחרונים" + "value" : "מושהה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Felfüggesztve" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Nessun dato recente sulla pompa" + "value" : "Sospesa" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "一時停止中" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Mangler relevant pumpdata" + "value" : "Stanset" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Geen recente pompgegevens" + "value" : "Onderbroken" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Brak ostatnich danych pompy" + "value" : "Wstrzymano" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suspensa" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Lipsă date recente pompă" + "value" : "Suspendat" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Нет актуальных данных от помпы" + "value" : "Приостановлено" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pozastavené" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Det finns inga aktuella pumpdata" + "value" : "Pausad" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Son Pompa Verisi Yok" + "value" : "Askıya alındı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Призупинено" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã tạm ngưng" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "没有最近的泵数据" + "value" : "已暂停" } } } }, - "No, edit amount" : { - "comment" : "The title of the action used when rejecting the the amount of carbohydrates entered.", + "System" : { + "comment" : "Appearance option that follows the iPhone's light or dark setting", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "النظام" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Systém" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Nej, indstil mængde" + "value" : "System" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Nein, Menge bearbeiten" + "value" : "System" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "No, editar cantidad" + "value" : "Sistema" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Järjestelmä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Non, modifier la quantité" + "value" : "Système" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "לא, ערוך כמות" + "value" : "מערכת" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rendszer" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "No, modifica la quantità" + "value" : "Sistema" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "システム" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Nei, rediger mengde" + "value" : "System" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Nee, hoeveelheid aanpassen" + "value" : "Systeem" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Nie, edytuj ilość" + "value" : "Systemowy" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sistema" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Nu, modificați cantitatea" + "value" : "Sistem" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Нет, редактировать сумму" + "value" : "Как в системе" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Systém" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "System" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Hayır, miktarı düzenle" + "value" : "Sistem" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Як у системі" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hệ thống" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "不,修改含量" + "value" : "系统" } } } }, - "None" : { - "comment" : "Indicates no favorite food is selected", + "System follows your iPhone's light or dark setting." : { + "comment" : "Footer for the appearance choice", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "None" + "value" : "خيار النظام يتبع إعداد المظهر الفاتح أو الداكن في iPhone." } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Žádný" + "value" : "Systém se řídí světlým nebo tmavým nastavením iPhonu." } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen" + "value" : "System følger din iPhones lyse eller mørke indstilling." } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Keiner" + "value" : "„System“ folgt der hellen oder dunklen Einstellung Deines iPhones." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Ninguno" + "value" : "Sistema sigue el ajuste claro u oscuro de tu iPhone." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ei mitään" + "value" : "Järjestelmä seuraa iPhonen vaaleaa tai tummaa asetusta." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Aucun" + "value" : "Système suit le réglage clair ou sombre de votre iPhone." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "None" + "value" : "מערכת פועלת לפי הגדרת המראה הבהיר או הכהה של ה-iPhone." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A Rendszer az iPhone világos vagy sötét beállítását követi." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Nessuno" + "value" : "Sistema segue l'impostazione chiara o scura del tuo iPhone." } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "なし" + "value" : "「システム」はiPhoneのライト/ダーク設定に従います。" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen" + "value" : "System følger den lyse eller mørke innstillingen på iPhonen din." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Geen" + "value" : "Systeem volgt de lichte of donkere instelling van je iPhone." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Brak" + "value" : "Systemowy wygląd jest zgodny z jasnym lub ciemnym ustawieniem iPhone’a." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Nenhum" + "value" : "Sistema segue o ajuste claro ou escuro do seu iPhone." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Nimic" + "value" : "Sistem urmează setarea luminoasă sau întunecată a iPhone-ului." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Не подан" + "value" : "«Как в системе» следует светлому или тёмному оформлению iPhone." } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Žiadny" + "value" : "Systém sa riadi svetlým alebo tmavým nastavením iPhonu." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Ingen" + "value" : "System följer iPhonens ljusa eller mörka inställning." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Hiçbiri" + "value" : "Sistem, iPhone'unuzun açık veya koyu ayarını izler." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "«Як у системі» відповідає світлому або темному вигляду iPhone." } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "None" + "value" : "Hệ thống theo cài đặt sáng hoặc tối của iPhone." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "无" + "value" : "“系统”跟随 iPhone 的浅色或深色设置。" } } } }, - "None in last 24 hours" : { - - }, - "Not enough data to plot a profile." : { - "comment" : "AGP empty state" - }, - "Not Set" : { - "comment" : "Health sharing status: not determined" - }, - "Notification Delivery" : { - "comment" : "Notification Delivery Status text", + "Target %1$@–%2$@" : { + "comment" : "Glucose target range on the Now screen hero card. (1: lower bound; 2: upper bound)", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الهدف %1$@–%2$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cíl %1$@–%2$@" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Notifikationsindstillinger" + "value" : "Mål %1$@–%2$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Benachrichtigungszustellung" + "value" : "Ziel %1$@–%2$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Entrega de notificaciones" + "value" : "Objetivo %1$@–%2$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tavoite %1$@–%2$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Notification de l'administration" + "value" : "Cible %1$@–%2$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "משלוח הודעות" + "value" : "יעד %1$@–%2$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cél %1$@–%2$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Invio delle notifiche" + "value" : "Obiettivo %1$@–%2$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標 %1$@–%2$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Varslingslevering" + "value" : "Mål %1$@–%2$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Afleveren meldingen" + "value" : "Doel %1$@–%2$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Dostarczanie powiadomień" + "value" : "Cel %1$@–%2$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alvo %1$@–%2$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Livrare notificare" + "value" : "Țintă %1$@–%2$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Доставка уведомлений" + "value" : "Цель %1$@–%2$@" } }, - "tr" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Bildirim Gönderimi" + "value" : "Cieľ %1$@–%2$@" } }, - "zh-Hans" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "通知推送类型" + "value" : "Mål %1$@–%2$@" } - } - } - }, - "Notification delivery is set to Scheduled Summary in your phone’s settings.\n\nTo avoid delay in receiving notifications from %1$@, we recommend notification delivery be set to Immediate Delivery." : { - "comment" : "Format for Critical Alerts permissions disabled alert body. (1: app name)", - "localizations" : { - "da" : { + }, + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Notifikationer er indstillet til et Planlagt resumé i telefonens indstillinger.\n\nFor at undgå forsinkelser ved modtagelse af notifikarioner fra %1$@ anbefaler vi, at notifikationslevering er indstillet til øjeblikkelig levering." + "value" : "Hedef %1$@–%2$@" } }, - "de" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Die Benachrichtigungszustellung ist in den Einstellungen Deines Telefons auf geplante Zusammenfassung eingestellt.\n\nUm Verzögerungen beim Erhalt von Benachrichtigungen von %1$@ zu vermeiden, empfehlen wir, die Benachrichtigungszustellung auf sofortige Zustellung einzustellen." + "value" : "Ціль %1$@–%2$@" } }, - "es" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "El envío de notificaciones está configurado como Resumen Programado en los ajustes del teléfono.\n\nPara evitar retrasos en la recepción de notificaciones de %1$@, le recomendamos que configure el envío de notificaciones como Entrega inmediata." + "value" : "Mục tiêu %1$@–%2$@" } }, - "fr" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "L'envoi des notifications est réglé sur \"Résumé programmé\" dans les paramètres de votre téléphone.\n\nPour éviter tout retard dans la réception des notifications de %1$@, nous vous recommandons de régler l'envoi des notifications sur \"Envoi immédiat\"." + "value" : "目标 %1$@–%2$@" + } + } + } + }, + "Temp basal" : { + "comment" : "Logbook row title: a temporary basal rate", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "Temp Basal" } }, - "he" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "משלוח התראות מוגדר לסיכום מתוזמן בהגדרות הטלפון שלך. \n\n כדי למנוע עיכוב בקבלת התראות מ- %1$@ , אנו ממליצים להגדיר את משלוח ההתראות למשלוח מיידי." + "value" : "Dočasný bazál" } }, - "it" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "L'invio delle notifiche è impostato su Riepilogo pianificato nelle impostazioni del telefono. \n\nPer evitare ritardi nella ricezione delle notifiche da %1$@ , ti consigliamo di impostare l'invio delle notifiche su Consegna immediata." + "value" : "Midlertidig basal" } }, - "nb" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Varslingslevering er satt til Planlagt sammendrag i telefonens innstillinger. \n\n For å unngå forsinkelser i mottak av varsler fra %1$@ , anbefaler vi at varslingslevering settes til Umiddelbar levering." + "value" : "Temporäre Basalrate" } }, - "nl" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "De aflevering van meldingen in de instellingen van je telefoon staat op Gepland overzicht.\n\nOm vertraging bij het ontvangen van meldingen van %1$@ te voorkomen, raden we je aan om de aflevering van meldingen in te stellen op Onmiddellijk afleveren." + "value" : "Basal temporal" } }, - "pl" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Dostarczanie powiadomień jest ustawione na Zaplanowane podsumowanie w ustawieniach telefonu. \n\nAby uniknąć opóźnień w otrzymywaniu powiadomień od %1$@ , zalecamy ustawienie dostarczania powiadomień na Natychmiastowe dostarczanie." + "value" : "Temp Basal" } }, - "ro" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Livrarea notificărilor este setată la Rezumat programat în setările telefonului dumneavoastră. \n\nPentru a evita întârzierea primirii notificărilor de la %1$@, vă recomandăm ca livrarea notificărilor să fie setată la Livrare imediată." + "value" : "Basal temp." } }, - "ru" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "В настройках телефона для доставки уведомлений установлено значение \"Сводка по расписанию\".\n\nЧтобы избежать задержки в получении уведомлений от %1$@, мы рекомендуем установить доставку уведомлений на Немедленную доставку." + "value" : "Temp Basal" } }, - "tr" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Bildirim gönderimi, telefonunuzun ayarlarında Zamanlanmış Özet olarak ayarlanmıştır.\n\n%1$@ adresinden bildirim almakta gecikmeyi önlemek için bildirim gönderimini Anında Gönderim olarak ayarlanmasını öneririz." + "value" : "Temp Basal" } }, - "zh-Hans" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "你的手机设置中,该 App 通知投递方式为定时推送摘要。\n\n为避免接收 %1$@ App 通知出现延迟,建议将通知投递方式改为立即推送。" + "value" : "Basale temporanea" } - } - } - }, - "Notifications" : { - "comment" : "Notifications Status text", - "localizations" : { - "da" : { + }, + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Notifikationer" + "value" : "一時ベーサル" } }, - "de" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Benachrichtigungen" + "value" : "Midlertidig basal" } }, - "es" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Notificaciones" + "value" : "Tijdelijk basaal" } }, - "fr" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Notifications" + "value" : "Baza tymczasowa" } }, - "he" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "התראות" + "value" : "Temp Basal" } }, - "it" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Notifiche" + "value" : "Bazală temporară" } }, - "nb" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Varsler" + "value" : "Врем. базал" } }, - "nl" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Sta meldingen toe" + "value" : "Dočasný bazál" } }, - "pl" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Powiadomienia" + "value" : "Temporär basal" } }, - "ro" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Notificări" + "value" : "Geçici bazal oranı" } }, - "ru" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Уведомления" + "value" : "Тимчасовий базал" } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Bildirimler" + "value" : "Temp Basal" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "通知" + "value" : "临时基础率" } } } }, - "Notifications Delayed" : { - "comment" : "Scheduled Delivery Enabled alert title", + "The icon couldn't be changed: %@" : { + "comment" : "Error shown when iOS refuses an app icon change", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تعذّر تغيير الأيقونة: %@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ikonu nelze změnit: %@" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Notifikationer forsinkede" + "value" : "Symbolet kunne ikke ændres: %@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Benachrichtigungsverzögerung" + "value" : "Das Symbol konnte nicht geändert werden: %@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Retraso en las notificaciones" + "value" : "No se pudo cambiar el icono: %@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kuvaketta ei voitu vaihtaa: %@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Notifications retardées" + "value" : "Impossible de changer l'icône : %@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "התראות מתעכבות" + "value" : "לא ניתן היה לשנות את הצלמית: %@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Az ikont nem sikerült módosítani: %@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Notifiche ritardate" + "value" : "Impossibile cambiare l'icona: %@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "アイコンを変更できませんでした:%@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Varsler forsinket" + "value" : "Symbolet kunne ikke endres: %@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Meldingen vertraagd" + "value" : "Het symbool kan niet worden gewijzigd: %@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Spóźnione Powiadomienia" + "value" : "Nie udało się zmienić ikony: %@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Não foi possível alterar o ícone: %@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Notificări întârziate" + "value" : "Pictograma nu a putut fi schimbată: %@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Уведомления временно отключены" + "value" : "Не удалось сменить значок: %@" } }, - "tr" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Bildirimler Gecikti" + "value" : "Ikonu nie je možné zmeniť: %@" } }, - "zh-Hans" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "通知延迟" + "value" : "Symbolen kunde inte ändras: %@" } - } - } - }, - "Notifications give you important %1$@ app information without requiring you to open the app." : { - "comment" : "Alert Permissions descriptive text (1: app name)", - "extractionState" : "stale", - "localizations" : { - "da" : { + }, + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Meddelelser giver dig vigtige oplysninger om %1$@-appen uden at du behøver at åbne appen." + "value" : "Simge değiştirilemedi: %@" } }, - "de" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Benachrichtigungen geben Dir wichtige %1$@-App-Informationen, ohne dass Du die App öffnen musst." + "value" : "Не вдалося змінити іконку: %@" } }, - "es" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Las notificaciones te proporcionan información importante sobre la aplicación %1$@ sin que tengas que abrirla." + "value" : "Không thể đổi biểu tượng: %@" } }, - "fr" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Les notifications vous donnent des informations importantes sur l'application %1$@ sans avoir à l'ouvrir." + "value" : "无法更改图标:%@" + } + } + } + }, + "The new interface adds Trends and Logbook tabs. Turn it off to go back to the classic status screen; Settings closes to switch." : { + "comment" : "Footer for the interface choice in settings", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تضيف الواجهة الجديدة تبويبي الاتجاهات والسجل. أوقفها للعودة إلى شاشة الحالة الكلاسيكية؛ تُغلق الإعدادات للتبديل." } }, - "he" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "התראות מעבירות לך מידע חשוב על האפליקציה %1$@ מבלי לדרוש ממך לפתוח את האפליקציה." + "value" : "Nové rozhraní přidává karty Trendy a Deník. Vypněte ho, chcete-li se vrátit ke klasické obrazovce stavu; Nastavení se pro přepnutí zavře." } }, - "it" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Le notifiche ti forniscono informazioni importanti sull'app %1$@ senza che tu debba aprire l'app." + "value" : "Den nye brugerflade tilføjer fanerne Tendenser og Logbog. Slå den fra for at vende tilbage til den klassiske statusskærm; Indstillinger lukkes for at skifte." } }, - "nb" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Varslinger gir deg viktig %1$@ app informasjon uten at du behøver å åpne appen." + "value" : "Die neue Oberfläche fügt die Tabs Trends und Logbuch hinzu. Schalte sie aus, um zum klassischen Statusbildschirm zurückzukehren; die Einstellungen werden zum Wechseln geschlossen." } }, - "nl" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Meldingen geven je belangrijke %1$@ appinformatie zonder dat je de app hoeft te openen." + "value" : "La nueva interfaz añade las pestañas Tendencias y Registro. Desactívala para volver a la pantalla de estado clásica; Ajustes se cierra para cambiar." } }, - "pl" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Powiadomienia zawierają ważne informacje o aplikacji %1$@ bez konieczności otwierania aplikacji." + "value" : "Uusi käyttöliittymä lisää Trendit- ja Lokikirja-välilehdet. Poista se käytöstä palataksesi perinteiseen tilanäyttöön; Asetukset suljetaan vaihtoa varten." } }, - "ro" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Notificările vă oferă informații importante despre aplicația %1$@ fără a fi necesar să deschideți aplicația." + "value" : "La nouvelle interface ajoute les onglets Tendances et Journal. Désactivez-la pour revenir à l'écran d'état classique ; les Paramètres se ferment pour basculer." } }, - "ru" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Уведомления предоставляют важную информацию о приложении %1$@, не требуя открытия приложения." + "value" : "הממשק החדש מוסיף לשוניות מגמות ויומן. כבה אותו כדי לחזור למסך הסטטוס הקלאסי; ההגדרות ייסגרו לצורך המעבר." } }, - "tr" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Bildirimler, uygulamayı açmanıza gerek kalmadan size önemli %1$@ uygulama bilgilerini verir." + "value" : "Az új felület Trendek és Napló lapokkal bővül. Kapcsold ki, ha vissza szeretnél térni a klasszikus állapotképernyőhöz; a váltáshoz a Beállítások bezárul." } }, - "zh-Hans" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "通知可在无需打开 %1$@ 应用的情况下,向你提供重要信息。" + "value" : "La nuova interfaccia aggiunge le schede Tendenze e Diario. Disattivala per tornare alla classica schermata di stato; Impostazioni si chiude per cambiare." } - } - } - }, - "Notifications give you important %1$@ app information without requiring you to open the app.\n\nKeep these turned ON in your phone’s settings to ensure you receive %1$@ Notifications, Critical Alerts, and Time Sensitive Notifications." : { - "comment" : "Alert Permissions descriptive text (1: app name)", - "localizations" : { - "da" : { + }, + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Meddelelser giver dig vigtige oplysninger om %1$@-appen, uden at du behøver at åbne appen.\n\nLad dem være aktiveret i telefonens indstillinger for at sikre, at du modtager %1$@-meddelelser, kritiske advarsler og tidsfølsomme meddelelser." + "value" : "新しいインターフェイスではトレンドとログブックのタブが追加されます。オフにすると従来のステータス画面に戻ります。切り替えると設定が閉じます。" } }, - "de" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Benachrichtigungen geben Dir wichtige %1$@ App-Informationen, ohne dass Du die App öffnen musst.\n\nLass diese in den Einstellungen Deines Telefons aktiviert, um sicherzustellen, dass Du %1$@ Benachrichtigungen, kritische Warnungen und zeitkritische Benachrichtigungen erhältst." + "value" : "Det nye grensesnittet legger til fanene Trender og Loggbok. Slå det av for å gå tilbake til den klassiske statusskjermen; Innstillinger lukkes for å bytte." } }, - "es" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Las notificaciones te proporcionan información importante sobre la aplicación %1$@ sin que tengas que abrirla.\n\nManten estas activadas en los ajustes del teléfono para recibir notificaciones %1$@, alertas críticas y notificaciones sensibles al tiempo cuando se entregan." + "value" : "De nieuwe interface voegt de tabbladen Trends en Logboek toe. Zet hem uit om terug te gaan naar het klassieke statusscherm; Instellingen sluit om te wisselen." } }, - "fr" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Les notifications vous donnent des informations importantes sur l’application %1$@ sans que vous ayez à ouvrir l’application.\n\nGardez-les activées dans les paramètres de votre téléphone pour vous assurer de recevoir Notifications, Alertes critiques et Notifications urgentes de %1$@." + "value" : "Nowy interfejs dodaje karty Trendy i Dziennik. Wyłącz go, aby wrócić do klasycznego ekranu stanu; Ustawienia zamkną się, aby przełączyć." } }, - "he" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "התראות מעניקות לך מידע חשוב על %1$@ מבלי לדרוש ממך לפתוח את האפליקציה.\n\nכדי להבטיח שתקבל התראות %1$@, התראות קריטיות והתראות רגישות לזמן, וודא שהן מופעלות." + "value" : "A nova interface adiciona as abas Tendências e Diário. Desligue-a para voltar à tela de status clássica; as Configurações fecham para trocar." } }, - "it" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Le notifiche ti forniscono informazioni importanti sull'app %1$@ senza che tu debba aprire l'app. \n\nTienile attive nelle impostazioni del tuo telefono per assicurarti di ricevere %1$@ notifiche, avvisi critici e notifiche sensibili al tempo." + "value" : "Noua interfață adaugă filele Tendințe și Jurnal. Dezactivați-o pentru a reveni la ecranul de stare clasic; Setările se închid pentru comutare." } }, - "nb" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Varsler gir deg viktig %1$@ appinformasjon uten at du trenger å åpne appen. \n\n Hold disse slått PÅ i telefonens innstillinger for å sikre at du mottar %1$@ -varsler, kritiske varsler og tidssensitive varsler." + "value" : "Новый интерфейс добавляет вкладки «Тренды» и «Журнал». Выключите его, чтобы вернуться к классическому экрану статуса; для переключения настройки закроются." } }, - "nl" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Meldingen geven je belangrijke %1$@ appinformatie zonder dat je de app hoeft te openen.\n\nHoud deze instellingen AAN in je telefooninstellingen om ervoor te zorgen dat %1$@ je meldingen, Kritieke meldingen en Tijdgevoelige meldingen ontvangt." + "value" : "Nové rozhranie pridáva karty Trendy a Denník. Vypnite ho, ak sa chcete vrátiť ku klasickej obrazovke stavu; Nastavenia sa pri prepnutí zatvoria." } }, - "pl" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Powiadomienia dostarczają ważnych informacji o aplikacji %1$@ bez konieczności otwierania aplikacji. \n\nWłącz je w ustawieniach telefonu, aby mieć pewność, że będziesz otrzymywać powiadomienia %1$@ , alerty krytyczne i powiadomienia zależne od czasu." + "value" : "Det nya gränssnittet lägger till flikarna Trender och Loggbok. Stäng av det för att gå tillbaka till den klassiska statusskärmen; Inställningar stängs vid bytet." } }, - "ro" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Notificările vă oferă informații importante despre aplicația %1$@ fără a fi necesar să deschideți aplicația. \n\nPăstrați-le activate în setările telefonului pentru a vă asigura că primiți notificări %1$@, alerte critice și notificări urgente." + "value" : "Yeni arayüz Eğilimler ve Kayıt Defteri sekmelerini ekler. Klasik durum ekranına dönmek için kapatın; geçiş için Ayarlar kapanır." } }, - "ru" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Уведомления предоставляют важную информацию о приложении %1$@, не требуя открытия приложения.\n\nВключите их в настройках телефона, чтобы получать уведомления %1$@, критические предупреждения и уведомления, чувствительные к времени." + "value" : "Новий інтерфейс додає вкладки «Тренди» і «Журнал». Вимкніть його, щоб повернутися до класичного екрана стану; для перемикання налаштування закриються." } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Bildirimler, uygulamayı açmanıza gerek kalmadan size önemli %1$@ uygulama bilgilerini verir. \n\n %1$@ Bildirimler, Kritik Uyarılar ve Zamana Duyarlı Bildirimler aldığınızdan emin olmak için telefonunuzun ayarlarında bunları AÇIK durumda tutun." + "value" : "Giao diện mới thêm các tab Xu hướng và Nhật ký. Tắt để quay lại màn hình trạng thái cổ điển; Cài đặt sẽ đóng để chuyển đổi." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "通知可在无需打开 %1$@ 应用的情况下,向你提供重要信息。\n\n请在手机设置中保持通知开启,以确保你能够接收 %1$@ 通知、关键通知和时效性通知。" + "value" : "新界面增加了“趋势”和“日志”标签页。关闭后将返回经典状态屏幕;切换时设置会关闭。" } } } }, - "Observed changes in glucose, subtracting changes modeled from insulin delivery, can be used to estimate carbohydrate absorption." : { - "comment" : "Section explaining carb effects chart" - }, - "Off" : { - "comment" : "Notification Setting Status is Off", + "Time in range" : { + "comment" : "Trends card title: share of glucose readings in each range", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الوقت ضمن النطاق" + } + }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Vypnuto" + "value" : "Čas v rozsahu" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Slukket" + "value" : "Tid i området" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Aus" + "value" : "Zeit im Zielbereich" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Apagado" + "value" : "Tiempo en rango" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Pois päältä" + "value" : "Aika tavoitealueella" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Désactivé" + "value" : "Temps dans la cible" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "כבוי" + "value" : "זמן בטווח" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tartományban töltött idő" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Disattivato" + "value" : "Tempo nell'intervallo" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "範囲内時間" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Av" + "value" : "Tid i målområdet" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Uit" + "value" : "Tijd binnen bereik" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Wyłącz" + "value" : "Czas w zakresie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tempo no alvo" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Oprit" + "value" : "Timp în interval" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Выключено" + "value" : "Время в диапазоне" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Vypnuté" + "value" : "Čas v rozsahu" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Av" + "value" : "Tid inom målområdet" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Kapalı" + "value" : "Aralıkta geçen süre" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Час у діапазоні" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thời gian trong khoảng" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "关闭" + "value" : "目标范围内时间" } } } }, - "Oh no! Loop crashed while dosing, and insulin adjustments have been paused until this dialog is closed. Dosing history may not be accurate. Please review Insulin Delivery charts, and monitor your blood glucose carefully." : { - "comment" : "Modal body for crash recovery alert", + "Today" : { + "comment" : "Day page title when showing today", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "اليوم" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dnes" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Åh nej! Loop gik ned under dosering, og insulinjusteringer er blevet sat på pause, indtil denne dialogboks er lukket. Doseringshistorikken er muligvis ikke nøjagtig. Gennemgå venligst insulintilførsindstillinger og overvåg dit blodsukker omhyggeligt." + "value" : "I dag" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Oh nein! Loop ist während des Bolus abgestürzt und die Insulinanpassungen wurden angehalten, bis dieser Dialog geschlossen wird. Der Dosierung-Verlauf ist möglicherweise nicht korrekt. Bitte prüfe die Tabellen zur Insulinabgabe und überwache Deinen Blutzucker sorgfältig." + "value" : "Heute" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "¡Oh, no! Loop falló durante la dosificación y los ajustes de insulina se pausaron hasta que se cierre este cuadro de diálogo. El historial de dosificación puede no ser exacto. Revise los gráficos de administración de insulina y controle cuidadosamente su nivel de glucosa en sangre." + "value" : "Hoy" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tänään" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Oh non ! La boucle s'est arrêtée pendant le dosage, et les ajustements d'insuline ont été mis en pause jusqu'à ce que ce dialogue soit fermé. L'historique des dosages peut ne pas être exact. Veuillez revoir les tableaux d'administration d'insuline et surveiller attentivement votre glycémie." + "value" : "Aujourd'hui" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "אוי לא! Loop קרסה בזמן הזרקה והתאמות אינסולין נעצרו עד שתסגור חלון זה. ייתכן שהיסטוריות ההזרקות לא תהיה מדוייקת. עיין בגרף מתן האינסולין ועקוב אחר הגלוקוז שלך מקרוב." + "value" : "היום" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ma" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Oh No! Loop si è chiuso mentre stava eseguendo un bolo e il dosaggio d'insulina è stato messo in pausa, finchè la finestra sarà chiusa. L'elenco dell'infusione d'insulina potrebbe non essere accurato. Per favore rivedi con attenzione la tabella di infusione dell'insulina e sorveglia strettamente la tua glicemia" + "value" : "Oggi" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今日" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Å nei! Loop krasjet under dosering, og insulinjusteringer er satt på pause til denne dialogen er lukket. Doseringshistorikken er kanskje ikke nøyaktig. Vennligst sjekk diagrammer for insulin levering, og overvåk blodsukkeret nøye." + "value" : "I dag" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Oh nee! Loop is vastgelopen tijdens het toedienen, en insulineaanpassingen zijn gepauzeerd totdat dit dialoogvenster wordt gesloten. De doseringsgeschiedenis is mogelijk niet nauwkeurig. Bekijk de Insulinetoedieningsgrafieken en controleer je bloedglucose nauwkeurig." + "value" : "Vandaag" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "O nie! Pętla uległa awarii podczas dozowania, a regulacja insuliny została wstrzymana do czasu zamknięcia tego okna dialogowego. Historia dawkowania może nie być dokładna. Przejrzyj wykresy podawania insuliny i uważnie monitoruj poziom glukozy we krwi." + "value" : "Dziś" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoje" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Oh nu! Loop s-a blocat în timpul administrării, iar ajustările insulinei au fost întrerupte până la închiderea acestui dialog. Istoricul administrării poate să nu fie exact. Vă rugăm să consultați graficele de administrare a insulinei și să vă monitorizați cu atenție glicemia." + "value" : "Azi" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Внимание! Во время подачи произошел сбой петли, и управление помпой было приостановлено до закрытия этого диалога. История событий может быть неточной. Пожалуйста, просмотрите графики введения инсулина в помпе и внимательно следите за уровнем глюкозы в крови." + "value" : "Сегодня" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dnes" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "I dag" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Oh hayır! Dozlama sırasında Loop çöktü ve bu iletişim kutusu kapatılana kadar insülin ayarlamaları duraklatıldı. Dozlama geçmişi doğru olmayabilir. Lütfen İnsülin İletim tablolarını gözden geçirin ve kan şekerinizi dikkatle izleyin." + "value" : "Bugün" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Сьогодні" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hôm nay" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "糟糕!Loop 在给药过程中发生故障,胰岛素调整功能已暂停,直至关闭此对话框。给药记录可能不准确。请查看胰岛素输注图表,并密切监测您的血糖水平。" + "value" : "今天" } } } }, - "OK" : { - "comment" : "Alert acknowledgment OK button\nCritical Alert permissions disabled alert button\nDefault action for alert when alert acknowledgment fails\nLabel for acknowledging the preset has been active for 24 hours\nNotifications permissions disabled alert button\nText for ok action on notification of upcoming TestFlight expiration\nText for ok action on notification of upcoming profile expiration\nThe title of the notification action to acknowledge a device alert", + "Today so far" : { + "comment" : "Title of the card on the Now screen showing today's insulin and carbs", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "موافق" + "value" : "اليوم حتى الآن" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Dnes zatím" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "I dag indtil nu" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Heute bisher" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Hoy hasta ahora" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Tänään tähän mennessä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Aujourd'hui jusqu'ici" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "אישור" + "value" : "היום עד כה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ma eddig" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Oggi finora" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "今日のこれまで" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "I dag så langt" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Vandaag tot nu toe" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Dziś do tej pory" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Hoje até agora" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Azi până acum" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Сегодня на данный момент" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Dnes zatiaľ" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Hittills i dag" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Tamam" + "value" : "Bugün şu ana kadar" } }, - "vi" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Сьогодні наразі" } }, - "zh-Hans" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "OK" + "value" : "Hôm nay đến giờ" } - } - } - }, - "Omar asks himself, **do I expect I will need more or less insulin than usual?**" : { - - }, - "Omar Octopus wants to create a preset for some yard work he’ll be doing around the house." : { - - }, - "Omar sets his correction range a little higher, to %@-%@ %@. This tells %@ to step in sooner." : { - "localizations" : { - "en" : { + }, + "zh-Hans" : { "stringUnit" : { - "state" : "new", - "value" : "Omar sets his correction range a little higher, to %1$@-%2$@ %3$@. This tells %4$@ to step in sooner." + "state" : "translated", + "value" : "今日至今" } } } }, - "Omar’s Current Therapy Settings" : { - - }, - "On" : { - "comment" : "Notification Setting Status is On", + "Today · %1$@" : { + "comment" : "Logbook day header for today. (1: weekday and date, e.g. Sun 25 Oct)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "On" + "value" : "اليوم · %1$@" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Zapnuto" + "value" : "Dnes · %1$@" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Tændt" + "value" : "I dag · %1$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "An" + "value" : "Heute · %1$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Encendido" + "value" : "Hoy · %1$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Päällä" + "value" : "Tänään · %1$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Activé" + "value" : "Aujourd'hui · %1$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "מופעל" + "value" : "היום · %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ma · %1$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Attivato" + "value" : "Oggi · %1$@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "オン" + "value" : "今日 · %1$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "På" + "value" : "I dag · %1$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Aan" + "value" : "Vandaag · %1$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Włącz" + "value" : "Dziś · %1$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Ligado" + "value" : "Hoje · %1$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Pornit" + "value" : "Azi · %1$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Включено" + "value" : "Сегодня · %1$@" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Zapnuté" + "value" : "Dnes · %1$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "På" + "value" : "I dag · %1$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Açık" + "value" : "Bugün · %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Сьогодні · %1$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "On" + "value" : "Hôm nay · %1$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "开" + "value" : "今天 · %1$@" } } } }, - "On until" : { - - }, - "on until %@" : { - "comment" : "The format for the description of a custom preset end date\nThe format for the description of a finite custom preset end date" - }, - "on until carbs added" : { - "comment" : "The format for the description of a premeal preset end date" - }, - "on until turned off" : { - "comment" : "The format for the description of an indefinite custom preset end date" - }, - "Once saved, Omar’s new preset will display in his Presets lists." : { - - }, - "Once you have allowed or denied a data type, %1$@ cannot ask again from within the app. To review or change access, open the Health app, tap your profile, then Apps → %1$@." : { - "comment" : "Health access change instructions (1: app name)" - }, - "Open iOS Settings" : { - "comment" : "A button that opens the iOS settings app.", - "isCommentAutoGenerated" : true - }, - "Other" : { - "comment" : "The group name for plugins that do not declare a manufacturer or category" - }, - "Override Presets" : { - "comment" : "The title text for the override presets", - "extractionState" : "manual", + "Touch and hold a chart to see exact values." : { + "comment" : "Hint under the day page charts explaining how to scrub them", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "تخطي الإعدادات المسبقة" + "value" : "المس مخططًا مع الاستمرار لرؤية القيم الدقيقة." } }, - "da" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Override forudindstillinger" + "value" : "Podržte prst na grafu a uvidíte přesné hodnoty." } }, - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Voreinstellungen" + "value" : "Tryk og hold på et diagram for at se præcise værdier." } }, - "en" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Override Presets" + "value" : "Halte ein Diagramm gedrückt, um genaue Werte zu sehen." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Sobreescrituras preestablecidas" + "value" : "Mantén pulsado un gráfico para ver los valores exactos." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Tilapäisasetukset" + "value" : "Pidä kaaviota painettuna nähdäksesi tarkat arvot." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Préréglages ajustement" + "value" : "Touchez un graphique de manière prolongée pour voir les valeurs exactes." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "עקוף הגדרות מוגדרות מראש" + "value" : "גע והחזק תרשים כדי לראות ערכים מדויקים." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Érints meg és tarts lenyomva egy diagramot a pontos értékekért." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Override" + "value" : "Tieni premuto su un grafico per vedere i valori esatti." } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "オーバーライドプリセット" + "value" : "グラフを長押しすると正確な値が表示されます。" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Overstyr forhåndsinnstillinger" + "value" : "Trykk og hold på et diagram for å se nøyaktige verdier." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Override programma's" + "value" : "Houd een grafiek ingedrukt om exacte waarden te zien." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Override Presets" + "value" : "Dotknij i przytrzymaj wykres, aby zobaczyć dokładne wartości." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Sobreposições Predefinidas" + "value" : "Toque e segure um gráfico para ver os valores exatos." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Presetări de înlocuire" + "value" : "Țineți apăsat pe un grafic pentru a vedea valorile exacte." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Редактировать параметры" + "value" : "Нажмите и удерживайте график, чтобы увидеть точные значения." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podržte prst na grafe a uvidíte presné hodnoty." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Override förinställningar" + "value" : "Tryck och håll på ett diagram för att se exakta värden." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Geçersiz Kılma Ön Ayarları" + "value" : "Tam değerleri görmek için bir grafiğe dokunup basılı tutun." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Торкніться й утримуйте графік, щоб побачити точні значення." } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Cài đặt chồng liều" + "value" : "Chạm và giữ biểu đồ để xem giá trị chính xác." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "覆盖预设置" + "value" : "按住图表可查看精确数值。" } } } }, - "Overview" : { - - }, - "Paloma Porpoise sees her glucose is running higher than usual. She creates a preset to help manage her glucose while she is sick." : { - - }, - "Paloma wants %@ to know she needs more insulin than usual." : { - - }, - "Paloma’s Adjusted Therapy Settings" : { - - }, - "Paloma’s Current Therapy Settings" : { - - }, - "Pay attention to your insulin needs before and after exercising, playing sports, or doing unusually hard physical labor." : { - - }, - "Performance History" : { - "comment" : "The title of the view that shows the user's preset performance history.", - "isCommentAutoGenerated" : true - }, - "Physical stress, like illness, can cause glucose to rise." : { - - }, - "Planning for physical activity can be tough. If you forget to set a preset ahead of time, consider these strategies:" : { - - }, - "Please go to the App Store now to update the app." : { - "comment" : "Required update modal paragraph 3" - }, - "Possible Missed Meal" : { - "comment" : "The notification title for a meal that was possibly not logged in Loop.", + "Trends" : { + "comment" : "Title of the Trends tab Title of the Trends tab in the redesigned interface", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الاتجاهات" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trendy" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Muligt glemt måltid" + "value" : "Tendenser" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Wahrscheinlich eine Mahlzeit vergessen" + "value" : "Trends" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendencias" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trendit" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Repas manqué possible" + "value" : "Tendances" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "ייתכן שארוחה לא הוזנה" + "value" : "מגמות" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trendek" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Possibile pasto saltato" + "value" : "Tendenze" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "トレンド" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Mulig savnet måltid" + "value" : "Trender" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Mogelijk gemiste maaltijd" + "value" : "Trends" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Możliwe pominięcie posiłku" + "value" : "Trendy" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tendências" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Posibilă masă neanunțată" + "value" : "Tendințe" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Возможный пропуск приема пищи" + "value" : "Тренды" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trendy" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trender" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Muhtemel Kaçırılan Öğün" + "value" : "Eğilimler" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Тренди" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Xu hướng" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "可能未进餐" + "value" : "趋势" } } } }, - "Power lifting" : { - - }, - "Pre-meal Preset" : { - "comment" : "Status row title for premeal override enabled" - }, - "Pre-Meal Targets" : { - "comment" : "The label of the pre-meal mode toggle button", - "extractionState" : "stale", + "U/h" : { + "comment" : "Abbreviation for insulin units per hour", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "أهداف ما قبل الوجبة" + "value" : "وحدة لكل ساعة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "U/hod" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Før-måltid Mål" + "value" : "E/t" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Ziel vor dem Essen" + "value" : "IE/Std" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Objetivos Pre-Comida" + "value" : "U/h" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ennen ateriaa -tavoite" + "value" : "U/h" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Objectif de Pré-Repas" + "value" : "U/h" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "יעדים לפני הארוחה" + "value" : "U/hr" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "U/óra" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Obiettivo pre-pasto" + "value" : "U/ora" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "食前ターゲット" + "value" : "単位/時" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Målområde før måltid" + "value" : "E/t" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Pre-Meal doelen" + "value" : "E/uur" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Poziom przed posiłkiem" + "value" : "J/h" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Meta Pré-Refeição" + "value" : "U/h" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Ținte înainte de masă" + "value" : "U/oră" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Целевые значения до еды" + "value" : "Ед/ч" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "J/hod" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Målvärden före måltid" + "value" : "IE/h" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Yemek Öncesi Hedefler" + "value" : "Ü/Sa" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "U/год" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Mục tiêu trước bữa ăn" + "value" : "U/giờ" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "餐前目标" + "value" : "U/小时" } } } }, - "Predicted glucose at %1$@ is %2$@." : { - "comment" : "Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number)", + "unknown" : { + "comment" : "VoiceOver value when active insulin or carbs at the current time isn't known", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "قراءاة سكر الدم بعد %1$@ هي %2$@." + "value" : "غير معروف" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "neznámé" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Forventet glukose ved %1$@ er %2$@." + "value" : "ukendt" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Vorhergesagte Glukose um %1$@ ist %2$@." + "value" : "unbekannt" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosa proyectada a las %1$@ es %2$@." + "value" : "desconocido" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ennustettu glukoosi klo %1$@ on %2$@." + "value" : "tuntematon" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Glycémie prévue à %1$@ est %2$@." + "value" : "inconnu" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הגלוקוז החזוי ב- %1$@ הוא %2$@ ." + "value" : "לא ידוע" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "ismeretlen" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "La glicemia prevista a %1$@ è di %2$@." + "value" : "sconosciuto" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@の予想グルコースは %2$@です。" + "value" : "不明" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Forventet blodsukker kl %1$@ er %2$@." + "value" : "ukjent" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Voorspelde glucose om %1$@ is %2$@." + "value" : "onbekend" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Przewidywany poziom cukru o %1$@ wyniesie %2$@" + "value" : "nieznane" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia prevista em %1$@ é %2$@." + "value" : "desconhecido" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia prognozată pentru %1$@ este %2$@." + "value" : "necunoscut" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Прогнозируемый уровень глюкозы на %1$@ составляет %2$@." + "value" : "неизвестно" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Predpokladaná glykémia o %1$@ je %2$@ ." + "value" : "neznáme" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Förväntat glukosvärde vid %1$@ är %2$@." + "value" : "okänt" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Tahmini KŞ %1$@ %2$@." + "value" : "bilinmiyor" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "невідомо" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Dự đoán đường huyết vào lúc %1$@ là %2$@." + "value" : "không rõ" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "预测%1$@时的葡萄糖是%2$@" + "value" : "未知" } } } }, - "Predicted glucose is in range." : { - "comment" : "Notice when predicted glucose for bolus recommendation is in range", + "Unknown error" : { + "comment" : "Reason Loop could not run: an unexpected error", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "خطأ غير معروف" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Neznámá chyba" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Den forventede glukose er inden for intervallet." + "value" : "Ukendt fejl" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Der vorhergesagte Blutzucker liegt im Zielbereich." + "value" : "Unbekannter Fehler" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "La glucosa proyectada está en rango" + "value" : "Error desconocido" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tuntematon virhe" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "La glycémie prévue est dans la plage." + "value" : "Erreur inconnue" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הגלוקוז החזוי נמצא בטווח." + "value" : "שגיאה לא ידועה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ismeretlen hiba" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "La glicemia prevista è nell'intervallo" + "value" : "Errore sconosciuto" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "不明なエラー" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Forventet blodsukker er innenfor målområdet." + "value" : "Ukjent feil" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Voorspelde glucose is binnen bereik." + "value" : "Onbekende fout" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Przewidywane stężenie glukozy jest w zakresie." + "value" : "Nieznany błąd" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Erro desconhecido" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia prognozată este în interval." + "value" : "Eroare necunoscută" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Прогнозируемый уровень глюкозы находится в диапазоне." + "value" : "Неизвестная ошибка" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Predpokladaná glykémia je v cieľovom rozsahu." + "value" : "Neznáma chyba" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Okänt fel" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Tahmini KŞ aralık içinde." + "value" : "Bilinmeyen hata" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Невідома помилка" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lỗi không xác định" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "预测血糖在目标范围内。" + "value" : "未知错误" } } } }, - "Predicted glucose of %1$@ is below your glucose safety limit setting." : { - "comment" : "Notice message when recommending bolus when BG is below the glucose safety limit. (1: glucose value)", + "Urgent low" : { + "comment" : "Pill under the glucose value on the Now screen when glucose is below 54 mg/dL (3.0 mmol/L)", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "منخفض عاجل" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kriticky nízká" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Det forventede glukoseindhold på %1$@ er under din indstilling af glukose-sikkerhedsgrænsen." + "value" : "Akut lav" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Der vorhergesagte Blutzucker von %1$@ liegt unter der Sicherheitsgrenze." + "value" : "Dringend niedrig" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosa proyectada de %1$@ se encuentra por debajo de tu nivel de suspensión." + "value" : "Baja urgente" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ennustettu glukoosi %1$@ on turvarajan alapuolella." + "value" : "Vaarallisen matala" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "La glycémie estimée à %1$@ est sous le seuil de suspension." + "value" : "Basse urgente" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הגלוקוז החזוי %1$@ נמוך מגבול הבטיחות שהגדרת." + "value" : "נמוך דחוף" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sürgősen alacsony" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "La glicemia prevista da %1$@ è al di sotto del tuo limite glicemico di sicurezza." + "value" : "Bassa urgente" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "緊急低値" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Forventet blodsukker på %1$@ er lavere enn innstillingen for blodsukkersikkerhet." + "value" : "Akutt lav" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Voorspelde glucose van %1$@ ligt onder je ingestelde glucoseveiligheidslimiet." + "value" : "Urgent laag" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Przewidywana glukoza %1$@ jest poniżej ustawionego bezpiecznego limitu glukozy." + "value" : "Krytycznie niska" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baixa urgente" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia prognozată de %1$@ se situează sub limita de siguranță configurată." + "value" : "Urgent scăzută" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Прогнозируемое значение глюкозы %1$@ ниже установленного вами предела безопасности глюкозы." + "value" : "Опасно низкая" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kriticky nízka" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Förväntat blodsocker på %1$@ är under ditt tröskelvärde." + "value" : "Akut lågt" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ tahmini KŞ, KŞ güvenlik limiti ayarınızın altında." + "value" : "Acil düşük" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Небезпечно низька" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thấp khẩn cấp" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "预测血糖 %1$@ 低于你设定的血糖安全下限。" + "value" : "紧急低血糖" } } } }, - "Predicted glucose of %1$@ is below your suspend threshold setting." : { - "comment" : "Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value)", - "extractionState" : "manual", + "Very high" : { + "comment" : "Time in range band: glucose above 250 mg/dL (13.9 mmol/L) Time-in-range band name: glucose above 250 mg/dL (13.9 mmol/L)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "قراءة سكر الدم المتوقعة %1$@ أقل من قيمة تعليق الضخ في الإعدادات." + "value" : "مرتفع جدًا" } }, - "da" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Forventet glukose på %1$@ er under din indstilling for suspenderingstærskel." + "value" : "Velmi vysoká" } }, - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Der vorhergesagte Blutzucker von %1$@ liegt unter dem Grenzwert für die Hypo-Abschaltung." + "value" : "Meget høj" } }, - "en" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Predicted glucose of %1$@ is below your suspend threshold setting." + "value" : "Sehr hoch" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosa proyectada de %1$@ se encuentra por debajo de su nivel de suspensión." + "value" : "Muy alta" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ennustettu glukoosi %1$@ on pysäytysrajan alapuolella." + "value" : "Erittäin korkea" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Prédiction de la glycémie à %1$@ sous le seuil de suspension défini." + "value" : "Très élevée" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "הגלוקוז החזוי %1$@ נמוך מסך ההשהייה שהגדרת." + "value" : "גבוה מאוד" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nagyon magas" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "La glicemia prevista %1$@ è inferiore al valore soglia per la sospensione dell'erogazione." + "value" : "Molto alta" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "予想グルコースは %1$@ で一時停止値を下回ります。" + "value" : "非常に高い" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Forventet blodsukker %1$@ er lavere enn innstilling for insulinstopp" + "value" : "Svært høy" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Verwachte glucose van %1$@ is lager dan je ingestelde insulineonderbrekingsdrempel." + "value" : "Zeer hoog" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Przewidywany poziom cukru %1$@ jest poniżej progu zawieszenia." + "value" : "Bardzo wysoka" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia prevista de %1$@ está abaixo do limite de suspensão." + "value" : "Muito alta" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Glicemia prognozată de %1$@ se situează sub limita de suspendare configurată" + "value" : "Foarte ridicată" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Предсказываемая гликемия %1$@ ниже ваших настроек порога приостановки помпы" + "value" : "Очень высокая" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Veľmi vysoká" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Förväntat glukosvärde %1$@ är under ditt tröskelvärde." + "value" : "Mycket högt" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Tahmini KŞ %1$@ askıya alma eşiği ayarınızın altında." + "value" : "Çok yüksek" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Дуже висока" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Dự đoán đường huyết %1$@ là dưới ngưỡng tạm ngưng trong cài đặt của bạn." + "value" : "Rất cao" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "预测葡萄糖%1$@低于您的暂停阈值设置" + "value" : "非常高" } } } }, - "Predicted: %1$@\nActual: %2$@ (%3$@)" : { - "comment" : "Format string describing retrospective glucose prediction comparison. (1: Predicted glucose)(2: Actual glucose)(3: difference)", + "Very low" : { + "comment" : "Time in range band: glucose below 54 mg/dL (3.0 mmol/L) Time-in-range band name: glucose below 54 mg/dL (3.0 mmol/L)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "التوقع: %1$@\nالواقع: %2$@ (%3$@)" + "value" : "منخفض جدًا" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Velmi nízká" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Forventet: %1$@\nFaktisk: %2$@ (%3$@)" + "value" : "Meget lav" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Vorhergesagt: %1$@\nAktuell: %2$@ (%3$@)" + "value" : "Sehr niedrig" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Predicción: %1$@\nActual: %2$@ (%3$@)" + "value" : "Muy baja" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Ennustettu: %1$@\nTodellinen: %2$@ (%3$@)" + "value" : "Erittäin matala" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Prédit : %1$@\nRéel : %2$@ (%3$@)" + "value" : "Très basse" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "חזוי: %1$@\nבפועל: %2$@ (%3$@)" + "value" : "נמוך מאוד" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nagyon alacsony" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Previsto: %1$@\nEffettivo: %2$@ (%3$@)" + "value" : "Molto bassa" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Predicted: %1$@\nActual: %2$@ (%3$@)" + "value" : "非常に低い" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Forventet: %1$@\nFaktisk: %2$@ ( %3$@ )" + "value" : "Svært lav" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Voorspeld: %1$@\nActueel: %2$@ (%3$@)" + "value" : "Zeer laag" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Przewidywana: %1$@Rzeczywista: %2$@ (%3$@)" + "value" : "Bardzo niska" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Prevista: %1$@\nAtual: %2$@ (%3$@)" + "value" : "Muito baixa" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Prognozată: %1$@\nActuală: %2$@ (%3$@)" + "value" : "Foarte scăzută" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Прогноз: %1$@\nФакт: %2$@ (%3$@)" + "value" : "Очень низкая" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Veľmi nízka" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Förväntat: %1$@\nFaktiskt: %2$@ (%3$@)" + "value" : "Mycket lågt" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Tahmini: %1$@\nGüncel: %2$@ (%3$@)" + "value" : "Çok düşük" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Дуже низька" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Được dự đoán: %1$@\nThực tế: %2$@ (%3$@)" + "value" : "Rất thấp" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "预测值: %1$@\n实际值: %2$@ (%3$@)" + "value" : "非常低" } } } }, - "prediction-description-integral-retrospective-correction" : { - "comment" : "Format string describing integral retrospective correction. (1: Integral glucose effect)(2: Total glucose effect)", + "vs plan" : { + "comment" : "Logbook basal adjustments row: the insulin amount is the difference from the scheduled basal", "localizations" : { - "da" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "prediction-description-integral-retrospective-correction" + "value" : "مقارنة بالمجدول" } }, - "de" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Integraler Effekt: %1$@ \n Gesamtglukoseeffekt: %2$@" + "value" : "oproti plánu" } }, - "en" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Integral effect: %1$@\nTotal glucose effect: %2$@" + "value" : "ift. plan" } }, - "fr" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Effet intégral: %1$@\nEffet total sur la glycémie: %2$@" + "value" : "ggü. Plan" } }, - "it" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "previsione-descrizione-integrale-correzione-retrospettiva" + "value" : "vs. lo programado" } }, - "nb" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "prediksjon-beskrivelse-integral-retrospektiv-korreksjon" + "value" : "vs. ohjelmoitu" } }, - "nl" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Integraal effect: %1$@\nTotaal glucose-effect: %2$@" + "value" : "vs prévu" } }, - "pl" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "predykcja-opis-całka-retrospektywna-korekta" + "value" : "לעומת התוכנית" } }, - "ro" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Efect integral: %1$@ \nEfect total al glicemiei: %2$@" + "value" : "a tervhez képest" } }, - "ru" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "описание прогнозирования с помощью интегральной ретроспективной коррекции" + "value" : "vs programmata" } }, - "zh-Hans" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "积分效应: %1$@\n总葡萄糖效应: %2$@" + "value" : "予定比" } - } - } - }, - "prediction-description-retrospective-correction" : { - "comment" : "Format string describing retrospective glucose prediction comparison. (1: Predicted glucose)(2: Actual glucose)(3: difference)", - "extractionState" : "manual", - "localizations" : { - "ar" : { + }, + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "التوقع: %1$@\nالواقع: %2$@ (%3$@)" + "value" : "mot plan" } }, - "da" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Forventet: %1$@\nFaktisk: %2$@ (%3$@)" + "value" : "t.o.v. gepland" } }, - "de" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Vorhergesagt: %1$@\nAktuell: %2$@ (%3$@)" + "value" : "wzgl. planu" } }, - "en" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Predicted: %1$@\nActual: %2$@ (%3$@)" + "value" : "vs. programado" } }, - "es" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Predicción: %1$@\nActual: %2$@ (%3$@)" + "value" : "față de program" } }, - "fi" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Ennustettu: %1$@\nTodellinen: %2$@ (%3$@)" + "value" : "к плану" } }, - "fr" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Prédit : %1$@\nRéel : %2$@ (%3$@)" + "value" : "oproti plánu" } }, - "he" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "חזוי: %1$@\nבפועל: %2$@ (%3$@)" + "value" : "mot schema" } }, - "it" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Previsto: %1$@\nEffettivo: %2$@ (%3$@)" + "value" : "plana göre" } }, - "ja" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Predicted: %1$@\nActual: %2$@ (%3$@)" + "value" : "до плану" } }, - "nb" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Forventet: %1$@\nFaktisk: %2$@ ( %3$@ )" + "value" : "so với lịch" } }, - "nl" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Voorspeld: %1$@\nActueel: %2$@ (%3$@)" + "value" : "较预设" } - }, - "pl" : { + } + } + }, + "Yesterday · %1$@" : { + "comment" : "Logbook day header for yesterday. (1: weekday and date, e.g. Sat 24 Oct)", + "localizations" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Przewidywana: %1$@Rzeczywista: %2$@ (%3$@)" + "value" : "أمس · %1$@" } }, - "pt-BR" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Prevista: %1$@\nAtual: %2$@ (%3$@)" + "value" : "Včera · %1$@" } }, - "ro" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Prognozată: %1$@\nActuală: %2$@ (%3$@)" + "value" : "I går · %1$@" } }, - "ru" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Прогноз: %1$@\nФакт: %2$@ (%3$@)" + "value" : "Gestern · %1$@" } }, - "sv" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Förväntat: %1$@\nFaktiskt: %2$@ (%3$@)" + "value" : "Ayer · %1$@" } }, - "tr" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Tahmini: %1$@\nGüncel: %2$@ (%3$@)" + "value" : "Eilen · %1$@" } }, - "vi" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Được dự đoán: %1$@\nThực tế: %2$@ (%3$@)" + "value" : "Hier · %1$@" } }, - "zh-Hans" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "预测值: %1$@\n实际值: %2$@ (%3$@)" + "value" : "אתמול · %1$@" } - } - } - }, - "Preparing Critical Event Logs" : { - "comment" : "Preparing critical event log text", - "localizations" : { - "da" : { + }, + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Forbereder kritiske begivenhedslogs" + "value" : "Tegnap · %1$@" } }, - "de" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Vorbereiten der kritischen Ereignis-Protokolle" + "value" : "Ieri · %1$@" } }, - "es" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Preparando registros de eventos críticos" + "value" : "昨日 · %1$@" } }, - "fi" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Valmistellaan tärkeiden tapahtumien lokia" + "value" : "I går · %1$@" } }, - "fr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Préparation des journaux d’événements critiques" + "value" : "Gisteren · %1$@" } }, - "he" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "מכין יומן שגיאות קריטיות" + "value" : "Wczoraj · %1$@" } }, - "it" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Preparazione dei registri degli eventi critici in corso" + "value" : "Ontem · %1$@" } }, - "nb" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Forbereder logg av kritiske hendelser" + "value" : "Ieri · %1$@" } }, - "nl" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Kritieke gebeurtenislogboek voorbereiden" + "value" : "Вчера · %1$@" } }, - "pl" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Przygotowywanie dzienników zdarzeń krytycznych" + "value" : "Včera · %1$@" } }, - "ro" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Pregătire jurnal de evenimente critice" + "value" : "I går · %1$@" } }, - "ru" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Подготовка логов критических событий" + "value" : "Dün · %1$@" } }, - "sv" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Förbereder kritiska händelseloggar" + "value" : "Учора · %1$@" } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Kritik Olay Günlüklerinin Hazırlanması" + "value" : "Hôm qua · %1$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "正在准备关键事件日志" + "value" : "昨天 · %1$@" } } } }, - "Preset +6 Hours" : { - "comment" : "Title for a section of a screen that shows a comparison of a user's glucose performance during a preset and 6 hours after the preset.", - "isCommentAutoGenerated" : true - }, - "Preset Delivery" : { - - }, - "Preset Disabled" : { - - }, - "Preset Enabled" : { - - }, - "Preset Summary" : { - - }, - "Presets" : { - "comment" : "Presets screen title\nTitle text for button to Preset Settings" - }, "Presets can be used for a variety of situations. Explore the uses below to learn tips for these common scenarios." : { }, @@ -32848,6 +64144,30 @@ "state" : "translated", "value" : "胰岛素泵" } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pumpa" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pumpa" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pumpa" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Помпа" + } } } }, @@ -35531,6 +66851,18 @@ "state" : "translated", "value" : "重试" } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Újra" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Спробувати ще раз" + } } } }, @@ -35876,6 +67208,66 @@ "state" : "translated", "value" : "预设" } + }, + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "المجدول" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plánovaný" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ohjelmoitu" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ütemezett" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "スケジュール" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Programada" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plánovaný" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Schemalagd" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "За розкладом" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Theo lịch" + } } } }, @@ -36303,6 +67695,24 @@ "state" : "translated", "value" : "设置" } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nastavení" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Beállítások" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Налаштування" + } } } }, @@ -40595,6 +72005,24 @@ "state" : "translated", "value" : "U" } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "U" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "U" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "U" + } } } }, diff --git a/Loop/Redesign/DayCharts.swift b/Loop/Redesign/DayCharts.swift index 3de31bd079..5fc8222563 100644 --- a/Loop/Redesign/DayCharts.swift +++ b/Loop/Redesign/DayCharts.swift @@ -56,10 +56,17 @@ enum DayAxis { guard let longest = gaps.max(by: { $0.duration < $1.duration }) else { return nil } // A gap over the whole period would read "0:00 – 0:00". if gaps.count == 1, longest.start == window.start, longest.end == min(end, window.end) { - return window.contains(end) ? "No CGM data yet today" : "No CGM data on this day" + return window.contains(end) + ? NSLocalizedString("No CGM data yet today", comment: "Chart note: there are no glucose readings so far today") + : NSLocalizedString("No CGM data on this day", comment: "Chart note: there are no glucose readings for the whole day") } - let text = "No CGM data \(LoopFormat.time(longest.start)) – \(LoopFormat.time(longest.end))" - return gaps.count > 1 ? text + " and \(gaps.count - 1) shorter gap\(gaps.count > 2 ? "s" : "")" : text + let start = LoopFormat.time(longest.start) + let end = LoopFormat.time(longest.end) + if gaps.count > 1 { + let others = String.localizedStringWithFormat(NSLocalizedString("%lld shorter gaps", comment: "Chart note: how many other, shorter gaps in glucose readings there were; follows the longest gap. (1: number of gaps)"), gaps.count - 1) + return String(format: NSLocalizedString("No CGM data %1$@ – %2$@ and %3$@", comment: "Chart note: the longest gap in glucose readings, plus the shorter ones. (1: start time; 2: end time; 3: number of shorter gaps, e.g. 2 shorter gaps)"), start, end, others) + } + return String(format: NSLocalizedString("No CGM data %1$@ – %2$@", comment: "Chart note: a gap in glucose readings. (1: start time; 2: end time)"), start, end) } } @@ -199,7 +206,7 @@ struct InsulinTimelineView: View { .foregroundStyle(P.insulin) .annotation(position: .top, spacing: 2) { if bolusLabels.contains(bolus.id) { - Text(String(format: "%.1f", bolus.units)) + Text(LoopFormat.number(bolus.units, decimals: 1)) .font(LoopDesign.Typeface.caption) .foregroundStyle(P.insulinInk) } @@ -262,34 +269,39 @@ struct InsulinTimelineView: View { private func scrubRows(at date: Date) -> [ScrubCallout.Row] { var rows: [ScrubCallout.Row] = [.init(label: nil, value: LoopFormat.time(date), color: P.ink)] if let glucose = nearest(history.glucose.map { ($0.date, $0.mgdl) }, to: date, within: 10 * 60) { - rows.append(.init(label: "Glucose", value: "\(unit.format(glucose)) \(unit.unitName)", color: P.glucoseInk)) + rows.append(.init(label: NSLocalizedString("Glucose", comment: "Chart callout label for the glucose reading at the touched time"), value: "\(unit.format(glucose)) \(unit.unitName)", color: P.glucoseInk)) } if let iob = nearest(history.iob.map { ($0.date, $0.value) }, to: date, within: 10 * 60) { - rows.append(.init(label: "IOB", value: LoopFormat.doseUnits(iob), color: P.insulinInk)) + rows.append(.init(label: NSLocalizedString("IOB", comment: "Abbreviation for insulin on board (active insulin)"), value: LoopFormat.doseUnits(iob), color: P.insulinInk)) } if let cob = nearest(history.cob.map { ($0.date, $0.value) }, to: date, within: 10 * 60) { - rows.append(.init(label: "COB", value: LoopFormat.grams(cob), color: P.carbsInk)) + rows.append(.init(label: NSLocalizedString("COB", comment: "Abbreviation for carbs on board (active carbohydrate)"), value: LoopFormat.grams(cob), color: P.carbsInk)) } if let segment = LoopHistoryMath.basalRate(at: date, in: history.basal) { - let value = segment.kind == .suspended ? "Suspended" : LoopFormat.rate(segment.rate) - rows.append(.init(label: "Basal", value: value, color: P.ink)) + let value = segment.kind == .suspended + ? NSLocalizedString("Suspended", comment: "Chart callout value: insulin delivery was suspended at the touched time") + : LoopFormat.rate(segment.rate) + rows.append(.init(label: NSLocalizedString("Basal", comment: "Chart callout label for the basal rate at the touched time"), value: value, color: P.ink)) } if let bolus = history.boluses.min(by: { abs($0.date.timeIntervalSince(date)) < abs($1.date.timeIntervalSince(date)) }), abs(bolus.date.timeIntervalSince(date)) < 5 * 60 { - rows.append(.init(label: bolus.automatic ? "Automatic bolus" : "Bolus", value: LoopFormat.doseUnits(bolus.units), color: P.insulinInk)) + rows.append(.init(label: bolus.automatic + ? NSLocalizedString("Automatic bolus", comment: "Chart callout label for a bolus Loop delivered automatically near the touched time") + : NSLocalizedString("Bolus", comment: "Chart callout label for a bolus near the touched time"), + value: LoopFormat.doseUnits(bolus.units), color: P.insulinInk)) } return rows } private var accessibilitySummary: String { - var parts = ["Insulin timeline, \(LoopFormat.weekdayDay(window.start))"] - parts.append("bolus \(LoopFormat.totalUnits(history.bolusUnits))") - parts.append("basal \(LoopFormat.totalUnits(history.basalUnits))") - parts.append("carbs \(LoopFormat.grams(history.carbGrams))") + let day = LoopFormat.weekdayDay(window.start) + let bolus = LoopFormat.totalUnits(history.bolusUnits) + let basal = LoopFormat.totalUnits(history.basalUnits) + let carbs = LoopFormat.grams(history.carbGrams) if let last = history.glucose.last { - parts.append("latest glucose \(unit.format(last.mgdl)) \(unit.unitName)") + return String(format: NSLocalizedString("Insulin timeline, %1$@, bolus %2$@, basal %3$@, carbs %4$@, latest glucose %5$@ %6$@", comment: "VoiceOver summary of the day's insulin timeline chart. (1: weekday and date; 2: bolus total, e.g. 12.5 U; 3: basal total; 4: carbs total, e.g. 140 g; 5: latest glucose value; 6: glucose unit, mmol/L or mg/dL)"), day, bolus, basal, carbs, unit.format(last.mgdl), unit.unitName) } - return parts.joined(separator: ", ") + return String(format: NSLocalizedString("Insulin timeline, %1$@, bolus %2$@, basal %3$@, carbs %4$@", comment: "VoiceOver summary of the day's insulin timeline chart with no glucose readings. (1: weekday and date; 2: bolus total, e.g. 12.5 U; 3: basal total; 4: carbs total, e.g. 140 g)"), day, bolus, basal, carbs) } } @@ -454,7 +466,7 @@ struct PredictionChartView: View { AxisGridLine().foregroundStyle(P.grid) AxisValueLabel { if let date = value.as(Date.self) { - Text(abs(date.timeIntervalSince(now)) < 60 ? "now" : LoopFormat.time(date)) + Text(abs(date.timeIntervalSince(now)) < 60 ? NSLocalizedString("now", comment: "Prediction chart x-axis label marking the current time") : LoopFormat.time(date)) } } .font(LoopDesign.Typeface.caption) @@ -483,14 +495,19 @@ struct PredictionChartView: View { var rows: [ScrubCallout.Row] = [.init(label: nil, value: LoopFormat.time(date), color: P.ink)] let source = date <= now ? readings : prediction if let value = nearest(source.map { ($0.date, $0.mgdl) }, to: date, within: 10 * 60) { - rows.append(.init(label: date <= now ? "Glucose" : "Predicted", value: "\(unit.format(value)) \(unit.unitName)", color: P.glucoseInk)) + rows.append(.init(label: date <= now + ? NSLocalizedString("Glucose", comment: "Chart callout label for the glucose reading at the touched time") + : NSLocalizedString("Predicted", comment: "Prediction chart callout label for Loop's predicted glucose at the touched time"), + value: "\(unit.format(value)) \(unit.unitName)", color: P.glucoseInk)) } return rows } private var accessibilitySummary: String { - guard let last = futurePrediction.last else { return "Glucose prediction unavailable" } - return "Loop predicts \(unit.format(last.mgdl)) \(unit.unitName) by \(LoopFormat.time(last.date))" + guard let last = futurePrediction.last else { + return NSLocalizedString("Glucose prediction unavailable", comment: "VoiceOver label for the prediction chart when Loop has no prediction") + } + return String(format: NSLocalizedString("Loop predicts %1$@ %2$@ by %3$@", comment: "VoiceOver summary of the prediction chart. (1: predicted glucose value; 2: glucose unit, mmol/L or mg/dL; 3: time of the prediction)"), unit.format(last.mgdl), unit.unitName, LoopFormat.time(last.date)) } } @@ -605,10 +622,10 @@ struct IOBCOBChartView: View { private func scrubRows(at date: Date) -> [ScrubCallout.Row] { var rows: [ScrubCallout.Row] = [.init(label: nil, value: LoopFormat.time(date), color: P.ink)] if let value = nearest(iob.map { ($0.date, $0.value) }, to: date, within: 10 * 60) { - rows.append(.init(label: "IOB", value: LoopFormat.doseUnits(value), color: P.insulinInk)) + rows.append(.init(label: NSLocalizedString("IOB", comment: "Abbreviation for insulin on board (active insulin)"), value: LoopFormat.doseUnits(value), color: P.insulinInk)) } if let value = nearest(cob.map { ($0.date, $0.value) }, to: date, within: 10 * 60) { - rows.append(.init(label: "COB", value: LoopFormat.grams(value), color: P.carbsInk)) + rows.append(.init(label: NSLocalizedString("COB", comment: "Abbreviation for carbs on board (active carbohydrate)"), value: LoopFormat.grams(value), color: P.carbsInk)) } return rows } @@ -616,6 +633,7 @@ struct IOBCOBChartView: View { private var accessibilitySummary: String { let iobNow = nearest(iob.map { ($0.date, $0.value) }, to: now, within: 10 * 60) let cobNow = nearest(cob.map { ($0.date, $0.value) }, to: now, within: 10 * 60) - return "Active insulin \(iobNow.map(LoopFormat.doseUnits) ?? "unknown"), active carbs \(cobNow.map(LoopFormat.grams) ?? "unknown")" + let unknown = NSLocalizedString("unknown", comment: "VoiceOver value when active insulin or carbs at the current time isn't known") + return String(format: NSLocalizedString("Active insulin %1$@, active carbs %2$@", comment: "VoiceOver summary of the active insulin and carbs chart. (1: insulin on board, e.g. 1.25 U, or unknown; 2: carbs on board, e.g. 20 g, or unknown)"), iobNow.map(LoopFormat.doseUnits) ?? unknown, cobNow.map(LoopFormat.grams) ?? unknown) } } diff --git a/Loop/Redesign/DayDetailView.swift b/Loop/Redesign/DayDetailView.swift index f7bf3ebb35..d2ba0a11e7 100644 --- a/Loop/Redesign/DayDetailView.swift +++ b/Loop/Redesign/DayDetailView.swift @@ -35,7 +35,7 @@ struct DayDetailView: View { dayStepper if let history { LoopCard { - CardHeader(title: "Insulin") { + CardHeader(title: NSLocalizedString("Insulin", comment: "Title of the day page card showing insulin, carbs and glucose on one timeline")) { HStack(spacing: 4) { Text(LoopFormat.totalUnits(history.totalUnits)).foregroundStyle(P.insulinInk) Text("·") @@ -47,33 +47,33 @@ struct DayDetailView: View { DayTotalsTiles(history: history) ChartLegend(items: DayTotalsTiles.legend) if history.source == .health { - Text("From Apple Health: Loop keeps 7 days, so this day has no temp basal or schedule detail.") + Text(NSLocalizedString("From Apple Health: Loop keeps 7 days, so this day has no temp basal or schedule detail.", comment: "Day page note when the day is older than Loop's 7-day history and was read from Apple Health")) .font(LoopDesign.Typeface.footnote) .foregroundStyle(P.inkMuted) } if #available(iOS 18.0, *) { - Text("Touch and hold a chart to see exact values.") + Text(NSLocalizedString("Touch and hold a chart to see exact values.", comment: "Hint under the day page charts explaining how to scrub them")) .font(LoopDesign.Typeface.footnote) .foregroundStyle(P.inkMuted) } } LoopCard { - CardHeader(title: "Active insulin and carbs") + CardHeader(title: NSLocalizedString("Active insulin and carbs", comment: "Title of the day page card charting insulin and carbs on board")) if history.iob.isEmpty && history.cob.isEmpty { ChartPlaceholder(message: history.source == .health - ? "Loop only works out active insulin and carbs for the days it keeps" - : "No active insulin or carbs on this day") + ? NSLocalizedString("Loop only works out active insulin and carbs for the days it keeps", comment: "Day page placeholder for active insulin and carbs on a day older than Loop's 7-day history") + : NSLocalizedString("No active insulin or carbs on this day", comment: "Day page placeholder when there was no insulin or carbs on board all day")) } else { IOBCOBChartView(iob: history.iob, cob: history.cob, window: window, now: now) } ChartLegend(items: [ - LegendItem(swatch: .solid(P.insulin), label: "IOB (U, left)"), - LegendItem(swatch: .solid(P.carbs), label: "COB (g, right)"), - LegendItem(swatch: .dash(P.inkMuted), label: "Projected"), + LegendItem(swatch: .solid(P.insulin), label: NSLocalizedString("IOB (U, left)", comment: "Chart legend: insulin on board in units, on the left axis")), + LegendItem(swatch: .solid(P.carbs), label: NSLocalizedString("COB (g, right)", comment: "Chart legend: carbs on board in grams, on the right axis")), + LegendItem(swatch: .dash(P.inkMuted), label: NSLocalizedString("Projected", comment: "Chart legend: dashed lines show Loop's projection of insulin and carbs on board")), ]) } } else if let loadError { - ChartPlaceholder(message: "Couldn't load this day: \(loadError)") + ChartPlaceholder(message: String(format: NSLocalizedString("Couldn't load this day: %1$@", comment: "Day page error when the day's history can't be read. (1: system error description)"), loadError)) } else { ProgressView() .frame(maxWidth: .infinity, minHeight: 300) @@ -82,7 +82,7 @@ struct DayDetailView: View { .padding(LoopDesign.Space.s4) } .background(P.surface) - .navigationTitle(isToday ? "Today" : LoopFormat.weekdayDay(day)) + .navigationTitle(isToday ? NSLocalizedString("Today", comment: "Day page title when showing today") : LoopFormat.weekdayDay(day)) .navigationBarTitleDisplayMode(.inline) .task(id: day) { now = Date() @@ -107,7 +107,7 @@ struct DayDetailView: View { } label: { Image(systemName: "chevron.left").frame(width: 44, height: 44) } - .accessibilityLabel("Previous day") + .accessibilityLabel(NSLocalizedString("Previous day", comment: "Accessibility label for the day page button that steps back a day")) Spacer() Text(LoopFormat.day(day)) .font(LoopDesign.Typeface.headline) @@ -119,7 +119,7 @@ struct DayDetailView: View { Image(systemName: "chevron.right").frame(width: 44, height: 44) } .disabled(isToday) - .accessibilityLabel("Next day") + .accessibilityLabel(NSLocalizedString("Next day", comment: "Accessibility label for the day page button that steps forward a day")) } .font(.body.weight(.semibold)) .foregroundStyle(P.accentInk) diff --git a/Loop/Redesign/LogbookScreen.swift b/Loop/Redesign/LogbookScreen.swift index b52e1a5da9..1008ade0fd 100644 --- a/Loop/Redesign/LogbookScreen.swift +++ b/Loop/Redesign/LogbookScreen.swift @@ -20,6 +20,16 @@ struct LogEntry: Identifiable { case carbs = "Carbs" case loop = "Loop" var id: String { rawValue } + + var title: String { + switch self { + case .all: return NSLocalizedString("All", comment: "Logbook filter chip: show every entry") + case .bolus: return NSLocalizedString("Bolus", comment: "Logbook filter chip: show only boluses") + case .basal: return NSLocalizedString("Basal", comment: "Logbook filter chip: show only basal changes") + case .carbs: return NSLocalizedString("Carbs", comment: "Logbook filter chip: show only carb entries") + case .loop: return NSLocalizedString("Loop", comment: "Logbook filter chip: show only what Loop did automatically (Loop is the app's name)") + } + } } enum Action { @@ -124,16 +134,18 @@ final class LogbookModel: ObservableObject { for bolus in history.boluses where inDay(bolus.date) { let glucose = glucoseContext(at: bolus.date, history.glucose, unit: unit, withTrend: bolus.automatic) - var parts = [bolus.automatic ? "Loop" : "Manual"] + var parts = [bolus.automatic ? sourceLoop : sourceManual] if !bolus.automatic, let meal = carbsToday.first(where: { abs($0.date.timeIntervalSince(bolus.date)) <= 15 * 60 }) { parts.append(LoopFormat.grams(meal.grams)) } if let glucose { parts.append(glucose) } - if bolus.manuallyEntered { parts.append("logged") } + if bolus.manuallyEntered { parts.append(NSLocalizedString("logged", comment: "Logbook bolus row detail: the dose was logged by hand rather than delivered by the pump")) } entries.append(LogEntry( id: "bolus-\(bolus.id)", date: bolus.date, - title: bolus.automatic ? "Automatic bolus" : "Bolus", - subtitle: parts.joined(separator: " · "), + title: bolus.automatic + ? NSLocalizedString("Automatic bolus", comment: "Logbook row title: a bolus Loop delivered automatically") + : NSLocalizedString("Bolus", comment: "Logbook row title: a bolus"), + subtitle: joined(parts), amount: LoopFormat.doseUnits(bolus.units), amountColor: P.insulinInk, detail: LoopFormat.time(bolus.date), icon: "plus", iconFill: P.insulin, @@ -142,13 +154,13 @@ final class LogbookModel: ObservableObject { } for carb in carbsToday { - var parts = [carb.createdByLoop ? "Manual" : "Health"] + var parts = [carb.createdByLoop ? sourceManual : NSLocalizedString("Health", comment: "Logbook carb row detail: the entry came from Apple Health")] if let food = carb.foodType, !food.isEmpty { parts.append(food) } - if let hours = carb.absorptionHours { parts.append("absorbs over \(hours.formatted(.number.precision(.fractionLength(0...1)))) h") } + if let hours = carb.absorptionHours { parts.append(String(format: NSLocalizedString("absorbs over %1$@ h", comment: "Logbook carb row detail: carb absorption time in hours. (1: hours, e.g. 3 or 2.5)"), hours.formatted(.number.precision(.fractionLength(0...1))))) } let editable = carb.createdByLoop && provider.allowsCarbEditing ? carb.entry : nil entries.append(LogEntry( id: "carbs-\(carb.id)", date: carb.date, - title: "Carbs", subtitle: parts.joined(separator: " · "), + title: NSLocalizedString("Carbs", comment: "Logbook row title: a carb entry"), subtitle: joined(parts), amount: LoopFormat.grams(carb.grams), amountColor: P.carbsInk, detail: LoopFormat.time(carb.date), icon: "fork.knife", iconFill: P.carbs, filters: [.carbs], @@ -163,29 +175,29 @@ final class LogbookModel: ObservableObject { let count = automaticTemps.count entries.append(LogEntry( id: "basal-\(day.start.timeIntervalSince1970)", date: latest.start, - title: "Basal adjustments", - subtitle: "Loop · \(count) change\(count == 1 ? "" : "s") · tap to list", - amount: LoopFormat.signed(net, decimals: 1) + " U", amountColor: P.insulinInk, - detail: "vs plan", + title: NSLocalizedString("Basal adjustments", comment: "Logbook row title summarising the temp basals Loop set in a day"), + subtitle: String.localizedStringWithFormat(NSLocalizedString("Loop · %lld changes · tap to list", comment: "Logbook basal adjustments row subtitle: how many temp basals Loop set in the day; tapping lists them. (1: number of changes)"), count), + amount: String(format: NSLocalizedString("%1$@ U", comment: "Format string for an amount of insulin in units. (1: amount)"), LoopFormat.signed(net, decimals: 1)), amountColor: P.insulinInk, + detail: NSLocalizedString("vs plan", comment: "Logbook basal adjustments row: the insulin amount is the difference from the scheduled basal"), icon: "waveform.path.ecg", iconFill: P.basalEdge, filters: [.basal, .loop], basalChanges: automaticTemps.reversed())) } for temp in segments where temp.kind == .temp && !temp.automatic { entries.append(LogEntry( id: "temp-\(temp.start.timeIntervalSince1970)", date: temp.start, - title: "Temp basal", - subtitle: "Manual · \(describe(temp))", + title: NSLocalizedString("Temp basal", comment: "Logbook row title: a temporary basal rate"), + subtitle: String(format: NSLocalizedString("Manual · %1$@", comment: "Logbook temp basal row subtitle: set by hand, then the rate and how long. (1: description, e.g. 0.50 U/h for 30m (scheduled 0.80))"), describe(temp)), amount: LoopFormat.rate(temp.rate), amountColor: P.insulinInk, detail: LoopFormat.time(temp.start), icon: "waveform.path.ecg", iconFill: P.basalEdge, filters: [.basal])) } for suspend in segments where suspend.kind == .suspended { - var parts = [suspend.automatic ? "Loop" : "Manual", LoopFormat.duration(suspend.end.timeIntervalSince(suspend.start))] + var parts = [suspend.automatic ? sourceLoop : sourceManual, LoopFormat.duration(suspend.end.timeIntervalSince(suspend.start))] if let glucose = glucoseContext(at: suspend.start, history.glucose, unit: unit, withTrend: false) { parts.append(glucose) } entries.append(LogEntry( id: "suspend-\(suspend.start.timeIntervalSince1970)", date: suspend.start, - title: "Basal suspended", subtitle: parts.joined(separator: " · "), - amount: "0 U/h", amountColor: P.ink, + title: NSLocalizedString("Basal suspended", comment: "Logbook row title: insulin delivery was suspended"), subtitle: joined(parts), + amount: String(format: NSLocalizedString("%1$@ U/h", comment: "Format string for an insulin rate in units per hour. (1: rate)"), LoopFormat.number(0, decimals: 0)), amountColor: P.ink, detail: LoopFormat.time(suspend.start), icon: "pause.fill", iconFill: P.statusWarning, filters: suspend.automatic ? [.basal, .loop] : [.basal])) @@ -194,13 +206,14 @@ final class LogbookModel: ObservableObject { for event in pumpEvents where inDay(event.date) { let title: String switch event.kind { + // Site change and alarm names come from the pump plugin as it reports them. case .siteChange(let name): title = name case .alarm(let name): title = name - case .resume: title = "Basal resumed" + case .resume: title = NSLocalizedString("Basal resumed", comment: "Logbook row title: insulin delivery resumed after a suspend") } entries.append(LogEntry( id: "pump-\(event.id)", date: event.date, - title: title, subtitle: "Pump", + title: title, subtitle: NSLocalizedString("Pump", comment: "Logbook row subtitle: the event was reported by the insulin pump"), amount: "", amountColor: P.ink, detail: LoopFormat.time(event.date), icon: "circle.dashed", iconFill: P.inkMuted.opacity(0.5), filters: [])) @@ -212,12 +225,26 @@ final class LogbookModel: ObservableObject { } } + private static var sourceLoop: String { + NSLocalizedString("Loop", comment: "Logbook row detail: Loop made this change automatically (Loop is the app's name)") + } + + private static var sourceManual: String { + NSLocalizedString("Manual", comment: "Logbook row detail: the user made this entry or change by hand") + } + + /// Row details are a list of independent facts ("Manual", "45 g", "glucose 7.5"), shown with a middle-dot separator. + private static func joined(_ parts: [String]) -> String { + parts.joined(separator: " · ") + } + static func describe(_ segment: BasalSegment) -> String { - var text = "\(LoopFormat.rate(segment.rate)) for \(LoopFormat.duration(segment.end.timeIntervalSince(segment.start)))" + let rate = LoopFormat.rate(segment.rate) + let duration = LoopFormat.duration(segment.end.timeIntervalSince(segment.start)) if let scheduled = segment.scheduledRate { - text += String(format: " (scheduled %.2f)", scheduled) + return String(format: NSLocalizedString("%1$@ for %2$@ (scheduled %3$@)", comment: "A temp basal: its rate, how long it ran and the scheduled rate it replaced. (1: rate, e.g. 0.50 U/h; 2: duration, e.g. 30m; 3: scheduled rate number, e.g. 0.80)"), rate, duration, LoopFormat.number(scheduled, decimals: 2)) } - return text + return String(format: NSLocalizedString("%1$@ for %2$@", comment: "A temp basal: its rate and how long it ran. (1: rate, e.g. 0.50 U/h; 2: duration, e.g. 30m)"), rate, duration) } /// "glucose 7.5", or "glucose 11.0 rising" for Loop's own doses. @@ -225,13 +252,17 @@ final class LogbookModel: ObservableObject { guard let reading = readings.last(where: { $0.date <= date.addingTimeInterval(60) }), date.timeIntervalSince(reading.date) <= 10 * 60 else { return nil } - var text = "glucose \(unit.format(reading.mgdl))" + let value = unit.format(reading.mgdl) if withTrend, let earlier = readings.last(where: { $0.date <= reading.date.addingTimeInterval(-14 * 60) }), reading.date.timeIntervalSince(earlier.date) <= 20 * 60 { let perFifteen = (reading.mgdl - earlier.mgdl) / reading.date.timeIntervalSince(earlier.date) * 900 - if perFifteen > 10 { text += " rising" } else if perFifteen < -10 { text += " falling" } + if perFifteen > 10 { + return String(format: NSLocalizedString("glucose %1$@ rising", comment: "Logbook row detail: glucose when the dose was given, and rising. (1: glucose value, e.g. 11.0)"), value) + } else if perFifteen < -10 { + return String(format: NSLocalizedString("glucose %1$@ falling", comment: "Logbook row detail: glucose when the dose was given, and falling. (1: glucose value, e.g. 11.0)"), value) + } } - return text + return String(format: NSLocalizedString("glucose %1$@", comment: "Logbook row detail: glucose when the dose was given. (1: glucose value, e.g. 7.5)"), value) } } @@ -275,16 +306,20 @@ struct LogbookView: View { .listRowBackground(Color.clear) } if let error = model.loadError { - Text("Couldn't load Logbook: \(error)").foregroundStyle(P.criticalInk) - Button("Retry") { model.reload() } + Text(String(format: NSLocalizedString("Couldn't load Logbook: %1$@", comment: "Logbook error when its history can't be read. (1: system error description)"), error)).foregroundStyle(P.criticalInk) + Button(NSLocalizedString("Retry", comment: "Button to try loading the Logbook again")) { model.reload() } } else if model.loaded && model.days.allSatisfy({ $0.entries.isEmpty }) { - Text("Nothing logged in the last 7 days.") + Text(NSLocalizedString("Nothing logged in the last 7 days.", comment: "Logbook empty state when there are no entries at all")) .foregroundStyle(P.inkMuted) } ForEach(visibleDays) { day in Section { if day.entries.isEmpty { - Text(model.filter != .all ? "Nothing to show for this filter" : day.insulin > 0 ? "Scheduled basal only" : "Nothing logged") + Text(model.filter != .all + ? NSLocalizedString("Nothing to show for this filter", comment: "Logbook day with no entries matching the selected filter") + : day.insulin > 0 + ? NSLocalizedString("Scheduled basal only", comment: "Logbook day where only the scheduled basal ran, with nothing else logged") + : NSLocalizedString("Nothing logged", comment: "Logbook day with no entries")) .font(LoopDesign.Typeface.footnote) .foregroundStyle(P.inkMuted) } @@ -298,13 +333,13 @@ struct LogbookView: View { Section { EmptyView() } footer: { - Text("Loop keeps the last 7 days on this phone. Older doses and carbs are in Apple Health and on the Trends tab.") + Text(NSLocalizedString("Loop keeps the last 7 days on this phone. Older doses and carbs are in Apple Health and on the Trends tab.", comment: "Logbook footer explaining why only 7 days are listed")) } } .listStyle(.insetGrouped) .scrollContentBackground(.hidden) .background(P.surface) - .navigationTitle("Logbook") + .navigationTitle(NSLocalizedString("Logbook", comment: "Title of the Logbook tab")) .refreshable { model.reload() } .overlay { if !model.loaded { ProgressView() } @@ -317,8 +352,8 @@ struct LogbookView: View { .onReceive(NotificationCenter.default.publisher(for: .LoopDataUpdated).debounce(for: .seconds(2), scheduler: RunLoop.main)) { _ in model.reload() } - .alert("Couldn't delete", isPresented: Binding(get: { model.error != nil }, set: { if !$0 { model.error = nil } })) { - Button("OK", role: .cancel) {} + .alert(NSLocalizedString("Couldn't delete", comment: "Alert title when deleting a Logbook entry fails"), isPresented: Binding(get: { model.error != nil }, set: { if !$0 { model.error = nil } })) { + Button(NSLocalizedString("OK", comment: "Button to dismiss the Logbook delete error alert"), role: .cancel) {} } message: { Text(model.error ?? "") } @@ -331,7 +366,7 @@ struct LogbookView: View { Button { model.filter = filter } label: { - Text(filter.rawValue) + Text(filter.title) .font(LoopDesign.Typeface.footnote.weight(.semibold)) .padding(.horizontal, 12) .padding(.vertical, 6) @@ -348,9 +383,14 @@ struct LogbookView: View { private func dayHeader(_ day: LogDay) -> some View { let calendar = Calendar.current - let prefix = calendar.isDateInToday(day.day) ? "Today · " : calendar.isDateInYesterday(day.day) ? "Yesterday · " : "" + let date = LoopFormat.weekdayDay(day.day) + let title = calendar.isDateInToday(day.day) + ? String(format: NSLocalizedString("Today · %1$@", comment: "Logbook day header for today. (1: weekday and date, e.g. Sun 25 Oct)"), date) + : calendar.isDateInYesterday(day.day) + ? String(format: NSLocalizedString("Yesterday · %1$@", comment: "Logbook day header for yesterday. (1: weekday and date, e.g. Sat 24 Oct)"), date) + : date return HStack(alignment: .firstTextBaseline) { - Text(prefix + LoopFormat.weekdayDay(day.day)) + Text(title) .font(LoopDesign.Typeface.headline) .foregroundStyle(P.ink) Spacer() @@ -395,13 +435,13 @@ struct LogbookView: View { content .swipeActions(edge: .trailing, allowsFullSwipe: false) { if let action = entry.delete, canPerform(action) { - Button(role: .destructive) { model.perform(action) } label: { Label("Delete", systemImage: "trash") } + Button(role: .destructive) { model.perform(action) } label: { Label(NSLocalizedString("Delete", comment: "Swipe action to delete a Logbook entry"), systemImage: "trash") } } if let carb = entry.edit, model.carbEditingAllowed { Button { guard model.provider.allowsCarbEditing else { return } path.append(.editCarbs(CarbEditRoute(entry: carb))) - } label: { Label("Edit", systemImage: "pencil") } + } label: { Label(NSLocalizedString("Edit", comment: "Swipe action to edit a Logbook carb entry"), systemImage: "pencil") } .tint(P.accent) } } @@ -449,7 +489,7 @@ private struct LogbookCarbEditor: View { CarbEntryView(viewModel: viewModel) .environmentObject(deviceManager.displayGlucosePreference) .environment(\.dismissAction, dismiss) - .navigationTitle("Edit Carb Entry") + .navigationTitle(NSLocalizedString("Edit Carb Entry", comment: "Title of the screen for editing a carb entry from the Logbook")) .navigationBarTitleDisplayMode(.inline) .onAppear { if !provider.allowsCarbEditing { dismiss() } } // Loop posts this from its data queue; SwiftUI faults on publishers that emit off the main thread. @@ -474,13 +514,13 @@ struct BasalChangesList: View { .foregroundStyle(P.inkMuted) } Spacer() - Text(LoopFormat.signed(change.netUnits) + " U") + Text(String(format: NSLocalizedString("%1$@ U", comment: "Format string for an amount of insulin in units. (1: amount)"), LoopFormat.signed(change.netUnits))) .font(LoopDesign.Typeface.body.weight(.semibold).monospacedDigit()) .foregroundStyle(P.insulinInk) } .accessibilityElement(children: .combine) } - .navigationTitle("Basal adjustments") + .navigationTitle(NSLocalizedString("Basal adjustments", comment: "Title of the list of every temp basal Loop set in a day")) .navigationBarTitleDisplayMode(.inline) } } diff --git a/Loop/Redesign/LoopDesign.swift b/Loop/Redesign/LoopDesign.swift index 560f19eaef..c23b2a1ba7 100644 --- a/Loop/Redesign/LoopDesign.swift +++ b/Loop/Redesign/LoopDesign.swift @@ -273,7 +273,13 @@ struct ValueTile: View { Text(label) .font(LoopDesign.Typeface.footnote) .foregroundStyle(LoopDesign.Palette.inkMuted) + .lineLimit(1) + .minimumScaleFactor(0.7) + .allowsTightening(true) + // A value with a long unit ("0.04 単位") shrinks to fit rather than breaking mid-word. value + .lineLimit(1) + .minimumScaleFactor(0.6) } .padding(LoopDesign.Space.s3) .frame(maxWidth: .infinity, minHeight: 64, maxHeight: .infinity, alignment: .topLeading) diff --git a/Loop/Redesign/LoopHistoryMath.swift b/Loop/Redesign/LoopHistoryMath.swift index 4ec7704577..5e75c93474 100644 --- a/Loop/Redesign/LoopHistoryMath.swift +++ b/Loop/Redesign/LoopHistoryMath.swift @@ -48,27 +48,30 @@ enum LoopHistoryMath { var name: String { switch self { - case .veryHigh: return "Very high" - case .high: return "High" - case .inRange: return "In range" - case .low: return "Low" - case .veryLow: return "Very low" + case .veryHigh: return NSLocalizedString("Very high", comment: "Time-in-range band name: glucose above 250 mg/dL (13.9 mmol/L)") + case .high: return NSLocalizedString("High", comment: "Time-in-range band name: glucose 181–250 mg/dL (10.1–13.9 mmol/L)") + case .inRange: return NSLocalizedString("In range", comment: "Time-in-range band name: glucose 70–180 mg/dL (3.9–10.0 mmol/L)") + case .low: return NSLocalizedString("Low", comment: "Time-in-range band name: glucose 54–69 mg/dL (3.0–3.8 mmol/L)") + case .veryLow: return NSLocalizedString("Very low", comment: "Time-in-range band name: glucose below 54 mg/dL (3.0 mmol/L)") } } /// Consensus thresholds, in the person's unit. + /// Numbers go through the user's locale ("3,9–10,0" in German); the symbols are not words, so they stay in code. func thresholds(_ unit: GlucoseUnitStyle) -> String { + let d = unit.isMmol ? 1 : 0 + func n(_ value: Double) -> String { LoopFormat.number(value, decimals: d) } switch (self, unit.isMmol) { - case (.veryHigh, true): return "> 13.9" - case (.high, true): return "10.1–13.9" - case (.inRange, true): return "3.9–10.0" - case (.low, true): return "3.0–3.8" - case (.veryLow, true): return "< 3.0" - case (.veryHigh, false): return "> 250" - case (.high, false): return "181–250" - case (.inRange, false): return "70–180" - case (.low, false): return "54–69" - case (.veryLow, false): return "< 54" + case (.veryHigh, true): return "> " + n(13.9) + case (.high, true): return n(10.1) + "–" + n(13.9) + case (.inRange, true): return n(3.9) + "–" + n(10.0) + case (.low, true): return n(3.0) + "–" + n(3.8) + case (.veryLow, true): return "< " + n(3.0) + case (.veryHigh, false): return "> " + n(250) + case (.high, false): return n(181) + "–" + n(250) + case (.inRange, false): return n(70) + "–" + n(180) + case (.low, false): return n(54) + "–" + n(69) + case (.veryLow, false): return "< " + n(54) } } @@ -318,13 +321,13 @@ enum LoopHistoryMath { let cause: String? if closedSetting == false { mode = .open - cause = "Closed loop off" + cause = NSLocalizedString("Closed loop off", comment: "Reason shown for a stretch of time when Loop was in open loop because closed loop was turned off") } else if let lastSuccess, slotEnd.timeIntervalSince(lastSuccess) <= recency { mode = .closed cause = nil } else { mode = .limited - cause = lastError ?? "Loop didn't run" + cause = lastError ?? NSLocalizedString("Loop didn't run", comment: "Reason shown for a stretch of time when Loop did not complete a run and recorded no error") } if let last = spans.last, last.mode == mode, last.cause == cause, last.end == t { diff --git a/Loop/Redesign/LoopHistoryModels.swift b/Loop/Redesign/LoopHistoryModels.swift index 4e4079b67c..f2950b97c0 100644 --- a/Loop/Redesign/LoopHistoryModels.swift +++ b/Loop/Redesign/LoopHistoryModels.swift @@ -175,7 +175,7 @@ struct GlucoseUnitStyle: Equatable { func mgdl(_ displayValue: Double) -> Double { isMmol ? displayValue * Self.mgdlPerMmol : displayValue } func format(_ mgdl: Double) -> String { - isMmol ? String(format: "%.1f", mgdl / Self.mgdlPerMmol) : String(format: "%.0f", mgdl) + isMmol ? LoopFormat.number(mgdl / Self.mgdlPerMmol, decimals: 1) : LoopFormat.number(mgdl, decimals: 0) } /// Fixed chart scales from the design: 2–20 mmol/L on day views, 0–22 on AGP. @@ -188,13 +188,29 @@ struct GlucoseUnitStyle: Equatable { // MARK: - Formatting enum LoopFormat { - static func doseUnits(_ units: Double) -> String { String(format: "%.2f U", units) } - static func totalUnits(_ units: Double) -> String { String(format: "%.1f U", units) } - static func rate(_ rate: Double) -> String { String(format: "%.2f U/h", rate) } - static func grams(_ grams: Double) -> String { String(format: "%.0f g", grams) } + /// A number in the user's locale, e.g. "7.3" or "7,3", with no grouping so values read like Loop's own screens. + static func number(_ value: Double, decimals: Int) -> String { + value.formatted(.number.precision(.fractionLength(decimals)).grouping(.never)) + } + + static func doseUnits(_ units: Double) -> String { + String(format: NSLocalizedString("%1$@ U", comment: "Format string for an amount of insulin in units. (1: amount)"), number(units, decimals: 2)) + } + + static func totalUnits(_ units: Double) -> String { + String(format: NSLocalizedString("%1$@ U", comment: "Format string for an amount of insulin in units. (1: amount)"), number(units, decimals: 1)) + } + + static func rate(_ rate: Double) -> String { + String(format: NSLocalizedString("%1$@ U/h", comment: "Format string for an insulin rate in units per hour. (1: rate)"), number(rate, decimals: 2)) + } + + static func grams(_ grams: Double) -> String { + String(format: NSLocalizedString("%1$@ g", comment: "Format string for an amount of carbohydrate in grams. (1: grams)"), number(grams, decimals: 0)) + } static func signed(_ value: Double, decimals: Int = 2) -> String { - let s = String(format: "%.\(decimals)f", abs(value)) + let s = number(abs(value), decimals: decimals) if abs(value) < pow(10, -Double(decimals)) / 2 { return "+" + s } return (value < 0 ? "−" : "+") + s } @@ -213,38 +229,35 @@ enum LoopFormat { date.formatted(.dateTime.weekday(.abbreviated).day().month(.abbreviated)) } - /// "12 – 25 Oct 2026", "28 Sep – 25 Oct 2026", "20 Dec 2025 – 2 Jan 2026" + /// "12 – 25 Oct 2026", "28 Sep – 25 Oct 2026", "20 Dec 2025 – 2 Jan 2026", in the user's locale. static func range(_ start: Date, _ end: Date, calendar: Calendar = .current) -> String { - let sameYear = calendar.component(.year, from: start) == calendar.component(.year, from: end) - let sameMonth = sameYear && calendar.component(.month, from: start) == calendar.component(.month, from: end) if calendar.isDate(start, inSameDayAs: end) { return day(end) } - let first: String - if sameMonth { - first = start.formatted(.dateTime.day()) - } else if sameYear { - first = start.formatted(.dateTime.day().month(.abbreviated)) - } else { - first = day(start) - } - return "\(first) – \(day(end))" + let formatter = DateIntervalFormatter() + formatter.calendar = calendar + formatter.dateTemplate = "dMMMy" + return formatter.string(from: start, to: end) } - /// "13 d 11 h", "9 h 45 m", "40 min" + /// "13d 11h", "9h 45m", "40m" in English; abbreviated in the user's language. static func duration(_ interval: TimeInterval) -> String { let minutes = Int((interval / 60).rounded()) - let days = minutes / 1440, hours = (minutes % 1440) / 60, mins = minutes % 60 - if days > 0 { return hours > 0 ? "\(days) d \(hours) h" : "\(days) d" } - if hours > 0 { return mins > 0 ? "\(hours) h \(mins) m" : "\(hours) h" } - return "\(mins) min" + let formatter = DateComponentsFormatter() + formatter.unitsStyle = .abbreviated + formatter.allowedUnits = minutes >= 1440 ? [.day, .hour] : minutes >= 60 ? [.hour, .minute] : [.minute] + formatter.zeroFormattingBehavior = .dropAll + return formatter.string(from: TimeInterval(minutes * 60)) ?? "" } - /// "2 min", "1 h 5 min" — how long ago, for the status pill. + /// "2m", "1h 5m": how long ago, for the status pill. static func ago(_ date: Date, now: Date = Date()) -> String { let minutes = max(0, Int(now.timeIntervalSince(date) / 60)) - if minutes < 60 { return "\(minutes) min" } - return duration(TimeInterval(minutes * 60)) + let formatter = DateComponentsFormatter() + formatter.unitsStyle = .abbreviated + formatter.allowedUnits = minutes >= 1440 ? [.day, .hour] : minutes >= 60 ? [.hour, .minute] : [.minute] + formatter.zeroFormattingBehavior = minutes == 0 ? .pad : .dropAll + return formatter.string(from: TimeInterval(minutes * 60)) ?? "" } } diff --git a/Loop/Redesign/LoopHistoryProvider.swift b/Loop/Redesign/LoopHistoryProvider.swift index 132ef32d48..1b51d2671d 100644 --- a/Loop/Redesign/LoopHistoryProvider.swift +++ b/Loop/Redesign/LoopHistoryProvider.swift @@ -174,8 +174,22 @@ final class LoopHistoryProvider { return (runs, runs.first?.date) } - /// "glucoseTooOld" → "Glucose too old" + /// "glucoseTooOld" → "Glucose too old". Loop's own issue ids are localised; any other id falls back to the + /// id split into English words. static func describe(issue id: String) -> String { + switch id { + case "configurationError": return NSLocalizedString("Configuration error", comment: "Reason Loop could not run: its settings are incomplete") + case "connectionError": return NSLocalizedString("Connection error", comment: "Reason Loop could not run: no connected devices, or a device connection failed") + case "missingDataError": return NSLocalizedString("Missing data error", comment: "Reason Loop could not run: data it needs was missing") + case "glucoseTooOld": return NSLocalizedString("Glucose too old", comment: "Reason Loop could not run: the latest glucose reading was too old") + case "invalidFutureGlucose": return NSLocalizedString("Invalid future glucose", comment: "Reason Loop could not run: a glucose reading had a timestamp in the future") + case "pumpDataTooOld": return NSLocalizedString("Pump data too old", comment: "Reason Loop could not run: the latest pump data was too old") + case "recommendationExpired": return NSLocalizedString("Recommendation expired", comment: "Reason Loop could not run: its dosing recommendation expired before it was used") + case "pumpSuspended": return NSLocalizedString("Pump suspended", comment: "Reason Loop could not run: insulin delivery on the pump was suspended") + case "pumpManagerError": return NSLocalizedString("Pump manager error", comment: "Reason Loop could not run: the pump reported an error") + case "unknownError": return NSLocalizedString("Unknown error", comment: "Reason Loop could not run: an unexpected error") + default: break + } var words: [String] = [] var current = "" for character in id { @@ -200,17 +214,17 @@ final class LoopHistoryProvider { case .replaceComponent(let component)?: let name: String switch component { - case .pump: name = "Pod changed" - case .reservoir: name = "Reservoir changed" - case .infusionSet: name = "Infusion set changed" + case .pump: name = NSLocalizedString("Pod changed", comment: "Pump event in the history: the pump or pod was replaced") + case .reservoir: name = NSLocalizedString("Reservoir changed", comment: "Pump event in the history: the insulin reservoir was replaced") + case .infusionSet: name = NSLocalizedString("Infusion set changed", comment: "Pump event in the history: the infusion set was replaced") } return PumpLogEvent(id: id, date: event.date, kind: .siteChange(name)) case .rewind?: - return PumpLogEvent(id: id, date: event.date, kind: .siteChange("Reservoir rewound")) + return PumpLogEvent(id: id, date: event.date, kind: .siteChange(NSLocalizedString("Reservoir rewound", comment: "Pump event in the history: the pump rewound its reservoir"))) case .prime?: - return PumpLogEvent(id: id, date: event.date, kind: .siteChange("Primed")) + return PumpLogEvent(id: id, date: event.date, kind: .siteChange(NSLocalizedString("Primed", comment: "Pump event in the history: the pump primed the tubing or cannula"))) case .alarm?: - return PumpLogEvent(id: id, date: event.date, kind: .alarm(event.title ?? "Pump alarm")) + return PumpLogEvent(id: id, date: event.date, kind: .alarm(event.title ?? NSLocalizedString("Pump alarm", comment: "Pump event in the history: an alarm whose pump gave no title"))) default: return nil } diff --git a/Loop/Redesign/MainTabBarController.swift b/Loop/Redesign/MainTabBarController.swift index f0a1508462..ee82791af4 100644 --- a/Loop/Redesign/MainTabBarController.swift +++ b/Loop/Redesign/MainTabBarController.swift @@ -39,15 +39,15 @@ final class MainTabBarController: UITabBarController, UITabBarControllerDelegate self.provider = LoopHistoryProvider(deviceManager: deviceManager, loopDataManager: loopDataManager, settingsManager: settingsManager, temporaryPresetsManager: statusTableViewController.temporaryPresetsManager) super.init(nibName: nil, bundle: nil) - rootNavigationController.tabBarItem = UITabBarItem(title: "Now", image: UIImage(systemName: "drop.fill"), tag: 0) + rootNavigationController.tabBarItem = UITabBarItem(title: NSLocalizedString("Now", comment: "Title of the Now tab in the redesigned interface, showing current glucose and Loop status"), image: UIImage(systemName: "drop.fill"), tag: 0) let trends = UIHostingController(rootView: TrendsView(provider: provider)) - trends.tabBarItem = UITabBarItem(title: "Trends", image: UIImage(systemName: "chart.bar.fill"), tag: 1) + trends.tabBarItem = UITabBarItem(title: NSLocalizedString("Trends", comment: "Title of the Trends tab in the redesigned interface"), image: UIImage(systemName: "chart.bar.fill"), tag: 1) let logbook = UIHostingController(rootView: LogbookView(provider: provider, deviceManager: deviceManager)) - logbook.tabBarItem = UITabBarItem(title: "Logbook", image: UIImage(systemName: "list.bullet"), tag: 2) + logbook.tabBarItem = UITabBarItem(title: NSLocalizedString("Logbook", comment: "Title of the Logbook tab in the redesigned interface, listing past events"), image: UIImage(systemName: "list.bullet"), tag: 2) - settingsPlaceholder.tabBarItem = UITabBarItem(title: "Settings", image: UIImage(systemName: "gearshape.fill"), tag: 3) + settingsPlaceholder.tabBarItem = UITabBarItem(title: NSLocalizedString("Settings", comment: "Title of the Settings tab in the redesigned interface"), image: UIImage(systemName: "gearshape.fill"), tag: 3) viewControllers = [rootNavigationController, trends, logbook, settingsPlaceholder] delegate = self diff --git a/Loop/Redesign/NowScreen.swift b/Loop/Redesign/NowScreen.swift index 3706cee0d9..8bdeec5d34 100644 --- a/Loop/Redesign/NowScreen.swift +++ b/Loop/Redesign/NowScreen.swift @@ -32,6 +32,8 @@ final class NowModel: ObservableObject { let state: DeviceStatusHighlightState? /// Set when the message is the device's own status highlight, which the Now screen spells out in a notice. var symbol: String? = nil + /// The device's lifecycle (pod, sensor) is near its end; the pill says so. + var endingSoon = false } enum LoopState: Equatable { @@ -213,7 +215,7 @@ final class NowModel: ObservableObject { return Device(name: name, message: message, state: highlight.state, symbol: highlight.imageName) } if let progress, progress.progressState == .warning || progress.progressState == .critical { - return Device(name: name, message: "ending soon", state: progress.progressState == .critical ? .critical : .warning) + return Device(name: name, message: nil, state: progress.progressState == .critical ? .critical : .warning, endingSoon: true) } return Device(name: name, message: nil, state: nil) } @@ -241,7 +243,7 @@ struct NowHeaderView: View { var body: some View { VStack(alignment: .leading, spacing: LoopDesign.Space.s3) { - Text("Now") + Text(NSLocalizedString("Now", comment: "Title at the top of the Now screen, showing current glucose and Loop status")) .font(LoopDesign.Typeface.title) .foregroundStyle(P.ink) .accessibilityAddTraits(.isHeader) @@ -266,23 +268,27 @@ struct NowHeaderView: View { Button(action: actions.loopStatusTapped) { StatusPill(text: loopText, dot: loopColor) } - .accessibilityHint("Shows when Loop last ran") + .accessibilityHint(NSLocalizedString("Shows when Loop last ran", comment: "VoiceOver hint for the Loop status pill and the Loop notice on the Now screen")) Button(action: actions.pumpTapped) { if let pump = model.pump { StatusPill(text: pillText(pump), dot: pillColor(pump)) } else { - StatusPill(text: "Add pump", dot: P.statusCritical) + StatusPill(text: NSLocalizedString("Add pump", comment: "Status pill on the Now screen when no pump is set up; tapping it starts pump setup"), dot: P.statusCritical) } } - .accessibilityHint(model.pump == nil ? "Sets up a pump" : "Opens pump settings") + .accessibilityHint(model.pump == nil + ? NSLocalizedString("Sets up a pump", comment: "VoiceOver hint for the Add pump status pill on the Now screen") + : NSLocalizedString("Opens pump settings", comment: "VoiceOver hint for the pump status pill and pump notice on the Now screen")) Button(action: actions.cgmTapped) { if let cgm = model.cgm { StatusPill(text: pillText(cgm), dot: pillColor(cgm)) } else { - StatusPill(text: "Add CGM", dot: P.statusCritical) + StatusPill(text: NSLocalizedString("Add CGM", comment: "Status pill on the Now screen when no CGM is set up; tapping it starts CGM setup"), dot: P.statusCritical) } } - .accessibilityHint(model.cgm == nil ? "Sets up a CGM" : "Opens CGM settings") + .accessibilityHint(model.cgm == nil + ? NSLocalizedString("Sets up a CGM", comment: "VoiceOver hint for the Add CGM status pill on the Now screen") + : NSLocalizedString("Opens CGM settings", comment: "VoiceOver hint for the CGM status pill and CGM notice on the Now screen")) } .buttonStyle(.plain) } @@ -308,9 +314,9 @@ struct NowHeaderView: View { id: "loop", severity: .critical, symbol: "exclamationmark.arrow.circlepath", - title: "Loop hasn't run for \(LoopFormat.ago(last, now: model.now))", - detail: "Insulin isn't being adjusted. Tap for details.", - hint: "Shows when Loop last ran", + title: String(format: NSLocalizedString("Loop hasn't run for %1$@", comment: "Notice title on the Now screen when Loop hasn't completed recently. (1: duration since Loop last ran, e.g. 16m)"), LoopFormat.ago(last, now: model.now)), + detail: NSLocalizedString("Insulin isn't being adjusted. Tap for details.", comment: "Notice detail on the Now screen when Loop hasn't completed recently"), + hint: NSLocalizedString("Shows when Loop last ran", comment: "VoiceOver hint for the Loop status pill and the Loop notice on the Now screen"), action: actions.loopStatusTapped)) } // While suspended, Loop's own status row says so and offers Resume, so only a critical pump problem adds a notice. @@ -322,8 +328,8 @@ struct NowHeaderView: View { severity: severity, symbol: symbol, title: message, - detail: severity == .critical ? "Loop may not be giving insulin." : nil, - hint: "Opens pump settings", + detail: severity == .critical ? NSLocalizedString("Loop may not be giving insulin.", comment: "Notice detail on the Now screen under a critical pump problem reported by the pump") : nil, + hint: NSLocalizedString("Opens pump settings", comment: "VoiceOver hint for the pump status pill and pump notice on the Now screen"), action: actions.pumpTapped)) } if let cgm = model.cgm, let symbol = cgm.symbol, let message = cgm.message { @@ -333,19 +339,32 @@ struct NowHeaderView: View { severity: severity, symbol: symbol, title: message, - detail: model.readingIsStale ? "Loop can't adjust insulin without readings." : nil, - hint: "Opens CGM settings", + detail: model.readingIsStale ? NSLocalizedString("Loop can't adjust insulin without readings.", comment: "Notice detail on the Now screen under a CGM problem when there is no recent glucose reading") : nil, + hint: NSLocalizedString("Opens CGM settings", comment: "VoiceOver hint for the CGM status pill and CGM notice on the Now screen"), action: actions.cgmTapped)) } return items.sorted { $0.severity > $1.severity } } private var loopText: String { - let mode = model.closedLoop ? "Closed loop" : model.closedLoopPaused ? "Closed loop paused" : "Open loop" - guard let last = model.lastLoopCompleted else { return "\(mode) · not run yet" } - switch model.loopState { - case .failed: return "Loop failed · \(LoopFormat.ago(last, now: model.now))" - default: return "\(mode) · \(LoopFormat.ago(last, now: model.now))" + guard let last = model.lastLoopCompleted else { + if model.closedLoop { + return NSLocalizedString("Closed loop · not run yet", comment: "Status pill on the Now screen: closed loop is on but Loop has never completed") + } else if model.closedLoopPaused { + return NSLocalizedString("Closed loop paused · not run yet", comment: "Status pill on the Now screen: closed loop is switched on but paused (e.g. no CGM data), and Loop has never completed") + } else { + return NSLocalizedString("Open loop · not run yet", comment: "Status pill on the Now screen: closed loop is off and Loop has never completed") + } + } + let ago = LoopFormat.ago(last, now: model.now) + if model.loopState == .failed { + return String(format: NSLocalizedString("Loop failed · %1$@", comment: "Status pill on the Now screen: Loop hasn't completed for over 15 minutes. (1: duration since Loop last ran, e.g. 16m)"), ago) + } else if model.closedLoop { + return String(format: NSLocalizedString("Closed loop · %1$@", comment: "Status pill on the Now screen: closed loop is on and Loop last ran this long ago. (1: duration, e.g. 3m)"), ago) + } else if model.closedLoopPaused { + return String(format: NSLocalizedString("Closed loop paused · %1$@", comment: "Status pill on the Now screen: closed loop is switched on but paused (e.g. no CGM data), and Loop last ran this long ago. (1: duration, e.g. 3m)"), ago) + } else { + return String(format: NSLocalizedString("Open loop · %1$@", comment: "Status pill on the Now screen: closed loop is off (Loop recommends only) and Loop last ran this long ago. (1: duration, e.g. 3m)"), ago) } } @@ -358,10 +377,13 @@ struct NowHeaderView: View { } } - /// A highlight is spelled out in its notice, so its pill keeps to the device name. + /// A highlight (always a plugin message with a symbol) is spelled out in its notice, so its pill keeps to the device name. private func pillText(_ device: NowModel.Device) -> String { - guard let message = device.message, device.symbol == nil else { return device.name } - return "\(device.name) · \(message)" + guard device.symbol == nil else { return device.name } + if device.endingSoon { + return String(format: NSLocalizedString("%1$@ · ending soon", comment: "Status pill on the Now screen when a pump pod or CGM sensor is near the end of its life. (1: device name from the pump or CGM plugin, e.g. Omnipod 5)"), device.name) + } + return device.name } private func pillColor(_ device: NowModel.Device) -> Color? { @@ -390,7 +412,7 @@ struct NowHeaderView: View { .accessibilityLabel(trend.localizedDescription) } } else { - Text("No reading") + Text(NSLocalizedString("No reading", comment: "Shown on the Now screen in place of the glucose value when there is no recent CGM reading")) .font(.system(size: 34, weight: .bold, design: .rounded)) .foregroundStyle(P.inkMuted) } @@ -409,7 +431,7 @@ struct NowHeaderView: View { Text(LoopFormat.time(reading.date)) } if let target = model.targetRange { - Text("Target \(model.unit.format(target.lowerBound))–\(model.unit.format(target.upperBound))") + Text(String(format: NSLocalizedString("Target %1$@–%2$@", comment: "Glucose target range on the Now screen hero card. (1: lower bound; 2: upper bound)"), model.unit.format(target.lowerBound), model.unit.format(target.upperBound))) } } .font(LoopDesign.Typeface.footnote) @@ -421,39 +443,39 @@ struct NowHeaderView: View { AdaptiveRow { // As on the classic charts: insulin opens Loop's delivery history, carbs its absorption screen. Button(action: actions.showInsulin) { - ValueTile(label: "IOB") { + ValueTile(label: NSLocalizedString("IOB", comment: "Abbreviation for insulin on board; label of a tile on the Now screen")) { Text(model.iob.map(LoopFormat.doseUnits) ?? "–") .font(LoopDesign.Typeface.statValueSmall) .foregroundStyle(P.insulinInk) } } .buttonStyle(.plain) - .accessibilityHint("Opens insulin delivery history") + .accessibilityHint(NSLocalizedString("Opens insulin delivery history", comment: "VoiceOver hint for the IOB tile on the Now screen")) Button(action: actions.showCarbs) { - ValueTile(label: "COB") { + ValueTile(label: NSLocalizedString("COB", comment: "Abbreviation for carbs on board; label of a tile on the Now screen")) { Text(model.cob.map(LoopFormat.grams) ?? "–") .font(LoopDesign.Typeface.statValueSmall) .foregroundStyle(P.carbsInk) } } .buttonStyle(.plain) - .accessibilityHint("Opens carb absorption") - ValueTile(label: "Basal") { + .accessibilityHint(NSLocalizedString("Opens carb absorption", comment: "VoiceOver hint for the COB tile on the Now screen")) + ValueTile(label: NSLocalizedString("Basal", comment: "Label of a tile showing the current basal rate (Now screen) or the day's basal insulin total (Today so far totals)")) { VStack(alignment: .leading, spacing: 0) { HStack(alignment: .firstTextBaseline, spacing: 2) { - Text(model.basalRate.map { String(format: "%.2f", $0) } ?? "–") + Text(model.basalRate.map { LoopFormat.number($0, decimals: 2) } ?? "–") .font(LoopDesign.Typeface.statValueSmall) .foregroundStyle(P.ink) - Text("U/h") + Text(NSLocalizedString("U/h", comment: "Abbreviation for insulin units per hour")) .font(LoopDesign.Typeface.footnote) .foregroundStyle(P.inkMuted) } if model.suspended { - Text("Suspended") + Text(NSLocalizedString("Suspended", comment: "Shown in the Basal tile on the Now screen when insulin delivery is suspended")) .font(LoopDesign.Typeface.footnote.weight(.semibold)) .foregroundStyle(P.criticalInk) } else if let rate = model.basalRate, let scheduled = model.scheduledBasalRate { - Text("\(LoopFormat.signed(rate - scheduled)) vs plan") + Text(String(format: NSLocalizedString("%1$@ vs plan", comment: "Basal tile on the Now screen: how the current basal rate differs from the scheduled rate. (1: signed difference in U/h, e.g. +0.25)"), LoopFormat.signed(rate - scheduled))) .font(LoopDesign.Typeface.footnote) .foregroundStyle(P.insulinInk) .lineLimit(1) @@ -470,19 +492,19 @@ struct NowHeaderView: View { private var readingDetail: String { guard let reading = model.reading else { return model.unit.unitName } if model.readingIsStale { - return "Last reading \(LoopFormat.ago(reading.date, now: model.now)) ago" + return String(format: NSLocalizedString("Last reading %1$@ ago", comment: "Shown on the Now screen under No reading when the latest CGM reading is too old. (1: duration, e.g. 25m)"), LoopFormat.ago(reading.date, now: model.now)) } guard let delta = reading.delta else { return model.unit.unitName } let change = model.unit.isMmol ? LoopFormat.signed(delta / GlucoseUnitStyle.mgdlPerMmol, decimals: 1) : LoopFormat.signed(delta, decimals: 0) - return "\(model.unit.unitName) · \(change) in 5 min" + return String(format: NSLocalizedString("%1$@ · %2$@ in 5 min", comment: "Under the glucose value on the Now screen: the glucose unit and how much glucose changed over 5 minutes. (1: glucose unit, e.g. mmol/L; 2: signed change, e.g. +0.3)"), model.unit.unitName, change) } /// Low and high get a pill with words; the number itself is never tinted. private var rangePill: (String, Color)? { guard let reading = model.reading, !model.readingIsStale else { return nil } - if reading.mgdl < 54 { return ("Urgent low", P.statusCritical) } - if reading.mgdl < 70 { return ("Low", P.statusCritical) } - if reading.mgdl > 250 { return ("High", P.statusWarning) } + if reading.mgdl < 54 { return (NSLocalizedString("Urgent low", comment: "Pill under the glucose value on the Now screen when glucose is below 54 mg/dL (3.0 mmol/L)"), P.statusCritical) } + if reading.mgdl < 70 { return (NSLocalizedString("Low", comment: "Pill under the glucose value on the Now screen when glucose is below 70 mg/dL (3.9 mmol/L)"), P.statusCritical) } + if reading.mgdl > 250 { return (NSLocalizedString("High", comment: "Pill under the glucose value on the Now screen when glucose is above 250 mg/dL (13.9 mmol/L)"), P.statusWarning) } return nil } @@ -500,10 +522,10 @@ struct NowHeaderView: View { private var actionRow: some View { AdaptiveRow { - actionButton("Add carbs", systemImage: "fork.knife", fill: P.carbs, text: P.onFill, action: actions.addCarbs) + actionButton(NSLocalizedString("Add carbs", comment: "Button on the Now screen that opens carb entry"), systemImage: "fork.knife", fill: P.carbs, text: P.onFill, action: actions.addCarbs) .disabled(!model.dosingAvailable) .opacity(model.dosingAvailable ? 1 : 0.4) - actionButton("Bolus", systemImage: "syringe.fill", fill: P.insulin, text: P.onFill, action: actions.bolus) + actionButton(NSLocalizedString("Bolus", comment: "Button on the Now screen that opens the bolus screen"), systemImage: "syringe.fill", fill: P.insulin, text: P.onFill, action: actions.bolus) .disabled(!model.dosingAvailable) .opacity(model.dosingAvailable ? 1 : 0.4) // Pre-meal and the other presets share Loop's Presets screen. @@ -511,19 +533,24 @@ struct NowHeaderView: View { actionLabel(presetsTitle, systemImage: "slider.horizontal.3", fill: presetsFill, text: P.ink) } .buttonStyle(.plain) - .accessibilityLabel("Presets") - .accessibilityValue(presetsTitle == "Presets" ? "" : presetsTitle) + .accessibilityLabel(NSLocalizedString("Presets", comment: "Button on the Now screen that opens override presets (and pre-meal); also its VoiceOver label and menu item")) + .accessibilityValue(presetsActive ? presetsTitle : "") } + .fixedSize(horizontal: false, vertical: true) } private var presetsFill: Color { model.preMealOn || model.overrideName != nil ? P.accent.opacity(0.18) : P.surfaceSunken } + private var presetsActive: Bool { + model.preMealOn || model.overrideName != nil + } + private var presetsTitle: String { - if model.preMealOn { return "Pre-meal on" } + if model.preMealOn { return NSLocalizedString("Pre-meal on", comment: "Presets button title on the Now screen while the pre-meal target is on") } if let name = model.overrideName { return name } - return "Presets" + return NSLocalizedString("Presets", comment: "Button on the Now screen that opens override presets (and pre-meal); also its VoiceOver label and menu item") } private func actionButton(_ title: String, systemImage: String, fill: Color, text: Color, action: @escaping () -> Void) -> some View { @@ -534,12 +561,17 @@ struct NowHeaderView: View { } private func actionLabel(_ title: String, systemImage: String, fill: Color, text: Color) -> some View { + // Longer languages ("Agregar carbohidratos") wrap onto a second line rather than truncate. Text(title) .font(LoopDesign.Typeface.subhead.weight(.semibold)) - .lineLimit(1) + .lineLimit(2) + .multilineTextAlignment(.center) .minimumScaleFactor(0.8) + .allowsTightening(true) .foregroundStyle(text) - .frame(maxWidth: .infinity, minHeight: 44) + .padding(.horizontal, LoopDesign.Space.s1) + .padding(.vertical, LoopDesign.Space.s1) + .frame(maxWidth: .infinity, minHeight: 44, maxHeight: .infinity) .background(fill, in: RoundedRectangle(cornerRadius: LoopDesign.Radius.md, style: .continuous)) .contentShape(RoundedRectangle(cornerRadius: LoopDesign.Radius.md)) } @@ -570,47 +602,49 @@ struct NowChartsView: View { private var predictionCard: some View { Button(action: actions.showPrediction) { LoopCard { - CardHeader(title: "Next 3 hours") { + CardHeader(title: NSLocalizedString("Next 3 hours", comment: "Title of the prediction chart card on the Now screen")) { // Loop's eventual glucose is the end of its prediction, which can run past the three hours drawn. if let last = model.prediction.last { - Text("Eventually \(model.unit.format(last.mgdl)) \(model.unit.unitName)") + Text(String(format: NSLocalizedString("Eventually %1$@ %2$@", comment: "Prediction card on the Now screen: Loop's eventual predicted glucose. (1: glucose value; 2: glucose unit, e.g. mmol/L)"), model.unit.format(last.mgdl), model.unit.unitName)) } } if readings.isEmpty && model.prediction.isEmpty { - ChartPlaceholder(message: model.glucoseHistoryError == nil ? "No CGM data in the last 3 hours" : "Couldn't load recent CGM readings") + ChartPlaceholder(message: model.glucoseHistoryError == nil + ? NSLocalizedString("No CGM data in the last 3 hours", comment: "Empty prediction chart on the Now screen") + : NSLocalizedString("Couldn't load recent CGM readings", comment: "Prediction chart on the Now screen when recent glucose couldn't be read")) } else { PredictionChartView(readings: readings, prediction: model.prediction, unit: model.unit, targetBands: model.predictionTargets, now: model.now) } ChartLegend(items: [ - LegendItem(swatch: .dot(P.glucose), label: "Readings"), - LegendItem(swatch: .dash(P.glucose), label: "Loop prediction"), + LegendItem(swatch: .dot(P.glucose), label: NSLocalizedString("Readings", comment: "Chart legend on the Now screen: dots are CGM glucose readings")), + LegendItem(swatch: .dash(P.glucose), label: NSLocalizedString("Loop prediction", comment: "Chart legend on the Now screen: dashed line is Loop's predicted glucose")), ]) if let error = model.glucoseHistoryError { - Text("Recent readings unavailable: \(error)") + Text(String(format: NSLocalizedString("Recent readings unavailable: %1$@", comment: "Error under the prediction chart on the Now screen. (1: system error description)"), error)) .font(LoopDesign.Typeface.footnote) .foregroundStyle(P.criticalInk) } } } .buttonStyle(.plain) - .accessibilityHint("Opens Loop's prediction breakdown") + .accessibilityHint(NSLocalizedString("Opens Loop's prediction breakdown", comment: "VoiceOver hint for the prediction card on the Now screen")) } private var todayCard: some View { Button(action: actions.showToday) { LoopCard { - CardHeader(title: "Today so far") { + CardHeader(title: NSLocalizedString("Today so far", comment: "Title of the card on the Now screen showing today's insulin and carbs")) { if model.historyError == nil { HStack(spacing: 4) { Text(LoopFormat.totalUnits(model.today.totalUnits)).foregroundStyle(P.insulinInk) - Text("·") + Text(verbatim: "·") Text(LoopFormat.grams(model.today.carbGrams)).foregroundStyle(P.carbsInk) } } } if let error = model.historyError { - ChartPlaceholder(message: "Couldn't load today's history: \(error)") + ChartPlaceholder(message: String(format: NSLocalizedString("Couldn't load today's history: %1$@", comment: "Shown on the Now screen's Today so far card when history couldn't be read. (1: system error description)"), error)) } else { InsulinTimelineView(history: model.today, unit: model.unit, targetBands: model.todayTargets, now: model.now, height: 230) DayTotalsTiles(history: model.today) @@ -619,7 +653,7 @@ struct NowChartsView: View { } } .buttonStyle(.plain) - .accessibilityHint("Opens the full day") + .accessibilityHint(NSLocalizedString("Opens the full day", comment: "VoiceOver hint for the Today so far card on the Now screen")) } } @@ -628,25 +662,25 @@ struct DayTotalsTiles: View { let history: DayHistory static let legend: [LegendItem] = [ - LegendItem(swatch: .solid(P.insulin), label: "Bolus"), - LegendItem(swatch: .outline(P.insulin), label: "Automatic"), - LegendItem(swatch: .basal, label: "Basal given"), - LegendItem(swatch: .dash(P.basalScheduled), label: "Scheduled"), + LegendItem(swatch: .solid(P.insulin), label: NSLocalizedString("Bolus", comment: "Chart legend: solid bars are manual boluses")), + LegendItem(swatch: .outline(P.insulin), label: NSLocalizedString("Automatic", comment: "Chart legend: outlined bars are automatic boluses given by Loop")), + LegendItem(swatch: .basal, label: NSLocalizedString("Basal given", comment: "Chart legend: filled area is basal insulin actually delivered")), + LegendItem(swatch: .dash(P.basalScheduled), label: NSLocalizedString("Scheduled", comment: "Chart legend: dashed line is the scheduled basal rate")), ] var body: some View { AdaptiveRow { - ValueTile(label: "Bolus") { + ValueTile(label: NSLocalizedString("Bolus", comment: "Label of a tile showing the day's total bolus insulin")) { Text(LoopFormat.totalUnits(history.bolusUnits)) .font(LoopDesign.Typeface.statValueSmall) .foregroundStyle(P.insulinInk) } - ValueTile(label: "Basal") { + ValueTile(label: NSLocalizedString("Basal", comment: "Label of a tile showing the current basal rate (Now screen) or the day's basal insulin total (Today so far totals)")) { Text(LoopFormat.totalUnits(history.basalUnits)) .font(LoopDesign.Typeface.statValueSmall) .foregroundStyle(P.insulinInk) } - ValueTile(label: "Carbs") { + ValueTile(label: NSLocalizedString("Carbs", comment: "Label of a tile showing the day's total carbohydrate")) { Text(LoopFormat.grams(history.carbGrams)) .font(LoopDesign.Typeface.statValueSmall) .foregroundStyle(P.carbsInk) diff --git a/Loop/Redesign/TrendsComponents.swift b/Loop/Redesign/TrendsComponents.swift index 76058c9655..a892dc49ae 100644 --- a/Loop/Redesign/TrendsComponents.swift +++ b/Loop/Redesign/TrendsComponents.swift @@ -21,9 +21,18 @@ enum TrendsPeriod: Int, CaseIterable, Identifiable { var id: Int { rawValue } - var label: String { self == .day ? "Day" : "\(rawValue) d" } + var label: String { + self == .day + ? NSLocalizedString("Day (Trends period)", value: "Day", comment: "Trends period picker: a period of one calendar day (not daytime)") + : String(format: NSLocalizedString("%1$@ d", comment: "Trends period picker, short label for a period of several days, e.g. 7 d. (1: number of days)"), + LoopFormat.number(Double(rawValue), decimals: 0)) + } - var accessibilityName: String { self == .day ? "Day" : "\(rawValue) days" } + var accessibilityName: String { + self == .day + ? NSLocalizedString("Day (Trends period)", value: "Day", comment: "Trends period picker: a period of one calendar day (not daytime)") + : String.localizedStringWithFormat(NSLocalizedString("%lld days", comment: "Trends period picker, VoiceOver name for a period of several days. (1: number of days)"), rawValue) + } /// The period ending on `endDay` (inclusive), cut off at `now` when it ends today. func interval(endingOn endDay: Date, now: Date = Date(), calendar: Calendar = .current) -> DateInterval { @@ -71,13 +80,13 @@ struct RangeSelectorView: View { .background(P.surfaceSunken, in: Capsule()) HStack { - stepButton(systemName: "chevron.left", label: "Previous period", enabled: true) { step(-1) } + stepButton(systemName: "chevron.left", label: NSLocalizedString("Previous period", comment: "VoiceOver label for the Trends button that moves back one period"), enabled: true) { step(-1) } Spacer() Text(LoopFormat.range(period.interval(endingOn: endDay, now: now).start, endDay)) .font(LoopDesign.Typeface.headline.monospacedDigit()) .foregroundStyle(P.ink) Spacer() - stepButton(systemName: "chevron.right", label: "Next period", enabled: canStepForward) { step(1) } + stepButton(systemName: "chevron.right", label: NSLocalizedString("Next period", comment: "VoiceOver label for the Trends button that moves forward one period"), enabled: canStepForward) { step(1) } } } } @@ -168,6 +177,42 @@ struct StatGridView: View { // MARK: - TimeInRange +extension LoopHistoryMath.RangeBand { + /// The band's name in the user's language. + var localizedName: String { + switch self { + case .veryHigh: return NSLocalizedString("Very high", comment: "Time in range band: glucose above 250 mg/dL (13.9 mmol/L)") + case .high: return NSLocalizedString("High", comment: "Time in range band: glucose 181–250 mg/dL (10.1–13.9 mmol/L)") + case .inRange: return NSLocalizedString("In range", comment: "Time in range band: glucose 70–180 mg/dL (3.9–10.0 mmol/L)") + case .low: return NSLocalizedString("Low", comment: "Time in range band: glucose 54–69 mg/dL (3.0–3.8 mmol/L)") + case .veryLow: return NSLocalizedString("Very low", comment: "Time in range band: glucose below 54 mg/dL (3.0 mmol/L)") + } + } + + /// Consensus thresholds with the user's decimal separator, e.g. "3,9–10,0". + func localizedThresholds(_ unit: GlucoseUnitStyle) -> String { + let decimals = unit.isMmol ? 1 : 0 + let n: (Double) -> String = { LoopFormat.number($0, decimals: decimals) } + switch (self, unit.isMmol) { + case (.veryHigh, true): return "> " + n(13.9) + case (.high, true): return n(10.1) + "–" + n(13.9) + case (.inRange, true): return n(3.9) + "–" + n(10.0) + case (.low, true): return n(3.0) + "–" + n(3.8) + case (.veryLow, true): return "< " + n(3.0) + case (.veryHigh, false): return "> " + n(250) + case (.high, false): return n(181) + "–" + n(250) + case (.inRange, false): return n(70) + "–" + n(180) + case (.low, false): return n(54) + "–" + n(69) + case (.veryLow, false): return "< " + n(54) + } + } +} + +/// "12%" in the user's language. +private func percentText(_ value: Double, decimals: Int = 0) -> String { + String(format: NSLocalizedString("%1$@%%", comment: "A percentage. (1: number)"), LoopFormat.number(value, decimals: decimals)) +} + struct TimeInRangeView: View { @Environment(\.dynamicTypeSize) private var typeSize @@ -225,23 +270,24 @@ struct TimeInRangeView: View { private func row(_ band: LoopHistoryMath.RangeBand) -> some View { let fraction = fractions[band] ?? 0 let hours = fraction * 24 - let thresholds = Text(band.thresholds(unit)) + let thresholds = Text(band.localizedThresholds(unit)) .font(LoopDesign.Typeface.footnote) .foregroundStyle(P.inkMuted) return VStack(alignment: .leading, spacing: 0) { HStack(alignment: .firstTextBaseline, spacing: LoopDesign.Space.s2) { - Text("\(percentages[band] ?? 0)%") + Text(percentText(Double(percentages[band] ?? 0))) .font(LoopDesign.Typeface.statValueSmall) .foregroundStyle(P.ink) .frame(minWidth: typeSize.isAccessibilitySize ? nil : 52, alignment: .trailing) - Text(band.name) + Text(band.localizedName) .font(LoopDesign.Typeface.subhead) .foregroundStyle(P.ink) if !typeSize.isAccessibilitySize { thresholds } Spacer(minLength: LoopDesign.Space.s1) - Text(String(format: "%.1f h", hours)) + Text(String(format: NSLocalizedString("%1$@ h", comment: "Time in range row: average hours a day spent in the band, abbreviated. (1: hours with one decimal)"), + LoopFormat.number(hours, decimals: 1))) .font(LoopDesign.Typeface.footnote.monospacedDigit()) .foregroundStyle(P.inkMuted) } @@ -250,7 +296,9 @@ struct TimeInRangeView: View { } } .accessibilityElement(children: .ignore) - .accessibilityLabel("\(band.name), \(band.thresholds(unit)) \(unit.unitName): \(percentages[band] ?? 0) percent, \(String(format: "%.1f", hours)) hours a day") + .accessibilityLabel(String(format: NSLocalizedString("%1$@, %2$@ %3$@: %4$@ percent, %5$@ hours a day", comment: "VoiceOver label for a Time in range row. (1: band name, e.g. In range, 2: glucose thresholds, e.g. 3.9–10.0, 3: glucose unit, 4: percentage number, 5: average hours a day with one decimal)"), + band.localizedName, band.localizedThresholds(unit), unit.unitName, + LoopFormat.number(Double(percentages[band] ?? 0), decimals: 0), LoopFormat.number(hours, decimals: 1))) } } @@ -281,11 +329,12 @@ struct TrendsAGPChart: View { var body: some View { VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { if readings.isEmpty { - ChartPlaceholder(message: "No CGM data in this period", height: height) + ChartPlaceholder(message: NSLocalizedString("No CGM data in this period", comment: "Trends chart placeholder when the period has no glucose readings"), height: height) } else { chart.frame(height: height) if !enoughDays { - Text("Not enough days for a pattern: \(days) of 5") + Text(String(format: NSLocalizedString("Not enough days for a pattern: %1$@ of 5", comment: "Trends Daily pattern footnote when fewer than 5 days have readings; the chart shows raw readings instead. (1: days with readings)"), + LoopFormat.number(Double(days), decimals: 0))) .font(LoopDesign.Typeface.footnote) .foregroundStyle(P.inkMuted) } @@ -354,9 +403,11 @@ struct TrendsAGPChart: View { private var accessibilitySummary: String { guard enoughDays, let high = slots.max(by: { $0.p50 < $1.p50 }), let low = slots.min(by: { $0.p50 < $1.p50 }) else { - return "Daily pattern: not enough days" + return NSLocalizedString("Daily pattern: not enough days", comment: "VoiceOver label for the Trends Daily pattern chart when fewer than 5 days have readings") } - return "Daily pattern over \(days) days. Median highest \(unit.format(high.p50)) at \(Self.label(minute: high.minute)), lowest \(unit.format(low.p50)) at \(Self.label(minute: low.minute))" + let span = String.localizedStringWithFormat(NSLocalizedString("%lld days", comment: "A number of days, e.g. a Trends period or how many days are averaged. (1: number of days)"), days) + return String(format: NSLocalizedString("Daily pattern over %1$@. Median highest %2$@ at %3$@, lowest %4$@ at %5$@", comment: "VoiceOver label for the Trends Daily pattern chart. (1: days with readings, e.g. 14 days; 2: highest median glucose; 3: time of day; 4: lowest median glucose; 5: time of day)"), + span, unit.format(high.p50), Self.label(minute: high.minute), unit.format(low.p50), Self.label(minute: low.minute)) } } @@ -378,7 +429,7 @@ struct InsulinDailyTotalsView: View { var body: some View { if totals.allSatisfy({ $0.total == 0 }) { - ChartPlaceholder(message: "No insulin recorded in this period", height: height) + ChartPlaceholder(message: NSLocalizedString("No insulin recorded in this period", comment: "Trends Insulin per day chart placeholder when no insulin was delivered in the period"), height: height) } else { chart.frame(height: height) } @@ -400,7 +451,7 @@ struct InsulinDailyTotalsView: View { .foregroundStyle(P.ink) .lineStyle(StrokeStyle(lineWidth: 1, dash: [4, 3])) .annotation(position: .top, alignment: .trailing, spacing: 2) { - Text(String(format: "%.1f", average)) + Text(LoopFormat.number(average, decimals: 1)) .font(LoopDesign.Typeface.caption.weight(.semibold)) .foregroundStyle(P.ink) } @@ -438,7 +489,10 @@ struct InsulinDailyTotalsView: View { } } .accessibilityElement(children: .ignore) - .accessibilityLabel("Insulin per \(weekly ? "day, weekly average" : "day"), average \(LoopFormat.totalUnits(average))") + .accessibilityLabel(String(format: weekly + ? NSLocalizedString("Insulin per day, weekly average, average %1$@", comment: "VoiceOver label for the Trends Insulin per day chart when bars are weekly averages. (1: average insulin per day, e.g. 32.1 U)") + : NSLocalizedString("Insulin per day, average %1$@", comment: "VoiceOver label for the Trends Insulin per day chart. (1: average insulin per day, e.g. 32.1 U)"), + LoopFormat.totalUnits(average))) } private var axisDates: [Date] { @@ -484,9 +538,9 @@ struct LoopModeBarView: View { static func name(_ mode: LoopModeSpan.Mode) -> String { switch mode { - case .closed: return "Closed loop" - case .limited: return "Limited" - case .open: return "Open loop / manual" + case .closed: return NSLocalizedString("Closed loop", comment: "Trends Loop status: time Loop was running in closed loop") + case .limited: return NSLocalizedString("Limited", comment: "Trends Loop status: time closed loop was on but Loop wasn't completing runs") + case .open: return NSLocalizedString("Open loop / manual", comment: "Trends Loop status: time closed loop was switched off") } } @@ -494,7 +548,7 @@ struct LoopModeBarView: View { var body: some View { if total <= 0 { - ChartPlaceholder(message: "No loop runs recorded in this period", height: 60) + ChartPlaceholder(message: NSLocalizedString("No loop runs recorded in this period", comment: "Trends Loop status placeholder when there is no Loop run history for the period"), height: 60) } else { VStack(spacing: LoopDesign.Space.s3) { bar.frame(height: 10) @@ -539,7 +593,7 @@ struct LoopModeBarView: View { .font(LoopDesign.Typeface.footnote) .foregroundStyle(P.inkMuted) Spacer() - Text(String(format: "%.1f%%", fraction(mode) * 100)) + Text(percentText(fraction(mode) * 100, decimals: 1)) .font(LoopDesign.Typeface.statValueSmall) .foregroundStyle(P.ink) } @@ -557,7 +611,7 @@ struct LoopGapsList: View { var body: some View { List { if gaps.isEmpty { - Text("No gaps: Loop ran closed loop all through this period.") + Text(NSLocalizedString("No gaps: Loop ran closed loop all through this period.", comment: "Trends Gaps list when Loop was in closed loop for the whole period")) .foregroundStyle(P.inkMuted) } ForEach(Array(gaps.enumerated()), id: \.offset) { _, gap in @@ -566,7 +620,7 @@ struct LoopGapsList: View { VStack(alignment: .leading, spacing: 2) { Text(gap.cause ?? LoopModeBarView.name(gap.mode)) .font(LoopDesign.Typeface.body) - Text("\(LoopFormat.weekdayDay(gap.start)), \(LoopFormat.time(gap.start)) · \(LoopFormat.duration(gap.duration))") + Text("\(gap.start.formatted(.dateTime.weekday(.abbreviated).day().month(.abbreviated).hour().minute())) · \(LoopFormat.duration(gap.duration))") .font(LoopDesign.Typeface.footnote) .foregroundStyle(P.inkMuted) } @@ -574,7 +628,7 @@ struct LoopGapsList: View { .accessibilityElement(children: .combine) } } - .navigationTitle("Gaps") + .navigationTitle(NSLocalizedString("Gaps", comment: "Trends Loop status button and screen title: list of times Loop wasn't in closed loop")) .navigationBarTitleDisplayMode(.inline) } } diff --git a/Loop/Redesign/TrendsScreen.swift b/Loop/Redesign/TrendsScreen.swift index 1c7cdd0f2d..9b459efad4 100644 --- a/Loop/Redesign/TrendsScreen.swift +++ b/Loop/Redesign/TrendsScreen.swift @@ -131,42 +131,71 @@ final class TrendsModel: ObservableObject { func tiles(_ s: Summary) -> [StatTile] { let unit = s.unit var tiles: [StatTile] = [] + let averageLabel = NSLocalizedString("Average", comment: "Trends summary tile: mean glucose over the period") + let gmiLabel = NSLocalizedString("GMI", comment: "Trends summary tile: abbreviation for Glucose Management Indicator, an estimate of HbA1c from CGM data") + let loopActiveLabel = NSLocalizedString("Loop active", comment: "Trends summary tile: share of the period Loop spent in closed loop") if let stats = s.stats { - tiles.append(StatTile(label: "Average", value: unit.format(stats.meanMgdl), unit: unit.unitName, - detail: "SD \(unit.format(stats.sdMgdl)) · CV \(Int((stats.cv * 100).rounded()))%")) + tiles.append(StatTile(label: averageLabel, value: unit.format(stats.meanMgdl), unit: unit.unitName, + detail: String(format: NSLocalizedString("SD %1$@ · CV %2$@%%", comment: "Trends Average tile detail: standard deviation and coefficient of variation of glucose. (1: standard deviation in the glucose unit, 2: coefficient of variation as a percentage number)"), + unit.format(stats.sdMgdl), LoopFormat.number(stats.cv * 100, decimals: 0)))) let enough = s.cgmActive * s.interval.duration / 86400 >= 10 - tiles.append(StatTile(label: "GMI", value: String(format: "%.1f", stats.gmiPercent), unit: "%", - detail: enough ? "\(Int(stats.gmiMmolMol.rounded())) mmol/mol" : "Needs 10 days of CGM")) + tiles.append(StatTile(label: gmiLabel, value: LoopFormat.number(stats.gmiPercent, decimals: 1), unit: "%", + detail: enough + ? String(format: NSLocalizedString("%1$@ mmol/mol", comment: "Trends GMI tile detail: the GMI in IFCC units. (1: value)"), + LoopFormat.number(stats.gmiMmolMol, decimals: 0)) + : NSLocalizedString("Needs 10 days of CGM", comment: "Trends GMI tile detail when fewer than 10 days of CGM data are available"))) } else { - tiles.append(StatTile(label: "Average", value: "–", unit: unit.unitName, detail: "No CGM data")) - tiles.append(StatTile(label: "GMI", value: "–", unit: "%", detail: nil)) + tiles.append(StatTile(label: averageLabel, value: "–", unit: unit.unitName, + detail: NSLocalizedString("No CGM data", comment: "Trends Average tile detail when the period has no glucose readings"))) + tiles.append(StatTile(label: gmiLabel, value: "–", unit: "%", detail: nil)) } - tiles.append(StatTile(label: "Insulin per day", value: String(format: "%.1f", s.insulinPerDay), unit: "U", - detail: "\(Int((s.basalShare * 100).rounded()))% basal" + daysNote(s))) - tiles.append(StatTile(label: "Carbs per day", value: String(format: "%.0f", s.carbGrams / s.days), unit: "g", - detail: String(format: "%.1f entries", Double(s.carbEntries) / s.days))) - tiles.append(StatTile(label: "Boluses per day", value: String(format: "%.1f", Double(s.manualBoluses) / s.days), unit: nil, - detail: String(format: "+ %.1f automatic", Double(s.automaticBoluses) / s.days))) + let basalPercent = LoopFormat.number(s.basalShare * 100, decimals: 0) + let insulinDetail: String + if let note = daysNote(s) { + insulinDetail = String(format: NSLocalizedString("%1$@%% basal · %2$@", comment: "Trends Insulin per day tile detail when only some days are averaged. (1: basal share as a percentage number, 2: days averaged, e.g. 5 of 14 days)"), + basalPercent, note) + } else { + insulinDetail = String(format: NSLocalizedString("%1$@%% basal", comment: "Trends Insulin per day tile detail: share of insulin delivered as basal. (1: percentage number)"), + basalPercent) + } + tiles.append(StatTile(label: NSLocalizedString("Insulin per day", comment: "Trends tile and card title: average total insulin per day"), + value: LoopFormat.number(s.insulinPerDay, decimals: 1), + unit: NSLocalizedString("U", comment: "Abbreviation for insulin units"), + detail: insulinDetail)) + tiles.append(StatTile(label: NSLocalizedString("Carbs per day", comment: "Trends summary tile: average grams of carbohydrate entered per day"), + value: LoopFormat.number(s.carbGrams / s.days, decimals: 0), + unit: NSLocalizedString("g", comment: "Abbreviation for grams"), + detail: String(format: NSLocalizedString("%1$@ entries", comment: "Trends Carbs per day tile detail: average number of carb entries per day, a fractional value such as 2.5, so not pluralised. (1: number with one decimal)"), + LoopFormat.number(Double(s.carbEntries) / s.days, decimals: 1)))) + tiles.append(StatTile(label: NSLocalizedString("Boluses per day", comment: "Trends summary tile: average number of manual boluses per day"), + value: LoopFormat.number(Double(s.manualBoluses) / s.days, decimals: 1), unit: nil, + detail: String(format: NSLocalizedString("+ %1$@ automatic", comment: "Trends Boluses per day tile detail: average number of automatic boluses per day on top of the manual ones, a fractional value such as 4.2. (1: number with one decimal)"), + LoopFormat.number(Double(s.automaticBoluses) / s.days, decimals: 1)))) let covered = s.loopSpans.reduce(0) { $0 + $1.duration } if covered > 0 { let closed = LoopHistoryMath.duration(of: .closed, in: s.loopSpans) - tiles.append(StatTile(label: "Loop active", value: "\(Int((closed / covered * 100).rounded()))", unit: "%", - detail: "\(LoopFormat.duration(closed)) of \(LoopFormat.duration(covered))")) + tiles.append(StatTile(label: loopActiveLabel, value: LoopFormat.number(closed / covered * 100, decimals: 0), unit: "%", + detail: String(format: NSLocalizedString("%1$@ of %2$@", comment: "Trends Loop active tile detail: time in closed loop out of the time Loop status is known. (1: duration in closed loop, e.g. 6d 4h, 2: duration covered, e.g. 7d)"), + LoopFormat.duration(closed), LoopFormat.duration(covered)))) } else { - tiles.append(StatTile(label: "Loop active", value: "–", unit: "%", detail: "No loop runs kept")) + tiles.append(StatTile(label: loopActiveLabel, value: "–", unit: "%", + detail: NSLocalizedString("No loop runs kept", comment: "Trends Loop active tile detail when no Loop run history is available for the period"))) } return tiles } - /// " · 5 of 14 days" when only part of the period is averaged: days without data, or today while it runs. - private func daysNote(_ s: Summary) -> String { + /// "5 of 14 days" when only part of the period is averaged: days without data, or today while it runs. + private func daysNote(_ s: Summary) -> String? { let insulinDays = LoopHistoryMath.averagingDays(s.totals).count - return insulinDays < s.totals.count ? " · \(insulinDays) of \(s.totals.count) day\(s.totals.count == 1 ? "" : "s")" : "" + guard insulinDays < s.totals.count else { return nil } + let total = String.localizedStringWithFormat(NSLocalizedString("%lld days", comment: "A number of days, e.g. a Trends period or how many days are averaged. (1: number of days)"), s.totals.count) + return String(format: NSLocalizedString("%1$@ of %2$@", comment: "Trends: how many days of the period are averaged. (1: days averaged, a number; 2: days in the period, e.g. 14 days)"), LoopFormat.number(Double(insulinDays), decimals: 0), total) } // MARK: Export func exportCSV(_ s: Summary) throws -> URL { + // The CSV header and values are deliberately not localised: fixed English columns and '.' decimals for data interchange. var lines = ["date,mean_glucose_\(s.unit.isMmol ? "mmol_l" : "mg_dl"),readings,time_in_range_pct,basal_u,bolus_u,total_u,carbs_g"] let calendar = Calendar.current let byDay = Dictionary(grouping: s.glucose) { calendar.startOfDay(for: $0.date) } @@ -178,13 +207,13 @@ final class TrendsModel: ObservableObject { let carbs = String(format: "%.0f", s.carbsByDay[total.day] ?? 0) lines.append("\(date),\(mean),\(readings.count),\(tir),\(String(format: "%.2f,%.2f,%.2f", total.basal, total.bolus, total.total)),\(carbs)") } - let url = FileManager.default.temporaryDirectory.appendingPathComponent("Loop trends \(Self.fileStamp(s.interval)).csv") + let url = FileManager.default.temporaryDirectory.appendingPathComponent(Self.fileName(s.interval) + ".csv") try lines.joined(separator: "\n").write(to: url, atomically: true, encoding: .utf8) return url } func exportPDF(_ s: Summary) throws -> URL { - let url = FileManager.default.temporaryDirectory.appendingPathComponent("Loop trends \(Self.fileStamp(s.interval)).pdf") + let url = FileManager.default.temporaryDirectory.appendingPathComponent(Self.fileName(s.interval) + ".pdf") let report = TrendsReport(summary: s, tiles: tiles(s)) .frame(width: 560) .environment(\.colorScheme, .light) @@ -207,6 +236,11 @@ final class TrendsModel: ObservableObject { return url } + private static func fileName(_ interval: DateInterval) -> String { + String(format: NSLocalizedString("Loop trends %1$@", comment: "File name of an exported Trends report or CSV, without the extension. (1: date range of the period)"), + fileStamp(interval)) + } + private static func fileStamp(_ interval: DateInterval) -> String { LoopFormat.range(interval.start, interval.end.addingTimeInterval(-1)).replacingOccurrences(of: " – ", with: " to ") } @@ -245,7 +279,7 @@ struct TrendsView: View { .padding(.bottom, LoopDesign.Space.s6) } .background(P.surface) - .navigationTitle("Trends") + .navigationTitle(NSLocalizedString("Trends", comment: "Title of the Trends tab")) .refreshable { model.reload() } .navigationDestination(for: TrendsRoute.self) { route in switch route { @@ -262,8 +296,9 @@ struct TrendsView: View { .sheet(item: $exportURL) { url in ShareSheet(items: [url]) } - .alert("Couldn't export", isPresented: Binding(get: { exportError != nil }, set: { if !$0 { exportError = nil } })) { - Button("OK", role: .cancel) {} + .alert(NSLocalizedString("Couldn't export", comment: "Alert title when exporting the Trends PDF or CSV fails"), + isPresented: Binding(get: { exportError != nil }, set: { if !$0 { exportError = nil } })) { + Button(NSLocalizedString("OK", comment: "Button to dismiss an alert"), role: .cancel) {} } message: { Text(exportError ?? "") } @@ -274,30 +309,33 @@ struct TrendsView: View { if let s = model.summary { summaryCard(s) LoopCard { - CardHeader(title: "Time in range") { - Text("\(Int((s.cgmActive * 100).rounded()))% CGM active") + CardHeader(title: NSLocalizedString("Time in range", comment: "Trends card title: share of glucose readings in each range")) { + Text(String(format: NSLocalizedString("%1$@%% CGM active", comment: "Trends Time in range card: share of the period with CGM readings. (1: percentage number)"), + LoopFormat.number(s.cgmActive * 100, decimals: 0))) } if s.glucose.isEmpty { - ChartPlaceholder(message: "No CGM data in this period") + ChartPlaceholder(message: NSLocalizedString("No CGM data in this period", comment: "Trends chart placeholder when the period has no glucose readings")) } else { TimeInRangeView(fractions: s.timeInRange, unit: s.unit) } - Text("Aim: over 70% in range, under 4% low.") + Text(String(format: NSLocalizedString("Aim: over 70%% in range, under 4%% low.", comment: "Trends Time in range card footnote: the consensus targets for time in range and time low"))) .font(LoopDesign.Typeface.footnote) .foregroundStyle(P.inkMuted) } LoopCard { - CardHeader(title: "Daily pattern") { Text(s.unit.unitName) } + CardHeader(title: NSLocalizedString("Daily pattern", comment: "Trends card title: the ambulatory glucose profile, glucose by time of day across the period")) { Text(s.unit.unitName) } TrendsAGPChart(slots: s.agp, readings: s.glucose, days: s.agpDays, unit: s.unit, targetRange: s.targetRange) ChartLegend(items: [ - LegendItem(swatch: .solid(P.glucose), label: "Median"), - LegendItem(swatch: .solid(P.agpInner), label: "25–75%"), - LegendItem(swatch: .solid(P.agpOuter), label: "5–95%"), + LegendItem(swatch: .solid(P.glucose), label: NSLocalizedString("Median", comment: "Trends Daily pattern legend: the median glucose line")), + LegendItem(swatch: .solid(P.agpInner), label: NSLocalizedString("25–75%", comment: "Trends Daily pattern legend: band between the 25th and 75th percentiles of glucose")), + LegendItem(swatch: .solid(P.agpOuter), label: NSLocalizedString("5–95%", comment: "Trends Daily pattern legend: band between the 5th and 95th percentiles of glucose")), ]) } LoopCard { - CardHeader(title: "Insulin per day") { - Text(s.totals.count > 30 ? "per day, weekly average" : "basal and bolus") + CardHeader(title: NSLocalizedString("Insulin per day", comment: "Trends tile and card title: average total insulin per day")) { + Text(s.totals.count > 30 + ? NSLocalizedString("per day, weekly average", comment: "Trends Insulin per day card subtitle when each bar is a week's average daily total") + : NSLocalizedString("basal and bolus", comment: "Trends Insulin per day card subtitle when each bar is one day's basal and bolus")) } InsulinDailyTotalsView(totals: s.totals.count > 30 ? LoopHistoryMath.weekly(s.totals) : s.totals, weekly: s.totals.count > 30, average: s.insulinPerDay) { day in @@ -306,8 +344,8 @@ struct TrendsView: View { ChartLegend(items: insulinLegend(s)) } LoopCard { - CardHeader(title: "Loop status") { - Button("Gaps") { path.append(.gaps) } + CardHeader(title: NSLocalizedString("Loop status", comment: "Trends card title: how long Loop spent in closed loop, limited or open loop")) { + Button(NSLocalizedString("Gaps", comment: "Trends Loop status button and screen title: list of times Loop wasn't in closed loop")) { path.append(.gaps) } .foregroundStyle(P.accentInk) .disabled(s.loopSpans.isEmpty) } @@ -320,8 +358,8 @@ struct TrendsView: View { } } else if let error = model.loadError { LoopCard { - ChartPlaceholder(message: "Couldn't load Trends: \(error)") - Button("Retry") { model.reload() }.foregroundStyle(P.accentInk) + ChartPlaceholder(message: String(format: NSLocalizedString("Couldn't load Trends: %1$@", comment: "Trends error message when the history can't be read. (1: error description)"), error)) + Button(NSLocalizedString("Retry", comment: "Button to try loading Trends again after an error")) { model.reload() }.foregroundStyle(P.accentInk) } } else { ProgressView().frame(maxWidth: .infinity, minHeight: 300) @@ -330,10 +368,10 @@ struct TrendsView: View { private func summaryCard(_ s: TrendsModel.Summary) -> some View { LoopCard { - CardHeader(title: "Summary") { - Menu("Export") { - Button("PDF report") { export { try model.exportPDF(s) } } - Button("CSV, one row per day") { export { try model.exportCSV(s) } } + CardHeader(title: NSLocalizedString("Summary", comment: "Trends card title: the summary statistics tiles")) { + Menu(NSLocalizedString("Export", comment: "Trends menu title: export the period as a PDF report or CSV file")) { + Button(NSLocalizedString("PDF report", comment: "Trends export menu item: share a PDF report of the period")) { export { try model.exportPDF(s) } } + Button(NSLocalizedString("CSV, one row per day", comment: "Trends export menu item: share a CSV spreadsheet file with one row for each day")) { export { try model.exportCSV(s) } } } .foregroundStyle(P.accentInk) } @@ -354,19 +392,27 @@ struct TrendsView: View { let total = s.basalUnits + s.bolusUnits let days = Double(max(1, LoopHistoryMath.averagingDays(s.totals).count)) let bolusShare = total > 0 ? Int((s.bolusUnits / total * 100).rounded()) : 0 + let basalShare = total > 0 ? 100 - bolusShare : 0 return [ - LegendItem(swatch: .solid(P.insulin), label: String(format: "Bolus %.1f U (%d%%)", s.bolusUnits / days, bolusShare)), - LegendItem(swatch: .basal, label: String(format: "Basal %.1f U (%d%%)", s.basalUnits / days, total > 0 ? 100 - bolusShare : 0)), - LegendItem(swatch: .dash(P.ink), label: String(format: "Average %.1f U", s.insulinPerDay)), + LegendItem(swatch: .solid(P.insulin), + label: String(format: NSLocalizedString("Bolus %1$@ U (%2$@%%)", comment: "Trends Insulin per day legend: average bolus insulin per day and its share of the total. (1: units, 2: percentage number)"), + LoopFormat.number(s.bolusUnits / days, decimals: 1), LoopFormat.number(Double(bolusShare), decimals: 0))), + LegendItem(swatch: .basal, + label: String(format: NSLocalizedString("Basal %1$@ U (%2$@%%)", comment: "Trends Insulin per day legend: average basal insulin per day and its share of the total. (1: units, 2: percentage number)"), + LoopFormat.number(s.basalUnits / days, decimals: 1), LoopFormat.number(Double(basalShare), decimals: 0))), + LegendItem(swatch: .dash(P.ink), + label: String(format: NSLocalizedString("Average %1$@ U", comment: "Trends Insulin per day legend: the dashed line showing average total insulin per day. (1: units)"), + LoopFormat.number(s.insulinPerDay, decimals: 1))), ] } private func coverageNote(_ s: TrendsModel.Summary) -> String? { guard let start = s.loopSpans.first?.start else { - return "Loop status is recorded from when the new interface was first opened." + return NSLocalizedString("Loop status is recorded from when the new interface was first opened.", comment: "Trends Loop status footnote when there is no Loop status history yet") } guard start > s.interval.start else { return nil } - return "Covers \(LoopFormat.range(start, s.interval.end)): Loop keeps 7 days of runs, and closed or open loop is recorded from when the new interface was first opened." + return String(format: NSLocalizedString("Covers %1$@: Loop keeps 7 days of runs, and closed or open loop is recorded from when the new interface was first opened.", comment: "Trends Loop status footnote when the status covers only part of the period. (1: date range covered)"), + LoopFormat.range(start, s.interval.end)) } } @@ -394,7 +440,7 @@ private struct TrendsReport: View { var body: some View { VStack(alignment: .leading, spacing: LoopDesign.Space.s4) { VStack(alignment: .leading, spacing: 2) { - Text("Loop trends").font(.title2.bold()) + Text(NSLocalizedString("Loop trends", comment: "Title of the exported Trends PDF report")).font(.title2.bold()) Text(LoopFormat.range(summary.interval.start, summary.interval.end.addingTimeInterval(-1))) .font(.subheadline) .foregroundStyle(P.inkMuted) @@ -402,23 +448,23 @@ private struct TrendsReport: View { StatGridView(tiles: tiles) HStack(alignment: .top, spacing: LoopDesign.Space.s4) { VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { - Text("Time in range").font(.headline) + Text(NSLocalizedString("Time in range", comment: "Trends card title: share of glucose readings in each range")).font(.headline) TimeInRangeView(fractions: summary.timeInRange, unit: summary.unit) } .frame(maxWidth: .infinity) } VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { - Text("Daily pattern").font(.headline) + Text(NSLocalizedString("Daily pattern", comment: "Trends card title: the ambulatory glucose profile, glucose by time of day across the period")).font(.headline) TrendsAGPChart(slots: summary.agp, readings: summary.glucose, days: summary.agpDays, unit: summary.unit, targetRange: summary.targetRange, height: 160) } VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { - Text("Insulin per day").font(.headline) + Text(NSLocalizedString("Insulin per day", comment: "Trends tile and card title: average total insulin per day")).font(.headline) InsulinDailyTotalsView(totals: summary.totals.count > 30 ? LoopHistoryMath.weekly(summary.totals) : summary.totals, weekly: summary.totals.count > 30, average: summary.insulinPerDay, height: 140) } VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { - Text("Loop status").font(.headline) + Text(NSLocalizedString("Loop status", comment: "Trends card title: how long Loop spent in closed loop, limited or open loop")).font(.headline) LoopModeBarView(spans: summary.loopSpans) } } diff --git a/Loop/View Controllers/StatusTableViewController.swift b/Loop/View Controllers/StatusTableViewController.swift index ced6c20dfe..7ea87a639c 100644 --- a/Loop/View Controllers/StatusTableViewController.swift +++ b/Loop/View Controllers/StatusTableViewController.swift @@ -2463,10 +2463,12 @@ extension StatusTableViewController { } else if lastLoopError != nil { showLastError(self) } else if let lastCompleted { - let mode = settingsManager.dosingEnabled ? "Closed loop is on." : "Closed loop is off: Loop recommends but doesn't adjust insulin." - presentLoopCompletionMessage(title: "Loop ran at \(LoopFormat.time(lastCompleted))", message: mode) + let mode = settingsManager.dosingEnabled + ? NSLocalizedString("Closed loop is on.", comment: "Message in the alert shown when tapping the Loop status on the Now screen while closed loop is on") + : NSLocalizedString("Closed loop is off: Loop recommends but doesn't adjust insulin.", comment: "Message in the alert shown when tapping the Loop status on the Now screen while closed loop is off") + presentLoopCompletionMessage(title: String(format: NSLocalizedString("Loop ran at %1$@", comment: "Title of the alert shown when tapping the Loop status on the Now screen. (1: time Loop last completed, e.g. 14:05)"), LoopFormat.time(lastCompleted)), message: mode) } else { - presentLoopCompletionMessage(title: "Loop hasn't run yet", message: "Loop runs when it has a new CGM reading and can reach the pump.") + presentLoopCompletionMessage(title: NSLocalizedString("Loop hasn't run yet", comment: "Title of the alert shown when tapping the Loop status on the Now screen before Loop has ever completed"), message: NSLocalizedString("Loop runs when it has a new CGM reading and can reach the pump.", comment: "Message in the alert shown when tapping the Loop status on the Now screen before Loop has ever completed")) } } diff --git a/LoopTests/Models/LoopHistoryMathTests.swift b/LoopTests/Models/LoopHistoryMathTests.swift index ba04cdcb84..9c8aabe0d9 100644 --- a/LoopTests/Models/LoopHistoryMathTests.swift +++ b/LoopTests/Models/LoopHistoryMathTests.swift @@ -201,10 +201,17 @@ class LoopHistoryMathTests: XCTestCase { let a = try XCTUnwrap(calendar.date(from: DateComponents(year: 2026, month: 10, day: 12, hour: 12))) let b = try XCTUnwrap(calendar.date(from: DateComponents(year: 2026, month: 10, day: 25, hour: 12))) let c = try XCTUnwrap(calendar.date(from: DateComponents(year: 2026, month: 9, day: 28, hour: 12))) - XCTAssertEqual(LoopFormat.range(a, b), "12 – \(LoopFormat.day(b))") - XCTAssertTrue(LoopFormat.range(c, b).hasPrefix(c.formatted(.dateTime.day().month(.abbreviated)))) - XCTAssertEqual(LoopFormat.duration(13 * 86400 + 11 * 3600), "13 d 11 h") - XCTAssertEqual(LoopFormat.duration(9 * 3600 + 45 * 60), "9 h 45 m") + // Ranges and durations come from the system's formatters, so they follow the user's locale; + // the test host runs in en_US. + XCTAssertEqual(LoopFormat.range(b, b), LoopFormat.day(b)) + let sameMonth = LoopFormat.range(a, b) + XCTAssertTrue(sameMonth.contains("12") && sameMonth.contains("25")) + XCTAssertEqual(sameMonth.components(separatedBy: "2026").count, 2, "the year appears once") + let twoMonths = LoopFormat.range(c, b) + XCTAssertTrue(twoMonths.contains("Sep") && twoMonths.contains("Oct")) + XCTAssertEqual(LoopFormat.duration(13 * 86400 + 11 * 3600), "13d 11h") + XCTAssertEqual(LoopFormat.duration(9 * 3600 + 45 * 60), "9h 45m") + XCTAssertEqual(LoopFormat.number(7.25, decimals: 1), 7.25.formatted(.number.precision(.fractionLength(1)).grouping(.never))) XCTAssertEqual(LoopFormat.signed(-0.4), "−0.40") XCTAssertEqual(LoopFormat.signed(0.0001), "+0.00") } From 5ef00a7049222892cd588ad41d44c18eb73310f7 Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Tue, 27 Oct 2026 15:49:28 +0000 Subject: [PATCH 05/17] Restyle the widget, Dynamic Island and Live Activity to match the redesign The home screen widget and the Live Activity now follow the redesign's rules from the Now screen: a white SF Pro Rounded glucose number with a blue trend arrow, low and high said in words rather than by tinting the number, Loop's state as a dot with words, sunken tiles, and device problems written out. - Widget: the Now hero with COB and Forecast tiles; the medium size adds Add carbs, Bolus, Pre-meal and Presets in the Now screen's styles. - Lock Screen: hero, the Now chart's style (blue readings, dashed prediction, target band) and the configured bottom row as one-line tiles, within the 160 pt limit. - Dynamic Island: white number and blue arrow, the change or "Low"/"High" in words with a loop dot, a keyline tinted for low and high, and an expanded view with a full-width status line and the chart. They follow the New Interface setting: the app mirrors it into the app group, reloads widget timelines and redraws the Live Activity when it changes, so classic users keep the classic widget and Live Activity. LoopDesign.swift and the redesign's colour sets are shared with the widget target. The widget entry gains the CGM highlight and COB from the existing extension context. The widget catalogue gains the redesign's strings in all 24 languages, reusing Loop's translations, plus a short "Forecast" tile label. The Arabic "in 5 min" now uses an Arabic-Indic digit in both catalogues. On next-dev the widget buttons use next-dev's shared Deeplink type, which replaced SystemActionLink, and glucose units are LoopUnit. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01QHnVPACb9uRhdQPgF5h2mj --- .../Bootstrap/Localizable.xcstrings | 4117 +++++++++++++++-- .../accent-ink.colorset/Contents.json | 38 + .../accent.colorset/Contents.json | 15 + .../agp-inner.colorset/Contents.json | 38 + .../agp-outer.colorset/Contents.json | 38 + .../basal-edge.colorset/Contents.json | 38 + .../basal.colorset/Contents.json | 38 + .../carbs-ink.colorset/Contents.json | 38 + .../carbs.colorset/Contents.json | 68 + .../control-thumb.colorset/Contents.json | 38 + .../critical-ink.colorset/Contents.json | 38 + .../glucose-ink.colorset/Contents.json | 38 + .../ink-muted.colorset/Contents.json | 38 + .../insulin-ink.colorset/Contents.json | 38 + .../range-high.colorset/Contents.json | 38 + .../range-in.colorset/Contents.json | 38 + .../range-low.colorset/Contents.json | 38 + .../range-very-high.colorset/Contents.json | 38 + .../range-very-low.colorset/Contents.json | 38 + .../status-critical.colorset/Contents.json | 38 + .../target-band.colorset/Contents.json | 38 + .../GlucoseLiveActivityConfiguration.swift | 13 +- .../Redesign/RedesignLiveActivity.swift | 373 ++ .../Redesign/RedesignStatusWidgetView.swift | 173 + .../Redesign/WidgetDesign.swift | 250 + .../Timeline/StatusWidgetTimelimeEntry.swift | 2 + .../StatusWidgetTimelineProvider.swift | 2 + .../Widgets/SystemStatusWidget.swift | 6 +- Loop.xcodeproj/project.pbxproj | 23 + Loop/Localizable.xcstrings | 2 +- Loop/Managers/LoopAppManager.swift | 1 + Loop/Redesign/MainTabBarController.swift | 12 + LoopCore/NSUserDefaults.swift | 8 + 33 files changed, 5332 insertions(+), 417 deletions(-) create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/accent-ink.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/accent.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/agp-inner.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/agp-outer.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/basal.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/carbs-ink.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/carbs.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/control-thumb.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/critical-ink.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/glucose-ink.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/ink-muted.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/range-high.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/range-in.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/range-low.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/range-very-high.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/range-very-low.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/status-critical.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/target-band.colorset/Contents.json create mode 100644 Loop Widget Extension/Redesign/RedesignLiveActivity.swift create mode 100644 Loop Widget Extension/Redesign/RedesignStatusWidgetView.swift create mode 100644 Loop Widget Extension/Redesign/WidgetDesign.swift diff --git a/Loop Widget Extension/Bootstrap/Localizable.xcstrings b/Loop Widget Extension/Bootstrap/Localizable.xcstrings index ef9bff8e52..01eb6c4067 100644 --- a/Loop Widget Extension/Bootstrap/Localizable.xcstrings +++ b/Loop Widget Extension/Bootstrap/Localizable.xcstrings @@ -1,1600 +1,4746 @@ { "sourceLanguage" : "en", "strings" : { - " " : { - "comment" : "A space.", - "isCommentAutoGenerated" : true - }, - "---" : { + "%1$@ g" : { + "comment" : "Format string for an amount of carbohydrate in grams. (1: grams)", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ g" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ g" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "---" + "value" : "%1$@ g" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "---" + "value" : "%1$@ g" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "---" + "value" : "%1$@ g" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "---" + "value" : "%1$@ g" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "---" + "value" : "%1$@ g" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ g" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ g" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "---" + "value" : "%1$@ g" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ g" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "---" + "value" : "%1$@ g" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "--" + "value" : "%1$@ g" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "---" + "value" : "%1$@ g" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ g" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "---" + "value" : "%1$@ g" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "---" + "value" : "%1$@ г" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ g" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "---" + "value" : "%1$@ g" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "---" + "value" : "%1$@ gr" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ г" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ g" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ 克" } } } }, - "-U" : { + "%1$@ U" : { + "comment" : "Reservoir entry (1: volume value)", "localizations" : { - "da" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "-E" + "value" : "%1$@ وحدة" } }, - "de" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "-IE" + "value" : "%1$@ U" } }, - "es" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "-U" + "value" : "%1$@ E" } }, - "fr" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "-U" + "value" : "%1$@ IE" } }, - "it" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "-U" + "value" : "%1$@ U" } }, - "nb" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "-E" + "value" : "%1$@ U" } }, - "nl" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "-E" + "value" : "%1$@ U" } }, - "pl" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "-J" + "value" : "U %1$@" } }, - "ro" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "-U" + "value" : "%1$@ U" } }, - "ru" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "-Ед" + "value" : "%1$@ U" } }, - "tr" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "-Ü" + "value" : "%1$@ 単位" } }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "-U" - } - } - } - }, - "??" : { - "extractionState" : "stale", - "localizations" : { - "da" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "??" + "value" : "%1$@ E" } }, - "de" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "??" + "value" : "%1$@ E" } }, - "es" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "??" + "value" : "%1$@ J" } }, - "fr" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "??" + "value" : "%1$@ U" } }, - "it" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "??" + "value" : "%1$@ U" } }, - "nb" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "??" + "value" : "%1$@ Ед." } }, - "nl" : { + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "??" + "value" : "%@ j" } }, - "pl" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "??" + "value" : "%1$@ E" } }, - "ro" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "??" + "value" : "%1$@ Ü" } }, - "ru" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "??" + "value" : "%1$@ U" } }, - "tr" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "??" + "value" : "%1$@ U" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "??" + "value" : "%1$@ U" } } } }, - "%@" : { + "%1$@ U/h" : { + "comment" : "Format string for an insulin rate in units per hour. (1: rate)", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ وحدة لكل ساعة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ U/hod" + } + }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "%@" + "value" : "%1$@ E/t" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%@" + "value" : "%1$@ IE/Std" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%@" + "value" : "%1$@ U/h" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%@" + "value" : "%1$@ U/h" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%@" + "value" : "%1$@ U/h" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "U/hr %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ U/óra" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%@" + "value" : "%1$@ U/ora" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ 単位/時" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%@" + "value" : "%1$@ E/t" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%@" + "value" : "%1$@ E/uur" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%@" + "value" : "%1$@ J/h" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ U/h" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%@" + "value" : "%1$@ U/oră" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%@" + "value" : "%1$@ Ед/ч" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ J/hod" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%@" + "value" : "%1$@ IE/h" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%@" + "value" : "%1$@ Ü/Sa" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ U/год" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ U/giờ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ U/小时" } } } }, - "%@ U" : { + "%1$@ · %2$@ in 5 min" : { + "comment" : "Under the glucose value on the Now screen: the glucose unit and how much glucose changed over 5 minutes. (1: glucose unit, e.g. mmol/L; 2: signed change, e.g. +0.3)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U" + "value" : "%1$@ · %2$@ خلال ٥ دقائق" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ · %2$@ za 5 min" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "%@ E" + "value" : "%1$@ · %2$@ på 5 min" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%@ IE" + "value" : "%1$@ · %2$@ in 5 Min" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U" + "value" : "%1$@ · %2$@ en 5 min" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U" + "value" : "%1$@ · %2$@ / 5 min" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U" + "value" : "%1$@ · %2$@ en 5 min" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U" + "value" : "%1$@ · %2$@ ב-5 דק׳" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ · %2$@ 5 perc alatt" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U" + "value" : "%1$@ · %2$@ in 5 min" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U" + "value" : "%1$@ · 5分で%2$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%@ E" + "value" : "%1$@ · %2$@ på 5 min" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%@ E" + "value" : "%1$@ · %2$@ in 5 min" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%@ J" + "value" : "%1$@ · %2$@ w 5 min" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U" + "value" : "%1$@ · %2$@ em 5 min" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U" + "value" : "%1$@ · %2$@ în 5 min" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%@ ед" + "value" : "%1$@ · %2$@ за 5 мин" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%@ j" + "value" : "%1$@ · %2$@ za 5 min" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%@ E" + "value" : "%1$@ · %2$@ på 5 min" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%@ Ü" + "value" : "%1$@ · 5 dk'da %2$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ · %2$@ за 5 хв" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U" + "value" : "%1$@ · %2$@ trong 5 phút" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%@ U" + "value" : "%1$@ · 5分钟内%2$@" } } } }, - "%@%@" : { + " " : { + "comment" : "A space.", + "isCommentAutoGenerated" : true + }, + "---" : { "localizations" : { - "de" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@%2$@" + "value" : "---" } }, - "en" : { + "de" : { "stringUnit" : { - "state" : "new", - "value" : "%1$@%2$@" + "state" : "translated", + "value" : "---" } }, - "fr" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@%2$@" + "value" : "---" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "---" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "---" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "---" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "---" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "--" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "---" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "---" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "---" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "---" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "---" + } + } + } + }, + "-U" : { + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "-E" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "-IE" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "-U" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "-U" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "-U" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "-E" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "-E" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "-J" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "-U" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "-Ед" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "-Ü" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "-U" + } + } + } + }, + "??" : { + "extractionState" : "stale", + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "??" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "??" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "??" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "??" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "??" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "??" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "??" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "??" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "??" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "??" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "??" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "??" + } + } + } + }, + "%@" : { + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@" + } + } + } + }, + "%@ U" : { + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ U" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ E" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ IE" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ U" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ U" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ U" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ U" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ U" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ U" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ E" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ E" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ J" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ U" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ U" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ ед" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ j" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ E" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ Ü" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ U" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@ U" + } + } + } + }, + "%@%@" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@%2$@" + } + }, + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "%1$@%2$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@%2$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@%2$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@%2$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@%2$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@%2$@" + } + } + } + }, + "%@U" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@IE" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@U" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@E" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@E" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@U" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%@U" + } + } + } + }, + "%1$@ v%2$@" : { + "comment" : "The format string for the app name and version number. (1: bundle name)(2: bundle version)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v %2$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ против %2$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v %2$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ v%2$@" + } + } + } + }, + "Add carbs" : { + "comment" : "Button on the Now screen that opens carb entry", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "إضافة كارب" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Přidat sacharidy" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tilføj kulhydrater" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "KH hinzufügen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Agregar carbohidratos" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lisää hiilihydraatteja" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajouter des glucides" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "הוספת פחמימות" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Szénhidrát hozzáadása" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aggiungi carboidrati" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "カーボを追加" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Legg til karbohydrater" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Koolhydraten toevoegen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dodaj węglowodany" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Adicionar carbs" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Adăugați carbohidrați" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Добавить углеводы" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pridať sacharidy" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lägg till kolhydrater" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Karb ekle" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Додати вуглеводи" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thêm Carbs" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "添加碳水" + } + } + } + }, + "Basal" : { + "comment" : "Chart callout label for the basal rate at the touched time Label of a tile showing the current basal rate (Now screen) or the day's basal insulin total (Today so far totals) Logbook filter chip: show only basal changes", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "القاعدية" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaalinen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basale" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ベーサル" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaal" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podstawowy" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazală" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazálna" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazal" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "基础" + } + } + } + }, + "Bolus" : { + "comment" : "Label for bolus entry row on bolus screen\nLabel for bolus entry row on simple bolus screen\nThe label of the bolus entry button\nTitle for bolus entry screen", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolo" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bólus" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolo" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ボーラス" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Болюс" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Болюс" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "大剂量" + } + } + } + }, + "Closed loop · %1$@" : { + "comment" : "Status pill on the Now screen: closed loop is on and Loop last ran this long ago. (1: duration, e.g. 3m)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "حلقة مغلقة · %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavřená smyčka · %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop · %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop · %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Circuito cerrado · %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suljettu säätö · %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boucle fermée · %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop · %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zárt hurok · %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop chiuso · %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クローズドループ · %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop · %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actieve loop · %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pętla zamknięta · %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ciclo fechado · %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buclă închisă · %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутый цикл · %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavretá slučka · %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sluten loop · %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapalı döngü · %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутий цикл · %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vòng lặp kín · %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "闭环 · %1$@" + } + } + } + }, + "Closed loop · not run yet" : { + "comment" : "Status pill on the Now screen: closed loop is on but Loop has never completed", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "حلقة مغلقة · لم يعمل بعد" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavřená smyčka · zatím neproběhla" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop · ikke kørt endnu" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop · noch nicht gelaufen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Circuito cerrado · aún no se ha ejecutado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Suljettu säätö · ei vielä ajettu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boucle fermée · pas encore exécuté" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Closed Loop · טרם רץ" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zárt hurok · még nem futott" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop chiuso · non ancora eseguito" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "クローズドループ · 未実行" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lukket Loop · ikke kjørt ennå" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Actieve loop · nog niet gedraaid" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pętla zamknięta · jeszcze nie działała" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ciclo fechado · ainda não executou" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Buclă închisă · nu a rulat încă" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутый цикл · ещё не запускался" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uzavretá slučka · ešte neprebehla" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sluten loop · inte körd än" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kapalı döngü · henüz çalışmadı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замкнутий цикл · ще не запускався" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vòng lặp kín · chưa chạy" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "闭环 · 尚未运行" + } + } + } + }, + "COB" : { + "comment" : "Abbreviation for carbs on board (active carbohydrate) Abbreviation for carbs on board; label of a tile on the Now screen", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "GA" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "COB" + } + } + } + }, + "Color" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Farbe" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Couleur" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Farge" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kleur" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Culoare" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "颜色" + } + } + } + }, + "Date" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Datum" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Date" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dato" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Datum" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dată" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "日期" + } + } + } + }, + "dB" : { + "comment" : "The short unit display string for decibles", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "дБ" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "dB" + } + } + } + }, + "End" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ende" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Fin" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Avslutt" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Stop" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sfârșit" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "结束" + } + } + } + }, + "Eventual" : { + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eventuel" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eventuell" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eventual" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Éventuel" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "סופי" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eventuale" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eventuell" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uiteindelijk" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Możliwy" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eventual" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "В конечном итоге" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nihai" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "最终" + } + } + } + }, + "Eventually" : { + "comment" : "Short label above the glucose Loop predicts at the end of its prediction, in a small tile on the widget and Live Activity. Keep it to one short word, such as 'Forecast'.", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "المتوقع" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predikce" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prognose" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prognose" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Previsión" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ennuste" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prévision" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "תחזית" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Várható" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Previsione" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "予想" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prognose" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prognose" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prognoza" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Previsão" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prognoză" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Прогноз" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Predikcia" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prognos" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tahmin" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Прогноз" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dự báo" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "预测" + } + } + } + }, + "Eventually %1$@ %2$@" : { + "comment" : "Prediction card on the Now screen: Loop's eventual predicted glucose. (1: glucose value; 2: glucose unit, e.g. mmol/L)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "في النهاية %1$@ %2$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nakonec %1$@ %2$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Med tiden %1$@ %2$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voraussichtlich %1$@ %2$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Al final %1$@ %2$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ennuste %1$@ %2$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finalement %1$@ %2$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eventually %1$@ %2$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Várható %1$@ %2$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Infine %1$@ %2$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "予想 %1$@ %2$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Omsider %1$@ %2$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Uiteindelijk %1$@ %2$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Docelowo %1$@ %2$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "No final %1$@ %2$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "În cele din urmă %1$@ %2$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "В конечном итоге %1$@ %2$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nakoniec %1$@ %2$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Förväntat %1$@ %2$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nihai KŞ %1$@ %2$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Зрештою %1$@ %2$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kết quả %1$@ %2$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "最终 %1$@ %2$@" + } + } + } + }, + "g" : { + "comment" : "The short unit display string for grams", + "extractionState" : "stale", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "г" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "gr" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "g" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "克" + } + } + } + }, + "Glucose level" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Blutzuckerspiegel" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Niveau de glycémie" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukosenivå" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosewaarde" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nivelul glicemiei" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖水平" + } + } + } + }, + "Glucose range" : { + "localizations" : { + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zielbereich" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plage de glycémie" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glukoseområde" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Glucosebereik" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Intervalul glicemic" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "血糖范围" + } + } + } + }, + "High" : { + "comment" : "Pill under the glucose value on the Now screen when glucose is above 250 mg/dL (13.9 mmol/L) Time in range band: glucose 181–250 mg/dL (10.1–13.9 mmol/L) Time-in-range band name: glucose 181–250 mg/dL (10.1–13.9 mmol/L)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "مرتفع" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vysoká" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Høj" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoch" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alta" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Korkea" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Élevée" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "גבוה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Magas" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alta" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "高値" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Høy" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hoog" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Wysoka" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alta" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ridicată" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Высокая" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vysoká" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Högt" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yüksek" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Висока" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cao" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "高" + } + } + } + }, + "Last reading %1$@ ago" : { + "comment" : "Shown on the Now screen under No reading when the latest CGM reading is too old. (1: duration, e.g. 25m)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "آخر قراءة قبل %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poslední hodnota před %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Seneste måling for %1$@ siden" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Letzter Wert vor %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Última lectura hace %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Viimeisin lukema %1$@ sitten" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dernière mesure il y a %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "קריאה אחרונה לפני %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Utolsó érték %1$@ ezelőtt" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ultima lettura %1$@ fa" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "最終測定 %1$@前" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Siste måling for %1$@ siden" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Laatste waarde %1$@ geleden" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ostatni odczyt %1$@ temu" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Última leitura há %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ultima citire acum %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Последнее показание %1$@ назад" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Posledná hodnota pred %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Senaste värde för %1$@ sedan" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Son okuma %1$@ önce" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Останній показник %1$@ тому" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Chỉ số cuối cách đây %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "最后读数在 %1$@前" + } + } + } + }, + "Loop hasn't run for %1$@" : { + "comment" : "Notice title on the Now screen when Loop hasn't completed recently. (1: duration since Loop last ran, e.g. 16m)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "لم يعمل Loop منذ %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop neproběhl %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop har ikke kørt i %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ist seit %1$@ nicht gelaufen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop no se ha ejecutado en %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopia ei ole ajettu %1$@ aikana" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop ne s'est pas exécuté depuis %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop לא רץ כבר %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "A Loop %1$@ óta nem futott" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop non eseguito da %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loopが%1$@実行されていません" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop har ikke kjørt på %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop heeft %1$@ niet gedraaid" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop nie działa od %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "O Loop não executa há %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop nu a rulat de %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop не запускался уже %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop neprebehol %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop har inte körts på %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop %1$@ süredir çalışmadı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop не запускався вже %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop đã không chạy trong %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop 已 %1$@未运行" + } + } + } + }, + "Loop Status Widget" : { + "localizations" : { + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Widget til loop-status" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Loop Status Widget" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Widget de Estado de Loop" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Widget d'état de Loop" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Widget di stato del ciclo" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@%2$@" + "value" : "Loop Status Widget" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@%2$@" + "value" : "Loop" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Widżet Stanu Pętli" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@%2$@" + "value" : "Widget de stare Loop" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Виджет состояния петли" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Döngü Durumu Widget'ı" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@%2$@" + "value" : "Loop 状态小组件" } } } }, - "%@U" : { + "Low" : { + "comment" : "Pill under the glucose value on the Now screen when glucose is below 70 mg/dL (3.9 mmol/L) Time in range band: glucose 54–69 mg/dL (3.0–3.8 mmol/L) Time-in-range band name: glucose 54–69 mg/dL (3.0–3.8 mmol/L)", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "منخفض" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nízká" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lav" + } + }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%@IE" + "value" : "Niedrig" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baja" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Matala" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%@U" + "value" : "Basse" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "נמוך" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Alacsony" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bassa" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "低値" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%@E" + "value" : "Lav" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%@E" + "value" : "Laag" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Niska" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baixa" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%@U" + "value" : "Scăzută" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Низкая" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nízka" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Lågt" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Düşük" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Низька" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thấp" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%@U" + "value" : "低" } } } }, - "%1$@ v%2$@" : { - "comment" : "The format string for the app name and version number. (1: bundle name)(2: bundle version)", + "mg/dL" : { + "comment" : "The short unit display string for milligrams of glucose per decilter", + "extractionState" : "stale", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dL" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dL" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dL" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dL" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dL" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dL" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dL" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dL" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dL" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v %2$@" + "value" : "mg/dL" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dL" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dl" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dL" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dL" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ против %2$@" + "value" : "мг/дл" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v %2$@" + "value" : "mg/dL" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dl" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dL" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dL" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ v%2$@" + "value" : "mg/dL" } } } }, - "Color" : { + "mmol/L" : { + "comment" : "The short unit display string for millimoles of glucose per liter", + "extractionState" : "stale", "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" + } + }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Farbe" + "value" : "mmol/L" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Couleur" + "value" : "mmol/L" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Farge" + "value" : "mmol/L" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Kleur" + "value" : "mmol/L" } }, - "ro" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Culoare" + "value" : "mmol/L" } }, - "zh-Hans" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "颜色" + "value" : "mmol/L" } - } - } - }, - "Date" : { - "localizations" : { - "de" : { + }, + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Datum" + "value" : "mmol/L" } }, - "fr" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Date" + "value" : "mmol/L" } }, - "nb" : { + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "mmol/L" + } + }, + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Dato" + "value" : "mmol/L" } }, - "nl" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Datum" + "value" : "mmol/L" } }, - "ro" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Dată" + "value" : "mmol/L" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "日期" + "value" : "mmol/L" } } } }, - "dB" : { - "comment" : "The short unit display string for decibles", + "No reading" : { + "comment" : "Shown on the Now screen in place of the glucose value when there is no recent CGM reading", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "لا توجد قراءة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Žádná hodnota" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Ingen måling" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Kein Wert" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Sin lectura" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Ei lukemaa" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Aucune mesure" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "אין קריאה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nincs érték" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Nessuna lettura" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "測定値なし" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Ingen måling" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Geen waarde" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Brak odczytu" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Sem leitura" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Nicio citire" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "дБ" + "value" : "Нет показаний" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Žiadna hodnota" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Inget värde" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Okuma yok" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Немає показників" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "Không có chỉ số" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "dB" + "value" : "无读数" } } } }, - "End" : { + "Open loop · %1$@" : { + "comment" : "Status pill on the Now screen: closed loop is off (Loop recommends only) and Loop last ran this long ago. (1: duration, e.g. 3m)", "localizations" : { - "de" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Ende" + "value" : "حلقة مفتوحة · %1$@" } }, - "fr" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Fin" + "value" : "Otevřená smyčka · %1$@" } }, - "nb" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Avslutt" + "value" : "Åbent Loop · %1$@" } }, - "nl" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Stop" + "value" : "Open Loop · %1$@" } }, - "ro" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Sfârșit" + "value" : "Circuito abierto · %1$@" } }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "结束" - } - } - } - }, - "Eventual" : { - "localizations" : { - "da" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Eventuel" + "value" : "Avoin säätö · %1$@" } }, - "de" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Eventuell" + "value" : "Boucle ouverte · %1$@" } }, - "es" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Eventual" + "value" : "Open Loop · %1$@" } }, - "fr" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Éventuel" + "value" : "Nyitott hurok · %1$@" } }, - "he" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "סופי" + "value" : "Loop aperto · %1$@" } }, - "it" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Eventuale" + "value" : "オープンループ · %1$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Eventuell" + "value" : "Åpen Loop · %1$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Uiteindelijk" + "value" : "Open loop · %1$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Możliwy" + "value" : "Pętla otwarta · %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ciclo aberto · %1$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Eventual" + "value" : "Buclă deschisă · %1$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "В конечном итоге" + "value" : "Открытый цикл · %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otvorená slučka · %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Öppen loop · %1$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Nihai" + "value" : "Açık döngü · %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Відкритий цикл · %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vòng lặp mở · %1$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "最终" + "value" : "开环 · %1$@" } } } }, - "g" : { - "comment" : "The short unit display string for grams", - "extractionState" : "stale", + "Open loop · not run yet" : { + "comment" : "Status pill on the Now screen: closed loop is off and Loop has never completed", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "حلقة مفتوحة · لم يعمل بعد" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otevřená smyčka · zatím neproběhla" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Åbent Loop · ikke kørt endnu" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Open Loop · noch nicht gelaufen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Circuito abierto · aún no se ha ejecutado" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Avoin säätö · ei vielä ajettu" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Boucle ouverte · pas encore exécuté" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Open Loop · טרם רץ" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nyitott hurok · még nem futott" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Loop aperto · non ancora eseguito" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "オープンループ · 未実行" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Åpen Loop · ikke kjørt ennå" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Open loop · nog niet gedraaid" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Pętla otwarta · jeszcze nie działała" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Ciclo aberto · ainda não executou" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Buclă deschisă · nu a rulat încă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "г" + "value" : "Открытый цикл · ещё не запускался" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Otvorená slučka · ešte neprebehla" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Öppen loop · inte körd än" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "gr" + "value" : "Açık döngü · henüz çalışmadı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Відкритий цикл · ще не запускався" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "g" + "value" : "Vòng lặp mở · chưa chạy" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "克" + "value" : "开环 · 尚未运行" } } } }, - "Glucose level" : { + "Open the app to update the widget" : { + "comment" : "No comment", "localizations" : { "de" : { "stringUnit" : { "state" : "translated", - "value" : "Blutzuckerspiegel" + "value" : "Öffne die App, um das Widget zu aktualisieren" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Niveau de glycémie" + "value" : "Ouvrez l'application pour mettre à jour le widget" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Glukosenivå" + "value" : "Åpne appen for å oppdatere widgeten" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosewaarde" + "value" : "Open de app om de widget bij te werken" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Nivelul glicemiei" + "value" : "Deschideți aplicația pentru a actualiza widgetul" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "血糖水平" + "value" : "打开应用以更新小部件" } } } }, - "Glucose range" : { + "Pre-meal" : { + "comment" : "Menu item under Presets on the Now screen that turns on the pre-meal target", "localizations" : { - "de" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "Zielbereich" + "value" : "Pre-Meal" } }, - "fr" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Plage de glycémie" + "value" : "Před jídlem" } }, - "nb" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "Glukoseområde" + "value" : "Før-måltid" } }, - "nl" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "Glucosebereik" + "value" : "Vor dem Essen" } }, - "ro" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "Intervalul glicemic" + "value" : "Pre-comida" } }, - "zh-Hans" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "血糖范围" + "value" : "Ennen ateriaa" } - } - } - }, - "Loop Status Widget" : { - "localizations" : { - "da" : { + }, + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Widget til loop-status" + "value" : "Pré-repas" } }, - "de" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "Loop Status Widget" + "value" : "Pre-Meal" } }, - "es" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Widget de Estado de Loop" + "value" : "Pre-Meal" } }, - "fr" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "Widget d'état de Loop" + "value" : "Pre-pasto" } }, - "it" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "Widget di stato del ciclo" + "value" : "食前" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Loop Status Widget" + "value" : "Pre-måltid" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Loop" + "value" : "Voorafgaand aan maaltijd" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Widżet Stanu Pętli" + "value" : "Przed posiłkiem" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pré-refeição" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Widget de stare Loop" + "value" : "Înainte de masă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Виджет состояния петли" + "value" : "До еды" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pred jedlom" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Före måltid" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Döngü Durumu Widget'ı" + "value" : "Yemek öncesi" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Перед їжою" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Trước bữa ăn" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "Loop 状态小组件" + "value" : "餐前" } } } }, - "mg/dL" : { - "comment" : "The short unit display string for milligrams of glucose per decilter", - "extractionState" : "stale", + "Pre-meal on" : { + "comment" : "Presets button title on the Now screen while the pre-meal target is on", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Pre-Meal مفعّل" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Před jídlem zapnuto" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Før-måltid til" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Vor dem Essen an" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Pre-comida activado" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Ennen ateriaa päällä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Pré-repas activé" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pre-Meal פעיל" } }, - "he" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Pre-Meal bekapcsolva" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Pre-pasto attivo" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "食前 オン" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Pre-måltid på" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Voorafgaand aan maaltijd aan" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dl" + "value" : "Przed posiłkiem wł." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Pré-refeição ligado" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Înainte de masă activ" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "мг/дл" + "value" : "До еды вкл." } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Pred jedlom zapnuté" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dl" + "value" : "Före måltid på" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Yemek öncesi açık" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Перед їжою увімк." } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "Trước bữa ăn đang bật" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "mg/dL" + "value" : "餐前已开启" } } } }, - "mmol/L" : { - "comment" : "The short unit display string for millimoles of glucose per liter", - "extractionState" : "stale", + "Preset override" : { "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "mmol/L" - } - }, - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "mmol/L" - } - }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Voreinstellung" } }, - "es" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Annulation du préréglage" } }, - "fi" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Forhåndsinnstilt overstyring" } }, - "fr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Override-programma" } }, - "he" : { + "ro" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Suprascriere presetată" } }, - "it" : { + "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "预设覆盖" } - }, - "ja" : { + } + } + }, + "Presets" : { + "comment" : "Button on the Now screen that opens override presets (and pre-meal); also its VoiceOver label and menu item", + "localizations" : { + "ar" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "الإعدادات المسبقة" } }, - "nb" : { + "cs" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Předvolby" } }, - "nl" : { + "da" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Forudindstillinger" } }, - "pl" : { + "de" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Voreinstellungen" } }, - "pt-BR" : { + "es" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Ajustes preestablecidos" } }, - "ro" : { + "fi" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Esiasetukset" } }, - "ru" : { + "fr" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Préréglages" } }, - "sk" : { + "he" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "הגדרות מראש" } }, - "sv" : { + "hu" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Előbeállítások" } }, - "tr" : { + "it" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "Preimpostazioni" } }, - "vi" : { + "ja" : { "stringUnit" : { "state" : "translated", - "value" : "mmol/L" + "value" : "プリセット" } }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "mmol/L" - } - } - } - }, - "Open the app to update the widget" : { - "comment" : "No comment", - "localizations" : { - "de" : { + "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Öffne die App, um das Widget zu aktualisieren" + "value" : "Forhåndsinnstillinger" } }, - "fr" : { + "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Ouvrez l'application pour mettre à jour le widget" + "value" : "Programma's" } }, - "nb" : { + "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Åpne appen for å oppdatere widgeten" + "value" : "Ustawienia wstępne" } }, - "nl" : { + "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Open de app om de widget bij te werken" + "value" : "Predefinições" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Deschideți aplicația pentru a actualiza widgetul" + "value" : "Presetări" } }, - "zh-Hans" : { + "ru" : { "stringUnit" : { "state" : "translated", - "value" : "打开应用以更新小部件" + "value" : "Пресеты" } - } - } - }, - "Preset override" : { - "localizations" : { - "de" : { + }, + "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Voreinstellung" + "value" : "Predvoľby" } }, - "fr" : { + "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Annulation du préréglage" + "value" : "Förinställningar" } }, - "nb" : { + "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Forhåndsinnstilt overstyring" + "value" : "Ön Ayarlar" } }, - "nl" : { + "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Override-programma" + "value" : "Пресети" } }, - "ro" : { + "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Suprascriere presetată" + "value" : "Cài đặt sẵn" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "预设覆盖" + "value" : "预设" } } } @@ -1966,6 +5112,149 @@ } } } + }, + "Urgent low" : { + "comment" : "Pill under the glucose value on the Now screen when glucose is below 54 mg/dL (3.0 mmol/L)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "منخفض عاجل" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kriticky nízká" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Akut lav" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dringend niedrig" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baja urgente" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vaarallisen matala" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basse urgente" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "נמוך דחוף" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sürgősen alacsony" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bassa urgente" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "緊急低値" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Akutt lav" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Urgent laag" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Krytycznie niska" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Baixa urgente" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Urgent scăzută" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Опасно низкая" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kriticky nízka" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Akut lågt" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Acil düşük" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Небезпечно низька" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thấp khẩn cấp" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "紧急低血糖" + } + } + } } }, "version" : "1.1" diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/accent-ink.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/accent-ink.colorset/Contents.json new file mode 100644 index 0000000000..af109ce19a --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/accent-ink.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.000", + "green": "0.384", + "blue": "0.800", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.039", + "green": "0.518", + "blue": "1.000", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/accent.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/accent.colorset/Contents.json new file mode 100644 index 0000000000..9b711cb95b --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/accent.colorset/Contents.json @@ -0,0 +1,15 @@ +{ + "colors" : [ + { + "color" : { + "platform" : "ios", + "reference" : "systemBlueColor" + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/agp-inner.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/agp-inner.colorset/Contents.json new file mode 100644 index 0000000000..2ddc0f5f90 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/agp-inner.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.000", + "green": "0.690", + "blue": "1.000", + "alpha": "0.340" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.388", + "green": "0.729", + "blue": "1.000", + "alpha": "0.380" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/agp-outer.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/agp-outer.colorset/Contents.json new file mode 100644 index 0000000000..270771d475 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/agp-outer.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.000", + "green": "0.690", + "blue": "1.000", + "alpha": "0.160" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.388", + "green": "0.729", + "blue": "1.000", + "alpha": "0.180" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json new file mode 100644 index 0000000000..9f06dc63c3 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.878", + "green": "0.471", + "blue": "0.000", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.624", + "blue": "0.039", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/basal.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/basal.colorset/Contents.json new file mode 100644 index 0000000000..5921aa2401 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/basal.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.851", + "blue": "0.639", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.420", + "green": "0.259", + "blue": "0.063", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/carbs-ink.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/carbs-ink.colorset/Contents.json new file mode 100644 index 0000000000..df21da3860 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/carbs-ink.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.184", + "green": "0.490", + "blue": "0.086", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.349", + "green": "0.894", + "blue": "0.200", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/carbs.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/carbs.colorset/Contents.json new file mode 100644 index 0000000000..5d023a96b0 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/carbs.colorset/Contents.json @@ -0,0 +1,68 @@ +{ + "colors" : [ + { + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.220", + "green" : "0.855", + "red" : "0.388" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "color" : { + "color-space" : "srgb", + "components" : { + "alpha" : "1.000", + "blue" : "0.200", + "green" : "0.894", + "red" : "0.349" + } + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "contrast", + "value" : "high" + } + ], + "color" : { + "platform" : "ios", + "reference" : "systemGreenColor" + }, + "idiom" : "universal" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + }, + { + "appearance" : "contrast", + "value" : "high" + } + ], + "color" : { + "platform" : "ios", + "reference" : "systemGreenColor" + }, + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/control-thumb.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/control-thumb.colorset/Contents.json new file mode 100644 index 0000000000..34b15edebe --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/control-thumb.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "1.000", + "blue": "1.000", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.388", + "green": "0.388", + "blue": "0.400", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/critical-ink.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/critical-ink.colorset/Contents.json new file mode 100644 index 0000000000..2f18c32cc1 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/critical-ink.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.769", + "green": "0.188", + "blue": "0.169", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.412", + "blue": "0.380", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/glucose-ink.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/glucose-ink.colorset/Contents.json new file mode 100644 index 0000000000..b704d8af81 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/glucose-ink.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.000", + "green": "0.439", + "blue": "0.722", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.388", + "green": "0.729", + "blue": "1.000", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/ink-muted.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/ink-muted.colorset/Contents.json new file mode 100644 index 0000000000..6eda3190f3 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/ink-muted.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.424", + "green": "0.424", + "blue": "0.439", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.682", + "green": "0.682", + "blue": "0.698", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json new file mode 100644 index 0000000000..d9eb09683b --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.639", + "green": "0.322", + "blue": "0.000", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.624", + "blue": "0.039", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/range-high.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/range-high.colorset/Contents.json new file mode 100644 index 0000000000..28f578bf71 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/range-high.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.949", + "green": "0.718", + "blue": "0.020", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.839", + "blue": "0.039", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/range-in.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/range-in.colorset/Contents.json new file mode 100644 index 0000000000..3d0f452a75 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/range-in.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.184", + "green": "0.659", + "blue": "0.310", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.196", + "green": "0.843", + "blue": "0.294", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/range-low.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/range-low.colorset/Contents.json new file mode 100644 index 0000000000..1349d6a59e --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/range-low.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.898", + "green": "0.282", + "blue": "0.302", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.624", + "blue": "0.604", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/range-very-high.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/range-very-high.colorset/Contents.json new file mode 100644 index 0000000000..b2851438d1 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/range-very-high.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.541", + "green": "0.380", + "blue": "0.000", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.788", + "green": "0.541", + "blue": "0.000", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/range-very-low.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/range-very-low.colorset/Contents.json new file mode 100644 index 0000000000..46e9e70555 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/range-very-low.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.608", + "green": "0.110", + "blue": "0.122", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.271", + "blue": "0.227", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/status-critical.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/status-critical.colorset/Contents.json new file mode 100644 index 0000000000..9c67fd2db6 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/status-critical.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.231", + "blue": "0.188", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.271", + "blue": "0.227", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/target-band.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/target-band.colorset/Contents.json new file mode 100644 index 0000000000..6ff45863c5 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/target-band.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.000", + "green": "0.690", + "blue": "1.000", + "alpha": "0.140" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "0.388", + "green": "0.729", + "blue": "1.000", + "alpha": "0.180" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/Live Activity/GlucoseLiveActivityConfiguration.swift b/Loop Widget Extension/Live Activity/GlucoseLiveActivityConfiguration.swift index 314d0de950..8cd16518f7 100644 --- a/Loop Widget Extension/Live Activity/GlucoseLiveActivityConfiguration.swift +++ b/Loop Widget Extension/Live Activity/GlucoseLiveActivityConfiguration.swift @@ -46,6 +46,8 @@ struct GlucoseLiveActivityConfiguration: Widget { // banner on the Home Screen of devices that don't support the Dynamic Island. if #available(iOS 18.0, *) { AdaptiveLockScreenView(context: context) + } else if WidgetDesign.useRedesign { + RedesignLiveActivity.lockScreen(context) } else { fullLockScreenView(context: context) } @@ -57,7 +59,13 @@ struct GlucoseLiveActivityConfiguration: Widget { @Environment(\.activityFamily) private var activityFamily var body: some View { - if activityFamily == .small { + if WidgetDesign.useRedesign { + if activityFamily == .small { + RedesignLiveActivity.smallFamily(context) + } else { + RedesignLiveActivity.lockScreen(context) + } + } else if activityFamily == .small { // WatchOS & CarPlay supplemental view - show only bottom row compactLockScreenView(context: context) } else { @@ -262,6 +270,9 @@ struct GlucoseLiveActivityConfiguration: Widget { private func dynamicIslandView( context: ActivityViewContext ) -> DynamicIsland { + if WidgetDesign.useRedesign { + return RedesignLiveActivity.dynamicIsland(context) + } let glucoseFormatter = NumberFormatter.glucoseFormatter( for: context.state.isMmol ? LoopUnit.millimolesPerLiter : LoopUnit.milligramsPerDeciliter diff --git a/Loop Widget Extension/Redesign/RedesignLiveActivity.swift b/Loop Widget Extension/Redesign/RedesignLiveActivity.swift new file mode 100644 index 0000000000..2afea29db3 --- /dev/null +++ b/Loop Widget Extension/Redesign/RedesignLiveActivity.swift @@ -0,0 +1,373 @@ +// +// RedesignLiveActivity.swift +// Loop Widget Extension +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import ActivityKit +import Charts +import HealthKit +import LoopCore +import LoopKit +import LoopAlgorithm +import SwiftUI +import WidgetKit + +/// The Live Activity in the redesign's style. It reads the same `GlucoseActivityAttributes` as the +/// classic one, so the Live Activity settings (chart, bottom row, limits) keep working. +@available(iOS 16.2, *) +enum RedesignLiveActivity { + typealias Context = ActivityViewContext + private typealias P = LoopDesign.Palette + + // MARK: - Shared pieces + + private static func unitName(_ context: Context) -> String { + (context.state.isMmol ? LoopUnit.millimolesPerLiter : LoopUnit.milligramsPerDeciliter).localizedShortUnitString + } + + private static func format(_ value: Double, _ context: Context) -> String { + NumberFormatter.glucoseFormatter(for: context.state.isMmol ? .millimolesPerLiter : .milligramsPerDeciliter).string(from: value) ?? "–" + } + + static func range(_ context: Context) -> WidgetDesign.Range? { + WidgetDesign.Range(context.state.currentGlucose, isMmol: context.state.isMmol) + } + + static func status(_ context: Context) -> WidgetDesign.LoopStatus { + WidgetDesign.LoopStatus(closedLoop: context.state.isCloseLoop, lastCompleted: context.state.lastCompleted, now: context.state.date) + } + + /// Low and high in words, otherwise the unit and the change, as under the Now screen's number. + @ViewBuilder + private static func detail(_ context: Context) -> some View { + if let range = range(context) { + HStack(spacing: LoopDesign.Space.s1) { + Circle().fill(range.color).frame(width: 7, height: 7) + Text(range.text) + } + .font(.caption.weight(.semibold)) + .foregroundStyle(P.ink) + } else { + Text(WidgetDesign.readingDetail(unit: unitName(context), delta: context.state.delta)) + .font(.caption) + .foregroundStyle(P.inkMuted) + .lineLimit(1) + .minimumScaleFactor(0.8) + } + } + + private static func eventually(_ context: Context) -> String? { + context.state.eventualGlucose.map { + String(format: NSLocalizedString("Eventually %1$@ %2$@", comment: "Header detail of the Next 3 hours card on the Now screen: the glucose Loop predicts at the end of its prediction. (1: glucose value; 2: glucose unit)"), format($0, context), unitName(context)) + } + } + + private static func hero(_ context: Context, size: CGFloat) -> some View { + VStack(alignment: .leading, spacing: 0) { + WidgetGlucoseValue(value: format(context.state.currentGlucose, context), trend: context.state.trendType, size: size) + detail(context) + } + } + + // MARK: - Lock Screen + + static func lockScreen(_ context: Context) -> some View { + VStack(alignment: .leading, spacing: LoopDesign.Space.s1) { + HStack(alignment: .top) { + hero(context, size: context.attributes.mode == .large ? 30 : 38) + Spacer(minLength: LoopDesign.Space.s2) + VStack(alignment: .trailing, spacing: 4) { + WidgetStatusLine(status: status(context)) + if let eventually = eventually(context) { + Text(eventually) + .font(.caption) + .foregroundStyle(P.inkMuted) + .lineLimit(1) + .minimumScaleFactor(0.8) + } + } + } + if context.attributes.mode == .large { + RedesignActivityChart(context: context) + .frame(height: 54) + } + let tiles = tileItems(context) + if !tiles.isEmpty { + HStack(spacing: 6) { + ForEach(tiles, id: \.self) { item in + tile(item, context, inline: context.attributes.mode == .large) + } + } + .padding(.top, 2) + } + } + .padding(.horizontal, 14) + .padding(.vertical, 10) + .overlay { + if context.state.ended { + Text(NSLocalizedString("Open the app to update the widget", comment: "No comment")) + .font(.subheadline.weight(.semibold)) + .foregroundStyle(P.ink) + .frame(maxWidth: .infinity, maxHeight: .infinity) + .background(.ultraThinMaterial) + } + } + .privacySensitive() + .activityBackgroundTint(P.surfaceRaised.opacity(0.92)) + .activitySystemActionForegroundColor(P.ink) + } + + /// The watch and CarPlay size: the number, the change and the prediction. + static func smallFamily(_ context: Context) -> some View { + HStack(alignment: .center) { + hero(context, size: 26) + Spacer(minLength: LoopDesign.Space.s1) + VStack(alignment: .trailing, spacing: 2) { + Circle().fill(status(context).color).frame(width: 8, height: 8) + if let eventual = context.state.eventualGlucose { + Text(format(eventual, context)) + .font(.system(.headline, design: .rounded).weight(.semibold).monospacedDigit()) + .foregroundStyle(P.ink) + Text(NSLocalizedString("Eventually", comment: "Short label above the glucose Loop predicts at the end of its prediction, in a small tile on the widget and Live Activity. Keep it to one short word, such as 'Forecast'.")) + .font(.caption2) + .foregroundStyle(P.inkMuted) + } + } + } + .padding(LoopDesign.Space.s3) + .privacySensitive() + } + + /// The configured bottom row, less the reading and its change, which the hero already shows. + private static func tileItems(_ context: Context) -> [BottomRowItem] { + context.state.bottomRow.filter { item in + switch item.type { + case .currentBg: return false + case .generic: return item.value != context.state.delta || item.unit != "" + case .basal: return true + } + } + } + + @ViewBuilder + private static func tile(_ item: BottomRowItem, _ context: Context, inline: Bool) -> some View { + switch item.type { + case .basal: + WidgetTile(label: NSLocalizedString("Basal", comment: "Label of a tile showing the current basal rate (Now screen) or the day's basal insulin total (Today so far totals)"), inline: inline) { + Text(String(format: NSLocalizedString("%1$@ U/h", comment: "Insulin rate in units per hour. (1: number)"), WidgetDesign.signed(item.rate, decimals: 2))) + .foregroundStyle(P.insulinInk) + } + case .generic, .currentBg: + WidgetTile(label: item.label, inline: inline) { + switch item.unit { + case "U": + Text(String(format: NSLocalizedString("%1$@ U", comment: "Insulin amount in units. (1: number)"), item.value)) + .foregroundStyle(P.insulinInk) + case "g": + Text(String(format: NSLocalizedString("%1$@ g", comment: "Amount of carbohydrate in grams. (1: number)"), item.value)) + .foregroundStyle(P.carbsInk) + default: + Text(item.value) + .foregroundStyle(P.ink) + } + } + } + } + + // MARK: - Dynamic Island + + static func dynamicIsland(_ context: Context) -> DynamicIsland { + DynamicIsland { + DynamicIslandExpandedRegion(.leading) { + hero(context, size: 34) + .padding(.leading, LoopDesign.Space.s1) + .dynamicIsland(verticalPlacement: .belowIfTooWide) + } + // The trailing region is narrow, so it holds only the prediction, labelled like the widget's tile; + // Loop's status gets the full width above the chart, where long translations still fit. + DynamicIslandExpandedRegion(.trailing) { + if let eventual = context.state.eventualGlucose { + VStack(alignment: .trailing, spacing: 0) { + Text(NSLocalizedString("Eventually", comment: "Short label above the glucose Loop predicts at the end of its prediction, in a small tile on the widget and Live Activity. Keep it to one short word, such as 'Forecast'.")) + .font(.caption2) + .foregroundStyle(P.inkMuted) + .lineLimit(1) + .minimumScaleFactor(0.7) + Text(format(eventual, context)) + .font(.system(.title3, design: .rounded).weight(.semibold).monospacedDigit()) + .foregroundStyle(P.ink) + } + .padding(.trailing, LoopDesign.Space.s1) + .padding(.top, LoopDesign.Space.s1) + } + } + DynamicIslandExpandedRegion(.bottom) { + VStack(alignment: .leading, spacing: LoopDesign.Space.s1) { + WidgetStatusLine(status: status(context), font: .caption.weight(.medium)) + RedesignActivityChart(context: context) + .frame(height: 46) + } + .padding(.horizontal, LoopDesign.Space.s1) + } + } compactLeading: { + HStack(spacing: 3) { + Text(format(context.state.currentGlucose, context)) + .font(.system(.body, design: .rounded).weight(.semibold).monospacedDigit()) + .foregroundStyle(.white) + .minimumScaleFactor(0.6) + if let trend = context.state.trendType { + Image(systemName: WidgetDesign.trendSymbol(trend)) + .font(.system(size: 11, weight: .bold)) + .foregroundStyle(P.glucose) + } + } + } compactTrailing: { + HStack(spacing: 4) { + if let range = range(context) { + Text(range.text) + .font(.caption.weight(.semibold)) + .foregroundStyle(range.color) + } else { + Text(context.state.delta) + .font(.system(.caption, design: .rounded).weight(.medium).monospacedDigit()) + .foregroundStyle(Color(white: 0.75)) + } + Circle().fill(status(context).color).frame(width: 6, height: 6) + } + .minimumScaleFactor(0.6) + } minimal: { + Text(format(context.state.currentGlucose, context)) + .font(.system(.caption, design: .rounded).weight(.semibold).monospacedDigit()) + .foregroundStyle(.white) + .minimumScaleFactor(0.5) + } + // The island's outline says low or high, so the number itself stays white. + .keylineTint(range(context)?.color ?? P.glucose) + } +} + +// MARK: - Chart + +/// The Now screen's prediction chart, sized for the Live Activity: blue readings, Loop's dashed +/// prediction and the target band. +@available(iOS 16.2, *) +struct RedesignActivityChart: View { + let context: ActivityViewContext + private typealias P = LoopDesign.Palette + + private var lowerLimit: Double { + context.state.isMmol ? context.attributes.lowerLimitChartMmol : context.attributes.lowerLimitChartMg + } + + private var upperLimit: Double { + context.state.isMmol ? context.attributes.upperLimitChartMmol : context.attributes.upperLimitChartMg + } + + /// With "use limits" on, readings outside them take the Trends range colours; the rest stay blue. + private func color(_ value: Double) -> Color { + guard context.attributes.useLimits else { return P.glucose } + if value < lowerLimit { return P.rangeLow } + if value > upperLimit { return P.rangeHigh } + return P.glucose + } + + private var prediction: [(Date, Double)] { + guard context.attributes.addPredictiveLine, let start = context.state.predicatedStartDate else { return [] } + let interval = context.state.predicatedInterval ?? .minutes(5) + let end = start.addingTimeInterval(.hours(3)) + return context.state.predicatedGlucose.enumerated() + .map { (start.addingTimeInterval(interval * Double($0.offset)), $0.element) } + .filter { $0.0 <= end } + } + + private var domain: ClosedRange { + let marks = context.state.yAxisMarks + return (marks.first ?? 0)...(marks.last ?? 1) + } + + private func clamp(_ value: Double) -> Double { + min(max(value, domain.lowerBound), domain.upperBound) + } + + /// The readings Loop sent and its prediction, at least an hour ahead, as on the Now screen's chart. + private var window: ClosedRange { + let now = context.state.date + let start = min(context.state.glucoseSamples.first?.x ?? now.addingTimeInterval(.hours(-3)), now.addingTimeInterval(.hours(-1))) + let end = max(prediction.last?.0 ?? now, now.addingTimeInterval(.hours(1))) + return start...end + } + + var body: some View { + Chart { + ForEach(context.state.glucoseRanges.filter { $0.endDate > window.lowerBound && $0.startDate < window.upperBound }) { band in + RectangleMark(xStart: .value("Start", max(band.startDate, window.lowerBound)), xEnd: .value("End", min(band.endDate, window.upperBound)), + yStart: .value("Low", clamp(band.minValue)), yEnd: .value("High", clamp(max(band.maxValue, band.minValue + domainPadding)))) + .foregroundStyle(band.isOverride ? P.accent.opacity(0.25) : P.targetBand) + } + ForEach(Array(context.state.glucoseSamples.enumerated()), id: \.offset) { _, sample in + PointMark(x: .value("Time", sample.x), y: .value("Glucose", clamp(sample.y))) + .symbolSize(9) + .foregroundStyle(color(sample.y)) + } + ForEach(Array(prediction.enumerated()), id: \.offset) { _, point in + LineMark(x: .value("Time", point.0), y: .value("Predicted", clamp(point.1)), series: .value("Series", "prediction")) + .foregroundStyle(P.glucose) + .lineStyle(StrokeStyle(lineWidth: 1.5, dash: [4, 3])) + } + RuleMark(x: .value("Now", context.state.date)) + .foregroundStyle(P.inkMuted) + .lineStyle(StrokeStyle(lineWidth: 1, dash: [2, 3])) + } + .chartXScale(domain: window) + .chartYScale(domain: domain) + .chartYAxis { + AxisMarks(position: .leading, values: axisLabels) { _ in + AxisGridLine().foregroundStyle(P.grid) + AxisValueLabel().font(LoopDesign.Typeface.caption).foregroundStyle(P.inkMuted) + } + } + .chartXAxis { + AxisMarks(values: hourMarks) { _ in + AxisGridLine().foregroundStyle(P.grid) + AxisValueLabel(format: .dateTime.hour()).font(LoopDesign.Typeface.caption).foregroundStyle(P.inkMuted) + } + } + .chartLegend(.hidden) + .overlay(alignment: .topTrailing) { + if let preset = context.state.preset, preset.endDate > context.state.date { + Text(preset.title) + .font(.caption2.weight(.semibold)) + .foregroundStyle(P.ink) + .padding(.horizontal, 6) + .padding(.vertical, 2) + .background(P.accent.opacity(0.25), in: Capsule()) + } + } + .accessibilityHidden(true) + } + + /// Whole hours inside the window, kept clear of the edges so their labels aren't clipped. + private var hourMarks: [Date] { + let calendar = Calendar.current + guard var hour = calendar.dateInterval(of: .hour, for: window.lowerBound)?.end else { return [] } + var marks: [Date] = [] + while hour <= window.upperBound.addingTimeInterval(.minutes(-25)) { + if hour >= window.lowerBound.addingTimeInterval(.minutes(12)) { marks.append(hour) } + hour = hour.addingTimeInterval(.hours(1)) + } + return marks + } + + /// Every other value Loop suggests, so labels don't crowd a chart this short. + private var axisLabels: [Double] { + let marks = context.state.yAxisMarks + return marks.count > 3 ? marks.enumerated().filter { $0.offset % 2 == 0 }.map(\.element) : marks + } + + /// A single-value target is drawn as a thin band, so it stays visible. + private var domainPadding: Double { + (domain.upperBound - domain.lowerBound) / 60 + } +} diff --git a/Loop Widget Extension/Redesign/RedesignStatusWidgetView.swift b/Loop Widget Extension/Redesign/RedesignStatusWidgetView.swift new file mode 100644 index 0000000000..4b788f493d --- /dev/null +++ b/Loop Widget Extension/Redesign/RedesignStatusWidgetView.swift @@ -0,0 +1,173 @@ +// +// RedesignStatusWidgetView.swift +// Loop Widget Extension +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import HealthKit +import LoopCore +import LoopKit +import LoopAlgorithm +import SwiftUI +import WidgetKit + +/// The home screen widget in the redesign's style: the Now screen's hero on the left, and in the medium +/// size the Now screen's actions on the right. +struct RedesignStatusWidgetView: View { + @Environment(\.widgetFamily) private var family + @Environment(\.widgetRenderingMode) private var renderingMode + + let entry: StatusWidgetTimelimeEntry + + private typealias P = LoopDesign.Palette + + var body: some View { + HStack(spacing: LoopDesign.Space.s3) { + status + if family != .systemSmall { + actions + } + } + .padding(LoopDesign.Space.s3) + .frame(maxWidth: .infinity, maxHeight: .infinity) + .redesignWidgetBackground(renderingMode == .accented ? .clear : P.surfaceRaised) + } + + // MARK: - Status + + private var status: some View { + VStack(alignment: .leading, spacing: 0) { + WidgetStatusLine(status: WidgetDesign.LoopStatus(closedLoop: entry.closeLoop, lastCompleted: entry.lastLoopCompleted, now: entry.date)) + .opacity(entry.contextIsStale ? 0.6 : 1) + Spacer(minLength: LoopDesign.Space.s1) + reading + Spacer(minLength: LoopDesign.Space.s2) + footer + } + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .leading) + } + + @ViewBuilder + private var reading: some View { + if let glucose = entry.currentGlucose, let unit = entry.unit, !entry.glucoseIsStale { + let value = glucose.quantity.doubleValue(for: unit) + VStack(alignment: .leading, spacing: 0) { + WidgetGlucoseValue( + value: NumberFormatter.glucoseFormatter(for: unit).string(from: value) ?? "–", + trend: entry.sensor?.trendType, + size: 40 + ) + if let range = WidgetDesign.Range(mgdl: glucose.quantity.doubleValue(for: .milligramsPerDeciliter)) { + HStack(spacing: LoopDesign.Space.s1) { + Circle().fill(range.color).frame(width: 7, height: 7) + Text(range.text) + } + .font(.caption.weight(.semibold)) + .foregroundStyle(P.ink) + } else { + Text(WidgetDesign.readingDetail(unit: unit.localizedShortUnitString, delta: delta(in: unit))) + .font(.caption) + .foregroundStyle(P.inkMuted) + .lineLimit(1) + .minimumScaleFactor(0.8) + } + } + .opacity(entry.glucoseStatusIsStale ? 0.6 : 1) + } else { + VStack(alignment: .leading, spacing: 2) { + Text(NSLocalizedString("No reading", comment: "Shown on the Now screen in place of the glucose value when there is no recent CGM reading")) + .font(.system(size: 22, weight: .bold, design: .rounded)) + .foregroundStyle(P.inkMuted) + .lineLimit(1) + .minimumScaleFactor(0.7) + if let date = entry.currentGlucose?.startDate { + Text(String(format: NSLocalizedString("Last reading %1$@ ago", comment: "Shown on the Now screen under No reading when the latest CGM reading is too old. (1: duration, e.g. 25m)"), WidgetDesign.duration(entry.date.timeIntervalSince(date)))) + .font(.caption) + .foregroundStyle(P.inkMuted) + .lineLimit(1) + .minimumScaleFactor(0.8) + } + } + } + } + + private func delta(in unit: LoopUnit) -> String? { + guard let delta = entry.delta else { return nil } + return WidgetDesign.signed(delta.doubleValue(for: unit), decimals: unit == .millimolesPerLiter ? 1 : 0) + } + + /// A device problem replaces the tiles, as notices lead the Now screen. + @ViewBuilder + private var footer: some View { + if let notice = WidgetNotice.mostSerious([entry.pumpHighlight, entry.cgmHighlight]) { + notice + } else { + HStack(spacing: 6) { + WidgetTile(label: NSLocalizedString("COB", comment: "Abbreviation for carbs on board; label of a tile on the Now screen")) { + Text(entry.carbsOnBoard.map { String(format: NSLocalizedString("%1$@ g", comment: "Amount of carbohydrate in grams. (1: number)"), Self.number($0, decimals: 0)) } ?? "–") + .foregroundStyle(P.carbsInk) + } + WidgetTile(label: NSLocalizedString("Eventually", comment: "Short label above the glucose Loop predicts at the end of its prediction, in a small tile on the widget and Live Activity. Keep it to one short word, such as 'Forecast'.")) { + Text(eventual ?? "–") + .foregroundStyle(P.ink) + } + } + .opacity(entry.contextIsStale ? 0.6 : 1) + } + } + + private var eventual: String? { + guard let eventual = entry.eventualGlucose else { return nil } + return NumberFormatter.glucoseFormatter(for: eventual.unit).string(from: eventual.quantity.doubleValue(for: eventual.unit)) + } + + static func number(_ value: Double, decimals: Int) -> String { + value.formatted(.number.precision(.fractionLength(decimals))) + } + + // MARK: - Actions + + private var actions: some View { + VStack(spacing: 6) { + HStack(spacing: 6) { + action(.carbEntry(nil), NSLocalizedString("Add carbs", comment: "Button on the Now screen that opens carb entry"), "fork.knife", fill: P.carbs, ink: P.onFill) + action(.bolus, NSLocalizedString("Bolus", comment: "Button on the Now screen that opens the bolus screen"), "syringe.fill", fill: P.insulin, ink: P.onFill) + } + HStack(spacing: 6) { + if entry.preMealPresetAllowed { + action(.preMeal, + entry.preMealPresetActive + ? NSLocalizedString("Pre-meal on", comment: "Presets button title on the Now screen while the pre-meal target is on") + : NSLocalizedString("Pre-meal", comment: "Menu item under Presets on the Now screen that turns on the pre-meal target"), + "fork.knife.circle", + fill: entry.preMealPresetActive ? P.accent.opacity(0.18) : WidgetDesign.sunken, ink: P.ink) + } + action(.customPresets, NSLocalizedString("Presets", comment: "Button on the Now screen that opens override presets (and pre-meal); also its VoiceOver label and menu item"), "slider.horizontal.3", + fill: entry.customPresetActive ? P.accent.opacity(0.18) : WidgetDesign.sunken, ink: P.ink) + } + } + .frame(maxWidth: .infinity, maxHeight: .infinity) + } + + private func action(_ destination: Deeplink, _ title: String, _ symbol: String, fill: Color, ink: Color) -> some View { + Link(destination: URL(string: "loop://\(destination.host.rawValue)")!) { + VStack(alignment: .leading, spacing: 2) { + Image(systemName: symbol) + .font(.system(size: 15, weight: .semibold)) + Spacer(minLength: 0) + Text(title) + .font(.footnote.weight(.semibold)) + .lineLimit(2) + .minimumScaleFactor(0.7) + } + .foregroundStyle(renderingMode == .accented ? P.ink : ink) + .padding(LoopDesign.Space.s2) + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .leading) + .background( + renderingMode == .accented ? AnyShapeStyle(.white.opacity(0.12)) : AnyShapeStyle(fill), + in: RoundedRectangle(cornerRadius: LoopDesign.Radius.md, style: .continuous) + ) + } + } +} diff --git a/Loop Widget Extension/Redesign/WidgetDesign.swift b/Loop Widget Extension/Redesign/WidgetDesign.swift new file mode 100644 index 0000000000..c1106dbb4e --- /dev/null +++ b/Loop Widget Extension/Redesign/WidgetDesign.swift @@ -0,0 +1,250 @@ +// +// WidgetDesign.swift +// Loop Widget Extension +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import HealthKit +import LoopCore +import LoopKit +import SwiftUI + +/// The redesign's rules for the widget and Live Activity, so they read like the Now screen: the glucose +/// number is never tinted, low and high are said in words, and Loop's state is a dot with words. +enum WidgetDesign { + /// The tile fill. The app's sunken grey disappears against a dark home screen widget, so the + /// widget uses a translucent ink that reads on both light and dark. + static let sunken = LoopDesign.Palette.ink.opacity(0.08) + + /// Matches the app's interface setting, which the app mirrors into the app group. + static var useRedesign: Bool { UserDefaults.appGroup?.redesignEnabled ?? true } + + static func trendSymbol(_ trend: GlucoseTrend) -> String { + switch trend { + case .upUpUp: return "arrow.up.to.line" + case .upUp: return "chevron.up.2" + case .up: return "arrow.up" + case .flat: return "arrow.right" + case .down: return "arrow.down" + case .downDown: return "chevron.down.2" + case .downDownDown: return "arrow.down.to.line" + } + } + + enum Range { + case urgentLow, low, high + + /// The Now screen's thresholds: below 54 and 70 mg/dL, above 250 mg/dL. + init?(mgdl: Double) { + switch mgdl { + case ..<54: self = .urgentLow + case ..<70: self = .low + case 250.0.nextUp...: self = .high + default: return nil + } + } + + init?(_ value: Double, isMmol: Bool) { + let unit: HKUnit = isMmol ? .millimolesPerLiter : .milligramsPerDeciliter + self.init(mgdl: HKQuantity(unit: unit, doubleValue: value).doubleValue(for: .milligramsPerDeciliter)) + } + + var text: String { + switch self { + case .urgentLow: return NSLocalizedString("Urgent low", comment: "Pill under the glucose value on the Now screen when glucose is below 54 mg/dL (3.0 mmol/L)") + case .low: return NSLocalizedString("Low", comment: "Pill under the glucose value on the Now screen when glucose is below 70 mg/dL (3.9 mmol/L)") + case .high: return NSLocalizedString("High", comment: "Pill under the glucose value on the Now screen when glucose is above 250 mg/dL (13.9 mmol/L)") + } + } + + var color: Color { + self == .high ? LoopDesign.Palette.statusWarning : LoopDesign.Palette.statusCritical + } + } + + /// Loop's state as on the Now pill. The time of the last run stands in for the Now screen's age, + /// because a widget isn't redrawn every minute and an age would go stale on screen. + struct LoopStatus { + let text: String + let color: Color + + init(closedLoop: Bool, lastCompleted: Date?, now: Date = Date()) { + typealias P = LoopDesign.Palette + guard let lastCompleted else { + text = closedLoop + ? NSLocalizedString("Closed loop · not run yet", comment: "Status pill on the Now screen when closed loop is on but Loop hasn't completed a run yet") + : NSLocalizedString("Open loop · not run yet", comment: "Status pill on the Now screen when closed loop is off and Loop hasn't completed a run yet") + color = P.inkMuted + return + } + let age = max(0, now.timeIntervalSince(lastCompleted)) + if LoopCompletionFreshness(age: age) == .stale { + text = String(format: NSLocalizedString("Loop hasn't run for %1$@", comment: "Notice title on the Now screen when Loop hasn't completed a run recently. (1: duration, e.g. 25m)"), WidgetDesign.duration(age)) + color = P.statusWarning + return + } + let time = lastCompleted.formatted(date: .omitted, time: .shortened) + if closedLoop { + text = String(format: NSLocalizedString("Closed loop · %1$@", comment: "Status pill on the Now screen: closed loop is on. (1: how long ago Loop last ran, e.g. 2m)"), time) + color = P.statusAutomated + } else { + text = String(format: NSLocalizedString("Open loop · %1$@", comment: "Status pill on the Now screen: closed loop is off. (1: how long ago Loop last ran, e.g. 2m)"), time) + color = P.inkMuted + } + } + } + + static func duration(_ interval: TimeInterval) -> String { + let formatter = DateComponentsFormatter() + formatter.unitsStyle = .abbreviated + formatter.allowedUnits = interval >= 3600 ? [.hour, .minute] : [.minute] + formatter.maximumUnitCount = 2 + return formatter.string(from: interval) ?? "" + } + + /// "mmol/L · +0.2 in 5 min", as under the number on the Now screen. + static func readingDetail(unit: String, delta: String?) -> String { + guard let delta, !delta.isEmpty else { return unit } + return String(format: NSLocalizedString("%1$@ · %2$@ in 5 min", comment: "Under the glucose value on the Now screen: the glucose unit and how much glucose changed over 5 minutes. (1: glucose unit, e.g. mmol/L; 2: signed change, e.g. +0.3)"), unit, delta) + } + + static func signed(_ value: Double, decimals: Int) -> String { + let formatter = NumberFormatter() + formatter.numberStyle = .decimal + formatter.minimumFractionDigits = decimals + formatter.maximumFractionDigits = decimals + formatter.positivePrefix = formatter.plusSign + return formatter.string(from: NSNumber(value: value)) ?? "" + } +} + +/// The status dot with words, as on the Now screen's first pill. +struct WidgetStatusLine: View { + let status: WidgetDesign.LoopStatus + var font: Font = LoopDesign.Typeface.footnote.weight(.medium) + + var body: some View { + HStack(spacing: LoopDesign.Space.s1) { + Circle().fill(status.color).frame(width: 7, height: 7) + Text(status.text) + .lineLimit(1) + .minimumScaleFactor(0.75) + } + .font(font) + .foregroundStyle(LoopDesign.Palette.ink) + } +} + +/// The glucose number with its trend arrow, in the Now hero's type. +struct WidgetGlucoseValue: View { + let value: String + let trend: GlucoseTrend? + var size: CGFloat + + var body: some View { + HStack(alignment: .center, spacing: size * 0.12) { + Text(value) + .font(.system(size: size, weight: .bold, design: .rounded).monospacedDigit()) + .foregroundStyle(LoopDesign.Palette.ink) + .lineLimit(1) + .minimumScaleFactor(0.6) + .widgetAccentable() + if let trend { + Image(systemName: WidgetDesign.trendSymbol(trend)) + .font(.system(size: size * 0.45, weight: .bold)) + .foregroundStyle(LoopDesign.Palette.glucose) + .accessibilityLabel(trend.localizedDescription) + } + } + } +} + +/// A sunken tile with a label over a value, the widget-sized `ValueTile`. +struct WidgetTile: View { + @Environment(\.widgetRenderingMode) private var renderingMode + let label: String + /// Label and value on one line, where height is short (the Live Activity has 160 points). + var inline = false + @ViewBuilder var value: Value + + var body: some View { + let layout = inline + ? AnyLayout(HStackLayout(alignment: .firstTextBaseline, spacing: LoopDesign.Space.s1)) + : AnyLayout(VStackLayout(alignment: .leading, spacing: 1)) + layout { + Text(label) + .font(.caption2) + .foregroundStyle(LoopDesign.Palette.inkMuted) + .lineLimit(1) + .minimumScaleFactor(0.7) + value + .font(.system(.subheadline, design: .rounded).weight(.semibold).monospacedDigit()) + .lineLimit(1) + .minimumScaleFactor(0.6) + } + .padding(.horizontal, LoopDesign.Space.s2) + .padding(.vertical, inline ? 5 : 6) + .frame(maxWidth: .infinity, alignment: .leading) + .background( + renderingMode == .accented ? AnyShapeStyle(.white.opacity(0.12)) : AnyShapeStyle(WidgetDesign.sunken), + in: RoundedRectangle(cornerRadius: LoopDesign.Radius.md, style: .continuous) + ) + .accessibilityElement(children: .combine) + } +} + +/// A device problem said in words, as in the Now screen's notices. +struct WidgetNotice: View { + let message: String + let symbol: String + let state: DeviceStatusHighlightState + + /// Critical first, then warnings, then information such as a sensor warming up. + static func mostSerious(_ highlights: [DeviceStatusHighlightContext?]) -> WidgetNotice? { + let rank: (DeviceStatusHighlightState) -> Int = { $0 == .critical ? 0 : $0 == .warning ? 1 : 2 } + guard let highlight = highlights.compactMap({ $0 }).min(by: { rank($0.state) < rank($1.state) }) else { return nil } + return WidgetNotice(message: highlight.localizedMessage, symbol: highlight.imageName, state: highlight.state) + } + + private var tint: Color { + switch state { + case .critical: return LoopDesign.Palette.statusCritical + case .warning: return LoopDesign.Palette.statusWarning + default: return LoopDesign.Palette.glucose + } + } + + var body: some View { + HStack(alignment: .top, spacing: 6) { + Image(systemName: symbol) + .font(.caption.weight(.bold)) + .foregroundStyle(tint) + Text(message.replacingOccurrences(of: "\n", with: " ")) + .font(.caption.weight(.semibold)) + .foregroundStyle(LoopDesign.Palette.ink) + .lineLimit(2) + .minimumScaleFactor(0.8) + } + .padding(.horizontal, LoopDesign.Space.s2) + .padding(.vertical, 6) + .frame(maxWidth: .infinity, alignment: .leading) + .background( + tint.opacity(0.18), + in: RoundedRectangle(cornerRadius: LoopDesign.Radius.md, style: .continuous) + ) + .accessibilityElement(children: .combine) + } +} + +extension View { + /// The widget's container background, in the colour of a Now screen card. + @ViewBuilder + func redesignWidgetBackground(_ color: Color) -> some View { + if #available(iOSApplicationExtension 17.0, *) { + containerBackground(for: .widget) { color } + } else { + background { color } + } + } +} diff --git a/Loop Widget Extension/Timeline/StatusWidgetTimelimeEntry.swift b/Loop Widget Extension/Timeline/StatusWidgetTimelimeEntry.swift index 4fe09ba12f..43c064a0fe 100644 --- a/Loop Widget Extension/Timeline/StatusWidgetTimelimeEntry.swift +++ b/Loop Widget Extension/Timeline/StatusWidgetTimelimeEntry.swift @@ -29,7 +29,9 @@ struct StatusWidgetTimelimeEntry: TimelineEntry { let sensor: GlucoseDisplayableContext? let pumpHighlight: DeviceStatusHighlightContext? + var cgmHighlight: DeviceStatusHighlightContext? = nil let netBasal: NetBasalContext? + var carbsOnBoard: Double? = nil let eventualGlucose: GlucoseContext? diff --git a/Loop Widget Extension/Timeline/StatusWidgetTimelineProvider.swift b/Loop Widget Extension/Timeline/StatusWidgetTimelineProvider.swift index bfc46aeaa0..0d37f6efed 100644 --- a/Loop Widget Extension/Timeline/StatusWidgetTimelineProvider.swift +++ b/Loop Widget Extension/Timeline/StatusWidgetTimelineProvider.swift @@ -174,7 +174,9 @@ class StatusWidgetTimelineProvider: TimelineProvider { unit: unit, sensor: context.glucoseDisplay, pumpHighlight: context.pumpStatusHighlightContext, + cgmHighlight: context.cgmStatusHighlightContext, netBasal: netBasal, + carbsOnBoard: context.carbsOnBoard, eventualGlucose: eventualGlucose, preMealPresetAllowed: preMealPresetAllowed, preMealPresetActive: preMealPresetActive, diff --git a/Loop Widget Extension/Widgets/SystemStatusWidget.swift b/Loop Widget Extension/Widgets/SystemStatusWidget.swift index fbe95f5384..4d8b6a6959 100644 --- a/Loop Widget Extension/Widgets/SystemStatusWidget.swift +++ b/Loop Widget Extension/Widgets/SystemStatusWidget.swift @@ -93,7 +93,11 @@ struct SystemStatusWidget: Widget { var body: some WidgetConfiguration { StaticConfiguration(kind: kind, provider: StatusWidgetTimelineProvider()) { entry in - SystemStatusWidgetEntryView(entry: entry) + if WidgetDesign.useRedesign { + RedesignStatusWidgetView(entry: entry) + } else { + SystemStatusWidgetEntryView(entry: entry) + } } .configurationDisplayName("Loop Status Widget") .description("See your current blood glucose and insulin delivery.") diff --git a/Loop.xcodeproj/project.pbxproj b/Loop.xcodeproj/project.pbxproj index fe8b8e117e..839c26db61 100644 --- a/Loop.xcodeproj/project.pbxproj +++ b/Loop.xcodeproj/project.pbxproj @@ -50,6 +50,11 @@ 82F11F858069EDA2DF65D909 /* Loop/Resources/Sounds/voice_lgs_bryce.caf in Resources */ = {isa = PBXBuildFile; fileRef = FB860882201269230F24C96C /* Loop/Resources/Sounds/voice_lgs_bryce.caf */; }; 0996021E82CDE7DA7A3DD544 /* Loop/Resources/Sounds/voice_ulg_amy.caf in Resources */ = {isa = PBXBuildFile; fileRef = B08A706BF6BC6555453D3E56 /* Loop/Resources/Sounds/voice_ulg_amy.caf */; }; 8BAF071E821EAC3FB1B183B3 /* Loop/Resources/Sounds/voice_ulg_bryce.caf in Resources */ = {isa = PBXBuildFile; fileRef = 1F9BFD4BD97793AAE2407DCB /* Loop/Resources/Sounds/voice_ulg_bryce.caf */; }; + E6E73709263FB037F274B2A0 /* WidgetDesign.swift in Sources */ = {isa = PBXBuildFile; fileRef = FDE6FCD6C3CA3B693C8A349B /* WidgetDesign.swift */; }; + 8602ACA648AEEBBD4793ED49 /* RedesignStatusWidgetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E169C989E88148A68A4FEFB6 /* RedesignStatusWidgetView.swift */; }; + FE8902221761558AAEDFFE02 /* RedesignLiveActivity.swift in Sources */ = {isa = PBXBuildFile; fileRef = DB9792C496505ED5C2F302AB /* RedesignLiveActivity.swift */; }; + 4CC1A96D0600081991783423 /* LoopDesign.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BD3DDF41B598A8C4B5CEB92 /* LoopDesign.swift */; }; + 1419606428D9550400BA86E0 /* LoopKitUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 437AFEE6203688CF008C4892 /* LoopKitUI.framework */; }; 1419606928D9554E00BA86E0 /* LoopKitUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 437AFEE6203688CF008C4892 /* LoopKitUI.framework */; }; 1419606A28D955BC00BA86E0 /* MockKitUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C101947127DD473C004E7EB8 /* MockKitUI.framework */; }; 142CB7592A60BF2E0075748A /* EditMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 142CB7582A60BF2E0075748A /* EditMode.swift */; }; @@ -869,6 +874,9 @@ /* Begin PBXFileReference section */ 0FC34B523FE5A50C920506D5 /* Loop/Resources/Sounds/alarm.caf */ = {isa = PBXFileReference; lastKnownFileType = file; path = Loop/Resources/Sounds/alarm.caf; sourceTree = SOURCE_ROOT; }; + FDE6FCD6C3CA3B693C8A349B /* WidgetDesign.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WidgetDesign.swift; sourceTree = ""; }; + E169C989E88148A68A4FEFB6 /* RedesignStatusWidgetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RedesignStatusWidgetView.swift; sourceTree = ""; }; + DB9792C496505ED5C2F302AB /* RedesignLiveActivity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RedesignLiveActivity.swift; sourceTree = ""; }; 142CB7582A60BF2E0075748A /* EditMode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EditMode.swift; sourceTree = ""; }; 142CB75A2A60BFC30075748A /* FavoriteFoodsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FavoriteFoodsView.swift; sourceTree = ""; }; 1452F4A82A851C9400F8B9E4 /* FavoriteFoodAddEditViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FavoriteFoodAddEditViewModel.swift; sourceTree = ""; }; @@ -1702,9 +1710,20 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 17D23E8E964F381FCC67C938 /* Redesign */ = { + isa = PBXGroup; + children = ( + FDE6FCD6C3CA3B693C8A349B /* WidgetDesign.swift */, + E169C989E88148A68A4FEFB6 /* RedesignStatusWidgetView.swift */, + DB9792C496505ED5C2F302AB /* RedesignLiveActivity.swift */, + ); + path = Redesign; + sourceTree = ""; + }; 14B1736128AED9EC006CCD7C /* Loop Widget Extension */ = { isa = PBXGroup; children = ( + 17D23E8E964F381FCC67C938 /* Redesign */, 147EFE8D2A8BCC5500272438 /* DefaultAssets.xcassets */, 147EFE8F2A8BCD8000272438 /* DerivedAssets.xcassets */, 147EFE912A8BCD8A00272438 /* DerivedAssetsBase.xcassets */, @@ -3632,6 +3651,10 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + E6E73709263FB037F274B2A0 /* WidgetDesign.swift in Sources */, + 8602ACA648AEEBBD4793ED49 /* RedesignStatusWidgetView.swift in Sources */, + FE8902221761558AAEDFFE02 /* RedesignLiveActivity.swift in Sources */, + 4CC1A96D0600081991783423 /* LoopDesign.swift in Sources */, 14B1738128AEDC70006CCD7C /* StatusExtensionContext.swift in Sources */, 1455ACA92C66665D004F44F2 /* StateColorPalette.swift in Sources */, 14B1737628AEDC6C006CCD7C /* HKUnit.swift in Sources */, diff --git a/Loop/Localizable.xcstrings b/Loop/Localizable.xcstrings index eac14043fc..e00259ff2d 100644 --- a/Loop/Localizable.xcstrings +++ b/Loop/Localizable.xcstrings @@ -1988,7 +1988,7 @@ "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ · %2$@ خلال 5 دقائق" + "value" : "%1$@ · %2$@ خلال ٥ دقائق" } }, "cs" : { diff --git a/Loop/Managers/LoopAppManager.swift b/Loop/Managers/LoopAppManager.swift index a88152d720..b233c41fc6 100644 --- a/Loop/Managers/LoopAppManager.swift +++ b/Loop/Managers/LoopAppManager.swift @@ -684,6 +684,7 @@ class LoopAppManager: NSObject { .edgesIgnoringSafeArea(.top) ) + LoopInterfacePreference.syncToExtensions() if LoopInterfacePreference.useRedesign { let rootNavigationController = RootNavigationController() rootNavigationController.setViewControllers([statusScreen], animated: false) diff --git a/Loop/Redesign/MainTabBarController.swift b/Loop/Redesign/MainTabBarController.swift index ee82791af4..3765b8d2a7 100644 --- a/Loop/Redesign/MainTabBarController.swift +++ b/Loop/Redesign/MainTabBarController.swift @@ -7,6 +7,8 @@ import UIKit import SwiftUI +import WidgetKit +import LoopCore /// Whether Loop shows the redesigned interface (tabs: Now, Trends, Logbook, Settings) or the classic status screen. enum LoopInterfacePreference { @@ -19,9 +21,19 @@ enum LoopInterfacePreference { set { guard newValue != useRedesign else { return } UserDefaults.standard.set(newValue, forKey: key) + syncToExtensions() NotificationCenter.default.post(name: didChange, object: nil) } } + + /// Copies the setting to the app group, where the widget and Live Activity read it, and redraws both. + static func syncToExtensions() { + guard let shared = UserDefaults.appGroup, shared.redesignEnabled != useRedesign else { return } + shared.redesignEnabled = useRedesign + WidgetCenter.shared.reloadAllTimelines() + // The Live Activity otherwise keeps its old look until Loop next runs. + NotificationCenter.default.post(name: .LiveActivitySettingsChanged, object: nil) + } } /// The redesign's root. The Now tab is Loop's own RootNavigationController, so every existing flow diff --git a/LoopCore/NSUserDefaults.swift b/LoopCore/NSUserDefaults.swift index 8ed715f823..64982c38d4 100644 --- a/LoopCore/NSUserDefaults.swift +++ b/LoopCore/NSUserDefaults.swift @@ -24,6 +24,7 @@ extension UserDefaults { case userRequestedLoopReset = "com.loopkit.Loop.userRequestedLoopReset" case liveActivity = "com.loopkit.Loop.liveActivity" case defaultEnvironment = "org.tidepool.TidepoolKit.DefaultEnvironment" + case redesignEnabled = "com.loopkit.Loop.redesign.enabled" } public static let appGroup = UserDefaults(suiteName: Bundle.main.appGroupSuiteName) @@ -155,6 +156,13 @@ extension UserDefaults { } } + /// Whether the redesigned interface is on. The app mirrors its setting into the app group so the + /// widget and Live Activity can match it; they default to the redesign, as the app does. + public var redesignEnabled: Bool { + get { object(forKey: Key.redesignEnabled.rawValue) as? Bool ?? true } + set { set(newValue, forKey: Key.redesignEnabled.rawValue) } + } + public var liveActivity: LiveActivitySettings? { get { let decoder = JSONDecoder() From e3f95021aeed9bbb1b98ef36828b641e3a8a98df Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Tue, 27 Oct 2026 16:40:14 +0000 Subject: [PATCH 06/17] Fix CSV export, retained mode history and widget freshness --- .../Redesign/RedesignLiveActivity.swift | 2 +- .../Redesign/WidgetDesign.swift | 2 +- Loop/Redesign/LoopHistoryProvider.swift | 6 +++- Loop/Redesign/TrendsScreen.swift | 7 ++-- LoopTests/Models/LoopHistoryMathTests.swift | 36 +++++++++++++++++++ 5 files changed, 47 insertions(+), 6 deletions(-) diff --git a/Loop Widget Extension/Redesign/RedesignLiveActivity.swift b/Loop Widget Extension/Redesign/RedesignLiveActivity.swift index 2afea29db3..00552fb96c 100644 --- a/Loop Widget Extension/Redesign/RedesignLiveActivity.swift +++ b/Loop Widget Extension/Redesign/RedesignLiveActivity.swift @@ -36,7 +36,7 @@ enum RedesignLiveActivity { } static func status(_ context: Context) -> WidgetDesign.LoopStatus { - WidgetDesign.LoopStatus(closedLoop: context.state.isCloseLoop, lastCompleted: context.state.lastCompleted, now: context.state.date) + WidgetDesign.LoopStatus(closedLoop: context.state.isCloseLoop, lastCompleted: context.state.lastCompleted) } /// Low and high in words, otherwise the unit and the change, as under the Now screen's number. diff --git a/Loop Widget Extension/Redesign/WidgetDesign.swift b/Loop Widget Extension/Redesign/WidgetDesign.swift index c1106dbb4e..1dd3fd4b40 100644 --- a/Loop Widget Extension/Redesign/WidgetDesign.swift +++ b/Loop Widget Extension/Redesign/WidgetDesign.swift @@ -87,7 +87,7 @@ enum WidgetDesign { let time = lastCompleted.formatted(date: .omitted, time: .shortened) if closedLoop { text = String(format: NSLocalizedString("Closed loop · %1$@", comment: "Status pill on the Now screen: closed loop is on. (1: how long ago Loop last ran, e.g. 2m)"), time) - color = P.statusAutomated + color = LoopCompletionFreshness(age: age) == .fresh ? P.statusAutomated : P.statusWarning } else { text = String(format: NSLocalizedString("Open loop · %1$@", comment: "Status pill on the Now screen: closed loop is off. (1: how long ago Loop last ran, e.g. 2m)"), time) color = P.inkMuted diff --git a/Loop/Redesign/LoopHistoryProvider.swift b/Loop/Redesign/LoopHistoryProvider.swift index 1b51d2671d..cd6dbfa356 100644 --- a/Loop/Redesign/LoopHistoryProvider.swift +++ b/Loop/Redesign/LoopHistoryProvider.swift @@ -417,7 +417,11 @@ final class LoopModeHistory { var changes = self.changes guard changes.last?.closedLoop != closedLoop else { return } changes.append(.init(date: date, closedLoop: closedLoop)) - changes.removeAll { date.timeIntervalSince($0.date) > maximumAge } + // Keep the last change before the retention window: it establishes the mode at its start. + let cutoff = date.addingTimeInterval(-maximumAge) + if let anchor = changes.lastIndex(where: { $0.date < cutoff }), anchor > 0 { + changes.removeFirst(anchor) + } if let data = try? JSONEncoder().encode(changes) { defaults.set(data, forKey: key) } diff --git a/Loop/Redesign/TrendsScreen.swift b/Loop/Redesign/TrendsScreen.swift index 9b459efad4..214745458f 100644 --- a/Loop/Redesign/TrendsScreen.swift +++ b/Loop/Redesign/TrendsScreen.swift @@ -194,14 +194,15 @@ final class TrendsModel: ObservableObject { // MARK: Export - func exportCSV(_ s: Summary) throws -> URL { + static func exportCSV(_ s: Summary) throws -> URL { // The CSV header and values are deliberately not localised: fixed English columns and '.' decimals for data interchange. var lines = ["date,mean_glucose_\(s.unit.isMmol ? "mmol_l" : "mg_dl"),readings,time_in_range_pct,basal_u,bolus_u,total_u,carbs_g"] let calendar = Calendar.current let byDay = Dictionary(grouping: s.glucose) { calendar.startOfDay(for: $0.date) } for total in s.totals { let readings = byDay[total.day] ?? [] - let mean = readings.isEmpty ? "" : s.unit.format(readings.reduce(0) { $0 + $1.mgdl } / Double(readings.count)) + let mean = readings.isEmpty ? "" : String(format: "%.*f", locale: Locale(identifier: "en_US_POSIX"), + s.unit.isMmol ? 1 : 0, s.unit.value(readings.reduce(0) { $0 + $1.mgdl } / Double(readings.count))) let tir = readings.isEmpty ? "" : String(format: "%.0f", (LoopHistoryMath.timeInRange(readings)[.inRange] ?? 0) * 100) let date = Date.ISO8601FormatStyle(timeZone: .current).year().month().day().format(total.day) let carbs = String(format: "%.0f", s.carbsByDay[total.day] ?? 0) @@ -371,7 +372,7 @@ struct TrendsView: View { CardHeader(title: NSLocalizedString("Summary", comment: "Trends card title: the summary statistics tiles")) { Menu(NSLocalizedString("Export", comment: "Trends menu title: export the period as a PDF report or CSV file")) { Button(NSLocalizedString("PDF report", comment: "Trends export menu item: share a PDF report of the period")) { export { try model.exportPDF(s) } } - Button(NSLocalizedString("CSV, one row per day", comment: "Trends export menu item: share a CSV spreadsheet file with one row for each day")) { export { try model.exportCSV(s) } } + Button(NSLocalizedString("CSV, one row per day", comment: "Trends export menu item: share a CSV spreadsheet file with one row for each day")) { export { try TrendsModel.exportCSV(s) } } } .foregroundStyle(P.accentInk) } diff --git a/LoopTests/Models/LoopHistoryMathTests.swift b/LoopTests/Models/LoopHistoryMathTests.swift index 9c8aabe0d9..9f967dc365 100644 --- a/LoopTests/Models/LoopHistoryMathTests.swift +++ b/LoopTests/Models/LoopHistoryMathTests.swift @@ -216,6 +216,42 @@ class LoopHistoryMathTests: XCTestCase { XCTAssertEqual(LoopFormat.signed(0.0001), "+0.00") } + @MainActor + func testCSVExportsEightColumnsWithASCIINumbers() throws { + let day = Calendar.current.startOfDay(for: start) + for isMmol in [true, false] { + var summary = TrendsModel.Summary(interval: DateInterval(start: day, duration: 86400), + unit: GlucoseUnitStyle(isMmol: isMmol)) + summary.glucose = [GlucosePoint(date: day, mgdl: 131.53286)] + summary.totals = [.init(day: day, basal: 1.25, bolus: 2.5)] + summary.carbsByDay = [day: 45] + let url = try TrendsModel.exportCSV(summary) + defer { try? FileManager.default.removeItem(at: url) } + let rows = try String(contentsOf: url, encoding: .utf8).components(separatedBy: "\n") + XCTAssertEqual(rows.count, 2) + XCTAssertEqual(rows[0].components(separatedBy: ",").count, 8) + let columns = rows[1].components(separatedBy: ",") + XCTAssertEqual(columns.count, 8) + XCTAssertEqual(Array(columns.dropFirst()), [isMmol ? "7.3" : "132", "1", "100", "1.25", "2.50", "3.75", "45"]) + } + } + + func testModeHistoryRetainsTheModeBeforeTheRetentionWindow() throws { + let suite = "LoopHistoryMathTests-\(UUID().uuidString)" + let defaults = try XCTUnwrap(UserDefaults(suiteName: suite)) + defer { defaults.removePersistentDomain(forName: suite) } + let history = LoopModeHistory(defaults: defaults) + history.record(closedLoop: false, at: at(0)) + history.record(closedLoop: true, at: at(60)) + let switchDate = at(200 * 1440) + history.record(closedLoop: false, at: switchDate) + XCTAssertEqual(history.changes, [.init(date: at(60), closedLoop: true), .init(date: switchDate, closedLoop: false)]) + let interval = DateInterval(start: switchDate.addingTimeInterval(-3600), end: switchDate) + let spans = LoopHistoryMath.loopModeSpans(interval: interval, runs: [], modeChanges: history.changes, + coverageStart: interval.start) + XCTAssertEqual(spans.first?.start, interval.start, "Retaining the old mode must preserve recent coverage") + } + func testIssueDescriptions() { XCTAssertEqual(LoopHistoryProvider.describe(issue: "glucoseTooOld"), "Glucose too old") XCTAssertEqual(LoopHistoryProvider.describe(issue: "pumpDataTooOld"), "Pump data too old") From d67a67c64f369d2ce60ea2257398bae043db20f7 Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Wed, 28 Oct 2026 20:07:18 +0000 Subject: [PATCH 07/17] Correct redesigned history calculations and status error selection --- Loop/Redesign/LoopHistoryMath.swift | 4 +-- Loop/Redesign/LoopHistoryProvider.swift | 10 ++++--- .../StatusTableViewController.swift | 2 +- LoopTests/Managers/LoopDataManagerTests.swift | 26 +++++++++++++++++++ LoopTests/Models/LoopHistoryMathTests.swift | 20 ++++++++++++++ 5 files changed, 56 insertions(+), 6 deletions(-) diff --git a/Loop/Redesign/LoopHistoryMath.swift b/Loop/Redesign/LoopHistoryMath.swift index 5e75c93474..f35e33e333 100644 --- a/Loop/Redesign/LoopHistoryMath.swift +++ b/Loop/Redesign/LoopHistoryMath.swift @@ -200,8 +200,8 @@ enum LoopHistoryMath { cal.firstWeekday = 2 let groups = Dictionary(grouping: totals) { cal.dateInterval(of: .weekOfYear, for: $0.day)?.start ?? $0.day } return groups.keys.sorted().map { week in - let days = groups[week]! - let n = Double(days.count) + let days = averagingDays(groups[week]!) + let n = Double(max(1, days.count)) return DayTotal(day: week, basal: days.reduce(0) { $0 + $1.basal } / n, bolus: days.reduce(0) { $0 + $1.bolus } / n) } } diff --git a/Loop/Redesign/LoopHistoryProvider.swift b/Loop/Redesign/LoopHistoryProvider.swift index cd6dbfa356..220b5f7dda 100644 --- a/Loop/Redesign/LoopHistoryProvider.swift +++ b/Loop/Redesign/LoopHistoryProvider.swift @@ -284,10 +284,13 @@ final class LoopHistoryProvider { let boluses = doses.compactMap { BolusEvent(dose: $0, in: interval) } + let basalHistory = try await loopDataManager.settingsProvider.getBasalHistory(startDate: interval.start, endDate: interval.end) let temporaryPresetsManager = self.temporaryPresetsManager - let scheduleValues = await MainActor.run { - temporaryPresetsManager.basalRateScheduleApplyingOverrideHistory?.between(start: interval.start, end: interval.end) ?? [] + let overrides = await MainActor.run { + temporaryPresetsManager.presetHistory.getOverrideHistory(startDate: interval.start, endDate: interval.end) } + // A resolved daily schedule repeats recent presets on every day. Use the stored profile and dated overrides. + let scheduleValues = overrides.applyBasal(over: basalHistory) let schedule = scheduleValues.map { LoopHistoryMath.ScheduleValue(start: $0.startDate, end: $0.endDate, rate: $0.value) } let deliveries = doses.compactMap { LoopHistoryMath.BasalDelivery(dose: $0) } let now = Date() @@ -438,7 +441,8 @@ extension LoopDataManager { .map { $0.simpleDose(with: insulinModel(for: $0.insulinType)) } let basalStart = min(dosesStart, doses.map(\.startDate).min() ?? dosesStart) let basal = try await settingsProvider.getBasalHistory(startDate: basalStart, endDate: interval.end) - return doses.annotated(with: basal).insulinOnBoardTimeline(from: interval.start, to: interval.end) + let overrides = temporaryPresetsManager.presetHistory.getOverrideHistory(startDate: basalStart, endDate: interval.end) + return doses.annotated(with: overrides.applyBasal(over: basal)).insulinOnBoardTimeline(from: interval.start, to: interval.end) } /// Carbs on board across `interval`, using the same absorption review as Loop's carb screen. diff --git a/Loop/View Controllers/StatusTableViewController.swift b/Loop/View Controllers/StatusTableViewController.swift index 7ea87a639c..be16f771ce 100644 --- a/Loop/View Controllers/StatusTableViewController.swift +++ b/Loop/View Controllers/StatusTableViewController.swift @@ -1888,7 +1888,7 @@ final class StatusTableViewController: LoopChartsTableViewController { let error: Error? // First, check whether we have a device error after the most recent completion date if let deviceError = deviceManager.lastError, - deviceError.date > (hudView?.loopCompletionHUD.lastLoopCompleted ?? .distantPast) + deviceError.date > (loopManager.lastLoopCompleted ?? .distantPast) { error = deviceError.error } else if let lastLoopError = lastLoopError { diff --git a/LoopTests/Managers/LoopDataManagerTests.swift b/LoopTests/Managers/LoopDataManagerTests.swift index 13bc5b470b..d77e638392 100644 --- a/LoopTests/Managers/LoopDataManagerTests.swift +++ b/LoopTests/Managers/LoopDataManagerTests.swift @@ -462,6 +462,32 @@ class LoopDataManagerTests: XCTestCase { } + func testHistoricalIOBUsesPresetAdjustedBasal() async throws { + settingsProvider.basalHistory = [AbsoluteScheduleValue(startDate: d(-.hours(6)), endDate: now, value: 1.0)] + let window = DateInterval(start: d(-.minutes(30)), end: now) + + for multiplier in [0.5, 1.5] { + let preset = TemporaryScheduleOverride( + context: .custom, + settings: TemporaryPresetSettings(targetRange: nil, insulinNeedsScaleFactor: multiplier), + startDate: d(-.hours(1)), + duration: .finite(.hours(2)), + enactTrigger: .local, + syncIdentifier: UUID() + ) + temporaryPresetsManager.presetHistory.recordOverride(preset, at: now) + doseStore.doseHistory = [DoseEntry(type: .tempBasal, startDate: window.start, endDate: window.end, + value: multiplier, unit: .unitsPerHour, decisionId: nil)] + + let timeline = try await loopDataManager.insulinOnBoardTimeline(in: window) + XCTAssertFalse(timeline.isEmpty) + for value in timeline { + XCTAssertEqual(value.value, 0, accuracy: 1e-9, + "Delivery matching a \(multiplier)× preset's basal must add no net IOB") + } + } + } + func testFetchDataWithHighInsulinNeedsPresetMitigation() async throws { var input = try await loopDataManager.fetchData(for: now) XCTAssertEqual(input.target.count, 1) diff --git a/LoopTests/Models/LoopHistoryMathTests.swift b/LoopTests/Models/LoopHistoryMathTests.swift index 9f967dc365..79294fcde9 100644 --- a/LoopTests/Models/LoopHistoryMathTests.swift +++ b/LoopTests/Models/LoopHistoryMathTests.swift @@ -182,6 +182,26 @@ class LoopHistoryMathTests: XCTestCase { XCTAssertEqual(LoopHistoryMath.averageDailyInsulin([today]), 5, accuracy: 1e-9) } + func testWeeklyInsulinUsesTheSummaryAveragingDays() { + let monday = Date(timeIntervalSinceReferenceDate: 815_270_400) + var calendar = Calendar(identifier: .gregorian) + calendar.timeZone = TimeZone(identifier: "UTC")! + let totals = [ + LoopHistoryMath.DayTotal(day: monday, basal: 0, bolus: 0), + LoopHistoryMath.DayTotal(day: monday.addingTimeInterval(86400), basal: 10, bolus: 20), + LoopHistoryMath.DayTotal(day: monday.addingTimeInterval(2 * 86400), basal: 10, bolus: 20), + LoopHistoryMath.DayTotal(day: monday.addingTimeInterval(3 * 86400), basal: 1, bolus: 2, isComplete: false), + ] + let weeks = LoopHistoryMath.weekly(totals, calendar: calendar) + XCTAssertEqual(weeks.count, 1) + XCTAssertEqual(weeks[0].basal, 10, accuracy: 1e-9) + XCTAssertEqual(weeks[0].bolus, 20, accuracy: 1e-9) + + // A current week with no complete day must still show the data it has. + let currentWeek = LoopHistoryMath.weekly([totals[3]], calendar: calendar) + XCTAssertEqual(currentWeek.first?.total, 3) + } + func testGapMessageForADayWithoutReadings() { let start = Date(timeIntervalSinceReferenceDate: 815_270_400) let day = DateInterval(start: start, duration: 86400) From ec21d180f77fdf0f005532d2eb00e8c7327c14bf Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Wed, 28 Oct 2026 21:53:26 +0000 Subject: [PATCH 08/17] Bring the redesign in line with next-dev's own screens and totals Parity with next-dev: - The IOB tile opens next-dev's Insulin Delivery Log (dose details, manual dose entry), shared with the classic IOB chart through showInsulinDelivery. - The Loop pill opens next-dev's LoopStatusModalView. Device and loop errors still open the last error first. The new interface has no HUD to keep the modal's "ago" current, so it is set before presenting; without it the modal reported "Automation was unsuccessful" while Loop was running. - Settings hides next-dev's Statistics row in the new interface, which the Trends tab covers. Current Setup stays. - The Day page hides the tab bar when pushed from Now, like the Insulin, Carbohydrates and Predicted Glucose screens. Accuracy: - Basal totals follow next-dev's InsulinDeliveryHistory: from the first dose record, time without a basal record counts at the pump's programmed rate instead of as no insulin. Trends now agrees with next-dev's Statistics on basal (25.6 vs 25.3 U/day on the same data). Remaining differences are the period: Trends' 7 d includes today and averages complete days. - Pump alarms in the Logbook show the pump's own alarm text, or "Pump alarm", rather than the event's debug title. Performance: - Loop runs decode only date, reason and errors for the local window via DosingDecisionStore.getDosingDecisions, instead of paging every stored decision: Trends loads in 0.5-1.8 s instead of 6.6-16.4 s. - basalSegments finds the covering record by binary search bounded by the running furthest end, instead of a linear scan per cut: a week of five-minute records builds in 0.4 s instead of 10.8 s. - The start of the local insulin records is cached for five minutes. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01QHnVP5sTMyrVG4zz5Wp4KM --- Loop/Localizable.xcstrings | 717 +----------------- Loop/Redesign/LoopHistoryMath.swift | 33 +- Loop/Redesign/LoopHistoryProvider.swift | 69 +- .../StatusTableViewController.swift | 152 ++-- Loop/Views/SettingsView.swift | 35 +- LoopTests/Models/LoopHistoryMathTests.swift | 13 + 6 files changed, 198 insertions(+), 821 deletions(-) diff --git a/Loop/Localizable.xcstrings b/Loop/Localizable.xcstrings index e00259ff2d..9d7b8c41b1 100644 --- a/Loop/Localizable.xcstrings +++ b/Loop/Localizable.xcstrings @@ -17031,292 +17031,6 @@ } } }, - "Closed loop is off: Loop recommends but doesn't adjust insulin." : { - "comment" : "Message in the alert shown when tapping the Loop status on the Now screen while closed loop is off", - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "الحلقة المغلقة متوقفة: يقدّم Loop توصيات لكنه لا يعدّل الأنسولين." - } - }, - "cs" : { - "stringUnit" : { - "state" : "translated", - "value" : "Uzavřená smyčka je vypnutá: Loop doporučuje, ale inzulín neupravuje." - } - }, - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lukket Loop er slået fra: Loop anbefaler, men justerer ikke insulin." - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Closed Loop ist aus: Loop empfiehlt, passt das Insulin aber nicht an." - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "El circuito cerrado está desactivado: Loop recomienda pero no ajusta la insulina." - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Suljettu säätö on pois päältä: Loop suosittelee, mutta ei säädä insuliinia." - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "La boucle fermée est désactivée : Loop recommande mais n'ajuste pas l'insuline." - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "Closed Loop כבוי: Loop ממליץ אך אינו מתאים את האינסולין." - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "A zárt hurok ki van kapcsolva: a Loop javasol, de nem módosítja az inzulint." - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Il loop chiuso è disattivato: Loop suggerisce ma non regola l'insulina." - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "クローズドループはオフです:Loopは推奨のみ行い、インスリンを調整しません。" - } - }, - "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lukket Loop er av: Loop anbefaler, men justerer ikke insulin." - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Actieve loop staat uit: Loop geeft advies maar past de insuline niet aan." - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Pętla zamknięta jest wyłączona: Loop zaleca, ale nie dostosowuje insuliny." - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "O ciclo fechado está desligado: o Loop recomenda, mas não ajusta a insulina." - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bucla închisă este oprită: Loop recomandă, dar nu ajustează insulina." - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Замкнутый цикл выключен: Loop даёт рекомендации, но не регулирует инсулин." - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Uzavretá slučka je vypnutá: Loop odporúča, ale inzulín neupravuje." - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sluten loop är av: Loop ger förslag men justerar inte insulinet." - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kapalı döngü kapalı: Loop öneride bulunur ancak insülini ayarlamaz." - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Замкнутий цикл вимкнено: Loop дає рекомендації, але не регулює інсулін." - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Vòng lặp kín đang tắt: Loop chỉ đưa ra khuyến nghị và không điều chỉnh insulin." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "闭环已关闭:Loop 只给出建议,不会调整胰岛素。" - } - } - } - }, - "Closed loop is on." : { - "comment" : "Message in the alert shown when tapping the Loop status on the Now screen while closed loop is on", - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "الحلقة المغلقة مفعّلة." - } - }, - "cs" : { - "stringUnit" : { - "state" : "translated", - "value" : "Uzavřená smyčka je zapnutá." - } - }, - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lukket Loop er slået til." - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Closed Loop ist an." - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "El circuito cerrado está activado." - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Suljettu säätö on päällä." - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "La boucle fermée est activée." - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "Closed Loop פועל." - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "A zárt hurok be van kapcsolva." - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Il loop chiuso è attivo." - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "クローズドループはオンです。" - } - }, - "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "Lukket Loop er på." - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Actieve loop staat aan." - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Pętla zamknięta jest włączona." - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "O ciclo fechado está ligado." - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Bucla închisă este pornită." - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Замкнутый цикл включён." - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Uzavretá slučka je zapnutá." - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sluten loop är på." - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Kapalı döngü açık." - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Замкнутий цикл увімкнено." - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Vòng lặp kín đang bật." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "闭环已开启。" - } - } - } - }, "Closed loop off" : { "comment" : "Reason shown for a stretch of time when Loop was in open loop because closed loop was turned off", "localizations" : { @@ -39033,149 +38747,6 @@ } } }, - "Loop hasn't run yet" : { - "comment" : "Title of the alert shown when tapping the Loop status on the Now screen before Loop has ever completed", - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "لم يعمل Loop بعد" - } - }, - "cs" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop zatím neproběhl" - } - }, - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop har ikke kørt endnu" - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop ist noch nicht gelaufen" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop aún no se ha ejecutado" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loopia ei ole vielä ajettu" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop ne s'est pas encore exécuté" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop טרם רץ" - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "A Loop még nem futott" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop non ancora eseguito" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loopはまだ実行されていません" - } - }, - "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop har ikke kjørt ennå" - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop heeft nog niet gedraaid" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop jeszcze nie działał" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "O Loop ainda não executou" - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop nu a rulat încă" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop ещё не запускался" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop ešte neprebehol" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop har inte körts än" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop henüz çalışmadı" - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop ще не запускався" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop chưa chạy" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop 尚未运行" - } - } - } - }, "Loop keeps the last 7 days on this phone. Older doses and carbs are in Apple Health and on the Trends tab." : { "comment" : "Logbook footer explaining why only 7 days are listed", "localizations" : { @@ -39891,292 +39462,6 @@ } } }, - "Loop ran at %1$@" : { - "comment" : "Title of the alert shown when tapping the Loop status on the Now screen. (1: time Loop last completed, e.g. 14:05)", - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "عمل Loop في %1$@" - } - }, - "cs" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop proběhl v %1$@" - } - }, - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop kørte kl. %1$@" - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop lief um %1$@" - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop se ejecutó a las %1$@" - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop ajettu klo %1$@" - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop exécuté à %1$@" - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop רץ ב-%1$@" - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "A Loop futott: %1$@" - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop eseguito alle %1$@" - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop実行:%1$@" - } - }, - "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop kjørte kl. %1$@" - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop draaide om %1$@" - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop działał o %1$@" - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "O Loop executou às %1$@" - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop a rulat la %1$@" - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop запускался в %1$@" - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop prebehol o %1$@" - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop kördes kl. %1$@" - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop %1$@ saatinde çalıştı" - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop запускався о %1$@" - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop đã chạy lúc %1$@" - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop 运行于 %1$@" - } - } - } - }, - "Loop runs when it has a new CGM reading and can reach the pump." : { - "comment" : "Message in the alert shown when tapping the Loop status on the Now screen before Loop has ever completed", - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "يعمل Loop عندما تتوفر قراءة CGM جديدة ويمكنه الوصول إلى المضخة." - } - }, - "cs" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop běží, když má novou hodnotu z CGM a může se spojit s pumpou." - } - }, - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop kører, når der er en ny CGM-måling, og pumpen kan nås." - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop läuft, wenn ein neuer CGM-Wert vorliegt und die Pumpe erreichbar ist." - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop se ejecuta cuando tiene una nueva lectura del CGM y puede comunicarse con la microinfusadora." - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop ajetaan, kun uusi CGM-lukema on saatavilla ja pumppuun saadaan yhteys." - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop s'exécute lorsqu'il a une nouvelle mesure CGM et peut joindre la pompe." - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop רץ כאשר יש קריאת CGM חדשה והוא יכול להתחבר למשאבה." - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "A Loop akkor fut, ha van új CGM-érték, és eléri a pumpát." - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop viene eseguito quando ha una nuova lettura CGM e può comunicare con la pompa." - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loopは新しいCGM値があり、ポンプと通信できるときに実行されます。" - } - }, - "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop kjører når den har en ny CGM-måling og kan nå pumpen." - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop draait zodra er een nieuwe CGM-waarde is en de pomp bereikbaar is." - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop działa, gdy ma nowy odczyt CGM i może połączyć się z pompą." - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "O Loop executa quando tem uma nova leitura do CGM e consegue se comunicar com a bomba." - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop rulează când are o citire CGM nouă și poate comunica cu pompa." - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop запускается, когда есть новое показание CGM и связь с помпой." - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop beží, keď má novú hodnotu z CGM a môže sa spojiť s pumpou." - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop körs när det finns ett nytt CGM-värde och pumpen kan nås." - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop yeni bir CGM okuması olduğunda ve pompaya ulaşabildiğinde çalışır." - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop запускається, коли є новий показник CGM і звʼязок із помпою." - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Loop chạy khi có chỉ số CGM mới và kết nối được với bơm." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "当有新的 CGM 读数且能连接胰岛素泵时,Loop 就会运行。" - } - } - } - }, "Loop status" : { "comment" : "Trends card title: how long Loop spent in closed loop, limited or open loop", "localizations" : { @@ -76319,4 +75604,4 @@ } }, "version" : "1.1" -} \ No newline at end of file +} diff --git a/Loop/Redesign/LoopHistoryMath.swift b/Loop/Redesign/LoopHistoryMath.swift index f35e33e333..385cb8ce1f 100644 --- a/Loop/Redesign/LoopHistoryMath.swift +++ b/Loop/Redesign/LoopHistoryMath.swift @@ -226,10 +226,14 @@ enum LoopHistoryMath { /// Delivered basal over `window` from the pump's records (the latest-starting one wins where they overlap). /// - /// Gaps remain unknown: a scheduled rate alone is not evidence of delivery. - static func basalSegments(window: DateInterval, schedule: [ScheduleValue], deliveries temps: [BasalDelivery]) -> [BasalSegment] { + /// From `recordsStart` on, time without a basal record counts at `programmedRates`, since that is what the pump + /// delivers on its own; this matches Loop's own insulin totals (`InsulinDeliveryHistory`). Before it, or without + /// it, gaps stay unknown. + static func basalSegments(window: DateInterval, schedule: [ScheduleValue], deliveries temps: [BasalDelivery], + programmedRates: [ScheduleValue] = [], recordsStart: Date? = nil) -> [BasalSegment] { var cuts = Set([window.start, window.end]) - for value in schedule { + if let recordsStart, window.contains(recordsStart) { cuts.insert(recordsStart) } + for value in schedule + programmedRates { if window.contains(value.start) { cuts.insert(value.start) } if window.contains(value.end) { cuts.insert(value.end) } } @@ -239,14 +243,35 @@ enum LoopHistoryMath { } let sorted = cuts.sorted() let sortedTemps = temps.sorted { $0.start < $1.start } + // The furthest end among records up to each index bounds the backward search, so a week of five-minute + // records stays linear rather than scanning every record for every cut. + var furthestEnd: [Date] = [] + furthestEnd.reserveCapacity(sortedTemps.count) + for temp in sortedTemps { furthestEnd.append(max(furthestEnd.last ?? temp.end, temp.end)) } + func latestRecord(covering mid: Date) -> BasalDelivery? { + var low = 0, high = sortedTemps.count + while low < high { + let middle = (low + high) / 2 + if sortedTemps[middle].start <= mid { low = middle + 1 } else { high = middle } + } + var index = low - 1 + while index >= 0, furthestEnd[index] > mid { + if mid < sortedTemps[index].end { return sortedTemps[index] } + index -= 1 + } + return nil + } var segments: [BasalSegment] = [] for (a, b) in zip(sorted, sorted.dropFirst()) where b > a { let mid = a.addingTimeInterval(b.timeIntervalSince(a) / 2) let scheduled = schedule.first { $0.start <= mid && mid < $0.end }?.rate let segment: BasalSegment - if let temp = sortedTemps.last(where: { $0.start <= mid && mid < $0.end }) { + if let temp = latestRecord(covering: mid) { segment = BasalSegment(start: a, end: b, rate: temp.kind == .suspended ? 0 : temp.rate, scheduledRate: scheduled, kind: temp.kind, automatic: temp.automatic) + } else if let recordsStart, a >= recordsStart, + let programmed = programmedRates.first(where: { $0.start <= mid && mid < $0.end })?.rate { + segment = BasalSegment(start: a, end: b, rate: programmed, scheduledRate: scheduled, kind: .scheduled, automatic: false) } else { continue } diff --git a/Loop/Redesign/LoopHistoryProvider.swift b/Loop/Redesign/LoopHistoryProvider.swift index 220b5f7dda..db3fe2362e 100644 --- a/Loop/Redesign/LoopHistoryProvider.swift +++ b/Loop/Redesign/LoopHistoryProvider.swift @@ -10,7 +10,7 @@ import HealthKit import LoopKit import LoopCore import LoopAlgorithm -import os.log +import os /// Reads glucose, insulin, carbs and loop runs for the redesigned screens. /// @@ -29,6 +29,7 @@ final class LoopHistoryProvider { private let glucoseStore: GlucoseStore private let healthStore = HKHealthStore() private let log = OSLog(category: "LoopHistoryProvider") + private let recordsStartCache = OSAllocatedUnfairLock<(fetched: Date, value: Date?)?>(initialState: nil) @MainActor init(deviceManager: DeviceDataManager, loopDataManager: LoopDataManager, settingsManager: SettingsManager, temporaryPresetsManager: TemporaryPresetsManager) { @@ -149,8 +150,35 @@ final class LoopHistoryProvider { // MARK: - Loop runs - /// Fetch each snapshot independently: overlapping reloads must not append the same anchored page twice. + /// Loop runs in the local window, oldest first, with when the record of them begins. func loopRuns() async throws -> (runs: [LoopHistoryMath.LoopRun], coverageStart: Date?) { + let start = localHistoryStart + var runs: [LoopHistoryMath.LoopRun] + if let store = dosingDecisionStore as? DosingDecisionStore { + // Decode only the fields a run needs, and only Loop's local window. + runs = try await store.getDosingDecisions(start: start, end: Date(), as: LoopRunRecord.self) + .filter { $0.reason == "loop" } + .map { record in + LoopHistoryMath.LoopRun(date: record.date, succeeded: (record.errors ?? []).isEmpty, + error: record.errors?.first.map { Self.describe(issue: $0.id) }) + } + } else { + runs = try await anchoredLoopRuns() + } + try Task.checkCancellation() + runs = runs.filter { $0.date >= start }.sorted { $0.date < $1.date } + return (runs, runs.first?.date) + } + + private struct LoopRunRecord: Decodable { + struct Issue: Decodable { let id: String } + let date: Date + let reason: String + let errors: [Issue]? + } + + /// Fetch each snapshot independently: overlapping reloads must not append the same anchored page twice. + private func anchoredLoopRuns() async throws -> [LoopHistoryMath.LoopRun] { var anchor: DosingDecisionStore.QueryAnchor? var runs: [LoopHistoryMath.LoopRun] = [] while true { @@ -170,8 +198,7 @@ final class LoopHistoryProvider { } if page.1.count < 1000 { break } } - runs = runs.filter { $0.date >= localHistoryStart }.sorted { $0.date < $1.date } - return (runs, runs.first?.date) + return runs } /// "glucoseTooOld" → "Glucose too old". Loop's own issue ids are localised; any other id falls back to the @@ -224,7 +251,10 @@ final class LoopHistoryProvider { case .prime?: return PumpLogEvent(id: id, date: event.date, kind: .siteChange(NSLocalizedString("Primed", comment: "Pump event in the history: the pump primed the tubing or cannula"))) case .alarm?: - return PumpLogEvent(id: id, date: event.date, kind: .alarm(event.title ?? NSLocalizedString("Pump alarm", comment: "Pump event in the history: an alarm whose pump gave no title"))) + // `title` is a debug description; only a pump's own alarm text is meant for people. + let pumpText: String? + if case .other(let details)? = event.alarmType, !details.isEmpty { pumpText = details } else { pumpText = nil } + return PumpLogEvent(id: id, date: event.date, kind: .alarm(pumpText ?? NSLocalizedString("Pump alarm", comment: "Pump event in the history: an alarm whose pump gave no title"))) default: return nil } @@ -273,10 +303,29 @@ final class LoopHistoryProvider { } } + /// Doses for `interval`, with the start of Loop's insulin records (its earliest local dose). The start is kept + /// for a few minutes so day pages and periods don't each read the whole local history; when it isn't known, + /// one read from the start of the local history serves both. + private func doses(for interval: DateInterval) async throws -> (doses: [DoseEntry], recordsStart: Date?) { + let localStart = localHistoryStart + if interval.start <= localStart { + let doses = try await doseStore.getNormalizedDoseEntries(start: interval.start, end: interval.end) + return (doses, doses.map(\.startDate).min()) + } + if let cached = recordsStartCache.withLock({ $0 }), Date().timeIntervalSince(cached.fetched) < 300 { + return (try await doseStore.getNormalizedDoseEntries(start: interval.start, end: interval.end), cached.value) + } + let local = try await doseStore.getNormalizedDoseEntries(start: localStart, end: interval.end) + let recordsStart = local.map(\.startDate).min() + recordsStartCache.withLock { $0 = (fetched: Date(), value: recordsStart) } + return (local.filter { $0.endDate > interval.start && $0.startDate < interval.end }, recordsStart) + } + private func localInsulin(_ interval: DateInterval) async throws -> ([BolusEvent], [BasalSegment], [ScheduledBasalPoint]) { let doses: [DoseEntry] + let recordsStart: Date? do { - doses = try await doseStore.getNormalizedDoseEntries(start: interval.start, end: interval.end) + (doses, recordsStart) = try await self.doses(for: interval) } catch { os_log("Dose fetch failed: %{public}@", log: log, type: .error, String(describing: error)) throw error @@ -295,8 +344,12 @@ final class LoopHistoryProvider { let deliveries = doses.compactMap { LoopHistoryMath.BasalDelivery(dose: $0) } let now = Date() let window = DateInterval(start: interval.start, end: max(interval.start, min(interval.end, now))) - // Totals count pump records, as classic Loop does; an unreported gap is not confirmed delivery. - let basal = window.duration > 0 ? LoopHistoryMath.basalSegments(window: window, schedule: schedule, deliveries: deliveries) : [] + // As in Loop's insulin totals: after the first record, unrecorded time runs at the pump's programmed rate. + let programmed = basalHistory.map { LoopHistoryMath.ScheduleValue(start: $0.startDate, end: $0.endDate, rate: $0.value) } + let basal = window.duration > 0 + ? LoopHistoryMath.basalSegments(window: window, schedule: schedule, deliveries: deliveries, + programmedRates: programmed, recordsStart: recordsStart) + : [] let scheduled = schedule.map { ScheduledBasalPoint(start: max($0.start, interval.start), end: min($0.end, interval.end), rate: $0.rate) } return (boluses, basal, scheduled) } diff --git a/Loop/View Controllers/StatusTableViewController.swift b/Loop/View Controllers/StatusTableViewController.swift index be16f771ce..f656eca1b7 100644 --- a/Loop/View Controllers/StatusTableViewController.swift +++ b/Loop/View Controllers/StatusTableViewController.swift @@ -386,7 +386,7 @@ final class StatusTableViewController: LoopChartsTableViewController { presets: { [weak self] in self?.presentPresets() }, showPrediction: { [weak self] in self?.showPredictionFromNow() }, showToday: { [weak self] in self?.showDay(Date()) }, - showInsulin: { [weak self] in self?.performSegue(withIdentifier: InsulinDeliveryTableViewController.className, sender: self) }, + showInsulin: { [weak self] in self?.showInsulinDelivery(sender: self) }, showCarbs: { [weak self] in self?.performSegue(withIdentifier: CarbAbsorptionViewController.className, sender: self) }, pumpTapped: { [weak self] in self?.executeHUDTapAction(self?.deviceManager.didTapOnPumpStatus(), from: self?.view) }, cgmTapped: { [weak self] in self?.executeHUDTapAction(self?.deviceManager.didTapOnCGMStatus(), from: self?.view) }, @@ -1434,70 +1434,7 @@ final class StatusTableViewController: LoopChartsTableViewController { performSegue(withIdentifier: PredictionTableViewController.className, sender: indexPath) } case .iob: - let showLegacy = false - - if !showLegacy, let pumpManager = deviceManager.pumpManager { - let hostingController = UIHostingController( - rootView: InsulinDeliveryLog( - viewModel: InsulinDeliveryLogViewModel( - loopDataManager: loopManager, - pumpManager: pumpManager - ), - onTapGesture: { [weak navigationController] doseEntry in - Task { - var dosingDecision: StoredDosingDecision? - if let decisionId = doseEntry.decisionId { - do { - dosingDecision = try await self.loopManager.dosingDecisionStore.findDosingDecisionsById(decisionId) - } catch { - self.log.error("Error finding dosing decision: %{public}@", String(describing: error)) - } - } - - let viewController = CommandResponseViewController(command: { (completionHandler) -> String in - var description = [String]() - - let timeFormatter: DateFormatter = { - let formatter = DateFormatter() - - formatter.dateStyle = .none - formatter.timeStyle = .short - - return formatter - }() - - description.append(timeFormatter.string(from: doseEntry.startDate)) - - description.append(String(describing: doseEntry)) - - if let dosingDecision { - description.append(String(describing: dosingDecision)) - } - - return description.joined(separator: "\n\n") - }) - - navigationController?.pushViewController(viewController, animated: true) - } - }, - onEnterManualDose: { [weak self] in - self?.presentManualDoseEntry() - } - ) - .navigationTitle(Text("Insulin")) - .environment(\.colorPalette, .default) - .environment(\.loopStatusColorPalette, .loopStatus) - ) - - hostingController.hidesBottomBarWhenPushed = true - - navigationController?.pushViewController( - hostingController, - animated: true - ) - } else { - performSegue(withIdentifier: InsulinDeliveryTableViewController.className, sender: indexPath) - } + showInsulinDelivery(sender: indexPath) case .cob: performSegue(withIdentifier: CarbAbsorptionViewController.className, sender: indexPath) } @@ -1852,6 +1789,74 @@ final class StatusTableViewController: LoopChartsTableViewController { } } + /// The insulin screen behind the IOB chart and the Now screen's IOB tile. + private func showInsulinDelivery(sender: Any?) { + let showLegacy = false + + if !showLegacy, let pumpManager = deviceManager.pumpManager { + let hostingController = UIHostingController( + rootView: InsulinDeliveryLog( + viewModel: InsulinDeliveryLogViewModel( + loopDataManager: loopManager, + pumpManager: pumpManager + ), + onTapGesture: { [weak navigationController] doseEntry in + Task { + var dosingDecision: StoredDosingDecision? + if let decisionId = doseEntry.decisionId { + do { + dosingDecision = try await self.loopManager.dosingDecisionStore.findDosingDecisionsById(decisionId) + } catch { + self.log.error("Error finding dosing decision: %{public}@", String(describing: error)) + } + } + + let viewController = CommandResponseViewController(command: { (completionHandler) -> String in + var description = [String]() + + let timeFormatter: DateFormatter = { + let formatter = DateFormatter() + + formatter.dateStyle = .none + formatter.timeStyle = .short + + return formatter + }() + + description.append(timeFormatter.string(from: doseEntry.startDate)) + + description.append(String(describing: doseEntry)) + + if let dosingDecision { + description.append(String(describing: dosingDecision)) + } + + return description.joined(separator: "\n\n") + }) + + navigationController?.pushViewController(viewController, animated: true) + } + }, + onEnterManualDose: { [weak self] in + self?.presentManualDoseEntry() + } + ) + .navigationTitle(Text("Insulin")) + .environment(\.colorPalette, .default) + .environment(\.loopStatusColorPalette, .loopStatus) + ) + + hostingController.hidesBottomBarWhenPushed = true + + navigationController?.pushViewController( + hostingController, + animated: true + ) + } else { + performSegue(withIdentifier: InsulinDeliveryTableViewController.className, sender: sender) + } + } + private func addPumpManagerViewToHUD(_ view: BaseHUDView) { if let hudView = hudView { view.stateColors = .pumpStatus @@ -2453,6 +2458,8 @@ extension StatusTableViewController { func showDay(_ day: Date) { let detail = UIHostingController(rootView: DayDetailView(provider: nowModel.provider, day: day)) + // As for the Insulin, Carbohydrates and Predicted Glucose screens pushed from Now. + detail.hidesBottomBarWhenPushed = true navigationController?.pushViewController(detail, animated: true) } @@ -2462,19 +2469,10 @@ extension StatusTableViewController { showLastError(self) } else if lastLoopError != nil { showLastError(self) - } else if let lastCompleted { - let mode = settingsManager.dosingEnabled - ? NSLocalizedString("Closed loop is on.", comment: "Message in the alert shown when tapping the Loop status on the Now screen while closed loop is on") - : NSLocalizedString("Closed loop is off: Loop recommends but doesn't adjust insulin.", comment: "Message in the alert shown when tapping the Loop status on the Now screen while closed loop is off") - presentLoopCompletionMessage(title: String(format: NSLocalizedString("Loop ran at %1$@", comment: "Title of the alert shown when tapping the Loop status on the Now screen. (1: time Loop last completed, e.g. 14:05)"), LoopFormat.time(lastCompleted)), message: mode) } else { - presentLoopCompletionMessage(title: NSLocalizedString("Loop hasn't run yet", comment: "Title of the alert shown when tapping the Loop status on the Now screen before Loop has ever completed"), message: NSLocalizedString("Loop runs when it has a new CGM reading and can reach the pump.", comment: "Message in the alert shown when tapping the Loop status on the Now screen before Loop has ever completed")) + // The classic HUD keeps this current; the new interface has no HUD, so set it before presenting. + loopCompletionModalViewModel.ago = lastCompleted.map { Date().timeIntervalSince($0) } + showLoopCompletionMessage(self) } } - - private func presentLoopCompletionMessage(title: String, message: String) { - let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert) - alertController.addAction(UIAlertAction(title: NSLocalizedString("Dismiss", comment: "The button label of the action used to dismiss an error alert"), style: .default)) - present(alertController, animated: true) - } } diff --git a/Loop/Views/SettingsView.swift b/Loop/Views/SettingsView.swift index dcb5995f0d..5cbdb9953e 100644 --- a/Loop/Views/SettingsView.swift +++ b/Loop/Views/SettingsView.swift @@ -342,22 +342,25 @@ extension SettingsView { private var statisticsSection: some View { if let glucoseStore = viewModel.deviceManager?.glucoseStore { Section { - NavigationLink(destination: StatisticsView( - glucoseStore: glucoseStore, - insulinDeliveryHistory: viewModel.insulinDeliveryHistory, - scheduledBasalTotal: viewModel.therapySettings().basalRateSchedule?.total() - )) { - LargeButton( - action: {}, - includeArrow: false, - imageView: Image(systemName: "chart.xyaxis.line") - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: 30), - label: NSLocalizedString("Statistics", comment: "Statistics settings button text"), - descriptiveText: NSLocalizedString("Glucose overview, ambulatory glucose profile and daily insulin", comment: "Statistics settings descriptive text") - ) - .accessibilityIdentifier("settingsViewStatistics") + // The new interface's Trends tab covers these statistics. + if !LoopInterfacePreference.useRedesign { + NavigationLink(destination: StatisticsView( + glucoseStore: glucoseStore, + insulinDeliveryHistory: viewModel.insulinDeliveryHistory, + scheduledBasalTotal: viewModel.therapySettings().basalRateSchedule?.total() + )) { + LargeButton( + action: {}, + includeArrow: false, + imageView: Image(systemName: "chart.xyaxis.line") + .resizable() + .aspectRatio(contentMode: .fit) + .frame(width: 30), + label: NSLocalizedString("Statistics", comment: "Statistics settings button text"), + descriptiveText: NSLocalizedString("Glucose overview, ambulatory glucose profile and daily insulin", comment: "Statistics settings descriptive text") + ) + .accessibilityIdentifier("settingsViewStatistics") + } } NavigationLink(destination: CurrentSetupView(viewModel: CurrentSetupViewModel( selected: setupChange, diff --git a/LoopTests/Models/LoopHistoryMathTests.swift b/LoopTests/Models/LoopHistoryMathTests.swift index 79294fcde9..e5a34bd9ca 100644 --- a/LoopTests/Models/LoopHistoryMathTests.swift +++ b/LoopTests/Models/LoopHistoryMathTests.swift @@ -17,6 +17,19 @@ class LoopHistoryMathTests: XCTestCase { // MARK: Basal + func testUnrecordedBasalCountsAtTheProgrammedRateOnlyAfterRecordsBegin() { + let window = DateInterval(start: at(0), end: at(240)) + let programmed = [LoopHistoryMath.ScheduleValue(start: at(0), end: at(240), rate: 1.2)] + let temp = LoopHistoryMath.BasalDelivery(start: at(120), end: at(150), rate: 0.4, kind: .temp, automatic: true) + let segments = LoopHistoryMath.basalSegments(window: window, schedule: programmed, deliveries: [temp], + programmedRates: programmed, recordsStart: at(60)) + // Nothing before the first record; 60–120 and 150–240 at 1.2 U/h; 120–150 at the temp rate. + XCTAssertNil(LoopHistoryMath.basalRate(at: at(30), in: segments)) + XCTAssertEqual(LoopHistoryMath.basalRate(at: at(90), in: segments)?.kind, .scheduled) + XCTAssertEqual(LoopHistoryMath.basalRate(at: at(135), in: segments)?.rate, 0.4) + XCTAssertEqual(segments.reduce(0) { $0 + $1.units }, 1.2 * 2.5 + 0.4 * 0.5, accuracy: 1e-9) + } + func testBasalGapsDoNotInventDelivery() { let window = DateInterval(start: at(0), end: at(120)) let schedule = [LoopHistoryMath.ScheduleValue(start: at(-60), end: at(240), rate: 1.0)] From 32d3c295ced9f4ca759cd517d338a2f3127718bd Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Thu, 29 Oct 2026 10:06:24 +0000 Subject: [PATCH 09/17] Show basal and bolus explicitly on Trends, the day page and the Logbook MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Trends has a "Basal and bolus" card above Insulin per day. It shows a ratio bar, basal and bolus in units and percent, the manual and automatic bolus, and the total. For a period it's the average per day, over the same days as the Insulin per day figure; for today it's "so far". - The day page shows the same card in place of the bolus and basal tiles. - Each Logbook day header has a hairline ratio bar and "Basal x · Bolus y · z U" under the date. - Bolus gets its own colour, a deeper orange than basal's pale fill, so the two read apart by lightness as in Glooko and Tidepool, with no new hue. Automatic bolus is the same colour hatched (tinted in hairline bars), on the timeline, the daily bars and the legends. - A dose in Apple Health that doesn't say whether it was automatic is no longer counted as manual. While any bolus in range is unclassified, the manual and automatic detail is hidden rather than guessed. - The CSV export adds manual_bolus_u and auto_bolus_u columns, which are blank for days with an unclassified bolus. - The new strings are translated into the redesign's 23 languages. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01QHnVP5sTMyrVG4zz5Wp4KM --- .../bolus-ink.colorset/Contents.json | 38 + .../bolus.colorset/Contents.json | 38 + .../bolus-ink.colorset/Contents.json | 38 + .../bolus.colorset/Contents.json | 38 + Loop/Localizable.xcstrings | 2147 ++++++++++++++++- Loop/Redesign/DayCharts.swift | 11 +- Loop/Redesign/DayDetailView.swift | 11 +- Loop/Redesign/LogbookScreen.swift | 33 +- Loop/Redesign/LoopDesign.swift | 39 +- Loop/Redesign/LoopHistoryMath.swift | 22 +- Loop/Redesign/LoopHistoryModels.swift | 45 + Loop/Redesign/LoopHistoryProvider.swift | 6 +- Loop/Redesign/NowScreen.swift | 6 +- Loop/Redesign/TrendsComponents.swift | 171 +- Loop/Redesign/TrendsScreen.swift | 44 +- LoopTests/Models/LoopHistoryMathTests.swift | 47 +- 16 files changed, 2674 insertions(+), 60 deletions(-) create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json create mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json create mode 100644 Loop/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json new file mode 100644 index 0000000000..bb4f1aa067 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.604", + "green": "0.263", + "blue": "0.024", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.706", + "blue": "0.420", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json new file mode 100644 index 0000000000..0f59ecaee8 --- /dev/null +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.769", + "green": "0.349", + "blue": "0.039", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.639", + "blue": "0.278", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json new file mode 100644 index 0000000000..bb4f1aa067 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.604", + "green": "0.263", + "blue": "0.024", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.706", + "blue": "0.420", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json new file mode 100644 index 0000000000..0f59ecaee8 --- /dev/null +++ b/Loop/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json @@ -0,0 +1,38 @@ +{ + "colors": [ + { + "color": { + "color-space": "srgb", + "components": { + "red": "0.769", + "green": "0.349", + "blue": "0.039", + "alpha": "1.000" + } + }, + "idiom": "universal" + }, + { + "appearances": [ + { + "appearance": "luminosity", + "value": "dark" + } + ], + "color": { + "color-space": "srgb", + "components": { + "red": "1.000", + "green": "0.639", + "blue": "0.278", + "alpha": "1.000" + } + }, + "idiom": "universal" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Loop/Localizable.xcstrings b/Loop/Localizable.xcstrings index 9d7b8c41b1..ddcf5ec118 100644 --- a/Loop/Localizable.xcstrings +++ b/Loop/Localizable.xcstrings @@ -12,6 +12,2151 @@ }, " -" : { + }, + "%1$@ manual, %2$@ automatic" : { + "comment" : "VoiceOver: how the bolus divides. (1: manual units, 2: automatic units)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ يدوي، %2$@ تلقائي" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ ručně, %2$@ automaticky" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuel, %2$@ automatisk" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuell, %2$@ automatisch" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manual, %2$@ automático" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuaalinen, %2$@ automaattinen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuel, %2$@ automatique" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ ידני, %2$@ אוטומטי" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ kézi, %2$@ automatikus" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuale, %2$@ automatico" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "手動 %1$@、自動 %2$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuell, %2$@ automatisk" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ handmatig, %2$@ automatisch" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ ręcznie, %2$@ automatycznie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manual, %2$@ automático" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manual, %2$@ automat" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ вручную, %2$@ автоматически" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ ručne, %2$@ automaticky" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuell, %2$@ automatisk" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuel, %2$@ otomatik" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ вручну, %2$@ автоматично" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ thủ công, %2$@ tự động" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "手动 %1$@,自动 %2$@" + } + } + } + }, + "Automatic %1$@" : { + "comment" : "Basal and bolus: bolus Loop gave automatically. (1: units, e.g. 5.4 U)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تلقائي %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automaticky %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatisk %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatisch %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automático %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automaattinen %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatique %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "אוטומטי %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatikus %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatico %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "自動 %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatisk %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatisch %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatycznie %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automático %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automat %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Автоматически %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automaticky %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatisk %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otomatik %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Автоматично %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tự động %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自动 %1$@" + } + } + } + }, + "average per day" : { + "comment" : "Trends Basal and bolus card subtitle when the figures are averaged per day over the period", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "المتوسط اليومي" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "průměr za den" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "gennemsnit pr. dag" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Durchschnitt pro Tag" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "promedio por día" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "keskiarvo päivässä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "moyenne par jour" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "ממוצע ליום" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "napi átlag" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "media al giorno" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日あたりの平均" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "gjennomsnitt per dag" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "gemiddeld per dag" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "średnio dziennie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "média por dia" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "medie pe zi" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "в среднем за день" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "priemer za deň" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "medel per dag" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "günlük ortalama" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "у середньому за день" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "trung bình mỗi ngày" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "每日平均" + } + } + } + }, + "Basal %1$@ · Bolus %2$@ · %3$@" : { + "comment" : "Logbook day header: the day's basal, bolus and total insulin. (1: basal units as a number, 2: bolus units as a number, 3: total with unit, e.g. 40.0 U)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "القاعدية %1$@ · البلعة %2$@ · %3$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál %1$@ · Bolus %2$@ · %3$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolo %2$@ · %3$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaali %1$@ · Bolus %2$@ · %3$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bólus %2$@ · %3$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basale %1$@ · Bolo %2$@ · %3$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ベーサル %1$@ · ボーラス %2$@ · %3$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaal %1$@ · Bolus %2$@ · %3$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podstawowy %1$@ · Bolus %2$@ · %3$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazală %1$@ · Bolus %2$@ · %3$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал %1$@ · Болюс %2$@ · %3$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál %1$@ · Bolus %2$@ · %3$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazal %1$@ · Bolus %2$@ · %3$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал %1$@ · Болюс %2$@ · %3$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "基础 %1$@ · 大剂量 %2$@ · %3$@" + } + } + } + }, + "Basal %1$@ · Bolus %2$@ · %3$@ so far" : { + "comment" : "Logbook day header for today: basal, bolus and total insulin so far. (1: basal units as a number, 2: bolus units as a number, 3: total with unit, e.g. 40.0 U)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "القاعدية %1$@ · البلعة %2$@ · %3$@ حتى الآن" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál %1$@ · Bolus %2$@ · %3$@ zatím" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@ indtil nu" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@ bisher" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolo %2$@ · %3$@ hasta ahora" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaali %1$@ · Bolus %2$@ · %3$@ tähän mennessä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@ jusqu'ici" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@ עד כה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bólus %2$@ · %3$@ eddig" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basale %1$@ · Bolo %2$@ · %3$@ finora" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ベーサル %1$@ · ボーラス %2$@ · これまで %3$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@ så langt" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaal %1$@ · Bolus %2$@ · %3$@ tot nu toe" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podstawowy %1$@ · Bolus %2$@ · %3$@ do tej pory" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@ até agora" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazală %1$@ · Bolus %2$@ · %3$@ până acum" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал %1$@ · Болюс %2$@ · %3$@ на данный момент" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál %1$@ · Bolus %2$@ · %3$@ zatiaľ" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@ hittills" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazal %1$@ · Bolus %2$@ · şu ana kadar %3$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал %1$@ · Болюс %2$@ · %3$@ наразі" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@ · Bolus %2$@ · %3$@ đến giờ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "基础 %1$@ · 大剂量 %2$@ · 至今 %3$@" + } + } + } + }, + "Basal %1$@, %2$@ percent" : { + "comment" : "VoiceOver: basal units and share. (1: units, 2: percentage number)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "القاعدية %1$@، %2$@ بالمئة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál %1$@, %2$@ procent" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ procent" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ Prozent" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ por ciento" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaali %1$@, %2$@ prosenttia" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ pour cent" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ אחוז" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ százalék" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basale %1$@, %2$@ percento" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ベーサル %1$@、%2$@ パーセント" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ prosent" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaal %1$@, %2$@ procent" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podstawowy %1$@, %2$@ procent" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ por cento" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazală %1$@, %2$@ la sută" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал %1$@, %2$@ процентов" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál %1$@, %2$@ percent" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ procent" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazal %1$@, yüzde %2$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал %1$@, %2$@ відсотків" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ phần trăm" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "基础 %1$@,百分之 %2$@" + } + } + } + }, + "Basal and bolus" : { + "comment" : "Trends and day page card title: insulin split into basal and bolus", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "القاعدية والبلعة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál a bolus" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal og bolus" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal und Bolus" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal y bolo" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaali ja bolus" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal et bolus" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal ו-Bolus" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal és bólus" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basale e bolo" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ベーサルとボーラス" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal og bolus" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaal en bolus" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Insulina podstawowa i bolus" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal e bolus" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazală și bolus" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал и болюс" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál a bolus" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal och bolus" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazal ve bolus" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал і болюс" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal và bolus" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "基础与大剂量" + } + } + } + }, + "Bolus %1$@, %2$@ percent" : { + "comment" : "VoiceOver: bolus units and share. (1: units, 2: percentage number)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "البلعة %1$@، %2$@ بالمئة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@, %2$@ procent" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@, %2$@ procent" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@, %2$@ Prozent" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolo %1$@, %2$@ por ciento" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@, %2$@ prosenttia" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@, %2$@ pour cent" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@, %2$@ אחוז" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bólus %1$@, %2$@ százalék" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolo %1$@, %2$@ percento" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ボーラス %1$@、%2$@ パーセント" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@, %2$@ prosent" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@, %2$@ procent" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@, %2$@ procent" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@, %2$@ por cento" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@, %2$@ la sută" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Болюс %1$@, %2$@ процентов" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@, %2$@ percent" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@, %2$@ procent" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@, yüzde %2$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Болюс %1$@, %2$@ відсотків" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus %1$@, %2$@ phần trăm" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "大剂量 %1$@,百分之 %2$@" + } + } + } + }, + "Manual %1$@" : { + "comment" : "Basal and bolus: bolus the person gave. (1: units, e.g. 16.2 U)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "يدوي %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ručně %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manuel %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manuell %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manual %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manuaalinen %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manuel %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "ידני %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Kézi %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manuale %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "手動 %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manuell %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Handmatig %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ręcznie %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manual %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manual %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вручную %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ručne %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manuell %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Manuel %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Вручну %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thủ công %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "手动 %1$@" + } + } + } + }, + "this day" : { + "comment" : "Trends Basal and bolus card subtitle when the period is one complete day", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "هذا اليوم" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "tento den" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "denne dag" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "dieser Tag" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "este día" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "tämä päivä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "ce jour" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "יום זה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "ez a nap" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "questo giorno" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "この日" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "denne dagen" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "deze dag" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "ten dzień" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "este dia" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "această zi" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "этот день" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "tento deň" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "denna dag" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "bu gün" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "цей день" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "ngày này" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "当天" + } + } + } + }, + "today so far" : { + "comment" : "Trends Basal and bolus card subtitle when the figures are today's total so far", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "اليوم حتى الآن" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "dnes zatím" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "i dag indtil nu" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "heute bisher" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "hoy hasta ahora" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "tänään tähän mennessä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "aujourd'hui jusqu'ici" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "היום עד כה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "ma eddig" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "oggi finora" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今日のこれまで" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "i dag så langt" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "vandaag tot nu toe" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "dziś do tej pory" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "hoje até agora" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "azi până acum" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "сегодня на данный момент" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "dnes zatiaľ" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "hittills i dag" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "bugün şu ana kadar" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "сьогодні наразі" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "hôm nay đến giờ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "今日至今" + } + } + } + }, + "Total" : { + "comment" : "Basal and bolus total row: basal plus bolus", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الإجمالي" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Celkem" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "I alt" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gesamt" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yhteensä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "סה״כ" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Összesen" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totale" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "合計" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totalt" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totaal" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Razem" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Всего" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Spolu" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totalt" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toplam" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Усього" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tổng" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "总计" + } + } + } + }, + "Total %1$@" : { + "comment" : "VoiceOver: total insulin. (1: units)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الإجمالي %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Celkem %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "I alt %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gesamt %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yhteensä %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "סה״כ %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Összesen %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totale %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "合計 %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totalt %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totaal %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Razem %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Всего %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Spolu %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totalt %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Toplam %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Усього %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tổng %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "总计 %1$@" + } + } + } + }, + "Total so far" : { + "comment" : "Basal and bolus total row for today, which isn't over yet", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الإجمالي حتى الآن" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Celkem zatím" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "I alt indtil nu" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gesamt bisher" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total hasta ahora" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yhteensä tähän mennessä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total jusqu'ici" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "סה״כ עד כה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Összesen eddig" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totale finora" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "これまでの合計" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totalt så langt" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totaal tot nu toe" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Razem do tej pory" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total até agora" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total până acum" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Всего на данный момент" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Spolu zatiaľ" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totalt hittills" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Şu ana kadar toplam" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Усього наразі" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tổng đến giờ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "至今总计" + } + } + } + }, + "Total so far %1$@" : { + "comment" : "VoiceOver: today's total insulin so far. (1: units)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الإجمالي حتى الآن %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Celkem zatím %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "I alt indtil nu %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gesamt bisher %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total hasta ahora %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yhteensä tähän mennessä %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total jusqu'ici %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "סה״כ עד כה %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Összesen eddig %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totale finora %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "これまでの合計 %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totalt så langt %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totaal tot nu toe %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Razem do tej pory %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total até agora %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Total până acum %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Всего на данный момент %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Spolu zatiaľ %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Totalt hittills %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Şu ana kadar toplam %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Усього наразі %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tổng đến giờ %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "至今总计 %1$@" + } + } + } }, " - " : { @@ -8702,7 +10847,7 @@ } }, "Automatic" : { - "comment" : "Chart legend: outlined bars are automatic boluses given by Loop", + "comment" : "Chart legend: hatched bars are automatic boluses given by Loop", "localizations" : { "ar" : { "stringUnit" : { diff --git a/Loop/Redesign/DayCharts.swift b/Loop/Redesign/DayCharts.swift index 5fc8222563..c6051b4150 100644 --- a/Loop/Redesign/DayCharts.swift +++ b/Loop/Redesign/DayCharts.swift @@ -84,6 +84,7 @@ struct InsulinTimelineView: View { var height: CGFloat = 260 @State private var selection: Date? + @Environment(\.colorScheme) private var colorScheme private static let insulinTop = 30.0 private static let basalTop = 12.0 @@ -198,17 +199,15 @@ struct InsulinTimelineView: View { ForEach(history.boluses) { bolus in if bolus.automatic { RectangleMark(x: .value("Time", bolus.date), yStart: .value("Base", 0), yEnd: .value("Bolus", y(bolus: bolus.units)), width: .fixed(5)) - .foregroundStyle(P.insulin) - RectangleMark(x: .value("Time", bolus.date), yStart: .value("Base", 0.6), yEnd: .value("Bolus", max(0.6, y(bolus: bolus.units) - 0.6)), width: .fixed(2)) - .foregroundStyle(P.surfaceRaised) + .foregroundStyle(Hatch.paint(P.bolus, scheme: colorScheme)) } else { RectangleMark(x: .value("Time", bolus.date), yStart: .value("Base", 0), yEnd: .value("Bolus", y(bolus: bolus.units)), width: .fixed(5)) - .foregroundStyle(P.insulin) + .foregroundStyle(P.bolus) .annotation(position: .top, spacing: 2) { if bolusLabels.contains(bolus.id) { Text(LoopFormat.number(bolus.units, decimals: 1)) .font(LoopDesign.Typeface.caption) - .foregroundStyle(P.insulinInk) + .foregroundStyle(P.bolusInk) } } } @@ -288,7 +287,7 @@ struct InsulinTimelineView: View { rows.append(.init(label: bolus.automatic ? NSLocalizedString("Automatic bolus", comment: "Chart callout label for a bolus Loop delivered automatically near the touched time") : NSLocalizedString("Bolus", comment: "Chart callout label for a bolus near the touched time"), - value: LoopFormat.doseUnits(bolus.units), color: P.insulinInk)) + value: LoopFormat.doseUnits(bolus.units), color: P.bolusInk)) } return rows } diff --git a/Loop/Redesign/DayDetailView.swift b/Loop/Redesign/DayDetailView.swift index d2ba0a11e7..0de39e2fbd 100644 --- a/Loop/Redesign/DayDetailView.swift +++ b/Loop/Redesign/DayDetailView.swift @@ -44,7 +44,6 @@ struct DayDetailView: View { } InsulinTimelineView(history: history, unit: provider.unitStyle, targetBands: provider.glucoseTargetBands(in: history.window), now: now, height: 300) - DayTotalsTiles(history: history) ChartLegend(items: DayTotalsTiles.legend) if history.source == .health { Text(NSLocalizedString("From Apple Health: Loop keeps 7 days, so this day has no temp basal or schedule detail.", comment: "Day page note when the day is older than Loop's 7-day history and was read from Apple Health")) @@ -57,6 +56,16 @@ struct DayDetailView: View { .foregroundStyle(P.inkMuted) } } + LoopCard { + CardHeader(title: NSLocalizedString("Basal and bolus", comment: "Trends card title: insulin split into basal and bolus")) + InsulinSplitView(split: history.insulinSplit, partial: isToday) + ValueTile(label: NSLocalizedString("Carbs", comment: "Label of a tile showing the day's total carbohydrate")) { + Text(LoopFormat.grams(history.carbGrams)) + .font(LoopDesign.Typeface.statValueSmall) + .foregroundStyle(P.carbsInk) + } + .fixedSize(horizontal: false, vertical: true) + } LoopCard { CardHeader(title: NSLocalizedString("Active insulin and carbs", comment: "Title of the day page card charting insulin and carbs on board")) if history.iob.isEmpty && history.cob.isEmpty { diff --git a/Loop/Redesign/LogbookScreen.swift b/Loop/Redesign/LogbookScreen.swift index 1008ade0fd..87024edb16 100644 --- a/Loop/Redesign/LogbookScreen.swift +++ b/Loop/Redesign/LogbookScreen.swift @@ -59,7 +59,7 @@ struct LogEntry: Identifiable { struct LogDay: Identifiable { let day: Date let entries: [LogEntry] - let insulin: Double + let insulin: InsulinSplit let carbs: Double var id: Date { day } } @@ -146,9 +146,9 @@ final class LogbookModel: ObservableObject { ? NSLocalizedString("Automatic bolus", comment: "Logbook row title: a bolus Loop delivered automatically") : NSLocalizedString("Bolus", comment: "Logbook row title: a bolus"), subtitle: joined(parts), - amount: LoopFormat.doseUnits(bolus.units), amountColor: P.insulinInk, + amount: LoopFormat.doseUnits(bolus.units), amountColor: P.bolusInk, detail: LoopFormat.time(bolus.date), - icon: "plus", iconFill: P.insulin, + icon: "plus", iconFill: P.bolus, filters: bolus.automatic ? [.bolus, .loop] : [.bolus], delete: canDelete && bolus.manuallyEntered ? bolus.dose.map { .deleteDose($0) } : nil)) } @@ -219,7 +219,7 @@ final class LogbookModel: ObservableObject { icon: "circle.dashed", iconFill: P.inkMuted.opacity(0.5), filters: [])) } - let insulin = segments.reduce(0) { $0 + $1.units } + history.boluses.filter { inDay($0.date) }.reduce(0) { $0 + $1.units } + let insulin = InsulinSplit(basal: segments.reduce(0) { $0 + $1.units }, boluses: history.boluses.filter { inDay($0.date) }) return LogDay(day: day.start, entries: entries.sorted { $0.date > $1.date }, insulin: insulin, carbs: carbsToday.reduce(0) { $0 + $1.grams }) } @@ -317,7 +317,7 @@ struct LogbookView: View { if day.entries.isEmpty { Text(model.filter != .all ? NSLocalizedString("Nothing to show for this filter", comment: "Logbook day with no entries matching the selected filter") - : day.insulin > 0 + : day.insulin.total > 0 ? NSLocalizedString("Scheduled basal only", comment: "Logbook day where only the scheduled basal ran, with nothing else logged") : NSLocalizedString("Nothing logged", comment: "Logbook day with no entries")) .font(LoopDesign.Typeface.footnote) @@ -389,16 +389,21 @@ struct LogbookView: View { : calendar.isDateInYesterday(day.day) ? String(format: NSLocalizedString("Yesterday · %1$@", comment: "Logbook day header for yesterday. (1: weekday and date, e.g. Sat 24 Oct)"), date) : date - return HStack(alignment: .firstTextBaseline) { - Text(title) - .font(LoopDesign.Typeface.headline) - .foregroundStyle(P.ink) - Spacer() - Text(LoopFormat.totalUnits(day.insulin)).foregroundStyle(P.insulinInk) - Text("·").foregroundStyle(P.inkMuted) - Text(LoopFormat.grams(day.carbs)).foregroundStyle(P.carbsInk) + return VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { + HStack(alignment: .firstTextBaseline) { + Text(title) + .font(LoopDesign.Typeface.headline) + .foregroundStyle(P.ink) + Spacer() + Text(LoopFormat.grams(day.carbs)) + .font(LoopDesign.Typeface.footnote.monospacedDigit()) + .foregroundStyle(P.carbsInk) + } + if day.insulin.total > 0 { + InsulinSplitLine(split: day.insulin, partial: calendar.isDateInToday(day.day)) + } } - .font(LoopDesign.Typeface.footnote) + .padding(.bottom, 2) .textCase(nil) .accessibilityElement(children: .combine) } diff --git a/Loop/Redesign/LoopDesign.swift b/Loop/Redesign/LoopDesign.swift index c23b2a1ba7..15aeaa3afb 100644 --- a/Loop/Redesign/LoopDesign.swift +++ b/Loop/Redesign/LoopDesign.swift @@ -41,6 +41,9 @@ enum LoopDesign { static let insulinInk = Color("insulin-ink") static let basal = Color("basal") static let basalEdge = Color("basal-edge") + /// Bolus is insulin's orange made deeper, so it reads against pale basal by lightness, not by a new hue. + static let bolus = Color("bolus") + static let bolusInk = Color("bolus-ink") static let basalScheduled = inkMuted static let carbs = Color("carbs") static let carbsInk = Color("carbs-ink") @@ -137,6 +140,7 @@ struct LegendItem: Identifiable { case outline(Color) case dash(Color) case dot(Color) + case hatch(Color) case basal } @@ -152,7 +156,7 @@ struct ChartLegend: View { FlowLayout(spacing: LoopDesign.Space.s3, lineSpacing: LoopDesign.Space.s1) { ForEach(items) { item in HStack(spacing: LoopDesign.Space.s1) { - swatch(item.swatch) + LegendSwatch(swatch: item.swatch) Text(item.label) } .accessibilityElement(children: .combine) @@ -161,9 +165,14 @@ struct ChartLegend: View { .font(LoopDesign.Typeface.footnote) .foregroundStyle(LoopDesign.Palette.inkMuted) } +} + +/// The 10-point key for one kind of mark, shared by legends and the basal and bolus rows. +struct LegendSwatch: View { + let swatch: LegendItem.Swatch + @Environment(\.colorScheme) private var scheme - @ViewBuilder - private func swatch(_ swatch: LegendItem.Swatch) -> some View { + var body: some View { switch swatch { case .solid(let color): RoundedRectangle(cornerRadius: 2).fill(color).frame(width: 10, height: 10) @@ -178,6 +187,8 @@ struct ChartLegend: View { .frame(width: 14, height: 2) case .dot(let color): Circle().fill(color).frame(width: 8, height: 8) + case .hatch(let color): + RoundedRectangle(cornerRadius: 2).fill(Hatch.paint(color, scheme: scheme)).frame(width: 10, height: 10) case .basal: VStack(spacing: 0) { Rectangle().fill(LoopDesign.Palette.basalEdge).frame(height: 2) @@ -189,6 +200,28 @@ struct ChartLegend: View { } } +/// Diagonal stripes over a pale tint of a colour: automatic bolus, wherever a mark is wide enough to show it. +enum Hatch { + static func paint(_ color: Color, scheme: ColorScheme) -> ImagePaint { + let resolved = UIColor(color).resolvedColor(with: UITraitCollection(userInterfaceStyle: scheme == .dark ? .dark : .light)) + let size: CGFloat = 5 + let image = UIGraphicsImageRenderer(size: CGSize(width: size, height: size)).image { context in + resolved.withAlphaComponent(scheme == .dark ? 0.3 : 0.22).setFill() + context.fill(CGRect(x: 0, y: 0, width: size, height: size)) + resolved.setStroke() + // One stripe corner to corner, plus the ends of its neighbours, so tiles join into unbroken lines. + let path = UIBezierPath() + path.lineWidth = 1.4 + for offset in [-size, 0, size] { + path.move(to: CGPoint(x: offset, y: size)) + path.addLine(to: CGPoint(x: offset + size, y: 0)) + } + path.stroke() + } + return ImagePaint(image: Image(uiImage: image)) + } +} + /// Wraps its children onto new lines, for legends and chips. struct FlowLayout: Layout { var spacing: CGFloat diff --git a/Loop/Redesign/LoopHistoryMath.swift b/Loop/Redesign/LoopHistoryMath.swift index 385cb8ce1f..021f79b448 100644 --- a/Loop/Redesign/LoopHistoryMath.swift +++ b/Loop/Redesign/LoopHistoryMath.swift @@ -171,12 +171,24 @@ enum LoopHistoryMath { struct DayTotal: Equatable, Identifiable { let day: Date - let basal: Double - let bolus: Double + let split: InsulinSplit /// False for a day still in progress, so its partial total doesn't pull per-day averages down. var isComplete = true var id: Date { day } - var total: Double { basal + bolus } + var basal: Double { split.basal } + var bolus: Double { split.bolus } + var total: Double { split.total } + + init(day: Date, split: InsulinSplit, isComplete: Bool = true) { + self.day = day + self.split = split + self.isComplete = isComplete + } + + /// A total with no manual or automatic detail: all of its bolus counts as manual. + init(day: Date, basal: Double, bolus: Double, isComplete: Bool = true) { + self.init(day: day, split: InsulinSplit(basal: basal, manualBolus: bolus), isComplete: isComplete) + } } /// The days per-day insulin figures average over: days with insulin, leaving out a day still in progress @@ -200,9 +212,7 @@ enum LoopHistoryMath { cal.firstWeekday = 2 let groups = Dictionary(grouping: totals) { cal.dateInterval(of: .weekOfYear, for: $0.day)?.start ?? $0.day } return groups.keys.sorted().map { week in - let days = averagingDays(groups[week]!) - let n = Double(max(1, days.count)) - return DayTotal(day: week, basal: days.reduce(0) { $0 + $1.basal } / n, bolus: days.reduce(0) { $0 + $1.bolus } / n) + DayTotal(day: week, split: InsulinSplit.average(averagingDays(groups[week]!).map(\.split))) } } diff --git a/Loop/Redesign/LoopHistoryModels.swift b/Loop/Redesign/LoopHistoryModels.swift index f2950b97c0..6234773306 100644 --- a/Loop/Redesign/LoopHistoryModels.swift +++ b/Loop/Redesign/LoopHistoryModels.swift @@ -28,6 +28,8 @@ struct BolusEvent: Equatable, Identifiable { let manuallyEntered: Bool /// Kept so a manually entered dose can be deleted from the dose store. var dose: DoseEntry? = nil + /// False when the record doesn't say whether Loop or the person gave it, such as another app's doses in Apple Health. + var automaticKnown = true static func == (lhs: BolusEvent, rhs: BolusEvent) -> Bool { lhs.id == rhs.id && lhs.date == rhs.date && lhs.units == rhs.units && lhs.automatic == rhs.automatic @@ -129,6 +131,49 @@ struct DayHistory { var basalUnits: Double { basal.reduce(0) { $0 + $1.units } } var carbGrams: Double { carbs.reduce(0) { $0 + $1.grams } } var totalUnits: Double { bolusUnits + basalUnits } + var insulinSplit: InsulinSplit { InsulinSplit(basal: basalUnits, boluses: boluses) } +} + +/// Basal and bolus for one day, or averaged per day, with bolus split into manual and automatic. +struct InsulinSplit: Equatable { + var basal = 0.0 + var manualBolus = 0.0 + var automaticBolus = 0.0 + /// Bolus that doesn't say whether it was manual or automatic; while there is any, the split isn't shown. + var unclassifiedBolus = 0.0 + + var bolus: Double { manualBolus + automaticBolus + unclassifiedBolus } + var total: Double { basal + bolus } + var isClassified: Bool { unclassifiedBolus < 0.005 } + + /// Shares in whole percent that add up to 100. + var bolusPercent: Int { total > 0 ? Int((bolus / total * 100).rounded()) : 0 } + var basalPercent: Int { total > 0 ? 100 - bolusPercent : 0 } +} + +extension InsulinSplit { + init(basal: Double, boluses: [BolusEvent]) { + self.basal = basal + for bolus in boluses { + if !bolus.automaticKnown { + unclassifiedBolus += bolus.units + } else if bolus.automatic { + automaticBolus += bolus.units + } else { + manualBolus += bolus.units + } + } + } + + /// The per-day average of several days' splits. + static func average(_ splits: [InsulinSplit]) -> InsulinSplit { + guard !splits.isEmpty else { return InsulinSplit() } + let n = Double(splits.count) + return InsulinSplit(basal: splits.reduce(0) { $0 + $1.basal } / n, + manualBolus: splits.reduce(0) { $0 + $1.manualBolus } / n, + automaticBolus: splits.reduce(0) { $0 + $1.automaticBolus } / n, + unclassifiedBolus: splits.reduce(0) { $0 + $1.unclassifiedBolus } / n) + } } enum HistorySource { diff --git a/Loop/Redesign/LoopHistoryProvider.swift b/Loop/Redesign/LoopHistoryProvider.swift index db3fe2362e..b77eedc418 100644 --- a/Loop/Redesign/LoopHistoryProvider.swift +++ b/Loop/Redesign/LoopHistoryProvider.swift @@ -421,13 +421,15 @@ final class LoopHistoryProvider { for sample in samples where FeatureFlags.observeHealthKitDoseSamplesFromOtherApps || sample.sourceRevision.source.bundleIdentifier == own { let units = sample.quantity.doubleValue(for: .internationalUnit()) let reason = (sample.metadata?[HKMetadataKeyInsulinDeliveryReason] as? NSNumber)?.intValue - let automatic = (sample.metadata?["com.loopkit.InsulinKit.MetadataKeyAutomaticallyIssued"] as? NSNumber)?.boolValue ?? false + let automaticFlag = (sample.metadata?["com.loopkit.InsulinKit.MetadataKeyAutomaticallyIssued"] as? NSNumber)?.boolValue + let automatic = automaticFlag ?? false if reason == HKInsulinDeliveryReason.basal.rawValue { if let segment = BasalSegment(healthSample: sample, in: interval) { basal.append(segment) } } else if sample.startDate >= interval.start && sample.startDate < interval.end { - boluses.append(BolusEvent(id: sample.uuid.uuidString, date: sample.startDate, units: units, automatic: automatic, manuallyEntered: false)) + boluses.append(BolusEvent(id: sample.uuid.uuidString, date: sample.startDate, units: units, automatic: automatic, manuallyEntered: false, + automaticKnown: automaticFlag != nil)) } } return (boluses, basal) diff --git a/Loop/Redesign/NowScreen.swift b/Loop/Redesign/NowScreen.swift index 8bdeec5d34..110f6d758e 100644 --- a/Loop/Redesign/NowScreen.swift +++ b/Loop/Redesign/NowScreen.swift @@ -662,8 +662,8 @@ struct DayTotalsTiles: View { let history: DayHistory static let legend: [LegendItem] = [ - LegendItem(swatch: .solid(P.insulin), label: NSLocalizedString("Bolus", comment: "Chart legend: solid bars are manual boluses")), - LegendItem(swatch: .outline(P.insulin), label: NSLocalizedString("Automatic", comment: "Chart legend: outlined bars are automatic boluses given by Loop")), + LegendItem(swatch: .solid(P.bolus), label: NSLocalizedString("Bolus", comment: "Chart legend: solid bars are manual boluses")), + LegendItem(swatch: .hatch(P.bolus), label: NSLocalizedString("Automatic", comment: "Chart legend: hatched bars are automatic boluses given by Loop")), LegendItem(swatch: .basal, label: NSLocalizedString("Basal given", comment: "Chart legend: filled area is basal insulin actually delivered")), LegendItem(swatch: .dash(P.basalScheduled), label: NSLocalizedString("Scheduled", comment: "Chart legend: dashed line is the scheduled basal rate")), ] @@ -673,7 +673,7 @@ struct DayTotalsTiles: View { ValueTile(label: NSLocalizedString("Bolus", comment: "Label of a tile showing the day's total bolus insulin")) { Text(LoopFormat.totalUnits(history.bolusUnits)) .font(LoopDesign.Typeface.statValueSmall) - .foregroundStyle(P.insulinInk) + .foregroundStyle(P.bolusInk) } ValueTile(label: NSLocalizedString("Basal", comment: "Label of a tile showing the current basal rate (Now screen) or the day's basal insulin total (Today so far totals)")) { Text(LoopFormat.totalUnits(history.basalUnits)) diff --git a/Loop/Redesign/TrendsComponents.swift b/Loop/Redesign/TrendsComponents.swift index a892dc49ae..b8e0cc97dd 100644 --- a/Loop/Redesign/TrendsComponents.swift +++ b/Loop/Redesign/TrendsComponents.swift @@ -411,6 +411,167 @@ struct TrendsAGPChart: View { } } +// MARK: - InsulinSplit + +/// Basal against bolus in one capsule: basal, then manual bolus, then automatic bolus. +struct InsulinSplitBar: View { + let split: InsulinSplit + /// A 4-point line for list headers, where automatic bolus is a tint because stripes don't fit. + var hairline = false + @Environment(\.colorScheme) private var scheme + + private enum Part: CaseIterable { case basal, manual, automatic } + + private func units(_ part: Part) -> Double { + switch part { + case .basal: return split.basal + // Unclassified bolus draws as plain bolus. + case .manual: return split.manualBolus + split.unclassifiedBolus + case .automatic: return split.automaticBolus + } + } + + var body: some View { + GeometryReader { geometry in + let parts = Part.allCases.filter { units($0) > 0 } + let gap: CGFloat = hairline ? 1 : 2 + let width = geometry.size.width - gap * CGFloat(max(0, parts.count - 1)) + let minimum: CGFloat = hairline ? 2 : 4 + let widths = parts.map { max(minimum, width * units($0) / max(split.total, .ulpOfOne)) } + // Take what the minimums add from the widest part, so the bar keeps its length. + let excess = widths.reduce(0, +) - width + let widest = widths.indices.max { widths[$0] < widths[$1] } + HStack(spacing: gap) { + ForEach(Array(parts.enumerated()), id: \.offset) { index, part in + segment(part).frame(width: max(0, widths[index] - (index == widest ? excess : 0))) + } + } + .clipShape(Capsule()) + } + .frame(height: hairline ? 4 : 14) + .accessibilityHidden(true) + } + + @ViewBuilder + private func segment(_ part: Part) -> some View { + switch part { + case .basal: + Rectangle().fill(LoopDesign.Palette.basal) + .overlay(alignment: .trailing) { + if !hairline { Rectangle().fill(LoopDesign.Palette.basalEdge).frame(width: 2) } + } + case .manual: + Rectangle().fill(LoopDesign.Palette.bolus) + case .automatic: + if hairline { + Rectangle().fill(LoopDesign.Palette.bolus.opacity(0.45)) + } else { + Rectangle().fill(Hatch.paint(LoopDesign.Palette.bolus, scheme: scheme)) + } + } + } +} + +/// The basal and bolus card body: the bar, units and shares, how the bolus divides, and the total. +struct InsulinSplitView: View { + let split: InsulinSplit + /// Today so far, rather than a whole day or a per-day average. + var partial = false + + var body: some View { + VStack(alignment: .leading, spacing: LoopDesign.Space.s3) { + InsulinSplitBar(split: split) + VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { + row(.basal, NSLocalizedString("Basal", comment: "Basal and bolus row: insulin delivered as basal"), split.basal, split.basalPercent) + row(.solid(LoopDesign.Palette.bolus), NSLocalizedString("Bolus", comment: "Basal and bolus row: insulin delivered as bolus, manual and automatic"), split.bolus, split.bolusPercent) + if split.isClassified && split.bolus > 0 { + FlowLayout(spacing: LoopDesign.Space.s3, lineSpacing: 2) { + part(.solid(LoopDesign.Palette.bolus), String(format: NSLocalizedString("Manual %1$@", comment: "Basal and bolus: bolus the person gave. (1: units, e.g. 16.2 U)"), LoopFormat.totalUnits(split.manualBolus))) + part(.hatch(LoopDesign.Palette.bolus), String(format: NSLocalizedString("Automatic %1$@", comment: "Basal and bolus: bolus Loop gave automatically. (1: units, e.g. 5.4 U)"), LoopFormat.totalUnits(split.automaticBolus))) + } + .font(LoopDesign.Typeface.footnote.monospacedDigit()) + .foregroundStyle(LoopDesign.Palette.inkMuted) + .padding(.leading, 10 + LoopDesign.Space.s2) + } + Divider().padding(.vertical, 2) + HStack(alignment: .firstTextBaseline) { + Text(partial + ? NSLocalizedString("Total so far", comment: "Basal and bolus total row for today, which isn't over yet") + : NSLocalizedString("Total", comment: "Basal and bolus total row: basal plus bolus")) + .font(LoopDesign.Typeface.subhead.weight(.semibold)) + .foregroundStyle(LoopDesign.Palette.ink) + Spacer() + Text(LoopFormat.totalUnits(split.total)) + .font(LoopDesign.Typeface.statValueSmall) + .foregroundStyle(LoopDesign.Palette.ink) + } + } + } + .accessibilityElement(children: .ignore) + .accessibilityLabel(Self.accessibilityLabel(split, partial: partial)) + } + + private func row(_ swatch: LegendItem.Swatch, _ label: String, _ units: Double, _ percent: Int) -> some View { + HStack(alignment: .firstTextBaseline, spacing: LoopDesign.Space.s2) { + LegendSwatch(swatch: swatch).alignmentGuide(.firstTextBaseline) { $0[.bottom] - 1 } + Text(label) + .font(LoopDesign.Typeface.subhead) + .foregroundStyle(LoopDesign.Palette.ink) + Spacer() + Text(LoopFormat.totalUnits(units)) + .font(LoopDesign.Typeface.body.weight(.semibold).monospacedDigit()) + .foregroundStyle(LoopDesign.Palette.ink) + Text(verbatim: "\(percent)%") + .font(LoopDesign.Typeface.footnote.monospacedDigit()) + .foregroundStyle(LoopDesign.Palette.inkMuted) + .frame(minWidth: 38, alignment: .trailing) + } + } + + private func part(_ swatch: LegendItem.Swatch, _ text: String) -> some View { + HStack(spacing: LoopDesign.Space.s1) { + LegendSwatch(swatch: swatch) + Text(text) + } + } + + static func accessibilityLabel(_ split: InsulinSplit, partial: Bool) -> String { + var parts = [ + String(format: NSLocalizedString("Basal %1$@, %2$@ percent", comment: "VoiceOver: basal units and share. (1: units, 2: percentage number)"), LoopFormat.totalUnits(split.basal), "\(split.basalPercent)"), + String(format: NSLocalizedString("Bolus %1$@, %2$@ percent", comment: "VoiceOver: bolus units and share. (1: units, 2: percentage number)"), LoopFormat.totalUnits(split.bolus), "\(split.bolusPercent)"), + ] + if split.isClassified && split.bolus > 0 { + parts.append(String(format: NSLocalizedString("%1$@ manual, %2$@ automatic", comment: "VoiceOver: how the bolus divides. (1: manual units, 2: automatic units)"), + LoopFormat.totalUnits(split.manualBolus), LoopFormat.totalUnits(split.automaticBolus))) + } + parts.append(String(format: partial + ? NSLocalizedString("Total so far %1$@", comment: "VoiceOver: today's total insulin so far. (1: units)") + : NSLocalizedString("Total %1$@", comment: "VoiceOver: total insulin. (1: units)"), + LoopFormat.totalUnits(split.total))) + return parts.joined(separator: ". ") + } +} + +/// A day's basal and bolus in one line under a list header. +struct InsulinSplitLine: View { + let split: InsulinSplit + var partial = false + + var body: some View { + VStack(alignment: .leading, spacing: 5) { + InsulinSplitBar(split: split, hairline: true) + Text(String(format: partial + ? NSLocalizedString("Basal %1$@ · Bolus %2$@ · %3$@ so far", comment: "Logbook day header for today: basal, bolus and total insulin so far. (1: basal units as a number, 2: bolus units as a number, 3: total with unit, e.g. 40.0 U)") + : NSLocalizedString("Basal %1$@ · Bolus %2$@ · %3$@", comment: "Logbook day header: the day's basal, bolus and total insulin. (1: basal units as a number, 2: bolus units as a number, 3: total with unit, e.g. 40.0 U)"), + LoopFormat.number(split.basal, decimals: 1), LoopFormat.number(split.bolus, decimals: 1), LoopFormat.totalUnits(split.total))) + .font(LoopDesign.Typeface.footnote.monospacedDigit()) + .foregroundStyle(LoopDesign.Palette.inkMuted) + } + .accessibilityElement(children: .ignore) + .accessibilityLabel(InsulinSplitView.accessibilityLabel(split, partial: partial)) + } +} + // MARK: - InsulinDailyTotals struct InsulinDailyTotalsView: View { @@ -421,6 +582,7 @@ struct InsulinDailyTotalsView: View { let average: Double var height: CGFloat = 170 var onSelectDay: ((Date) -> Void)? = nil + @Environment(\.colorScheme) private var scheme private var yMax: Double { let top = max(totals.map(\.total).max() ?? 0, average) @@ -444,8 +606,13 @@ struct InsulinDailyTotalsView: View { .foregroundStyle(P.basal) BarMark(x: .value("Day", day.day, unit: unitWidth), yStart: .value("Basal", max(0, day.basal - yMax * 0.006)), yEnd: .value("Edge", day.basal), width: .ratio(0.7)) .foregroundStyle(P.basalEdge) - BarMark(x: .value("Day", day.day, unit: unitWidth), yStart: .value("Basal", day.basal), yEnd: .value("Total", day.total), width: .ratio(0.7)) - .foregroundStyle(P.insulin) + let manualTop = day.basal + day.split.manualBolus + day.split.unclassifiedBolus + BarMark(x: .value("Day", day.day, unit: unitWidth), yStart: .value("Basal", day.basal), yEnd: .value("Bolus", manualTop), width: .ratio(0.7)) + .foregroundStyle(P.bolus) + if day.split.automaticBolus > 0 { + BarMark(x: .value("Day", day.day, unit: unitWidth), yStart: .value("Bolus", manualTop), yEnd: .value("Total", day.total), width: .ratio(0.7)) + .foregroundStyle(Hatch.paint(P.bolus, scheme: scheme)) + } } RuleMark(y: .value("Average", average)) .foregroundStyle(P.ink) diff --git a/Loop/Redesign/TrendsScreen.swift b/Loop/Redesign/TrendsScreen.swift index 214745458f..f2d4126beb 100644 --- a/Loop/Redesign/TrendsScreen.swift +++ b/Loop/Redesign/TrendsScreen.swift @@ -42,6 +42,10 @@ final class TrendsModel: ObservableObject { var bolusUnits: Double { LoopHistoryMath.averagingDays(totals).reduce(0) { $0 + $1.bolus } } var insulinPerDay: Double { LoopHistoryMath.averageDailyInsulin(totals) } var basalShare: Double { basalUnits + bolusUnits > 0 ? basalUnits / (basalUnits + bolusUnits) : 0 } + /// Per day over the averaged days; a single day in progress when that is all there is. + var split: InsulinSplit { InsulinSplit.average(LoopHistoryMath.averagingDays(totals).map(\.split)) } + /// The split is today's total so far rather than an average of complete days. + var splitIsPartial: Bool { LoopHistoryMath.averagingDays(totals).allSatisfy { !$0.isComplete } } } @Published var period: TrendsPeriod = .twoWeeks @@ -97,8 +101,8 @@ final class TrendsModel: ObservableObject { let calendar = Calendar.current summary.totals = LoopHistoryMath.days(in: interval).map { day in let basal = history.basal.compactMap { $0.clamped(to: day) }.reduce(0) { $0 + $1.units } - let bolus = history.boluses.filter { $0.date >= day.start && $0.date < day.end }.reduce(0) { $0 + $1.units } - return LoopHistoryMath.DayTotal(day: day.start, basal: basal, bolus: bolus, + let boluses = history.boluses.filter { $0.date >= day.start && $0.date < day.end } + return LoopHistoryMath.DayTotal(day: day.start, split: InsulinSplit(basal: basal, boluses: boluses), isComplete: calendar.date(byAdding: .day, value: 1, to: day.start) == day.end) } let glucoseDays = Set(history.glucose.map { calendar.startOfDay(for: $0.date) }) @@ -196,7 +200,7 @@ final class TrendsModel: ObservableObject { static func exportCSV(_ s: Summary) throws -> URL { // The CSV header and values are deliberately not localised: fixed English columns and '.' decimals for data interchange. - var lines = ["date,mean_glucose_\(s.unit.isMmol ? "mmol_l" : "mg_dl"),readings,time_in_range_pct,basal_u,bolus_u,total_u,carbs_g"] + var lines = ["date,mean_glucose_\(s.unit.isMmol ? "mmol_l" : "mg_dl"),readings,time_in_range_pct,basal_u,bolus_u,total_u,carbs_g,manual_bolus_u,auto_bolus_u"] let calendar = Calendar.current let byDay = Dictionary(grouping: s.glucose) { calendar.startOfDay(for: $0.date) } for total in s.totals { @@ -206,7 +210,9 @@ final class TrendsModel: ObservableObject { let tir = readings.isEmpty ? "" : String(format: "%.0f", (LoopHistoryMath.timeInRange(readings)[.inRange] ?? 0) * 100) let date = Date.ISO8601FormatStyle(timeZone: .current).year().month().day().format(total.day) let carbs = String(format: "%.0f", s.carbsByDay[total.day] ?? 0) - lines.append("\(date),\(mean),\(readings.count),\(tir),\(String(format: "%.2f,%.2f,%.2f", total.basal, total.bolus, total.total)),\(carbs)") + // Left blank when some of the day's bolus doesn't say whether it was manual or automatic. + let bolusSplit = total.split.isClassified ? String(format: "%.2f,%.2f", total.split.manualBolus, total.split.automaticBolus) : "," + lines.append("\(date),\(mean),\(readings.count),\(tir),\(String(format: "%.2f,%.2f,%.2f", total.basal, total.bolus, total.total)),\(carbs),\(bolusSplit)") } let url = FileManager.default.temporaryDirectory.appendingPathComponent(Self.fileName(s.interval) + ".csv") try lines.joined(separator: "\n").write(to: url, atomically: true, encoding: .utf8) @@ -332,6 +338,20 @@ struct TrendsView: View { LegendItem(swatch: .solid(P.agpOuter), label: NSLocalizedString("5–95%", comment: "Trends Daily pattern legend: band between the 5th and 95th percentiles of glucose")), ]) } + LoopCard { + CardHeader(title: NSLocalizedString("Basal and bolus", comment: "Trends card title: insulin split into basal and bolus")) { + Text(s.splitIsPartial + ? NSLocalizedString("today so far", comment: "Trends Basal and bolus card subtitle when the figures are today's total so far") + : s.totals.count == 1 + ? NSLocalizedString("this day", comment: "Trends Basal and bolus card subtitle when the period is one complete day") + : NSLocalizedString("average per day", comment: "Trends Basal and bolus card subtitle when the figures are averaged per day over the period")) + } + if s.split.total > 0 { + InsulinSplitView(split: s.split, partial: s.splitIsPartial) + } else { + ChartPlaceholder(message: NSLocalizedString("No insulin recorded in this period", comment: "Trends Insulin per day chart placeholder when no insulin was delivered in the period"), height: 80) + } + } LoopCard { CardHeader(title: NSLocalizedString("Insulin per day", comment: "Trends tile and card title: average total insulin per day")) { Text(s.totals.count > 30 @@ -389,18 +409,12 @@ struct TrendsView: View { } } + /// The figures are on the Basal and bolus card above, so the legend only names the marks. private func insulinLegend(_ s: TrendsModel.Summary) -> [LegendItem] { - let total = s.basalUnits + s.bolusUnits - let days = Double(max(1, LoopHistoryMath.averagingDays(s.totals).count)) - let bolusShare = total > 0 ? Int((s.bolusUnits / total * 100).rounded()) : 0 - let basalShare = total > 0 ? 100 - bolusShare : 0 - return [ - LegendItem(swatch: .solid(P.insulin), - label: String(format: NSLocalizedString("Bolus %1$@ U (%2$@%%)", comment: "Trends Insulin per day legend: average bolus insulin per day and its share of the total. (1: units, 2: percentage number)"), - LoopFormat.number(s.bolusUnits / days, decimals: 1), LoopFormat.number(Double(bolusShare), decimals: 0))), - LegendItem(swatch: .basal, - label: String(format: NSLocalizedString("Basal %1$@ U (%2$@%%)", comment: "Trends Insulin per day legend: average basal insulin per day and its share of the total. (1: units, 2: percentage number)"), - LoopFormat.number(s.basalUnits / days, decimals: 1), LoopFormat.number(Double(basalShare), decimals: 0))), + [ + LegendItem(swatch: .basal, label: NSLocalizedString("Basal", comment: "Chart legend: the basal part of each day's insulin")), + LegendItem(swatch: .solid(P.bolus), label: NSLocalizedString("Bolus", comment: "Chart legend: solid bars are manual boluses")), + LegendItem(swatch: .hatch(P.bolus), label: NSLocalizedString("Automatic", comment: "Chart legend: hatched bars are automatic boluses given by Loop")), LegendItem(swatch: .dash(P.ink), label: String(format: NSLocalizedString("Average %1$@ U", comment: "Trends Insulin per day legend: the dashed line showing average total insulin per day. (1: units)"), LoopFormat.number(s.insulinPerDay, decimals: 1))), diff --git a/LoopTests/Models/LoopHistoryMathTests.swift b/LoopTests/Models/LoopHistoryMathTests.swift index e5a34bd9ca..03a82672ce 100644 --- a/LoopTests/Models/LoopHistoryMathTests.swift +++ b/LoopTests/Models/LoopHistoryMathTests.swift @@ -195,6 +195,32 @@ class LoopHistoryMathTests: XCTestCase { XCTAssertEqual(LoopHistoryMath.averageDailyInsulin([today]), 5, accuracy: 1e-9) } + func testInsulinSplitSeparatesManualAutomaticAndUnclassifiedBolus() { + let boluses = [ + BolusEvent(id: "m", date: at(0), units: 4, automatic: false, manuallyEntered: false), + BolusEvent(id: "a", date: at(5), units: 0.5, automatic: true, manuallyEntered: false), + BolusEvent(id: "u", date: at(10), units: 1, automatic: false, manuallyEntered: false, automaticKnown: false), + ] + let split = InsulinSplit(basal: 14.5, boluses: Array(boluses.prefix(2))) + XCTAssertEqual(split.manualBolus, 4, accuracy: 1e-9) + XCTAssertEqual(split.automaticBolus, 0.5, accuracy: 1e-9) + XCTAssertEqual(split.total, 19, accuracy: 1e-9) + XCTAssertTrue(split.isClassified) + // Shares round independently but always add up to 100. + XCTAssertEqual(split.basalPercent + split.bolusPercent, 100) + XCTAssertEqual(split.bolusPercent, 24) + + // A bolus that doesn't say who gave it still counts, but hides the manual and automatic detail. + let health = InsulinSplit(basal: 14.5, boluses: boluses) + XCTAssertEqual(health.bolus, 5.5, accuracy: 1e-9) + XCTAssertFalse(health.isClassified) + + let average = InsulinSplit.average([split, InsulinSplit(basal: 10.5, manualBolus: 2, automaticBolus: 1.5)]) + XCTAssertEqual(average.basal, 12.5, accuracy: 1e-9) + XCTAssertEqual(average.manualBolus, 3, accuracy: 1e-9) + XCTAssertEqual(average.automaticBolus, 1, accuracy: 1e-9) + } + func testWeeklyInsulinUsesTheSummaryAveragingDays() { let monday = Date(timeIntervalSinceReferenceDate: 815_270_400) var calendar = Calendar(identifier: .gregorian) @@ -250,22 +276,29 @@ class LoopHistoryMathTests: XCTestCase { } @MainActor - func testCSVExportsEightColumnsWithASCIINumbers() throws { + func testCSVExportsTenColumnsWithASCIINumbers() throws { let day = Calendar.current.startOfDay(for: start) + let nextDay = day.addingTimeInterval(86400) for isMmol in [true, false] { - var summary = TrendsModel.Summary(interval: DateInterval(start: day, duration: 86400), + var summary = TrendsModel.Summary(interval: DateInterval(start: day, duration: 2 * 86400), unit: GlucoseUnitStyle(isMmol: isMmol)) summary.glucose = [GlucosePoint(date: day, mgdl: 131.53286)] - summary.totals = [.init(day: day, basal: 1.25, bolus: 2.5)] + summary.totals = [ + .init(day: day, split: InsulinSplit(basal: 1.25, manualBolus: 2, automaticBolus: 0.5)), + // From another app in Health: the bolus doesn't say whether it was manual or automatic. + .init(day: nextDay, split: InsulinSplit(basal: 1, unclassifiedBolus: 3)), + ] summary.carbsByDay = [day: 45] let url = try TrendsModel.exportCSV(summary) defer { try? FileManager.default.removeItem(at: url) } let rows = try String(contentsOf: url, encoding: .utf8).components(separatedBy: "\n") - XCTAssertEqual(rows.count, 2) - XCTAssertEqual(rows[0].components(separatedBy: ",").count, 8) + XCTAssertEqual(rows.count, 3) + XCTAssertEqual(rows[0].components(separatedBy: ",").count, 10) + XCTAssertTrue(rows[0].hasSuffix(",carbs_g,manual_bolus_u,auto_bolus_u")) let columns = rows[1].components(separatedBy: ",") - XCTAssertEqual(columns.count, 8) - XCTAssertEqual(Array(columns.dropFirst()), [isMmol ? "7.3" : "132", "1", "100", "1.25", "2.50", "3.75", "45"]) + XCTAssertEqual(columns.count, 10) + XCTAssertEqual(Array(columns.dropFirst()), [isMmol ? "7.3" : "132", "1", "100", "1.25", "2.50", "3.75", "45", "2.00", "0.50"]) + XCTAssertEqual(Array(rows[2].components(separatedBy: ",").suffix(5)), ["3.00", "4.00", "0", "", ""]) } } From 1b6efc9acc4deecbf2a91a0eec55673770acd415 Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Fri, 30 Oct 2026 19:25:24 +0000 Subject: [PATCH 10/17] Edit Logbook carbs in a sheet so the tab bar can't cover its buttons Pushed inside the Logbook tab, the carb editor and its bolus screen kept the floating tab bar over their bottom button (Save Carbs & Deliver / Save without Bolusing). The editor now opens as a sheet with Cancel, the way Add carbs does on Now. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01QHnVP5sTMyrVG4zz5Wp4KM --- Loop/Redesign/LogbookScreen.swift | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/Loop/Redesign/LogbookScreen.swift b/Loop/Redesign/LogbookScreen.swift index 87024edb16..a72a31eb7e 100644 --- a/Loop/Redesign/LogbookScreen.swift +++ b/Loop/Redesign/LogbookScreen.swift @@ -271,19 +271,17 @@ final class LogbookModel: ObservableObject { struct LogbookView: View { @StateObject private var model: LogbookModel @State private var path: [Route] = [] + /// Editing is a sheet, as adding carbs is on Now: pushed here, the tab bar covered the bolus screen's button. + @State private var editingCarbs: CarbEditRoute? private let deviceManager: DeviceDataManager enum Route: Hashable { case basal(String) - case editCarbs(CarbEditRoute) } - struct CarbEditRoute: Hashable { + struct CarbEditRoute: Identifiable { let id = UUID() let entry: StoredCarbEntry - - static func == (lhs: Self, rhs: Self) -> Bool { lhs.id == rhs.id } - func hash(into hasher: inout Hasher) { hasher.combine(id) } } init(provider: LoopHistoryProvider, deviceManager: DeviceDataManager) { @@ -348,6 +346,19 @@ struct LogbookView: View { destination(route) } } + .sheet(item: $editingCarbs) { route in + NavigationStack { + LogbookCarbEditor(entry: route.entry, deviceManager: deviceManager, provider: model.provider) { + editingCarbs = nil + model.reload() + } + .toolbar { + ToolbarItem(placement: .navigationBarLeading) { + Button(NSLocalizedString("Cancel", comment: "Button label for cancel")) { editingCarbs = nil } + } + } + } + } .onAppear { model.reload() } .onReceive(NotificationCenter.default.publisher(for: .LoopDataUpdated).debounce(for: .seconds(2), scheduler: RunLoop.main)) { _ in model.reload() @@ -445,7 +456,7 @@ struct LogbookView: View { if let carb = entry.edit, model.carbEditingAllowed { Button { guard model.provider.allowsCarbEditing else { return } - path.append(.editCarbs(CarbEditRoute(entry: carb))) + editingCarbs = CarbEditRoute(entry: carb) } label: { Label(NSLocalizedString("Edit", comment: "Swipe action to edit a Logbook carb entry"), systemImage: "pencil") } .tint(P.accent) } @@ -467,11 +478,6 @@ struct LogbookView: View { if let entry = model.days.flatMap(\.entries).first(where: { $0.id == id }) { BasalChangesList(changes: entry.basalChanges) } - case .editCarbs(let route): - LogbookCarbEditor(entry: route.entry, deviceManager: deviceManager, provider: model.provider) { - path.removeAll() - model.reload() - } } } } From a30d5e0e8e4766ad4adc1a274b9fd0f43b5e367d Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Fri, 30 Oct 2026 20:38:21 +0000 Subject: [PATCH 11/17] Make basal and bolus easier to tell apart Basal's edge was the same orange as bolus (1.04:1 in dark mode), and the pale basal fill barely showed against the card, so the two read as one. Basal is now paler with a quiet tan edge, bolus is deeper in light mode, and the edge and bolus are at least 3:1 apart in both modes. Bolus marks also get a thin card-coloured gap wherever they touch basal or each other: in the daily bars, the split bar and the day timeline. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01QHnVP8UwbiZYLRjsYUYXhE --- .../basal-edge.colorset/Contents.json | 12 ++++++------ .../basal.colorset/Contents.json | 12 ++++++------ .../bolus-ink.colorset/Contents.json | 4 ++-- .../bolus.colorset/Contents.json | 4 ++-- .../basal-edge.colorset/Contents.json | 12 ++++++------ .../basal.colorset/Contents.json | 12 ++++++------ .../bolus-ink.colorset/Contents.json | 4 ++-- .../bolus.colorset/Contents.json | 4 ++-- Loop/Redesign/DayCharts.swift | 7 ++++++- Loop/Redesign/LoopDesign.swift | 3 ++- Loop/Redesign/TrendsComponents.swift | 8 +++++--- 11 files changed, 45 insertions(+), 37 deletions(-) diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json index 9f06dc63c3..fa72f9b84c 100644 --- a/Loop Widget Extension/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json @@ -4,9 +4,9 @@ "color": { "color-space": "srgb", "components": { - "red": "0.878", - "green": "0.471", - "blue": "0.000", + "red": "0.890", + "green": "0.725", + "blue": "0.514", "alpha": "1.000" } }, @@ -22,9 +22,9 @@ "color": { "color-space": "srgb", "components": { - "red": "1.000", - "green": "0.624", - "blue": "0.039", + "red": "0.431", + "green": "0.322", + "blue": "0.196", "alpha": "1.000" } }, diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/basal.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/basal.colorset/Contents.json index 5921aa2401..76f27a3287 100644 --- a/Loop Widget Extension/DerivedAssetsBase.xcassets/basal.colorset/Contents.json +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/basal.colorset/Contents.json @@ -4,9 +4,9 @@ "color": { "color-space": "srgb", "components": { - "red": "1.000", - "green": "0.851", - "blue": "0.639", + "red": "0.988", + "green": "0.890", + "blue": "0.761", "alpha": "1.000" } }, @@ -22,9 +22,9 @@ "color": { "color-space": "srgb", "components": { - "red": "0.420", - "green": "0.259", - "blue": "0.063", + "red": "0.263", + "green": "0.188", + "blue": "0.106", "alpha": "1.000" } }, diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json index bb4f1aa067..deda518355 100644 --- a/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json @@ -4,8 +4,8 @@ "color": { "color-space": "srgb", "components": { - "red": "0.604", - "green": "0.263", + "red": "0.541", + "green": "0.227", "blue": "0.024", "alpha": "1.000" } diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json index 0f59ecaee8..30b11e52a8 100644 --- a/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json @@ -4,8 +4,8 @@ "color": { "color-space": "srgb", "components": { - "red": "0.769", - "green": "0.349", + "red": "0.663", + "green": "0.282", "blue": "0.039", "alpha": "1.000" } diff --git a/Loop/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json index 9f06dc63c3..fa72f9b84c 100644 --- a/Loop/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json +++ b/Loop/DerivedAssetsBase.xcassets/basal-edge.colorset/Contents.json @@ -4,9 +4,9 @@ "color": { "color-space": "srgb", "components": { - "red": "0.878", - "green": "0.471", - "blue": "0.000", + "red": "0.890", + "green": "0.725", + "blue": "0.514", "alpha": "1.000" } }, @@ -22,9 +22,9 @@ "color": { "color-space": "srgb", "components": { - "red": "1.000", - "green": "0.624", - "blue": "0.039", + "red": "0.431", + "green": "0.322", + "blue": "0.196", "alpha": "1.000" } }, diff --git a/Loop/DerivedAssetsBase.xcassets/basal.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/basal.colorset/Contents.json index 5921aa2401..76f27a3287 100644 --- a/Loop/DerivedAssetsBase.xcassets/basal.colorset/Contents.json +++ b/Loop/DerivedAssetsBase.xcassets/basal.colorset/Contents.json @@ -4,9 +4,9 @@ "color": { "color-space": "srgb", "components": { - "red": "1.000", - "green": "0.851", - "blue": "0.639", + "red": "0.988", + "green": "0.890", + "blue": "0.761", "alpha": "1.000" } }, @@ -22,9 +22,9 @@ "color": { "color-space": "srgb", "components": { - "red": "0.420", - "green": "0.259", - "blue": "0.063", + "red": "0.263", + "green": "0.188", + "blue": "0.106", "alpha": "1.000" } }, diff --git a/Loop/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json index bb4f1aa067..deda518355 100644 --- a/Loop/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json +++ b/Loop/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json @@ -4,8 +4,8 @@ "color": { "color-space": "srgb", "components": { - "red": "0.604", - "green": "0.263", + "red": "0.541", + "green": "0.227", "blue": "0.024", "alpha": "1.000" } diff --git a/Loop/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json index 0f59ecaee8..30b11e52a8 100644 --- a/Loop/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json +++ b/Loop/DerivedAssetsBase.xcassets/bolus.colorset/Contents.json @@ -4,8 +4,8 @@ "color": { "color-space": "srgb", "components": { - "red": "0.769", - "green": "0.349", + "red": "0.663", + "green": "0.282", "blue": "0.039", "alpha": "1.000" } diff --git a/Loop/Redesign/DayCharts.swift b/Loop/Redesign/DayCharts.swift index c6051b4150..9674201807 100644 --- a/Loop/Redesign/DayCharts.swift +++ b/Loop/Redesign/DayCharts.swift @@ -194,7 +194,12 @@ struct InsulinTimelineView: View { .lineStyle(StrokeStyle(lineWidth: 1, dash: [3, 3])) } - // Boluses over basal: solid for manual with a label, outlined for automatic + // Boluses over basal: solid for manual with a label, hatched for automatic. + // Each sits in a card-coloured slot a point wider, so it never touches the basal behind it. + ForEach(history.boluses) { bolus in + RectangleMark(x: .value("Time", bolus.date), yStart: .value("Base", 0), yEnd: .value("Bolus", y(bolus: bolus.units)), width: .fixed(7)) + .foregroundStyle(P.surfaceRaised) + } let bolusLabels = labelledBoluses ForEach(history.boluses) { bolus in if bolus.automatic { diff --git a/Loop/Redesign/LoopDesign.swift b/Loop/Redesign/LoopDesign.swift index 15aeaa3afb..b31e27b3dd 100644 --- a/Loop/Redesign/LoopDesign.swift +++ b/Loop/Redesign/LoopDesign.swift @@ -41,7 +41,8 @@ enum LoopDesign { static let insulinInk = Color("insulin-ink") static let basal = Color("basal") static let basalEdge = Color("basal-edge") - /// Bolus is insulin's orange made deeper, so it reads against pale basal by lightness, not by a new hue. + /// Basal is a pale, quiet orange with a tan edge; bolus is insulin's orange made deep. Both stay orange, + /// and their lightness is far enough apart (3:1 even where they touch) to tell them apart at a glance. static let bolus = Color("bolus") static let bolusInk = Color("bolus-ink") static let basalScheduled = inkMuted diff --git a/Loop/Redesign/TrendsComponents.swift b/Loop/Redesign/TrendsComponents.swift index b8e0cc97dd..16862c361c 100644 --- a/Loop/Redesign/TrendsComponents.swift +++ b/Loop/Redesign/TrendsComponents.swift @@ -434,7 +434,7 @@ struct InsulinSplitBar: View { var body: some View { GeometryReader { geometry in let parts = Part.allCases.filter { units($0) > 0 } - let gap: CGFloat = hairline ? 1 : 2 + let gap: CGFloat = hairline ? 1.5 : 2.5 let width = geometry.size.width - gap * CGFloat(max(0, parts.count - 1)) let minimum: CGFloat = hairline ? 2 : 4 let widths = parts.map { max(minimum, width * units($0) / max(split.total, .ulpOfOne)) } @@ -606,11 +606,13 @@ struct InsulinDailyTotalsView: View { .foregroundStyle(P.basal) BarMark(x: .value("Day", day.day, unit: unitWidth), yStart: .value("Basal", max(0, day.basal - yMax * 0.006)), yEnd: .value("Edge", day.basal), width: .ratio(0.7)) .foregroundStyle(P.basalEdge) + // A thin gap under each bolus part, so it never touches the part below it + let gap = yMax * 0.01 let manualTop = day.basal + day.split.manualBolus + day.split.unclassifiedBolus - BarMark(x: .value("Day", day.day, unit: unitWidth), yStart: .value("Basal", day.basal), yEnd: .value("Bolus", manualTop), width: .ratio(0.7)) + BarMark(x: .value("Day", day.day, unit: unitWidth), yStart: .value("Basal", day.basal + (manualTop - day.basal > gap * 2 ? gap : 0)), yEnd: .value("Bolus", manualTop), width: .ratio(0.7)) .foregroundStyle(P.bolus) if day.split.automaticBolus > 0 { - BarMark(x: .value("Day", day.day, unit: unitWidth), yStart: .value("Bolus", manualTop), yEnd: .value("Total", day.total), width: .ratio(0.7)) + BarMark(x: .value("Day", day.day, unit: unitWidth), yStart: .value("Bolus", manualTop + (day.total - manualTop > gap * 2 ? gap : 0)), yEnd: .value("Total", day.total), width: .ratio(0.7)) .foregroundStyle(Hatch.paint(P.bolus, scheme: scheme)) } } From 3fa82de38382cd9cb7af7f2d7f47e0b2dc36fe67 Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Sat, 31 Oct 2026 21:14:05 +0000 Subject: [PATCH 12/17] Redesign Add carbs, show the day timeline on Trends and tell insulin kinds apart in the Logbook Add carbs - New CarbEntryScreen on top of the unchanged CarbEntryViewModel: a large amount, "How fast it absorbs" cards that draw Loop's own absorption curve (Fast, Medium, Slow, Other), "Eaten" quick times plus a time picker, and a pinned Continue that hands over to the existing bolus screen. - Other shows "Custom" and no curve until it is chosen. - Any scroll or the Done button puts the keyboard away, so the form stays reachable at accessibility text sizes; the cards and times go 2 x 2 there. - Used from the Now screen and for editing carbs in the Logbook when the redesign is on; the classic interface keeps CarbEntryView. Trends, one day - Shows the same timeline card as Now's "Today so far" (shared as DayTimelineCard) instead of the AGP and the single Insulin per day bar. - Tiles read Insulin, Carbs and Boluses with whole counts, and "3 entries" is a proper plural. - Carb markers closer than the label spacing share one label with their total, placed after the last marker, so labels no longer overprint. Logbook - Manual bolus, automatic bolus and basal use the charts' encoding: solid, hatched and pale basal tiles; the day key and hairline bar match. - Two or more automatic boluses in a row fold into one "Automatic boluses" row that opens the list. - At accessibility sizes the amount sits under the title and the day totals move under the date. Strings added in all 23 languages (unreviewed translations). Tests: DayHistory.clipped(to:) and the automatic-bolus folding. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01QHnVP8UWK6Li65s9wma3FF --- Loop.xcodeproj/project.pbxproj | 4 + Loop/Localizable.xcstrings | 3003 +++++++++++++++-- Loop/Redesign/CarbEntryScreen.swift | 528 +++ Loop/Redesign/DayCharts.swift | 25 +- Loop/Redesign/LogbookScreen.swift | 166 +- Loop/Redesign/LoopDesign.swift | 59 +- Loop/Redesign/LoopHistoryModels.swift | 14 + Loop/Redesign/NowScreen.swift | 57 +- Loop/Redesign/TrendsComponents.swift | 43 +- Loop/Redesign/TrendsScreen.swift | 132 +- .../StatusTableViewController.swift | 11 +- LoopTests/Models/LoopHistoryMathTests.swift | 44 + 12 files changed, 3721 insertions(+), 365 deletions(-) create mode 100644 Loop/Redesign/CarbEntryScreen.swift diff --git a/Loop.xcodeproj/project.pbxproj b/Loop.xcodeproj/project.pbxproj index 839c26db61..cb2a303351 100644 --- a/Loop.xcodeproj/project.pbxproj +++ b/Loop.xcodeproj/project.pbxproj @@ -730,6 +730,7 @@ A1B2C3D4E5F6A7B8C9D0E1F2 /* AppearanceSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = F2E1D0C9B8A7F6E5D4C3B2A1 /* AppearanceSettings.swift */; }; 6A6C1E1C7A26EC88AFB4FAB1 /* DayDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = E3A83D311A9ECAE563F74A51 /* DayDetailView.swift */; }; 23B98F0A53A093412229364D /* LogbookScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AEDC42672A7A8C57546EA0C /* LogbookScreen.swift */; }; + C4B5E0A1D2F3A4B5C6D7E8F9 /* CarbEntryScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4B5E0A1D2F3A4B5C6D7E8FA /* CarbEntryScreen.swift */; }; 3ED693ACBF8F9E416055BD56 /* MainTabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 844BECBB6357021979B9443F /* MainTabBarController.swift */; }; 7705483CFFCF0B89F8F1A08E /* NowScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0874B7B679DB9CE661CCE152 /* NowScreen.swift */; }; 591F13AF435B37B4818E2F2B /* TrendsComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4BFDE56977CC73CBDA1170C5 /* TrendsComponents.swift */; }; @@ -1613,6 +1614,7 @@ F2E1D0C9B8A7F6E5D4C3B2A1 /* AppearanceSettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppearanceSettings.swift; sourceTree = ""; }; E3A83D311A9ECAE563F74A51 /* DayDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DayDetailView.swift; sourceTree = ""; }; 7AEDC42672A7A8C57546EA0C /* LogbookScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogbookScreen.swift; sourceTree = ""; }; + C4B5E0A1D2F3A4B5C6D7E8FA /* CarbEntryScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CarbEntryScreen.swift; sourceTree = ""; }; 844BECBB6357021979B9443F /* MainTabBarController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainTabBarController.swift; sourceTree = ""; }; 0874B7B679DB9CE661CCE152 /* NowScreen.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NowScreen.swift; sourceTree = ""; }; 4BFDE56977CC73CBDA1170C5 /* TrendsComponents.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TrendsComponents.swift; sourceTree = ""; }; @@ -3029,6 +3031,7 @@ 4BFDE56977CC73CBDA1170C5 /* TrendsComponents.swift */, 0874B7B679DB9CE661CCE152 /* NowScreen.swift */, 844BECBB6357021979B9443F /* MainTabBarController.swift */, + C4B5E0A1D2F3A4B5C6D7E8FA /* CarbEntryScreen.swift */, 7AEDC42672A7A8C57546EA0C /* LogbookScreen.swift */, F2E1D0C9B8A7F6E5D4C3B2A1 /* AppearanceSettings.swift */, E3A83D311A9ECAE563F74A51 /* DayDetailView.swift */, @@ -3701,6 +3704,7 @@ 7705483CFFCF0B89F8F1A08E /* NowScreen.swift in Sources */, 3ED693ACBF8F9E416055BD56 /* MainTabBarController.swift in Sources */, 23B98F0A53A093412229364D /* LogbookScreen.swift in Sources */, + C4B5E0A1D2F3A4B5C6D7E8F9 /* CarbEntryScreen.swift in Sources */, A1B2C3D4E5F6A7B8C9D0E1F2 /* AppearanceSettings.swift in Sources */, 6A6C1E1C7A26EC88AFB4FAB1 /* DayDetailView.swift in Sources */, A743DC26D066EE5AC88C2F45 /* LoopHistoryProvider.swift in Sources */, diff --git a/Loop/Localizable.xcstrings b/Loop/Localizable.xcstrings index ddcf5ec118..8e9eba84c0 100644 --- a/Loop/Localizable.xcstrings +++ b/Loop/Localizable.xcstrings @@ -12,6 +12,149 @@ }, " -" : { + }, + "%1$@ ago" : { + "comment" : "Carb entry time choice: eaten this long before now. (1: duration, e.g. 15m or 1h)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "قبل %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "před %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ siden" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "vor %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "hace %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ sitten" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "il y a %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "לפני %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ ezelőtt" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ fa" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@前" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ siden" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ geleden" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ temu" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "há %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "acum %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ назад" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "pred %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "för %1$@ sedan" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ önce" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ тому" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ trước" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@前" + } + } + } }, "%1$@ manual, %2$@ automatic" : { "comment" : "VoiceOver: how the bolus divides. (1: manual units, 2: automatic units)", @@ -19,1426 +162,3648 @@ "ar" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ يدوي، %2$@ تلقائي" + "value" : "%1$@ يدوي، %2$@ تلقائي" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ ručně, %2$@ automaticky" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuel, %2$@ automatisk" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuell, %2$@ automatisch" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manual, %2$@ automático" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuaalinen, %2$@ automaattinen" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuel, %2$@ automatique" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ ידני, %2$@ אוטומטי" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ kézi, %2$@ automatikus" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuale, %2$@ automatico" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "手動 %1$@、自動 %2$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuell, %2$@ automatisk" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ handmatig, %2$@ automatisch" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ ręcznie, %2$@ automatycznie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manual, %2$@ automático" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manual, %2$@ automat" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ вручную, %2$@ автоматически" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ ručne, %2$@ automaticky" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuell, %2$@ automatisk" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ manuel, %2$@ otomatik" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ вручну, %2$@ автоматично" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "%1$@ thủ công, %2$@ tự động" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "手动 %1$@,自动 %2$@" + } + } + } + }, + "%lld doses" : { + "comment" : "Logbook folded automatic boluses row: how many automatic boluses it holds. (1: number)", + "localizations" : { + "ar" : { + "variations" : { + "plural" : { + "zero" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld جرعة" + } + }, + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "جرعة واحدة" + } + }, + "two" : { + "stringUnit" : { + "state" : "translated", + "value" : "جرعتان" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld جرعات" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld جرعة" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld جرعة" + } + } + } + } + }, + "cs" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dávka" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dávky" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dávky" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dávek" + } + } + } + } + }, + "da" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dosis" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld doser" + } + } + } + } + }, + "de" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld Dosis" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld Dosen" + } + } + } + } + }, + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dose" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld doses" + } + } + } + } + }, + "es" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dosis" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dosis" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dosis" + } + } + } + } + }, + "fi" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld annos" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld annosta" + } + } + } + } + }, + "fr" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dose" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld doses" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld doses" + } + } + } + } + }, + "he" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "מנה %lld" + } + }, + "two" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld מנות" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld מנות" + } + } + } + } + }, + "hu" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld adag" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld adag" + } + } + } + } + }, + "it" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dose" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dosi" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dosi" + } + } + } + } + }, + "ja" : { + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld回" + } + } + } + } + }, + "nb" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dose" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld doser" + } + } + } + } + }, + "nl" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dosis" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld doses" + } + } + } + } + }, + "pl" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dawka" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dawki" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dawek" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dawki" + } + } + } + } + }, + "pt-BR" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dose" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld doses" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld doses" + } + } + } + } + }, + "ro" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld doză" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld doze" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld de doze" + } + } + } + } + }, + "ru" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld доза" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld дозы" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld доз" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld дозы" + } + } + } + } + }, + "sk" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dávka" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dávky" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dávky" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dávok" + } + } + } + } + }, + "sv" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld dos" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld doser" + } + } + } + } + }, + "tr" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld doz" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld doz" + } + } + } + } + }, + "uk" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld доза" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld дози" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld доз" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld дози" + } + } + } + } + }, + "vi" : { + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld liều" + } + } + } + } + }, + "zh-Hans" : { + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld 次" + } + } + } + } + } + } + }, + "%lld entries" : { + "comment" : "Trends Carbs tile detail for a one-day period: how many carb entries were made that day. (1: number)", + "localizations" : { + "ar" : { + "variations" : { + "plural" : { + "zero" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld إدخالات" + } + }, + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "إدخال واحد" + } + }, + "two" : { + "stringUnit" : { + "state" : "translated", + "value" : "إدخالان" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld إدخالات" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld إدخالًا" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld إدخال" + } + } + } + } + }, + "cs" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld záznam" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld záznamy" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld záznamu" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld záznamů" + } + } + } + } + }, + "da" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld registrering" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld registreringer" + } + } + } + } + }, + "de" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld Eintrag" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld Einträge" + } + } + } + } + }, + "en" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld entry" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld entries" + } + } + } + } + }, + "es" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld entrada" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld entradas" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld entradas" + } + } + } + } + }, + "fi" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kirjaus" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld kirjausta" + } + } + } + } + }, + "fr" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld entrée" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld entrées" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld entrées" + } + } + } + } + }, + "he" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "רשומה אחת" + } + }, + "two" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld רשומות" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld רשומות" + } + } + } + } + }, + "hu" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld bejegyzés" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld bejegyzés" + } + } + } + } + }, + "it" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld inserimento" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld inserimenti" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld inserimenti" + } + } + } + } + }, + "ja" : { + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld件" + } + } + } + } + }, + "nb" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld registrering" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld registreringer" + } + } + } + } + }, + "nl" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld registratie" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld registraties" + } + } + } + } + }, + "pl" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld wpis" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld wpisy" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld wpisów" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld wpisu" + } + } + } + } + }, + "pt-BR" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld registro" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld registros" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld registros" + } + } + } + } + }, + "ro" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld intrare" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld intrări" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld de intrări" + } + } + } + } + }, + "ru" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld запись" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld записи" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld записей" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld записи" + } + } + } + } + }, + "sk" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld záznam" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld záznamy" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld záznamu" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld záznamov" + } + } + } + } + }, + "sv" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld registrering" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld registreringar" + } + } + } + } + }, + "tr" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld giriş" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld giriş" + } + } + } + } + }, + "uk" : { + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld запис" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld записи" + } + }, + "many" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld записів" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld запису" + } + } + } + } + }, + "vi" : { + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld lần nhập" + } + } + } + } + }, + "zh-Hans" : { + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld条" + } + } + } + } + } + } + }, + "Automatic %1$@" : { + "comment" : "Basal and bolus: bolus Loop gave automatically. (1: units, e.g. 5.4 U)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "تلقائي %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automaticky %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatisk %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatisch %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automático %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automaattinen %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatique %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "אוטומטי %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatikus %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatico %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "自動 %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatisk %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatisch %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatycznie %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automático %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automat %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Автоматически %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automaticky %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatisk %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otomatik %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Автоматично %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tự động %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自动 %1$@" + } + } + } + }, + "Automatic boluses" : { + "comment" : "Logbook row title: several automatic boluses in a row, folded into one row that lists them", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "جرعات تلقائية" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatické bolusy" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatiske boluser" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatische Boli" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolos automáticos" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automaattiset boluset" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus automatiques" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בולוסים אוטומטיים" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatikus bóluszok" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Boli automatici" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "自動ボーラス" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatiske boluser" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatische bolussen" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolusy automatyczne" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus automáticos" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolusuri automate" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Автоматические болюсы" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatické bolusy" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Automatiska bolusdoser" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otomatik boluslar" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Автоматичні болюси" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bolus tự động" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自动大剂量" + } + } + } + }, + "average per day" : { + "comment" : "Trends Basal and bolus card subtitle when the figures are averaged per day over the period", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "المتوسط اليومي" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "průměr za den" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "gennemsnit pr. dag" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Durchschnitt pro Tag" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "promedio por día" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "keskiarvo päivässä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "moyenne par jour" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "ממוצע ליום" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "napi átlag" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "media al giorno" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "1日あたりの平均" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "gjennomsnitt per dag" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "gemiddeld per dag" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "średnio dziennie" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "média por dia" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "medie pe zi" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "в среднем за день" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "priemer za deň" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "medel per dag" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "günlük ortalama" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "у середньому за день" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "trung bình mỗi ngày" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "每日平均" + } + } + } + }, + "Basal %1$@, %2$@ percent" : { + "comment" : "VoiceOver: basal units and share. (1: units, 2: percentage number)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "القاعدية %1$@، %2$@ بالمئة" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál %1$@, %2$@ procent" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ procent" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ Prozent" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ por ciento" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaali %1$@, %2$@ prosenttia" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ pour cent" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ אחוז" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ százalék" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basale %1$@, %2$@ percento" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "ベーサル %1$@、%2$@ パーセント" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ prosent" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basaal %1$@, %2$@ procent" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Podstawowy %1$@, %2$@ procent" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ por cento" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazală %1$@, %2$@ la sută" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал %1$@, %2$@ процентов" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazál %1$@, %2$@ percent" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ procent" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Bazal %1$@, yüzde %2$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Базал %1$@, %2$@ відсотків" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Basal %1$@, %2$@ phần trăm" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "基础 %1$@,百分之 %2$@" + } + } + } + }, + "Basal and bolus" : { + "comment" : "Trends and day page card title: insulin split into basal and bolus", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "القاعدية والبلعة" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ ručně, %2$@ automaticky" + "value" : "Bazál a bolus" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ manuel, %2$@ automatisk" + "value" : "Basal og bolus" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ manuell, %2$@ automatisch" + "value" : "Basal und Bolus" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ manual, %2$@ automático" + "value" : "Basal y bolo" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ manuaalinen, %2$@ automaattinen" + "value" : "Basaali ja bolus" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ manuel, %2$@ automatique" + "value" : "Basal et bolus" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ ידני, %2$@ אוטומטי" + "value" : "Basal ו-Bolus" } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ kézi, %2$@ automatikus" + "value" : "Basal és bólus" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ manuale, %2$@ automatico" + "value" : "Basale e bolo" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "手動 %1$@、自動 %2$@" + "value" : "ベーサルとボーラス" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ manuell, %2$@ automatisk" + "value" : "Basal og bolus" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ handmatig, %2$@ automatisch" + "value" : "Basaal en bolus" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ ręcznie, %2$@ automatycznie" + "value" : "Insulina podstawowa i bolus" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ manual, %2$@ automático" + "value" : "Basal e bolus" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ manual, %2$@ automat" + "value" : "Bazală și bolus" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ вручную, %2$@ автоматически" + "value" : "Базал и болюс" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ ručne, %2$@ automaticky" + "value" : "Bazál a bolus" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ manuell, %2$@ automatisk" + "value" : "Basal och bolus" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ manuel, %2$@ otomatik" + "value" : "Bazal ve bolus" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ вручну, %2$@ автоматично" + "value" : "Базал і болюс" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "%1$@ thủ công, %2$@ tự động" + "value" : "Basal và bolus" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "手动 %1$@,自动 %2$@" + "value" : "基础与大剂量" } } } }, - "Automatic %1$@" : { - "comment" : "Basal and bolus: bolus Loop gave automatically. (1: units, e.g. 5.4 U)", + "Bolus %1$@, %2$@ percent" : { + "comment" : "VoiceOver: bolus units and share. (1: units, 2: percentage number)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "تلقائي %1$@" + "value" : "البلعة %1$@، %2$@ بالمئة" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Automaticky %1$@" + "value" : "Bolus %1$@, %2$@ procent" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Automatisk %1$@" + "value" : "Bolus %1$@, %2$@ procent" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Automatisch %1$@" + "value" : "Bolus %1$@, %2$@ Prozent" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Automático %1$@" + "value" : "Bolo %1$@, %2$@ por ciento" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Automaattinen %1$@" + "value" : "Bolus %1$@, %2$@ prosenttia" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Automatique %1$@" + "value" : "Bolus %1$@, %2$@ pour cent" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "אוטומטי %1$@" + "value" : "Bolus %1$@, %2$@ אחוז" } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Automatikus %1$@" + "value" : "Bólus %1$@, %2$@ százalék" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Automatico %1$@" + "value" : "Bolo %1$@, %2$@ percento" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "自動 %1$@" + "value" : "ボーラス %1$@、%2$@ パーセント" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Automatisk %1$@" + "value" : "Bolus %1$@, %2$@ prosent" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Automatisch %1$@" + "value" : "Bolus %1$@, %2$@ procent" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Automatycznie %1$@" + "value" : "Bolus %1$@, %2$@ procent" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Automático %1$@" + "value" : "Bolus %1$@, %2$@ por cento" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Automat %1$@" + "value" : "Bolus %1$@, %2$@ la sută" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Автоматически %1$@" + "value" : "Болюс %1$@, %2$@ процентов" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Automaticky %1$@" + "value" : "Bolus %1$@, %2$@ percent" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Automatisk %1$@" + "value" : "Bolus %1$@, %2$@ procent" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Otomatik %1$@" + "value" : "Bolus %1$@, yüzde %2$@" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Автоматично %1$@" + "value" : "Болюс %1$@, %2$@ відсотків" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Tự động %1$@" + "value" : "Bolus %1$@, %2$@ phần trăm" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "自动 %1$@" + "value" : "大剂量 %1$@,百分之 %2$@" } } } }, - "average per day" : { - "comment" : "Trends Basal and bolus card subtitle when the figures are averaged per day over the period", + "Boluses" : { + "comment" : "Trends summary tile for a one-day period: how many manual boluses were given that day", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "المتوسط اليومي" + "value" : "الجرعات" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "průměr za den" + "value" : "Bolusy" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "gennemsnit pr. dag" + "value" : "Boluser" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Durchschnitt pro Tag" + "value" : "Boli" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "promedio por día" + "value" : "Bolos" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "keskiarvo päivässä" + "value" : "Boluksia" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "moyenne par jour" + "value" : "Bolus" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "ממוצע ליום" + "value" : "בולוסים" } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "napi átlag" + "value" : "Bóluszok" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "media al giorno" + "value" : "Boli" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "1日あたりの平均" + "value" : "ボーラス" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "gjennomsnitt per dag" + "value" : "Boluser" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "gemiddeld per dag" + "value" : "Bolussen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "średnio dziennie" + "value" : "Bolusy" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "média por dia" + "value" : "Bolus" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "medie pe zi" + "value" : "Bolusuri" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "в среднем за день" + "value" : "Болюсы" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "priemer za deň" + "value" : "Bolusy" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "medel per dag" + "value" : "Bolusdoser" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "günlük ortalama" + "value" : "Bolus" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "у середньому за день" + "value" : "Болюси" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "trung bình mỗi ngày" + "value" : "Liều bolus" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "每日平均" + "value" : "大剂量次数" + } + } + } + }, + "Custom" : { + "comment" : "Carb entry absorption choice Other, before it is chosen: you set the food and absorption time yourself", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "مخصص" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vlastní" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Brugerdefineret" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Eigene" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Personalizado" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Oma" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Personnalisé" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מותאם אישית" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egyéni" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Personalizzato" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "カスタム" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egendefinert" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Aangepast" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Własne" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Personalizado" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Personalizat" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Своё" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vlastné" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anpassad" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Özel" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Власне" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tùy chỉnh" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自定义" + } + } + } + }, + "Eaten" : { + "comment" : "Carb entry section title: when the food was eaten", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "وقت الأكل" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Snězeno" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Spist" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gegessen" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Comido" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Syöty" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mangé" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "נאכל" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Elfogyasztva" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mangiato" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "食べた時刻" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Spist" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gegeten" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zjedzono" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Consumido" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Consumat" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Съедено" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zjedené" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ätit" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yenme zamanı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "З'їдено" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Đã ăn" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "进食时间" + } + } + } + }, + "Fast" : { + "comment" : "Carb entry absorption choice: food that absorbs quickly, such as sweets", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "سريع" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rychle" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hurtig" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Schnell" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rápido" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nopea" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rapide" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מהיר" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gyors" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Veloce" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "速い" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rask" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Snel" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Szybko" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rápido" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rapid" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Быстро" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Rýchlo" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Snabb" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hızlı" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Швидко" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nhanh" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "快" } } } }, - "Basal %1$@ · Bolus %2$@ · %3$@" : { - "comment" : "Logbook day header: the day's basal, bolus and total insulin. (1: basal units as a number, 2: bolus units as a number, 3: total with unit, e.g. 40.0 U)", + "How fast it absorbs" : { + "comment" : "Carb entry section title: choose how quickly the food's carbs absorb", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "القاعدية %1$@ · البلعة %2$@ · %3$@" + "value" : "سرعة الامتصاص" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Bazál %1$@ · Bolus %2$@ · %3$@" + "value" : "Jak rychle se vstřebá" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + "value" : "Hvor hurtigt det optages" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + "value" : "Wie schnell es aufgenommen wird" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolo %2$@ · %3$@" + "value" : "Qué tan rápido se absorbe" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Basaali %1$@ · Bolus %2$@ · %3$@" + "value" : "Kuinka nopeasti imeytyy" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + "value" : "Vitesse d'absorption" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + "value" : "באיזו מהירות נספג" } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bólus %2$@ · %3$@" + "value" : "Milyen gyorsan szívódik fel" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Basale %1$@ · Bolo %2$@ · %3$@" + "value" : "Velocità di assorbimento" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "ベーサル %1$@ · ボーラス %2$@ · %3$@" + "value" : "吸収の速さ" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + "value" : "Hvor raskt det tas opp" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Basaal %1$@ · Bolus %2$@ · %3$@" + "value" : "Hoe snel het wordt opgenomen" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Podstawowy %1$@ · Bolus %2$@ · %3$@" + "value" : "Jak szybko się wchłania" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + "value" : "Velocidade de absorção" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bazală %1$@ · Bolus %2$@ · %3$@" + "value" : "Cât de repede se absoarbe" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Базал %1$@ · Болюс %2$@ · %3$@" + "value" : "Скорость усвоения" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Bazál %1$@ · Bolus %2$@ · %3$@" + "value" : "Ako rýchlo sa vstrebe" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + "value" : "Hur snabbt det tas upp" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bazal %1$@ · Bolus %2$@ · %3$@" + "value" : "Ne kadar hızlı emilir" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Базал %1$@ · Болюс %2$@ · %3$@" + "value" : "Швидкість засвоєння" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@" + "value" : "Tốc độ hấp thu" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "基础 %1$@ · 大剂量 %2$@ · %3$@" + "value" : "吸收速度" } } } }, - "Basal %1$@ · Bolus %2$@ · %3$@ so far" : { - "comment" : "Logbook day header for today: basal, bolus and total insulin so far. (1: basal units as a number, 2: bolus units as a number, 3: total with unit, e.g. 40.0 U)", + "Loop · %1$@ · tap to list" : { + "comment" : "Logbook folded automatic boluses row subtitle: Loop gave them, the time span they cover, and tapping lists them. (1: time range, e.g. 15:08 – 16:14)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "القاعدية %1$@ · البلعة %2$@ · %3$@ حتى الآن" + "value" : "Loop · %1$@ · اضغط للعرض" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Bazál %1$@ · Bolus %2$@ · %3$@ zatím" + "value" : "Loop · %1$@ · klepnutím zobrazíte" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@ indtil nu" + "value" : "Loop · %1$@ · tryk for at se listen" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@ bisher" + "value" : "Loop · %1$@ · zum Auflisten tippen" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolo %2$@ · %3$@ hasta ahora" + "value" : "Loop · %1$@ · toca para ver la lista" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Basaali %1$@ · Bolus %2$@ · %3$@ tähän mennessä" + "value" : "Loop · %1$@ · napauta nähdäksesi" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@ jusqu'ici" + "value" : "Loop · %1$@ · touchez pour la liste" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@ עד כה" + "value" : "Loop · %1$@ · הקש להצגה" } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bólus %2$@ · %3$@ eddig" + "value" : "Loop · %1$@ · koppintson a listához" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Basale %1$@ · Bolo %2$@ · %3$@ finora" + "value" : "Loop · %1$@ · tocca per l'elenco" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "ベーサル %1$@ · ボーラス %2$@ · これまで %3$@" + "value" : "Loop · %1$@ · タップして一覧" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@ så langt" + "value" : "Loop · %1$@ · trykk for å se listen" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Basaal %1$@ · Bolus %2$@ · %3$@ tot nu toe" + "value" : "Loop · %1$@ · tik voor lijst" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Podstawowy %1$@ · Bolus %2$@ · %3$@ do tej pory" + "value" : "Loop · %1$@ · stuknij, aby wyświetlić" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@ até agora" + "value" : "Loop · %1$@ · toque para ver a lista" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bazală %1$@ · Bolus %2$@ · %3$@ până acum" + "value" : "Loop · %1$@ · atingeți pentru listă" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Базал %1$@ · Болюс %2$@ · %3$@ на данный момент" + "value" : "Loop · %1$@ · нажмите для списка" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Bazál %1$@ · Bolus %2$@ · %3$@ zatiaľ" + "value" : "Loop · %1$@ · ťuknutím zobrazíte" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@ hittills" + "value" : "Loop · %1$@ · tryck för att visa" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bazal %1$@ · Bolus %2$@ · şu ana kadar %3$@" + "value" : "Loop · %1$@ · listelemek için dokunun" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Базал %1$@ · Болюс %2$@ · %3$@ наразі" + "value" : "Loop · %1$@ · торкніться для списку" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@ · Bolus %2$@ · %3$@ đến giờ" + "value" : "Loop · %1$@ · chạm để xem" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "基础 %1$@ · 大剂量 %2$@ · 至今 %3$@" + "value" : "Loop · %1$@ · 轻点查看列表" } } } }, - "Basal %1$@, %2$@ percent" : { - "comment" : "VoiceOver: basal units and share. (1: units, 2: percentage number)", + "Manual %1$@" : { + "comment" : "Basal and bolus: bolus the person gave. (1: units, e.g. 16.2 U)", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "القاعدية %1$@، %2$@ بالمئة" + "value" : "يدوي %1$@" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Bazál %1$@, %2$@ procent" + "value" : "Ručně %1$@" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@, %2$@ procent" + "value" : "Manuel %1$@" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@, %2$@ Prozent" + "value" : "Manuell %1$@" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@, %2$@ por ciento" + "value" : "Manual %1$@" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Basaali %1$@, %2$@ prosenttia" + "value" : "Manuaalinen %1$@" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@, %2$@ pour cent" + "value" : "Manuel %1$@" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@, %2$@ אחוז" + "value" : "ידני %1$@" } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@, %2$@ százalék" + "value" : "Kézi %1$@" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Basale %1$@, %2$@ percento" + "value" : "Manuale %1$@" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "ベーサル %1$@、%2$@ パーセント" + "value" : "手動 %1$@" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@, %2$@ prosent" + "value" : "Manuell %1$@" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Basaal %1$@, %2$@ procent" + "value" : "Handmatig %1$@" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Podstawowy %1$@, %2$@ procent" + "value" : "Ręcznie %1$@" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@, %2$@ por cento" + "value" : "Manual %1$@" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bazală %1$@, %2$@ la sută" + "value" : "Manual %1$@" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Базал %1$@, %2$@ процентов" + "value" : "Вручную %1$@" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Bazál %1$@, %2$@ percent" + "value" : "Ručne %1$@" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@, %2$@ procent" + "value" : "Manuell %1$@" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bazal %1$@, yüzde %2$@" + "value" : "Manuel %1$@" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Базал %1$@, %2$@ відсотків" + "value" : "Вручну %1$@" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Basal %1$@, %2$@ phần trăm" + "value" : "Thủ công %1$@" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "基础 %1$@,百分之 %2$@" + "value" : "手动 %1$@" } } } }, - "Basal and bolus" : { - "comment" : "Trends and day page card title: insulin split into basal and bolus", + "Medium" : { + "comment" : "Carb entry absorption choice: a typical mixed meal", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "القاعدية والبلعة" + "value" : "متوسط" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Bazál a bolus" + "value" : "Středně" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Basal og bolus" + "value" : "Middel" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Basal und Bolus" + "value" : "Mittel" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Basal y bolo" + "value" : "Medio" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Basaali ja bolus" + "value" : "Keskinopea" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Basal et bolus" + "value" : "Moyen" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Basal ו-Bolus" + "value" : "בינוני" } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Basal és bólus" + "value" : "Közepes" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Basale e bolo" + "value" : "Medio" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "ベーサルとボーラス" + "value" : "普通" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Basal og bolus" + "value" : "Middels" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Basaal en bolus" + "value" : "Gemiddeld" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Insulina podstawowa i bolus" + "value" : "Średnio" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Basal e bolus" + "value" : "Médio" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bazală și bolus" + "value" : "Mediu" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Базал и болюс" + "value" : "Средне" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Bazál a bolus" + "value" : "Stredne" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Basal och bolus" + "value" : "Medel" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bazal ve bolus" + "value" : "Orta" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Базал і болюс" + "value" : "Середньо" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Basal và bolus" + "value" : "Trung bình" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "基础与大剂量" + "value" : "中" } } } }, - "Bolus %1$@, %2$@ percent" : { - "comment" : "VoiceOver: bolus units and share. (1: units, 2: percentage number)", + "Slow" : { + "comment" : "Carb entry absorption choice: food that absorbs slowly, such as pizza", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "البلعة %1$@، %2$@ بالمئة" + "value" : "بطيء" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@, %2$@ procent" + "value" : "Pomalu" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@, %2$@ procent" + "value" : "Langsom" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@, %2$@ Prozent" + "value" : "Langsam" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Bolo %1$@, %2$@ por ciento" + "value" : "Lento" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@, %2$@ prosenttia" + "value" : "Hidas" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@, %2$@ pour cent" + "value" : "Lent" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@, %2$@ אחוז" + "value" : "איטי" } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Bólus %1$@, %2$@ százalék" + "value" : "Lassú" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Bolo %1$@, %2$@ percento" + "value" : "Lento" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "ボーラス %1$@、%2$@ パーセント" + "value" : "遅い" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@, %2$@ prosent" + "value" : "Langsom" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@, %2$@ procent" + "value" : "Langzaam" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@, %2$@ procent" + "value" : "Wolno" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@, %2$@ por cento" + "value" : "Lento" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@, %2$@ la sută" + "value" : "Lent" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Болюс %1$@, %2$@ процентов" + "value" : "Медленно" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@, %2$@ percent" + "value" : "Pomaly" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@, %2$@ procent" + "value" : "Långsam" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@, yüzde %2$@" + "value" : "Yavaş" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Болюс %1$@, %2$@ відсотків" + "value" : "Повільно" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Bolus %1$@, %2$@ phần trăm" + "value" : "Chậm" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "大剂量 %1$@,百分之 %2$@" + "value" : "慢" } } } }, - "Manual %1$@" : { - "comment" : "Basal and bolus: bolus the person gave. (1: units, e.g. 16.2 U)", + "this day" : { + "comment" : "Trends Basal and bolus card subtitle when the period is one complete day", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "يدوي %1$@" + "value" : "هذا اليوم" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "Ručně %1$@" + "value" : "tento den" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "Manuel %1$@" + "value" : "denne dag" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "Manuell %1$@" + "value" : "dieser Tag" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "Manual %1$@" + "value" : "este día" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "Manuaalinen %1$@" + "value" : "tämä päivä" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "Manuel %1$@" + "value" : "ce jour" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "ידני %1$@" + "value" : "יום זה" } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "Kézi %1$@" + "value" : "ez a nap" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "Manuale %1$@" + "value" : "questo giorno" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "手動 %1$@" + "value" : "この日" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "Manuell %1$@" + "value" : "denne dagen" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "Handmatig %1$@" + "value" : "deze dag" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "Ręcznie %1$@" + "value" : "ten dzień" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "Manual %1$@" + "value" : "este dia" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "Manual %1$@" + "value" : "această zi" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "Вручную %1$@" + "value" : "этот день" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "Ručne %1$@" + "value" : "tento deň" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "Manuell %1$@" + "value" : "denna dag" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "Manuel %1$@" + "value" : "bu gün" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "Вручну %1$@" + "value" : "цей день" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "Thủ công %1$@" + "value" : "ngày này" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "手动 %1$@" + "value" : "当天" } } } }, - "this day" : { - "comment" : "Trends Basal and bolus card subtitle when the period is one complete day", + "Time" : { + "comment" : "Carb entry row label: the exact time the food was eaten", "localizations" : { "ar" : { "stringUnit" : { "state" : "translated", - "value" : "هذا اليوم" + "value" : "الوقت" } }, "cs" : { "stringUnit" : { "state" : "translated", - "value" : "tento den" + "value" : "Čas" } }, "da" : { "stringUnit" : { "state" : "translated", - "value" : "denne dag" + "value" : "Tidspunkt" } }, "de" : { "stringUnit" : { "state" : "translated", - "value" : "dieser Tag" + "value" : "Uhrzeit" } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "este día" + "value" : "Hora" } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "tämä päivä" + "value" : "Aika" } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "ce jour" + "value" : "Heure" } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "יום זה" + "value" : "שעה" } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "ez a nap" + "value" : "Időpont" } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "questo giorno" + "value" : "Ora" } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "この日" + "value" : "時刻" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "denne dagen" + "value" : "Tidspunkt" } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "deze dag" + "value" : "Tijd" } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "ten dzień" + "value" : "Godzina" } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "este dia" + "value" : "Hora" } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "această zi" + "value" : "Ora" } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "этот день" + "value" : "Время" } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "tento deň" + "value" : "Čas" } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "denna dag" + "value" : "Tid" } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "bu gün" + "value" : "Saat" } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "цей день" + "value" : "Час" } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "ngày này" + "value" : "Thời gian" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "当天" + "value" : "时间" } } } @@ -58087,7 +60452,147 @@ "isCommentAutoGenerated" : true }, "Other" : { - "comment" : "The group name for plugins that do not declare a manufacturer or category" + "comment" : "The group name for plugins that do not declare a manufacturer or category", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "أخرى" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Jiné" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Andet" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Andere" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Otro" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Muu" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Autre" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "אחר" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Egyéb" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Altro" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "その他" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annet" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Anders" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Inne" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Outro" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Altul" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Другое" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Iné" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Annat" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Diğer" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Інше" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Khác" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "其他" + } + } + } }, "Override Presets" : { "comment" : "The title text for the override presets", diff --git a/Loop/Redesign/CarbEntryScreen.swift b/Loop/Redesign/CarbEntryScreen.swift new file mode 100644 index 0000000000..6766c5097e --- /dev/null +++ b/Loop/Redesign/CarbEntryScreen.swift @@ -0,0 +1,528 @@ +// +// CarbEntryScreen.swift +// Loop +// +// Copyright © 2026 LoopKit Authors. All rights reserved. +// + +import SwiftUI +import LoopKit +import LoopKitUI + +private typealias P = LoopDesign.Palette + +/// Adding or editing carbs in the redesign. It drives the same CarbEntryViewModel as CarbEntryView, so validation, +/// favourite foods and the hand-off to the bolus screen are unchanged; only the layout is new. +/// +/// The amount is the one large thing on the screen. Absorption speed is chosen from cards that draw Loop's own +/// absorption curve (rise over the first 15%, steady to half way, fall to the end) at each speed's length, so +/// "fast" and "slow" are shown as shapes rather than named. +struct CarbEntryScreen: View { + @EnvironmentObject private var displayGlucosePreference: DisplayGlucosePreference + @Environment(\.dismissAction) private var dismiss + @Environment(\.guidanceColors) private var guidanceColors + + @ObservedObject var viewModel: CarbEntryViewModel + + @State private var amountText: String + @State private var eatenChoice: Int? + @State private var showHowAbsorptionTimeWorks = false + @State private var showAddFavoriteFood = false + /// Other was tapped, so it stays chosen even while its food and time still match a preset. + @State private var otherChosen = false + @FocusState private var amountFocused: Bool + @FocusState private var foodTypeFocused: Bool + @Environment(\.dynamicTypeSize) private var typeSize + + /// Four across, or two by two at accessibility text sizes. + private var choiceColumns: [GridItem] { + Array(repeating: GridItem(.flexible(), spacing: LoopDesign.Space.s2), count: typeSize.isAccessibilitySize ? 2 : 4) + } + + private let isNewEntry: Bool + + /// Minutes before now offered as one-tap times. + private static let eatenChoices = [0, 15, 30, 60] + + init(viewModel: CarbEntryViewModel) { + self.viewModel = viewModel + isNewEntry = viewModel.originalCarbEntry == nil + _amountText = State(initialValue: viewModel.carbsQuantity.flatMap { $0 > 0 ? Self.amountFormatter.string(from: NSNumber(value: $0)) : nil } ?? "") + _eatenChoice = State(initialValue: viewModel.originalCarbEntry == nil ? 0 : nil) + } + + var body: some View { + if isNewEntry { + NavigationStack { + content + .navigationTitle(NSLocalizedString("Add carbs", comment: "Button on the Now screen that opens carb entry")) + .navigationBarTitleDisplayMode(.inline) + .toolbar { + ToolbarItem(placement: .navigationBarLeading) { + Button(NSLocalizedString("Cancel", comment: "Button label for cancel"), action: dismiss) + } + } + } + } else { + content + } + } + + private var content: some View { + ScrollView { + VStack(alignment: .leading, spacing: LoopDesign.Space.s6) { + if let override = viewModel.currentOverride { + ActivePresetBanner(override: override) + } + ForEach(Array(viewModel.warnings).sorted { $0.priority < $1.priority }) { warning in + warningView(warning) + } + amount + if isNewEntry, FeatureFlags.allowExperimentalFeatures { + favourites + } + absorption + eaten + } + .padding(.horizontal, LoopDesign.Space.s4) + .padding(.top, LoopDesign.Space.s2) + .padding(.bottom, LoopDesign.Space.s6) + } + // Any scroll puts the keyboard away: at large text sizes it otherwise covers the rest of the form for good. + .scrollDismissesKeyboard(.immediately) + .toolbar { + if amountFocused || foodTypeFocused { + ToolbarItem(placement: .navigationBarTrailing) { + Button("Done") { + amountFocused = false + foodTypeFocused = false + } + } + } + } + .background(P.surface) + .safeAreaInset(edge: .bottom) { continueBar } + .onAppear { + // As FoodTypeRow does: a new entry starts as the medium food, so the entry carries its emoji. + if isNewEntry && !viewModel.usesCustomFoodType && viewModel.selectedDefaultAbsorptionTimeEmoji.isEmpty { + viewModel.selectedDefaultAbsorptionTimeEmoji = Speed.medium.emoji + } + if viewModel.shouldBeginEditingQuantity { amountFocused = true } + } + .onChange(of: viewModel.carbsQuantity) { _, quantity in + // A favourite fills the amount in; keep the field in step unless the person is typing it. + guard !amountFocused else { return } + amountText = quantity.flatMap { $0 > 0 ? Self.amountFormatter.string(from: NSNumber(value: $0)) : nil } ?? "" + } + .navigationDestination(isPresented: Binding(get: { viewModel.bolusViewModel != nil }, set: { if !$0 { viewModel.bolusViewModel = nil } })) { + if let bolusViewModel = viewModel.bolusViewModel { + BolusEntryView(viewModel: bolusViewModel) + .environmentObject(displayGlucosePreference) + .environment(\.dismissAction, dismiss) + .environment(\.guidanceColors, guidanceColors) + } + } + .alert(item: $viewModel.alert, content: alert(for:)) + .sheet(isPresented: $showHowAbsorptionTimeWorks) { + HowAbsorptionTimeWorksView() + } + .sheet(isPresented: $showAddFavoriteFood) { + FavoriteFoodAddEditView(carbsQuantity: viewModel.carbsQuantity, foodType: viewModel.foodType, absorptionTime: viewModel.absorptionTime) { food in + showAddFavoriteFood = false + viewModel.onFavoriteFoodSave(food) + } + } + } + + // MARK: Amount + + private static let amountFormatter: NumberFormatter = { + let formatter = NumberFormatter() + formatter.numberStyle = .decimal + formatter.maximumFractionDigits = 1 + formatter.usesGroupingSeparator = false + return formatter + }() + + private var amount: some View { + HStack(alignment: .firstTextBaseline, spacing: LoopDesign.Space.s2) { + TextField(text: $amountText, prompt: Text(verbatim: "0").foregroundStyle(P.inkMuted.opacity(0.5))) { + Text(NSLocalizedString("Amount Consumed", comment: "Label for carb quantity entry row on carb entry screen")) + } + .font(.system(size: 76, weight: .bold, design: .rounded).monospacedDigit()) + .foregroundStyle(P.carbsInk) + .keyboardType(.decimalPad) + .multilineTextAlignment(.trailing) + .fixedSize() + .focused($amountFocused) + .onChange(of: amountText) { _, text in + viewModel.carbsQuantity = Self.amountFormatter.number(from: text)?.doubleValue + } + Text(NSLocalizedString("g", comment: "Abbreviation for grams")) + .font(.system(size: 34, weight: .semibold, design: .rounded)) + .foregroundStyle(P.carbsInk.opacity(0.7)) + .accessibilityHidden(true) + } + .frame(maxWidth: .infinity) + .padding(.vertical, LoopDesign.Space.s3) + .contentShape(Rectangle()) + .onTapGesture { amountFocused = true } + } + + // MARK: Favourites + + @ViewBuilder + private var favourites: some View { + if !viewModel.favoriteFoods.isEmpty || !viewModel.saveFavoriteFoodButtonDisabled { + VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { + sectionTitle(NSLocalizedString("Favorite Foods", comment: "The section title for Carb entry screen where Favorite Foods can be selected")) + ScrollView(.horizontal, showsIndicators: false) { + HStack(spacing: LoopDesign.Space.s2) { + ForEach(Array(viewModel.favoriteFoods.enumerated()), id: \.element.id) { index, food in + let selected = viewModel.selectedFavoriteFoodIndex == index + Button { + amountFocused = false + viewModel.selectedFavoriteFoodIndex = selected ? -1 : index + } label: { + HStack(spacing: LoopDesign.Space.s1) { + Text(food.foodType) + Text(food.name).foregroundStyle(P.ink) + Text(LoopFormat.grams(food.carbsQuantity.doubleValue(for: .gram))).foregroundStyle(P.carbsInk) + } + .font(LoopDesign.Typeface.subhead.weight(.medium)) + .padding(.horizontal, LoopDesign.Space.s3) + .padding(.vertical, LoopDesign.Space.s2) + .background(selected ? P.carbs.opacity(0.18) : P.surfaceRaised, in: Capsule()) + .overlay(Capsule().strokeBorder(selected ? P.carbs : P.separator.opacity(0.4), lineWidth: selected ? 2 : 1)) + } + .buttonStyle(.plain) + .accessibilityAddTraits(selected ? .isSelected : []) + } + if viewModel.selectedFavoriteFood == nil { + Button { + showAddFavoriteFood = true + } label: { + Label(NSLocalizedString("Save as favorite food", comment: "Button on the carb entry screen to save the entry as a favourite food"), systemImage: "star") + .font(LoopDesign.Typeface.subhead.weight(.medium)) + .padding(.horizontal, LoopDesign.Space.s3) + .padding(.vertical, LoopDesign.Space.s2) + .overlay(Capsule().strokeBorder(P.separator.opacity(0.6), style: StrokeStyle(lineWidth: 1, dash: [3, 3]))) + } + .buttonStyle(.plain) + .foregroundStyle(P.accentInk) + .disabled(viewModel.saveFavoriteFoodButtonDisabled) + .opacity(viewModel.saveFavoriteFoodButtonDisabled ? 0.4 : 1) + } + } + .padding(.vertical, 1) + } + } + } + } + + // MARK: Eaten + + private var eaten: some View { + VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { + sectionTitle(NSLocalizedString("Eaten", comment: "Carb entry section title: when the food was eaten")) + LazyVGrid(columns: choiceColumns, spacing: LoopDesign.Space.s2) { + ForEach(Self.eatenChoices, id: \.self) { minutes in + let selected = eatenChoice == minutes + Button { + let date = Date().addingTimeInterval(-Double(minutes) * 60) + eatenChoice = minutes + viewModel.time = min(max(date, viewModel.minimumDate), viewModel.maximumDate) + } label: { + Text(minutes == 0 + ? NSLocalizedString("Now", comment: "Carb entry time choice: eaten now") + : String(format: NSLocalizedString("%1$@ ago", comment: "Carb entry time choice: eaten this long before now. (1: duration, e.g. 15m or 1h)"), LoopFormat.duration(Double(minutes) * 60))) + .font(LoopDesign.Typeface.subhead.weight(selected ? .semibold : .regular)) + .lineLimit(1) + .minimumScaleFactor(0.8) + .foregroundStyle(selected ? P.onFill : P.ink) + .frame(maxWidth: .infinity, minHeight: 44) + .background(selected ? P.carbs : P.surfaceRaised, in: RoundedRectangle(cornerRadius: LoopDesign.Radius.md, style: .continuous)) + } + .buttonStyle(.plain) + .accessibilityAddTraits(selected ? .isSelected : []) + } + } + HStack { + Text(NSLocalizedString("Time", comment: "Carb entry row label: the exact time the food was eaten")) + .font(LoopDesign.Typeface.subhead) + .foregroundStyle(P.inkMuted) + Spacer() + DatePicker(selection: Binding(get: { viewModel.time }, set: { viewModel.time = $0; eatenChoice = nil }), + in: viewModel.minimumDate...viewModel.maximumDate, displayedComponents: [.hourAndMinute]) { + Text(NSLocalizedString("Time", comment: "Carb entry row label: the exact time the food was eaten")) + } + .labelsHidden() + .tint(P.carbsInk) + } + } + } + + // MARK: Absorption + + enum Speed: CaseIterable { + case fast, medium, slow, other + + /// The emoji FoodTypeRow uses for each default absorption time; the entry stores it as its food type. + var emoji: String { + switch self { + case .fast: return "🍭" + case .medium: return "🌮" + case .slow: return "🍕" + case .other: return "🍽️" + } + } + + var title: String { + switch self { + case .fast: return NSLocalizedString("Fast", comment: "Carb entry absorption choice: food that absorbs quickly, such as sweets") + case .medium: return NSLocalizedString("Medium", comment: "Carb entry absorption choice: a typical mixed meal") + case .slow: return NSLocalizedString("Slow", comment: "Carb entry absorption choice: food that absorbs slowly, such as pizza") + case .other: return NSLocalizedString("Other", comment: "Carb entry absorption choice: set your own food and absorption time") + } + } + } + + private func hours(_ speed: Speed) -> TimeInterval { + switch speed { + case .fast: return viewModel.defaultAbsorptionTimes.fast + case .medium: return viewModel.defaultAbsorptionTimes.medium + case .slow: return viewModel.defaultAbsorptionTimes.slow + case .other: return viewModel.absorptionTime + } + } + + private var selectedSpeed: Speed { + let presets = Speed.allCases.filter { $0 != .other } + if viewModel.usesCustomFoodType { + if otherChosen { return .other } + // A saved entry comes back as a custom food; one that is exactly a preset's emoji and time shows as that preset. + return presets.first { $0.emoji == viewModel.foodType && hours($0) == viewModel.absorptionTime } ?? .other + } + return presets.first { $0.emoji == viewModel.selectedDefaultAbsorptionTimeEmoji } ?? .medium + } + + private var absorption: some View { + VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { + HStack { + sectionTitle(NSLocalizedString("How fast it absorbs", comment: "Carb entry section title: choose how quickly the food's carbs absorb")) + Spacer() + Button { + showHowAbsorptionTimeWorks = true + } label: { + Image(systemName: "info.circle") + } + .foregroundStyle(P.accentInk) + .accessibilityLabel(NSLocalizedString("Absorption Time", comment: "Accessibility label for the button that explains carb absorption time")) + } + // All four share one time axis, so a slower food draws a longer, lower curve. + let axis = max(Speed.allCases.map(hours).max() ?? 1, 1) + LazyVGrid(columns: choiceColumns, spacing: LoopDesign.Space.s2) { + ForEach(Speed.allCases, id: \.self) { speed in + speedCard(speed, axis: axis) + } + } + if selectedSpeed == .other { + otherFood + } + } + } + + private func durationLabel(_ speed: Speed, selected: Bool) -> String { + speed == .other && !selected + ? NSLocalizedString("Custom", comment: "Carb entry absorption choice Other, before it is chosen: you set the food and absorption time yourself") + : LoopFormat.duration(hours(speed)) + } + + private func speedCard(_ speed: Speed, axis: TimeInterval) -> some View { + let selected = selectedSpeed == speed + let emoji = speed == .other && selectedSpeed == .other && !viewModel.foodType.isEmpty ? viewModel.foodType : speed.emoji + return Button { + choose(speed) + } label: { + VStack(alignment: .leading, spacing: LoopDesign.Space.s1) { + Text(emoji).font(.title3).lineLimit(1).dynamicTypeSize(...DynamicTypeSize.xxxLarge) + // Other has no time of its own until it's chosen, so it draws no curve rather than echo a preset's. + AbsorptionCurve(fraction: hours(speed) / axis) + .fill(selected ? P.carbs : P.inkMuted.opacity(0.35)) + .opacity(speed == .other && !selected ? 0 : 1) + .frame(height: 26) + .padding(.vertical, 2) + Text(speed.title) + .font(LoopDesign.Typeface.footnote.weight(.semibold)) + .foregroundStyle(P.ink) + .lineLimit(1) + .minimumScaleFactor(0.8) + Text(durationLabel(speed, selected: selected)) + .font(LoopDesign.Typeface.footnote.monospacedDigit()) + .foregroundStyle(selected ? P.carbsInk : P.inkMuted) + } + .padding(LoopDesign.Space.s2) + .frame(maxWidth: .infinity, alignment: .leading) + .background(selected ? P.carbs.opacity(0.14) : P.surfaceRaised, in: RoundedRectangle(cornerRadius: LoopDesign.Radius.md, style: .continuous)) + .overlay(RoundedRectangle(cornerRadius: LoopDesign.Radius.md, style: .continuous).strokeBorder(selected ? P.carbs : .clear, lineWidth: 2)) + } + .buttonStyle(.plain) + .accessibilityElement(children: .ignore) + .accessibilityLabel("\(speed.title), \(durationLabel(speed, selected: selected))") + .accessibilityAddTraits(selected ? [.isButton, .isSelected] : .isButton) + } + + private var otherFood: some View { + VStack(spacing: 0) { + HStack { + Text(NSLocalizedString("Food Type", comment: "Label for the food type row on the carb entry screen")) + .font(LoopDesign.Typeface.body) + Spacer() + TextField(Speed.other.emoji, text: $viewModel.foodType) + .multilineTextAlignment(.trailing) + .font(.title3) + .focused($foodTypeFocused) + .frame(maxWidth: 120) + } + .padding(.vertical, LoopDesign.Space.s2) + Divider() + Stepper(value: Binding(get: { viewModel.absorptionTime }, set: { viewModel.absorptionTime = $0 }), + in: viewModel.absorptionRimesRange, step: 30 * 60) { + HStack { + Text(NSLocalizedString("Absorption Time", comment: "Accessibility label for the button that explains carb absorption time")) + .font(LoopDesign.Typeface.body) + Spacer() + Text(LoopFormat.duration(viewModel.absorptionTime)) + .font(LoopDesign.Typeface.body.monospacedDigit()) + .foregroundStyle(P.carbsInk) + } + } + .padding(.vertical, LoopDesign.Space.s2) + } + .padding(.horizontal, LoopDesign.Space.s3) + .background(P.surfaceRaised, in: RoundedRectangle(cornerRadius: LoopDesign.Radius.md, style: .continuous)) + } + + private func choose(_ speed: Speed) { + amountFocused = false + // Re-choosing the shown speed changes nothing, so an unedited entry stays unedited. + guard speed != selectedSpeed else { return } + // A favourite sets its own food and absorption; choosing a speed instead lets it go but keeps the amount. + if viewModel.selectedFavoriteFood != nil { + let quantity = viewModel.carbsQuantity + viewModel.selectedFavoriteFoodIndex = -1 + viewModel.carbsQuantity = quantity + } + otherChosen = speed == .other + if speed == .other { + viewModel.usesCustomFoodType = true + foodTypeFocused = true + } else { + viewModel.usesCustomFoodType = false + viewModel.foodType = "" + viewModel.selectedDefaultAbsorptionTimeEmoji = speed.emoji + viewModel.absorptionTime = hours(speed) + } + } + + // MARK: Continue + + private var continueBar: some View { + Button(action: viewModel.continueToBolus) { + Text(NSLocalizedString("Continue", comment: "Button label for continue")) + .font(LoopDesign.Typeface.headline) + .foregroundStyle(viewModel.continueButtonDisabled ? P.inkMuted : P.onFill) + .frame(maxWidth: .infinity, minHeight: 50) + .background(viewModel.continueButtonDisabled ? P.surfaceSunken : P.carbs, + in: RoundedRectangle(cornerRadius: LoopDesign.Radius.lg, style: .continuous)) + } + .buttonStyle(.plain) + .disabled(viewModel.continueButtonDisabled) + .accessibilityIdentifier("button_Continue") + .padding(.horizontal, LoopDesign.Space.s4) + .padding(.vertical, LoopDesign.Space.s2) + .background(P.surface) + } + + // MARK: Pieces + + private func sectionTitle(_ title: String) -> some View { + Text(title) + .font(LoopDesign.Typeface.headline) + .foregroundStyle(P.ink) + .accessibilityAddTraits(.isHeader) + } + + private func warningView(_ warning: CarbEntryViewModel.Warning) -> some View { + HStack(alignment: .top, spacing: LoopDesign.Space.s3) { + Image(systemName: "exclamationmark.triangle.fill") + .foregroundStyle(P.criticalInk) + .accessibilityHidden(true) + Text(warningText(warning)) + .font(LoopDesign.Typeface.subhead) + .foregroundStyle(P.ink) + .fixedSize(horizontal: false, vertical: true) + } + .padding(LoopDesign.Space.s3) + .frame(maxWidth: .infinity, alignment: .leading) + .background(P.statusCritical.opacity(0.12), in: RoundedRectangle(cornerRadius: LoopDesign.Radius.lg, style: .continuous)) + } + + private func warningText(_ warning: CarbEntryViewModel.Warning) -> String { + switch warning { + case .entryIsMissedMeal: + return NSLocalizedString("Loop has detected an missed meal and estimated its size. Edit the carb amount to match the amount of any carbs you may have eaten.", comment: "Warning displayed when user is adding a meal from an missed meal notification") + case .glucoseRisingRapidly: + return NSLocalizedString("Your glucose is rapidly rising. Check that any carbs you've eaten were logged. If you logged carbs, check that the time you entered lines up with when you started eating.", comment: "Warning to ensure the carb entry is accurate") + } + } + + private func alert(for alert: CarbEntryViewModel.Alert) -> SwiftUI.Alert { + switch alert { + case .maxQuantityExceded: + let message = String( + format: NSLocalizedString("The maximum allowed amount is %@ grams.", comment: "Alert body displayed for quantity greater than max (1: maximum quantity in grams)"), + NumberFormatter.localizedString(from: NSNumber(value: viewModel.maxCarbEntryQuantity.doubleValue(for: viewModel.preferredCarbUnit)), number: .none) + ) + let okMessage = NSLocalizedString("com.loudnate.LoopKit.errorAlertActionTitle", value: "OK", comment: "The title of the action used to dismiss an error alert") + return SwiftUI.Alert( + title: Text("Large Meal Entered", comment: "Title of the warning shown when a large meal was entered"), + message: Text(message), + dismissButton: .cancel(Text(okMessage), action: viewModel.clearAlert) + ) + case .warningQuantityValidation: + let message = String( + format: NSLocalizedString("Did you intend to enter %1$@ grams as the amount of carbohydrates for this meal?", comment: "Alert body when entered carbohydrates is greater than threshold (1: entered quantity in grams)"), + NumberFormatter.localizedString(from: NSNumber(value: viewModel.carbsQuantity ?? 0), number: .none) + ) + return SwiftUI.Alert( + title: Text("Large Meal Entered", comment: "Title of the warning shown when a large meal was entered"), + message: Text(message), + primaryButton: .default(Text("No, edit amount", comment: "The title of the action used when rejecting the the amount of carbohydrates entered."), action: viewModel.clearAlert), + secondaryButton: .cancel(Text("Yes", comment: "The title of the action used when confirming entered amount of carbohydrates."), action: viewModel.clearAlertAndContinueToBolus) + ) + } + } +} + +/// Loop's carb absorption rate over time: rising to its peak at 15% of the absorption time, steady until half way, +/// then falling to nothing (PiecewiseLinearAbsorption in LoopAlgorithm). The area is the same at every length, +/// as the carbs are, so a shorter time draws a taller curve. +struct AbsorptionCurve: Shape { + /// The absorption time as a share of the axis, 0–1. + var fraction: Double + + func path(in rect: CGRect) -> Path { + let f = max(0.05, min(1, fraction)) + let width = rect.width * f + // The trapezoid's area is 0.675 × width × height, so height ∝ 1 / width keeps it equal; capped at the frame. + let height = min(rect.height, rect.height * 0.3 / f) + var path = Path() + path.move(to: CGPoint(x: rect.minX, y: rect.maxY)) + path.addLine(to: CGPoint(x: rect.minX + width * 0.15, y: rect.maxY - height)) + path.addLine(to: CGPoint(x: rect.minX + width * 0.5, y: rect.maxY - height)) + path.addLine(to: CGPoint(x: rect.minX + width, y: rect.maxY)) + path.closeSubpath() + return path + } +} diff --git a/Loop/Redesign/DayCharts.swift b/Loop/Redesign/DayCharts.swift index 9674201807..bc5081f35e 100644 --- a/Loop/Redesign/DayCharts.swift +++ b/Loop/Redesign/DayCharts.swift @@ -127,7 +127,24 @@ struct InsulinTimelineView: View { return kept } - private var labelledCarbs: Set { spacedIDs(history.carbs, date: \.date, id: \.id) } + /// One label per run of carb entries closer together than `labelSpacing`, giving the run's total. + /// It sits after the run's last marker, so no later marker in the run draws over it. + private var carbLabels: [String: Double] { + var labels: [String: Double] = [:] + var runStart: Date? + var runLast: (id: String, total: Double)? + for carb in history.carbs.sorted(by: { $0.date < $1.date }) { + if let start = runStart, let last = runLast, carb.date.timeIntervalSince(start) < labelSpacing { + runLast = (carb.id, last.total + carb.grams) + } else { + if let last = runLast { labels[last.id] = last.total } + runStart = carb.date + runLast = (carb.id, carb.grams) + } + } + if let last = runLast { labels[last.id] = last.total } + return labels + } private var labelledBoluses: Set { spacedIDs(history.boluses.filter { !$0.automatic }, date: \.date, id: \.id) } var body: some View { @@ -164,14 +181,14 @@ struct InsulinTimelineView: View { } // Carb markers - let carbLabels = labelledCarbs + let carbLabels = carbLabels ForEach(history.carbs) { carb in PointMark(x: .value("Time", carb.date), y: .value("Carbs", Self.carbLane)) .symbolSize(60) .foregroundStyle(P.carbs) .annotation(position: .trailing, spacing: 2) { - if carbLabels.contains(carb.id) { - Text(LoopFormat.grams(carb.grams)) + if let grams = carbLabels[carb.id] { + Text(LoopFormat.grams(grams)) .font(LoopDesign.Typeface.caption) .foregroundStyle(P.carbsInk) } diff --git a/Loop/Redesign/LogbookScreen.swift b/Loop/Redesign/LogbookScreen.swift index a72a31eb7e..0f051cb458 100644 --- a/Loop/Redesign/LogbookScreen.swift +++ b/Loop/Redesign/LogbookScreen.swift @@ -45,11 +45,17 @@ struct LogEntry: Identifiable { let amountColor: Color let detail: String let icon: String - let iconFill: Color + let iconStyle: IconTile.Style let filters: Set + /// Loop's own small, frequent doses: the amount is set lighter so the person's own entries stand out. + var quiet = false var basalChanges: [BasalSegment] = [] var edit: StoredCarbEntry? = nil var delete: Action? = nil + /// Units of a single automatic bolus, so runs of them can be folded into one row. + var automaticUnits: Double? = nil + /// The automatic boluses a folded row stands for, newest first. + var bolusRun: [LogEntry] = [] func matches(_ filter: Filter) -> Bool { filter == .all || filters.contains(filter) @@ -148,9 +154,12 @@ final class LogbookModel: ObservableObject { subtitle: joined(parts), amount: LoopFormat.doseUnits(bolus.units), amountColor: P.bolusInk, detail: LoopFormat.time(bolus.date), - icon: "plus", iconFill: P.bolus, + icon: bolus.automatic ? "arrow.triangle.2.circlepath" : "syringe.fill", + iconStyle: bolus.automatic ? .hatch(P.bolus) : .solid(P.bolus), filters: bolus.automatic ? [.bolus, .loop] : [.bolus], - delete: canDelete && bolus.manuallyEntered ? bolus.dose.map { .deleteDose($0) } : nil)) + quiet: bolus.automatic, + delete: canDelete && bolus.manuallyEntered ? bolus.dose.map { .deleteDose($0) } : nil, + automaticUnits: bolus.automatic && !bolus.manuallyEntered ? bolus.units : nil)) } for carb in carbsToday { @@ -163,7 +172,7 @@ final class LogbookModel: ObservableObject { title: NSLocalizedString("Carbs", comment: "Logbook row title: a carb entry"), subtitle: joined(parts), amount: LoopFormat.grams(carb.grams), amountColor: P.carbsInk, detail: LoopFormat.time(carb.date), - icon: "fork.knife", iconFill: P.carbs, filters: [.carbs], + icon: "fork.knife", iconStyle: .solid(P.carbs), filters: [.carbs], edit: editable, delete: canDelete ? editable.map { .deleteCarbs($0) } : nil)) } @@ -177,9 +186,9 @@ final class LogbookModel: ObservableObject { id: "basal-\(day.start.timeIntervalSince1970)", date: latest.start, title: NSLocalizedString("Basal adjustments", comment: "Logbook row title summarising the temp basals Loop set in a day"), subtitle: String.localizedStringWithFormat(NSLocalizedString("Loop · %lld changes · tap to list", comment: "Logbook basal adjustments row subtitle: how many temp basals Loop set in the day; tapping lists them. (1: number of changes)"), count), - amount: String(format: NSLocalizedString("%1$@ U", comment: "Format string for an amount of insulin in units. (1: amount)"), LoopFormat.signed(net, decimals: 1)), amountColor: P.insulinInk, + amount: String(format: NSLocalizedString("%1$@ U", comment: "Format string for an amount of insulin in units. (1: amount)"), LoopFormat.signed(net, decimals: 1)), amountColor: P.ink, detail: NSLocalizedString("vs plan", comment: "Logbook basal adjustments row: the insulin amount is the difference from the scheduled basal"), - icon: "waveform.path.ecg", iconFill: P.basalEdge, filters: [.basal, .loop], + icon: "waveform.path.ecg", iconStyle: .basal, filters: [.basal, .loop], basalChanges: automaticTemps.reversed())) } for temp in segments where temp.kind == .temp && !temp.automatic { @@ -187,9 +196,9 @@ final class LogbookModel: ObservableObject { id: "temp-\(temp.start.timeIntervalSince1970)", date: temp.start, title: NSLocalizedString("Temp basal", comment: "Logbook row title: a temporary basal rate"), subtitle: String(format: NSLocalizedString("Manual · %1$@", comment: "Logbook temp basal row subtitle: set by hand, then the rate and how long. (1: description, e.g. 0.50 U/h for 30m (scheduled 0.80))"), describe(temp)), - amount: LoopFormat.rate(temp.rate), amountColor: P.insulinInk, + amount: LoopFormat.rate(temp.rate), amountColor: P.ink, detail: LoopFormat.time(temp.start), - icon: "waveform.path.ecg", iconFill: P.basalEdge, filters: [.basal])) + icon: "waveform.path.ecg", iconStyle: .basal, filters: [.basal])) } for suspend in segments where suspend.kind == .suspended { var parts = [suspend.automatic ? sourceLoop : sourceManual, LoopFormat.duration(suspend.end.timeIntervalSince(suspend.start))] @@ -199,7 +208,7 @@ final class LogbookModel: ObservableObject { title: NSLocalizedString("Basal suspended", comment: "Logbook row title: insulin delivery was suspended"), subtitle: joined(parts), amount: String(format: NSLocalizedString("%1$@ U/h", comment: "Format string for an insulin rate in units per hour. (1: rate)"), LoopFormat.number(0, decimals: 0)), amountColor: P.ink, detail: LoopFormat.time(suspend.start), - icon: "pause.fill", iconFill: P.statusWarning, + icon: "pause.fill", iconStyle: .solid(P.statusWarning), filters: suspend.automatic ? [.basal, .loop] : [.basal])) } @@ -216,15 +225,57 @@ final class LogbookModel: ObservableObject { title: title, subtitle: NSLocalizedString("Pump", comment: "Logbook row subtitle: the event was reported by the insulin pump"), amount: "", amountColor: P.ink, detail: LoopFormat.time(event.date), - icon: "circle.dashed", iconFill: P.inkMuted.opacity(0.5), filters: [])) + icon: "circle.dashed", iconStyle: .solid(P.inkMuted.opacity(0.5)), filters: [])) } let insulin = InsulinSplit(basal: segments.reduce(0) { $0 + $1.units }, boluses: history.boluses.filter { inDay($0.date) }) - return LogDay(day: day.start, entries: entries.sorted { $0.date > $1.date }, insulin: insulin, + return LogDay(day: day.start, entries: foldingAutomaticBoluses(entries.sorted { $0.date > $1.date }), insulin: insulin, carbs: carbsToday.reduce(0) { $0 + $1.grams }) } } + /// Loop gives many small automatic boluses; two or more in a row, with nothing else logged between them, become + /// one row that lists them. The day's Basal adjustments summary row is dated by its latest change, not where it + /// falls, so it doesn't break a run. + static func foldingAutomaticBoluses(_ entries: [LogEntry]) -> [LogEntry] { + var result: [LogEntry] = [] + var run: [LogEntry] = [] + var summaries: [LogEntry] = [] + + func flush() { + if run.count >= 2, let newest = run.first, let oldest = run.last { + let units = run.reduce(0) { $0 + ($1.automaticUnits ?? 0) } + result.append(LogEntry( + id: "autorun-\(newest.id)", date: newest.date, + title: NSLocalizedString("Automatic boluses", comment: "Logbook row title: several automatic boluses in a row, folded into one row that lists them"), + subtitle: String(format: NSLocalizedString("Loop · %1$@ · tap to list", comment: "Logbook folded automatic boluses row subtitle: Loop gave them, the time span they cover, and tapping lists them. (1: time range, e.g. 15:08 – 16:14)"), + "\(LoopFormat.time(oldest.date))–\(LoopFormat.time(newest.date))"), + amount: LoopFormat.doseUnits(units), amountColor: P.bolusInk, + detail: String.localizedStringWithFormat(NSLocalizedString("%lld doses", comment: "Logbook folded automatic boluses row: how many automatic boluses it holds. (1: number)"), run.count), + icon: "arrow.triangle.2.circlepath", iconStyle: .hatch(P.bolus), + filters: [.bolus, .loop], quiet: true, + bolusRun: run)) + } else { + result.append(contentsOf: run) + } + run = [] + } + + for entry in entries { + if entry.automaticUnits != nil { + run.append(entry) + } else if !entry.basalChanges.isEmpty { + summaries.append(entry) + } else { + flush() + result.append(entry) + } + } + flush() + // Put the summary rows back in date order. + return (result + summaries).sorted { $0.date > $1.date } + } + private static var sourceLoop: String { NSLocalizedString("Loop", comment: "Logbook row detail: Loop made this change automatically (Loop is the app's name)") } @@ -273,10 +324,12 @@ struct LogbookView: View { @State private var path: [Route] = [] /// Editing is a sheet, as adding carbs is on Now: pushed here, the tab bar covered the bolus screen's button. @State private var editingCarbs: CarbEditRoute? + @Environment(\.dynamicTypeSize) private var typeSize private let deviceManager: DeviceDataManager enum Route: Hashable { case basal(String) + case boluses(String) } struct CarbEditRoute: Identifiable { @@ -401,16 +454,35 @@ struct LogbookView: View { ? String(format: NSLocalizedString("Yesterday · %1$@", comment: "Logbook day header for yesterday. (1: weekday and date, e.g. Sat 24 Oct)"), date) : date return VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { - HStack(alignment: .firstTextBaseline) { - Text(title) - .font(LoopDesign.Typeface.headline) - .foregroundStyle(P.ink) - Spacer() + let totals = HStack(spacing: LoopDesign.Space.s3) { + if day.insulin.total > 0 { + Text(LoopFormat.totalUnits(day.insulin.total)) + .foregroundStyle(P.ink) + } Text(LoopFormat.grams(day.carbs)) - .font(LoopDesign.Typeface.footnote.monospacedDigit()) .foregroundStyle(P.carbsInk) } + .font(LoopDesign.Typeface.footnote.monospacedDigit()) + .fixedSize() + // The totals drop under the date when both won't fit on one line, rather than breaking numbers apart. + ViewThatFits(in: .horizontal) { + HStack(alignment: .firstTextBaseline) { + Text(title) + .font(LoopDesign.Typeface.headline) + .foregroundStyle(P.ink) + .fixedSize() + Spacer() + totals + } + VStack(alignment: .leading, spacing: LoopDesign.Space.s1) { + Text(title) + .font(LoopDesign.Typeface.headline) + .foregroundStyle(P.ink) + totals + } + } if day.insulin.total > 0 { + // The day's total sits on the line above, so the key keeps to one line. InsulinSplitLine(split: day.insulin, partial: calendar.isDateInToday(day.day)) } } @@ -421,32 +493,46 @@ struct LogbookView: View { @ViewBuilder private func row(_ entry: LogEntry) -> some View { - let content = HStack(spacing: LoopDesign.Space.s3) { - IconTile(systemName: entry.icon, fill: entry.iconFill) - VStack(alignment: .leading, spacing: 2) { - Text(entry.title) - .font(LoopDesign.Typeface.body) - .foregroundStyle(P.ink) - Text(entry.subtitle) - .font(LoopDesign.Typeface.footnote) - .foregroundStyle(P.inkMuted) + // At accessibility sizes the amount moves under the title, so neither column squeezes the other into fragments. + let stacked = typeSize.isAccessibilitySize + let titles = VStack(alignment: .leading, spacing: 2) { + Text(entry.title) + .font(LoopDesign.Typeface.body) + .foregroundStyle(P.ink) + Text(entry.subtitle) + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + } + let amounts = VStack(alignment: stacked ? .leading : .trailing, spacing: 2) { + if !entry.amount.isEmpty { + Text(entry.amount) + .font(LoopDesign.Typeface.body.weight(entry.quiet ? .regular : .semibold).monospacedDigit()) + .foregroundStyle(entry.amountColor) } - Spacer(minLength: LoopDesign.Space.s2) - VStack(alignment: .trailing, spacing: 2) { - if !entry.amount.isEmpty { - Text(entry.amount) - .font(LoopDesign.Typeface.body.weight(.semibold).monospacedDigit()) - .foregroundStyle(entry.amountColor) + Text(entry.detail) + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + } + let content = HStack(alignment: stacked ? .top : .center, spacing: LoopDesign.Space.s3) { + IconTile(systemName: entry.icon, style: entry.iconStyle) + if stacked { + VStack(alignment: .leading, spacing: LoopDesign.Space.s1) { + titles + amounts } - Text(entry.detail) - .font(LoopDesign.Typeface.footnote) - .foregroundStyle(P.inkMuted) + Spacer(minLength: 0) + } else { + titles + Spacer(minLength: LoopDesign.Space.s2) + amounts } } .accessibilityElement(children: .combine) if !entry.basalChanges.isEmpty { NavigationLink(value: Route.basal(entry.id)) { content } + } else if !entry.bolusRun.isEmpty { + NavigationLink(value: Route.boluses(entry.id)) { content } } else { content .swipeActions(edge: .trailing, allowsFullSwipe: false) { @@ -478,6 +564,14 @@ struct LogbookView: View { if let entry = model.days.flatMap(\.entries).first(where: { $0.id == id }) { BasalChangesList(changes: entry.basalChanges) } + case .boluses(let id): + if let entry = model.days.flatMap(\.entries).first(where: { $0.id == id }) { + List(entry.bolusRun) { bolus in + row(bolus) + } + .navigationTitle(NSLocalizedString("Automatic boluses", comment: "Logbook row title: several automatic boluses in a row, folded into one row that lists them")) + .navigationBarTitleDisplayMode(.inline) + } } } } @@ -497,7 +591,7 @@ private struct LogbookCarbEditor: View { } var body: some View { - CarbEntryView(viewModel: viewModel) + CarbEntryScreen(viewModel: viewModel) .environmentObject(deviceManager.displayGlucosePreference) .environment(\.dismissAction, dismiss) .navigationTitle(NSLocalizedString("Edit Carb Entry", comment: "Title of the screen for editing a carb entry from the Logbook")) diff --git a/Loop/Redesign/LoopDesign.swift b/Loop/Redesign/LoopDesign.swift index b31e27b3dd..a0e0cc5dee 100644 --- a/Loop/Redesign/LoopDesign.swift +++ b/Loop/Redesign/LoopDesign.swift @@ -323,18 +323,69 @@ struct ValueTile: View { } /// The square icon tile at the start of logbook rows. +/// +/// Insulin tiles are drawn the way the charts draw the same insulin, so a row and its mark read alike: manual bolus +/// solid, automatic bolus hatched, basal pale with its edge. struct IconTile: View { + enum Style { + case solid(Color) + case hatch(Color) + case basal + } + let systemName: String - let fill: Color + let style: Style + @Environment(\.colorScheme) private var scheme + + init(systemName: String, fill: Color) { + self.systemName = systemName + self.style = .solid(fill) + } + + init(systemName: String, style: Style) { + self.systemName = systemName + self.style = style + } + + private var shape: RoundedRectangle { RoundedRectangle(cornerRadius: LoopDesign.Radius.sm, style: .continuous) } var body: some View { Image(systemName: systemName) - .font(.system(size: 13, weight: .bold)) - .foregroundStyle(LoopDesign.Palette.onFill) + .font(.system(size: isHatched ? 11 : 13, weight: .bold)) + .foregroundStyle(glyph) + // Stripes behind a glyph blur it, so the hatched tile sets its glyph on a plain disc. + .frame(width: isHatched ? 18 : 28, height: isHatched ? 18 : 28) + .background { if isHatched { Circle().fill(LoopDesign.Palette.surfaceRaised) } } .frame(width: 28, height: 28) - .background(fill, in: RoundedRectangle(cornerRadius: LoopDesign.Radius.sm, style: .continuous)) + .background { background } .accessibilityHidden(true) } + + private var isHatched: Bool { + if case .hatch = style { return true } + return false + } + + private var glyph: Color { + switch style { + case .solid: return LoopDesign.Palette.onFill + case .hatch, .basal: return LoopDesign.Palette.bolusInk + } + } + + @ViewBuilder + private var background: some View { + switch style { + case .solid(let fill): + shape.fill(fill) + case .hatch(let color): + shape.fill(Hatch.paint(color, scheme: scheme)) + .overlay(shape.strokeBorder(color, lineWidth: 1.5)) + case .basal: + shape.fill(LoopDesign.Palette.basal) + .overlay(shape.strokeBorder(LoopDesign.Palette.basalEdge, lineWidth: 1.5)) + } + } } /// A message in place of a chart that has nothing to draw, saying why. diff --git a/Loop/Redesign/LoopHistoryModels.swift b/Loop/Redesign/LoopHistoryModels.swift index 6234773306..d8ccf36ad0 100644 --- a/Loop/Redesign/LoopHistoryModels.swift +++ b/Loop/Redesign/LoopHistoryModels.swift @@ -132,6 +132,20 @@ struct DayHistory { var carbGrams: Double { carbs.reduce(0) { $0 + $1.grams } } var totalUnits: Double { bolusUnits + basalUnits } var insulinSplit: InsulinSplit { InsulinSplit(basal: basalUnits, boluses: boluses) } + + /// Only what falls inside `interval`, with basal cut at its edges. + func clipped(to interval: DateInterval) -> DayHistory { + var history = self + let inside: (Date) -> Bool = { $0 >= interval.start && $0 < interval.end } + history.window = interval + history.glucose = glucose.filter { inside($0.date) } + history.boluses = boluses.filter { inside($0.date) } + history.basal = basal.compactMap { $0.clamped(to: interval) } + history.carbs = carbs.filter { inside($0.date) } + history.iob = iob.filter { inside($0.date) } + history.cob = cob.filter { inside($0.date) } + return history + } } /// Basal and bolus for one day, or averaged per day, with bolus split into manual and automatic. diff --git a/Loop/Redesign/NowScreen.swift b/Loop/Redesign/NowScreen.swift index 110f6d758e..686b2f3066 100644 --- a/Loop/Redesign/NowScreen.swift +++ b/Loop/Redesign/NowScreen.swift @@ -633,23 +633,14 @@ struct NowChartsView: View { private var todayCard: some View { Button(action: actions.showToday) { - LoopCard { - CardHeader(title: NSLocalizedString("Today so far", comment: "Title of the card on the Now screen showing today's insulin and carbs")) { - if model.historyError == nil { - HStack(spacing: 4) { - Text(LoopFormat.totalUnits(model.today.totalUnits)).foregroundStyle(P.insulinInk) - Text(verbatim: "·") - Text(LoopFormat.grams(model.today.carbGrams)).foregroundStyle(P.carbsInk) - } - } - } - if let error = model.historyError { + if let error = model.historyError { + LoopCard { + CardHeader(title: DayTimelineCard.todayTitle) ChartPlaceholder(message: String(format: NSLocalizedString("Couldn't load today's history: %1$@", comment: "Shown on the Now screen's Today so far card when history couldn't be read. (1: system error description)"), error)) - } else { - InsulinTimelineView(history: model.today, unit: model.unit, targetBands: model.todayTargets, now: model.now, height: 230) - DayTotalsTiles(history: model.today) - ChartLegend(items: DayTotalsTiles.legend) } + } else { + DayTimelineCard(title: DayTimelineCard.todayTitle, history: model.today, unit: model.unit, targetBands: model.todayTargets, + now: model.now, height: 230) } } .buttonStyle(.plain) @@ -657,6 +648,39 @@ struct NowChartsView: View { } } +/// A day on one timeline with its totals: Today so far on Now, and a one-day period on Trends. +struct DayTimelineCard: View { + let title: String + let history: DayHistory + let unit: GlucoseUnitStyle + let targetBands: [TargetBand] + var now: Date = Date() + var height: CGFloat = 230 + /// The bolus, basal and carb tiles; off where a Basal and bolus card follows. + var showsTotals = true + + static var todayTitle: String { + NSLocalizedString("Today so far", comment: "Title of the card on the Now screen showing today's insulin and carbs") + } + + var body: some View { + LoopCard { + CardHeader(title: title) { + HStack(spacing: 4) { + Text(LoopFormat.totalUnits(history.totalUnits)).foregroundStyle(P.insulinInk) + Text(verbatim: "·") + Text(LoopFormat.grams(history.carbGrams)).foregroundStyle(P.carbsInk) + } + } + InsulinTimelineView(history: history, unit: unit, targetBands: targetBands, now: now, height: height) + if showsTotals { + DayTotalsTiles(history: history) + } + ChartLegend(items: DayTotalsTiles.legend) + } + } +} + /// Bolus, basal and carb totals under a timeline. struct DayTotalsTiles: View { let history: DayHistory @@ -676,9 +700,10 @@ struct DayTotalsTiles: View { .foregroundStyle(P.bolusInk) } ValueTile(label: NSLocalizedString("Basal", comment: "Label of a tile showing the current basal rate (Now screen) or the day's basal insulin total (Today so far totals)")) { + // Plain ink: basal is the pale fill on the chart, and orange here read as bolus. Text(LoopFormat.totalUnits(history.basalUnits)) .font(LoopDesign.Typeface.statValueSmall) - .foregroundStyle(P.insulinInk) + .foregroundStyle(P.ink) } ValueTile(label: NSLocalizedString("Carbs", comment: "Label of a tile showing the day's total carbohydrate")) { Text(LoopFormat.grams(history.carbGrams)) diff --git a/Loop/Redesign/TrendsComponents.swift b/Loop/Redesign/TrendsComponents.swift index 16862c361c..7fb5a95291 100644 --- a/Loop/Redesign/TrendsComponents.swift +++ b/Loop/Redesign/TrendsComponents.swift @@ -416,7 +416,7 @@ struct TrendsAGPChart: View { /// Basal against bolus in one capsule: basal, then manual bolus, then automatic bolus. struct InsulinSplitBar: View { let split: InsulinSplit - /// A 4-point line for list headers, where automatic bolus is a tint because stripes don't fit. + /// A 6-point line for list headers. It is still tall enough to show the automatic bolus stripes. var hairline = false @Environment(\.colorScheme) private var scheme @@ -448,7 +448,7 @@ struct InsulinSplitBar: View { } .clipShape(Capsule()) } - .frame(height: hairline ? 4 : 14) + .frame(height: hairline ? 6 : 14) .accessibilityHidden(true) } @@ -463,11 +463,7 @@ struct InsulinSplitBar: View { case .manual: Rectangle().fill(LoopDesign.Palette.bolus) case .automatic: - if hairline { - Rectangle().fill(LoopDesign.Palette.bolus.opacity(0.45)) - } else { - Rectangle().fill(Hatch.paint(LoopDesign.Palette.bolus, scheme: scheme)) - } + Rectangle().fill(Hatch.paint(LoopDesign.Palette.bolus, scheme: scheme)) } } } @@ -552,24 +548,41 @@ struct InsulinSplitView: View { } } -/// A day's basal and bolus in one line under a list header. +/// A day's basal and bolus under a list header: the line, then each part keyed the way the charts and rows draw it. +/// The header shows the day's total itself. struct InsulinSplitLine: View { let split: InsulinSplit var partial = false var body: some View { - VStack(alignment: .leading, spacing: 5) { + VStack(alignment: .leading, spacing: 6) { InsulinSplitBar(split: split, hairline: true) - Text(String(format: partial - ? NSLocalizedString("Basal %1$@ · Bolus %2$@ · %3$@ so far", comment: "Logbook day header for today: basal, bolus and total insulin so far. (1: basal units as a number, 2: bolus units as a number, 3: total with unit, e.g. 40.0 U)") - : NSLocalizedString("Basal %1$@ · Bolus %2$@ · %3$@", comment: "Logbook day header: the day's basal, bolus and total insulin. (1: basal units as a number, 2: bolus units as a number, 3: total with unit, e.g. 40.0 U)"), - LoopFormat.number(split.basal, decimals: 1), LoopFormat.number(split.bolus, decimals: 1), LoopFormat.totalUnits(split.total))) - .font(LoopDesign.Typeface.footnote.monospacedDigit()) - .foregroundStyle(LoopDesign.Palette.inkMuted) + FlowLayout(spacing: LoopDesign.Space.s3, lineSpacing: 2) { + part(.basal, Text(NSLocalizedString("Basal", comment: "Basal and bolus row: insulin delivered as basal")) + Text(verbatim: " ") + Text(LoopFormat.number(split.basal, decimals: 1))) + if split.isClassified { + if split.manualBolus > 0 { + part(.solid(LoopDesign.Palette.bolus), Text(String(format: NSLocalizedString("Manual %1$@", comment: "Basal and bolus: bolus the person gave. (1: units, e.g. 16.2 U)"), LoopFormat.number(split.manualBolus, decimals: 1)))) + } + if split.automaticBolus > 0 { + part(.hatch(LoopDesign.Palette.bolus), Text(String(format: NSLocalizedString("Automatic %1$@", comment: "Basal and bolus: bolus Loop gave automatically. (1: units, e.g. 5.4 U)"), LoopFormat.number(split.automaticBolus, decimals: 1)))) + } + } else { + part(.solid(LoopDesign.Palette.bolus), Text(NSLocalizedString("Bolus", comment: "Basal and bolus row: insulin delivered as bolus, manual and automatic")) + Text(verbatim: " ") + Text(LoopFormat.number(split.bolus, decimals: 1))) + } + } + .font(LoopDesign.Typeface.footnote.monospacedDigit()) + .foregroundStyle(LoopDesign.Palette.inkMuted) } .accessibilityElement(children: .ignore) .accessibilityLabel(InsulinSplitView.accessibilityLabel(split, partial: partial)) } + + private func part(_ swatch: LegendItem.Swatch, _ text: Text) -> some View { + HStack(spacing: LoopDesign.Space.s1) { + LegendSwatch(swatch: swatch) + text + } + } } // MARK: - InsulinDailyTotals diff --git a/Loop/Redesign/TrendsScreen.swift b/Loop/Redesign/TrendsScreen.swift index f2d4126beb..ff4096b087 100644 --- a/Loop/Redesign/TrendsScreen.swift +++ b/Loop/Redesign/TrendsScreen.swift @@ -33,6 +33,9 @@ final class TrendsModel: ObservableObject { var loopSpans: [LoopModeSpan] = [] var loopCoverageStart: Date? var targetRange: ClosedRange? + /// The whole calendar day, for a one-day period: drawn as the same timeline as Now's Today so far. + var day: DayHistory? + var dayTargets: [TargetBand] = [] /// The days per-day figures divide by: insulin's averaging days, or complete days with CGM data when there is /// no insulin (today only when no complete day has any), never the period length. @@ -66,12 +69,13 @@ final class TrendsModel: ObservableObject { func reload() { loadTask?.cancel() let interval = self.interval + let oneDay = period == .day loading = true summary = nil loadError = nil loadTask = Task { do { - let result = try await Self.load(provider: provider, interval: interval) + let result = try await Self.load(provider: provider, interval: interval, oneDay: oneDay) guard !Task.isCancelled else { return } self.summary = result } catch { @@ -82,14 +86,21 @@ final class TrendsModel: ObservableObject { } } - private static func load(provider: LoopHistoryProvider, interval: DateInterval) async throws -> Summary { + private static func load(provider: LoopHistoryProvider, interval: DateInterval, oneDay: Bool) async throws -> Summary { var summary = Summary(interval: interval, unit: provider.unitStyle) summary.targetRange = provider.glucoseTargetRange - async let historyFetch = provider.dayHistory(interval, includeOnBoard: false) + // A single day is read to midnight, as Today so far is, so the scheduled basal still to come is drawn. + let fetchWindow = oneDay ? DateInterval(start: interval.start, end: Calendar.current.date(byAdding: .day, value: 1, to: interval.start)!) : interval + async let historyFetch = provider.dayHistory(fetchWindow, includeOnBoard: false) async let runsFetch = provider.loopRuns() - let history = try await historyFetch + var history = try await historyFetch let (runs, coverageStart) = try await runsFetch + if oneDay { + summary.day = history + summary.dayTargets = provider.glucoseTargetBands(in: fetchWindow) + history = history.clipped(to: interval) + } summary.glucose = history.glucose summary.stats = LoopHistoryMath.glucoseStats(history.glucose) @@ -162,19 +173,30 @@ final class TrendsModel: ObservableObject { insulinDetail = String(format: NSLocalizedString("%1$@%% basal", comment: "Trends Insulin per day tile detail: share of insulin delivered as basal. (1: percentage number)"), basalPercent) } - tiles.append(StatTile(label: NSLocalizedString("Insulin per day", comment: "Trends tile and card title: average total insulin per day"), + // One day's figures are that day's own, so its tiles drop "per day" and show whole counts. + let oneDay = s.day != nil + let countDecimals = oneDay ? 0 : 1 + tiles.append(StatTile(label: oneDay + ? NSLocalizedString("Insulin", comment: "Trends summary tile for a one-day period: the day's total insulin") + : NSLocalizedString("Insulin per day", comment: "Trends tile and card title: average total insulin per day"), value: LoopFormat.number(s.insulinPerDay, decimals: 1), unit: NSLocalizedString("U", comment: "Abbreviation for insulin units"), detail: insulinDetail)) - tiles.append(StatTile(label: NSLocalizedString("Carbs per day", comment: "Trends summary tile: average grams of carbohydrate entered per day"), + tiles.append(StatTile(label: oneDay + ? NSLocalizedString("Carbs", comment: "Trends summary tile for a one-day period: the day's total carbohydrate") + : NSLocalizedString("Carbs per day", comment: "Trends summary tile: average grams of carbohydrate entered per day"), value: LoopFormat.number(s.carbGrams / s.days, decimals: 0), unit: NSLocalizedString("g", comment: "Abbreviation for grams"), - detail: String(format: NSLocalizedString("%1$@ entries", comment: "Trends Carbs per day tile detail: average number of carb entries per day, a fractional value such as 2.5, so not pluralised. (1: number with one decimal)"), - LoopFormat.number(Double(s.carbEntries) / s.days, decimals: 1)))) - tiles.append(StatTile(label: NSLocalizedString("Boluses per day", comment: "Trends summary tile: average number of manual boluses per day"), - value: LoopFormat.number(Double(s.manualBoluses) / s.days, decimals: 1), unit: nil, + detail: oneDay + ? String(format: NSLocalizedString("%lld entries", comment: "Trends Carbs tile detail for a one-day period: how many carb entries were made that day. (1: number)"), s.carbEntries) + : String(format: NSLocalizedString("%1$@ entries", comment: "Trends Carbs per day tile detail: average number of carb entries per day, a fractional value such as 2.5, so not pluralised. (1: number with one decimal)"), + LoopFormat.number(Double(s.carbEntries) / s.days, decimals: 1)))) + tiles.append(StatTile(label: oneDay + ? NSLocalizedString("Boluses", comment: "Trends summary tile for a one-day period: how many manual boluses were given that day") + : NSLocalizedString("Boluses per day", comment: "Trends summary tile: average number of manual boluses per day"), + value: LoopFormat.number(Double(s.manualBoluses) / s.days, decimals: countDecimals), unit: nil, detail: String(format: NSLocalizedString("+ %1$@ automatic", comment: "Trends Boluses per day tile detail: average number of automatic boluses per day on top of the manual ones, a fractional value such as 4.2. (1: number with one decimal)"), - LoopFormat.number(Double(s.automaticBoluses) / s.days, decimals: 1)))) + LoopFormat.number(Double(s.automaticBoluses) / s.days, decimals: countDecimals)))) let covered = s.loopSpans.reduce(0) { $0 + $1.duration } if covered > 0 { let closed = LoopHistoryMath.duration(of: .closed, in: s.loopSpans) @@ -315,6 +337,10 @@ struct TrendsView: View { private var content: some View { if let s = model.summary { summaryCard(s) + // A single day leads with its timeline, as Today so far does on Now. + if let day = s.day { + dayCard(day, targets: s.dayTargets, unit: s.unit) + } LoopCard { CardHeader(title: NSLocalizedString("Time in range", comment: "Trends card title: share of glucose readings in each range")) { Text(String(format: NSLocalizedString("%1$@%% CGM active", comment: "Trends Time in range card: share of the period with CGM readings. (1: percentage number)"), @@ -329,14 +355,8 @@ struct TrendsView: View { .font(LoopDesign.Typeface.footnote) .foregroundStyle(P.inkMuted) } - LoopCard { - CardHeader(title: NSLocalizedString("Daily pattern", comment: "Trends card title: the ambulatory glucose profile, glucose by time of day across the period")) { Text(s.unit.unitName) } - TrendsAGPChart(slots: s.agp, readings: s.glucose, days: s.agpDays, unit: s.unit, targetRange: s.targetRange) - ChartLegend(items: [ - LegendItem(swatch: .solid(P.glucose), label: NSLocalizedString("Median", comment: "Trends Daily pattern legend: the median glucose line")), - LegendItem(swatch: .solid(P.agpInner), label: NSLocalizedString("25–75%", comment: "Trends Daily pattern legend: band between the 25th and 75th percentiles of glucose")), - LegendItem(swatch: .solid(P.agpOuter), label: NSLocalizedString("5–95%", comment: "Trends Daily pattern legend: band between the 5th and 95th percentiles of glucose")), - ]) + if s.day == nil { + patternCard(s) } LoopCard { CardHeader(title: NSLocalizedString("Basal and bolus", comment: "Trends card title: insulin split into basal and bolus")) { @@ -352,17 +372,20 @@ struct TrendsView: View { ChartPlaceholder(message: NSLocalizedString("No insulin recorded in this period", comment: "Trends Insulin per day chart placeholder when no insulin was delivered in the period"), height: 80) } } - LoopCard { - CardHeader(title: NSLocalizedString("Insulin per day", comment: "Trends tile and card title: average total insulin per day")) { - Text(s.totals.count > 30 - ? NSLocalizedString("per day, weekly average", comment: "Trends Insulin per day card subtitle when each bar is a week's average daily total") - : NSLocalizedString("basal and bolus", comment: "Trends Insulin per day card subtitle when each bar is one day's basal and bolus")) - } - InsulinDailyTotalsView(totals: s.totals.count > 30 ? LoopHistoryMath.weekly(s.totals) : s.totals, - weekly: s.totals.count > 30, average: s.insulinPerDay) { day in - path.append(.day(day)) + // One day is one bar: the timeline and the Basal and bolus card already say it all. + if s.day == nil { + LoopCard { + CardHeader(title: NSLocalizedString("Insulin per day", comment: "Trends tile and card title: average total insulin per day")) { + Text(s.totals.count > 30 + ? NSLocalizedString("per day, weekly average", comment: "Trends Insulin per day card subtitle when each bar is a week's average daily total") + : NSLocalizedString("basal and bolus", comment: "Trends Insulin per day card subtitle when each bar is one day's basal and bolus")) + } + InsulinDailyTotalsView(totals: s.totals.count > 30 ? LoopHistoryMath.weekly(s.totals) : s.totals, + weekly: s.totals.count > 30, average: s.insulinPerDay) { day in + path.append(.day(day)) + } + ChartLegend(items: insulinLegend(s)) } - ChartLegend(items: insulinLegend(s)) } LoopCard { CardHeader(title: NSLocalizedString("Loop status", comment: "Trends card title: how long Loop spent in closed loop, limited or open loop")) { @@ -387,6 +410,31 @@ struct TrendsView: View { } } + /// The same timeline as Today so far: glucose, every bolus and basal change, and carbs, through the day. + private func dayCard(_ day: DayHistory, targets: [TargetBand], unit: GlucoseUnitStyle) -> some View { + let isToday = Calendar.current.isDateInToday(day.window.start) + return Button { + path.append(.day(day.window.start)) + } label: { + DayTimelineCard(title: isToday ? DayTimelineCard.todayTitle : LoopFormat.weekdayDay(day.window.start), + history: day, unit: unit, targetBands: targets, height: 260, showsTotals: false) + } + .buttonStyle(.plain) + .accessibilityHint(NSLocalizedString("Opens the full day", comment: "VoiceOver hint for the Today so far card on the Now screen")) + } + + private func patternCard(_ s: TrendsModel.Summary) -> some View { + LoopCard { + CardHeader(title: NSLocalizedString("Daily pattern", comment: "Trends card title: the ambulatory glucose profile, glucose by time of day across the period")) { Text(s.unit.unitName) } + TrendsAGPChart(slots: s.agp, readings: s.glucose, days: s.agpDays, unit: s.unit, targetRange: s.targetRange) + ChartLegend(items: [ + LegendItem(swatch: .solid(P.glucose), label: NSLocalizedString("Median", comment: "Trends Daily pattern legend: the median glucose line")), + LegendItem(swatch: .solid(P.agpInner), label: NSLocalizedString("25–75%", comment: "Trends Daily pattern legend: band between the 25th and 75th percentiles of glucose")), + LegendItem(swatch: .solid(P.agpOuter), label: NSLocalizedString("5–95%", comment: "Trends Daily pattern legend: band between the 5th and 95th percentiles of glucose")), + ]) + } + } + private func summaryCard(_ s: TrendsModel.Summary) -> some View { LoopCard { CardHeader(title: NSLocalizedString("Summary", comment: "Trends card title: the summary statistics tiles")) { @@ -468,15 +516,23 @@ private struct TrendsReport: View { } .frame(maxWidth: .infinity) } - VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { - Text(NSLocalizedString("Daily pattern", comment: "Trends card title: the ambulatory glucose profile, glucose by time of day across the period")).font(.headline) - TrendsAGPChart(slots: summary.agp, readings: summary.glucose, days: summary.agpDays, unit: summary.unit, - targetRange: summary.targetRange, height: 160) - } - VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { - Text(NSLocalizedString("Insulin per day", comment: "Trends tile and card title: average total insulin per day")).font(.headline) - InsulinDailyTotalsView(totals: summary.totals.count > 30 ? LoopHistoryMath.weekly(summary.totals) : summary.totals, - weekly: summary.totals.count > 30, average: summary.insulinPerDay, height: 140) + if let day = summary.day { + VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { + Text(LoopFormat.weekdayDay(day.window.start)).font(.headline) + InsulinTimelineView(history: day, unit: summary.unit, targetBands: summary.dayTargets, height: 220) + ChartLegend(items: DayTotalsTiles.legend) + } + } else { + VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { + Text(NSLocalizedString("Daily pattern", comment: "Trends card title: the ambulatory glucose profile, glucose by time of day across the period")).font(.headline) + TrendsAGPChart(slots: summary.agp, readings: summary.glucose, days: summary.agpDays, unit: summary.unit, + targetRange: summary.targetRange, height: 160) + } + VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { + Text(NSLocalizedString("Insulin per day", comment: "Trends tile and card title: average total insulin per day")).font(.headline) + InsulinDailyTotalsView(totals: summary.totals.count > 30 ? LoopHistoryMath.weekly(summary.totals) : summary.totals, + weekly: summary.totals.count > 30, average: summary.insulinPerDay, height: 140) + } } VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { Text(NSLocalizedString("Loop status", comment: "Trends card title: how long Loop spent in closed loop, limited or open loop")).font(.headline) diff --git a/Loop/View Controllers/StatusTableViewController.swift b/Loop/View Controllers/StatusTableViewController.swift index f656eca1b7..bb2f167c7f 100644 --- a/Loop/View Controllers/StatusTableViewController.swift +++ b/Loop/View Controllers/StatusTableViewController.swift @@ -1587,9 +1587,14 @@ final class StatusTableViewController: LoopChartsTableViewController { if let activity { viewModel.restoreUserActivityState(activity) } - let carbEntryView = CarbEntryView(viewModel: viewModel) - .environmentObject(deviceManager.displayGlucosePreference) - let hostingController = DismissibleHostingController(rootView: carbEntryView, isModalInPresentation: false) + let hostingController: UIViewController + if LoopInterfacePreference.useRedesign { + hostingController = DismissibleHostingController(rootView: CarbEntryScreen(viewModel: viewModel) + .environmentObject(deviceManager.displayGlucosePreference), isModalInPresentation: false) + } else { + hostingController = DismissibleHostingController(rootView: CarbEntryView(viewModel: viewModel) + .environmentObject(deviceManager.displayGlucosePreference), isModalInPresentation: false) + } present(hostingController, animated: true) } analyticsServicesManager?.didDisplayCarbEntryScreen() diff --git a/LoopTests/Models/LoopHistoryMathTests.swift b/LoopTests/Models/LoopHistoryMathTests.swift index 03a82672ce..7975c4958f 100644 --- a/LoopTests/Models/LoopHistoryMathTests.swift +++ b/LoopTests/Models/LoopHistoryMathTests.swift @@ -322,4 +322,48 @@ class LoopHistoryMathTests: XCTestCase { XCTAssertEqual(LoopHistoryProvider.describe(issue: "glucoseTooOld"), "Glucose too old") XCTAssertEqual(LoopHistoryProvider.describe(issue: "pumpDataTooOld"), "Pump data too old") } + + // MARK: Day history and Logbook folding + + func testDayHistoryClippedToNowDropsLaterEventsAndCutsBasal() { + var history = DayHistory(window: DateInterval(start: at(0), end: at(1440))) + history.glucose = [GlucosePoint(date: at(10), mgdl: 100), GlucosePoint(date: at(700), mgdl: 120)] + history.boluses = [BolusEvent(id: "a", date: at(30), units: 1, automatic: false, manuallyEntered: false), + BolusEvent(id: "b", date: at(650), units: 2, automatic: true, manuallyEntered: false)] + history.basal = [BasalSegment(start: at(0), end: at(720), rate: 1, scheduledRate: 1, kind: .scheduled, automatic: false)] + let clipped = history.clipped(to: DateInterval(start: at(0), end: at(600))) + XCTAssertEqual(clipped.window.end, at(600)) + XCTAssertEqual(clipped.glucose.count, 1) + XCTAssertEqual(clipped.boluses.map(\.id), ["a"]) + XCTAssertEqual(clipped.basalUnits, 10, accuracy: 1e-9) + } + + private func logRow(_ id: String, _ minutes: Double, automaticUnits: Double? = nil, basalSummary: Bool = false) -> LogEntry { + LogEntry(id: id, date: at(minutes), title: id, subtitle: "", amount: "", amountColor: .primary, detail: "", + icon: "plus", iconStyle: .solid(.primary), filters: [], + basalChanges: basalSummary ? [BasalSegment(start: at(0), end: at(30), rate: 0, scheduledRate: 1, kind: .temp, automatic: true)] : [], + automaticUnits: automaticUnits) + } + + @MainActor + func testLogbookFoldsRunsOfAutomaticBolusesBetweenOtherEntries() { + // Newest first, as the Logbook lists them. + let rows = [ + logRow("auto5", 100, automaticUnits: 0.3), + logRow("auto4", 95, automaticUnits: 0.2), + logRow("basal", 90, basalSummary: true), + logRow("auto3", 85, automaticUnits: 0.1), + logRow("carbs", 60), + logRow("auto2", 30, automaticUnits: 0.5), + logRow("manual", 20), + logRow("auto1", 10, automaticUnits: 0.1), + ] + let folded = LogbookModel.foldingAutomaticBoluses(rows) + // auto5, auto4 and auto3 fold together: the basal summary doesn't break a run, the carbs do. + XCTAssertEqual(folded.map(\.id), ["autorun-auto5", "basal", "carbs", "auto2", "manual", "auto1"]) + XCTAssertEqual(folded[0].bolusRun.map(\.id), ["auto5", "auto4", "auto3"]) + XCTAssertEqual(folded[0].date, at(100)) + XCTAssertTrue(folded[0].matches(.loop) && folded[0].matches(.bolus)) + XCTAssertEqual(folded[0].amount, LoopFormat.doseUnits(0.6)) + } } From 088e6bbddf5898732bdc8c39085acff38f0f7c88 Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Sat, 31 Oct 2026 22:34:44 +0000 Subject: [PATCH 13/17] Preserve favourite meals and historical targets in the redesign --- Loop/Redesign/CarbEntryScreen.swift | 17 +++-- Loop/Redesign/DayDetailView.swift | 8 ++- Loop/Redesign/LoopHistoryProvider.swift | 67 +++++++++++-------- Loop/Redesign/NowScreen.swift | 6 +- Loop/Redesign/TrendsScreen.swift | 2 +- Loop/View Models/CarbEntryViewModel.swift | 3 +- LoopTests/Managers/LoopDataManagerTests.swift | 58 ++++++++++++++++ 7 files changed, 123 insertions(+), 38 deletions(-) diff --git a/Loop/Redesign/CarbEntryScreen.swift b/Loop/Redesign/CarbEntryScreen.swift index 6766c5097e..3c74c49564 100644 --- a/Loop/Redesign/CarbEntryScreen.swift +++ b/Loop/Redesign/CarbEntryScreen.swift @@ -48,7 +48,7 @@ struct CarbEntryScreen: View { self.viewModel = viewModel isNewEntry = viewModel.originalCarbEntry == nil _amountText = State(initialValue: viewModel.carbsQuantity.flatMap { $0 > 0 ? Self.amountFormatter.string(from: NSNumber(value: $0)) : nil } ?? "") - _eatenChoice = State(initialValue: viewModel.originalCarbEntry == nil ? 0 : nil) + _eatenChoice = State(initialValue: viewModel.originalCarbEntry == nil && abs(viewModel.time.timeIntervalSinceNow) < 60 ? 0 : nil) } var body: some View { @@ -127,7 +127,9 @@ struct CarbEntryScreen: View { HowAbsorptionTimeWorksView() } .sheet(isPresented: $showAddFavoriteFood) { - FavoriteFoodAddEditView(carbsQuantity: viewModel.carbsQuantity, foodType: viewModel.foodType, absorptionTime: viewModel.absorptionTime) { food in + FavoriteFoodAddEditView(carbsQuantity: viewModel.carbsQuantity, + foodType: viewModel.usesCustomFoodType ? viewModel.foodType : viewModel.selectedDefaultAbsorptionTimeEmoji, + absorptionTime: viewModel.absorptionTime) { food in showAddFavoriteFood = false viewModel.onFavoriteFoodSave(food) } @@ -152,6 +154,8 @@ struct CarbEntryScreen: View { .font(.system(size: 76, weight: .bold, design: .rounded).monospacedDigit()) .foregroundStyle(P.carbsInk) .keyboardType(.decimalPad) + .accessibilityLabel(NSLocalizedString("Amount Consumed", comment: "Label for carb quantity entry row on carb entry screen")) + .accessibilityIdentifier("textField_CarbsAmount") .multilineTextAlignment(.trailing) .fixedSize() .focused($amountFocused) @@ -247,13 +251,16 @@ struct CarbEntryScreen: View { .accessibilityAddTraits(selected ? .isSelected : []) } } - HStack { + let timeLayout = typeSize.isAccessibilitySize + ? AnyLayout(VStackLayout(alignment: .leading, spacing: LoopDesign.Space.s2)) + : AnyLayout(HStackLayout()) + timeLayout { Text(NSLocalizedString("Time", comment: "Carb entry row label: the exact time the food was eaten")) .font(LoopDesign.Typeface.subhead) .foregroundStyle(P.inkMuted) - Spacer() + if !typeSize.isAccessibilitySize { Spacer() } DatePicker(selection: Binding(get: { viewModel.time }, set: { viewModel.time = $0; eatenChoice = nil }), - in: viewModel.minimumDate...viewModel.maximumDate, displayedComponents: [.hourAndMinute]) { + in: viewModel.minimumDate...viewModel.maximumDate, displayedComponents: [.date, .hourAndMinute]) { Text(NSLocalizedString("Time", comment: "Carb entry row label: the exact time the food was eaten")) } .labelsHidden() diff --git a/Loop/Redesign/DayDetailView.swift b/Loop/Redesign/DayDetailView.swift index 0de39e2fbd..385928642e 100644 --- a/Loop/Redesign/DayDetailView.swift +++ b/Loop/Redesign/DayDetailView.swift @@ -15,6 +15,7 @@ struct DayDetailView: View { @State private var day: Date @State private var history: DayHistory? + @State private var targetBands: [TargetBand] = [] @State private var now = Date() @State private var loadError: String? @@ -42,7 +43,7 @@ struct DayDetailView: View { Text(LoopFormat.grams(history.carbGrams)).foregroundStyle(P.carbsInk) } } - InsulinTimelineView(history: history, unit: provider.unitStyle, targetBands: provider.glucoseTargetBands(in: history.window), + InsulinTimelineView(history: history, unit: provider.unitStyle, targetBands: targetBands, now: now, height: 300) ChartLegend(items: DayTotalsTiles.legend) if history.source == .health { @@ -99,9 +100,12 @@ struct DayDetailView: View { history = nil loadError = nil do { - let result = try await provider.dayHistory(requestedWindow) + async let historyFetch = provider.dayHistory(requestedWindow) + async let targetsFetch = provider.glucoseTargetBands(in: requestedWindow) + let (result, targets) = try await (historyFetch, targetsFetch) guard !Task.isCancelled, window == requestedWindow else { return } history = result + targetBands = targets } catch { guard !Task.isCancelled, window == requestedWindow else { return } loadError = error.localizedDescription diff --git a/Loop/Redesign/LoopHistoryProvider.swift b/Loop/Redesign/LoopHistoryProvider.swift index b77eedc418..0ae2c4554f 100644 --- a/Loop/Redesign/LoopHistoryProvider.swift +++ b/Loop/Redesign/LoopHistoryProvider.swift @@ -65,33 +65,17 @@ final class LoopHistoryProvider { return range.lowerBound.doubleValue(for: .milligramsPerDeciliter)...range.upperBound.doubleValue(for: .milligramsPerDeciliter) } - /// The correction range schedule across `interval`, with any preset or pre-meal range over the time it runs, - /// as the classic glucose chart draws it. - @MainActor - func glucoseTargetBands(in interval: DateInterval) -> [TargetBand] { - guard let schedule = settingsManager.settings.glucoseTargetRangeSchedule else { return [] } - func mgdl(_ range: ClosedRange) -> ClosedRange { - range.lowerBound.doubleValue(for: .milligramsPerDeciliter)...range.upperBound.doubleValue(for: .milligramsPerDeciliter) - } - var bands = schedule.quantityBetween(start: interval.start, end: interval.end).map { - TargetBand(start: max($0.startDate, interval.start), end: min($0.endDate, interval.end), range: mgdl($0.value)) - } - // Pre-meal goes last so it wins where both run, as in TemporaryPresetsManager.effectiveCorrectionRangeSchedule. - for override in [temporaryPresetsManager.scheduleOverride, temporaryPresetsManager.preMealOverride].compactMap({ $0 }) { - guard let target = override.settings.targetRange, - let active = override.activeInterval.intersection(with: interval), active.duration > 0 else { continue } - bands = bands.flatMap { band -> [TargetBand] in - var pieces: [TargetBand] = [] - if band.start < active.start { - pieces.append(TargetBand(start: band.start, end: min(band.end, active.start), range: band.range)) - } - if band.end > active.end { - pieces.append(TargetBand(start: max(band.start, active.end), end: band.end, range: band.range)) - } - return pieces - } + [TargetBand(start: active.start, end: active.end, range: mgdl(target))] + /// The targets that actually applied, including dated presets and changes to the stored profile. + func glucoseTargetBands(in interval: DateInterval) async throws -> [TargetBand] { + if let store = settingsManager.settingsStore { + let previous = try await store.getStoredSettings(end: interval.start, limit: 1).first + if previous?.glucoseTargetRangeSchedule == nil { + let changes = try await store.getStoredSettings(start: interval.start, end: interval.end) + // LoopKit's historical query requires at least one valid profile, even if settings records exist. + guard changes.contains(where: { $0.glucoseTargetRangeSchedule != nil }) else { return [] } + } } - return bands.sorted { $0.start < $1.start } + return try await loopDataManager.glucoseTargetBands(in: interval) } // MARK: - Days @@ -318,7 +302,9 @@ final class LoopHistoryProvider { let local = try await doseStore.getNormalizedDoseEntries(start: localStart, end: interval.end) let recordsStart = local.map(\.startDate).min() recordsStartCache.withLock { $0 = (fetched: Date(), value: recordsStart) } - return (local.filter { $0.endDate > interval.start && $0.startDate < interval.end }, recordsStart) + return (local.filter { + $0.startDate < interval.end && ($0.type == .bolus ? $0.startDate >= interval.start : $0.endDate > interval.start) + }, recordsStart) } private func localInsulin(_ interval: DateInterval) async throws -> ([BolusEvent], [BasalSegment], [ScheduledBasalPoint]) { @@ -489,6 +475,33 @@ final class LoopModeHistory { // MARK: - Loop's on-board history extension LoopDataManager { + /// A historical chart must use the profile and presets from that time, rather than repeat today's targets. + func glucoseTargetBands(in interval: DateInterval) async throws -> [TargetBand] { + guard settingsProvider.settings.glucoseTargetRangeSchedule != nil else { return [] } + let schedule = try await settingsProvider.getTargetRangeHistory(startDate: interval.start, endDate: interval.end) + var bands = schedule.map { + TargetBand(start: max($0.startDate, interval.start), end: min($0.endDate, interval.end), + range: $0.value.lowerBound.doubleValue(for: .milligramsPerDeciliter)...$0.value.upperBound.doubleValue(for: .milligramsPerDeciliter)) + } + let overrides = temporaryPresetsManager.presetHistory.getOverrideHistory(startDate: interval.start, endDate: interval.end) + for override in overrides.sorted(by: { $0.startDate < $1.startDate }) { + guard let target = override.settings.targetRange, + let active = override.activeInterval.intersection(with: interval), active.duration > 0 else { continue } + bands = bands.flatMap { band -> [TargetBand] in + var pieces: [TargetBand] = [] + if band.start < active.start { + pieces.append(TargetBand(start: band.start, end: min(band.end, active.start), range: band.range)) + } + if band.end > active.end { + pieces.append(TargetBand(start: max(band.start, active.end), end: band.end, range: band.range)) + } + return pieces + } + [TargetBand(start: active.start, end: active.end, + range: target.lowerBound.doubleValue(for: .milligramsPerDeciliter)...target.upperBound.doubleValue(for: .milligramsPerDeciliter))] + } + return bands.filter { $0.end > $0.start }.sorted { $0.start < $1.start } + } + /// Insulin on board across `interval`, from the doses and basal history Loop keeps, as `iobValues` is for the display window. func insulinOnBoardTimeline(in interval: DateInterval) async throws -> [InsulinValue] { let dosesStart = interval.start.addingTimeInterval(-InsulinMath.defaultInsulinActivityDuration) diff --git a/Loop/Redesign/NowScreen.swift b/Loop/Redesign/NowScreen.swift index 686b2f3066..3a054996c0 100644 --- a/Loop/Redesign/NowScreen.swift +++ b/Loop/Redesign/NowScreen.swift @@ -150,12 +150,16 @@ final class NowModel: ObservableObject { async let dayFetch = provider.dayHistory(window) async let recentFetch = provider.glucose(DateInterval(start: now.addingTimeInterval(-3 * 3600), end: now)) do { + let targets = try await provider.glucoseTargetBands(in: window) today = try await dayFetch + todayTargets = targets historyError = nil } catch { historyError = error.localizedDescription } do { + let predictionWindow = DateInterval(start: now.addingTimeInterval(-3 * 3600), end: now.addingTimeInterval(3 * 3600)) + predictionTargets = try await provider.glucoseTargetBands(in: predictionWindow) recentGlucose = try await recentFetch glucoseHistoryError = nil } catch { @@ -172,8 +176,6 @@ final class NowModel: ObservableObject { closedLoopPaused = settingsManager.dosingEnabled && deviceManager.closedLoopDisallowedLocalizedDescription != nil closedLoop = settingsManager.dosingEnabled && !closedLoopPaused targetRange = provider.glucoseTargetRange - predictionTargets = provider.glucoseTargetBands(in: DateInterval(start: now.addingTimeInterval(-3 * 3600), end: now.addingTimeInterval(3 * 3600))) - todayTargets = provider.glucoseTargetBands(in: window) if let latest = loopDataManager.latestGlucose { let mgdl = latest.quantity.doubleValue(for: .milligramsPerDeciliter) diff --git a/Loop/Redesign/TrendsScreen.swift b/Loop/Redesign/TrendsScreen.swift index ff4096b087..205f1dfc48 100644 --- a/Loop/Redesign/TrendsScreen.swift +++ b/Loop/Redesign/TrendsScreen.swift @@ -98,7 +98,7 @@ final class TrendsModel: ObservableObject { let (runs, coverageStart) = try await runsFetch if oneDay { summary.day = history - summary.dayTargets = provider.glucoseTargetBands(in: fetchWindow) + summary.dayTargets = try await provider.glucoseTargetBands(in: fetchWindow) history = history.clipped(to: interval) } diff --git a/Loop/View Models/CarbEntryViewModel.swift b/Loop/View Models/CarbEntryViewModel.swift index 719a2daa22..7e93335ee7 100644 --- a/Loop/View Models/CarbEntryViewModel.swift +++ b/Loop/View Models/CarbEntryViewModel.swift @@ -263,8 +263,9 @@ final class CarbEntryViewModel: ObservableObject { } private func observeFavoriteFoodIndexChange() { + // Selection is already on the main actor. Apply it before a caller sets a replacement + // amount or absorption time; a queued reset would otherwise overwrite that choice. $selectedFavoriteFoodIndex - .receive(on: RunLoop.main) .dropFirst() .sink { [weak self] index in self?.favoriteFoodSelected(at: index) diff --git a/LoopTests/Managers/LoopDataManagerTests.swift b/LoopTests/Managers/LoopDataManagerTests.swift index d77e638392..0b369795e0 100644 --- a/LoopTests/Managers/LoopDataManagerTests.swift +++ b/LoopTests/Managers/LoopDataManagerTests.swift @@ -462,6 +462,64 @@ class LoopDataManagerTests: XCTestCase { } + func testFavoriteSelectionCannotOverwriteAReplacementMeal() async throws { + let viewModel = CarbEntryViewModel(delegate: loopDataManager) + let savedFoods = viewModel.favoriteFoods + defer { viewModel.favoriteFoods = savedFoods } + viewModel.favoriteFoods = [StoredFavoriteFood(name: "Meal", carbsQuantity: LoopQuantity(unit: .gram, doubleValue: 35), + foodType: "🌮", absorptionTime: .hours(3))] + viewModel.selectedFavoriteFoodIndex = 0 + let selected = expectation(description: "Favourite selection settled") + RunLoop.main.perform { selected.fulfill() } + await fulfillment(of: [selected], timeout: 2) + XCTAssertEqual(viewModel.carbsQuantity, 35) + + // The person replaces the favourite with a fast meal, retaining its amount. + let quantity = viewModel.carbsQuantity + viewModel.selectedFavoriteFoodIndex = -1 + viewModel.carbsQuantity = quantity + viewModel.usesCustomFoodType = false + viewModel.selectedDefaultAbsorptionTimeEmoji = "🍭" + viewModel.absorptionTime = .minutes(30) + let settled = expectation(description: "Replacement meal settled") + RunLoop.main.perform { settled.fulfill() } + await fulfillment(of: [settled], timeout: 2) + + XCTAssertEqual(viewModel.carbsQuantity, 35) + XCTAssertEqual(viewModel.absorptionTime, .minutes(30)) + XCTAssertFalse(viewModel.continueButtonDisabled) + } + + func testHistoricalTargetsUseStoredProfilesAndEndedPresets() async throws { + func target(_ low: Double, _ high: Double) -> ClosedRange { + LoopQuantity(unit: .milligramsPerDeciliter, doubleValue: low)...LoopQuantity(unit: .milligramsPerDeciliter, doubleValue: high) + } + let window = DateInterval(start: d(-.hours(3)), end: d(-.minutes(30))) + settingsProvider.targetRangeHistory = [ + AbsoluteScheduleValue(startDate: window.start, endDate: d(-.hours(2)), value: target(100, 110)), + AbsoluteScheduleValue(startDate: d(-.hours(2)), endDate: window.end, value: target(120, 130)), + ] + var preset = TemporaryScheduleOverride(context: .custom, + settings: TemporaryPresetSettings(targetRange: target(150, 160), insulinNeedsScaleFactor: 1), + startDate: d(-.minutes(150)), duration: .finite(.hours(2)), + enactTrigger: .local, syncIdentifier: UUID()) + preset.actualEnd = .early(d(-.minutes(90))) + temporaryPresetsManager.presetHistory.recordOverride(preset, at: d(-.minutes(150))) + + let bands = try await loopDataManager.glucoseTargetBands(in: window) + XCTAssertEqual(bands, [ + TargetBand(start: window.start, end: d(-.minutes(150)), range: 100...110), + TargetBand(start: d(-.minutes(150)), end: d(-.minutes(90)), range: 150...160), + TargetBand(start: d(-.minutes(90)), end: window.end, range: 120...130), + ]) + } + + func testTargetBandsAreUnknownBeforeTherapyIsConfigured() async throws { + settingsProvider.settings.glucoseTargetRangeSchedule = nil + let bands = try await loopDataManager.glucoseTargetBands(in: DateInterval(start: d(-.hours(3)), end: now)) + XCTAssertTrue(bands.isEmpty) + } + func testHistoricalIOBUsesPresetAdjustedBasal() async throws { settingsProvider.basalHistory = [AbsoluteScheduleValue(startDate: d(-.hours(6)), endDate: now, value: 1.0)] let window = DateInterval(start: d(-.minutes(30)), end: now) From e95e11980a40f2b09f8d27adc0a279c4c7a4cea3 Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Sun, 1 Nov 2026 08:22:47 +0000 Subject: [PATCH 14/17] Rebuild Add carbs around a live preview of the meal The amount now sits over the meal's absorption curve, drawn like the day page's carbs-on-board chart: grams set its height, the speed its length, and the eaten time where it sits against now (solid before, dashed after). Touch and hold reads the carbs left at any time. Speed and eaten time are single tracks with a sliding thumb, and the keyboard opens on its own for a new entry. Choosing a favourite after Other now shows the favourite's speed rather than leaving Other selected, and the preview's labels stack at accessibility text sizes. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01QHnVP89Q78jL8mjGo7fQsZ --- Loop/Localizable.xcstrings | 6 + Loop/Redesign/CarbEntryScreen.swift | 523 ++++++++++++++++++++-------- 2 files changed, 387 insertions(+), 142 deletions(-) diff --git a/Loop/Localizable.xcstrings b/Loop/Localizable.xcstrings index 8e9eba84c0..d35f1f200f 100644 --- a/Loop/Localizable.xcstrings +++ b/Loop/Localizable.xcstrings @@ -14679,6 +14679,9 @@ "Above range (>180): %d%% · goal <25%%" : { "comment" : "TIR above-range summary" }, + "Absorbed by %1$@" : { + "comment" : "Under the end of the carb absorption curve: when the carbs will have absorbed (1: time)" + }, "Absorption Time" : { "comment" : "Label for food absorption entry on add favorite food screen", "localizations" : { @@ -24979,6 +24982,9 @@ } } }, + "Eaten at %1$@, absorbed by %2$@" : { + "comment" : "Accessibility summary of the carb entry preview chart (1: time eaten, 2: time absorbed)" + }, "Edit" : { "comment" : "Swipe action to edit a Logbook carb entry", "localizations" : { diff --git a/Loop/Redesign/CarbEntryScreen.swift b/Loop/Redesign/CarbEntryScreen.swift index 3c74c49564..0aad94107b 100644 --- a/Loop/Redesign/CarbEntryScreen.swift +++ b/Loop/Redesign/CarbEntryScreen.swift @@ -8,19 +8,22 @@ import SwiftUI import LoopKit import LoopKitUI +import Charts private typealias P = LoopDesign.Palette /// Adding or editing carbs in the redesign. It drives the same CarbEntryViewModel as CarbEntryView, so validation, /// favourite foods and the hand-off to the bolus screen are unchanged; only the layout is new. /// -/// The amount is the one large thing on the screen. Absorption speed is chosen from cards that draw Loop's own -/// absorption curve (rise over the first 15%, steady to half way, fall to the end) at each speed's length, so -/// "fast" and "slow" are shown as shapes rather than named. +/// The top of the screen is a preview of the meal as Loop will model it: the amount, over Loop's absorption curve +/// drawn on a real time axis. The amount sets the curve's height, the speed its length, and when it was eaten where +/// it sits against now, so every choice below shows its effect there. struct CarbEntryScreen: View { @EnvironmentObject private var displayGlucosePreference: DisplayGlucosePreference @Environment(\.dismissAction) private var dismiss @Environment(\.guidanceColors) private var guidanceColors + @Environment(\.dynamicTypeSize) private var typeSize + @Environment(\.accessibilityReduceMotion) private var reduceMotion @ObservedObject var viewModel: CarbEntryViewModel @@ -32,12 +35,7 @@ struct CarbEntryScreen: View { @State private var otherChosen = false @FocusState private var amountFocused: Bool @FocusState private var foodTypeFocused: Bool - @Environment(\.dynamicTypeSize) private var typeSize - - /// Four across, or two by two at accessibility text sizes. - private var choiceColumns: [GridItem] { - Array(repeating: GridItem(.flexible(), spacing: LoopDesign.Space.s2), count: typeSize.isAccessibilitySize ? 2 : 4) - } + @Namespace private var thumbs private let isNewEntry: Bool @@ -70,14 +68,14 @@ struct CarbEntryScreen: View { private var content: some View { ScrollView { - VStack(alignment: .leading, spacing: LoopDesign.Space.s6) { + VStack(alignment: .leading, spacing: 22) { if let override = viewModel.currentOverride { ActivePresetBanner(override: override) } ForEach(Array(viewModel.warnings).sorted { $0.priority < $1.priority }) { warning in warningView(warning) } - amount + mealPreview if isNewEntry, FeatureFlags.allowExperimentalFeatures { favourites } @@ -107,7 +105,12 @@ struct CarbEntryScreen: View { if isNewEntry && !viewModel.usesCustomFoodType && viewModel.selectedDefaultAbsorptionTimeEmoji.isEmpty { viewModel.selectedDefaultAbsorptionTimeEmoji = Speed.medium.emoji } - if viewModel.shouldBeginEditingQuantity { amountFocused = true } + } + .task { + // Focus set while the sheet is still presenting is dropped, so wait for it to settle. + guard viewModel.shouldBeginEditingQuantity else { return } + try? await Task.sleep(for: .milliseconds(450)) + amountFocused = true } .onChange(of: viewModel.carbsQuantity) { _, quantity in // A favourite fills the amount in; keep the field in step unless the person is typing it. @@ -136,7 +139,15 @@ struct CarbEntryScreen: View { } } - // MARK: Amount + private func animated(_ change: () -> Void) { + if reduceMotion { + change() + } else { + withAnimation(.snappy(duration: 0.3), change) + } + } + + // MARK: Meal preview private static let amountFormatter: NumberFormatter = { let formatter = NumberFormatter() @@ -146,31 +157,43 @@ struct CarbEntryScreen: View { return formatter }() - private var amount: some View { - HStack(alignment: .firstTextBaseline, spacing: LoopDesign.Space.s2) { - TextField(text: $amountText, prompt: Text(verbatim: "0").foregroundStyle(P.inkMuted.opacity(0.5))) { - Text(NSLocalizedString("Amount Consumed", comment: "Label for carb quantity entry row on carb entry screen")) + private var mealPreview: some View { + VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { + HStack(alignment: .firstTextBaseline, spacing: LoopDesign.Space.s1) { + TextField(text: $amountText, prompt: Text(verbatim: "0").foregroundStyle(P.inkMuted.opacity(0.45))) { + Text(NSLocalizedString("Amount Consumed", comment: "Label for carb quantity entry row on carb entry screen")) + } + .font(.system(size: 72, weight: .bold, design: .rounded).monospacedDigit()) + .foregroundStyle(P.carbsInk) + .keyboardType(.decimalPad) + .accessibilityLabel(NSLocalizedString("Amount Consumed", comment: "Label for carb quantity entry row on carb entry screen")) + .accessibilityIdentifier("textField_CarbsAmount") + .fixedSize() + .focused($amountFocused) + .onChange(of: amountText) { _, text in + viewModel.carbsQuantity = Self.amountFormatter.number(from: text)?.doubleValue + } + Text(NSLocalizedString("g", comment: "Abbreviation for grams")) + .font(.system(size: 30, weight: .semibold, design: .rounded)) + .foregroundStyle(P.inkMuted) + .accessibilityHidden(true) + Spacer(minLength: 0) } - .font(.system(size: 76, weight: .bold, design: .rounded).monospacedDigit()) - .foregroundStyle(P.carbsInk) - .keyboardType(.decimalPad) - .accessibilityLabel(NSLocalizedString("Amount Consumed", comment: "Label for carb quantity entry row on carb entry screen")) - .accessibilityIdentifier("textField_CarbsAmount") - .multilineTextAlignment(.trailing) - .fixedSize() - .focused($amountFocused) - .onChange(of: amountText) { _, text in - viewModel.carbsQuantity = Self.amountFormatter.number(from: text)?.doubleValue + .contentShape(Rectangle()) + .onTapGesture { amountFocused = true } + + TimelineView(.everyMinute) { context in + MealAbsorptionChart(grams: viewModel.carbsQuantity ?? 0, + absorptionTime: viewModel.absorptionTime, + eaten: viewModel.time, + now: context.date, + axisLength: max(viewModel.defaultAbsorptionTimes.slow, viewModel.absorptionTime)) } - Text(NSLocalizedString("g", comment: "Abbreviation for grams")) - .font(.system(size: 34, weight: .semibold, design: .rounded)) - .foregroundStyle(P.carbsInk.opacity(0.7)) - .accessibilityHidden(true) } - .frame(maxWidth: .infinity) - .padding(.vertical, LoopDesign.Space.s3) - .contentShape(Rectangle()) - .onTapGesture { amountFocused = true } + .padding(.horizontal, LoopDesign.Space.s4) + .padding(.top, LoopDesign.Space.s1) + .padding(.bottom, LoopDesign.Space.s4) + .background(P.surfaceRaised, in: RoundedRectangle(cornerRadius: 22, style: .continuous)) } // MARK: Favourites @@ -186,18 +209,22 @@ struct CarbEntryScreen: View { let selected = viewModel.selectedFavoriteFoodIndex == index Button { amountFocused = false - viewModel.selectedFavoriteFoodIndex = selected ? -1 : index + // A favourite brings its own food and time, so the speed shown follows it rather than an earlier Other. + otherChosen = false + animated { viewModel.selectedFavoriteFoodIndex = selected ? -1 : index } } label: { - HStack(spacing: LoopDesign.Space.s1) { + HStack(spacing: 6) { Text(food.foodType) Text(food.name).foregroundStyle(P.ink) - Text(LoopFormat.grams(food.carbsQuantity.doubleValue(for: .gram))).foregroundStyle(P.carbsInk) + Text(LoopFormat.grams(food.carbsQuantity.doubleValue(for: .gram))) + .monospacedDigit() + .foregroundStyle(selected ? P.carbsInk : P.inkMuted) } .font(LoopDesign.Typeface.subhead.weight(.medium)) - .padding(.horizontal, LoopDesign.Space.s3) - .padding(.vertical, LoopDesign.Space.s2) + .padding(.horizontal, 14) + .frame(minHeight: 40) .background(selected ? P.carbs.opacity(0.18) : P.surfaceRaised, in: Capsule()) - .overlay(Capsule().strokeBorder(selected ? P.carbs : P.separator.opacity(0.4), lineWidth: selected ? 2 : 1)) + .overlay(Capsule().strokeBorder(selected ? P.carbs : .clear, lineWidth: 1.5)) } .buttonStyle(.plain) .accessibilityAddTraits(selected ? .isSelected : []) @@ -208,9 +235,9 @@ struct CarbEntryScreen: View { } label: { Label(NSLocalizedString("Save as favorite food", comment: "Button on the carb entry screen to save the entry as a favourite food"), systemImage: "star") .font(LoopDesign.Typeface.subhead.weight(.medium)) - .padding(.horizontal, LoopDesign.Space.s3) - .padding(.vertical, LoopDesign.Space.s2) - .overlay(Capsule().strokeBorder(P.separator.opacity(0.6), style: StrokeStyle(lineWidth: 1, dash: [3, 3]))) + .padding(.horizontal, 14) + .frame(minHeight: 40) + .overlay(Capsule().strokeBorder(P.separator.opacity(0.7), style: StrokeStyle(lineWidth: 1, dash: [3, 3]))) } .buttonStyle(.plain) .foregroundStyle(P.accentInk) @@ -220,44 +247,26 @@ struct CarbEntryScreen: View { } .padding(.vertical, 1) } + .scrollClipDisabled() } } } // MARK: Eaten + private func eatenTitle(_ minutes: Int) -> String { + minutes == 0 + ? NSLocalizedString("Now", comment: "Carb entry time choice: eaten now") + : String(format: NSLocalizedString("%1$@ ago", comment: "Carb entry time choice: eaten this long before now. (1: duration, e.g. 15m or 1h)"), LoopFormat.duration(Double(minutes) * 60)) + } + private var eaten: some View { VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { - sectionTitle(NSLocalizedString("Eaten", comment: "Carb entry section title: when the food was eaten")) - LazyVGrid(columns: choiceColumns, spacing: LoopDesign.Space.s2) { - ForEach(Self.eatenChoices, id: \.self) { minutes in - let selected = eatenChoice == minutes - Button { - let date = Date().addingTimeInterval(-Double(minutes) * 60) - eatenChoice = minutes - viewModel.time = min(max(date, viewModel.minimumDate), viewModel.maximumDate) - } label: { - Text(minutes == 0 - ? NSLocalizedString("Now", comment: "Carb entry time choice: eaten now") - : String(format: NSLocalizedString("%1$@ ago", comment: "Carb entry time choice: eaten this long before now. (1: duration, e.g. 15m or 1h)"), LoopFormat.duration(Double(minutes) * 60))) - .font(LoopDesign.Typeface.subhead.weight(selected ? .semibold : .regular)) - .lineLimit(1) - .minimumScaleFactor(0.8) - .foregroundStyle(selected ? P.onFill : P.ink) - .frame(maxWidth: .infinity, minHeight: 44) - .background(selected ? P.carbs : P.surfaceRaised, in: RoundedRectangle(cornerRadius: LoopDesign.Radius.md, style: .continuous)) - } - .buttonStyle(.plain) - .accessibilityAddTraits(selected ? .isSelected : []) - } - } - let timeLayout = typeSize.isAccessibilitySize + let header = typeSize.isAccessibilitySize ? AnyLayout(VStackLayout(alignment: .leading, spacing: LoopDesign.Space.s2)) - : AnyLayout(HStackLayout()) - timeLayout { - Text(NSLocalizedString("Time", comment: "Carb entry row label: the exact time the food was eaten")) - .font(LoopDesign.Typeface.subhead) - .foregroundStyle(P.inkMuted) + : AnyLayout(HStackLayout(alignment: .center)) + header { + sectionTitle(NSLocalizedString("Eaten", comment: "Carb entry section title: when the food was eaten")) if !typeSize.isAccessibilitySize { Spacer() } DatePicker(selection: Binding(get: { viewModel.time }, set: { viewModel.time = $0; eatenChoice = nil }), in: viewModel.minimumDate...viewModel.maximumDate, displayedComponents: [.date, .hourAndMinute]) { @@ -266,6 +275,21 @@ struct CarbEntryScreen: View { .labelsHidden() .tint(P.carbsInk) } + ChoiceTrack(choices: Self.eatenChoices, selection: eatenChoice, thumb: "eaten", namespace: thumbs) { minutes in + amountFocused = false + let date = Date().addingTimeInterval(-Double(minutes) * 60) + animated { + eatenChoice = minutes + viewModel.time = min(max(date, viewModel.minimumDate), viewModel.maximumDate) + } + } label: { minutes, selected in + Text(eatenTitle(minutes)) + .font(LoopDesign.Typeface.subhead.weight(selected ? .semibold : .medium).monospacedDigit()) + .foregroundStyle(selected ? P.carbsInk : P.ink) + .lineLimit(1) + .minimumScaleFactor(0.8) + .padding(.vertical, LoopDesign.Space.s2) + } } } @@ -322,19 +346,37 @@ struct CarbEntryScreen: View { showHowAbsorptionTimeWorks = true } label: { Image(systemName: "info.circle") + .font(LoopDesign.Typeface.subhead.weight(.semibold)) + .frame(minWidth: 44, minHeight: 28, alignment: .trailing) } .foregroundStyle(P.accentInk) .accessibilityLabel(NSLocalizedString("Absorption Time", comment: "Accessibility label for the button that explains carb absorption time")) } - // All four share one time axis, so a slower food draws a longer, lower curve. - let axis = max(Speed.allCases.map(hours).max() ?? 1, 1) - LazyVGrid(columns: choiceColumns, spacing: LoopDesign.Space.s2) { - ForEach(Speed.allCases, id: \.self) { speed in - speedCard(speed, axis: axis) + ChoiceTrack(choices: Speed.allCases, selection: selectedSpeed, thumb: "speed", namespace: thumbs) { speed in + animated { choose(speed) } + } label: { speed, selected in + VStack(spacing: 2) { + Text(speed.title) + .font(LoopDesign.Typeface.subhead.weight(selected ? .semibold : .medium)) + .foregroundStyle(selected ? P.carbsInk : P.ink) + HStack(spacing: 3) { + // The food the entry is saved with; Other shows the one typed in. + Text(speed == .other && selected && !viewModel.foodType.isEmpty ? viewModel.foodType : speed.emoji) + .dynamicTypeSize(...DynamicTypeSize.xxxLarge) + Text(durationLabel(speed, selected: selected)) + .foregroundStyle(selected ? P.carbsInk : P.inkMuted) + } + .font(LoopDesign.Typeface.footnote.monospacedDigit()) } + .lineLimit(1) + .minimumScaleFactor(0.75) + .padding(.vertical, 10) + .accessibilityElement(children: .ignore) + .accessibilityLabel("\(speed.title), \(durationLabel(speed, selected: selected))") } if selectedSpeed == .other { otherFood + .transition(.opacity.combined(with: .move(edge: .top))) } } } @@ -345,40 +387,6 @@ struct CarbEntryScreen: View { : LoopFormat.duration(hours(speed)) } - private func speedCard(_ speed: Speed, axis: TimeInterval) -> some View { - let selected = selectedSpeed == speed - let emoji = speed == .other && selectedSpeed == .other && !viewModel.foodType.isEmpty ? viewModel.foodType : speed.emoji - return Button { - choose(speed) - } label: { - VStack(alignment: .leading, spacing: LoopDesign.Space.s1) { - Text(emoji).font(.title3).lineLimit(1).dynamicTypeSize(...DynamicTypeSize.xxxLarge) - // Other has no time of its own until it's chosen, so it draws no curve rather than echo a preset's. - AbsorptionCurve(fraction: hours(speed) / axis) - .fill(selected ? P.carbs : P.inkMuted.opacity(0.35)) - .opacity(speed == .other && !selected ? 0 : 1) - .frame(height: 26) - .padding(.vertical, 2) - Text(speed.title) - .font(LoopDesign.Typeface.footnote.weight(.semibold)) - .foregroundStyle(P.ink) - .lineLimit(1) - .minimumScaleFactor(0.8) - Text(durationLabel(speed, selected: selected)) - .font(LoopDesign.Typeface.footnote.monospacedDigit()) - .foregroundStyle(selected ? P.carbsInk : P.inkMuted) - } - .padding(LoopDesign.Space.s2) - .frame(maxWidth: .infinity, alignment: .leading) - .background(selected ? P.carbs.opacity(0.14) : P.surfaceRaised, in: RoundedRectangle(cornerRadius: LoopDesign.Radius.md, style: .continuous)) - .overlay(RoundedRectangle(cornerRadius: LoopDesign.Radius.md, style: .continuous).strokeBorder(selected ? P.carbs : .clear, lineWidth: 2)) - } - .buttonStyle(.plain) - .accessibilityElement(children: .ignore) - .accessibilityLabel("\(speed.title), \(durationLabel(speed, selected: selected))") - .accessibilityAddTraits(selected ? [.isButton, .isSelected] : .isButton) - } - private var otherFood: some View { VStack(spacing: 0) { HStack { @@ -391,9 +399,9 @@ struct CarbEntryScreen: View { .focused($foodTypeFocused) .frame(maxWidth: 120) } - .padding(.vertical, LoopDesign.Space.s2) + .padding(.vertical, 10) Divider() - Stepper(value: Binding(get: { viewModel.absorptionTime }, set: { viewModel.absorptionTime = $0 }), + Stepper(value: Binding(get: { viewModel.absorptionTime }, set: { newValue in animated { viewModel.absorptionTime = newValue } }), in: viewModel.absorptionRimesRange, step: 30 * 60) { HStack { Text(NSLocalizedString("Absorption Time", comment: "Accessibility label for the button that explains carb absorption time")) @@ -404,10 +412,10 @@ struct CarbEntryScreen: View { .foregroundStyle(P.carbsInk) } } - .padding(.vertical, LoopDesign.Space.s2) + .padding(.vertical, 10) } - .padding(.horizontal, LoopDesign.Space.s3) - .background(P.surfaceRaised, in: RoundedRectangle(cornerRadius: LoopDesign.Radius.md, style: .continuous)) + .padding(.horizontal, LoopDesign.Space.s4) + .background(P.surfaceRaised, in: RoundedRectangle(cornerRadius: 15, style: .continuous)) } private func choose(_ speed: Speed) { @@ -439,15 +447,16 @@ struct CarbEntryScreen: View { Text(NSLocalizedString("Continue", comment: "Button label for continue")) .font(LoopDesign.Typeface.headline) .foregroundStyle(viewModel.continueButtonDisabled ? P.inkMuted : P.onFill) - .frame(maxWidth: .infinity, minHeight: 50) - .background(viewModel.continueButtonDisabled ? P.surfaceSunken : P.carbs, - in: RoundedRectangle(cornerRadius: LoopDesign.Radius.lg, style: .continuous)) + .frame(maxWidth: .infinity, minHeight: 54) + .background(viewModel.continueButtonDisabled ? P.surfaceRaised : P.carbs, + in: RoundedRectangle(cornerRadius: 18, style: .continuous)) } .buttonStyle(.plain) .disabled(viewModel.continueButtonDisabled) .accessibilityIdentifier("button_Continue") .padding(.horizontal, LoopDesign.Space.s4) - .padding(.vertical, LoopDesign.Space.s2) + .padding(.top, LoopDesign.Space.s2) + .padding(.bottom, LoopDesign.Space.s1) .background(P.surface) } @@ -455,8 +464,8 @@ struct CarbEntryScreen: View { private func sectionTitle(_ title: String) -> some View { Text(title) - .font(LoopDesign.Typeface.headline) - .foregroundStyle(P.ink) + .font(LoopDesign.Typeface.subhead.weight(.semibold)) + .foregroundStyle(P.inkMuted) .accessibilityAddTraits(.isHeader) } @@ -512,24 +521,254 @@ struct CarbEntryScreen: View { } } -/// Loop's carb absorption rate over time: rising to its peak at 15% of the absorption time, steady until half way, -/// then falling to nothing (PiecewiseLinearAbsorption in LoopAlgorithm). The area is the same at every length, -/// as the carbs are, so a shorter time draws a taller curve. -struct AbsorptionCurve: Shape { - /// The absorption time as a share of the axis, 0–1. - var fraction: Double - - func path(in rect: CGRect) -> Path { - let f = max(0.05, min(1, fraction)) - let width = rect.width * f - // The trapezoid's area is 0.675 × width × height, so height ∝ 1 / width keeps it equal; capped at the frame. - let height = min(rect.height, rect.height * 0.3 / f) - var path = Path() - path.move(to: CGPoint(x: rect.minX, y: rect.maxY)) - path.addLine(to: CGPoint(x: rect.minX + width * 0.15, y: rect.maxY - height)) - path.addLine(to: CGPoint(x: rect.minX + width * 0.5, y: rect.maxY - height)) - path.addLine(to: CGPoint(x: rect.minX + width, y: rect.maxY)) - path.closeSubpath() - return path +/// A row of choices sharing one track, with a thumb that slides to the chosen one. Two by two at accessibility text sizes. +private struct ChoiceTrack: View { + let choices: [Choice] + let selection: Choice? + let thumb: String + let namespace: Namespace.ID + let action: (Choice) -> Void + @ViewBuilder let label: (Choice, Bool) -> Label + + @Environment(\.dynamicTypeSize) private var typeSize + + var body: some View { + let columns = Array(repeating: GridItem(.flexible(), spacing: 4), count: typeSize.isAccessibilitySize ? 2 : choices.count) + LazyVGrid(columns: columns, spacing: 4) { + ForEach(choices, id: \.self) { choice in + let selected = choice == selection + Button { + action(choice) + } label: { + label(choice, selected) + .padding(.horizontal, 4) + .frame(maxWidth: .infinity, minHeight: 44) + .background { + if selected { + RoundedRectangle(cornerRadius: 11, style: .continuous) + .fill(P.carbs.opacity(0.18)) + .overlay(RoundedRectangle(cornerRadius: 11, style: .continuous).strokeBorder(P.carbs, lineWidth: 1.5)) + .matchedGeometryEffect(id: thumb, in: namespace) + } + } + .contentShape(Rectangle()) + } + .buttonStyle(.plain) + .accessibilityAddTraits(selected ? .isSelected : []) + } + } + .padding(4) + .background(P.surfaceRaised, in: RoundedRectangle(cornerRadius: 15, style: .continuous)) + } +} + +/// The meal's carbs absorbing over time, drawn the way the day page draws carbs on board: a soft fill under a line, +/// solid up to now and dashed after, over hour gridlines. Touch and hold to read how much is left at any time. +private struct MealAbsorptionChart: View { + let grams: Double + let absorptionTime: TimeInterval + let eaten: Date + let now: Date + /// The longest absorption on offer, so a faster food draws a visibly shorter curve. + let axisLength: TimeInterval + + @State private var selection: Date? + @Environment(\.accessibilityReduceMotion) private var reduceMotion + + private static let height: CGFloat = 120 + private static let nowLabelHeight: CGFloat = 20 + + private var absorbed: Date { eaten.addingTimeInterval(absorptionTime) } + + private var window: DateInterval { + let start = min(eaten, now) + return DateInterval(start: start, end: max(eaten.addingTimeInterval(axisLength), now.addingTimeInterval(15 * 60))) + } + + /// Loop's absorption rate as a share of its peak (PiecewiseLinearAbsorption in LoopAlgorithm): rising to the + /// peak at 15% of the absorption time, steady until half way, then falling to nothing. + private static func shape(_ t: Double) -> Double { + switch t { + case ..<0: return 0 + case ..<0.15: return t / 0.15 + case ..<0.5: return 1 + case ..<1: return (1 - t) / 0.5 + default: return 0 + } + } + + /// The share of the carbs absorbed by `t`: the area under `shape` so far, over its whole area of 0.675. + private static func absorbedShare(_ t: Double) -> Double { + let t = min(max(t, 0), 1) + let area: Double + if t < 0.15 { + area = t * t / 0.3 + } else if t < 0.5 { + area = 0.075 + (t - 0.15) + } else { + area = 0.425 + ((t - 0.5) - (t * t - 0.25) / 2) / 0.5 + } + return min(1, area / 0.675) + } + + /// The plotted height of the peak. Its area stands for the grams, so the peak is the rate, grams over + /// 0.675 × the absorption time; a square root keeps a small snack visible beside a large fast one. + private var peak: Double { + guard grams > 0, absorptionTime > 0 else { return 0.42 } + let gramsPerHour = grams / (0.675 * absorptionTime / 3600) + return min(1, max(0.14, (gramsPerHour / 150).squareRoot())) + } + + private struct Sample: Identifiable { + let date: Date + let value: Double + var id: Date { date } + } + + /// The curve's corners, plus the point where it crosses now, so the solid and dashed parts meet exactly. + private var samples: [Sample] { + var shares = [0, 0.15, 0.5, 1.0] + let nowShare = now.timeIntervalSince(eaten) / max(absorptionTime, 1) + if nowShare > 0 && nowShare < 1 { shares.append(nowShare) } + return shares.sorted().map { Sample(date: eaten.addingTimeInterval($0 * absorptionTime), value: Self.shape($0) * peak) } + } + + private var hourMarks: [Date] { + stride(from: 3600.0, to: window.duration, by: 3600).map { eaten.addingTimeInterval($0) }.filter { window.contains($0) } + } + + var body: some View { + let samples = samples + let past = samples.filter { $0.date <= now } + let future = samples.filter { $0.date >= now } + VStack(spacing: 6) { + Chart { + ForEach(samples) { sample in + AreaMark(x: .value("Time", sample.date), yStart: .value("Base", 0), yEnd: .value("Rate", sample.value), series: .value("Series", "fill")) + .foregroundStyle(P.carbs.opacity(grams > 0 ? 0.16 : 0)) + } + // Already absorbed: a firmer fill under the solid part. + ForEach(past) { sample in + AreaMark(x: .value("Time", sample.date), yStart: .value("Base", 0), yEnd: .value("Rate", sample.value), series: .value("Series", "past-fill")) + .foregroundStyle(P.carbs.opacity(grams > 0 ? 0.22 : 0)) + } + ForEach(past) { sample in + LineMark(x: .value("Time", sample.date), y: .value("Rate", sample.value), series: .value("Series", "past")) + .foregroundStyle(grams > 0 ? P.carbs : P.inkMuted.opacity(0.5)) + .lineStyle(StrokeStyle(lineWidth: 2, lineCap: .round, lineJoin: .round)) + } + ForEach(future) { sample in + LineMark(x: .value("Time", sample.date), y: .value("Rate", sample.value), series: .value("Series", "future")) + .foregroundStyle(grams > 0 ? P.carbs : P.inkMuted.opacity(0.5)) + .lineStyle(StrokeStyle(lineWidth: 2, lineCap: .round, lineJoin: .round, dash: [4, 3])) + } + RuleMark(y: .value("Zero", 0)) + .foregroundStyle(P.separator) + .lineStyle(StrokeStyle(lineWidth: 1)) + RuleMark(x: .value("Now", now)) + .foregroundStyle(P.inkMuted) + .lineStyle(StrokeStyle(lineWidth: 1, dash: [1, 3])) + if let selection { + RuleMark(x: .value("Selected", selection)).foregroundStyle(P.ink.opacity(0.6)) + } + } + .chartXScale(domain: window.start...window.end) + .chartYScale(domain: 0...1.0) + .chartXAxis { + AxisMarks(values: hourMarks) { _ in + AxisGridLine().foregroundStyle(P.grid) + } + } + .chartYAxis(.hidden) + .chartOverlay { proxy in + ZStack(alignment: .topLeading) { + ScrubOverlay(proxy: proxy, selection: $selection, clampTo: window) + if selection == nil, let nowX = proxy.position(forX: now) { + GeometryReader { geometry in + // Centred over the line, kept inside the chart. + Text(NSLocalizedString("Now", comment: "Carb entry time choice: eaten now")) + .font(LoopDesign.Typeface.caption) + .foregroundStyle(P.inkMuted) + .dynamicTypeSize(...DynamicTypeSize.xxxLarge) + .fixedSize() + .frame(width: 48) + .position(x: min(max(nowX, 24), geometry.size.width - 24), y: -Self.nowLabelHeight / 2) + .allowsHitTesting(false) + } + } + } + } + .overlay(alignment: .top) { + if let selection { + ScrubCallout(rows: scrubRows(at: selection)) + .offset(y: -Self.nowLabelHeight) + .allowsHitTesting(false) + } + } + .frame(height: Self.height) + .padding(.top, Self.nowLabelHeight) + .animation(reduceMotion ? nil : .snappy(duration: 0.35), value: grams) + .animation(reduceMotion ? nil : .snappy(duration: 0.35), value: absorptionTime) + .animation(reduceMotion ? nil : .snappy(duration: 0.35), value: eaten) + + AxisLabels(start: eaten.timeIntervalSince(window.start) / window.duration, end: absorbed.timeIntervalSince(window.start) / window.duration) { + Text(LoopFormat.time(eaten)) + .foregroundStyle(P.ink) + Text(String(format: NSLocalizedString("Absorbed by %1$@", comment: "Under the end of the carb absorption curve: when the carbs will have absorbed (1: time)"), LoopFormat.time(absorbed))) + .foregroundStyle(P.inkMuted) + } + .font(LoopDesign.Typeface.footnote.monospacedDigit()) + } + .accessibilityElement(children: .ignore) + .accessibilityLabel(String(format: NSLocalizedString("Eaten at %1$@, absorbed by %2$@", comment: "Accessibility summary of the carb entry preview chart (1: time eaten, 2: time absorbed)"), LoopFormat.time(eaten), LoopFormat.time(absorbed))) + } + + private func scrubRows(at date: Date) -> [ScrubCallout.Row] { + var rows: [ScrubCallout.Row] = [.init(label: nil, value: LoopFormat.time(date), color: P.ink)] + if grams > 0 { + let left = grams * (1 - Self.absorbedShare(date.timeIntervalSince(eaten) / max(absorptionTime, 1))) + rows.append(.init(label: NSLocalizedString("COB", comment: "Abbreviation for carbs on board (active carbohydrate)"), value: LoopFormat.grams(left), color: P.carbsInk)) + } + return rows + } +} + +/// Two labels on a time axis: the first starts at `start`, the second ends at `end`, pushed apart when they'd meet. +/// When they can't share a line, as at large text sizes, the second goes under the first. +private struct AxisLabels: Layout { + var start: Double + var end: Double + + private static let gap: CGFloat = 12 + + private func stacked(_ width: CGFloat, _ subviews: Subviews) -> Bool { + subviews.map { $0.sizeThatFits(.unspecified).width }.reduce(Self.gap, +) > width + } + + func sizeThatFits(proposal: ProposedViewSize, subviews: Subviews, cache: inout ()) -> CGSize { + let width = proposal.width ?? 0 + guard stacked(width, subviews) else { + return CGSize(width: width, height: subviews.map { $0.sizeThatFits(.unspecified).height }.max() ?? 0) + } + // Stacked labels wrap to the width rather than run off it. + let height = subviews.map { $0.sizeThatFits(ProposedViewSize(width: width, height: nil)).height }.reduce(0, +) + return CGSize(width: width, height: height) + } + + func placeSubviews(in bounds: CGRect, proposal: ProposedViewSize, subviews: Subviews, cache: inout ()) { + guard subviews.count == 2 else { return } + if stacked(bounds.width, subviews) { + let wrapped = ProposedViewSize(width: bounds.width, height: nil) + let firstHeight = subviews[0].sizeThatFits(wrapped).height + subviews[0].place(at: CGPoint(x: bounds.minX, y: bounds.minY), proposal: wrapped) + subviews[1].place(at: CGPoint(x: bounds.minX, y: bounds.minY + firstHeight), proposal: wrapped) + return + } + let first = subviews[0].sizeThatFits(.unspecified) + let second = subviews[1].sizeThatFits(.unspecified) + let firstX = min(max(bounds.minX, bounds.minX + bounds.width * start), bounds.maxX - first.width) + let secondX = min(max(bounds.minX + bounds.width * end - second.width, firstX + first.width + Self.gap), bounds.maxX - second.width) + subviews[0].place(at: CGPoint(x: firstX, y: bounds.minY), proposal: ProposedViewSize(first)) + subviews[1].place(at: CGPoint(x: secondX, y: bounds.minY), proposal: ProposedViewSize(second)) } } From 5ebec987e7f408b50999464a92c0b4ee36b3c138 Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Sun, 1 Nov 2026 09:38:29 +0000 Subject: [PATCH 15/17] Use one colour for each meaning across the redesign - Set every insulin amount in one ink. Bolus amounts had their own darker ink, so a day's total and its bolus sat side by side in two oranges. insulin-ink now matches the bolus marks, and bolus-ink is gone. - Tint insulin and carb amounts wherever they stand alone: the Trends summary tiles, the Logbook day totals and the Basal and bolus total. - Show open loop in grey on Trends, as the Now screen does. Red is kept for problems that need action. - Show the Now basal "vs plan" difference in muted text, as the Logbook does. - Use the Trends round step buttons on the day page in place of blue chevrons. - Tint the Add carbs cursor green and give its warnings the same card as the Now screen's alerts. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01QHnVP89Q78jL8mjGo7fQsZ --- .../bolus-ink.colorset/Contents.json | 38 ------------------- .../insulin-ink.colorset/Contents.json | 10 ++--- .../bolus-ink.colorset/Contents.json | 38 ------------------- .../insulin-ink.colorset/Contents.json | 10 ++--- Loop/Redesign/CarbEntryScreen.swift | 4 +- Loop/Redesign/DayCharts.swift | 4 +- Loop/Redesign/DayDetailView.swift | 13 +------ Loop/Redesign/LogbookScreen.swift | 6 +-- Loop/Redesign/LoopDesign.swift | 32 +++++++++++++++- Loop/Redesign/NowScreen.swift | 4 +- Loop/Redesign/TrendsComponents.swift | 25 +++--------- Loop/Redesign/TrendsScreen.swift | 5 ++- 12 files changed, 61 insertions(+), 128 deletions(-) delete mode 100644 Loop Widget Extension/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json delete mode 100644 Loop/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json deleted file mode 100644 index deda518355..0000000000 --- a/Loop Widget Extension/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "colors": [ - { - "color": { - "color-space": "srgb", - "components": { - "red": "0.541", - "green": "0.227", - "blue": "0.024", - "alpha": "1.000" - } - }, - "idiom": "universal" - }, - { - "appearances": [ - { - "appearance": "luminosity", - "value": "dark" - } - ], - "color": { - "color-space": "srgb", - "components": { - "red": "1.000", - "green": "0.706", - "blue": "0.420", - "alpha": "1.000" - } - }, - "idiom": "universal" - } - ], - "info": { - "author": "xcode", - "version": 1 - } -} \ No newline at end of file diff --git a/Loop Widget Extension/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json b/Loop Widget Extension/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json index d9eb09683b..1acea580ea 100644 --- a/Loop Widget Extension/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json +++ b/Loop Widget Extension/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json @@ -4,9 +4,9 @@ "color": { "color-space": "srgb", "components": { - "red": "0.639", - "green": "0.322", - "blue": "0.000", + "red": "0.541", + "green": "0.227", + "blue": "0.024", "alpha": "1.000" } }, @@ -23,8 +23,8 @@ "color-space": "srgb", "components": { "red": "1.000", - "green": "0.624", - "blue": "0.039", + "green": "0.639", + "blue": "0.278", "alpha": "1.000" } }, diff --git a/Loop/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json deleted file mode 100644 index deda518355..0000000000 --- a/Loop/DerivedAssetsBase.xcassets/bolus-ink.colorset/Contents.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "colors": [ - { - "color": { - "color-space": "srgb", - "components": { - "red": "0.541", - "green": "0.227", - "blue": "0.024", - "alpha": "1.000" - } - }, - "idiom": "universal" - }, - { - "appearances": [ - { - "appearance": "luminosity", - "value": "dark" - } - ], - "color": { - "color-space": "srgb", - "components": { - "red": "1.000", - "green": "0.706", - "blue": "0.420", - "alpha": "1.000" - } - }, - "idiom": "universal" - } - ], - "info": { - "author": "xcode", - "version": 1 - } -} \ No newline at end of file diff --git a/Loop/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json b/Loop/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json index d9eb09683b..1acea580ea 100644 --- a/Loop/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json +++ b/Loop/DerivedAssetsBase.xcassets/insulin-ink.colorset/Contents.json @@ -4,9 +4,9 @@ "color": { "color-space": "srgb", "components": { - "red": "0.639", - "green": "0.322", - "blue": "0.000", + "red": "0.541", + "green": "0.227", + "blue": "0.024", "alpha": "1.000" } }, @@ -23,8 +23,8 @@ "color-space": "srgb", "components": { "red": "1.000", - "green": "0.624", - "blue": "0.039", + "green": "0.639", + "blue": "0.278", "alpha": "1.000" } }, diff --git a/Loop/Redesign/CarbEntryScreen.swift b/Loop/Redesign/CarbEntryScreen.swift index 0aad94107b..63600b0db7 100644 --- a/Loop/Redesign/CarbEntryScreen.swift +++ b/Loop/Redesign/CarbEntryScreen.swift @@ -165,6 +165,7 @@ struct CarbEntryScreen: View { } .font(.system(size: 72, weight: .bold, design: .rounded).monospacedDigit()) .foregroundStyle(P.carbsInk) + .tint(P.carbsInk) .keyboardType(.decimalPad) .accessibilityLabel(NSLocalizedString("Amount Consumed", comment: "Label for carb quantity entry row on carb entry screen")) .accessibilityIdentifier("textField_CarbsAmount") @@ -481,7 +482,8 @@ struct CarbEntryScreen: View { } .padding(LoopDesign.Space.s3) .frame(maxWidth: .infinity, alignment: .leading) - .background(P.statusCritical.opacity(0.12), in: RoundedRectangle(cornerRadius: LoopDesign.Radius.lg, style: .continuous)) + .background(P.statusCritical.opacity(0.16), in: RoundedRectangle(cornerRadius: LoopDesign.Radius.lg, style: .continuous)) + .overlay(RoundedRectangle(cornerRadius: LoopDesign.Radius.lg, style: .continuous).strokeBorder(P.statusCritical.opacity(0.45), lineWidth: 1)) } private func warningText(_ warning: CarbEntryViewModel.Warning) -> String { diff --git a/Loop/Redesign/DayCharts.swift b/Loop/Redesign/DayCharts.swift index bc5081f35e..0b8350e73f 100644 --- a/Loop/Redesign/DayCharts.swift +++ b/Loop/Redesign/DayCharts.swift @@ -229,7 +229,7 @@ struct InsulinTimelineView: View { if bolusLabels.contains(bolus.id) { Text(LoopFormat.number(bolus.units, decimals: 1)) .font(LoopDesign.Typeface.caption) - .foregroundStyle(P.bolusInk) + .foregroundStyle(P.insulinInk) } } } @@ -309,7 +309,7 @@ struct InsulinTimelineView: View { rows.append(.init(label: bolus.automatic ? NSLocalizedString("Automatic bolus", comment: "Chart callout label for a bolus Loop delivered automatically near the touched time") : NSLocalizedString("Bolus", comment: "Chart callout label for a bolus near the touched time"), - value: LoopFormat.doseUnits(bolus.units), color: P.bolusInk)) + value: LoopFormat.doseUnits(bolus.units), color: P.insulinInk)) } return rows } diff --git a/Loop/Redesign/DayDetailView.swift b/Loop/Redesign/DayDetailView.swift index 385928642e..c9966e7d1f 100644 --- a/Loop/Redesign/DayDetailView.swift +++ b/Loop/Redesign/DayDetailView.swift @@ -115,26 +115,17 @@ struct DayDetailView: View { private var dayStepper: some View { HStack { - Button { + StepButton(systemName: "chevron.left", label: NSLocalizedString("Previous day", comment: "Accessibility label for the day page button that steps back a day")) { day = Calendar.current.date(byAdding: .day, value: -1, to: day)! - } label: { - Image(systemName: "chevron.left").frame(width: 44, height: 44) } - .accessibilityLabel(NSLocalizedString("Previous day", comment: "Accessibility label for the day page button that steps back a day")) Spacer() Text(LoopFormat.day(day)) .font(LoopDesign.Typeface.headline) .foregroundStyle(P.ink) Spacer() - Button { + StepButton(systemName: "chevron.right", label: NSLocalizedString("Next day", comment: "Accessibility label for the day page button that steps forward a day"), enabled: !isToday) { day = Calendar.current.date(byAdding: .day, value: 1, to: day)! - } label: { - Image(systemName: "chevron.right").frame(width: 44, height: 44) } - .disabled(isToday) - .accessibilityLabel(NSLocalizedString("Next day", comment: "Accessibility label for the day page button that steps forward a day")) } - .font(.body.weight(.semibold)) - .foregroundStyle(P.accentInk) } } diff --git a/Loop/Redesign/LogbookScreen.swift b/Loop/Redesign/LogbookScreen.swift index 0f051cb458..25cec7b70b 100644 --- a/Loop/Redesign/LogbookScreen.swift +++ b/Loop/Redesign/LogbookScreen.swift @@ -152,7 +152,7 @@ final class LogbookModel: ObservableObject { ? NSLocalizedString("Automatic bolus", comment: "Logbook row title: a bolus Loop delivered automatically") : NSLocalizedString("Bolus", comment: "Logbook row title: a bolus"), subtitle: joined(parts), - amount: LoopFormat.doseUnits(bolus.units), amountColor: P.bolusInk, + amount: LoopFormat.doseUnits(bolus.units), amountColor: P.insulinInk, detail: LoopFormat.time(bolus.date), icon: bolus.automatic ? "arrow.triangle.2.circlepath" : "syringe.fill", iconStyle: bolus.automatic ? .hatch(P.bolus) : .solid(P.bolus), @@ -250,7 +250,7 @@ final class LogbookModel: ObservableObject { title: NSLocalizedString("Automatic boluses", comment: "Logbook row title: several automatic boluses in a row, folded into one row that lists them"), subtitle: String(format: NSLocalizedString("Loop · %1$@ · tap to list", comment: "Logbook folded automatic boluses row subtitle: Loop gave them, the time span they cover, and tapping lists them. (1: time range, e.g. 15:08 – 16:14)"), "\(LoopFormat.time(oldest.date))–\(LoopFormat.time(newest.date))"), - amount: LoopFormat.doseUnits(units), amountColor: P.bolusInk, + amount: LoopFormat.doseUnits(units), amountColor: P.insulinInk, detail: String.localizedStringWithFormat(NSLocalizedString("%lld doses", comment: "Logbook folded automatic boluses row: how many automatic boluses it holds. (1: number)"), run.count), icon: "arrow.triangle.2.circlepath", iconStyle: .hatch(P.bolus), filters: [.bolus, .loop], quiet: true, @@ -457,7 +457,7 @@ struct LogbookView: View { let totals = HStack(spacing: LoopDesign.Space.s3) { if day.insulin.total > 0 { Text(LoopFormat.totalUnits(day.insulin.total)) - .foregroundStyle(P.ink) + .foregroundStyle(P.insulinInk) } Text(LoopFormat.grams(day.carbs)) .foregroundStyle(P.carbsInk) diff --git a/Loop/Redesign/LoopDesign.swift b/Loop/Redesign/LoopDesign.swift index a0e0cc5dee..6639707372 100644 --- a/Loop/Redesign/LoopDesign.swift +++ b/Loop/Redesign/LoopDesign.swift @@ -13,6 +13,9 @@ import UIKit /// Quantity colours reuse Loop's existing assets (`glucose`, `insulin`, `carbs`, `fresh`, `warning`, `accent`) /// so a DerivedAssetsOverride still recolours them. Grounds and text map onto the iOS system colours they /// were taken from; the rest are colour sets in DerivedAssetsBase.xcassets named after their token. +/// +/// Insulin and carb amounts are set in `insulinInk` and `carbsInk` wherever they stand alone. Glucose, basal, +/// counts and figures beside a legend swatch stay `ink`. Red is only for something that needs action now. enum LoopDesign { enum Palette { @@ -37,14 +40,15 @@ enum LoopDesign { static let targetBand = Color("target-band") static let agpOuter = Color("agp-outer") static let agpInner = Color("agp-inner") + /// Insulin as a quantity and an action: the Bolus button and the active insulin curve. static let insulin = Color("insulin") + /// Every insulin amount set as text, whether a bolus, a day's total or active insulin. static let insulinInk = Color("insulin-ink") static let basal = Color("basal") static let basalEdge = Color("basal-edge") /// Basal is a pale, quiet orange with a tan edge; bolus is insulin's orange made deep. Both stay orange, /// and their lightness is far enough apart (3:1 even where they touch) to tell them apart at a glance. static let bolus = Color("bolus") - static let bolusInk = Color("bolus-ink") static let basalScheduled = inkMuted static let carbs = Color("carbs") static let carbsInk = Color("carbs-ink") @@ -369,7 +373,7 @@ struct IconTile: View { private var glyph: Color { switch style { case .solid: return LoopDesign.Palette.onFill - case .hatch, .basal: return LoopDesign.Palette.bolusInk + case .hatch, .basal: return LoopDesign.Palette.insulinInk } } @@ -388,6 +392,30 @@ struct IconTile: View { } } +/// The round previous and next buttons beside a date or period. +struct StepButton: View { + let systemName: String + let label: String + var enabled = true + let action: () -> Void + + var body: some View { + Button(action: action) { + Image(systemName: systemName) + .font(.footnote.weight(.semibold)) + .frame(width: 30, height: 30) + .background(LoopDesign.Palette.surfaceRaised, in: Circle()) + .overlay(Circle().strokeBorder(LoopDesign.Palette.separator)) + .frame(width: 44, height: 44) + .contentShape(Rectangle()) + } + .buttonStyle(.plain) + .foregroundStyle(enabled ? LoopDesign.Palette.ink : LoopDesign.Palette.inkMuted.opacity(0.5)) + .disabled(!enabled) + .accessibilityLabel(label) + } +} + /// A message in place of a chart that has nothing to draw, saying why. struct ChartPlaceholder: View { let message: String diff --git a/Loop/Redesign/NowScreen.swift b/Loop/Redesign/NowScreen.swift index 3a054996c0..be26cada9c 100644 --- a/Loop/Redesign/NowScreen.swift +++ b/Loop/Redesign/NowScreen.swift @@ -479,7 +479,7 @@ struct NowHeaderView: View { } else if let rate = model.basalRate, let scheduled = model.scheduledBasalRate { Text(String(format: NSLocalizedString("%1$@ vs plan", comment: "Basal tile on the Now screen: how the current basal rate differs from the scheduled rate. (1: signed difference in U/h, e.g. +0.25)"), LoopFormat.signed(rate - scheduled))) .font(LoopDesign.Typeface.footnote) - .foregroundStyle(P.insulinInk) + .foregroundStyle(P.inkMuted) .lineLimit(1) .minimumScaleFactor(0.8) } @@ -699,7 +699,7 @@ struct DayTotalsTiles: View { ValueTile(label: NSLocalizedString("Bolus", comment: "Label of a tile showing the day's total bolus insulin")) { Text(LoopFormat.totalUnits(history.bolusUnits)) .font(LoopDesign.Typeface.statValueSmall) - .foregroundStyle(P.bolusInk) + .foregroundStyle(P.insulinInk) } ValueTile(label: NSLocalizedString("Basal", comment: "Label of a tile showing the current basal rate (Now screen) or the day's basal insulin total (Today so far totals)")) { // Plain ink: basal is the pale fill on the chart, and orange here read as bolus. diff --git a/Loop/Redesign/TrendsComponents.swift b/Loop/Redesign/TrendsComponents.swift index 7fb5a95291..0ff4609a60 100644 --- a/Loop/Redesign/TrendsComponents.swift +++ b/Loop/Redesign/TrendsComponents.swift @@ -80,13 +80,13 @@ struct RangeSelectorView: View { .background(P.surfaceSunken, in: Capsule()) HStack { - stepButton(systemName: "chevron.left", label: NSLocalizedString("Previous period", comment: "VoiceOver label for the Trends button that moves back one period"), enabled: true) { step(-1) } + StepButton(systemName: "chevron.left", label: NSLocalizedString("Previous period", comment: "VoiceOver label for the Trends button that moves back one period")) { step(-1) } Spacer() Text(LoopFormat.range(period.interval(endingOn: endDay, now: now).start, endDay)) .font(LoopDesign.Typeface.headline.monospacedDigit()) .foregroundStyle(P.ink) Spacer() - stepButton(systemName: "chevron.right", label: NSLocalizedString("Next period", comment: "VoiceOver label for the Trends button that moves forward one period"), enabled: canStepForward) { step(1) } + StepButton(systemName: "chevron.right", label: NSLocalizedString("Next period", comment: "VoiceOver label for the Trends button that moves forward one period"), enabled: canStepForward) { step(1) } } } } @@ -95,20 +95,6 @@ struct RangeSelectorView: View { guard let next = calendar.date(byAdding: .day, value: direction * period.rawValue, to: endDay) else { return } endDay = min(next, now) } - - private func stepButton(systemName: String, label: String, enabled: Bool, action: @escaping () -> Void) -> some View { - Button(action: action) { - Image(systemName: systemName) - .font(.footnote.weight(.semibold)) - .frame(width: 30, height: 30) - .background(P.surfaceRaised, in: Circle()) - .overlay(Circle().strokeBorder(P.separator)) - } - .buttonStyle(.plain) - .foregroundStyle(enabled ? P.ink : P.inkMuted.opacity(0.5)) - .disabled(!enabled) - .accessibilityLabel(label) - } } // MARK: - StatGrid @@ -118,6 +104,7 @@ struct StatTile: Identifiable { let value: String let unit: String? let detail: String? + var valueColor: Color = LoopDesign.Palette.ink var id: String { label } } @@ -152,7 +139,7 @@ struct StatGridView: View { HStack(alignment: .firstTextBaseline, spacing: 2) { Text(tile.value) .font(LoopDesign.Typeface.statValue) - .foregroundStyle(P.ink) + .foregroundStyle(tile.valueColor) .minimumScaleFactor(0.7) .lineLimit(1) if let unit = tile.unit { @@ -499,7 +486,7 @@ struct InsulinSplitView: View { Spacer() Text(LoopFormat.totalUnits(split.total)) .font(LoopDesign.Typeface.statValueSmall) - .foregroundStyle(LoopDesign.Palette.ink) + .foregroundStyle(LoopDesign.Palette.insulinInk) } } } @@ -714,7 +701,7 @@ struct LoopModeBarView: View { switch mode { case .closed: return P.statusAutomated case .limited: return P.statusWarning - case .open: return P.statusCritical + case .open: return P.inkMuted } } diff --git a/Loop/Redesign/TrendsScreen.swift b/Loop/Redesign/TrendsScreen.swift index 205f1dfc48..bcb3a7265d 100644 --- a/Loop/Redesign/TrendsScreen.swift +++ b/Loop/Redesign/TrendsScreen.swift @@ -181,7 +181,7 @@ final class TrendsModel: ObservableObject { : NSLocalizedString("Insulin per day", comment: "Trends tile and card title: average total insulin per day"), value: LoopFormat.number(s.insulinPerDay, decimals: 1), unit: NSLocalizedString("U", comment: "Abbreviation for insulin units"), - detail: insulinDetail)) + detail: insulinDetail, valueColor: P.insulinInk)) tiles.append(StatTile(label: oneDay ? NSLocalizedString("Carbs", comment: "Trends summary tile for a one-day period: the day's total carbohydrate") : NSLocalizedString("Carbs per day", comment: "Trends summary tile: average grams of carbohydrate entered per day"), @@ -190,7 +190,8 @@ final class TrendsModel: ObservableObject { detail: oneDay ? String(format: NSLocalizedString("%lld entries", comment: "Trends Carbs tile detail for a one-day period: how many carb entries were made that day. (1: number)"), s.carbEntries) : String(format: NSLocalizedString("%1$@ entries", comment: "Trends Carbs per day tile detail: average number of carb entries per day, a fractional value such as 2.5, so not pluralised. (1: number with one decimal)"), - LoopFormat.number(Double(s.carbEntries) / s.days, decimals: 1)))) + LoopFormat.number(Double(s.carbEntries) / s.days, decimals: 1)), + valueColor: P.carbsInk)) tiles.append(StatTile(label: oneDay ? NSLocalizedString("Boluses", comment: "Trends summary tile for a one-day period: how many manual boluses were given that day") : NSLocalizedString("Boluses per day", comment: "Trends summary tile: average number of manual boluses per day"), From 27b339dda4cb6ec8ae865206a9e1ac0b5af58bba Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Sun, 1 Nov 2026 11:08:56 +0000 Subject: [PATCH 16/17] Show programmed basal delivery while presets are active Keep the pump profile separate from the preset-adjusted plan on Now, including the fallback after a temp basal expires. Verified the reported rate against the simulator pump and insulin delivery log. Reviewed and repaired by Codex using code-reviewer-cx. --- Loop/Redesign/NowScreen.swift | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Loop/Redesign/NowScreen.swift b/Loop/Redesign/NowScreen.swift index be26cada9c..1a0e357af6 100644 --- a/Loop/Redesign/NowScreen.swift +++ b/Loop/Redesign/NowScreen.swift @@ -52,6 +52,7 @@ final class NowModel: ObservableObject { @Published private(set) var iob: Double? @Published private(set) var cob: Double? @Published private(set) var basalDeliveryState: PumpManagerStatus.BasalDeliveryState? + @Published private(set) var programmedBasalRate: Double? @Published private(set) var scheduledBasalRate: Double? @Published private(set) var suspended = false @Published private(set) var targetRange: ClosedRange? @@ -94,8 +95,8 @@ final class NowModel: ObservableObject { var basalRate: Double? { switch basalDeliveryState { case .tempBasal(let dose)?: - return dose.startDate <= now && now < dose.endDate ? dose.unitsPerHour : scheduledBasalRate - case .active?: return scheduledBasalRate + return dose.startDate <= now && now < dose.endDate ? dose.unitsPerHour : programmedBasalRate + case .active?: return programmedBasalRate case .suspended?, .suspending?: return 0 default: return nil } @@ -192,6 +193,8 @@ final class NowModel: ObservableObject { let scheduled = temporaryPresetsManager.basalRateScheduleApplyingOverrideHistory?.value(at: now) scheduledBasalRate = scheduled + // Presets change Loop's plan; without a temp basal the pump still delivers its programmed profile. + programmedBasalRate = settingsManager.settings.basalRateSchedule?.value(at: now) basalDeliveryState = deviceManager.pumpManagerStatus?.basalDeliveryState switch basalDeliveryState { case .suspended?, .suspending?: suspended = true From 5e4d93cb4d068cff324ef9dc30886a719afad00c Mon Sep 17 00:00:00 2001 From: Garry Casey Date: Sun, 1 Nov 2026 20:44:03 +0000 Subject: [PATCH 17/17] Bring what Statistics shows into Trends Trends now carries everything Statistics shows that it lacked, so it can take Statistics' place: - Consensus goals: average under 8.6 mmol/L (154 mg/dL), GMI under 7% and CV 36% or less under the summary tiles; time in range over 70%, under 25% above and 4% below, under 5% very high and 1% very low, and CGM active over 70% on the Time in range card. - Scheduled basal under Basal in Basal and bolus: the schedule that applied over the same days (the stored profile with presets), or today's schedule where the profile history doesn't reach. - "Usually X U by HH:MM": today's insulin against the median by this time over the last 14 days, from InsulinDeliveryHistory as on Statistics. Under Total so far on today's Day view, and under the Insulin per day chart on longer periods ending today. - "CGM data covers 5 of 14 days." under Summary when readings start partway through the period. - Typed-in (fingerstick) readings are left out of every figure, as on Statistics. The day timeline still draws them. Each new line reuses a pattern already on the screen: the Aim footnote, the indented line under Bolus, and the muted footnote. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01QHnVP7ynB62LNuuYMy3yvH --- Loop/Localizable.xcstrings | 1041 ++++++++++++++++--- Loop/Redesign/LoopHistoryMath.swift | 22 + Loop/Redesign/LoopHistoryModels.swift | 2 + Loop/Redesign/LoopHistoryProvider.swift | 18 +- Loop/Redesign/TrendsComponents.swift | 26 +- Loop/Redesign/TrendsScreen.swift | 94 +- LoopTests/Models/LoopHistoryMathTests.swift | 16 + 7 files changed, 1039 insertions(+), 180 deletions(-) diff --git a/Loop/Localizable.xcstrings b/Loop/Localizable.xcstrings index d35f1f200f..078fe8265a 100644 --- a/Loop/Localizable.xcstrings +++ b/Loop/Localizable.xcstrings @@ -1377,6 +1377,292 @@ } } }, + "Aim: average under %1$@ %2$@, GMI under 7%%, CV 36%% or less." : { + "comment" : "Trends Summary footnote: the consensus targets for average glucose, GMI and glucose variability (CV). (1: glucose value, 2: glucose unit)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الهدف: متوسط أقل من %1$@ %2$@، وGMI أقل من 7%%، وCV ‏36%% أو أقل." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cíl: průměr pod %1$@ %2$@, GMI pod 7%%, CV nejvýše 36%%." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mål: gennemsnit under %1$@ %2$@, GMI under 7 %%, CV højst 36 %%." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ziel: Durchschnitt unter %1$@ %2$@, GMI unter 7 %%, VK höchstens 36 %%." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Objetivo: promedio por debajo de %1$@ %2$@, GMI por debajo del 7%%, CV del 36%% o menos." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tavoite: keskiarvo alle %1$@ %2$@, GMI alle 7 %%, CV enintään 36 %%." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Objectif : moyenne sous %1$@ %2$@, GMI sous 7 %%, CV de 36 %% au plus." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "יעד: ממוצע מתחת ל-%1$@ %2$@, GMI מתחת ל-7%%, CV ‏36%% או פחות." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cél: átlag %1$@ %2$@ alatt, GMI 7%% alatt, CV legfeljebb 36%%." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obiettivo: media sotto %1$@ %2$@, GMI sotto il 7%%, CV al massimo 36%%." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標:平均%1$@ %2$@未満、GMI 7%%未満、CV 36%%以下。" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mål: gjennomsnitt under %1$@ %2$@, GMI under 7 %%, CV høyst 36 %%." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doel: gemiddelde onder %1$@ %2$@, GMI onder 7%%, CV hoogstens 36%%." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cel: średnia poniżej %1$@ %2$@, GMI poniżej 7%%, CV najwyżej 36%%." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Meta: média abaixo de %1$@ %2$@, GMI abaixo de 7%%, CV de no máximo 36%%." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Țintă: medie sub %1$@ %2$@, GMI sub 7%%, CV de cel mult 36%%." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Цель: среднее ниже %1$@ %2$@, GMI ниже 7%%, CV не более 36%%." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cieľ: priemer pod %1$@ %2$@, GMI pod 7%%, CV najviac 36%%." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mål: genomsnitt under %1$@ %2$@, GMI under 7 %%, CV högst 36 %%." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hedef: ortalama %1$@ %2$@ altı, GMI %%7 altı, CV en fazla %%36." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Мета: середнє нижче %1$@ %2$@, GMI нижче 7%%, CV не більше 36%%." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mục tiêu: trung bình dưới %1$@ %2$@, GMI dưới 7%%, CV từ 36%% trở xuống." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "目标:平均值低于 %1$@ %2$@,GMI 低于 7%%,CV 不超过 36%%。" + } + } + } + }, + "Aim: over 70%% in range; under 25%% above and 4%% below; under 5%% very high and 1%% very low; CGM active over 70%%." : { + "comment" : "Trends Time in range card footnote: the consensus targets for time in range, above and below range, very high, very low and CGM wear", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "الهدف: أكثر من 70%% ضمن النطاق؛ أقل من 25%% فوق و4%% تحت؛ أقل من 5%% مرتفع جدًا و1%% منخفض جدًا؛ وCGM نشط أكثر من 70%%." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cíl: přes 70%% v rozsahu; pod 25%% nad a 4%% pod; pod 5%% velmi vysoko a 1%% velmi nízko; CGM aktivní přes 70%%." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mål: over 70 %% i området; under 25 %% over og 4 %% under; under 5 %% meget højt og 1 %% meget lavt; CGM aktiv over 70 %%." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ziel: über 70 %% im Zielbereich; unter 25 %% darüber und 4 %% darunter; unter 5 %% sehr hoch und 1 %% sehr niedrig; CGM über 70 %% aktiv." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Objetivo: más del 70%% en rango; menos del 25%% por encima y del 4%% por debajo; menos del 5%% muy alto y del 1%% muy bajo; CGM activo más del 70%%." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tavoite: yli 70 %% tavoitealueella; alle 25 %% yläpuolella ja 4 %% alapuolella; alle 5 %% erittäin korkealla ja 1 %% erittäin matalalla; CGM aktiivinen yli 70 %%." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Objectif : plus de 70 %% dans la cible ; moins de 25 %% au-dessus et 4 %% en dessous ; moins de 5 %% très haut et 1 %% très bas ; CGM actif plus de 70 %%." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "יעד: מעל 70%% בטווח; מתחת ל-25%% מעל ו-4%% מתחת; מתחת ל-5%% גבוה מאוד ו-1%% נמוך מאוד; CGM פעיל מעל 70%%." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cél: több mint 70%% tartományban; kevesebb mint 25%% felette és 4%% alatta; kevesebb mint 5%% nagyon magas és 1%% nagyon alacsony; CGM aktív több mint 70%%." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obiettivo: oltre il 70%% nell'intervallo; meno del 25%% sopra e del 4%% sotto; meno del 5%% molto alta e dell'1%% molto bassa; CGM attivo oltre il 70%%." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "目標:範囲内70%%超、範囲上25%%未満・範囲下4%%未満、非常に高い5%%未満・非常に低い1%%未満、CGM稼働70%%超。" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mål: over 70 %% i målområdet; under 25 %% over og 4 %% under; under 5 %% svært høyt og 1 %% svært lavt; CGM aktiv over 70 %%." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Doel: meer dan 70%% binnen bereik; minder dan 25%% erboven en 4%% eronder; minder dan 5%% zeer hoog en 1%% zeer laag; CGM meer dan 70%% actief." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cel: ponad 70%% w zakresie; poniżej 25%% powyżej i 4%% poniżej; poniżej 5%% bardzo wysokich i 1%% bardzo niskich; CGM aktywny ponad 70%%." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Meta: mais de 70%% no alvo; menos de 25%% acima e 4%% abaixo; menos de 5%% muito alto e 1%% muito baixo; CGM ativo mais de 70%%." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Țintă: peste 70%% în interval; sub 25%% peste și 4%% sub; sub 5%% foarte ridicat și 1%% foarte scăzut; CGM activ peste 70%%." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Цель: в диапазоне более 70%%; выше — менее 25%%, ниже — менее 4%%; очень высокая — менее 5%%, очень низкая — менее 1%%; CGM активен более 70%%." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cieľ: nad 70%% v rozsahu; pod 25%% nad a 4%% pod; pod 5%% veľmi vysoko a 1%% veľmi nízko; CGM aktívny nad 70%%." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mål: över 70 %% inom målområdet; under 25 %% över och 4 %% under; under 5 %% mycket högt och 1 %% mycket lågt; CGM aktiv över 70 %%." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Hedef: aralıkta %%70'in üzeri; üstünde %%25'in, altında %%4'ün altı; çok yüksekte %%5'in, çok düşükte %%1'in altı; CGM aktif %%70'in üzeri." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Мета: у діапазоні понад 70%%; вище — менше 25%%, нижче — менше 4%%; дуже висока — менше 5%%, дуже низька — менше 1%%; CGM активний понад 70%%." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Mục tiêu: trên 70%% trong khoảng; dưới 25%% trên khoảng và 4%% dưới khoảng; dưới 5%% rất cao và 1%% rất thấp; CGM hoạt động trên 70%%." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "目标:范围内超过70%%;高于范围低于25%%,低于范围低于4%%;极高低于5%%,极低低于1%%;CGM 在线超过70%%。" + } + } + } + }, "Automatic %1$@" : { "comment" : "Basal and bolus: bolus Loop gave automatically. (1: units, e.g. 5.4 U)", "localizations" : { @@ -2378,6 +2664,149 @@ } } }, + "CGM data covers %1$@." : { + "comment" : "Trends Summary note when glucose readings start partway through the period. (1: days covered, e.g. 5 of 14 days)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "بيانات CGM تغطي %1$@." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Data CGM pokrývají %1$@." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM-data dækker %1$@." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM-Daten decken %1$@ ab." + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Los datos de CGM cubren %1$@." + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM-data kattaa %1$@." + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Les données CGM couvrent %1$@." + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "נתוני CGM מכסים %1$@." + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM-adat: %1$@." + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "I dati CGM coprono %1$@." + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGMデータ:%1$@。" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM-data dekker %1$@." + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM-gegevens beslaan %1$@." + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dane CGM obejmują %1$@." + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Os dados de CGM cobrem %1$@." + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Datele CGM acoperă %1$@." + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Данные CGM: %1$@." + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Údaje CGM pokrývajú %1$@." + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM-data täcker %1$@." + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM verisi: %1$@." + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Дані CGM: %1$@." + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dữ liệu CGM bao phủ %1$@." + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "CGM 数据覆盖 %1$@。" + } + } + } + }, "Custom" : { "comment" : "Carb entry absorption choice Other, before it is chosen: you set the food and absorption time yourself", "localizations" : { @@ -3379,6 +3808,149 @@ } } }, + "Scheduled %1$@" : { + "comment" : "Basal and bolus: what the basal schedule delivers over the same time, under the basal row. (1: units, e.g. 18.0 U)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "المجدول %1$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plánovaný %1$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Planlagt %1$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Geplant %1$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Programado %1$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ohjelmoitu %1$@" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Programmé %1$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "מתוזמן %1$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ütemezett %1$@" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Programmato %1$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "スケジュール %1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Planlagt %1$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Gepland %1$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zaplanowane %1$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Programada %1$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "Programat %1$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Запланировано %1$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Plánovaný %1$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Schemalagd %1$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Planlanan %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "За розкладом %1$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Theo lịch %1$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "预设 %1$@" + } + } + } + }, "Slow" : { "comment" : "Carb entry absorption choice: food that absorbs slowly, such as pizza", "localizations" : { @@ -3832,121 +4404,264 @@ "de" : { "stringUnit" : { "state" : "translated", - "value" : "heute bisher" + "value" : "heute bisher" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "hoy hasta ahora" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "tänään tähän mennessä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "aujourd'hui jusqu'ici" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "היום עד כה" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "ma eddig" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "oggi finora" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "今日のこれまで" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "i dag så langt" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "vandaag tot nu toe" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "dziś do tej pory" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "hoje até agora" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "azi până acum" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "сегодня на данный момент" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "dnes zatiaľ" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "hittills i dag" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "bugün şu ana kadar" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "сьогодні наразі" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "hôm nay đến giờ" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "今日至今" + } + } + } + }, + "Today so far %1$@, usually %2$@ by %3$@." : { + "comment" : "Trends Insulin per day footnote: today's insulin so far against the median by this time of day over the last 14 days. (1: today's units, 2: usual units, 3: time of day)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "اليوم حتى الآن %1$@، وعادةً %2$@ بحلول %3$@." + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Dnes zatím %1$@, obvykle %2$@ do %3$@." + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "I dag indtil nu %1$@, normalt %2$@ kl. %3$@." + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Heute bisher %1$@, üblicherweise %2$@ bis %3$@." } }, "es" : { "stringUnit" : { "state" : "translated", - "value" : "hoy hasta ahora" + "value" : "Hoy hasta ahora %1$@, normalmente %2$@ a las %3$@." } }, "fi" : { "stringUnit" : { "state" : "translated", - "value" : "tänään tähän mennessä" + "value" : "Tänään tähän mennessä %1$@, yleensä %2$@ klo %3$@ mennessä." } }, "fr" : { "stringUnit" : { "state" : "translated", - "value" : "aujourd'hui jusqu'ici" + "value" : "Aujourd'hui jusqu'ici %1$@, d'habitude %2$@ à %3$@." } }, "he" : { "stringUnit" : { "state" : "translated", - "value" : "היום עד כה" + "value" : "היום עד כה %1$@, בדרך כלל %2$@ עד %3$@." } }, "hu" : { "stringUnit" : { "state" : "translated", - "value" : "ma eddig" + "value" : "Ma eddig %1$@, általában %2$@ ilyenkorra (%3$@)." } }, "it" : { "stringUnit" : { "state" : "translated", - "value" : "oggi finora" + "value" : "Oggi finora %1$@, di solito %2$@ entro le %3$@." } }, "ja" : { "stringUnit" : { "state" : "translated", - "value" : "今日のこれまで" + "value" : "今日のこれまで%1$@、通常は%3$@までに%2$@。" } }, "nb" : { "stringUnit" : { "state" : "translated", - "value" : "i dag så langt" + "value" : "I dag så langt %1$@, vanligvis %2$@ innen %3$@." } }, "nl" : { "stringUnit" : { "state" : "translated", - "value" : "vandaag tot nu toe" + "value" : "Vandaag tot nu toe %1$@, meestal %2$@ om %3$@." } }, "pl" : { "stringUnit" : { "state" : "translated", - "value" : "dziś do tej pory" + "value" : "Dziś do tej pory %1$@, zwykle %2$@ do %3$@." } }, "pt-BR" : { "stringUnit" : { "state" : "translated", - "value" : "hoje até agora" + "value" : "Hoje até agora %1$@, normalmente %2$@ até %3$@." } }, "ro" : { "stringUnit" : { "state" : "translated", - "value" : "azi până acum" + "value" : "Azi până acum %1$@, de obicei %2$@ până la %3$@." } }, "ru" : { "stringUnit" : { "state" : "translated", - "value" : "сегодня на данный момент" + "value" : "Сегодня на данный момент %1$@, обычно %2$@ к %3$@." } }, "sk" : { "stringUnit" : { "state" : "translated", - "value" : "dnes zatiaľ" + "value" : "Dnes zatiaľ %1$@, zvyčajne %2$@ do %3$@." } }, "sv" : { "stringUnit" : { "state" : "translated", - "value" : "hittills i dag" + "value" : "Hittills i dag %1$@, vanligtvis %2$@ vid %3$@." } }, "tr" : { "stringUnit" : { "state" : "translated", - "value" : "bugün şu ana kadar" + "value" : "Bugün şu ana kadar %1$@, genelde %3$@ itibarıyla %2$@." } }, "uk" : { "stringUnit" : { "state" : "translated", - "value" : "сьогодні наразі" + "value" : "Сьогодні наразі %1$@, зазвичай %2$@ до %3$@." } }, "vi" : { "stringUnit" : { "state" : "translated", - "value" : "hôm nay đến giờ" + "value" : "Hôm nay đến giờ %1$@, thường %2$@ trước %3$@." } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "今日至今" + "value" : "今日至今 %1$@,通常到 %3$@ 为 %2$@。" } } } @@ -4523,6 +5238,149 @@ } } }, + "Usually %1$@ by %2$@" : { + "comment" : "Trends: the median insulin delivered by this time of day over the last 14 days. (1: units, e.g. 28.4 U, 2: time of day)", + "localizations" : { + "ar" : { + "stringUnit" : { + "state" : "translated", + "value" : "عادةً %1$@ بحلول %2$@" + } + }, + "cs" : { + "stringUnit" : { + "state" : "translated", + "value" : "Obvykle %1$@ do %2$@" + } + }, + "da" : { + "stringUnit" : { + "state" : "translated", + "value" : "Normalt %1$@ kl. %2$@" + } + }, + "de" : { + "stringUnit" : { + "state" : "translated", + "value" : "Üblicherweise %1$@ bis %2$@" + } + }, + "es" : { + "stringUnit" : { + "state" : "translated", + "value" : "Normalmente %1$@ a las %2$@" + } + }, + "fi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Yleensä %1$@ klo %2$@ mennessä" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "D'habitude %1$@ à %2$@" + } + }, + "he" : { + "stringUnit" : { + "state" : "translated", + "value" : "בדרך כלל %1$@ עד %2$@" + } + }, + "hu" : { + "stringUnit" : { + "state" : "translated", + "value" : "Általában %1$@ ilyenkorra (%2$@)" + } + }, + "it" : { + "stringUnit" : { + "state" : "translated", + "value" : "Di solito %1$@ entro le %2$@" + } + }, + "ja" : { + "stringUnit" : { + "state" : "translated", + "value" : "通常は%2$@までに%1$@" + } + }, + "nb" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vanligvis %1$@ innen %2$@" + } + }, + "nl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Meestal %1$@ om %2$@" + } + }, + "pl" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zwykle %1$@ do %2$@" + } + }, + "pt-BR" : { + "stringUnit" : { + "state" : "translated", + "value" : "Normalmente %1$@ até %2$@" + } + }, + "ro" : { + "stringUnit" : { + "state" : "translated", + "value" : "De obicei %1$@ până la %2$@" + } + }, + "ru" : { + "stringUnit" : { + "state" : "translated", + "value" : "Обычно %1$@ к %2$@" + } + }, + "sk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Zvyčajne %1$@ do %2$@" + } + }, + "sv" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vanligtvis %1$@ vid %2$@" + } + }, + "tr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Genelde %2$@ itibarıyla %1$@" + } + }, + "uk" : { + "stringUnit" : { + "state" : "translated", + "value" : "Зазвичай %1$@ до %2$@" + } + }, + "vi" : { + "stringUnit" : { + "state" : "translated", + "value" : "Thường %1$@ trước %2$@" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "通常到 %2$@ 为 %1$@" + } + } + } + }, " - " : { }, @@ -12496,149 +13354,6 @@ } } }, - "Aim: over 70%% in range, under 4%% low." : { - "comment" : "Trends Time in range card footnote: the consensus targets for time in range and time low", - "localizations" : { - "ar" : { - "stringUnit" : { - "state" : "translated", - "value" : "الهدف: أكثر من 70%% ضمن النطاق، وأقل من 4%% منخفض." - } - }, - "cs" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cíl: přes 70%% v rozsahu, pod 4%% nízko." - } - }, - "da" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mål: over 70 %% i området, under 4 %% lavt." - } - }, - "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Ziel: über 70 %% im Zielbereich, unter 4 %% niedrig." - } - }, - "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Objetivo: más del 70%% en rango, menos del 4%% bajo." - } - }, - "fi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Tavoite: yli 70 %% tavoitealueella, alle 4 %% matalalla." - } - }, - "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Objectif : plus de 70 %% dans la cible, moins de 4 %% en hypo." - } - }, - "he" : { - "stringUnit" : { - "state" : "translated", - "value" : "יעד: מעל 70%% בטווח, מתחת ל-4%% נמוך." - } - }, - "hu" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cél: több mint 70%% tartományban, kevesebb mint 4%% alacsony." - } - }, - "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Obiettivo: oltre il 70%% nell'intervallo, meno del 4%% bassa." - } - }, - "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "目標:範囲内70%%超、低値4%%未満。" - } - }, - "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mål: over 70 %% i målområdet, under 4 %% lavt." - } - }, - "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Doel: meer dan 70%% binnen bereik, minder dan 4%% laag." - } - }, - "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cel: ponad 70%% w zakresie, poniżej 4%% niskich." - } - }, - "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Meta: mais de 70%% no alvo, menos de 4%% baixo." - } - }, - "ro" : { - "stringUnit" : { - "state" : "translated", - "value" : "Țintă: peste 70%% în interval, sub 4%% scăzut." - } - }, - "ru" : { - "stringUnit" : { - "state" : "translated", - "value" : "Цель: в диапазоне более 70%%, низкая — менее 4%%." - } - }, - "sk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Cieľ: nad 70%% v rozsahu, pod 4%% nízko." - } - }, - "sv" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mål: över 70 %% inom målområdet, under 4 %% lågt." - } - }, - "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Hedef: aralıkta %%70'in üzeri, düşükte %%4'ün altı." - } - }, - "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Мета: у діапазоні понад 70%%, низька — менше 4%%." - } - }, - "vi" : { - "stringUnit" : { - "state" : "translated", - "value" : "Mục tiêu: trên 70%% trong khoảng, dưới 4%% thấp." - } - }, - "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "目标:范围内超过70%%,低血糖低于4%%。" - } - } - } - }, "All" : { "comment" : "Logbook filter chip: show every entry", "localizations" : { diff --git a/Loop/Redesign/LoopHistoryMath.swift b/Loop/Redesign/LoopHistoryMath.swift index 021f79b448..5e4a10df90 100644 --- a/Loop/Redesign/LoopHistoryMath.swift +++ b/Loop/Redesign/LoopHistoryMath.swift @@ -155,6 +155,28 @@ enum LoopHistoryMath { Set(points.map { calendar.startOfDay(for: $0.date) }).count } + /// Whole days from the first reading to the end of `interval`, when that falls short of the period by more than a + /// day; nil when the readings span the period, or there are none. + static func cgmCoveredDays(_ points: [GlucosePoint], in interval: DateInterval, periodDays: Int) -> Int? { + guard periodDays > 1, let first = points.map(\.date).min() else { return nil } + let available = interval.end.timeIntervalSince(first) / 86400 + guard available + 1 < Double(periodDays) else { return nil } + return max(1, Int(available.rounded())) + } + + /// Units the schedule would deliver over `span`, or nil where the points don't cover all of it. + static func scheduledUnits(_ points: [ScheduledBasalPoint], over span: DateInterval) -> Double? { + var units = 0.0 + var covered: TimeInterval = 0 + for point in points { + let overlap = min(point.end, span.end).timeIntervalSince(max(point.start, span.start)) + guard overlap > 0 else { continue } + units += point.rate * overlap / 3600 + covered += overlap + } + return covered >= span.duration - 60 ? units : nil + } + // MARK: Days /// Midnight-to-midnight intervals covering `interval`, oldest first, the last one cut off at `interval.end`. diff --git a/Loop/Redesign/LoopHistoryModels.swift b/Loop/Redesign/LoopHistoryModels.swift index d8ccf36ad0..387c320f3f 100644 --- a/Loop/Redesign/LoopHistoryModels.swift +++ b/Loop/Redesign/LoopHistoryModels.swift @@ -16,6 +16,8 @@ import LoopAlgorithm struct GlucosePoint: Equatable { let date: Date let mgdl: Double + /// A fingerstick or other reading typed in: drawn on charts, but left out of CGM statistics. + var userEntered = false } struct BolusEvent: Equatable, Identifiable { diff --git a/Loop/Redesign/LoopHistoryProvider.swift b/Loop/Redesign/LoopHistoryProvider.swift index 0ae2c4554f..887c3ffb4e 100644 --- a/Loop/Redesign/LoopHistoryProvider.swift +++ b/Loop/Redesign/LoopHistoryProvider.swift @@ -65,6 +65,19 @@ final class LoopHistoryProvider { return range.lowerBound.doubleValue(for: .milligramsPerDeciliter)...range.upperBound.doubleValue(for: .milligramsPerDeciliter) } + /// What the basal schedule delivers in a day, for days the stored profile history doesn't reach. + @MainActor + var scheduledBasalPerDay: Double? { + loopDataManager.settingsProvider.settings.basalRateSchedule?.total() + } + + /// The median insulin delivered from midnight to this time of day over the last 14 days, as on Statistics. + func typicalInsulinByNow() async -> (typical: TypicalInsulinDelivery, at: Date)? { + guard let history = try? await loopDataManager.insulinDeliveryHistory(days: 14), + let typical = history.typicalDelivery(by: history.end) else { return nil } + return (typical, history.end) + } + /// The targets that actually applied, including dated presets and changes to the stored profile. func glucoseTargetBands(in interval: DateInterval) async throws -> [TargetBand] { if let store = settingsManager.settingsStore { @@ -280,7 +293,7 @@ final class LoopHistoryProvider { let samples = try await glucoseStore.getGlucoseSamples(start: interval.start, end: interval.end) return samples .filter { !$0.isDisplayOnly } - .map { GlucosePoint(date: $0.startDate, mgdl: $0.quantity.doubleValue(for: .milligramsPerDeciliter)) } + .map { GlucosePoint(date: $0.startDate, mgdl: $0.quantity.doubleValue(for: .milligramsPerDeciliter), userEntered: $0.wasUserEntered) } } catch { os_log("Glucose fetch failed: %{public}@", log: log, type: .error, String(describing: error)) throw error @@ -394,7 +407,8 @@ final class LoopHistoryProvider { for sample in samples where !sample.isDisplayOnly && (FeatureFlags.observeHealthKitGlucoseSamplesFromOtherApps || sample.sourceRevision.source.bundleIdentifier == own) { if let last = points.last, sample.startDate.timeIntervalSince(last.date) < 150 { continue } - points.append(GlucosePoint(date: sample.startDate, mgdl: sample.quantity.doubleValue(for: .milligramsPerDeciliter))) + points.append(GlucosePoint(date: sample.startDate, mgdl: sample.quantity.doubleValue(for: .milligramsPerDeciliter), + userEntered: sample.wasUserEntered)) } return points } diff --git a/Loop/Redesign/TrendsComponents.swift b/Loop/Redesign/TrendsComponents.swift index 0ff4609a60..0a2c29feae 100644 --- a/Loop/Redesign/TrendsComponents.swift +++ b/Loop/Redesign/TrendsComponents.swift @@ -460,12 +460,22 @@ struct InsulinSplitView: View { let split: InsulinSplit /// Today so far, rather than a whole day or a per-day average. var partial = false + /// What the basal schedule delivers over the same time, shown under the basal row. + var scheduledBasal: Double? + /// Today against a usual day, e.g. "Usually 28.4 U by 19:46", under the total. + var usual: String? var body: some View { VStack(alignment: .leading, spacing: LoopDesign.Space.s3) { InsulinSplitBar(split: split) VStack(alignment: .leading, spacing: LoopDesign.Space.s2) { row(.basal, NSLocalizedString("Basal", comment: "Basal and bolus row: insulin delivered as basal"), split.basal, split.basalPercent) + if let scheduledBasal { + part(.dash(LoopDesign.Palette.basalScheduled), String(format: NSLocalizedString("Scheduled %1$@", comment: "Basal and bolus: what the basal schedule delivers over the same time, under the basal row. (1: units, e.g. 18.0 U)"), LoopFormat.totalUnits(scheduledBasal))) + .font(LoopDesign.Typeface.footnote.monospacedDigit()) + .foregroundStyle(LoopDesign.Palette.inkMuted) + .padding(.leading, 10 + LoopDesign.Space.s2) + } row(.solid(LoopDesign.Palette.bolus), NSLocalizedString("Bolus", comment: "Basal and bolus row: insulin delivered as bolus, manual and automatic"), split.bolus, split.bolusPercent) if split.isClassified && split.bolus > 0 { FlowLayout(spacing: LoopDesign.Space.s3, lineSpacing: 2) { @@ -488,10 +498,16 @@ struct InsulinSplitView: View { .font(LoopDesign.Typeface.statValueSmall) .foregroundStyle(LoopDesign.Palette.insulinInk) } + if let usual { + Text(usual) + .font(LoopDesign.Typeface.footnote.monospacedDigit()) + .foregroundStyle(LoopDesign.Palette.inkMuted) + .frame(maxWidth: .infinity, alignment: .trailing) + } } } .accessibilityElement(children: .ignore) - .accessibilityLabel(Self.accessibilityLabel(split, partial: partial)) + .accessibilityLabel(Self.accessibilityLabel(split, partial: partial, scheduledBasal: scheduledBasal, usual: usual)) } private func row(_ swatch: LegendItem.Swatch, _ label: String, _ units: Double, _ percent: Int) -> some View { @@ -518,7 +534,7 @@ struct InsulinSplitView: View { } } - static func accessibilityLabel(_ split: InsulinSplit, partial: Bool) -> String { + static func accessibilityLabel(_ split: InsulinSplit, partial: Bool, scheduledBasal: Double? = nil, usual: String? = nil) -> String { var parts = [ String(format: NSLocalizedString("Basal %1$@, %2$@ percent", comment: "VoiceOver: basal units and share. (1: units, 2: percentage number)"), LoopFormat.totalUnits(split.basal), "\(split.basalPercent)"), String(format: NSLocalizedString("Bolus %1$@, %2$@ percent", comment: "VoiceOver: bolus units and share. (1: units, 2: percentage number)"), LoopFormat.totalUnits(split.bolus), "\(split.bolusPercent)"), @@ -531,6 +547,12 @@ struct InsulinSplitView: View { ? NSLocalizedString("Total so far %1$@", comment: "VoiceOver: today's total insulin so far. (1: units)") : NSLocalizedString("Total %1$@", comment: "VoiceOver: total insulin. (1: units)"), LoopFormat.totalUnits(split.total))) + if let scheduledBasal { + parts.insert(String(format: NSLocalizedString("Scheduled %1$@", comment: "Basal and bolus: what the basal schedule delivers over the same time, under the basal row. (1: units, e.g. 18.0 U)"), LoopFormat.totalUnits(scheduledBasal)), at: 1) + } + if let usual { + parts.append(usual) + } return parts.joined(separator: ". ") } } diff --git a/Loop/Redesign/TrendsScreen.swift b/Loop/Redesign/TrendsScreen.swift index bcb3a7265d..0afaafdced 100644 --- a/Loop/Redesign/TrendsScreen.swift +++ b/Loop/Redesign/TrendsScreen.swift @@ -17,7 +17,10 @@ final class TrendsModel: ObservableObject { struct Summary { var interval: DateInterval var unit: GlucoseUnitStyle + /// CGM readings only: typed-in fingersticks are left out of every figure, as on Statistics. var glucose: [GlucosePoint] = [] + /// Days from the first reading, when that is short of the period; nil when the readings span it. + var cgmCoveredDays: Int? var stats: LoopHistoryMath.GlucoseStats? var cgmActive: Double = 0 var timeInRange: [LoopHistoryMath.RangeBand: Double] = [:] @@ -36,6 +39,10 @@ final class TrendsModel: ObservableObject { /// The whole calendar day, for a one-day period: drawn as the same timeline as Now's Today so far. var day: DayHistory? var dayTargets: [TargetBand] = [] + /// What the basal schedule delivers over the same days the split averages. + var scheduledBasal: Double? + /// The median insulin by this time of day over the last 14 days, when the period ends now. + var typicalByNow: (typical: TypicalInsulinDelivery, at: Date)? /// The days per-day figures divide by: insulin's averaging days, or complete days with CGM data when there is /// no insulin (today only when no complete day has any), never the period length. @@ -102,12 +109,15 @@ final class TrendsModel: ObservableObject { history = history.clipped(to: interval) } - summary.glucose = history.glucose - summary.stats = LoopHistoryMath.glucoseStats(history.glucose) - summary.cgmActive = LoopHistoryMath.cgmActiveFraction(history.glucose, over: interval) - summary.timeInRange = LoopHistoryMath.timeInRange(history.glucose) - summary.agp = LoopHistoryMath.agp(history.glucose) - summary.agpDays = LoopHistoryMath.daysWithReadings(history.glucose) + let cgm = history.glucose.filter { !$0.userEntered } + summary.glucose = cgm + summary.stats = LoopHistoryMath.glucoseStats(cgm) + summary.cgmActive = LoopHistoryMath.cgmActiveFraction(cgm, over: interval) + summary.timeInRange = LoopHistoryMath.timeInRange(cgm) + summary.agp = LoopHistoryMath.agp(cgm) + summary.agpDays = LoopHistoryMath.daysWithReadings(cgm) + summary.cgmCoveredDays = LoopHistoryMath.cgmCoveredDays(cgm, in: interval, + periodDays: LoopHistoryMath.days(in: interval).count) let calendar = Calendar.current summary.totals = LoopHistoryMath.days(in: interval).map { day in @@ -136,6 +146,20 @@ final class TrendsModel: ObservableObject { summary.automaticBoluses = boluses.filter(\.automatic).count summary.loopCoverageStart = coverageStart + // Days the stored profile history doesn't reach (older ones, read from Health) use today's schedule. + let spans = Dictionary(uniqueKeysWithValues: LoopHistoryMath.days(in: interval).map { ($0.start, $0) }) + let perDay = provider.scheduledBasalPerDay + let scheduled = insulinDays.compactMap { day -> Double? in + guard let span = spans[day.day] else { return nil } + return LoopHistoryMath.scheduledUnits(history.scheduledBasal, over: span) ?? perDay.map { $0 * span.duration / 86400 } + } + if !scheduled.isEmpty, scheduled.count == insulinDays.count { + summary.scheduledBasal = scheduled.reduce(0, +) / Double(scheduled.count) + } + if interval.end.timeIntervalSinceNow > -300 { + summary.typicalByNow = await provider.typicalInsulinByNow() + } + summary.loopSpans = LoopHistoryMath.loopModeSpans(interval: interval, runs: runs, modeChanges: LoopModeHistory.shared.changes, coverageStart: coverageStart) return summary @@ -352,9 +376,7 @@ struct TrendsView: View { } else { TimeInRangeView(fractions: s.timeInRange, unit: s.unit) } - Text(String(format: NSLocalizedString("Aim: over 70%% in range, under 4%% low.", comment: "Trends Time in range card footnote: the consensus targets for time in range and time low"))) - .font(LoopDesign.Typeface.footnote) - .foregroundStyle(P.inkMuted) + Footnote(String(format: NSLocalizedString("Aim: over 70%% in range; under 25%% above and 4%% below; under 5%% very high and 1%% very low; CGM active over 70%%.", comment: "Trends Time in range card footnote: the consensus targets for time in range, above and below range, very high, very low and CGM wear"))) } if s.day == nil { patternCard(s) @@ -368,7 +390,8 @@ struct TrendsView: View { : NSLocalizedString("average per day", comment: "Trends Basal and bolus card subtitle when the figures are averaged per day over the period")) } if s.split.total > 0 { - InsulinSplitView(split: s.split, partial: s.splitIsPartial) + InsulinSplitView(split: s.split, partial: s.splitIsPartial, scheduledBasal: s.scheduledBasal, + usual: s.splitIsPartial ? usualByNow(s) : nil) } else { ChartPlaceholder(message: NSLocalizedString("No insulin recorded in this period", comment: "Trends Insulin per day chart placeholder when no insulin was delivered in the period"), height: 80) } @@ -386,6 +409,9 @@ struct TrendsView: View { path.append(.day(day)) } ChartLegend(items: insulinLegend(s)) + if let today = todaySoFar(s) { + Footnote(today) + } } } LoopCard { @@ -396,9 +422,7 @@ struct TrendsView: View { } LoopModeBarView(spans: s.loopSpans) if let note = coverageNote(s) { - Text(note) - .font(LoopDesign.Typeface.footnote) - .foregroundStyle(P.inkMuted) + Footnote(note) } } } else if let error = model.loadError { @@ -445,11 +469,39 @@ struct TrendsView: View { } .foregroundStyle(P.accentInk) } + if let covered = s.cgmCoveredDays { + Footnote(String(format: NSLocalizedString("CGM data covers %1$@.", comment: "Trends Summary note when glucose readings start partway through the period. (1: days covered, e.g. 5 of 14 days)"), + daysOf(covered, s.totals.count))) + } StatGridView(tiles: model.tiles(s)) .opacity(model.loading ? 0.5 : 1) + if s.stats != nil { + Footnote(String(format: NSLocalizedString("Aim: average under %1$@ %2$@, GMI under 7%%, CV 36%% or less.", comment: "Trends Summary footnote: the consensus targets for average glucose, GMI and glucose variability (CV). (1: glucose value, 2: glucose unit)"), + s.unit.isMmol ? LoopFormat.number(8.6, decimals: 1) : "154", s.unit.unitName)) + } } } + /// "5 of 14 days". + private func daysOf(_ count: Int, _ total: Int) -> String { + let days = String.localizedStringWithFormat(NSLocalizedString("%lld days", comment: "A number of days, e.g. a Trends period or how many days are averaged. (1: number of days)"), total) + return String(format: NSLocalizedString("%1$@ of %2$@", comment: "Trends: how many days of the period are averaged. (1: days averaged, a number; 2: days in the period, e.g. 14 days)"), LoopFormat.number(Double(count), decimals: 0), days) + } + + /// "Usually 28.4 U by 19:46": today's insulin against the last 14 days at the same time. + private func usualByNow(_ s: TrendsModel.Summary) -> String? { + guard let usual = s.typicalByNow else { return nil } + return String(format: NSLocalizedString("Usually %1$@ by %2$@", comment: "Trends: the median insulin delivered by this time of day over the last 14 days. (1: units, e.g. 28.4 U, 2: time of day)"), + LoopFormat.totalUnits(usual.typical.median), LoopFormat.time(usual.at)) + } + + /// Today's bar is still growing, so say where it stands against a usual day. + private func todaySoFar(_ s: TrendsModel.Summary) -> String? { + guard let today = s.totals.last, !today.isComplete, today.total > 0, let usual = s.typicalByNow else { return nil } + return String(format: NSLocalizedString("Today so far %1$@, usually %2$@ by %3$@.", comment: "Trends Insulin per day footnote: today's insulin so far against the median by this time of day over the last 14 days. (1: today's units, 2: usual units, 3: time of day)"), + LoopFormat.totalUnits(today.total), LoopFormat.totalUnits(usual.typical.median), LoopFormat.time(usual.at)) + } + private func export(_ make: () throws -> URL) { do { exportURL = try make() @@ -494,6 +546,22 @@ struct ShareSheet: UIViewControllerRepresentable { func updateUIViewController(_ controller: UIActivityViewController, context: Context) {} } +/// A card's quiet closing line: a target, a caveat or a comparison. +private struct Footnote: View { + let text: String + + init(_ text: String) { + self.text = text + } + + var body: some View { + Text(text) + .font(LoopDesign.Typeface.footnote) + .foregroundStyle(P.inkMuted) + .fixedSize(horizontal: false, vertical: true) + } +} + // MARK: - PDF report /// The Trends cards laid out for paper. diff --git a/LoopTests/Models/LoopHistoryMathTests.swift b/LoopTests/Models/LoopHistoryMathTests.swift index 7975c4958f..4c4628ca36 100644 --- a/LoopTests/Models/LoopHistoryMathTests.swift +++ b/LoopTests/Models/LoopHistoryMathTests.swift @@ -123,6 +123,22 @@ class LoopHistoryMathTests: XCTestCase { XCTAssertNil(LoopHistoryMath.glucoseStats([points[0]])) } + func testCGMCoverageNotedOnlyWhenReadingsStartLate() { + let interval = DateInterval(start: at(0), end: at(14 * 1440)) + let late = [GlucosePoint(date: at(9 * 1440), mgdl: 120), GlucosePoint(date: at(10 * 1440), mgdl: 130)] + XCTAssertEqual(LoopHistoryMath.cgmCoveredDays(late, in: interval, periodDays: 14), 5) + // Within a day of the full period, or a one-day period, says nothing. + XCTAssertNil(LoopHistoryMath.cgmCoveredDays([GlucosePoint(date: at(600), mgdl: 120)], in: interval, periodDays: 14)) + XCTAssertNil(LoopHistoryMath.cgmCoveredDays(late, in: DateInterval(start: at(0), end: at(1440)), periodDays: 1)) + XCTAssertNil(LoopHistoryMath.cgmCoveredDays([], in: interval, periodDays: 14)) + } + + func testScheduledUnitsNeedTheWholeSpanCovered() { + let points = [ScheduledBasalPoint(start: at(0), end: at(120), rate: 1.0), ScheduledBasalPoint(start: at(120), end: at(240), rate: 0.5)] + XCTAssertEqual(try XCTUnwrap(LoopHistoryMath.scheduledUnits(points, over: DateInterval(start: at(60), end: at(180)))), 1.5, accuracy: 1e-9) + XCTAssertNil(LoopHistoryMath.scheduledUnits(points, over: DateInterval(start: at(60), end: at(360)))) + } + func testPercentileInterpolates() { XCTAssertEqual(LoopHistoryMath.percentile([1, 2, 3, 4, 5], 0.5), 3) XCTAssertEqual(LoopHistoryMath.percentile([1, 2, 3, 4], 0.5), 2.5)

      pytqwR(XWmI_{KtNU4L71+>oDSY-{`>#1dz9L|FiV-mX5OYDl1t6$b z{3EEY<4DXBHq^(dMus0wvIuIe@tj~L$ycUZgiu~k>bA!RDgX`?uWciT4IOHXrkT=a zAk9XwvMmrM%zy_W%t4&04oe4Xo+UGtxgk|y3i6$jiSh*9d!>F0CsA}5;8LMrzyLSc z1lLlP(WE4?Y%I=N4fXfZa(t%*dMf5IA5?aLZ?xTrEr_oIw+kU3r#eA=%Q<+>`x%nJ zh`Z|H6p+rtCK4eglMtZ@Ab-@R6glCdPW~d%*i0CuKno$M>A5@O=qZvhvy-DT`Azge zKv~Jm<0n&{6?IJF#a<;axnxZnfcz#w!v$R2gvt4)e3%p|aWIVy{3|95(-7a26S6-F z_}CDsQF!9#WZ|23L&=%o)a^0i2{^<9bpnf`lDHrXM*W zj~a1e*xi8BAm4<8pcx3=2T02fXGs+Edw1>})E*Pb66A0e5&<*q-=l})CirdE9}JRl zF z1y76Vt)P_t-OW->8vskB&LIu5UG;w}wG&Ax&jeUdr1nfA7D%0h!#M33 zW_!<@9SqbHg5ZF~V?X4-vHNVq4lQzf1Av)Rqye1d&MT}l{@H453M)<=1kRsD6TNf4 z758^?`;)h9MS%HJo8+zZRfsmu-Y-T^9T?DlGqq%~!m$=WDMSN?mTn8i$g(RvY}l}H zS-31#7Asdc-N*T4__K%K`^_(X^;iGXm%jGR?>=~K#cE5tQLAw?YcT@7=%-bn(&(Ii zgldS$N}<8@tR5%aGl{Er!5k(S2Cmr;EP7He0~Qpan3Vm1%D#lm(_(dE@Ef>&9ZHIa zIEP=w(P?48^GINSt_?q3G&w{7QvJj)NFbuIub?Iz^g&ehG0Wh8YXi?fTu6yDnc*Yf zaujdUdaB!XI7*c;0o@{wXLB7@raZzeYpM(=RKlK`gxGh2Pce=MnMkm+_<~l_+{;}0f5!Yf_nKU&>S}_Lu)g(zkgvtq&Du#n-TpxMQ z=Wq}<$8aX5DNej~E_2AH@B?{M0-GPq!W2bAIS7&nEz8cbo(`67b+51y5Xx4$j3PPs zJt^ZlXfvE{ECmV8tfA?9(D1el5U?G)K>akPT-;f1klWh$-FZFZH@gOeVJA$6LYxrK zY~CU&nA3r0qe_ULG#ok&#zoslJq?ho0%?^pU99@{*fbj)H=-Je)h@w+*h~f;?)DPi z4ezE2+^O&xh@KR`>aRaC?;{1ww_plXOB0FK29!82lyK$2x(Nf?nC5bGfhyLI+qB1_ zj&IZLmQA#*j*jBL*@-~t!e$Jie>3#_sP1QU$aZKjXkTY*?F6or>XLTCmQffPhiKf5)S@&=Tzx+Yaf{yn$P*w(6JWQ{ z+IFsB6%HMWQ|&luEU#u2tOX%3BI$i_i|$_=sQ!b+E&^R7K>OKS7F=;oAl{n;scJay zN4gED*#nm0p(%X>Fyug192mNo6A z{onnUKl#sJ`Sb65_qBE9l`UwQ)f-#9g;k;&Dtg7=ul^=(_PpUf`0pSfPXZn#dlM9e zR$i`l)={BxAgGx-q96rP=ZrD?w}3U+j15&-4wY^qVxDP%z-RzwF^_8Hb9GTk_b6yd0B%ib)QGz1x-vDkvk-yBDB16fEO`;#0RZL+%kM5B=LQ%adCzAdm2zrxV4{ARaGbUerQv*nhp)u*NDrhSw|w)WDM`}&EWLqlA-HF0 z6)C;d^*#ax%-S6$*!7@ z?=*DGZz=a~V(y6MOwzZL%o3AmT0FJtyT%Sqib6toItaOH|y!%`Pmnq z{Mbv+e)v7_dgkfJ@8HhO#!KDIz_L}V7c^^c-AG#9SXbM&zQ2e6;)PG7i)pG*?E zsUX?8a&x(vDs<*<%0FY0Jj{l~sa`*n679t0vYQP%E~u1O*iUnid~~IZidH%6rvNcaxJ+pQioZk{i zr==!=u*r15XelssIS|le1p10#=`BGyp)9T-vU0+5;t4bmcgk{aIh)mQzxwL$f8!g! z`UijXg)e^N2d_N5T9$J;@lv;~8-9M?v}@v8FXv zs_l~my1i=IJ*`dLZxHalaiAi~B-V6+_ z)Izw3fOcRa=%xUiRHaju2Jtk~HFhd?yjsn9lM?DwtKH%N_UIZ#uItY5k?m0@|-jpl$h3Moy6&a>qx~8oX-@V)MjZ?m~Qj2w#z6B7tVx2DEzI zO|FQ9){5b6)|k(8d7E4plVVBsXp%FHG?KR|iX1k1^XHvW3Nus5x%lig^GsGYv+Ujy zmETh`dPP_XO!Lkun~%D&(Y`xGJ4{(}Sy_|_Nc(Y3#-HYmmIf!QEy_le8xjM=9~dlD z3D7ixQMoZ;Q+62jPRHJ#AeWQ4rTjaLk&rrZH3JpH5hi8?7xAYH2D5r69KDJJ6(Z0O z@Q7rhgh!&``D15PqD&I5|By12p!<&o07C^dzU4wI*kCtxy?g)s6CZrr$KLncOK*MK z({Fl{S-IY}3${8G&DH7#R^#eOAJ%Gh?RmXT@!zt&xY1eu{iMtlNdKQ|v$K_nn3xy# z@>7U28T%rWoaJ$OZ<*0}w}A6fe=b8MW0C2fu%iVH51Fv2`_=E3!^Vh%h<^S+| zU;p-ZUOl6n%7Tqt`!;};ExXQ*!i^$IkpQ(g3^POZ`W{A+=8uf96b~HtSfz=tfO!=l z>LAlQN)uZd`9s>BBiU02-6i@2fhUYz1WYzc4jYdnpd#7UyrL@p;;QgX5`4D(yD|%2 zaz>0_Ej1n?t_%@KB@a7#H@I=aQEJsH5ce@50$G)QgA8<>;-c~}a2B5jRBuY)aY1j$ z72%`2RF%1;B(DXLhbhU_8jVf3zM;eAJjmFeIjKf6RXt=?q|yU-i;y<9XKVwiKkUOO zG8y$m@rJCrFpxWN{yb^7{6k59XNrd#(`xr4o6MGT#Dr+k<&Dk7p+$aN681x+{Qb2T zZvaf3;93+RBQ3NRSMS60?oWFkj9kWk8c=A0aXwfA^;+yKr$HU% zy_PFd*!u#{{Eb&BTgVEvJY@D52h}KAI_$HrprRti^_Q(K0u%`?`c8W5lmS=1sL*m0 z;<7FERfA4bAhek&SS|qKF*lHdO5YqL*eUV?G{iSfrtp+N&j$!GwK&mbxsmuwX`>k| zq%p}sqk+M43IasqBxL9)w@@T5q5XskQXI%om#K{yuEOQ0g2ONEVa9!?fY23%jX7(3 zQd&SyiUdV3}0^uN8JQGjE!FI+hSM>N*4mP z2B7_{H&k2f$)_Iu@CV-Z)9-)rxu>34PUj2j#_h(oYTIV4uxhoUV?A4yzj;eQR@5zG zdOO{J>!rWY4Unw87CnGo#s0tHUgciELMHC2x$@Vq;_R>E)Bqe!^>IrBFya3un#s(+ zNi3Zs251`oCfliy_IrTjA7Fy@PEA5W_w2w$ zuqhnPS39`PGm*B~mXO^DmFdCyLZMlH*cK~&PsXnPZ|TCP#tF584ht&9(DKDjz+$Ju zzBD*lxx#WTW!cKNAHMuA|KN+i{yTs2jclWEn? z$QXXSFxGBUY7cLp%@KXVksLW{juc;|O;N-Sf1&BHDeOJa{IRSf(g#+GkIZ_#oGs-= zwWNZmN+2LbNEUgwn1N{yPh(47VX%>Gver`9_B!d-_rL#n9x8jRY>xPqDTv@?um`3nIoVzRC|k(}%efHMm-Q-Yb46TYmO zaXof>MjSpysOX5J*bqitBm!}0I^CiE#}1!r)2u(wr&9T!+A=lNinBzR`}1TeCINbD zAgv~$K5~dYa%a2HReQgJL_3oSK0CFryQq`YOqdBss$`Sw0%-v_Ey}qIYoqB>Qpc&G ze9KOM>FiA17bLY)g%WJl+*f!g$ zUDlxZ+o1Tzq#v+JQ#^1VJ~iP z0CpcP>6?>DfK2WZCAJ-#b8Ob%AL}YLhea8=JXlc3WuBcayXEik>LA}ydv!0kM~BXW zN85dLZUB%5KJ!v@26pTNOY9hI7kM<3kQLLuUF_aFlu&P(+YQ`C`;8ZLGAu042y!7% zLDvf{gEh2RDYh7KGTi0qk>&KA`tomo<*UE>g+KlBpMLx0?_ZEYBk%;wo&ER zuHNZEdDX%y;K+Xs7O2k28m0oyw9x)QOdbH=^oAuMk_XfbKn;&_a%dX=Vhp+%zjkSa z6u$YU%Bnl2oB_Gd7(;b5@zO*FvFVj0e1wecl0k@vTK5SE%w#Fl0WOrc4=tOAvK}^r z|EF#|lX()gMIW6BGdvv-s@cga!L*}JNkn?kV6sB#JT8eJQs%%uGmbmCFsJgii^yfq zX>v3N00+8bWghm7N?xARgql?ZhM5%Vfvpr%%M>k?&rxBZ2{80%G*pmHA3pGnK1Qud zv?-_c@WJ4D)q@tJUr;+I81BFLS;2rZ`4+q||m=CJ#ZP z%%T7~ZUB&OtqC`;L9fGOPEq9*cqDM2@%K1UbXBb2hS~<8U>Rut6L2caQf$GcZkzGRr>wYT~n$dG3V}`Yt<}?x5 zyK?8WUYD055{HNI+hF)h>5j4?Kwu31dXegh?Ag6#5TEO5&dwVu#R|$1P8%Fdz|!zA z!FDkONe}5Uha7mUC_0cH#xPA4K!6lmD611Pnm>5y83Lsk5P@P#+W;&B7~0!yL$LxY zC&N;g0=rk1`{nKfyZq5N{`}wk?jQc%m;dbB-+E9g&!-bNs~c^DZRFMl{B3bYaG2q{ zZ+JY^N3Z}ZQG1Qvqb4G0m{!xY9z?f9a?CX7kWLOyf^r*2i&-OLOxf$CpeM*!3WudX zU_Jw7D4lW*U3k|kQJ*tGi5afv0;RA^El&T;oWv-hw5)um2~ZXlN8|oi=Rn(DNN&D zV5Zx1PO-$nP+S%KS;a{mMMZ*9eg%GHkBhhEV~eIbwE-H(pfs;IaWH{iL|i_)Y~87- ze?`Xp`@Z^c>J(x3p&Cuil6Dm&51^m z*N1U3F|FR2SDd;_5@)`t@kp*GE$jKzO4hQ+L)6ySt%Dp+izZR9(id;GH>ea}aqeg2uJ zo;un2;kvz!n-wdYnjiII+s3+eWq*hHw18gM`Sg)LT)9xa)~{ZUsnb_5gZq5KBlNuS z;1@|3Q$w_7X=bvI3$U44Lp#j;N`I!=7_*sHmGp;8K~*hV2w_G1a+I=rWbU18vI5W> z?JM|~^&K34IUH5Q-WEX43XN+HtpMb65O)qm=NR2 zQS+Qr;SiUG3PodvjwYm7iw$n&eqRW9j#z2fQ1j&gis25g9$Bsm?7OeL_S;|ilYjHO zfAF7w{~N5ly1L?OT-)7cU|R_E;MefW_fW8I4-)LXyM(S+6Q+sV-Kbcg5)~Aehiu0b5%`?(c1>igknw5ltI7L#b=+Lvo5Hg(_1?*P#B5NOk zuEr~)e3ir?lJ_V~6EZ*^Um@0}f~8R>fHX2wR6(>cYII2Eizy)?LVkqmB+3&%jd&=Q zq1C338x25SDP_HfTw~N^XG^#gzZoHFwvb{VRDRMOr3F$l2WJ+nYG>g#^&aO=%#s2=^fq{gGWT&X_WJ7)3{fVPqI^PsRpdgm(F6u0$LdyDnj| z#Wt8NeD=8~Kl@Yf{pdTNefmvLnk|=&8@JWA73&4HDf?GP`fzh=uPA?78(J*_r z{U;4C1JYiZ(%c?8bVE{~LO*Q=YN~USnHPrdFR>ul)0DoMJJf`v z(HoK=t6RS@=Wt!f_$nO?6NS5)6+NF4R(h@iOtCHT=uh6D5waFOT~LOi5GGPaz^6ksTsCg3+#AcjF>P|pR zXtwcIQR{SC(rry|S(ZlY+!;X2VAdfpP-N1p(w1JZ$M`%M!D;Fc-7BXgJIdrQYqC&u zo{Xev*?~CBhM0Q}WYKkeheLZ8rfrHEEPbHPyqgL5{)?Z57(r~3Vj~^O*)BI@7BbWn zvXn)nzo@*0J1;@{zK{(foC9B{6kJ*(B-3Y&zQ*xj zgG@7$T3tLY6IChY1&u2qb%jhcE(jDi)~oYl}+ijSzLrQARlwa2!@H&cHGL94hM)Sm$I5QO9l)gJBA4 zNL+Ev`%w61+N8oA0s;OM?(1z0z}f=5Rt~Z! zny=5~X;O>>E1Re;Yq&1ISC3Y(XL>f~+P)ei=w(q573AbjvIfMJu ze;Jm569!1M|Nc^JX_n$EJKe+ivR;1c&%g4oe)A81?@M33er+qn8H=&$g8Eh7_lZsJ zKd_;Ubm3qJwFUr;+oS)cSs4%^dTU{G>Ts_Sh8tMj`q?Tl-*V|Ub0$)cG4|qFfc!C% zq3L*%lfo}20cToG+)QPTGFes6lc&2-aW|N(7B*puCpU8P?oi65un!|ufXFNyQv@YN(Vr4OvS>M% zB}vIb=3w>dAY^V%bQg77Bx9yH=6%M*9gY}yVaK?wJeIdHgvnLzw2t!r#XRkE%#eNh z$Q0S68V}Jvx!kBAc>u($AXqL5?u#}|sfBZ~ra(2=LEK9ObtPN_x?*4H{>lKDA~Val z%d+Dh@?TZtGiXtBhH8<#ixDN1c9OspK`qH{K&4s?CRl~d6rjc-kmlQa&AfGFl0_mU z^g~@!Wsyf!5DG)LqgUG-UVTi0pu9OsS42>8CFNY<7~#91MF0(o93{q>X1r9WcAp9< zHO%SAnhq+CAwTq?rjr~X5TT&DuJIhSGFo}*wK1h72!2>LMg1ZmBjPHmatc<+ra0lA zkC=J@-!u3OqigO%bJ_$v<8ONH&~-l1eiVaN{1DkvaWRrvLlU{R$7iZQ3+n1oMvdm# zS^fd~?0rY+Ilt@1b>ZVr-F@kWw|?fMFMRO1ciqRM4{N<M&*&}@f}7#T%{cfk;aYlK$1ayXXUG4^vdf*OLoqwp(2JsD#|E9HQ&$iZoS zK56zT1G*fq$XRcL)Mo6SpuNgE*kVAJlS;U=a3xrtu}}MkNn?b0$6hdAvCK3Nl1bi( z;i+ZOVKqMP22D!Zu_R#Pk`W3s!iO=&Hi?y+2Th~TjZOdL4~j=AWT+RV4Fn<)Jp+Wx z5s&x~B&Zn#A->Lo0wOZLV`mwgfl^Qmg(zrV;j&n1%&meD3oR^*Ej?Ah%2Jn;ogZKB z8tgaz=#PHocmCk_zx-#f{NQ>qoXb+TA=eQrur~mslpnwD?%^Q>avo?m28_vYXN(3I zw7Uo#{9ox0GI|t1yY;Gi1N!En7co`TK(#;E`r%xClr9wzIo*nYV1UP1R7R{~MP+qQ za62C%yD3u2CEt^K5|OJ;E0gYQzzf?87m;1}N7xiMMSc1tW2OLT1gIJ!D4EAfv@O(o zH@2GQYDZ!C)#XPDxvO(3`If2nJ*`ASeC4lXTxyml6|T9!v=E8XA%)6g z`npVe24zUdsDC&&kQWYv4oTC*18W|D&vl!x1sj69^h(K^4zIdDi~KzGR!HBN+K_OayjSY)iWV38W433We%&V2|TOmJrj2b}T8PA_t83H`0=8#80cKz=iA# zq`!hFYdr3PDn1tz!K_L`azhsBB#?(4lsn%MBQ}{ugs@AsDZ7VGKwN55m+vv|^WoXh z%U|k(X-tEx9iG}OHPna4Sh`gx(@fbz5N4-28>z7?+q#Fz{GP-+0%SGBK;45yU}5)* zeVL3Z5N$9MfFCklhR~RrQGfUZpdclu`1giEr~B~E!Qe<0|eC-A&QsIuEs(Do2DP7TUm(h6|20LY>s^)E ziy+x<#^o<7>EvgM>t5}zw;Yk{)6BAFJJoVAHBTbbUvS0H`_=St7L_3 zEi|C(IN(i@rP2m3|q!A0L##=?VAV5%PDuO=>i+k*uHqc&hF`ph8 zPA4LLjq}UV*O@Vj`M97}Rv8sTQ9a%<4=J(;j!l8x-rggJIq&jZHC;jSwi9dBs8h>P zXi*VK(QT_ufr1y^@QWkQRusz`M^9FI z23|j--jbbE-lXh}oOE2_Y!20<$Ss(7P!==;B;pY{C_pyjJ@X8vncn4y%kZXYd!@T# z&T9^>@1W{A9+7@T>>VrCAv=+Wv{T%Dz8*7xkgThmhw2b;#lNUQqq`8&zz+E}4u+zG z2+WX9-KmYd-JIi~(|v75~G!=50f05`9-wR9j&QNyM-j2-CB}d?3dyLNFI+MpOCweKuq~<}^%LiuKZL#u?gsJMD8Gt#b( zoj~;+98HLyV%!-+5!O-BYx1O|xQrcQ-)nig@iKwEyMQJs8lpza~S*u=IEn-G{ z)Zsr3Ic_v389U3oDpnO~BM>p^)O_8Z?`TgDl3NZ)vRI{5iOAq!)|y6J1|}z?rSxQ# zGpV{E69`}e(BouqP1>FmXw)^>CfaQS^o+{!!)XqyI85#o2bR~uQXK3}&nX$Ny0wjFZMA8-BQC3EAC#lVH!GoU;=k`7QHs^t( zPRpQ8A{4XQ611e~!7*rj;;SggSLPqSg`;I7y5fG-^#w3rll@jG9Mb!FpqKbRCMZc6 z{v7*81G~k+KF;M9YgpFn&qet@%u8gKmKL;Q zLzamAvy)f>1bPEQ7dlf9AS-6<77RFg$3iqQy#{JZshAd|0f=6K3cYY%SKk7bF2u9q zj^RcKWq5_#HedlxR!(+0;j|d;*!dpsTp3=ue()<_{xARX-+l2bU;hhoDX_YsYz39r z*l*x1c>m@Z!yN}S9&vS~1=mrISGZQ1o3P^Ok;C$DlfYo41mfWtrci0DJ6EZ57Y2nf zX3#$49h;S!vRLz`-&X|k;7^)BiJ2Mu$*2H)Azu@MMRtJk0`snDpPV7$G)IMswPcF( zO4gQnF`w2J(|w-CkUsX8v8_NnU=w^V%-N9*=FI%v$wCHnM|%=kmJd`Wim*CDf-{|s zNk@c<&YVUjNvsj$Ji6u~<7g)7Ii_d9s3C!A4lOGXUDWvW5N)yEXN-uaLjqVJiP|v{ zB9Uwt8l@WZV%3>T!W*Y4%RE#M%74>+x-DNYpj3p3{D@VBlL8I)RsWh*(9%pPlYucT+L&kRQnm z(t*848e4|EM?KHEdl8YZ=x?&?HR5xXQ5GYWA*MWv-45M#u%k?U&kU|k5)S1{0j|l; zhm%I}NldRN!%#+2rZd;`)*By7- zX74hG&Km_`4=^K3N!u~8b_{pzI2c^=h%WCLM9#>dYq?!2{U4wnbJ&01jTZTxmXU^D z?yGsAZvYnHR8Vl)Dwq1q+aLewPrUf~5B}I&?mqE=8|${!dQ&bp*jnAcaSKOpqDQSj>QX%YU z7xThFotB=6hk zn0W1l@e*Gm%6!0~E*8Ux6mKtp3g`Ofncvs|_%y3y;@Vxl7=W@gkZ&vf*}cLAqX)op zva(n?^K`|lla(`0kCgK2<+cCucfar}zxBnheDizTw%l2+mb!4QAh{XVu?-l>0Nlg_ z(9X3Q9RllEw08r5u?cDj^bZ-=JO>o7j-y=KVpbdb*imj%qULET&~EIYNZ1UsFH3(~ zceGJx&>5}ZI8CZbeZ?ed*gNy-N{nJ|7jmJ&P>`C=d1a70-$kNEH`f#))zU+x#uPD1 zvBNVwf^g|0pl3+LvgTq@8UUf;c?IUNPo3RC`F=8DE54MZcg6fo=KsurXdJpRD<=F8 z@8d-1lZfXkaJB^ah-loH!$+kQjUuMNWlNh!?&Soe@APZ!>_|$-H2i>&pAO8*vJ~J{ z%F?RQt!}Kfa%&%r^gv*2w**c?HG6n^fV5QB!@7%2@-xSlBXK2CS2a-S{?rACN8a<< zZh}p@OiBULVJ@g~MmVM+&9>`IcLy~AEXF3>J=J`%j45A04EjoSppJ{fqa{f(pEn2X7@sX?@T$w)I&;RxwSxZ8N;c6rv>0w(e7 z^7Ku{3mHXZj-J=|Jr52^l+T@{&*lI>rlm^K;c^a8%gS6)4eAeDhko+z#gU$ph(JV` zw^t2aX-@$_sD7^36}oTj_j^%2LTZ5nJUXuF0wrN7+!G@1kM>|B_4aQlGJ2ipKj!z6 z-8*WBqHBTJ01W6SVOU!J*C;NF*@Ci^%T_P6x4-MLkACpE&wT7X&pr0mZNmdxHmvO+ zyTP_vU9E1ctF6)iG@XxCW7`JA8h_Bn`=dXB`VzN?DWf`ad3EwmaPsU}o_uka;L80N z#CFa>wE?7H-n<+b#{xAqbe>sF6dmqo`m~u;oIVqHv@QEfXz%lY@pz%Sb0EBdUMMwQ z;E}dy=O94R+#e)3avHANq_3Ej_j@zY48PXjpY=kMs;I;r9__}Y6oLg5Sn<7>;^oKR zVjAIlR%2M|kd#hP3t%Fz%X-f}gc18O_KtA34jl^Axj+lbVmOs$F`R8VaXE1*SQc9r zmistAzMQ`N>UaM6@BF7<`@KK>#gilgwviXw#?b(nk*sV8(bxdA-*lX4yTz-4 zgEVTxIneI>Dl3H^1UB9T1>;sqcqr4Z!0+5{M^*_)LfDu?Lfw@sqkYMpf(!&w5SR?C zuxIsTxtGk|nc#S^g!2);h~->ZpQZ}LPxjE_u%+dptp9g{$}?DxR%?=M%w?DzjKG0@Vn$F&8Iv zT5*nDvy@F3qUd5Mr&C#$<#g}r?juIrTprZRb*<~Rt(6s|yEMq^kVfSN2>e|iV>>cu ze!J^L*~!%S%(P3zdM}(FdCzCTSsN16i~}rE%s?XAY07iYS=>62j;Y6Fe6cKfI#d+R zj3?ROnTJ#n8sO?q+#E?YnR{a6KyO9Z3&b!LXqLH6VONj@C~GmU*q|#}P;y&Ae0ekc~4)@)FX+Jo;C8;n-`OCj(uWq66+D z4X|oyd#qiWhhm0%GJkgX57d$SC8-*a15sr0w-5f&)bZ|oaMfV=^u1EgJ-~1pjGlgk za}g>CNG@Kt?Y4o`=oSJ8WW53CmIE$hc~xv^{Ui6cHytNj$eT-j>$@KN*-yUrGe7at zTONJ#hPd8Va$Cz~Mcs_6Z5M8uPl+H>+&+-_ZaJBb9i@JVyd5>7hR8MZU{4 zeb=enoXwL@NO`g!P&7k{Usoszzl&srZbu0%nl!=J0(so zxM{~bM8m0w*;Upb}GQhaI$5wa(Sm(su6f>DjeF8itDZ*qv?14;&_F60E(3n zBAn`cD22c#b-Zby&4@)!@J!5wq3!*DX@~`hP-VIbt)}406n#$1W_wHAHQ9YCx?{?s z0@LC&Cx@yW*A$v)5geV`{v<3{V{1l%dy?d^S(G?~6Mkm8`O@AXMZ=7Jq~ys1r7Wj& zIp2Bbvp@P*|LW&ozkc}N|FeJb+V{S_T^_9K#p>4i7f3FbF%M7tGbg7e{-?ZR&CSkzh#di}wGEMaUy!kf88e5^hBRH7 ziaxKm`ca~)F-u2DPL#4(EeT+CRBT2Abz+nN16f;>+87DZv)jKp9L(fkNpa|$NFfE> zqV`WibL>CWTz`)dKjd5DPPiDo1sN%C>MsQBpcuy+nMINtImzL=T1Q6-dFm!-HF9** zS!Oq^75!)-?3^7QN}P{86;BlTj{OD;B^Yo zzw~VYF-o!^`j>76ZiT~w;Q;Q9L^Zo?+mmm-|Cyh9@n_!m(pw*Y5_WoZU2m{%*apad z^9EqEtp)mS#tUjQ{t~RL71_mS5&Fuxyw&QTOvcSN@?k?M=dKAq&1qcv3 zhj9P{lMO(91d?7VAwZ^!y<|HkjoHMdDJVVZcxpwC^Nc5)07WvF%X1#)5$s?@F0K0E zgdZOMx=#P!{gF&MR*Iv3za%xY&CKDt?PjPA(42IKy3iIId-l4YQ7skkj8au#gd1%gLB2YzJpJ4}_M!?$tMT=dSJo9KY)8$m=t+LRP~@Td)?x zX4s4;TZSixr?wohx}g@}n(N*5{K(z=f8~Q8{J^vC`d@$l_kQKyfAKrtdi`p-0?-P2 zRIm~SUGr06TZ3%SMSBKX1xkNU1!Q}u1sJ+)ny~0}JXRd>6XI$ylW*5Cu0$$=;M~4481YYRZ+UJZ9=<}a=V6LzYH{F4E+0-EaTE; z1m39=cSdgcNQn}2!BR@vE!vE~)T9#eny7I+Vh9v@Z?Pvz08PxirucHgujJgF52p{q z*{s~EbhnI&b-0cNQNU?hpUMB?NtpQp=_0A5M1#lvCUIdU;g=DsCL2Q zIR7#>$psYqFAG}ES8ozZX=FiL%!;jM7u2Vpy8E#Yzx(Gt`u?{(`ovoB+RBX&H`JAD zMcq&fH?X_hOXOwJB23bPIbrpBIcG%KbuYc*~?>_{Vs}>Zt zbv++ySmjt@AWG|9olrasg{_9KGC)I0jS7~XXhGZ1KCx6ps2j${j&EodUW9x?e>fW4 z&fwhpMN^{Dw*-=U%#?4*Cc;iGZ28J(NO3l48uE_^z@K z38D&#`-TCt9CzS20cIjQom9`Peurw*;U5>{d}fWYdW#GsOYyg^$G8jYGo^AE1bpc= zm$cB_iD9Jp6YQHVm}ATur}Pliv~M*oX4y$hB+`SBaC7)L9?%X^{fBmul`HxgmciC zhG}}U=T5*f@g=uqI#iv0nm%)30>-JmJFm2m#9#U(NJ(%pBQCPIPz}g#u84L&mu`1T zK^qCSGcMDr85}Z2kPSVL#&Ze!nUb~yiLRs=QQ$%bg_@?=Rzo0Uh96Ykr1!PI98OqMhw0P*Mz}OtgZ+ko- z6XzEWs0lV2koe?7T8MPH7HM~V`cYi#Kfbk*$Qw3dr}PZjK|FWcDnQ6TJqQdA^&e=U zVr4010hY3|UTk~fE$5H^_`5#;@%KOf_%pB9`Z_KH?O8j-bK4kv&&{}6 z9kxJLNJZ?hX~O}FKpRbk?kgN~AcxWA#LT+(UFszmgS)Z8t~!FInagA2i%*^bP6DCv z9o0k0P~rtqfIzUYDRS~Fr$Zr?eB5;cZzziWq2)P_b^s-j`qb{`J+elv379Wd$~{WeGRvr&|TA!$Yk`zF1#swNYo&5t%0n z%ZRK({lV1eU%`edQ$NVN8q4cqA>9P(`h`5+V8u;NaM#x|<>--_JJPHSk{ggMN1PjO z$Typwq1h5RY1=I)_@ops%JUJ^S)zzU&lQblW6(+CDx-7+Dapo7gP34}GiuXrd6uUh zP=M3z;jZgY=1HKpq!)$p88 z;XGL?z#}hy_9)VUbHJjGq7#w|IF^yNp55oG@>9t6zWsJIP5wDEqT`M%`>RC9>b|y@ z6bcPR$n2%4+8Jz@Tk2*ZdCKpE3z~D3jSi6qQrY7mFyWcTwwlV9 z9&bR6_in6@y!T7HO{&{ZBM5hN?qntr#7Lt4D*4~?hA`Qt9j`yR`QsKuT1rgtybLMP z8Sqp&^yAMpaFFf0D|Gxf5d(bbz{QrJu>YRD2D7xE>$69j3w@>g5C5*juL;C69`y^5 zxt~NN__Aol@0ud>@xK+61l?1wi1xP3){ zBe(K#17Nc%Zr1?hBuQZYYtuu><2yt^uMGgO!|#}e6f1%*L(?HT7Cp*}%orw!XpRL) znCR3(?dE8h-bbc`!TKDaG#SpqQcy;@-~MTkP@KlE2l#hcP?}Nr%Fb^(-CeMJ<(uFB z7r*y~-}vo6dind;ckZ3H6?U;&drmO6KFw^qh8`WTnLB{H!nz}a+!-8)azD!J@by}_ zgnPMItNVT;TbHp=6L3njPfi?yAyqyUuR9$b8fzbUU{mH0oD*oXFagP-JQMe38=8~} zbW0&qcbwKliR=-l0~FV3N}nQ=Llm~NAk*jnjDR3Xs%B~iB$OjUa>sKnVe)q>qa71I z7Cw4mrxmT(X*(T>vcgwAfMwue@N>*kO_blH^vppnwc3NJBnQ>;ks2kgC-%bK4St3c zl(JY^%IT`#<+axBVs)!^tL^#IQCT9;w_RqI`bnfIRSx7)BHGBVmR-v2i&}XO6~p}( z1_l&!hU9D~l~si8#W_c-XJ?)iMK)3m_jd5W2?->pvtB!-Ni?fdq9`KkkzvLTh4v6~ zNcI)z5&;o&wUh4Kj+3f7m&_}X7~biL*e!8Gv()d*(x@0vQZ!JN;j~BSFpp;V1s)W_X5+fCUTj<8gr99| z&wXn}e+%(twc2ulyazBD{HGjWIiS+R5GiRkkLRSMMt0SzhMqCCvste{`TFFpP+uWU zp1=M?s&+=rm4G>O|fW{s7X8fOh4h1&Hun+kF?v zxFHVgW(pTbhovE9lSzeY2T3YO{FPmCpC8gPgp^IFK6Tn0fM$lJLB|X|+I!GKy#WB1 z0$XScN&!w>PPUxwyx4Nb?mV_!ZT0fUfBudC$G`o}FMQ!^U^$)d)JtWpwpj}gZa#sI zbCfi(#^3acAH5%FQz*|59*?csO~9UrG)yz8;tyBu_|J|3WwHT*tb?c%sl%2S*ratJ zbQnt$e>Vn4UPUta=hZ@S?7prG>&KX|6e}oY>5~0gJ3otTzt;5V?30Z4|6uBx z4$u6~K(mvnX~?@bUj#)EAD%P-DXS{F>FBw7<2h>boTOpTX(dwA zko)L}wg^WO!hxh~q4C3HHm9IKx`#HJFGWoL&gR#sWz6vckk97a zu3+|y5xswju>(hv26baVe^o?#F+<`XN*?$uAHfMP!2>mzxf#GC0+!N3gIH|cs+IcV zA9&ke`^*R5_x5+6&gX68rEZsUbAxrY?ZUOq{^te&R;~7_-_ZKAE9%-tGn!LcN(vn9kp+BE#$pXX)dphvoWiW$Md zUtWVeYIw9I*kj=GNFHyj(|<#kFLxh#>?np#3e#dX2b>~xC@|!(_dM)RI*j8eIY(nb*q%U|$;&WcT4-u`g3WP)@&YD# zq9+yT`VeJ&4vaIgtpZMM6~F@6i73E=(vU%CJDqtt+3C#lRXN>R%KGr;*S`FR|Lk9X z;m^MIUD&d~Y=gCV|H@wd(^w6gp_*;1eR$uKgIfd8fopa6o1Du@bf<#(fg%zh8(YN@ zp&qwZ4-qLy>bYKP7n$_SmNsyr0o>uNDeS+f{ao*bJq`M(YF{|Y6{bAZpkl;EB9e|` zVCYlr>2?bBeWpcKOj*23IFc zIBFK4+T-W&B5y6!haH8idSr&sLHZVpL@Pw@ir3?m;paGIp=_7&-c`>DD@ByrRpI$# zO#zd)#lmUa{ zh}Byd*NUI*X;J6pnD_(|BWl?9M93sVZsZpdIyt6Qz-&@DQZgC#M7RVLM}iAjgi;M( zL8A8Gh6$$@@mehFY6N@YY)a$HZGd}{(vM2~PqDSLefm0J8f=VXrIZ`YW0`}rb4Zb- zSzG|+R;gWDG-nh!t#Yi)ar^DTP{tTUmrAleGaA$es0oNOB z8!s!j3$_ckjoYQi`qqoJcrVBM*xH4?J;%3>r(=ytoo}=cYw@(QX7;{Hz=8*Zibmg3 zD)9XKv(9IZ4WMp&-Gz(KYvEtqWwwrJu`C*(=#D|m7-iufoj4qjrXCnN{M2g0hK`BKHlAiJV$8#~2&*-k z_{vbj63GT2rF_?b$kISz5q`yo@mmu9Vv{VyF+aAmQD4CS1Ir@mpNby^dQP%JE0J}I z9#_k7Gw#}Yn6yA*aGVSMog5OoB_iCECAbd=cufoLxZ{um0EIw$zXOzfAX&-N5hp`u zpRr?St%?Hy$%$!4ApG4TOEGlD~01YP2qeIhv)94u|ylYHR*x1`;;OL~>g)z5|gti`wV)7MjmoO{c(PPO^17S}c9)JT4r#OBfMli-kz z^FS|OiIW4_rTlURiZnQOLt|cmG2{0JHAed;$bW;X|IyOKN9Qn{zO({%#~)Y>t_50B zs+TRxMs8T&{LXtHfB&;T|H=2ixfx*lh<67D@7weIvJR0qbh25#r**FC|qnvgQTcro}lUPw@+2W0?^g`jAB_& zeySX&&b_%WgXf+nD*YaIbl?`qg*7=5V=}Nvdm~Qp$Rl$Ak5ke1NeO-gN!;&Vl$c-E zY};i*x@7pmL_cBl^IaH{S!RMm^be|LfNiRxhD4!s7nHZ@@kvl%k;@JU0Yiqe-Gx@s ze^8pORE7$#%OHplzKW;49lBK(gC)Zbdcd9>bRY@ z>?##Um(?Bw(glMHONCXl)3^anV70o~0;{!hGkepW`~T=uKl5Yne&(P3```V-@Bi_G zS8lGBD->|uKyVe$k{3giL#)S#4SSM5uS$Q2TFyV3W;CyGy zqps29NjoNWnAxK~trsXw5c=oGy$(6WVHJ^NeKke8LSWzFh@{_=R@R#wYPHP+U1Pjp zhQLWbK;!pZ>Yiy{mIEb#gqR2jhiqfuR9fu;Wko{~(%4L^c95rOHl6iIUtpen(o!gG z1lj4rXqFF3p(8f#%w6-=cU+mc|KevsuZTo5K1t5>E7-(4_G(NL4WxXG*#`}<+K*rz zjwJM#U#~zyWV_$NEOFVAk}IT7Wh`iN(_6_jz-B~rrSzEaj?B&h8Q>tbSvyO#BEoW$ zlx_$O3LI9nv500@K1Qva&zHL6gitf(KQ#mW%#2ON>UgNP2*T zb4j+>_zHbj01kbBbk|F$da?9R+k1c!{?(~Ii*@yXvjQ&$m@Q@twzAw@KYZ$~_x}3l zKlq84UVQq|Cs&s1x^7lC)(w{xwGsUR_V+^{E-#JW!Vm zGmd{0O{kDe^|dVW6EH%`ea@5fi9#8l(97#e%1(DwrK~2O`7xaj z>dv8-kldX#G_@$EN=#{oHdAm_Cc@jPLP9dlN_eU5kx9aZvc9??||>s3J`C<()4oXt_1bNNxI&=_P3qQf8u@XIfooXpDFy`;VevIY0HR zau47F5lwYg4@{I#Q;2UYWaUb7Vw&Xd#$!b$0f;dc)Xx>q0-E0Bgq2|CYqf}wYq%s7 z<{=}gMCYtM4ShT4{1})5pM(#r5MqCGu)ADkLCCcJ7hh@mK_kBbF~-1t*<|v=5pE5R z?l{@Zapz$Ux>i4Q5pk!$exMkZb1$MMG$68tT7?5$Gl$GrwaA-DX`b>%05f_Bv&c%t zzr71UUhzB1*WcM5wiQ^uE>rE34D9`P1LWU2)p*U;!?{2s3PjC6#FZnB%g}|oV}9Rj z`X=@1U%plU3$U0ih6T2umHQ}$Qz@rX7T9UI(9U=HnNL6ekALw~AAQeDch8SJ*w$;_ zTyVL;O`HASaJ$%g!*#WFwQaTSV%r7VIx@dDa6@|%vO07~#_imDSo=0(T0)08n6fC4 z&%;>wt6tK*Z>G}x!ybS~f2TjVs_B59wfnGInPIeAd#5oJKH=A5aDo`3UJ)Qr(LVw( zlsUh45SkO5*$xK}0q*5EZ`1&A=Yi(rI-vi8lgW7g?ITtk_x&90(5$Sl#%*1^g}AUY zGaRfgXjAB#R&?__Lv7XaYe@YV_wf$K44h0lvHVJXo0SqLaPa=?XEyBr)OJWzo64x< zYKF85>2J;r81scf^uAqgI(COz8(5>Gy=b+f(nvJKPpwvOcrmkQ9(&^B&prQR&%X8R zuYUhK-+LKYx?yPy*#@CFSOxt>7u7?K(g8A+86$1dax9xB+aw_vRCS@?3WVwthDj!u z7$8UwHNiooE}@mDdqjhhB-{&0h$2?cq^>m`)9rjgj4_-Bwh|f~ zEYoUIz0taQ2J(e7Kii|&qOcYFup#72EdqnktAw(rbJ>REK3fp0$Q{f<5iOI&S<=ni zdgz@rA~H$+@qnmK>_AFr2H0}-)U#48=0PjcDiT>aDGiPi5H#iu`9CfBOtL$`a`ldB zfFjx+m*TXFEpNk0jATmb6V;^@lv0+sTT99Heh%S-Wm6a38J4&caX2GrpU?q0fpYYa zRNREz)(9IopgGK-vLjmo#x0_M%H>uCX>dLxWUC~JYqxAP#TiZkH)E|?E zU5X?`fLRX*O%gZ%1$X?-VDF@2t2Z8A#3IvsY#+X2A0Gjq&Yb>msL^wXA z8xGrtQ0q=+0w8m><%UL^aiX;NBs})u@<8N2qs+O7TO5|*IA|D-;7Pn4CB$3YOuRii zfTG1gE9vJnPHf%Dxfe{MRVBCuTQD3T|V#nDsBfuNL!QAve35M%^)s4Pvr1 zIDgT~9))1cZf(wLA>@sKoIdkMXCHQ+<{Tt8>5mB*y1p)?pnun``5#c8&FZDr6Uw`u zc=M;;_ufaJxcch1zxC>C*UM7Mvc!QYkh3^=^NdQKUcyBl#Q?HJ+{L?oWJ`_=_NTZ> z<_q&WSWfx0m!aq&(nc8hH#&Lki1~M9T(=Y@ky3?H%pGh;tO6n{Eq#m%8)T$3hlfXf zs8AkKL7bR2d!`{52O!-TqD{+yWJp(}uJS0Q5Xr3)CTFKkI`hj=C*E$22-9ah!kPwI zx-tD&yBUbV5601cvc1j3?%o1s_CO|(h1`WleoY*i8+vV!gA)^1CS0L*5WkXHZv3-q^~M>e`%p2(SYhfq~A-rmG;`#$LR7M$xqhw9c8vj z`Hk&K6dsb-bhyyPz<8I6Wr^yzp3D*b0RzFO z*bMae-f^E7U>Sq|0u)+g_r?+c3;NW*7~0go|5LEoaw>$qzHN`c_0H!%_uhZ>3!i%T zlh523Z|Zu%x?;V-dck(F?Z(y%*VXE3wf)XIWIwCbiU|3s(gV~!BODcjYsW#~ei&Sr z+DivDV)+)9kU9ETd{chMMz}NGcpz(hYGrRjp~PlO81;P{;*U?cjheoW;lBSJ|NHr) zYSe!XZ0MT-I>B6i&5@#K{#T;Vr(=r7tB*|r1!|I@2f8RQ2QKN0U``ESWW8gb?>o2` zO}iW|jtcO`8y;+QYJ1`E4c%+UYqPv#m^TgnxnL6&LupH~hf#cMMCQbw=ug9B^L=Zvb(7)dENtoT+>{`j*fY@y$^n9)A5iK0=Qx-lQShbH zR_O@DW=udT(GJ;v0bf#jv2iwo=fK1ehwE1w}6CZ z=K?3IT_#{;zYZo>F?PmdLq0+eGyvkqM2`91jbmddkOcPLwHKMd_(oKhiAXGeq{I-D zc{em5EC&ovwzJyr97BY-O?2 z$(E5Gu$*lwwl^L(;p!Rdg_gIIE$c{JW3o?1bctjvU0+`Gcko^^fzNfeS;-2T4FrS zr3heAO~uM;UmGtX*~-bTy)P`D=4 zvZb^r*PPvD&#QF(j+^9kVR#zatbg%;v@@l2jZ6TJLbJ&*2u_rqH?3SK4gsv;NbGm zpPTpis(XZ`!HBLrAlj#~)Qa`3d`(r9#`h)50Qq^G@r_Mh#RDdSsmkxzHz0RWc%M=i0-7HbaR-9M%Oq7*Dv&czmc zaC3R?Jx~9WU;fPJfAam0-Fxg|t(Uqs!Ozy1p0-^^4{)*VV(V&L$rW`)-CD>OI^%zc z{@Igu(AC2}8fN$b=z+wPU%RrF2r6h|@UvP%`Ei;-sxmv~=A)1h6@JXu>wtz29v~}O zWzOESSjM8D{iY{!`~a{noc1yn21QI*rHsc={I+uOLS+7eJaF zZEm8>2={}lG&DUi_V3b6K}-M;83Cs%r9f56FeGUxWO5@ae9^8*Z^!KIp2Y~RAwlXF zA#@kfPDzVLc7>?A|8i@L)VBs~C0?e>tmK(Jp0eU1*ejVtkd;*3vsESe`m!iRkoziy zfIRF)NCSz?ka4v!yW}H&(~<#js@XzE9WO?eEedwZQt*TNj>&?<+H4EY39VZ zHx!B0|WkK3G4#rj<)-e6p`BD#yHX0@FVoEok&_G*^zvT^1? zoW63jm6RS31AaG|6~9oSWY3`ck8WXnEHQ*VHXObEHv{fz-V!v>XSW3p>3{pD$$?N{ z=jCGC{il{+_=WfX!=L-;~ zzdLj#<`$N;_)f>iPN!mss5za4AOMZTfnJ5lo;rCkC3p+2<=FWbEowLYs2VQZnx!{M zuFu|xu(u0s5GfvCiw{%rh)sH=P@!bmih_P7T2b1gAiq1=%xW2~a6|w-lELri0f{(3 zOV&Hi68hu{++}^`>R&CA^K;Z@At~7H8O(Z&aTxq`fW{($eTbU3!nf`kbqeAz}50a&W(se?_+L6Vr7F zj!o)G9(Z0Ao){s-2n86_MHrgZOfiuPiOPqJ?1EiAo0NXl=WEbJw4;+~UOD#a0twkg zp_qgo%NGd;ncOzdPff#NnQG^Jub7IgQg|TJTG!Gjbc*;0iV#)K#UtYlEkzNh@bLgz zif%l+V@$H!B#D)?-SoJ&ErP zm?sU8J+w>P$GkR#Xu-5I8N5s@moa7#7Lt7WxRw!#mFBBALGQ|z0Fieu0!aD%;~FpN zV7TvI zU&eReAwRGJJ4w-hLOB@<%DF73a;X(}whw&dZU5kJ{nV%4^W)3a)r0kNv9;pTVLsf} zuK3?B*tXF6*NtKJjX5Z_ph2&3AQN!pvVQDvIWgee10dL5iW)nW;9{dx#*SC~QT^vx z>;QT8xqg@WxF5i0{~{Bwp`IVU*db25y>X*cyG=%K8{0P9-ty?9AA9MA$Dh9Q&6mIb%Bv4h7A%F1>gXF$OW7c@L>)9C>4-|aa)lqI zopfBF+yhrFhUV`3lIf2nAw$0}DoD=R?tQ=K1v4Ps~K%)$`yZ z7Dm?8u`l@1`DHdBTB9K!`B;fl?C)&{pbvwLN9V{pAl4>{!lTWJa;-or zrMPL&e|&@DUnV~^^SS^@TxQB0%SC?=P#o8AFeK;#+xFG`)favLQ?ErIx(qF?!@+z7 z$FQE6Q$FdEA&mWa=@#K3?uRYLVps}FZ#=P>6{nkS_t{>_ z=__@f0xDCcmP%_h9$00zH1-&yF}LL|omVs>RmN4dhkfnxgL#PP;Us$D4`cJI=I3}~ zros0q6h~tMvdZ+j>gg)XbNi8ByxZv>)cwupYDOn(nz1Hg%k zY`1O|CXI%CM(n;%XSPjnW$dL6*r8`)W-G%DSQi1NnY?HjN(l#Rv0{nh7FJLffWwCO?vKSVYrT=F+*-{KA zF6Un9<7~@4J3qRdzx{(({`r6W!ax7D|NQcI*ZWsj+q&6Ct7t(1s9meq63Z}@My*XZ z18ZfiRsloP_6>M2Q4vAELgq47WASqgHE!vEPq(ZOj=I4J7VEPE!~?af-uoq7H=0>D z{#B{IMil_6yaASTi+2Q43g?mOaqmy&z7DZ7e@z@UNy3 zYVa^LvXilKV(uJrE|=FZwN{xFl<|(l;)D@4aUPjxcag>j?0zykpc+%}oaj!mGGg9&0P!qxG_Z8P zOsLbo12Lr3p={3X*McmCvpFu*{76k{_xKWJ@PG$vUtBFLlH`msKq$~`uYhE=?)UHkc;{n5YobDwzOo$tID z9`fd5YwbLrf%UX{vF*Yx{%OCz8dvxGvYX!(>#4?H9uUo`ntt2qd8l)6KV!o~+!A?X z&^oySs$)r<+}~yWW>#yC-zBZGdQd<$_6ND!0XT-2E%rwg-8Cfst_3nqH9u(w=G$8v z0KP$a&RZLRo!0*#*zXq2eV)uufxTm;lVUCRO#^T50dOpw7uxe1Is-66M0p6ngYbeC^eUZd5a;YA2@|KwX)Hm4%nZfNmF(RU zeZ?*FBp*YP?vl3Ds`=Xl8B6P9HN`m#5+s{s5{1tVkO~7ph>;kI2ZffZtu3 z(NW%Hre&aIrL4^MLw(Ma&^)GFfw!2xDFh%WqG!z#dI+PKKeG@;9R`VUF3Jv*(L1v|#S1K;bTx2PAY)iO-s`+Qpe*O66Vbn^KGcrr0g=W> z-Q``JV)4TXt0i8-2EZhYA>}4E55N@iy8rLQB<5T;d!cC)311k!VPodrx{{>i?qUx( z{$w)=uwxECR?Ly_+iE+dYqvWZ^D#>tG3~Qxgi3jVCvjNXFHSPEvBD~OeB}XBWa_rX z-4(-v%<#tnYeNCAQTOZ4C|a3h-3cdd=2^rbA9GfMz?1{%Ns;l4cfF+R5D5hgn;JFj z_HD!bwBN23_m}(Zq@;A1@RlI0Q{i4-l^YfilJ%>K%H%3mo}8jT$Jnkw1HWAM)1^KQ z;orw=ivP!G2H3U!r-B7#DP@5zSkA?k<>9)$>pf5YAO6lKe)cCnaQ~4R$x+)vEUlWQY7zR{c~%1(Z|6_E}LmeT*qhMIjq$Ep|{=?XoOy zso=?5i2EV`wVWn+TyAq3SMRJ+;bcDys`Q7xiw8J=_H_FnR^XGzZO%*0(J_B1yD_3T z&QGKmm8v~pT6AD1b3bUX(v~WVkJ^QnHyioq8vrUIyO~2^WXZ3RMOHRYo3?AbeZ7`Y zGIRe#J8W+dGF9D~n57>H_c)52w$Ki}+HSG2Ev%h{)+Pu6=BfR8&RTfQ)mYy3)SEy4 z-WTjHzx-$4+*X`VOS0W^dRk8tMkSE!3Z-Ma3*SICj-1;SHBw?o41GT#m9uJ_MKXt! z-w@A+sI4fliU#?0CJ>S)Fais82X(W>3M5!(li!rI|^cg({^l1~O zIxabU;!s1!EJ*?DY{`=)f*vs0GJ#E z*|&{(U;|%Lia8*U&? zgKG9=tnS-;TgH^2XqAt4p+v-6dkPd82Nh8M9m4B@4C?(`DSiB3I(KN~{=$|ZequrC z5x>BKaza_k&Bo*N2rTHV0a zxPohFekPy?wc5+F7bdSNJj^v$NSL)Q!tR?rvZ)S}ye+X@iVk~<-|g8<*)1^Y@*3Ko zgk}*)i`WY+Ncj^2l#|@YCb|E#YE2CQ-e}@2c6OUsr3ZkTl&Y~C*-oH~!w;3oKq_@i z(KjY@V@OW;!E&I{p~t!tnoTOt6^a;rfMP7A3C>SQ?7D>8bW)gjIFpUdFv*cT9F+V^ z?hG<$7(VZht9UjCLcMK>p9oK68Pn{GpaE|pK*ZsYk%=|kwyM&C&ISH*5|f*BNs#7bH)om~*d1i+0fdUQy6 zN^K&MlTdA^NrQ2=-fJ^K_BSpT<~m6W?gmGy&6r2KyGKG9Fv~inO$gcX_*#^Yjf&f+ zx`D8?DTFPR$bz#(>PcgNnZY=w;YAS-<j%9!b%)%YB$njg_+K4hMhObj0 zo|jKqu1RK76~t-np!}8$D?7W%!phLjm`!z^s13EF@;m{iZ!E^3BQ(jTNDHr^mOD>9 zKWQ!@Q(qWMLx=!~^5$4&Gm}3O|ufmAFTb$mB1q@yv4Br9e{jp5IrbWyA#xzGw1AH#e{>2OJQSg9{rZ;JV~aBY$Uv~cqRhxkL5Ob?cY#SNRP`rLlbR0LEZ7Ec%i-6 zMkWbo)2!HyfjfVzs#p;ke`^!Lp`HCt&kyzu6?eBj64`4{VJU;pmQH`nWFS*#E#_&^O*sU@I> zP{OxVdtP00Q<+UqaipoG1-x@O9VC5<&7~YdbQCD75@AdkL&`k+iYG9XcjpWr@qqGR zs;>)u%$)PgPbyH=ZICSiHMr_r{IJ~F%j;wo8HrsfpVW@-axZmM|;+$ z%@G`SWHbsj1JX!P8A1>zEsWR;e&%2AN1u}SIcqwm*-P0SZb)8nNWcJGf1G%>RJjau z3!IMeY-p12gLbqSQv%}@KDRrkAARxjYUPv=V9E3%G2nd6RS#*ya0}4cW*@9@D`=6)_Q!9u;W;ul0>i z?NhMW6wOUBwjO^rU%Zhy2|83%+NQP}wZ!jCmJ}TWGHr`>#4d==0F-f-3^*=L!^`uk zQh+4sE@EB<_rG2A@>jz+T%Ilsw0s7|#zk`p7H==AKO{Ki%a<4F);YmWRdzNncF1Vy1T!auOW| zo)GDUq-XG6GkJRnGlv(r(~0|8a#5E1&=6vdKO>q%I1N@}!ckCU36IheCNahmW{EG7 zVP{B~n1uEWg?eyklGqcO$CQpb6Fi5sc7s|Kv$Mjo0E?By?8MVz%gK6V*a^!CD7KtX zPCT9J`CQ8VWihM2`=?*~@Bh_r{lOo6^Da({*>B?~MJ zLuR#FU!5Rs98QN(PmABsm8@;>}R6`RCLXtRhjI7C?RONAXT=947)0FI zKOXVL6PVM;=|&84$!_VIQ$7)SsHwb6yd#Qz3rPbr#|CgWO&*CSF=C0Cq75EG@mE1aoDa&ENguL|yU%_&I>RDK_V;X0FsxWGp zCkJ!UI(pEOxGoV%YY7P-yNU5#Ks7RfvxlsY_bY2eHA>vVMMf6(3|G78*^|X67Bqx{ zVI~SKXSd2c!J5JpGSWHa-G+N+PrGmvEpSlmm`g6ekZ7Ei)Nq~CFZ?Uq#%K7@{^7a=V{XhNEr$76F z58gT5e^A$JyR2o~u&%aVY;8jSb^Lq9wi!3u2Iij?)|d4r3jVnV5Jf?kd1@Gt_W;w( zPjZEf%&Pr5^n>kDUbFR9mHG_LP8aBNv;^(%)&74*QT$Y&^aqhsvbm`13CmH#W_d-x zoMc7YDR_9~;-x%n6=QeHsBDtE9mIJg(K2#+-+{b-T8AF}IpkK|GvMDy*ALsjKsiAu zGcn}IsU*g;NvLQzJ`RBd-;V7yr82~o_AQwmkw!UXFArHG_o}Di z3D&p(^zhz_N^BeI4YxwP`^l$1`uubDsQt+|zEiJxI-mM!+>ZZ}cg4`m(19+T@wB2T zm6~2FY6*TBqhREVhG|dY%LD40F}9|1g-HiXOHrr3#^KJN3wD&^_*n~ah#Gk_O;=Se zA^O0QVQf;KkCI*GM#%(Wlmf=22BQ=+Q7h~m`!>S3iVi| z=DFTQ`~c`b*Gzzo)FZ(5O@{Afjv=OW?_Zz{ox)f`)ZJt}CbQh5)D@v0N_Fb;X(7f8 z60|Oo_XlaNqG%HUIP`70`{hB>U@j}01n4=HJh+uR5mabUuFH7NP+hm?@b&cLM2N7% z3!LoNLGYZs9n*VCN$wl8d_fFp3cSA6DFHVjl}(|la~@;fxAqo)q-pN28iiY)SBHK!Q4k8s8MPYkZa?$cm;TY;_{{S^@{XGg*Y)Ot^@8nU zmkYNWY&Tq``d?QL!4J4u3%GT`kBV@lcGZD5($Hd7y@MLmMQ9l_SJF=DRd|08_q%T< zwIY@3){XxlSp(H0bB5;3|LyZ-yxn|j}7)wR;&1j=)d`TW!_(`*#J(hF|cwf zR_uCPpL+MBzw}EV{p%n9(EU4)KB()4%LUtwZ7b+x&x>s><@eI`KUUW+{%J8iT|GZ= zS2jucEmMG)T^XDlrx5CnMHnzAeT{=eL7CH=pnhV^IyL}9;_sq=4%*Kc_RHT4jgY&F z8|x>uN7-|kp+7QsHDUeiHR(JU^&YF!#cuXStj~0q>(WWpCbw7v(gRcHm-#6TQ>fJ* z1E0sbp;JqXSR4p@=b|^ZU1{2HX=Q=EvB4%9T{3S@L#^F9{tz0Zt7n)-3u+b5qeTq) z1}+TPUQA>vs5Y?*$|bckyAR=SS_m-i3(X=<=HQ$&4Q5k5^|*VUrl)$*>z%vON3L)9-ul+h69xuYK!#wPHD) zhPbNrpPVo=%u6EfVq0T~@9~`_s(&ywpZYzI*^r8yttY+D>OC*qJ*+H+*2_RjeS}eR zMrlD#?kmx3sMLWb0FzvfOTZJ-5K%N2f%P^i#gfz*!YxOVMY)g%`F?b+>Lg(FBxX=X z#-^?fOH4?{r}kDP$8StJ=oDicJA?p7#vNWD8IuyQVHzWPCYK)o+WU708T6oSCYb$$-zU}?hJo4h_1j4HNkdlyq$OUxz z+um|w$}}|h1Qh4yPhE~gYlY=p%-`cQ32kW3Lr-$A5b4{vZaIPEpxakVYx0!Cpn|C} z!=KOk8!-P70p{ zey@Yz9~oh4yB$}0m1%?!avICCCIfL2M<}&tR5MMQTOH~zL9tphwg1{R0NMk{XP6nB z9I;^YT_l1HVkd?_`WQtK=xH>SWjLrUxtGULA4f2|rJ4y5pYit)%^T z%55HkY13)g1=T|rot*=$`%FkqS*R~`1I9>_ev0wA0d>|Gj6v%?hLf~M?`M^PO* zWj#jPAJzblCnppoPqTG??YgdGN*PTYMuwQ_U^K-aTB@?A(7{n=OTeZ?fN_{WM(USl ze@^Fw(7;@bE7k=|lpDm7I4kVt6{^~tLOh~si-cVB?E^Vi{G8|JRP(j>7@XzuQq8;L zlb#`0@{Btwycqi;+G~VP3vm!>ecyNEBTjC-`|yHogmXn=z;uL)v2@CVpCz6tN_K)t zrT#*8Em3~SK9-{e%`k;`=_J)Jy1)S?d0qSQl5|uX-3DA(4 zvTVU-ACpbxy%iUN$?2$G{j^x_T|(17)%aVA$;)2*q%IY_fX$!<4dar@%XmA+&$OhD zOgm!{#wGX<4@Jh2l)HDq>9%q5=xZLjrEwk`H~zW@EH#AKyNh_5Uq z-o?FTNUE}lTL5Ux96jRKT)`K-XB2%m#2nnN@BXwb>6uwf)Ip~Iz?DC3Ij}T^PZ$8Y z(0@T$iWOi%IkTLX2iKP;-*)dG{;f~_(kDOu=>11u-7XiqxnR3s>#1JjpVhXDt(Q*t zsTFJ^|JDH1#Nf{(?lFWLiN7(2q6KhWxhRf|OuBi9)MxZ>RUEdlMuk_DYz43PHgQx zFAQ(M%*l1!(Q2KEI6>;B?|@xBhXtyP^Pp8QUA6;>w>R$xjvb6ROuWx)h*@uiERW3q zeUYTfKXO+$U@BTo9#c6O zcIQGALi44DEMzyeB`PnG38Wu-+Vp9s{G7D4U|ORL=_)2WkfKkM4`r{t6IL&hn_T39 z&=@OlH=Ko6y&5NRfszzg1uT3H?FLzf)*c1BQnE%wxZ6J z2yPyCP_Yy;pogqF!OZjXG=Dk5^TH>7g#4rU4+Iq_jxMpGrvToL2oy=23nEqJp_T(T z7)`+>@-BI{Kob6nm?nKM0>KTEfcAX7o6BvM;NBu}KptK4WCIzp$L2MfrnD47?#q|pUW9_DL3WjgCBY3AOG^_KJ=dV zu2vpwmlc-_)@pTQ9gP2NwQaMyvM2sFr?3CxrCf>}!W=&&!*uRE02;rg=mE*b+D+@l z2Q2#hv;^oGz;4}T3f7H0E{0hkPu57wN*npeDN%SIwKbPqyj|gQX!W%{_SyVrpOSZ? z3IwCj5Ay7YAk`p?@GogCfn*+n{C0qRq0?fSDZ^BEx&s04eN4NdPVxdvwxj2FDv}W{ z#`CXku>9KM_Em?#bS5xA_5}@~+T|#T7<1_~Vn{XW@U_ogb;vO{@d zhv<5Ye}@p3P$WxtxY{J;h!=*qJq6@H79)Mx;lG={iL47@j{Z$6O7$P=Jt!&7Q7}w> z0`;cH&TuSPQWs=-HrAM*LOorgS&E#jH1xDI*H6J@0@Q*2j@URbzrN`nR4-^WOq2^N zY`Ws|nWw~5tLP|%#&x)ypL`BG{F!QeJoof)e~K&+oE|&~n~mHQq^6A|h1xOqVfMh~ zJ3p4xmdUBi|53h^75}Cs-U1r$a=)yq7nUif>RZ|Dnby?WWBN2_Em1t!NVVBy& zkVbAMzfqg-hc7ytw_C6T8d3TKQ+^LVDQ2Uof3+Rh4;6Q|IwMAZuu<(_J1~< zfCV_CoN>c#d7OXaZ~Wvx`244zdeaj>ST8qNx3XPqyYz`T-M2i# z5kXo-Bv&ngMv@aC5_~ngh&Fi!q!6E|potL52;>?R^niFu@h{y%Bzk%1m;ZkOY-nzm zY5hNg_h+2v5%V&;dO};qjlLchu-~ zY;Bd0C%i!ok7GMVwogxjqM6cRld*4aShZcIkL4KTD61hDp@Sv56bvR~7@^Ef`-^-* zU{`&>re7nE7?rB8-9?qPfC)Fy;|SYQWV3o**GJFi554o*XWsevSHJVkzj)=rX<1kr zEoZz{1sVX99(j4)L@}|O;s603Xr<}~@XBxE1FFkdJS-jokdb+kcG2Sl5@#PGw$`Mu zd`m)?QcX&y=HXol1D#uo*dTB5k@Jv~?OrM~@h!xob_y$Sb&AXhqT!>YINM-TB~S0Q2^B@%M^tvNU<;pAWd?Z>^t*QKcKc#?s8Tr z39n`8!qc&}3u%}$0sWYzMy-ihKPBx&dS^WMMw>`zE(GQ!QQthOhruLaBQnoN*AKUQ z>!e@71%zsTK%{wOi2I8sC`TX2fP{{n4Fj*hsT7J356?6itnLZYWErs?uK1FgSAt!~ z-`H!VbP>~-@mn!l3JR>SW%|;)h-CnfKySZv0;hrn%XukFxmmZjzVora`!_%Fvp@M0 zTu!g8HyhRs>kTd!G+*y};dZfYMfd)0RyS^2EB(P>TO;B-=o8i?KvxZmECdFzXGljA z+s9_gr$+F`e=0kOGSk=J5zP)Yxl70Yit2CWL%{xN)_FnxwZ~^g0uTH24wH0fmt*4} zoD#13?M5bQyLSA{a+gSoq?+Wj!B+(*j1Ny(jVPqzFYCiJ2`^)Jkk#7A3v`wHao2IA z4FsmFr1a@13Zl^RsU|%wB(m0F-X6!42$RlPjv69n;n<0Y+HaMecLG8#P&LFzFy*Xi zG!rT{DV%aDB0ZniI+~Tt;H0EsHZF1^Xr{Z9LTi@pb7GI$EQsS#`DM4z4aIN=?&tRu z3{y%i5Cf+qUZzDd^LrmAdsl4_=RG>_x6vA!&%X)ojeP#iZ+_{8XI{B^@RhH92VBZh zD$~mS0BoLPw|KPrm|2d}^r_-USQSVae2DvAnO?c#(rq@}I!pafWUl!x>K9W3c%bs& zv_)6)3dIPWXzDU=)Fhx38>ZESPBMr&746c;~e;c)5}hel6G@K=&NX{MV#H3YIg*UC3-m~C`|}1IHU!FS{VWx$^qz_ z8_U5kw=o%fCLN4Yp=(BH9g@IG_LAZHE&_cYm|}WopzRL@|CF37 zOp!4dGAwyHl+-Yat#))5bMQ6gfKFyIvHkm-nnr@*#WzYugId``$1?JzgxSha#&I9m zVaa?C+nIxVBuHEt$z$ibY*pvDF~v-m@g#STb{@!So)@^)f*IE7uF_)&xInivPOOfg807kf+LYj}qsXg*0=TufG+N-8&0- z<{&UF)lCh-67f6zDk+Gvs&}KPM`Zh@(q{?`-9Fu34>M)b&k_2=x z0d0Z`)JU6l9C*+`OfzBT+0VpPcbB|A2s0?z$h~twU9`7J=#!`^w24V9pc2bt!HR)D zJid2kl@69oM7#K5ThpfgAP&*yGsl~?k(0DH0zJ!f93kO6uui{8wYL=vr(0vP} zS($OxVIxRc&t6}32_)NQv=qY$%gIV1PAmn>xjBPb&M5cn>dfVg<^FQTwf+yk^*jIV z|N7exU*7JVueR&eHZua7VKZ#Q6I_jza6nkCgEVBUv^t98!51@*+p#h`bZ1IEy2nv7)CbVm4yGDVM0Fa~5)jM60s{-nCWvLCQi5@0k{j`1At2`FNl zpd<-9-NSpPw6hqb$KjybLRLnrpv&VTD9mx<)pRV#K@*H794)3(#)72oYK6<`A<}uw#9?`F=`d9LDQu)gG+0sznUkN-16J}D`hsdzM&~os1rl8yT*&cy(R;a`#L}~64 zI)7MAamn$G((^X56}=PZm`&T!86nYx^D+)hD%251Dwc!%bAl-Rpo|W^ha-YGc^MP- znAzXw*XfQ3h6AzL1UgSwAP3tAv$lYigMQ^HXJbXEO3sG;@mVQDP!tPW6v?SUWCf%w zuoIW7^TW$}@5!rw@Hap4Ge7>)X}R-*%k`z)Y-L@owi*A0>)Q4G+r?_Nx;DWN!tC3# zx?05~-MSAOm4q_qc?Dudl6!M(QB_W+bquKbZ2fm?8c90jkTImUunTZ-{gpYy-Vx;D z{ub>%)1;pJ`+N??k$aO&ADP5T~B?K2!gKX^5RBtB)9E zz-AFkm``sL&Spe|CK|tfjEmT@V-rR7mi0=|>k=Yrp6C=ape`J*f(8tP$e8l=r$Z^i zkmC?JP9VdQ!d|U3QgxfA6%uIj?LQCgeb5YldgVER?{r{>an|HR32}&T#BrL?-L7Jf}ML|oMsU| zI)q*-3hkuo`WUlMI?8^KWz;SbE(Trnrs;md{)`)os_a%Hmr!QpB9h{2 zX4`9RCG$bD6vTK1G6)W@Bm`Tx*ZFZs+N-Noe1AZRg_3Aqhf>a?4=NNDu_PZ%Af}^) zCZ95vX4Kf@DNi|abu*kNHgaiAz%*Z=dm@7I#FRy>_?&(jEAj@jyKOl?`J4`}IDZzZ zCz#v?tnVK@wB#Do@NzK@3kV|G2HCkCv7E7gXieIy1LlM{sJ-mf|76bd4Tp_orJw#8 zbzqm=%6>Z7Jf_E-=d6B_5III{9ui8_$LF_UFyzwf0(LjyF;;$>>mBd8hVpV!3NyB- zu2x86$eATKruJ>r-(?ZBkr+u zq|ZqE8mqz5YkgB;Xz^h`P>hS&g3kNz#7|q!uu`tK^@SgM>c9TmKmExc{n3?ptzIr= zz1Zb~K>ggq=cHWwq$%)uk)#Mk+;3Hf?X3Q9 zqqjcIuPMKjI?J!A6%dc_crdUh1dE4Q`v;rApK?G)d+>&1XyvRO9U_8EzyzJRB@^oC zphJ!?)lUs|oMoDce8MuPYZ;=GoU(p=Y>fR20}ObB>OU@(gg(L~ayn*XrY0rX4^->R ziLHZaP7Uk;-#ekKbWP5IkW8qZ?jR4`Rj(os0Zl83+V_n!9_)uefp)Qo_@T{^`p#iW z4w*MKdn%Q#;G~`;k6$@bd8U%l2^pjfANOWES*~Wl4yIhuoQWn0Vge4W!{HM=BBB~9 z!k~C#wGz)i_0|u*`0npLeB~=&`*ta(<)lu}NenR#yD~*mBtVVXu7RB-s(Op{@l;W7 zqI<{)njNL`5>yln{fAME!6-a7~wlSA;%B)Y2&XKT44Lq1ghKDJBRk5Ys!V!{Rgx zh>j?-$rxEblQTs5MP(lUxqdsY6HP^!0&B6~c!nv{!KKOliJ{RJ=o5rF&uLIgS;vX; znKom9nQ%WtKA41;F?UGu#3Dpz8d>>cXRIr;7hwPJfle=G046f;7^yCvu6)k!iek(8 z$!BR$L$}AmG4qVZT!8xhOZL2aDd3wIkyz7_vr2O$XS|ih?}|O%j%HwK0gFMk$*Xs2 z(HU4GnG`2~ivlR*iS3k9sx38BoDosm5|)8<3nfk`65&I0`H&bCy(38eqht?vZdlx? zZXnh;Ae(-82yxjMB~Hc~Zx}+_9N5nEMyS~Z)3{zBB*{WGW~4~aPpHvxno?vXwc6w{ z_)*=E$Vn|>!Hl)Y5{JDQMb@WrU&m_R`S{4qJX!~zK^;PWd=-)#!nkncagd+9cZ zlv|nN5Jn>%*+jmo64A#*Fw})Za2gs9$dQ*ucb--g4-c8{=OoQtW_nCtY)S~$1PKj0 zOTBwI{u6$uV^SE(2!zIzqF~h^MxQF@P~?$BJ9#UaS#DD&1<4Oa^kgF!Y@`7q7;&Bv z)*g6lN}tW%`sm{ydGUo;m)F1g&2O(aJe^KSEb6od*H%e>FxW{95@D}22Mj3{VlI}7 z4)sFBMVnYuef2ajSREfJG@<6rLxNe%bZ({?*&J=JU{c8^&h8A4CW5fd)8pE!0j64O zqNpfSTXTDS4(Lx|NamPj)(FK!qN7Yb4^6m^@x4cJl6-pZiBfEsWfHrB%cupovfimL z0$w2~VaIZ1A&ZVch7UrxF&Tv|Rbt4-bS7R4ec@uJRUA0kq2oKA(d!2p%sQ=_{HF&q zh-~KM2>yxHC$CrbrivM{>E?#7oyvKS1Zelfs_|8}KPQ zj-J(kn4Cat2|b1B%fWn!OjQ1~Ok!V-FYCyx*zHCX0?Dt=NFjFbpRFlN>TZr3P^;1h155 zZ{IkLP(@Dea-Fq=UsKDwfEdSgvB>RBVA0{0STRcP$1yCt?I~4C8KPHX`#Z}>kt}8l ztbsoJ;J?^nI1!8Cbb9dm<>`0c`#XR2qo4Y~OBKuO+e)w+S6eT3xoNdN>&4cM+l_6T z)q(n9Wvv5k*OfnMsGnKj)1OK-sR~8a9qYecRZ25x{YenZ+Gh54F!DF)0$QnGQv(oj z03i?(IglHUdD|@i7M8ys(ju3Gh5|-hU8UvoSQLk-47F_nUt@Q;YFj68DY0dYEuPiJW(r>#Dd)g)}u$ugVv zv9w9Z$PoJKqfAaofmcvOz;T8vq1p8C_d6r_1rZs~A(t#}77^_M#zZ9L5qV@Se6Xkv zi^(UD=1Lil+SEVArfg;BnMHrrfGWM*9EnD$nd1(540}C-s1=XcXiN(A z5WH~qWYQ@!*~G7z-T-UWwxC7_;zl3Q*6Fe$)nnm|bv-lG&zwbT9GpY3=0afu!ebe( z0Ck3`P*9@ALi;TIC`#4l{w6ZXu;iU34M#bW@?dFEYR=A>d9wQ(gJmFI_-FoqhFI{$^>I?0umS$^#soC-$m0RT6)~U1W{n& zYfd7qJ*$V@ZESbQitz;|ENg};vPgUpd0ZEv@Mu464RZz(iv6MLA zdG}m%^T;(YC5Oj?gE_Njyn2@+$~G{&SHzMCOS>8u7(!v^vG=6q;ixbYEDy0{7qo+P z0g}Ltw9AHwd?eCj{J4s)U@&AnBcQ=YLBq4_sl74BDi+^!87lu$#<1U5U`yKov_~9q z1)Q%QTwlNaxkvsl|KMjo@}uv0o%I24Dz;0b{n&cL^~P$C_iAy!)rMNsT{HKd`?s zkfJqdFr)|acyH+`5Ic2!MkSOOfy2}lr7In9`;JW5I8YO%RyODMX9w0<+ z88my8YRfgwlWcJmT22GV+5tVYO?~_NRUn1Jj@Kd;KLcwhCZz=L7gDO_U_oGRV30v! zA-L2-fr%?AHPS)xxvvsc2pu1v2+b+K!37RLk^n*68!&VXX#NSv4=D5?(2Fn6S`8V* zgv^4c8I(pV(Qr9sk1`vJvM&P`VEddqOZy^Sv|-j&rKP`b+$M;Rh;}S-ypsvvfW1{! z0vyvTnr4Mz4oO;hqzN977JHM74MA#{HfFmGN!0Xm^d-*7Ze&Hvu);ZxPq$xmG}SC* z!%U0VpLm$|$a=2FFM;XjAg+ua*_+6V-Pqu93mBY!myDI*6^|I;arG^2c!jcz9dpBd zqO^!#EHJ=&;%{gCmvh0XELTfKxv`s%eB#~zVj^#1=Vhv3J13F_w;;~G5f3NFN@<`iHun_ z&?({2{k4?uO<_3I<2KjN5N$xN+{Z|`l+s{px0mj*)GzV}<0FdSGrJEgeaO6%A}OYD z*Q&@}U8Yc;w1wBaR+rCW68~gowhX|L!fIxCK#s;u7fb(>B2P2b0OPpCr?YU>w6QA& zbEra&txv~&deuyisRS!efndzv$L?r8a%tuaHDSR?U7ZlxIC!`b>807!YNTRqiU~@C zj2K&lB8aE}s_|0!mV1wW^ttEX^yJll{?o5sE_OPd7<$o^R$w@YBFguVmc9kbuOG2k z-S1XXL)kl1mmiIqJ|zLPBw&HH zOsrYNibZdk08Gv}{Jx?bMlP3*xUn@wt?7^5a{8b^a(sh^d^LvGMH(HGRCEpMBQgyV z8dWg1M&(sj1GAG+eT3zjNSyU z_Lp8ve()+dCQ|j^W&QqZ8zH_1urdB&SU|I~7>Zc|7Aq&KJw%bw(ASl3)Z#I`?m|X>;8*%wR&R>16r%uW~?xRL*>t!hxGkFAw57Ay#(Y( z>7Oyw4;X(Hp?wPZ5b6@{fg0V3nD6Srh|m0b#hi4!|Tni)!= zoG4leF^hDaj2AM1VUz+C;ZJchgSPL%=v9@jhIV2q%#Pt)dQaduvB(~*6ZTWgsd8W_ z#OCz`^Dkmdu&0))RcxB$NDo1?T{JKA%g&))gYKv~5CmyOUQ&r_xAd>}dab8r`M}%X z{q&n3`=dYq+AFVK-#MM5m7=IOJ*Zp7P6e90Iu!q{pesrHOBIyPkP3K@p0_}dU<5>M zfyu_|4o9_4su-W1)>a!9s6>kF6bW<`WCSHm?#;jNjjW)YPEk2!C zGF3s(Fo({ly}={l@pwD2BN3s$84WzDm-N-MPMWFafV+-;km-tOMMj4tTTK8%T}nTz zm_>dm0&8FIr+qRLpaucpcg;pB*fbj1G+j2Omd8@xGl+I({7%LBIIeX zkw2Ca%}5-Wzo<989>wV}ov2VL!&0YL(O7tKe@HgpAs52fz{E9*(DE>-9JI>}1;WGy z%JdcIigxW#qXCz`0pMa>iY+KhdAP3k-+brq|MEwF=B1Zb+H32>%d*{!K;MwPDjB`L5RsM6*(bLA);pd*(^nzDKTza z!HghFNOx^SnDap=R0%9$zJka+r*k4_R1z9iWwW|J(kgdI$YBXc^X(!j347pB0$0z+ z7p5==K_et-a?T!yM zDmc!9;gAexBW4Tywh>CNvI5pI-6=qA0bAXt04oJP&5@T>!R(8chDwIC&cn>CB6`pg zNqJlC)&vpPTh7B}g0XCRfUCe3}rfuv8vxcNkL6w|{+x=dk<&>Uu zGePyYva`0~UnX-j!M<|o%o-;Y0N26%7w2zV> zeiXKv2TSRC8Sj-Qc_JybBefP2{O#~LVX|(3ayAb#i=_0%9`nEh@RbA?L`jyQh_qd> zaaaxfw%A2bMh=}FBpyxfE4^~k7fmyID%wb2BoEYvnL)G{9pU~9pYgjO6Sk3-7ZwCk zWHq6LM24|iiY00)MuYPxo72E>j&XFSS0a%( z4%cI2<=Ki1YKH9vXl~|+3duiBmuj)ag2!KCqyxzMWya+G(YE+Q6lTvko)(_ z9>GiumVaRWv6z`z8~-;Cz=Cq8(8_~#eeX}c_3!=S$KUrOZ+oz1_m;Kz4*rk>d@B0QY*)BTy)Ms<8hvb+82R6Dr`v(5r?QT( zFP>ga@ip-P4<|sa)92Z#er&Jy5pa7%N2?q$17VYe?&!h6JVwodUt(}ST8dArwY@SZ z>eE?Zh+WD>R?bOKDKJOH-}Z7s>WUf45pxYp%)-?5K&L#Z0XPgQ+r_NS*PD)wn3y?- z#7*raXDQh3olVOvfzu8-HE(YVZ|O1R7gcKCU8XE&cUiC?+Tm9WIdV?293*H=gHSLj zwvQxD6Rcxm@r;JCXn^^wclXC)J6(%dKlH2k^syw$60#XW3>_I(S%j>Id~v1607Zuk zD}80t*lDF07AwsGe6j_Gv*B#Z8K<-1jMLe!PCVbW1(NEUCEfk1blw- z*<^tl-+W0jDHovR-WL*4W}YXkz?R9pn->M7rLuPXINUHW)^?hQz+FPM>q+yqiCv!; z57{)8mUTb&nU8q_w=*7?xFfW;jAwd`4^yYpXWfA$(&v!IXKPE3S*<@kPv+;eIOnko z7?KNO_T6d#^KG>i#ZG;YM5McAkqIAr>THg$Pk7Q25{r4gklcjHK42IQsv=p!!XIqo zeCvNSHJi(?|$mdudV9^>x%UTTUYpW z!OwQF?Sk6s{>`>JvbU&0SVp>~sSO}AJtsQN#QDk7dLAbG%2O(oM3iveD&YOf5Dz)k zGrEUyu2tpx?_Io{!gp;>@KS}?-r0L_Q)8x)AFCv$xd<{7p2xcX+v$ zA}LY{k@ynItPrwXQFeib>;ZKN&-2R@G180IwxWa_AnJUxJF6J-*$vsL4 zkzx4}wU5o~4@--a7^2}8B{gOxwZJrw<8YAC-Mb!gma-`$Wa?IWTCKU%WyU-Cdi$`& zo!Uyyj!Svznz5qa_)*WAg~)M>RWru;oE(I0N=f09z-qXu+nes(|KM})tatgPKmYc6 z!{t;s_8;z!8FGC$r45j6JZ@s=LHSVn;0Lb1b&W*{^sGhD3|;f*Ueq`yiqEi|HA;QQ z^2*WaqNaHZLwTsjB4z)h6(nrO9z(haqHsda=*+QzbMEgH%4(t6)3P}8@%8bqQK`@= zyH||jv^>a^%DWU@geIelM;f<3Edla$7(EieC>s+y94C7o#0<$mUhSeC)vzl5lN1`J zE^42yPY<+_-76bVKMo?@3_4SFhCTDLGUm3^+qiS>061Z?_ap7G81~=(CX9El6;y?q zoj%^}9H=n;urZ>hCpNNR?vPueJhvAic#??6yj=Vy4#g3Di-+$fm8dkElG7%7Es9&% zrV2D~m|!XTO+u^uT7j}w1dl3kF(61#nOQQW;>i><&7$V-E?3~b;~Wo;ypWLtf+~MX z$!bOJO<7eKGkAEKe&$f#h?0+G*$mQ4_kUkR)l};D|L4!^ND2Yfb2S9VgTvQSF~=WK z;nBrdy40sDO^exLW=;HKWucvy>sqhgj9>UGAN(sH`QV+?-5+e%w0gmIgYCj~<$AGg zGp<%wHo!k?|2Hc}k=;eHP9O~9ZPEhC&s`&X!}7aheKxTUbD*y-TK77iq3-uaUB#_=V4?HK*=I6&z^l{gB!FWKA>%Wqs151n$5;=03Ehr-F{@+k);2cBliO4T zB6s2(fFP;$#&aiX;P$N+*$9k>{+R!$+i{UES1j+&%haXArh8B<`QuYS&yOj%vs#e5 zi@3xC{|RA*&@!#pUr}h)U;}#DPPH})uI>Lym${Vj!!Kj?s?J#1>xKeKfp_{Nq)b%> zE`lsV>^Rxj9AY*Lbt3Ms6cGzll zrr^c+jxVG zl~!7qD^SQvt2Eodv(;+ny7KO_{Jo$4sdqm0^gsRQzwzyFJh*#R>{6}3HZ#Dsel1sT zwrWVqI^J!Q@5DyFdzB`~W0tk*tOrK$q-qFllya6-@}gSYluCJYtv zJ6ba}iaDw+s;CJ`QO`+kqz8libWYhex?lYIwt{JF&T#!Q?SW)HB^v`v8R-}z=lD^j z3A)g6z33ESfDicVtl}9brEo`pG$jRg{=&WR$fV~R%@hyEin|As=n@eMXtKF}2L{xrYwGL=7-0p)2rH#W{C1U5v2wz) zoL}4O6K{XyZ~xtoeB{L!HrgxOwV_t4t?s|E^``SZ+4cad)pbn$t1%70ToM`4TIoOK zF!D2FNOwfiuTcQnCHQ|ZYwa2L5Gy6(mjmTFiYQ@!YJVcTguD%q-xnXU6#n3?qUkpt z;|n1;w6Ie7d7nhvu~{heI_==O8)P0ZAkESmb#4vD9aDmU(~8*~3FNl4lE}zit>JqF z?yv$-v8)tnH2|>PSh)o!?stczVG&_0#rsCV^w7gf1uGF*U?ErX%b7@X zWm;ip^)k5)!(tU_-j_WrlL=}rH)|LIr%^pC!E z|8$3Sqc@_P5oJQ)>JzdhN~iHF z>8QqxI<9AJlQb-d2WpT}`Brjg?G3g*^FgUvrlHL;%2J71&QJy0$WE<11R)NT#XVyq zR6EoXCkB>2iY0~7FfY}=|rV5A|7IXABt z)B~Vl5V{f*q(g4>5QQr|YA0PaOj#EmlI4G@u4zu5Kgyk{O}1$~_@w3YM>O;c`mtn| zW@0`vp-A)n>X&edl#AnVm3V*@6e1=ezRwB7x-a!K&#Tj=M&M;|)lG85)Fn3e&Hrez`zitpmwGP9|CCd%{kpUQmI8H!fnCnp_C&=j(fmiKT~h4G z7T<%lykB?sNi`#DQ&U$~N(w|&xcz1tZG;^uZzOy|F%47u$h`KcmKd_=@@j2!a{^iV ziiqnm{RwRvk<=sQf2MRUNDOQwGgJRz zHqrm+7CjZ$92@0-*m1EQE;eNSh@|L-rz)B_7Ian(xz??&UR}EU_RI#xy;H1kK$sV6 zp5=DXmMbo2TNYau!-8_Qzwc$OkP+l*Yqk zgB{<9MQt3lP2UnG8M7o<9Xum44K8egwKn}fd!r9&yQ8$3o<6!UK%7#sc2mk^wnHN< z)hW7`vb~ek@u}n9yRT(v$|#5fgGu+TGuNy{n)yp-5^{_%jLWE_*lD+Xw6wfJXbuc- z;9-_1Y!Ya!9!z<;$|H6&F(tOqT*%ey-(hQur}PjLF%(|@`et?R+gVh)=H~!+V?(eZ3>Y_O)|x%n#Vb(QGUXzAi3MMq;j8+w*(AWb!d0X0QonB*r@(Z*`=ZL zi%)Ky1lsP5A^Yiw&p!BXHUL8bi!F=M@B_Pi=x3h$<)8c5o1b{%we`AUTd`H+X6wba zm7V)}ZQEwtJl_|rZGP1E_u;;+NhC96{bt{;%xZ{PS~Io>HARDs;++%r(_#O+ejsN2 zj8CZbex9m?nyBML?TxINbM=o{*5zS@&Mt%7CHAk0kbJZ=Ak&Rt#qW8BKTLJ}@w5$C zPf3cpA`MD`5_d3tB&6aW)=3jkc>f$61o8kqw=nURNZx&?fY~x6{3tzut~C3*dh&=` z>sDE7MRkB{t@KoOL!YSkF%U`>Txiqsx8MsyDO^Cv2+8Kj%fjGUQJ^dbM9icSXug_sQ<`OYUTEw_4-ZsAO8nG|2d%i zn_vI^1?SU(?V6GUK|u;Odf*r;4G#%1v^`6+GXX|h23cwBh27dnzhH{TnvHia6&z7~ z7bu~1@Z>2d9mdu?%3^kqde$fFNKS<1^7HbCyAEV~VF2AAAc}#klu!6hNM#N`IfFG$#i8h!g6E+O4T_#WA!5Ud!W`)e%4NOr|b7g$(+jTVyUog z3QW8RKvhngTXYg6AA?JyaS;cac8Sj0FocDEQ<9BQ66*= z6=G@UAO>+r`peuQm9f!Pu=n5u_b`|;>;WD8-;Kgt42y9A7F=qrSKD9z#Si`LCx7zl z>ipp5vMuY1bv3KpR$H6jcV)fUHfI0EUj2J=E~`}klbXM#%q)>`PNEw4G?g|*_NpK! z1$Y^i*q?2{w=@7o^##y4b9>S!pRKhrF-c0WNgW&5P3r6wJ8qSdCL*{IDymG{J<4Di znyL!hxi&Fb*Trm~QkiUM?%TCegecw+x0|}%R9=%e+-_{W)Vfw)h`x1Vl^-<3hSb3_ zPJvm__g#yXla+HRCzLamb18RF&ZXQ1u9nl?)9KOW{K)Ba=XAca+&y2N3JT21aI{x$ z6L)zMvT%u1wqxG^`Y`V0U;RzC@ydqH1AGA5mqr9;hnp`xl`wPd8$ z3^uZsIn~diny?4J8~e{w$}cB!ms3hoTL9>(5NYk42)JFtJW8n~p=5|9f^pp!Q}QAT zBNb%#ja0Kz$MHVcM?26&it4aBX95s!xyah@Suw}>d8>8Ztb^Y;9Re4Gb?|w zUEe?5`G-IMvrj(p_&@uXzkPYIo$s9MrJ}GF!wU6#aO{NR9Z?NSTT^dCltR^s4DFE5 z@muFq!;PbkN$Zqysxws{>q)%TI*-UZ?bjWOKY2X&T_&iUL24FD48;cWB~s@!@=d;d zDile0K|@F5RhM`wDCV zjAbfs^uEy%nkH%WzjlfiRW&cj+*A*A;%+*QEOK$nv<7hZLA~IeCnBsx0Jo=)879BW zIkOfunZO?q<&X1)uvrtcz<y+lNz$Mygbyeu@w94O4l zrn97C2n>VktC^PKL>Zr>j3-eU5WOKjjSS%8XdpBOXs44j<3U;Wr$ z`@}~cR(o}Oy_WT2>xH%U!T+{eZ6RNmG5cqCG~9rfO!TX`c(r&;!qk~7dMsPU8(fZ-Mk}7}KnFpAiB7(gRKv15 z9_a*>*$*-qgX70u^OXxFiAkVsM;V$3;TuXvg>(pKU@M2m9FcJOY$<>(R?1RdocBw!OZs54ZL8?dG~}4{N&~J6+vBl}DGW zN6+`3INf>le7=9abMJJzyOb;71TMzH)#}F0Dr#k|wOXws`_6GKg0gLRLbh7Gdsr8S zp0_65D(ew7iXmx^s=SzF%21`of~N2VZz|TYe~jcO`=nf(o;U{@`5nnBIcmjAk#uzE zW+g9l#N}dJ?K43TbW9X$3$ks$-v-1oHWN%tn;f$?PC~*isx;WtIGS0`*pbQeV0UZw z?=ed&V#I6jz-G1>%{CI%Ds62I%*nPB?6r#fr}HoU)K5SC#1sGY|MP1vfAhhet2=AC z^hUPO)^I0qqewk1Zu>eOhVAy)U}d<6-R@otRfeiO=G9CpWYf&g{?-v`aIZm7DI7_l z;Kk(};2bC$_E4%pZs^wQD5xWW)CJaK0y!!Y*%;*HE+0`>)3t!+n(SE$!gh*sJbR9* zAy{*5@&;TW>>aDoRrqid?f?$W6|%LyPd+vOmVWbau%I|Qc89%;$hDftto7vyv0scG zNt+*aA(G7vqO3Mq*~Fd{867I2tU`5C0Vagd*?#jhrM}2^T_!2R!OEo?Qh)hA&z<@e_7WTyUy39dia>{M9OXmCTg9~h)a_zA>yqK{6o2r-Ap z6h;zJ=^ThGF=tJ7?-Bi>sT7_k5Jv%o>V>#dM|``n^$&$3#j}Z* zyWGG3g#{>JZvdL+2ROB?-{typdGwh(zx0bA`}7BX{PmR&d8uW)#=4N6g04(A9HJvN=5f=aFwR}zMfL#N? z5k5dzzh5b(ZT36s50ZF^-gK5>Qt{Z>6YNwlPqcT9QR+*F0`(v*cN_blsZG=TCwa*DxqZuB?MRQ|zZDzI-7cORtEmy>u%UzuBEq5MUt{y9Qo;cro`s&V; zS9c!2TJA09yUXd$Vs{G92HHl}y47{NY}-m!tL`#gmUdQEiHsT7WgQn-8I5l7Lr@k{ zO;%APzW`dO2%}j>YZTOzuST21Q1iM%p-ZO5H#6A~xk&H>GsLMrb`3>n#4P5tCfw?k z*HQasfK>=PtIhD+Ql*Ahi?udU8~Pq3x}s{X6dKkl1d9xcxK3`wT&X3Oi$a5Fz&7mx zV1*?5)^r&82&*u=7z|q-Y`+Ed^|}G}nIHS$6OTOhfBkR&mv4RZ2lwvYso3fU>yC)p zhY2*Y`o5%>S=F$Bn-p>F_FsV7wo=_hMwnGX7;0{m8~0?pJj*CVJqU}*Vh0NU1H<7X zYGk@wB8e^-*8^-forhxYeHe{?i~|`&g4h|yI63NBx)?amT|&x-h=g)Uk5chXV!0Hu z#Yt+eH;jNY(-ztD{YVzUKG@JqxF~>X+F?pAKt`rO^~SQn@P?|-AfRkQHQEi+u#MN% zHB;oI>Cn*S{zlBft&F=NYl*UDLCb8#66d`p#aT|o7OuUJ;$(DuRvjYRkWQ1^2 z`2eDrm_wq7-sSZUGn1&>kK?GK=FA~t7R!x+Zvmjg&S1O@BU?l}T0&lgSr~?y=#=0U zifWT=GVZjWOxE{kxN{glT9e7}K7TUJq@EHkpeca958AaoddCD^O_nF4^7arfji3}> zTWA3x*DlpUso;Q=c_?lOm{}<)zX@?UsfdEZZ&n3Q2ASmtl23iQ4pzc2WC!sR(KL_U zB9=i2Et39Q5Qz8D2GDxK7XUjo){kL9xx%uX9;~lF|G}sJ?k|4&#kallwafJdms;wz zU2eEuxUSqT+*Y)@zqY~uhFYD$-(}OWJz^iQ`%gd0nwofBJKJv7nbryI$vy@pcfcQU z2T(zsOz~dA2U25!SSmH%S2q?S(w~SDD!GwY>YNsbLwmmXD4nzc62 zvRRpLmL9Zp=R+codW1H(!=%K2 zhP(|Oj@DLFo|ZEF!!FuDDIS;8Y{Z=b(SLss{5xZzd)H+uT;lg#YU$Lgkse_vHolOd zEnm;JoNYPbbVfPZavILyGfroo?(p>F>E2hr_wE1YfBqN$=?h=Ecki)v+js-J7+2a> zv07`Pxpvn|U&U5K9kZ6L>vmDiSo%4-jaOfr8mEC5(3>MCsrKi0qo~p-x#}@PsZMZ! zz!JlDBFo)@9;AnJc|!zQlnRB2rnK0ml559Ptzp#mXF4^P-8nPNDJOFTU+5GRNfCR4 z7|~jG*-okq&sC7UR)b;~bKRvl5=v%vjCqjaj-jC++RUe$bVS-#!3Oqkq2%d3)bu}y zBAVGPi3*BQVnp=H0C#A}w4wL!TG)6>mvIXzMG32P7K9_cBNkxE5#qzQqIqF9rd_=O zfIziPM;anbih)PAH^uYXcogkERsD?v!z$74h;5WiO~UO}4Em=-la$etUC!;BGtF#f z&7FqHeDJ_Um}Aj`3m_JPgs+W>Hz_lIr9gT)(IvG=-w7HCMl(0CPR*qR*E=`^<~D{9?rMalet_P5J9j7XTp*E{jNkfD9V_T zln(w6W16HFj6JW{QlLUo%IIi|rvZcn2+IftUWzSNPRqmX=7kTx<-h*r&%gQcrys00 zo2{2}bHRGUZRK`T*Og7~-)8@HL$E%pC8w|dY#A8a(}RhRhOg%0I}%P^u)s}|9T3J};A<`REt_C^T* zPNzxVp} zcP+A2{JpBH;zPi>2w2RqVj3_9jl%)Q<61u zuPaHS-knU4$j(o1*z_T18K36996(pOeT~veooYsK<7TWC6=$=%{QvUxr|-6A*;OAn z$9&&?&beK**+ur5O4LG1vLvLGQbGu@ErbLJ8QDDbvHq?4R*%b7ejbcV#(=RUtTMs| z0YV66r|dH$BBPJE-8p-|@0#^ttvTnIYoC+|B5#~~?`d|k)@;W3jpYIEyl`>ng^R1_ z4tJivxc7mps}~RJGs|*V1-kFsao@MSh1RgMX@L=;(OTZZ&3e*Q&)IHeEjHdZmT!#^ zvKM)N>#vKtUaKecZgvZtp>InVik#OC`BrRdQDYk#_MZ7>Vz6g{)q;6blt>rek`c=m z{=D8}B`yjYXQ!&hJE4n(k`^=)D=5P)BJYfmMCwX;QLyD;*vr!kBb<4R$nnzAV@ETf z2hmk@6>k7!Sw#=B9I#x-#ibms_T|}&%eNoC_uu|+zxS{H{nrkME8AM@4Zx|%F0z~K zBD+Y_0Rrk8BlAqM=IVjw=HTW!r2fIU0{1~i8-Ipx*w)NiGD})4Q!xZ}F`#Rd<}29% zmP0+B2$J#vAY3t z5(o-QzpU-75MfZ4J3!`E6+CO&0LXU``kge#F@MEK=_Cfl%1+RsMwZ*6-zm|X?Ww`6 zrIG(FdCt6|qUSwB%q+8%DT08-#3aVp?1uAw3!c00-Snn z+VlpM@6SQ8^!k(_ER+beBtrwG4Z-aspji4u*Jl+WK}c3kG0MsX3r2 zR6bgovSy&JM z(nU=5dOv>l^B?<-|KjIgxc~ga?Z&X}vK^(Jq@8R(+I~vLe~oD+#e~Twh=Y{?p=oKGsV=hGvfK7DJQa&2VDCTp0%pWk@oMyc zezQM)_xSeruAjVe^XR+R*KeGTZ=d!@t=$-oss=2&=(;X|s$6ho?mMAo^WL%gtz~K% zC(EXlw7(H`bMDI?^AKYlOVq%Ge3&LC#iNmz27w6Ustk|bIPzef_You`5nZ9u-zS^d zdt&dk>u=i=dn(HlyJ&h(4-b|AUqGP0i)WWR@4LM7($#}cT;2P?#l6b|F3?o=X8YEx zHQUCk7CNMKu+Deyeg+a!(%a1-VoSte6qJF5_frV@P(6E|A%!zGziY#a*O=s|1&7Ba zLRe?d7;m)k&CwUhNQy*uvIys=*^79{q?qiRg|jM9m?9#h6t%=W@Up}=c#V>jr6ki% z+keCN!v~!a2yLv9`sdijh`7~MsQx7EDyj?K-A)hgJ@bG6)xY`Rng8Q|{{4S{Ay+u4 z?Yk^0X3{$N3P^&4p?{5*8$I(JkMKuh>G*1Q3m`dqJXWO>TzSWDuwgG?-pIuMD~2ZT z|5NJLtV zeLr_t5y^|m>`joOKgdx$?~17q3P!*8R|-;u2Yofsk~Qiv>%hh<*mIExy(@EaZFN*; z#!GIai3-oiWcoMF+>4Easj`S3%_yGB2sxeF+qKSoQi4vtq>yh#wMUE&R05dsd_B?= zQF7SRc9F6H<6=FB^+@%JvFVI`1a@E|4pg~fVBJE6*QZ?1f0$rk~o<< z3Yozrq~?sJ{+TtH`dDKxKhH69ctKo;6ne&vlfXQMP)w|JBtJqT`nf=T1{Ot!Tcm$G ziZOrmAS4X=y+Rh~vMh&XSyZ)|o!a(pd-T@zqnEFrzVh_Z%Qx3=ZTowhJux|{8WfA_ zK^DPfC(On(u%mHvz4yM$ zJ0H2Y|EY_6AGo}_e^{Ysj5a`kuVQq*XmEMpd4VDtBM(~W7+*9&) zL9Xx+>Glcb5H^mApSg;qlt;uQF#(r@dnjj9(!&#|+1Kr~3kj%D7QOfI#KhoWJ1~Y>1P;T@n)dZ}Aa) zw-4_Af^2GlG}WfCN89Pa#l=7P<-d9~`CtF#pDY{JRrh^YARyU!NKxR%cr~^l|G=|} z#}s}jsQbCB9oFN!$d+D((JrKXt_}5AawnuX-S|?r2Yps z=v1&8KIZKVV%jihY%EvBP@q~d(C1N&X#@)vO|#{gCl3E2i@U|rC&E}O`cyUmH!#cHR|X7I2v<-S%a*`UMRigHZiL{M zxY{8l8&2ZZ7fXFNzt2=CVa9mE3O6_=hBmlJYH4q9kh&oVp6M}&U@weV%RU~2s)*`H z_JznYvVnDhED*Hiu$)d!@8iGxwV(Kv&;9sGmdA2qIPTJ#w3F=DcG~Q8vbM=~(`Wx? zHWt9m2)@}W447-^x)aFyyD^~C1;~Z9ZyAV`x*(?Zd*WZ@0p#ymQT4Red<8wPuUczz zh6=6Y7-u!6CKFuA8&mux;$bZ11G!VoJ4Xf6_WrfAQRHd>w;#-hd0N!Pmf=_e)#gu)9>Cqe(mP;cC#m8%9rPT~N}M zR09@}Jw1n;n2&}_ez<6F#fBi;b=z%exU}WIT)tngKD<8jiF^0oe|7cz;qcr+uNG_j z@wlJ%ZEIVzHqtzri{k=08h)FW+qoVRZ26#>S>PRP>e6XBQ)HHr{z_+NQAW@N6*@%= zr*@)bQAk?gy|bR-D?vq_a4c|7cMhS1yaAFyU?B+7=zjsxj0WrRVewZ7KrOi2=a7U@|vbgtQDHR`0xJlAh8-5>_dORhaWF;wM%~n=%T>#``|AnhAK;gp}4J zy^>7Wpi_US!jM|?)}M)x0G$uAQS~ycKC8k-E3R!I-4C34GSQ>NZjs3tO)^4FR392+ z<_RTF`-`i9_bX~N8=8`#z%0%ZE+?Et=c7=zZXgh|q?gT2@c5R_c%7b20T%hNxWe`B z$zS3%0YzWNPRZDQo!Lh8@|Jk#xih`S0wi~p3}(@`*H=Ap4MB$u*arg?RKi4yP3Rsq zue6>oNM+6V4A($fWmF9xg)@!rVv)i5>4jQEeL-vysOhqtwx;*&H-7VHKmSud za^38y9ZkE=XK&Ir+fTM_wwscck(?DGhdN z0O}H;n=%U($fXD^*`LmNoOKR!S;NI6@5or=#XLi+2FTQ{cz!!v93_vueam(uHSs+=HV+(AAkGt&6}s~ z-L^jw90kx-RSqhL{xkMC%FO8;1%%bd%;fuudF;Xw5_SA#a0j^Ekfqu3JfoYcZ`@J z8ro^=g?UgLmgLkrL(78sJYaYjAqL^UQHzq>2|^a!TMwCt+k1Mrr`HOo`VV9tL7M8O zZVbPz)!14Z9%scJ>Z|N#b9l=!#wco}3{=fS%&J6&a3Dr(SOU!!6Ki#OawQovC-PnL zrDRe9+Bv13-zgS1L4QDFsRoi#L|icdLJ#G&#^7MEi_hwuD`&`{xB~;u(t?c#>twO8 z8Z2Stb2FZ&O~4r%^h&W!uVT{@cRt(j=fJzq*3;>6_*ls4=Nt^o z^cDfhHj1(oMIhFbVl8`ymU=MU_Cr?WXK?|5GU-d8Nd42WLbPOACT3bL1nTFxb-WLp`aCiqRr|<)h<_AVOw>ft+kkb^W7`fd;#dFX&-~?| z{^57`<0iYQ?6U8+@3J4QZL*zgKS?`D+okQ&ns~mi1nVKQ+?_HxGgFRdI$ z=Qtp6C`bZQpb4AuB0t!c(60Jag_uT8#J~ptie*`@biIJ?&2AnY-+bkrN8f$&@S9I> zzIVELd)uGNvWY^MWmSdUG26}1x|ISZ{9uM6o@V@KdVZVB=6N%ac_(y16#Qw$^?_-| zSyST765z!RXW7OVLQ%rN=2SjACz-{}(7%UPcL*`d?z>jtmT(BqkD;oDq)8Bwy$NIi zR?*(apU~cHk6+s#e)06?`s9`8-@SPMa`(fR4?ce9xlccM@V>k2<+90s(@r=0Zp~~r zS$zBDb6SBekkT2QGQeKsI%X3b`&A5IV)+`WhPbf|f+0RX z#OeILJ?IU9By-+c6Rg-5m1{X3PTSA@&=2b0*Z=-^e*e9fA6;Esw4VGTDkip2deE*} z%rsw3!^ghf4mC7FQCn6IqqH!G4&;drh{z&h>bqE1v5bHFd#zs-BcfYSU0^9cpfZ=s z=<&{JR{nU#ZwWp58BQP-Og>t##-ACtbR84ZVaCAFoBix<(wLwi1cyI>6O@Cebyt zl*4Yv?>8o$dvg}rgc7qYs7Oos^Na|dDrS{)lMl%)MK4&zV0gr65zPU=!Q5f|Aem3HBH+g*+B@Tn5DMk;tys*5 zkto&-zVaiP^WL)~_ZJ@q4+}n(HisBzdLWzF!#rwWDt;iPj9{N}e=3`krkC(E)0k{2 zAi8Xz4&z_N+QrB_{`@EmBceR)K2mqmoEIr&| z07?|5y(>JZ9@cePAl6RD{rJ}Y&Q~A3^UX(3UcNrPy|>40xlzc1rRx-|WmZDaQbEot z8j81RULNrEm=9VCc`XAD#|PUq=q>Z95+rXq1r+VfOlrj0WJLaIidUfIn6wLJWg64- z@n9P0Oejt`tLAD;{Hpa5(_z6#Ikv{JKjH#S+_PVtd>6*3jCW z?eM(Z`M||9pS=J4XC6HB(Yu!q4(+g?nw>VYQ`>DHcp$XaWgoqdA7~g1gXq*U8G?EKz)ic zY{5ZNYhos7Ar~78GBiJ7Ti+=SrM9q2bHr3T4w|>Q)+njM@-KGLiUp_AqMS9`N1ULP zmlrB4&f9v77Q~wKGYSeTY6(kYL`yQb*)54%g+P}a!Hi%^mS@2YAwO;5?&pqTcD)xp zd3Crj;UlCvRxv6?Utt6-vVj#0?@Y=}V|CHDQgmwpl_e^~M+YV*jb-F;p`q7sz#=>{ zRynb#DaUY;2cNlHE~9qPyphUUYGB0#?)1S5pn`iN2f#?xIsGWn3*vYGSxDn~Z7sFa7s z+W^`;N$N2`z>4f};)Rl<2`J{h0l3#30pdQ+=eiG}1*RMtuRr20bYG_l*?gD5kjoj5 z4q1pPFf>0pR6zYd7p&{@^y$qD)C&<-~F8^Y~nr4q5r`Qc6Y@i7~(_U)UtNFhb=J3KHlV7gZW&&bOYt^YusXefP=f_0#?kx?zz8 z3sgPkhxAxEI&Hz^Kqe@2VMloSoSj&t@$tC6Y#_&dY4he}SOt`WDGQw94E8sQ=?KJ2 z|7n2V$_XdFOtr%JCjUlgd+35SlJvQ?m)8%Jx<$GmUSlHmbup20g@}i$S*YDP<;EWu zCt6zf`EISXeMhs)?eP5a;Ny3m`Q*jjPh8%6>CWBvT|%*))jI5|k4>KS-Z>g%vLLnBN>RYS55R}~HN8nl0U3lOYE{jZ{A=kH|FaSe<$osIrM z4FXmFEj6g<0xYsD&(bblN=n7TSRiU!tRu#yzo%R0MUl>QGqFY~ zY1Bp7xLb-0Fn73d+qcZVGAr0iA^YW&rD$nw=czgU`P}kl>yZ%^QmWN#VXeI8VQ3w| zRMO(W1$gBol6u?>czlf0M+3T_J$O9_XeOC$D-*v!{87L zp-hbG6BB^_GqR4q+5olLKx(W9%b@E1$(xm+bqI;uy!a+s^B7AvBi6_0B5GnYtl(iQ z(X#Ab@O=eP^<%SM0ogWkhS-!C*_X`CJaE(|v8EySy&;?nn@-?foyTfalL_SwQ;P+{ zrG_=K3W^9NGBPAXqw5az+!lqZhsi&nV%h6Z~x6NfAGT}cxQXM$!W*7 zN!zV$vhTg_w{74)t&4y9(d!6ur+;D;;*7F&g-F6(jQKx2*r%wjf%@sM75Aa_c%u%* zYOVERzGDJRylRno9!Zo>w;Horm{)L8vV#fdGiwY0)VUBz^{0y8*kWX}oS(z>;OAe1 zXn#@VA8upyqwrM7!R!&$l#fOA5~*DsGi3tPWzoxnUK}pkvz8U^u2F9e)P?! z$Co#GYKsA?rh)}#Z9Gw}ARC7yxm6II+f2vB(tLstO8~=wiqwq?jPkl|1fs&qXeh_` zeBN7OQ;ZOzn!PqYq`8%w1(H?}K^TEWnWgNS9f-$iql762?@cD#YLDmYxllzoDTss4 zG)+r1wMG>Z#LL3UAB%cLjSt%KdWpP`Ce~zc(xmCqa9=JzuFwAP<+C5XdiJCDF5iD) zs>hrCblk0HJNet9HM5>IU{2iX2VXPa_00{y+2G$YhKC3dxnmh`ZklY~V$;BMBc#Qy z01@jdtyjyedC2H5C2R-zbQO>#xXsEb0s>X&unRy%p^L|0dptY};F*I~cQgD%^voA@Y z>}yK>KIzFVZ3rbFmgU|?kUt*SMjV(_t7wJe<){-CGXb2TS4(g}iB;ttHATecnNDY; zsj%lJYe*CilQ#fFcgk3gj6|xn;gG9?fC89m>EfCIyFG=2rGTQ$VO%x|H`*wPP1v~U z6d=ne=;#m5?)_{k!mDj1YmJOhV4zcggvSjw*-*0m0GUm^6ZPE<(uhq6CNAVX=FI~5 zf_Pb52w|o0F4G=-rdh)+tpD$eFOFBW%@QCnP9h+&Ker-Q1+I5IaF@%ba+eL|}X&Du-1A5*2sUY_EKhj1!iJfOBD_QTNts!y_FiUi7fJI?_2 zwQ(mbLx%yt@BPsL$TDs=SLvS0_I-GN_a$86|Yl0@brHCUu02~Y`2_ZzaS^E5+hdcrI95JdHU_=DnUB~-wj2GY2ho3aGH#`7kLlo za;Q34#QJPdWehFNNaCOdtn@7kfJL!fEx1@0yOGDQK7Hrw*YAA!>EoBLk8hrEBdh6h z&?bK6+V1EjUv9;LkYbzCTL*|Kgg{37UYIh#Ri0Y<_GuF$;A7;fc zZS`PeEo7&*p$PjOr%;@GbCkFw*D)2ckh82s6r5}REOgwlYz1X;z}w`0YgEEPNXboR zBECdk$k^cYwA!}FZhLDxPPpIhytF>^0~gPH`tGwoc>nUbRZO>2JMFvK-lXr(Mnz^l zSfCB1baw5HBps~=w($Vf%1qNyAKlu(x{c0FeT}Ol zBTOU2QAPVlRCEz6qKXI$(?ymQOIHeMKlGbCb2vPF>*oLSPyW@P{D*JdySOwFYiiBV zAR9)Z9~%JcYk_9F3(2>>g%#V|aOyTUxwcR=n>8OA4CYVs(SHB+h@XR*FKc`7k@*UC zdZMm%j+4 zb;ztp=}CE%(Rg9Wtqnk>uj7_<_bLjhAzBh`I|jE^3Lz9!of5qU6KRptRf$zeAprrJ zx1u`n`VXA?%t}15n#z#DYEw(%f z(4jS-swJ&ClNRV_E-*bnTBG@NiNgI)Y3{)WvqtIBe;aJ zA^dk#tRh7Hp;iKj1bT=XmgE!+4UfO`m{2B5ost!>h51o^g5dNvokG-;EXpW#0u)nq&Fcpnha0Sk`J@QQdN})04E@if&s;z zHomHQawk}qOHN>F)$_Juf*g35(-Mz|zM+l%#_r+4F~#3gz#(QWVmU1Kb)u$Z@ir+1jpU{-*U%`Hk7r*MRRY9H8pE0VFTW5kWqsA0@ajCsc_9YM~q&9ve^G(9rn|>5f1&bpQPe>3A0pW0po7 z5Qavx_W;2gRiE}~-x!QGz}yvJy2$7RR*VKHW{W`1a{~ z)3(cYLZ9^SUH`Mm?zqpc`?qE-~}MEsC4 zz<^L3pOhVE^^Y@Vk0O5~)>Is(SnvBnD=QFE?-(QM4oF?RpCDn=usp;hw7!v2Kkm~U~b^);z ziRBqgcw=U_Y|4WF4Y8Wdf+UR?GJ~uTwyG|>FrSjjG)DoE3oYs6|cod zgHB}g20%t+qe>cr)yZ+=516Qk+KAv)*a&}-;C_mT>eFq1=Fa7he&XYAJbC=`tM6T2 z+`+O6mOdyDS^UE2UylAUg{VOV{=3$HJ^q0CpM;?Qu_06)$|d!R2rgg+wQ%vsC_M=v z-fY0{+?8|w%&@c%6Sk+UZZVVZ>2RRX0Mr_QgR-X3k1&6WOxxd3G*$(9>XPZx+L-_W zY&KxVP)4^*W_SKds5GGrClsrt6mA!DvzWEu4#E95i^);e!Qh;-DfAgdzRB-j0yAf+ z%i|EM@s@(}&PS?eUH!rK{><;mDXQWA5Bw5)&F>Z2}l|wRM zT9%hMio{h)`mCE5yD1<`9ujrB^Yv-M$ph>MpDF1I#MG0&9vQ`u) zJLQgXqevW;!YUvRS960PT=(BY!Mwy!KQsL{!7};^Q$R%* z_2XT!0tW%~`grrR|M{nW?N@&8?!~=_+qG#s;dGR3leXD*v~839WcyL}&Guca2Z6Pm zByaX80tak>?p!$dB%f&g(X~?cYjsaooG6e93877UuL1F#%kwa^( zB=?TIJSvuI9EaH?g)=_trf!x!QBlE~B&;BFpKA_Cra|^VXcb|xe?a=R_NEE|%Q)zk z;Yk$jFA!-8;NqYcSF3J%{p$ASw;#UoAK!fZjca?$bl2fL)DClLeZ1%KTV$MZYU+3( z`+K0Z*iQ~gMoT7y5bMnae^Rot%!(ke5lA!qJPnx#8Zr?>&2==g4kO{(ky)h}nk5a( zmH<}1dF$G_kSYy$W5U13i-*2C(mFJB@No#Fv`>6-c6`eK?27=bgmfu=CZkawIv?o+c-YtjK)oym{I|N6 zXu$Y&*nGnS;Kw}^fi#bJsHtxZv={q}=!Gr^(M1-;vWPCw1z4cKx;A@py>q(3Kl&Gc z_<#NDuU{;8Y?pR2*-f?)CtyuvGwGuG-E1GvDjMa(?Udow2(8mvAQ>RdTC-+?y$6KE zDz^`j#BD<(nao6N7sob7XmwZl)mDo)+U&D-aRCEPst8K*{k>pFz4+ z%L;($BNSq8;o%~dh*+Jh2ad+K#vyMUCEgVGnCxGh!4pR0+_W7Gogg^2(no~6uOxMI zmT5>aL`m;1RgEzmnMV95nsPBEVs;n=T&0@vf`WeLYEH~2&M*QGJS8jh*cY5ULWQUw z!w?i?FQRs`zCE`+fnvY+c)e-*>1C~D75Mll_>)WiC#(j3y_dd zVcQK4kBr3rHtIgL4#3XHQp92}i2g2F?sdOn(NqE)WVt%%vg*@!kKg;+yYKwjqlbTX zee=E3@>Ew{7G1iUr?uT0FIIZ5#tIx0>oPwfC$3QiPpNg}1{Q*86Q6@cl{}cQsj@cD zyRF>W;l!`{JeH&8I!>mE8Sylz_2SbalJcYo01`L>nYI(cL2SG`2x#1SfC}qwd3!;! zK;phq042z6S0;iir?jju6bMy<4(4AOPADWd+?b%FaFST zFZ|&Bdmq1$3)~#HZQI?7*@m6I4O-Cfc(x{lVM<+4uMMp^w%LP1I97qq4T@!>@cMvo zSX~m?E!UA$qXk9d4G?a8(czUhsK%q25Z%#zs}3iw(?bV-%eu5`ab}PzwCDcz>@A4) z6yff~=#8Lu{6ZIi4npXd@#xqKM`+9V&pwGCx~_5Dj83ix2KR5MhXi+f*ShE;y$x6n z(1R?i$usLkJIX)&7k~UO|MfR7mrL7Wo5|LswYHn=f|FP?bTdeo^#?N{R(a;(jm>+2 z(E#i{Zo2c~#*E0!T4;NEW^n8EeFsVOse`p%&^MDNt@A)zq(tVa(Ua_2^OU46B}(BZ zZ19O$F$YSdbWL)KNfu>rRcVvXhQ(V#5pGp+C@Rb0g^xoxlC>N~K#BZ0w|19mds=n!cBSZcYNMBK zX^932ne>yrA?;;ise#+;@UWl;q5`fnh>27}GV{wy=G4`lNV3q3$ac5nV&rBQWvK;1 z8*vy0zrf1Qn4DiY69t6mxkUX{<^9ZFLB=OJ;0GS3W<=+lohVY`J1j_x;_{v%rz@*C zGV~y!{25^ZUU(uiy!y6%w5VY-^Ue)JRyuBwPz^bZx+_#_k zg-`vxzxDZbz4Lg#Zp*e|-_VZceqU)P*-y4_)^=xu+sORtr}el28q4wxCDe(45k`nW zE9au49a02@m@JBWwhDwWhCxGWI+PsENn{*oZFBI~ZMg(>=ua;}n^u~|q(!6o4jYXB9k#+D2GTxaTvP#FMAv1#w_e=8xL5@bzxCvs z|MHD*{O)V7{r=lezHp6qkuxS;W92Z!L{V}=#2I0r55UBZp zaGWr49psaomb+PPWrPQ2;#~k#G;v*JYa; zqVdaV2X_*6aY$#Dq&tK=k$P;9xjb;}M$qEqsWCK-^T;Eud@hJV65V|MEHo?QNMB4B zU6+I2tk>T?z4e7hZ+`K~qi;O{+TG`Ib?>mQYpiSCm68m7G};gkB4ByI`>h z{i?iN&Ncq$+WqPom_9LQ)cBbS5H|+re*?yKYIR1#<9e$`Eg7RmrMw@54sZh7d(HUU zOAW)Myvfq2q_FVnl`8NQEU|MP^WT#1AL^J`SSqzu{=EOgEWjWuZ9Wny!mYohLXMv4 zrJpf-%$vjXd&Hd1l0EN6vIKx0C5b(7vV*LTmXOu|kYX-F^AipMsKydN6uPJ=umY;r z?dGR`{!_p8Yrk}PxO!wy_w}@4KMk$_wspTRwv+9rq5QEX)}-wO`{MyW?Srl5$ahG6 zd=^uXfH6)&Qsd0sVlCDDeH_%74M$(D<+ig?0$6Kiw|EiE{+z7CbNM5t8(!vTy+l5R zKG{E@*)4bTZn@yPP!=k%E~FkcJ`{qrLkIio#f$$%RTsE5V7WS6+`qWIk9B|4Uj7g7 ze(iT(`}Y6#=DUCN#9nQe?Qn5ev8YI=cXzh8|NIRO@o);XL7Kn@2wa-<(9f|l?H5H0 z^|?P9gbN(!M?0V4i$r#_-IjT2RZBNS@IGw`{)Rc^y`_sFqR8PIKQWSv+jKq8+0Ee; z%=>|IpsRtXnihmB=P5HCIP<Z`sm0qvJU^8JhJ^_eq2Npl1W@C; zTIBOt&{t(rvBx*wTAwPfhjo>MyoaaX*xvc#lehou(apOzhr76U@A7b16_BRQ7Y}*9 z2g6@EKD56~S8By)MP8}afis*=R84CNQ{(BLF$pTrdi}FpaX+u~7#JU;4 zAPs1WUeKFB^tju_iXZy;hu%H4Z@&C!)eFU9riQU+kk}pjJZV(_vIv%L2Cz}|53AYu zx26}3wEilTd1(muLZ)4cd8^{e*DBp7#ax62QLvg9B$_VaYP*}NHXhaA65o!w_yO(x zx#_gCiUoXHltpoQ$x6a)^@Tbz;gri_NEmuf~dERmgVi_U0{{z36c;ZQv zdW$(Cy#%E+ppAuL+L#n%b7+f9aAr|uw+6{bT0IGK8Bdz0)>7w=iJVk|r^B%kF%7Nn zWOETDMY5JC3NwZvm1PODs#;xe*M&&vrHNS)aTMO12veZScO8X)KHMB~AvLL3@@z-0 zq&qs@SQ;Xv4+4Zig8ABw#$bld0ep|!kdG$wCoJv$AgC+XG-SiU^oWEnq?1BZ*pnF0 z(G^%4!@5AMQ$%_j5R;nzp9h8F>3;f^U;WWv|CPV2xOiyC({gjv(V9blpsJY=rde+ux3U?(5jyS}qf%wNMN> zc%EFvYyvJYar(7Q;(>`QP(n=nMIWP&GIb!-Z1(Ll6gTT4s$k#{&(3QV#|_G0g?P9F zJcd-emQN14UR@lnmc#bm@ttoydh-hp-~6*D*Ds&eqbyi-fx&h+Pw0Tu`5VOy4aw^E ziPFFm%a8_3gB6ckep z64Qrd7tM~l44c9;UK^xwm%;|;#U0~*Zs5d|Gyv^+|}9n{3Yo05Q5lb6`V z8pfLC@ie(k*0|ve0z~BI73-!1>8FP+>9{fm!Da00#@o`D4&56aAppMgSVG>Teirw? zsMZHL3n1uhW?P&hx}eYgM~%CryUSEX$6Q~;x4l3MjcK0<4F>2cIEWrZFJu{*pbiX$ zipU-4#d7zb{=4t|^WXc*;bf4upLW?qH?!SrZ`g+<2Yrsm+ms@F9&I8`$z+j!Ii*Jhz%nF1_C7nGrW9%56-^3I8P34YG52v2$41FhA&r)?;CakBt!4(#fJPpM zi3Cm-3eGB1t&*alW*T>v5&%urBqv+OTqPtR%ateS6N4N)TP%V=k|7ii_L*hfp_bhI zl?e?BygO*QF0IMi*N8nakAYBC`2qYRI#Dp?jP?43-Qtq{40Q{vQhwvSxne*;L~>;g zGyS|)=oYjW=rP-dChquayTAJRRWBa3n@#r(W>EBC=w=e{ps1aA|LDul>n8U;Eux zzWe`s>(Q65@z545%c7#POKUBnJ7s8dBbv84P$|p`y@~2?x|S@bSTQC_d(5!iNoA=b z&$xgLyd8PK80}y55~V+Y_X7%0P!0wrDD^^a$a2T{0ExoEI8u%+S}cUmI!F7X1tKan z&3`jqu(Sj@x`0h%;#_NZsc*?ho%W92K_ONOiPOgLRZp!bV@0C{MHvQxzrBESr;>nH z94rTpSUw6?8xN)>kB_|S(rl6C0M!*YhnrXTcfS1e?XNw3`snGh+Wi;qTwPu^k*#@E zEEI}mogWl$9Uc5L4m=MfQizI#7O3ftAy-GZ7=SXpyJbU<5NV54eiw>BfFEBY$=L)k zON@x$$_4Z?{QEB2fs!OeNvzZdqQf5GJ!gkBOYnc9H;^`l@g_^(1&?3YBBnN?#MDgV zgS{{iQ<$3nRugT4CVI1rn*4>2zJFhquYLP%ZK_zs7MOPLfk+?ouYyIe0t<%hXRHE% z#RUDD5%dKD{MT>^D|&2+#~X~9hOt!ASK;bXDoBFy{mNHXH86z5GnXQmiFh*P8zppK zzC@I2FdEaC5Q^UGf}lszw8#5VxUWwqB2`R%QFm1I4NYo_%)vD&7$altvlJCm#enAg zG3Z>9Q87k^Sg7?-X~@{1~`YNJW~vY z4!b}};6!Cb6M!aD2GUxmDH4Y)hZjCEXV7zbPN__ou%A+q?h}?MmR7jU05JB}>1ei6 zF4y{5ijmX|^EQOh{y8frC7q;BhAI;u=~aCLQp9f-&`i?1Qbimx2g=~~u z@PlNmj+-LhGOqumXqpB2bHmeoSv)y75dLEB8qvkyi6JCe2VzbEtfE+MmYbjYZk(=D+e4^_x5SHQw(iS6=*W7(k zyS@l~9oa&0%?&iS^AyMbD27j4wM%`p+X@xX%k}W!;^K}jkG}o%mH+GYZ~fkDul%dG zZoYlG*p_8kL?PB%Yqq=cp!I`z80{R|ZQYEAU=<;wa>mly`?I7kT2e3jYkX)LhEP7T z)_h9C7)nbOJ$!^00gFgM(fEY<25UykcYz3+fJ-%_S6hS}25ZR3kxlKJ`x9hxcb87X zB-4K5;%#0#4ss2mJn`#P<3&gaBl@D|Q04I`0hD0H1j+7BL>LV`0c0HHMtr^i7ewW3 z#8=?YW?5i!K^#C^znBwG5O942OFNQU)v(C20^53eqrLmZC+~dmz3VrxO>pP=i+lGk zAlfBcJ(5m65O>_%Ch4CVL-go11ExP}0kDvxiiK(?77nUx&2Lfz`t)mC9zFz2m9wv*KHq+LuwZnB2+xJg=?8SXKeDgbRFQPD5|NN~l zC{~fhWEEKji`d$~E75K#>#agp2f<;W-5%hU1_Flq(;ZMV_1CQe;MbopN!=(3D5lkj zDkY&~ekqf=L@EnXNIsEYv8G03B45FKNB>NBg{Aq3O!Yz|KB|vMjGrhIDbxpv!i(Hd z4Eh8kG1H|S`cT>%7LS03oUve>9B{+<-_xUZ^ZKyjUtFn=VhSB=KxyYzE zI$$h#q?bve{%3CqbNMTVo#}o6mW$^RnK3>SzKig`=3ni&OF^ z8`xrMZ6y@eWa!rH_Ux()QRwbLRSdnrrrGX zFMsOS|K{fohpR{Jsp)o<(}vR~+lFnEc9QKRefHm1xr63l&QsXMh#F=DfEmB$|Lf4m z5zi8P5_j%O?2xmiurczdz_4%y`0qNv(+cvciDYbmA6;g*8cB-mCr_-xXAywZ7B%!P zK3cLratJuoSvtJFV=)>Fpkd-2+H6jvr%SP>+BjVaW#oP${@G3!C&XB$-xG_536I}72>a*`PH6^qd$ zn0d!xd$SuXytzhWu52VMM{qU=DTrk_`N;jkE@}s??LEBn)u(TM@!{Lwdhhu3=HBxc zckW%ThgA$c2yCbjV?Ui9Tm!$|d<0Bp`rG|rU1vWRJ?0JNs9VK;2HJl^eO?IRy~;ik3ky!;Rw7E?3yNk3#UEF!DO zsQ&vuz>0yDSVR|rdYsu3)2VJm7Sr5u8F||LuM7ZkrdCKI`j9?TeyBMO$zr$(7lie3 zoaRxT6G1c10!M~V7DoVi0~yCgPjYg9Qioq~h4bighBuE52kYl(befI_tBMU&T7f@X)fkca0=K3iO2{sd-ryJ^7f~n0qFba< zTIq6lF;KL8;);oh;_iNv{%|jc=Rc9e1d4Pj1ea=MCOH5T;Ny~^9xw<`C?0Rh*zy-HxV__B}d`x z3lWs~3jb*m+*$S;*)gFQz?_I=)YEHHpunu7oGHch7lC-k2o$16CYB_m=|f!vrlq@_|25uZt)Cgj{L)tit1N_S@PFm zWvv^daigU=GV9mP4WZ_jSneZ}AoJc&car&pUaHh*K&JSEEE*+lK2lFgdv#-41qnfj zGdx$KhH3`4xC?E{f2W{v8W;|3GpP>~jM3fgW%?$ZT@-uvaNmpC}`n#vMzVzs=ufBKv@aFQq-h1ZqaIuc^K;toV zUvPQalB?Eid(bZFPmuUe00xf@={A`B@Mpfb*IQph80$ zCu2*H)9aKL47YC2YU$UH6LqE>uI}-b#d^U#P(L2XWoojREz(^1)1AA9HewsJt9rTw z$eNmIGc;LtlT(uo>yr(q);{{uvo~9N<>kj}2i4v@ETW6p0ph=o>R-DwNCiDYody( z_e+Y0R8k~z8P0R`&|$Ddx%hzTg-tSGnJ|kUw|_zj_tq%PU^Zfrv!03h4pM3z*KYj5)O+$2o?uA) z_A4MtYTU-pbNAD~2#R>1x}OQ8WHXZzx03tO{0@o-+q^%uOfDh7PPz#5*~*e6D#>8k zv41XojbIpcf9l#;?D*|wQKRzLs@(#^8zCjk8K9h91wimayfeA? zgZm0|XE}hLQFe~@M=fH)yuGtdbcv`(1TJD3FzB%pVAt;q4?<6rqNe)Mns=Rdoz z7mxNQO;0EEihtkiv_}JAtt)?aGlT8cl|Mbzr{}vkc_%|%6Ybb(o#-@3w@De#A`@zy z#Gigew-gD9n}9L$gj&S-npIF}o7q5Pm*8|~;q`GgBH=qHaiPgsN}iRmAefTIXe}Q9 zq^@;*9`!yxWnq0E(0zpg^id7|)B?SCb+MW}diBvOUwHTBfAjG8o#WwzgRVGe>#1km zEjRKQdKz=9k!&Po4GD@kcd3@?LZ<>+I!*~^P@;3w>}womQqac!by+qYQz^`39v`a0 zY9dHHn-j=MQg3Q<7D-~1(TI#Ev1EFtLEGwtJ^=G946uB|7r;Ojju&@YlpL6hCGm-r zenT?brC80=&15;)04o}48HIXFs7t(Zzi*|$;Y6_9fJaLq<8D@Zw$xW4aR;j~s@Zb{ zw4K_f`|@IY@v~PS{K*%e`+*0`-R0?%?X+z@w$H3}H*j+=e-qnVJSW&~hoB8ZAwm@B zftVm|Vg5SJ{eis86*(vYCd1y&kZ{CA;>v7X;*`qaHvLXm^ViVgy}rWKhMRwZLVE_g zESwS`y&x6^mc^#NKn@Wnr#^1t+lqJ z?H&oU*}hBLZST{h9bHmttq+%^?P8m!hIPAHUpzOn4b2A|*3bzQ=JsMSSl>@$IF0%e zde~VF!&erid8W~H!PNl zCN#k{oKcX>o-2Xte20r>wP(%bUVtvTd(_1-Ts?! zgQFHKWzwVMPoDsS-k%y-^O)IT>}AG(-#LT}V9-QJnb=#=%$-Shuh^Lapo;Qy30&U9 z?CUM>r$OuBWG?1blVX!ahCbdHQxP5UO74MFSrk}Q78m<3J)s#`vD~{{?;qAjFF*bE zAH4bXfBME7|K_2-WfxeMWtGLVdo5Nl%_*GCcCYLk;~iaFA7y3pYb!ScBeZ#Z&f(3K zWMCL=I9sB0($3qjvqnKVx zWTQlG3Fd^iK>qyqOGRm`?}D?Wp4YDtbF6+9k%L?@b0IZM&IxwK-DakUFsZ@v{=+xa;;EN^WeVgkh ziNQVTX+SUP@s8@l)uL?4%E?ftaKf`eB7}o0xf&=`e3LjU`U-zGN-`^R=eh)(@X>xT z>R23EkWsjXMzyuG1V41!5z@@zH$RM^wWU^b(D1AAmaYEIs* z#hL(VfA)vWb2T`AjmV)sy`$g*hdVSF5A_@YgyIF!ku?m}t_5_RBqBa)n8$o4&|^Cx z-7VHdK_&}i)$Y84sw~#4{~!LDm;USD{H1$$??2p+r)4|gxMMrEw##<1eUojsw#mM= zwvVaHsOno7e_b208;3Z>LV#sFZVK(JHdL3dNbAViV7ZxFg7^MP#SF_3y zYZT;bq%M+z{3(B?_~LC2{wO5R8VtvA&iy}?tohk%_m|qx{`-}vh`Vw8S04z9C~#Po zt7W+`ee}xHSO55(SO4w1$5-~XExO7s!8!$HY?+y0Ao7}s*d7lDXY?Wf{LZcSrHtbj zL$fYIqtTo#MNMCJVx!J(rSEckF>SDUA7H%P%Y`3>><+45HTxUyQw>0)bzyvvArX9{ z#r4xIA1R_tR-_(hS!6yw*eN2nXC!7Z{@jx;n>hkOm7Qs?d{u!y^=&4V%Lb z7~IWu+St#Mb4c9V) zF4>1H3WW{uzxL99U_-@3rD-Q=Nn2o0Q$QCJ9VRQ;4YtdQ^`5Txm*u%dpI!9+s#l9% z2$uex8WiZ~e}7MX=e6tae(&kyr^nacxq0Qy?UmQ|ci%o;KiXus!_qDeLn&*mwbl`z zX4a%_Vq4DxhV8BG(l%?GSVL=lzGQvU-!`*da%r%M_32ZCZMN?s4dc%@vHt76d){qe zKwDB^Z8tMW^BSThj=Jq62i%9^qBWNQ5KqoH_s~rZ{D_sH+7(^UcSYk*3=0Y%Ok6-~bZcm_=eE zLZj8(<2qj^aa|#Fqww{ugaLGrYy&N8Bi*2fNqDWD9HLu>g93QZO+KN-k}^1+{Y31Y zpvHx^;aRqlbBIoE@`Xsph!QXG{|FqdrO=SDku5 zQS~LUQ%IoCW1TMO|xr%}OYHt=NlzGAz@Asp7vrB1&$R(rs4aXK-LEIFnrxQ0>1zNO(DRAF82PWwpb>0;ce7@HW9)Pv zS#L~jSfN@b%QrLT%2^X(MvVC{8hbeW@SkZ=m|S(E=xj+RAXylXK{y;2T=DrrNvz_+ zh-saQ|2UHRBNiJ2lS%40UUixwYCZf`IYm4Eq91g2ImN$R@_|_jie&w@oeduRieBTc~fA{X?&AvT7-Sqi< zfAOv{S+Ld`Mt=)w(gyXOtv_T+PsOT=T7sWl1u-6b1$DNZ!N8T132|WkszuW{CS8oQ4w4gy9!( z!>fy~M`6jb>YSs;dSuj>xdOt#k^2UKN>zgCgv_9Ts)=k}Ukg-A+8MN<@MSAYl#ZQZ zL(Xh7qy2Hk?vM1FqFJXG17--1vAs7JOiZ(q5KMZ~Rf^>(wk-AtQ3%xW70q5lk(&Go z<4dWm--0U0Zd$i(M2}qj1rz~Px9X(EwO|A@!I|7N)8a41wQdfvDW1>M2+9BLY8(Vh zFZ8m0tpuM2DeoEjA9xR-gZDpPfR>o4%QM2C4X1AE(%ZxKq zJv4G#&~exl_3n{jXUXM12W4ySBUViq{d{Da(&daUM%A)gmE7c`1AN@H4CXvrM)eLIL;OpbZ=bCzJx zA&(zkc=c(E2IfTVWZQAGyY0@WmJfgK`49cY7cSp_b#rV_Z%%txr^PV9thE;5-p%FR zM*blSv0{C3vbQ4b&!Lf~Cr`p5Gl^<#R{4^4F#aFuI8}Q(j~fHJxIacR8akO+3qaPs zv30E5qBy9m5S9M%u>n|Mi*_@BEszDaEZylf82@Tbt)~D9Hj~pXi|F%u@!|FG$*aqc zUaikBdRG;KU1V!=6g!!mM0S&U0E`MhYfqjCwz(cXU2zVOEB-~QRt z|MN?azW(yl$M4--E&JucT5H?Q)~s3EVY}GgXZ#&3XL}RdJXLb*b~72Kvt4Wx+of$b z>;XM}ewVh1?H)1TXfxezqKFY4>W4iF{5CF^X&N{Nc)QST#Rt8^RhluAo)%mp1o z#Pk5fjR%}T{1f0`i2g-nY^-^yS5GJdDrq!j<{{f0H72Frre=WvKSZ>c@TiC-0D{5q zp>cB_0w>00CN*zpES8`1a6H%FtPmnTEBB4@G60jSD3>Mk%yjJQDB_sOD%<@)CM(q|t0_HX^w=k7oE-s$PCThIF4$3N|4dq)86J@d<& zjiavTG>!z$ks6gO9|vycaTp(ob)~d^En}?p#}m<7^ZX`S2Xs|X;(SEVLZsqh!$WFf zb)IjyI=jMuRQtEaXqf$quJ&bL_7R|YI51g$998%`&1 z`c{Ab8qz(U?Ktw4Q^OREo4`yAB7vr08WTu0=W;)8Rwb8WB=@$&DHJPnx_^+ahkzG3 zUNenX#uWd!kb|;{j8z8xB1hL`ChPZt&&DIiI75#J=-FIiIUr6vrm>QV!kH<>2p8-l z^Y3(o$GLd3OU@8F+1SO7YFwMH3%2Fvwe9skednETy(V6XNzInB`HQUgz$<}_e5swYl&8DrdWcNMfnqZ7 zJ5GC0X=5y4qGBTEF~CFT(+$L3#IIrsTZiJmsd@+inu;xGqe(E}defz?A35CpOIP=P z;hFnCb^q$)mlqFof#^+>CrzH1+=xW=zuP< zzQfOd^3Kov$o&@0pq|>*7btz`R5(S`Bhgsshiq?j%AdgLaaEgxFZ3 z&McFxbc5C~2e%6+?SY0B3?xjqUXdEIIg_~Ypd2fdFM*08PdT&6oIHCbJGEO3nP5XN zThQDn6j@Bf34jp*nOu>DlOEevl!sf2TQWFhQO+aKiW$-t1p90@LQho;5LWn_plAbf z#TvojqyW!I`HeFa#I53tQDi~0HG?dN=Rbb#t3a9h(5WQs3QUwZ&P=7W5CDa&z(Rb8 zEK_*#Fwry53vZ%BR020Mpgn}OsWc^6`qc4p}FU{M@riT<}7BMfx3MNrxXE}-xyyZsHV|z zvS}E?`3tq4i4IDR45^VMrOw&tk50Eyts;wdS5*hZt?P0;?(h59 z)o=Y*zx2`vUwU_Y(w2S4J|-vuodezJWtYiJ|uS5iqXfq{{@33}qYNo&n#ku8Q8 zbe=Wp_FHSCZVJPI^ff{l0|NIyI){n&VkG!(MDR&(YOg}`tc+v2Muy6?X{shc`X3XB zTH1WIzqsP&GMem zm#1~TIEZ$pqRF6Ni0tCz{t##M_uW6`d}K zWnprvB+4Kn)x0BVt62In95c54B-3H4^iYo5Ez#2ujUh>7na12Flm@_5ERds!uJW+x z8OI8b@6($VA}!^6Ds9{r%lE{IN&te4wq?kg3n(l9jD!olA4F8vRWIc7^gVg~KfU+v zs}C1#51zkT@2$}_jnY5e`T729C{v?!_jg;h%2dJyPdiA3>V>9~6`;o4%z3En`geB) zjPZy`)y}Llk8_9xZs&gXPC$p$Cr|++!oAC8R%^ZVU%~`z)>-?jn!*(5mH-I!*u?hr zlZX31`{3T^p1JqKcP{TMHp3H>>n7JCCy~vhnQSIolamLBY%)Hw8#ck-WHZ@!X>BM3 zBi6dVEH}uF;fcsQyFE60-Yc??NW~Lcl_Lp#g^ZRW=~Kj7!=k?9j*40f1v7z0A|D-vnLVtQ z7zPSFouKlWIf9Du%}UrN7HcmLRBN$Eo?biO&I05am&*SSq6gCi1V#-2&#cABi=4@A zw`7D>ivZIqXOfLkivT$*Q)c2#E|2-R%gu6ZiwA>%A$*vto9smDXqtx zxJ1noy+`)Q)64b*I{Ims$OZdG@i0Zo|04ed;Us~QRjL=_ZGCC{>HYdI1il6XhsP9ZGQi!;N zQp?YxN|~@e8MUn4N-7y*G>U#t_7%_gf@;TQd*+ux7hUdOT;5sMr!QZB{rA83XaD@Q z_x||t<@I{!@wmSCGc-K#{^e|hOAC=4`npJM zy;v^n^69tRTVH(d-B+G0m-^tv!^P#HS!W@RDUeLFq##{rZZND~Lxfo#1I%N7J^iFCFgw?1N`M|ID3FUL97GC!1Xxjv|}L-ben;jv~i~nSy!}Pe`Sbfe`S$i1caZWIH=6#FgELX+IGrRQ->Ss;CKzw5O9LR3CTgTRL$C? z%jq&7W`1Wg8ZZx=S`n3!h>IJmY%Mp>pv28iU}NrUXnpFPgcbk=(yIzND|M`-6oq4m z+IJM$PE?UvsRTtwjclTnG3rb#KmtHfVjYdf|IRd^2h8~CE347SNv|=Bm{vctSEKlRvU_SL5pqB*-ZGgU&v(VylB8gO#bd_czqYI~VEhZ&GDe?0Q$ufV= z3^|TUoP$wcOo{Q_R2b$J1?VBAP*E`PD1pktVA1+|ET6Z02|JfxNeO9U$Rh>+QQJ*J z9N0v5L=Af?DSV|b14~3AzK7fO{GfMJ<+ULmcb}mI9)2@GYGatG-k?t}Bj+X@t`1OMtH8XjMx+s#~`bS;+rs5g|q7T}9t%k(nTA zl*i699niwQzNyX(9un)8{zMG!$9SK021rl9>@uGY{T}d>Apiyx%iY7py=6VUe){$w zyz#Yv_WHa3{;|G?tE+=3_T6&b-dnL|9mdhM&*~55@X+kBW}`j8cwCUCdPBJiTevIw zJ*NaAAO&420R!JlL)={Go&nQss4l@+IpgGA-gJjF(@-I;(XTPeoy^_fbl>t8HI6S# zDS(_UBWoF$Vtar4f+2tu7)-!6N*S}d1I*C`XA~LBjS4v-cL2z2L*w`wRGKIAc1+W< zWm)ZK5^#?5XT)_i0}=<-NUM;MHykc6sUSin%o@ck)`4miW*|I$UI41nbg(<~$sFhVIMe%4Zk_kPiYaGj z2S5Md!4F&=)Z}rK8-)_M{p*I~E=R*L8vvXPr-uG#M%{0+HQSnOt`XWzw($#$ zkF@chofg{^k4)a)%$j}j#r5ZY_}-^JcIWMDeCPFT-*LH$vYryf{o`efF_qrwtX_^= z?fi{;y!0{+9Xe1;PtRAg39QAeo?52P1K2#jrc#=#l8W_$l!H%F$WCtNLXIQ4porPb z9+ulh55&wYiK?|OGY%so5xWWt=|SoX+MZ6)mverrOf(a!8B@5SAvwz2+Tvmb!&K!g z`gR7do=wkrWMiq&Ip?Ml#*ql}gaMsm6^IrS6ZG)BmX0GWMuv2HNyb=J#~r2ejF%3` zSy6*96X{lPctoBMIVS-TUDp4$l83`8sM8(lsgIS^{-&dxemmXPiA@p;%n>#$6A{%Y z=poH?RwB_@*_&^VG=Uf?iL4N&B$(T|5A#OfNw1dwJ=3CH=G!qIq=@UMx|lS8X~PQ2 zfkwMZqO^%zilk7*^H#wcGoksP)?_y@M%Ye*unoP6&!QBBY{o|7pw^<9PWNU-S z*SpF-%I_~Ak7RNBe5QFhY1XZ~E&P3z)I-MK!u>={Gb4%5$k=TZ2}>k)n)c)|;{-Ef zJy7gCM-;SZT8K0Qy`ZAwsd9;yLIk!58t$&^)q1hLd3@!M-ud>wd~18{w2JCs*%xWe zu*+ayHiJ0;!&;cB!NJS@jngQzr41#OkJ1ym=E+||tyTOn!x+N#W+4qx*-a*Mo+V74{I$k2qy8BoZW0t>Q&+ize}fW*UmV~q^3 zZqx%o!@_NBxrwgnI+Q5I+A@x>k<1GhVwuwg0~c)#(6FH>c)VbsEJiWPZbX4q!syho zRGyZ0pl~2!HKTm+O7oOQ>UuJNtPT01^{4>hx(7KIg_^2LkS^dTm6)(}%QA*d4XUQL zU|IHM-(`Q$p8LtehkyRr7e4juNpO9AYHi>9o5X?|FkHfI&_cr+9NNJ^G-k|QU{uV~ zk6m0Y5{xNxkq=|DqfiB5)ji%L2SqBG%cy`V77u9bW1AJS0IOp_7w8IGR9CbERMA%G z3RzSRkc&R`7h4Q!wk)=)=*e(bE`Q|C{m(sf|3%f4$!U`l#;AU4vYGW7y~B6*)}sQ& z1ReX6oi*i0hyzvnHN1AsOZOoA>RMqAD;>Lxem8Xy=Y7=|FL86-{_!6@{)hj|Ti^NC zdk-#l)wXYYvt4YLb~4#z-_1_aL3DDmeM38$ZL;rXJM3g_6Wh@?>jvVs!vU266qUDZKO5m536CguuvSQ4LM5|Dh2?k|@>f=^mODQ{ymYPQA zq@~#sl&gpmJr=PWK#$O*qC7(~(|bd4cjIOd>p6jvJbS+yI3e~d++bWvAkq7b)JmMC zgE)*Z-qf^n1w8yaMf%Q}ibjl=^mUr?J&_2!TusnoHsVj>hc!lm3fHPT=-df zUDT9-2qP1h>5JAWLF9`I6r`!^W1W&rA<&M4?mJL_hSY7%QEIA;1?htDP4x^a7l=wn zKJ;*3QyJ)pAqp~G7K62`({KF!&;8_2{NSVgc*4G8-(=gd@3L>Lon$}Bernr>)`1Jw z&AK@cY0WhRsqshT@Fugd5tzqj@q{~one^{-``t36Az~(+A9^PH!F*Lej(E4D~kI-xTb1&ECZmjbfC`|^Q%Htmqiyq7hM)zL>E90x;}S#u{>?B z{>OK}`p;hZ-oJiFAIZ9^9niYXcW>j%w$jAF`5$rW3B$T@r zbVNZk6^-+mkqbL_2y{mFs3rR?-%Oxt+23cHSQ=6bq$nmW?0*}&l_qS2r2z-ZCFpPL zjP$WHf0TvJQz_PpUj=oiNpE-*V?Y>6qah3cYH=eBA7?R3xZ9^%jeVkDR6FxH%fEBp zxMo0O#*!Ot_Vd9gxm^imEi!-l-_i7h zP+W9298FT8)N;=5iOy!L=>mI-N8h-9?aS}(d%Jq>;=yxQD%h=cTTL7J8!#62r?|H$ zNQ)Q<8JgpdV&J0#E=>?_%){LLq(xsEW;IC-K+;3{H%fTsUP}wC#j(DOkGEB@qAkFR zw!#+3Dow@IY~5vPZIPzC=+jLQhU~JpeY9%7)eY`Y`QdK2lPuUYJk%%gh^U}u$IMbBYVr`VOssv!4epZ`chSi@O zOGd)EjQJCX_JYU>0QrAFk{=toC*<2BK`)-ogF*`xF(8ZjJJNS@SVaG^_;iKhZ+kEJKAp&WT24egBM&Yj=-}9p_2Z z@GV6WqsePFi~Vzvdal8f*kjJOg-OkX7CBQA^A;#_n%%1H4h^V|6ic8Z`#SSS`TzRT zMh{pYTwL4{yz|xfzVc6BdHMI>I=#BBSWP>)zbE0C?2uvb9TU0nTd}q?rZzzS`=3X3{tOXK7bw6 z=C^GdLuS+?xVZCU4QQn<^O49v_UELF%Yih%B^V$bWg|#|GEzLMuy_tdY8=-T515%} zKJe*Ba)lCQU*EvyD`z~?l#3-SKXK4xDppg3T_%hoMQuG-fZ(Dm1 zE4q7th3|~Un>V&_*gL#n zk!zDjH};_i%P)TR!E-NMe(B}*@F6Y_>X)*noFH zvovL{YbHx=T2evFx2VPnGV4s410)KP0KTPsb*r0Ds(dZ>lZ-5wx`vWf!#_MDfxrcB zpY$6 z`m74U%+BOd;|IPS14`%2+{2~+0~70X!YgG$32oAav&J#?Vu7Q$MY0Ja>Vg^B;)ydc zaWB%gM2{{4O;^mv3P!8;%0ofhC8qQwbuShjemrIjHpL3FL@OUeunUWx6Vg3t72lUl z2IiI!EKtknG5+nrYL3vfLK;hmDqqLFP*jcAnkqNWsF~leNiPaOle9gqK^#3} zzP0@%d+Rn|N?RHz&%vHywtI~E$C1}8V!W8_>-liTYXbVUcxETr5*2}k zPrvfNzw)(z{`%9e9xrgvWogZ<4POO@+1Ezt-(Z&MTH_rtJ}48V4~R{$)%&H; zjIz5O6A&jsP=lzd_Rlb$Cao&`(n3hV<)9j{qA&#E(R>h20!6FBTQf!i6p+QtZHno4 zc#g|NB4m_R)1LvrKHi=K0l-SikW}$ZcoJEfoY}OBF1IERgo@DRBfPaO>w;dOnh;ew z0tzJK1V9J{oZH>#MK3z9>EMAgxg`UtlE`SiU^$h`ur%Ivuy#s{2_z3*7vg05#WRHz zX7p^jhE-NwkFV{oeevO2-+s8>m3uEC7Q{(UphWb1#-EPu<;H^co%GuJ^p+2rmbKl_=>Prr2ewKwe5H|=84IK#RC zgA?uovj7sncxllb^lCs$bu|T;@Cp(RKjcU*4t2~Hw!|0S0{;gAfkC8yab4y`AlP{+6-bL`3+H2%aURIVxI$2V2Zk(VoczI^2GQ@It?&Gj{p19yN z24E3Zlw4k9z6wC69~kxLi)CZFo@G)V`#w~Ro|GX*baheX*mKLq6zc@s^6j1VJu<5B{+Li%P#HR$$eq$EQE}E1&+=zxDI7=#AVM_DyWJeUt5E+e!AW`#-g| z_Z;>R|9D7K3ks)r1`kU)q-gPn2G_;5N%7?5u9on57h5{V)7Zl6=~a;fU`4^pDj=gk zbaRRXof2kJ61XBMgP)dgv$#fU5U$3vtWorjmylw}`*rCeAg}t>0ssAf7ZuT~WqtPQ zaC-0NYyax?Fa3XCdHl!M7uU<-ur?9fOw7;>gWYL8&mPHJHMHz_qD;3$^ngQ^J>JWZ zfx5_FSn$j9(Z(3tCrBfUAg9g5J}+&z&d&*@2#CL(mz&k$H=E((m!VxZa_Ge*$&yHy zIH2SUSz$_8X%8`9+`Ra-a6P56tE3gv!S1DFqo|rdbg;#_W*mpYoxkzWm0OK;VZ#;% z)Ro0s1aeO7knw;qSRZ88p%6f(IwK<~ytp#6oCy@nw7ckKcXg+Yc`u;F%Zite0!sjIvU|$G$@zk)1z^nGR)_ zm=CQnAI@)z$nte37--JL9LBh5;J|R7BJ^f}q5dPmcY!SyEFkOB`c*vq3j(plY_SH2 zUZ3m*z4zBY@Y0XmzkAx{Nt0&SyPdb$ahKyJH@kF?@68FP-A+wTy)o!&ACtYISs&GR zF(=yixA`x|LDeMw-79+=D}vS=1MAq(Q^PLU#diPeGP1(a3{bf?d2+HJ{qXwv&))mS zd-jd*wsl#7Hu54s;=>8KGIErS?f)LNYs4){!6cLQiPIbDs$9y)HnVucN(67R;`wh8 zk~kZ|K&OL!Kt>MTu5KbjjjM?*A)$n&6VkS2oHQWF1%waauwalTrG+_CHgdT+KIng}l|du%ss|CtF$Dna$Y_ z*(gXlk>j&0>+>IH)3M=9no}?{G~thL6)50nI?w~V2i53FRY{{oZB~peU^UN8>M0h5 zt}ua0h+8$t<>fXsbVYl_YnjuhiGrpfp>Z7>CRuF}clw7(8PgJ7 zlf_#{)n@*-_XkV;&1_N)9|6@GSFgrHOPD`^8G!LdQ)84UH~JwQY&jWel90Zb12qt6x^0rbf4Lx=!yer>Qs$44#9vwn0pH>kD@yhKgi za_=V}b0OZ<*o4#g$`cQ0N@omYD%PhnGDfa_Ev-;#-e*xaM{7~uO&M@o9VcbBIPa32 z(k17i?-AWq_R+M36=Ev@w?gNPgb5(8u_&)3hzy9j+oqLBp1B(U` z5Mn0Q#`ZBP3Hrx%g>A%>^v!^E#lMFM3=Ly%9t3-hjWxXq{E5}&Gkc&@cjo)KG*nq7GHI-cdU~f7MFvqu4LS#^I@rI>llPMNHsOUeR<&G;^#3+q_iFFwjrp9O@ z7F>+}9N)g0QMcwkP&1PC(Pl3OHlhbS#FLb zO)zqce>{3Y$CT7^+drwpjB_x`?L+P8SbR=OB?=9iXt*>O&UOb+Kl6 zx?PE6v!WdG>>%c6SC{gf+h94rvl1*&Sfb+-b8bL5dh_+=ZiHbK^UXkrg8D*06uPL6 z1^{ibWnHe1H}C)C{eSRZ|JCQ7f9Bo&Nkgyx_s#ZAwykaB*Kp`3LD#+9Z=H%V!lMGS zNxgEyIsHLuT!*%h2_<{Jv0f*34N`OGdHb4da!MIs)xvEHT1>2`oR|<+ieIxzYQE{c z*dYMkN@m4BIzB>iQTh>n~28|Gfr+UT63F?u(j#A(`rvbu>z7fxmlD3R@E0}^f z_0`7`fyQy#D2Izgwxp9iK{>%D)6r4VB8+hlmR@@sWDXD{Dt&B5MJg%8BA*yBH%AZ- z2uNCL<`UHIx0{iiGex5Y<9M<}q(# zTE7JBl$m&WzoQ5VGQyrSCuxOCtS1yNGS0&I+)*9#awoA-oJwAW$+?qeCW|bG6;GCT zzI6T0Hy&Ty*JnR?bvWow&T^E%t{KbC{)ZV4XpuKu?_i)xfPH>bw8;6j{X+FaWV|W{ z4oCo#6aw`szt45d7Qo|v`^S5G&}aWg{n+}<-}umnKX7^ZcxxxYzK?PKsmXDd({3^5 z@1_4vSkGZB671uU<^aH+10hqix}iu8TayMp#-s^GGJshiLA$ZP%Y?`vWL<&wWRn-K z@H0Pr_1-35`05Q{i!>Yh#o{j+X0Z}b5|fEQ0S*DAByiEsnpotys~AoSLmn_T2MXl^ zlSpU9NO_KCOymi{>Wxo8HX;gZ+)bE-YGn}bl~)GH`kpQEbd&RPwj!7~M1{$WfK9&A z*s~&zO2oT9SBc;(Ug|{{uv+r9GK$dZT5Z-?h4e5qpqZ>u(H;5DE}Eiv!~#W;X=ACb zF)LZUS&s{3xp?6dX=uJJfOnRKK_>c599y%s*9d}RHf?JvShxmWf@wcz*@WfK@)V+Y zfzQJcKvZTw(hR6gRDfWSMhs-|2~l2AzA%Ypra^41HOf%NL{p8MW(boyl&ui~>?Y${ zoZY}|O0&R**575rbE?1C%95NtOkdht25O0UbudXodAgtPrHnd;_@rM{f~@9y1IQ|a zFRy|D0L609ZQt*G@bLG3`xig{vG>1ydfL=>*>-8o+9umcwoSIa3fQIXvhSlT6rawF z(!KcvIVk@Yrrfad_VKTwNgo#V9LM1sPU(;INh^cf#S#fQup?a~G#B_WT4XiEWC0FY zMYO6(`6G>Q5%QB2i<~Mv?uV*V{xu!qOE+rt$Yohnb?JmpRVZ{3$faI9dwFL$;amUu zjX(RJUw!Y7o?dK<726=w*?1@oz4SNVxR1(w&pN(?|NF(Klz{`!2XK!zsYP10wUPci z^1@;m-g1;4nnn+&l9JdZx9DDR&YmAp$-cV{)T0&5e`RaM95vm?G&dpfVaiLvekeHu z`xNAW$yB-Jj5iC5ded77bO*2<81oVU0RR9=L_t)H1*ckc|K(;UI=GQz0R-nx>hEMa z<(MBoaY{46<9t3s`z0M?vcwWiHiD=-EUWQc+>@gfR%1=t?1FFsW+)mwlsKd7J@`sW zgeD3k&y@f*W)CH3$kJ!)Qom3hanf6VZ{Q#o>tTD{-uTkPCl8-K_r9wK&);jnKIoJl ztPV97V(G}tNHbSnSmYQg0RkN9G6iZHn;$dO7B!S!!Z#p3zlp%FriMkD!ul#;5n21k zA*;1TWEES*mcIPBKIw;+2fzB#M_xEwJlfg`=$d{n_wBUHspH<7ZM%>B_u`$&4EMl<>el}9JLSn*Ro zbmyI2zwni(D@=zf-h@OwWPcqFr18CuJxf2tT7FX&NP)8wi~1UXl5R(0Rh>#%36L`a zTZ3C{vqC;J(SlZ_xr!BN3cKV91DVyho39B z@%?BtKgPLF2rW7Rn`NwUOC~TNWECb6P0782&^natvKjlDoep0^`EKMntamRUGFc%7 zrap1LACkEQ3=F88d6i4dfHUL`!n?xBS#?W~gIhuiZnc`!cn3_TZ-k6#n(Q+!pLz_N zNqJ=*YM3sh30P&4m>@qKh|phic-^@=t({o~%d2d&5(idMrk3Q!upQHUJvu3-l@{kk zdDtyiec85ihmd=0-tP$EKy4a{flq!A^_On}a``DWKANyZkN)*uhj5?gAZb}f+7}k| z1+t0Z!Tw+V*3bN^#gwF{-cG<5<^f?$G?0w)$Bb5~QOFsCJNuKaA|-Iu z(>>0glI+3~y&#!!OTwFaDzfpdAPQiaU~iMq1tirTBqB_88Od^}=2k!C7%0kNzr5U_ z@^tv$+{q7C>r>1EtU?2AngCgTN3fzhk9(=+kIo>IS}_-#;Cu`fzMzls{MSZgwN$%! z9+6}6JZE7P%19z+Zf~3x73XALtA0$jAS+}X0qVkJoPtI{FU+bS`@_`5<$Tb@(3XSh zQ#}0I%{$+Iw61vJgAbOAb+eX5M%UZuh=+{_DZ`V`gW#*W*tk}y^+mm`G5?}_f6WI! z!`kIGUs2d1)=@tzZ0&M?8N|=@0Ej6}PbYmpp8abddg%j~R}W9^2<(pX+;*IrZGHUT z2A6XP^qcG=($GRnX^wGo|3eV)5w8AGKbP*6|8C1c{P<7)v@OORK8rVw;}U6rL2h=r z0GmK$zgY3vzi|1^jsB;vJh@m^+Ma#Cg&!%dr@r!&*j55u(NGA&PGy*Uk3>_MxtAHdl&Y(0MCPG0 zm<)_Uyo?!w5y6sd0lB2BfrVCuH3+p5B65fSh7lehk1FFaFQ_5IL;>Q)f{|vZxVFqV zIN$Aw<(zvtJpb|3TNO1?9<+w+*kCLJOs)h_YiXNU!ZyX7%>;__geNMYE{`UQwN;KL z;$gB3Q;0=vW)jqR15B!z*hy)op&>Ia2)a>1(#seNoGO`V>y(&{q~^ei(HpldYRflj zwB-SToa>z^fww5331?xL+;rQpZML6mJIQt$>i@P`+pX==_L#&= zsL+RV|Se7lL=pa{9R4G(K$4q@zrdBTNZN}_ z5KW3_mx9z07Ecl#jp8rrJgd`V3MOVar;cXndo*l@s#TZXy{upDGx3C7XDiV zT8KOuCiL^1o(Z%i3Nj|d2BZ84t8DmwaResFc)GwNttYhSXtYbi;wK2^nhEX_7Fu_736Fa;m z?kCJDiypQ&C#2k*O5)h$=4?ClZqzQUBoCyYTz|jNwj}g@jeK`PH z{vsqp-8S&#BzIT&%RhSeTW{}Q`}+08VHwnju_bQg z;j)K%b#w0+)wz-*Y@-(cnGam*VdYl@iTl9oD1DBFj#25}lgK}fPxJ^OhF%suM z>C_(ONs9=_C=mg~va}-pC!#+nol!6?G<^jR&9UqBNjOx7I)4`bm?1*AxFZG86=u9D zWg@2%iPNVu1(w|dDIBF+7opfGk4XyDVi#g4(cDt#s!mfX$N;b~4Y#nN;a!wY1#85@ z`0G7_BjKfgul_N5fPP;9dRk7u_;>%}&;QJiAGdwSzF|9I+pO)j9c??c?P&W6ZRq~T z;D2!S_pv$+6l8#WC=$^~|Bu1x@0(w1=9hK+P5w~V>-vBC72vw)!bx)*D5Kbf(hg}i z!O>81E-)eJR_zT~a20cy1O_O{g=C<90L7vzz2NVRPb|7%Q2+~;dxyi7EZ_T2@BHaM z{O()-_VM8c%d(mb3WjuQ#@-8^*6%|L=zACdqBu4t|Bz&5Gzm0GHFvUv86$4;em;+$ zyJbOUQv9Yu8OWZpk?%7Dc@pLacAl=pTXszTDP9><^`D8hg)VIo4$Ocr(3p?J0P&pV z7iDrCCGi$uS0XcoP5kF7UMc6Kk6joU1Co)VF!b1C%0UUj8&f*(t*7neJ|L++^`mrN z@_YuI>{vnzgl_m`*aed)@MI>{3F`tl;>KkbkX75BMNeJ*0^?D$3g>0KcNxo7iw8(& z>aR3LjT#a(MD8M(9(0kzhtuH_}M^aKJJnEojP`vd90z_tk1PWcq;%Aci+e;|5ulIQWvfBun=fAI41 z(b0}3`!1&u?Q|7Oe#t1qUJ}cg(H^}R+2Rm1xhAmMg(+MJ~gEjO~dQS<%25aXJuTjFKf(P z{Ah6_=vmAGja(zCsLUdwnw8lEMLQDXTBsDN#_!ma*}6g$Ol`(2sk3l~VVZvPw`0?z zm2#~!*OJxmwaQg0CeG)|D%}K3rDY=LV<24edW}@^q=n&(7!&qI5Njdfp7g2!cUiP6 zCzt7-R zjm$Z~q_SK*fiJrhZxK9{mfhDjrRJ$!jM(GN0o@F29G^+LOHr(;F z0XWZnWkXLcd@QTJniLV|wvrDZn@@GYPgnam*Hg6R)e(G9Dm&(FGG{U?a7E6lC#JDq@_-k$m`x%hg5@&(SkDPmVkR20rZGK zFd?ex#O4W-zCa$k}$uE9E&q z1{Ka<_?cz=FSKt?QIFA9fyaut%_*iSf=YsFjn0ag55i>5hbMWVXRIL&U0jufMk-4cEyL3@OGT`LrW_ihY>JiP-{IlxY5gN1g7!&E9L;{=QLE=Cn__JTp{B&Q5wrG z9_BJYpX32p2JgRffm{V7&0~OVG3zRzWp6m_cmMi_KKaSJcOTwZkK8&oIU4%x|Frua zU=05IW;K*AlIeoJS8Nj9+}I4*47e}ipP}#>ELuu&G5Qjghk2fDek1e=#;`A0C?a8y zrt+l8^LO-zKXLcpef9dCH%=F8-&!W~SVo~Qqq!KvD04Nd#Va+oMZ=tukU%3p^W-10 zkpoKcs{&lR~7RTY08m@)=!?(o55HTC!zIFs($9ex-CB zoDcok*Ex}FD#izV2O8$YMUfr^RzSk@3dTrqjybCVsF0j_Hbf2GeAihG5SdI;(}d|P zRk%3eIH7XN9QNlC1UiuEm^0sT3Y!FYi#2(-#b$gFx15+8;mHy$^LW;(3ayUlCIudM z*BN`s_5^Z+8V~d59|B1?srVAw0ubUZH(*@H3nm>GtxSMuyM{&ufhvndaeu595!E5| z2P^)^v}irx`gr>A55Mqt{?0Ev`{2R#c5}k%q+4QtY&+Su4G>VQHe zmVhiO)6V|sxKBmk{TG-10E_6oi^JuP@BO=XzW6&Yzx{9CyE?6U(5*SiZU|rnorX=N ze~&ayms-@^mh?lg?bYf_oZ^~26l}=_b5H41}ZW^XS6LX%b zX$8?0*U6*~8t!rfR3=h_-Qv8OB=WqFGs4A$s@A4=cEu}OK!I>ZKr8eFlv=iO*f2$& z)y4%i!7;bU!gxO8ikyOYL}r=W*)CZq4N^$91lkmhkp~Tk0>I;b?8r~Cnh|8+5fjH( zvRu^N;HAp1@5NX|m`v~DbgeKlC>>&k0VNQ2J*L*#SYPGR&qXeyzD>blv}PAOGBR{m(9^eZ+DFYhZ|TEHyvA=|w==8i&*R zI;#b!$qzF|12qDJwnm@4rLssWnaslRWHc4AVO(k=VmR*YrDvB9ym;}4Uwqt-`=TCD zA|)rj|2&RE&N~J|`SrrR4+vS5q-kC-VIsR46LU)~V|D&NF#(zPN!Cjvv~Erg5m8w= z&~P^TZGx7G0X)O$g)ssuv+0xHkC=0CwYq&vgAxyqyE4YhMM3VEbm-mYlwga(n9W%# zJWzxdbNPrO)Dt^9#w(9k&XrVhHno}WH_B5KV7YkV6Dj;QoPkA|#z3dAk;H|OpZq-; zF*w2$X1A;VExiTEdWx!+#5Ugo!=C4ik`ErfRcKGrzgi1~Dj?sKq1*oa&sMlO_jV%X)i`=kfC^`^cE|apNebaK9_d(io6852}aFi1}1Dg zmy(H}(TGgzG4<|lR?>8Z=4WJnjfH^6egP`F01HI1UaY6n{`{xz{Wt&MS3dHg_r142 z-Sl+CzDYZE>A!XGe>+(_S!>c-o`{*!)gsZ0M(nK_Vc=qxgf9Az*Hmj`{?XmN6#T`x zO#M$7*^Nt}mzhoFeOg**?Vq0;)fEUSy(LXf;7nEIN+<0W`MiYY>%Eke!Ceqn z#$OzR-kH@Gy@YRP5IzdOJwYO1Ns_bwE@S@?B4A^)zWA|Z!U_P`*@6%yArU@cv|F&6 zR=3pd={Yk%afvJw-_y=zu^IeVKNv8{;ziD3Hj2TR@yIk?qiA2&-D1|Z;!ILB(ISXH zRv+E!NlMKX$Xiq&3Vt+6GLWSQdm;=@hP7b6kY6`E-=Li2j5n3D7Ysvtrk!u3S;K_8 zS(}|9XO1(O{CkBofdYdvS`ZCu5!zwZ{cU~g3yL1B(42>@ftqro$a-k=RI zk5hRK@fCeSG{zt%XkCM3#Pv+ICvJB6%ttP+?p^%*|M=*TJy(k?5`;-D%-}ixH(DAQ z&BD!hl#;cD9m_^FHR1_I3kFFxyKSP~QHNA@}Q*2R`Ev%Ly8cQ4|NUo@*`Uw7xG>hq~al#Ub ztgA@G82dv83j{iCMi`f2ij}c;a{2oPU>rM^dA+yTTT$X{(_@=)l8{O6WfM?7vwlgH zZ`=f-f(D#FBvskNHx5c3o1AUKBg8Vzz#$kS%LBiaOo#`{hJn!e+SD14B^oYRaubPw zG7mU9)T5_^xK|w}g+p3)^`Y$%61cL&E*4Kx-&~NHBYU19O+ZPZ5U`=+XX|hV67v#h zD0^uDC%yD9mxZ!qZg75N@d$=x#D3`ltl0LpzJOo~S~S(a7f|Dg8|mv_v*_a9&X((ke9Y;Sx*<9bBdJ;HBU>4oj^Ay;2^}1!7}Af+ z(Fm+;-UmbpWpxtcmx9-UqjpEox-xkeT9?CSrT9)Rgycu4Ay?|?V9W#we5MVdp5 z6KYs}0;&&*RsmB;*ate(9n&l2OheVDEPpqNYnWGtIRu|-H zP>~w4ayGD|eM)|B4C|*>hZfmkaB0$T5Z#xXS5Dvivv&>q3m>_^UahCLL)G6Xy0|9{ zQ02p2sJa1#F;O*Wxps^;5*TT|a9@oMhk()ezq3Bg1wyh)TOi#7u!^YJs>uD?$mzk_&Hb``1+v{XM!g%JZs>%8;fPd6-c7E0wU3D(mhTC_~?cT?lHAI{ZlR%&wnzEWE7yrUg&5ht^U*$3d=qY z(0l|{mjm`a+_Je~MGT6_{;YTvzol<^w5biSw7FP~z@p)Lye3S@#VZA`$iokc8AkXk z%hI7dJlrgj7AgbmCh8rgsEBwxT2y`^a%IsbeQ%K~jVypjLMxclcw|D%R@$3^GG3_B z&P*~8Qb}tkpyWwaH&Zz6XUrws5R5MVQ6Fh9BBJ}9{jdGzkN@;v`k|-$X~Vu_i2gV0 z%Ab9=c5>{GkNM1a2@q8}txQP)R0lt!rp-UwT3P_ilW4t}$Yns$_89NttWXMsGFPOk zfvkj1CrHam!o&1Tfm=IFPl#9g{a3yv@L!-4{=Mp7u&6>WaCqkO&i?l4E5G;hH~#S( z@*38Qbsy=KycZ9To4*iRP0>t7r%$z-m0@bk?>(POd(x$0mhSj~%%%?tg`n^~k&}K- zQ>I+LplBNXt~j{^b#^;c60jgn6a^M64a^Q60?tK2ZE?XGCVa%Cc&@Apo7eY& zOcD=EB;|TDv1L&_)HlBP-lK<)@4t9;@5QTTvNu&I;&7&z-~1Mo?_NeacYH_I=6=u2QnWrTS0p6CZ>L(E4_0e z+b$0-@Z$UL{D&_+K3#9>*)!rqWKR}oBBmzNc1a(waXNa!jB;($1#qla$v?(gv}lk? zac061=2K6e@xDBes$qOtmIQ|c)1SGm7cP+UI9+s>Q&%@8jPPA-Qwo#~r)$!?Cv=47 z^NZ|raf?uh4jDEtm&iPlM#!YMoMNiVh(l_foFuU#43ZK*B{k`+Cil&-eN6EL-T-_e zc{{{P1vvk5s%`6;8Lv62c~gj4^tnYyI$6=UIpcfgTq5O)pvm=yTZO&(TAp+~sme;w zf3AH*b7`XdZYhy>yt%Nn;ma*1;8+Nh%E9%!$>*Cpf}CXiMJ}!&5$P% zx{oiik#k{?vIQpbKV6iayRL=Y8W_-YD)l6IXZ%C3z*v8jrwM2QZ<$=^eOxjC-^-e%lRoBsm zElb}A+&x_0$KjoCJpAK-^z}FY@X=Mf#H#zgOT=~U1nX=uk|)IH9&jFtqwpl)0IGzT zIu`T;#_kE1Ag@I@(1wmkSc>TTlL+MvoWCRn#Zq6P#S%5Z!Ij*GG~+~#C~L;f zZyx>Uo^`sPlhi21M#*XdL(OR$3e*XyPQ{12Wx&?IfJRKQ^(1dc1PhptE3n{ThlgJ~ zzWL3E%N>30rF**S-h^<$DedvqR!Ior`xx_>ZRUOk%`Fn$CCES0Wj{+-nmY4G(bQxy zQxi2)h(5l-58V6kU;W5Sw&~5_{i9F)yZGm{%VyZECjpNz@#cuCvEglF9D!1!Bc?&V z;jy#`=jml_EC;L!Tj1;FR*c`VUg(dxL~uyQj?)GbIUTtKpXq(Yw#%nKv_8S|r+@tJ zsC4((neoh$$|>n*i{Xn)GH~uJ z;)L}&MzO>VCe4khEyisx7-L(!=%g5#-*dCl2xaF9OI$B_)=K*VLwS)$o-Rv9tcvys z1L_tC*K*L3(29%6;?bD$(I%RHHkj#k%>hZ-y)e}#kH3OpV{ZJay|~QrV7G4HvDTN#SVu2RTr{NFFY%2KPrtL&-x! zz)?6VX9J^$PFl3OMv2HaRHg!FdX5Y)kNScRIZ#*mL)DguivgDI0e~v7%CfH4`{{>& z?qh%RZ~Yt&%TZ1n_LH>T_LFVLG5&9x?VGgS_GTSP<5EgX?`SKc^w<{v8%(OnOSQ#RQ~4NyCyql6&N8vU?m&*9LY<@?=eGGi6>XPo8|Un+fUW(jx+$sL3O2h}bv4(%&V-qaBcG&@cymH&HYt5r+9xr!A#%C0hI>{|Oz3UbBm_573Vwoz zx+Wpt&+L;3ZmOg;R4KSCKf`Jnne~=f#lZa-w=Tu_JaZ6GB%qdj8WaPRA9iU{B^Ofx zIQQS^4FINxz0fFpJWi?uR85x@4GGSOZUUiXTMn4b4`zlJw}ec7D7;kW=P^W|w!Hj3 zWozXTnS*HR7iJLUjFBneZCQyEX0v~Z+2?T`Hed&OlI9xtSKw#Qk2YHRlh-&NdIL;kS&+G zZ}#G6p856P{JHzj+`Hb7yKG17yS0;@y7K2_`$_gqY&YAj^~_mwBAV0Zb2>390HoHp zjp+?l|9%SfnztZ!>o$OO##G{mNSH-PxW(~HPkzw-1?|EF)i{;%G>c(N>qwe^XXgb8je*KOQ~S>U3f zm>_clV7ac#>OVdriCt}^5N}S>B<5qzMa`se<%lwtmta!sQId20q0jMPA~z_rkB?0= zGYut=k#n*hN9CGHsb(6egl12c>>Z<}tC5AA7-%*JmV=W|Vq;O}HtGMg%;_vAO={LX z{yQUZ%NT&BB!&VXjVDwQ&?HHvXv*aZRnuI0H3cWr4g}<%DsLaqUP0CTd#BixLK@1u zM?je$p~kU!%;if3X6>fgXIvKJYE`i6%cPXZl23B+Zt-F+HsvT;nZ}yglB6jDYx%v6 zUL`S9bj-n)gRa~9_&cY!zW32T07;EJ5;%`#oyQC&)HE|&8 zgya>0ib9&nvv>8m2kZaw@7`VahJg?De@hc-o&eAg>}0c~230MP6H`nILLoLs6JpW` z=R<3*JQMiYFKY9${&X`MRTR_2zIYc?V3v^J7`Vqm!)^MNp^uE&D0&G(UFJg4j2elw zDft1Q8n)1Buy2!KBr1CX^5uZPl3+j&6eEBve5Hk27q_>`6b4(8x^1e_S?E4RFpz-I zd^U|_$@@3vCSW0AGtPhxQe;%@*(!1KrJ&){&?Q&Od*TuR;ek4Q_duo~I_4ljROS1q zC>+{Pl&Z25z+^O`khqW;!%&_mhuWVRmv8ynAsnJ@;ZR;j^yMw_45+~vMFA8K`xLll z!_S2P-XizymVW7YaIJ*HOElyK8IDT!^e>R!5^7v^aOM>{o^ti$2jY>y?vjWA;BifK z_P=56+)rRpsOUlWT`rzqe*L#U_sNgG^!RkM>**x>Ci|)FUHNme{V4lpk@#y3Mn_=& zLdwjSV9)#b{TA>UAJ~t;Fh4vR`2(B+R4n7dsQ4NMz~GRH_hF?yBr!=ZiUF1i1h*+q zN%x+dyMB9NGM=qO{dmf+LObDqRb3RKch}3irmy_r8(;Y!UcUL_&4sM8sO>E>xunSu z_M9>HC|y&6RtM)UjS|nReE7TcICM+l>{etCa|Ptv*-#74#Ict9mI0ZL8JLSXSj}AaAW5&y6r|M9 z9Mw1X)EBEo8B?4A^3pHc2QjXABD2Kul`C5@@%1Gh3%pPn-1Tb|QZ%P#!%h39d z<$$^Fe`x*3a-jdh#((0p;jTXT>mU2n9js4Jb}}5B9Ge_>Y=(VD&;Q!?&Kb4{*cu9X z(p`pxQ^E#dUV?j0i6yHiKN5tWzKI;nexbB@Zw8zV>PUil36$wv{`u!^C`GW12TN3> z*~eZueD|IGtAF<1)rIb@r&jJmVQIr0%&6%RelEb+aOb#6$0cGFE@dRj1pPEAL5ZkO z@|a>0Rn$pJAqdB-(@KTxmKWvf-%3$gn8-HUkk|%09r^*(;Zv*n8*@i!RMS({9rurV zGf<=>t{F{_f$^;iE2gY6thd_`>?nYxNQAWNN}Vvw4DOm#B?gY+GC9j#cd4LGih4nK z0Or=mxRt9B&@4(K*wAF2J!>8&FYshGlDc{3`pAkh3V9mdmS}nQrGrj|WLcM3Wgc?` z_e0J3^_C!?g6})Ow8tM~%sMB&6fo129}tZhw{nHt=pY?>6pHhPb!cQkE7d>C<&^MD zpk-Y=J7D&x2uo0=SWzVb!}uFIX8-Ye?ylc)YZUKq*ZhbAi}qjR01=#Y{~Le%$A9uK zedh6Y++^DZ^s}90KiTOtus>b*-f$wK_su+7R`dWdbaoAl}{KSbZ{%?Y%B{tL>0EF&;QRt$Js9r3~gTs|P-oN>~ zuYCP~{ND05bk)5tPMT|*nxNUhjrFLs7K$1}lXT)XA1}Dr1{6mV*_AcV zdN>5uBi!gSWlxD>exj@{V}CJ`K@Bs>n@e+H`A6{$RY*T>u~5NeLW>6vAkz_0Hzoww zlgZ}B5Cf?bB*_82Olg`~_-X-}N$RXlgEMO0u%tsA(6az6X;*OK(cmeABk9s~*?4zWngf!za&t@apb!clI4Nl=`!gv6Ki5 z^01n-laE&5eITtDdg?ZSk^j{hpzt=pS_R z%eLDv{zh5bD|?I5e+Y7dc$k0(NTq_tA0|J7l6vNySVsV_b_{NWcL?@w;DvqP=H_SgV8Aym>2fapiq-D?msFO>?krT~`3 zWq^i2^iME%r-TO=r>@-s?G%a}VFxO|70wD|R7yft71WbsIzrP$KX=SrSTlqzlsY!^vZ9m1KiqLPHgMr$dH5i4SrG9|Zp6f{Kx_KA&Rw11S8PKu zfMSax#)^JPvxSusu_YDNA5L7DBW)!L*?}Lra3TH;a=+Em6sAgwI z30)<#Y3%Enl1aI<43Z%8h}8)lzugkkL8tzv5XVz!Dc z`;JSy`%54H%!Bpv$!^<-`^|rEyKD`6Lu*Ei|E@+HzmVz#@C2<=kz0a#tS^gmM&bUZ z{HLAu2Gke~tyF%*%s|)on0h2LBIWmmo~7CuVWNG&XY&5%53j$wedR0fULDMAmxKbf z3?AzrXI_v*vr-RbcS(S}A|#8?xeKOSN4T#v;=)>)#gNWEErwPZUN+CUWEvMpWJPk8 zptv(V-LxR9%+Pup!!$g1NJ>Ho8+Ky&Yv%@mGx}ElJ9@UIkYeTnsi%$g8fF~o3M1wN zMVng^9}1q#rSP%BsMKiXbEZZZ1f7v#T{4>^5)9QF0GSV@*~wY~^|c|Wf|hYxXsYwa zl4jUM`Wu3W+)>wNw`4BcH=)47T$y;Ng4Cf3XzP-UoGf?aA}n+IXkT4O1Lc=1@~3x3 z(DZa5=Q~PvgnSvsO=q0PC}mrNvR?BhHYE6{FL5I?n*U@;6^$2Kyi`MW-}O1l*jLhc zT8=J5>P#&SDphHyP$a~#-EUer5N`h^@lUV#MO3ip82tBtRB+In)BfQfdhR!W`xlnW zi>Lc>*X<3ZG`w2oK6|{pU5p-kvd-qyQTE5i5g3DqGz~&wLi}A?TV^GMOEDF>zL0W08&8j zU95LRzxfBRe&N6W=HoA2AC`-TwvVjKz8dd~n5}3J%vfq81!dQzGXBjonRJMq1@nfy!*(eTFEYP!`VbmE z%dItvZl@3uys6-HB^pHqvs)--g}2;RbSeZ1AmU!JIulAL%S44GHq6DcMRY`K*@6(D zQ8K`|oZ(GbL0EbSj%`{;l6!4F+GoOT>{-0V2+cHBGs$F_#n(Dn`;7+8Fo<)c>TG5(3_AC%P< zu`n4!LS|x{-x~UA z)mq>ba{ZbcislM(8g98i*bgjR7ljV!m!ufFVvyajJ-0P_1g&z0m0mKuuQBgrI1 zbua*jq^B$5Y!h9~X_feSCX}DSpw(D2!B#QdNVEcm5u9pT+fU0E<}c@WmvT9}&uL{8 zn0%gKk*a2LSTTPm+FxFxRI)CY0P!RPGX0q2J*kzTO1C*sjs3`UApTZ;Ysoi62EeB- zMFE(<`26v63Xqe3fS&oaIHpDgE1=L-w_UD2u>AUO{p?F0{J`VwW?R~Z{UqCFy#d%a z>7l>-?uoxG-L{1X(=x)by=`r)kU#Dfjbw6<*9w`_h0_{@4O=KV!c>R zns1V8dY6xoQmfOXNO~-Wnj+0+C@RyyiXS4R#}?c%x9brLJGy-Fb|T5jMtfd{{fpc} z(NU_>AX2?ZB9KyxOQq~jdL$O6h@hJON+j)cA(D!2hAq;!T?1Vx=^?HC%>MOfrcQY* z#4ea6PLp(UVqK?{A2pbc_u8}8HowVaj>LI?{sKSGY++T~WJ{PObJbi}-$|C!E>u`G z$~Fl^|KL%%6_HLv6$>gE`7GpzrZ2wv;qs{LeEhR$xm8ISRBUFbui9dQEUIW@5QJ0> z52^ambXjn{zWJ5+o?ahccXjGM?M4S=8?dQxaHTE z0O}uKZ16xYKL3f&yl{E<$!1%_sWX3eY&%Xp?zhRlVK-|I#c5f)ckbuNC!*#SnJd_} zGR`cRbAl!HJPrnhQ#N7zaj8+kZB(Q)Y&0hA#;Z+Qmy#!bOvW_m7y^;^J-2+}tJiP5 z^7OEnwQX!*`+;a~Pw-#EJ-!&Z0Zs(UrkrdXxe_(W0SrjP3ZSMY^CXR(X3q4NIE$A3i;=K7`x1~{7omys{w&1E3cKX3y@5aTtySuo zm6+b%vr-84VguTb=1OeAC`okg^o|Ngz;yW!*d^ZJ`<0BruJ(NY4Hw9`yVEQ z7mDXBnX{A0dQPb-7j5Nh#K^wFWrg5DMb|pxds1081;+$Wfd(71yItV7Eyg3v}Xr7^oEDmpIXcrOC%`Rg-X&{O&o6DG(k@^)u3CZBZ#$Yd6apeRXC*g=Cu^XJsk!OP$XSncrX}56GWRCNUi4cp; zEjM_a9zc+vcuWkHXAqB!RlqDu5aVmnQaphOmXypq#(cy^^(Y14Ax8M2s}u|C9KBO& zElo3Pv+{68>O2uAfV1{4YYzXZiK@)0qa_TIxJ)5L@X=s!K*H;MJ$>`lcc1<6oqI1_G{0#j zlbfVSehk%;6FvhK>!(!@Zd9=z4$z-~5d;QX%v20!Dzb{Lg5~BUAA9hjzx>ii&Ggu; zV}Azvvtiq1GigoQjy($T7OP!rzL@M72R@L@@-;ki-_7p@vK<-s5;?g?8DC@$Z_e0< z4&T>8(+)r0i#EA?*wxyFYr_F23Q;u?xp#rnu7C0$-?~`D+9tO585brefIEYeZEP{c zk2QAYBf^@6`)WAgnE7MfL@$*7EAzmkV1k3aMtoSy0T$JJRwpt9ZYCa2h#O+!kb@x} zi(?{Z7dvT0%p%&GSnZ~Ol7rYL;Ex8NGv}bS_^pE7dU)ph-4B+OA!S+?Z6w(Alrk!A zv?=GKq98)Ul9{5JmjW`-N-6f{27oZ2V6U-!pPnYrY-W^8O1NYc#j5$v7#Uc9TeKWl z+Q=_4n@kL4L<$N)u3>A_$W=l>!2vc__7a_~hR}KpybZs=3SdW2JX!NF9Yn@DPo|hg zZoDKYly3syrYeV#{3(Lvtx4+pGxC7sJyN{fQnDV&rNpgsPO&uKw>k6!JiZzfLL2OV zcw^xH;2!d|jM5*AV1+Kr_38MNf8#U1{7awRq@8R#>3)>9+37TN|NF5Aewj6CBN>HC zNH5}J#8DwUmIYfgvt~hzW>t?d)RR^FB}v$IM2uZNWB$l&S)p>Tu5Oqn%myoi=~z?r_h`gv*JAEE6$Kcf&>!{qzT1Ay3bbzfmtxg7I(LW6wcp$upuNG=9z zsNS#0Um+$3&IU@MW3)+3RW_Rw`|x}tCi4x4^PGWme_3>unSx*xbkFWAUT`}V6#sv| z{`A|DAXg6k7u)%t!!{_W{^ z=@d1agkj1Knrwbaae6pvO`<-z^O)0vdPw2n?3j;>Vb#zu25tLf!!&g-huGnr-g_#i z$FFQZc;TI!d+Sp_a;F;VfDx5(3}7GM7V3>d&jApvP%rmKo4)dagLP%{yPd0@Y5Q(_wVl{25~05i19g zd4|ZRc9f7!xX+s9Jv3`yoT;7fn~H}^h6E=}OmbLc&f+m!M#0b$HA}&Vo?QRapTBp0 zcw10e_b~+M;!8ySS4Bv7IMNm^0r2EOF!%bCmcTw^g{m~z!Q7kDPMC`^5q+o_!Z3qq zV!Sso4+s4cp%0X%cA8rvmK@POP>-mJeMkkf7Cf|L&efcpqNX3r>;_<>*(XN7E(w-& z9-P(?WYCW{k!Anjp{z`P(Ty10 z4ILY4oMiY(Vm1}Zqkv&3jz%p7b3ZVXk4G=k(h&(k0 zHw>zS*KF;-J&wv>Ekm~%zJl=_xYGurkzn_ai9tvWpgJyf&NQvZV^e#yNIp5k1bd4{ z{Fu0nm*Jf*m2}2XhjJS*hg*tV9)h+ALu!U)n?zEKc&q5XQ?ytD0t>Bb%qsCi+cJbM z7Mi`~bI?@62Iov6aHVR$nSYDmcQ2_@TKB=zH>JM7)eOt+vA3e8nbCpa|{vTn#EL%M3JVZB<{ z<*n1}UwQxb@$Ivpeqy~@_c~e$1p=At*k-A`%4n=D;_m7}V8a0hvLJN-%@DkjE4ZF_ zyT3m5E1&xG4Ni}C-d3DFB*Y%ELgsrJ4p$JONTndxLZ~HoCw(= zE~4l*e6KCjlphCf^MqoWu!o!=QZ_rhE%gGEuY=8zV&86yuS18_a1)m!84z^f4Y0MlcFhX4|nN!J+I^F2%sVqtTH4(=t3Ya zegGhg*+N^4E3iJg-GAcgPyF;pKen+vu6EvWt~ggaSDY)iihZ|z2ZzneB9zwx$v>q0 zCOH3Qo%O~%vuxUq`N5MRSoZX6{0+yjVh^P46fRH&n;jw40S@c=KphHH7MS7gHFmTA z^q*fp6&klbq_ExC=+-`)@FrM|#DZjJ8}jVFc6o;;PB#`2z0B)T^0LjuSxa7fXRc^I z#u#KWEBc~Yj2t3BQ3qmj{!HOibnLXMXEQ2I*d`8dxp2DaF_qN39je{a^La2bctYzX z6v=Q3NeCruqO4A^RG6MwsH|XB14=o0G*u+e*9FxMC+Wmi*6p>)2sfsiP2F?xjzJF^X9a5hOB;@FLQ1sJ5i2Gf%m{NW6-UyJPrn6qucv}T?e$w!%dmvy<*ZZ1&oazV!CUS z4vap35>tx8LcF(00ozclgp}P`XLo=J`V$76nj!f9)#>3Y55M*=UU>IU-d*jQD>rV9 z?%xsE3%z;g!1++7bAz$#dAWOi)t*4!u@ut%4Ua~HXw@$6r2}|Q#xYp zAhHAfcL5oBXIZ9bmeRnFM@hL2*KurZ?3={_mn_e^t9lqZp1B{d*e;E!HjTc8RR%3S z$H7jL8cs(APcmyZEnix_6NWj<7ntNWVPvKDgecpYBnnH?@r2bga0s`d{VQELsUbr# z3=lg&^wGwWsh?c(Z^RTf(Fjw@+qAKB469VIAwfj&bX+F#~G5b6XY$tV0~ z)>93u*r<8&{Fem|22?~w9WC>?W7Cax)egG8s%d5ltJP9)r`~z{4dNptK3K)Kv0EE?;#zp26oIaMUA-ITb#UMG{ z9nuPe*&dtbu*sSgqjeEg`=?g6Xx|;S?Y1mdU}yHQ;)lEa=*Le_fBf$IFTH(L7FMMa zw4NNJMnF((0YJ+&r>b%KXr_1Gh*JWsV%5R-N`^fmrD(>-3AS{Ne>fBQoMWQkiB z{&7r&e&%9lU6=%Tx&cq|KZH%pbfny>IP5V`PX@9&=}2!T4Nx86Kg`e&BwB;TBT{l4;W?szZ; z1x&I~=}dXvc??0LFVUeuI=@S%|6p&X!18F#&M~=KwPEU7K=gqbBXOaxp$DE|M0k)h#51#`DQ{Q6iF~n zVxPc{cgbPUEahZ0R|&gXPmfFMQ%t_txu2XFlF>TWxRb|7zRN{rB)M^Oiq^)qt+msg_#%V=bvl z;~9@$?ere2H56FB?9}mHMxP0R4yLv>a!fK6IqlO>9{DTc8wpWJU+qhidK!wYuqUs} zw_kkt;&|iEAX#VF(_2Q7a2>&-=5Vy#KfV_Rp+X&-+$w-_W)G8~2TM=f1P< z#+{-9rJ_HX_4XdZqF8#2M0aPk=`2{jR5cC%>ULquyg%3fV>~eD(}}E?IY2OtuqOPK zdtby(Jtus{A-Dj=(;cuh3qU9Sz<{e|d15{N;45!_#hByr7g1uZ@JqpP}Grk@6spn0Xsa7nDQtiLm&DS&OBhg_h_ z>M!|lEV%K=oo`y!;Y?oI48f*sP_*RyokAxoM7NOycfJVmzxLtQxvnGM)I{CIncUsI8WM; zj+E>VJ|pUzG@h-lcdu`s!&m>|_h0=l@7z5tr|YGZ<%Ffr6o)rpc#_6!7g>%sMS~@L zX6t*~e&&bo-h1-qX4@OzlY8a4+Fq?z+i5$wlRNyi2a%J8O52B0zb6*b^r)~$uFLq{ zYPEtykB%ouG>36k7NJ&F+TLEwq&wQX6RI-(#Dm86=93DM&Uj(@b&fTddu^Sq@nbhu z+cuUJpa0A~E(^?>LI~>7!~r$X4zn6rTP7*ZT%j;OtTW6Yq+${Xjx2?{=*vG;GotO$ z9dDxjn7dSuxamO~~ycciNK+8BNU>y8KzI-@B(m1$=Ww5O@}6f_k^ecA zsQ``N9d!~%L<|vie+L1{5WtFADOgZxj$yZ)j|D#)x6o?dimowYp+DwD%?a0byE2_BoyWWVN(Qf1PmNIke19%Di{ho zzB;BbwHy-9HWt2tR0`yO<4KpE_PcbfG;Y?b>+|y5AHMYbzkKQRZYgCs*Gg8QaN3BM z@rZ<`^&h29je?Vv@q98fm4@jZ*5hc#oF(4zI9kN5i0HkTvQtg-cl*C8M4b<*z_oUc_e8!f=?_MWp{DQ~d^}(rz zbvB8xC}L7<1_MFjC)0LRtFYZrD)-$s*jnNkun&3%n1+%js&Wg>(s;rX z1St=R^|A}ZG}6-!`opQN*Z3+-=a1=QPg8`|pHl==qBk{@5^LbKg`gqUU0e_>MgxqF zq-0uwVL5@)Lbl!SyBb2@oFvd5xma+8IZajc^j~I>JZLlDSRgH~Ipu7+CE`8}SV!>q zL>e&M0^R+lCq<^i%7AJ!<4`gTdlHz~%ct|=mTs$!1R*~B;A{`fmrfkH{L?$eDlnt+v%T@4p=ZmLC4wKHGbz>*eA8_1}H*#ovGJ`u2nc zd)@u*!%shqR2egqOkW2lL61Bt{%O+yrt=UW#^}+}M6#R3vgUujTGUkCZ4*E^KdM$D z6xYHK7}ahH1E2_~q@InnM|eR7t6?ojell+{Ig4{Z{Svd9l7*R6E+UK8j%4I+ z?z;#&DkC$?ZFVFJAZZ%3L=;LbDCykk`%hC&ovJG^|Dfj{LgF%hM~saVn~oazGE}eO zh8$HSU0#sPRDQ(_ux3KC2BNm~HvAwY$JX#picNzk#w4AF*1EJXD)bMdIiEb4A&OH} z+snG#IbXl_yYJU+|NL)!{Q8NqKU!GL%HD=KEZxt;IKs`eDqk@BDqGP!t436kEYIBB zt+X?3Gi+wN*>1M6wg0_IFS#I;G)D{UL##sd)|qap;dzl$UcVvQhq)(0XH2T#mLE2G z|Ews1WP|Txxv4pKv{yJml8MIWUd@c9Vyi5)ZLhcj z36J&BgD0aQH=^(i-sZ|0FiJ^4vjS+`jV2EIqG#clfMo}PN#an{&5|%O(g_mV3$b2} zRo4~oV|5B*EmBNMdd9~C%t#9{J;*SLbf_*RrY~+&3sj9{=BCg=U!yMKDUNvTBL$2_ zLKHK4%mUbY-*U{7^VWgm8FS8AZLZhHPYuCFizS2^SwJ&e54te)<-CR9ge6r=Dyb_t}2zm6hzWOqXBq zFxp}m$1I`ym3bibDVeB-;Z=;P7bKhgNJ=-%e3aZmGN$=r=z?=rgaW!L$p0zuPS<%P z1TBD4tiYQ1rM03w_9s7%rGbgSPu zEl9bqG$Uiyx7CRu5zWp1^+Er63F)FSZJ#(qX!61GuZ)oCPHXLJMC{t(<;;yMHR(F_)l!p&swz&brz%8LqsvQ4ug5)1FWd*BBBva9H{ao{ngiO z$uwFmZWG8lUbUTeBtq839mR7|pH^BitHe$#6+5}pnj+|2?eWgj&HBu(i)2{~ALTdCiqm7$GgOsi=$S{evQe@>u%7+))y42)^OB-#vUXAa)wy+C6PORsi-Sw%4m?%isF%|JwDFcOGnyH|(43O`N&eKD@tmr}zFR z$q5hgT2w%$*c9@s}KL|AAR@zFMn{STyM2`AF8LOp;iBWX0GFbOHzJkP^)Rvx2B(+vS8g&;hanGx0t9RLe3Q~N<7 z1JXoDDxy@Y#POGtdQz7bq!@t+B8=`v%xljtm(UhS`HZ+r%bOy z2=t*%PDXy|c*}J-t=k$=f}8@A_+$zrTGR#eEJZ(9S^)z(>)H`@l@q$b>ATGq=ROc( z3Gj~ss)`4Vko`@JZ`v%oqqEx+&m;@NYSdl?EA|TBUGKj4A0K?>gBQQ>KYi-nr|!J> zfw9)0n7W0~$I6pz*Z*2lFy8b)62S9c6g8Y{pw4j30g4wUJ z?LI~s_ed2Zj5jYre;}V%H!bnHF&ZL&l|RY{S0j-dJZSWT-$(}D0L6K74|HwSE|A%{uh04^9t@+(ZDby0sO zd`>KUb!(hhB&vX?n4=~fI5W`}(vFhExxgwm##r%v zC|Y`&>;zS7(1Q+~88q45`({=BoXI3g)9JiP?O~kK3j!Y(2bfv6re8p4+bbpQx>iJ)$QNdsm@(zzt7w}wo8q{JQabLiX2xSCgPGYYFo* zUvQG>T)%s_DOD`vkw<1LT`;X$3gA^qSB?J&S7%7wA&YD>?|#9-(9&e|*ED(|L7vm<;b(drpVM>QOc zzJd5g8unE5--U+S3bLX-S8kxtULMr7QQh8jq31eu15rkF@n+W+pi=4qeTb?a4IxS+ z-Q}YqHG#ew4?D4#p4>wL?XgD}$$LkfmrmCJgL$}>`aU(3gQ7HQ<7muCU>U;qj(C+6 z+5lq8z}ednj65tozoZ5NlkF9OJ2?3GMiGppG8X7WIzV#`^@Zm{G>-?|y&|$`oh{qX9>`Jf$bMu%Ml4So=pAtn$%rk=Eu|eJiJm zH}xD5V(io#PAoBxr5hbLNO)hG800em#0eBnrsTbNxd@$;o=ppqrIOJGuaEN9?K49xN=ukT%U5_d1(cKMHuf|gdH(05&?^&4k&SfR02^-{&8x*LFC*P8$UJ9+sQ}{HbycqMA(zpdV?#F zgI|JGlu%rV6toDwaVsHaDud$1^scmYRn>zb_#8~V{V6|;$F)evbeg>5*N|Zk4*_f6 zN=8~$7KjS53(hA*avsh=qgJzK5YMLNbd&@unzG32@3sZ>?PjEp(a_Eqb^OWxE&8MawT`#dPdNPssRJ$@ zY@!+fyWy7ZG$uAJkQ0z9ZgtZFGn-E*>Hk?Qw*Grn~fFrm}J$fPa(ritrHJeiV@odnzY#O6{VSJMP@Lp zDpVF@PSLrF|DMWVx#&WPkxQQ>BIw)F+!38 zGn2eIv(-hN-nAb{1=j@*Y*3i`^(>|5CzMjm3`>*#FD$%SPEX?Mg+F@bYyb4cNx+cNB1VGmm?h>^@Ss?Zb-POgTy~=Rl8OMx1&1p!a%QEpd^`xw)u4)y zC~D`FX(6o5!s|G<)Y2y&+_|r?YG>Nb&AMC_KID|}HV(ITHNjy9-?c9gKM-*vdCSF(>04p0hB4YOZB)F=**^GGraeu$;@Kg4_5Qx{iBL_$LIQY?A5lP+7i zu;EYdABi2(dgS$B$Tg{TZ6f~psesI)j$lF15sWloq}GX)ZD;4Eq<6xZmVYjZm=Si7}m2&x-we|INSqGavuZ zvyac`&CX}+XRBvxiN6i}UpK3RJ0H#0ngsdb@+GtQzxDpr0!*tFwRR9_zuziVW7<81 zRl3-H@asLBWEVL?dNE_tW6n2g{Dj8`sG~lko#o>g4DO|1DZsLnr4Iqho%QN2mhb)X zYhV3;efRWsSxVu6PSfGolSXpTGg_9X)#d?+ldfV`t+ueRh{BZQ3<2;l8j-^)t$J|C zcxGl!`|n2kuvU|XuXI6THXG2jao1}C^vpj-+%1sRTJs%ZZcedxQ^c5t$^Ppr+94NA z0n|Rg@OK(S{IFA}wVeTJH=BV6Q3HdM{dcU`Y1S%@A|@~bRB`X+GOI#2kG>Y@xjxy5 z6VxwPOrTzT=qY|oof4sAP_c1L1=SJTF=kU8aN5TApTQDfV~(zw9!;h@5Hx7+rbXDG zH=`{ML|(3%wvlAIn%pT=T(FRZRYxbT-_(DQu0N(&L=V|eoW>}nnW$fpC?hQWewUU7 zH@7!0{?i}4^xLoBxm{1!OTp3@WF__gW0~{SVgmIQ7qd7?CX+w&^?iDJ9HjgX@0?pwShWe?%lu=A;V0OW}}mFMj?J&u5%B?2Yr&(!P4{-@5L< zMl(NTQ)9h#)eTj|LHV~U_{UHvzDlU|a;(p}s;a2g39MFO ziV5n{sS=tW5B+WQsXNPZW%liV|H^m&>8sa|u55uGR~#H*)yC#W&AywmduNdko&M}T z&@RYn!*^c^T+=2fbdyq&PORmePMfM0ZQN zjr^J>zNa9CWZk9?0TMYu@B@l=a-NW!jd?bSW1lOs5TemY z9kM`TR}fR62J*{oVBgne5S`N`oE9wrDw&}$k|NZC8S6oynPZq3q#5Y=Bec2l*~QOk z38y`#LLFJ>YgE&1 z{qYia>#;1mk;SasoUZB7f;~=)k(MRdWtz4ki(3dRd>tdq>Hz>n-}}u+{^|KkF-8|s zdx!gtHupRe@|<x?3P(B|GF^~1%s?Im5M18cvHen_q?10P16Vw% z$CJUJMHXYY3)W8m?<3$IC{qkD7SJpHW&!@XFmDu_9xQi@dE22Uo2?Aj%6^x+p(R0XZkSY*q0JoJ!RhJG+Gh{F#)p=>PE)($D# zYT-@zw!9xo<4*SW<~kI$OYu4`&M47-2c52_aQi{@_svt8{9-+G1dyKsQuvF6Ary)M zvgJMX6fJf&TuJ*^urD~&KJde0U+QbLmYfIg-dIQ|b^nxH9~8{~@ySwU1{j0%1bw3` zFwJUnhmO0+B|u{zt)3HCtkj;_GBk3-<2|@JeUCHSQMoKPy!XoQzqf7pvETU7^{RaE zs19**@zNY-s8+gYo~-2FWcTfXDtE7MKXhNX=a8_fr z)2UqFEDzhHr1i95Vc-}+%#owgscz<;R$7;b`LWh%3*(FqY0U#c@L@+|C9*;SBSp9` z3|(sMjUR8YT98784(J}=1|M({fBUAv00ySewtD}TXWnpo)=JhWUee)GJz@*#l?P(N%DK;j?GjfohwK!-xcVAEM#V z0<|pt2Tef!DuNo)|3J@rlGgx7G{_H8`Ye*@S%hKqb7@ck7PHj|*nR%Dzy4P~^3+rB zZI58JqKQ81)^>*$0mi;xBnW4;g2>F_mg--WrjGJSv9(MOqoe_b9fVWbcDSYOkU?gd zEFz~pv0hFF$FRD?^%$bP3rjspBYpPsKtU<6Qp&QRU|F!-tn0e-EC1rVZ~U8g@6_vk z*(>)zq;lA7`*0d+14fl@`T+7+HB=M_~SqORh=B{L5J{b)_K8_RPO*q(&&&0uCge=Q`%lZ<|5kM<%Qt zh_cR%l!%T91_eYkts$yT34b52UB4>8cqUH2JVi+ds*+#Wc1M zp}sU%CFeYyCp*T)t&iTWlQAx4wxDTuUOkCoQBdc+?7dJzKVk$8ZJg{D<;Ta5`rp71ZpFJ%`#pM7O-kPI@N!_+F*)CcS!FdAW`iNjcW>}_pZM>#D^3T3sUkJ=ZZsJ{q@^guh&ZnMuC z8&`a*BWMOl$5bVz#TFP|3AIoo`f&(QTsT4`Xt(81pybDu0+h3ol(eN_JuSLxu}gi% zgcoiY9o&Mh=Hy6XW1{yfkZsaPqU{Tk-l``WOUcK1f(7O*m?ZW2Au!Gun<}H9S|mo% zrO2)sSgA*H5h5@!cEVJcs?FqKRTQkiEA@DE*%3XrRZSYXTF^4#;+P1Pifc@@M@YW|5;CHHLM0bdnec;IQZLPN0idBXQ)HUko<>qxK$alW$R>>pak2bi z1*UVJXk^ndZ&oWuDvbu{hA7E{Tf0f>9 zuw7jY(L3X*dn+PXrm(r`JZY->4eZDq<^dJ@=uLg({EzDz!b^w!pgSnqQK}T6Jh5J1 zo$<51SK1uR8lX~GxX ztd~{w6G2$BoIT`OLmOf=>G@WNwJkbA4jBs=onCDYpSNZeL}yJ@lOdOCU%OH=VknFn zSy_<6>QZR!F)RXpD3mZ#%88Pf&kON^MXSqwdPs7wbO*;8F5r+kKgKAOG$8HULEls5 zrI#t}y;;j3P6|s3Qger9I_9j5@K?7#xvJg={F4V_+`+*I5{KVtT2a%!C;z(UhS2Hj zgRv%a9y(IYbw;XJ6pOfQT`@LiGH<&Oy$0tfIZzpF0|YT6J6tLweJmr%ph}vK!I5T3 zPXy0`n>xPDKnPgvdtfzI?ALbngFkxzYyb3RzGGK6OD(Y8n=jGKYTEYNc{g79prTk2 zb0X4)By^_f{t1Udyh~1JR}zWbJS7SEM51&_NvaXewEJOV8AYlBytW!^mW(p9lGl+Fp)NFt9pvcX zie|0a9Ah>$#S6GS8d5%tQFGV1K&v@O&vp2OkFtD^<$}C}WOhcf^FpgV6;8;f0AQ7J z5|XeKDw=trib-*F$DnFvk$X{IppGlOEf*6~=ml}ftg3Wzj06s(y@a^w$!RbjV3|eT z*L3L;+H}!L%-_tWZ+1*imUtHpaB%nX^fmi&fN8Ep^@`3GQAjigklu5^4jr;Zq?B3A zfySo&XMdTJ;)cl#1UE**Ybbv=P5iTTMUWL>1q#ZFeXGxY`u?x|+RuQeTRuM9el|Ap z&u05(TZ{YMTk$Svf8EZQfLpQMYxPFq?hQg^YnvQmztk&MO=Yub+Q!U2O5eba>Pd=y zH_izv`$0wkWqQ}}({;B0I09fPrH=rBCr<0>%rF1mi!cBF51z1_+Ca{IgQAE)m_+{^ zGF;}?thaT9og&8S@rzM&po#^;5(Y?H{<@A!Dn-szLnx#|+)6R3aKc>L>@boA4GO|n z0k3dzNwT0slmSBdt%JWgXU;bYp~ok`On&0iMjUO(Bksv9Owl%^>6ieK&y}b*NRhw; zbLUGq6a<=+ax{|m@E+4bV@d~2O6fsMi_?Z;8zQGDhj}rP1nt5~d7#)Zn`j!OpQwfV<+V{d3}crg;3Tb!)IR#)?x)7WQI5_Gfzsq<>VH6$x2u5Zn318 zibfz+4iDt1DR3dbJ1fcyvMyc=81it%bUlflEs(D;6Gb$?BP8^4=>7FrBfAHzyT4;f zJ>?Ti{x@aVhh(c%XjcTTs9GlYKL;0@_?O2*1SNjr!eXeRRQ{GXiT}5)Wtx*IA$Lxf4c- z97Tc~$a&tKu?!Rum=GP3V@y$}aSRfzR}SU9^eaQT7G5_9!zl5VoGT=z8lM}qBl=Lg zm6*k)S(*$=K^gw_DpkeML+!&fJ{fS&{;4C@=*ayo;0XLe0Si#9l+u2sTG{VxzxjXr znU8BrmcR_d+QtqFdtZme6aXV$GY@h6?tQ&sm*@&1O^pH&*h(e9~Qf1w6IXdX1R z9IH+O?M-Y{c1aK=fL>aJ`lzerss=wjAOt$)XG)+z2DwMbSLtPc@t>iT&fUI$byXg0 z|M{PO=gmKU_lbJF2lj}p6}98=tP)LP)e#&VYDq(dyf0V{A|`}|-)~$Bzm}qW=WNd$ zP?4M;DDYn@nK6aWT1g1euEY(F!mz58WcG|hHrQw# zi)CGOHa^aTN79-E!%HkkjwuEr%5pHnbh&`olbu~T&6y=`S;Z-%Z65$?XOo3#p|=C* z9yE{7)rL%iin@zHgK#q`JkBh@!OSXNRhugWi5L~5YjPNewMs*c^<*gmYu9Awg0%lh!Ex8K-a{`7Bs z^y=x;qw^RSbn5;<`qvRhNPqYV#!jPsA<588)cDF@<<_AikqvgfqnSdp5+>! z2vKv76C#;|328J_qTK0~n-pQM&BQ%M^q_?~Q(gWMO_VZ^yS{uF!GKb%6teFv;8R*97ca-fV$FJZKi?I&*yilBhPp+_87gcpmd(r+j2Y;>O> zB`09S(s20UWCK$irV%szQ!P~{Q38}k39{m9#BP~xv<(BARZs__p-m0Auy{oziRekZ zp$+C3)pSsBRvkjJqb0Wwp=d!43M^pUtafzr)@LO9 zQky8~laZSAHvT9`TmX_*M)Vx!Dx)}JkSTU6_V`sSnxvVruBkZDpCfyVo^DtJ2I>13OgKAB6XhT4^Ws{D9;UDCJV>Dh0!i+J#+k9h^PE159x~P zXD(O^1!R}ht;kY)SxlXaNn!Ka=-^FCnUFuzo2oFISPCGscQmmG-~|*^oJ+StAR=Xu z*McPOv5t^RigzdWYP(*Hla_&L%w}i^BPbY3LbmHQ=w!H!;pHfNp|4&Ozf8$Kn5QE7 zGqhOi`U5Zln`#Mr@ytH}Vf z(my}7G4YKg?J;0u8j{C4D~YYLhDIhXnX4HF)rso;)L@5c`3gaed}hbWVaD)gd}pF@ zw@@*k48wazlhHS%Vk4!|LwH;--Cd}9tuV<~paIY5;-8!sz+x!N?Ro$B7oYyMU;4}I zy4-RX5Cp^8S8mp(6vxg7uhX?lqy8)?c;f1`KH9(XPhNQIkKVt7Q>|pJ zwbrS9B-;J1?kzp&6mHybqqtsWUGT?K2bTloE5(rko&1rI<0Lo>VsNZe!`qY2Pgx-3 zdElI+y;(o63M(De%<>PhR8k^1)C=N!Wjvrdq(`Qxn`9gw)8#m_5ThcqH~ zVo_w}snOT5WTrbap@31}h758hKR&NPw(?air5z`3TugzcnLj;4H=C`!-hmur@@kCv z(_q$=q`Nb+z{I|h#CH-$6lx7gtxIWrrum7Mk}<+Elr|-dHMVKnYh~Rluh*-`&u`EF z&TD+VUZGe8YRs&|cT{VeD%8r`t>#aJ2TSU#|IaF?d;>xqZBd$Quv3y*Bm<4GA@umc zup&gArX39&6fK;D#wmxFlI$4=xRQm9NNGO1*}l;VumDTj6%Iku8L)zxFDIIUL!y0T zH`qni_r&_dbRn6dYyeq0P-a^@r}zyKAu>JV^ATDyL;N5Sbr5A}fh5UR=4KMiBx;-j zBz5UeeqIJ&lTe|ZNKz zMB!;tn|sL(AvXnwRC_&XSQTQ3Krn>ZlvzESznE!&G^Qj=Qvsr=qo#;cbfU8iPQY*l zKthD!iVF-KXw*`$l)59&W3q0Gv6C9DJmf&BR49%8Z|&bZ_kG!Z`8R&*!ykG2gKZ;t zYus4Rwr^Iu3AhtKYmKxolC!u?iT=?$7F&60rrzs zwI5`I%w}fMglz=K?h1%VAlP(9(hTxp7gmLRpRNx!=(y#)H|z(pn3*!>&jCwy3}v`k zwVe+UIKnRY53&GV0*~OaA0eYKQM8Qci`kwwk+bxO5(*iAmh?CPZ(&(9GLV7tmN_d~ z{;NX|ff~Cl&zBmZy^BHxE}*nH$V~)#+KeNz`0%_vk|BB#&0v;23g&`)kv}Jx5iAk6 z(_%hnuOPbFh)@(EJ4RWK5=6pab!$bZj8ddD<)b4%Ocg{%^eFdV;4|J-^}*;NK?fFr zGf@zaZKq0TeaMI+mj=2}Y1}E)cx{%YT_#yco=HSUJSS&mTQo*=W2n}Bd#*u!82JE- z8EET#J(bh#3-yJ6{ezGFjSpWvT^?1i7OTd(kY)55N^hZ6`{41dw)T@;Knr!jZ5<7O zmwJ#fpEng$5$dMrVM@cHU^ktWhc^#YU^qrW2L4c6kBILaLTQt~UJ)0{Z80;m1$KMp zzU`$bSkJ@ETcSz7e8gm4rpLEL2#`2}IY%BCXTT0QYjv3IkX~*v^IB+=_h!~IOmR=b zdvwnY6L-|IqbfzRrdqs;OmG^tj^(%r9Bi=Ve47TvyPVo~eG)QD2$#zg{~{?Z z%gKwQjHyYw7t3;$!)w4?FfeV!alMejGL;RZz4XC)LvpYn_bHH+ zJrKH%q+T=g$|Mb{-KmNbjlsI&Y_s)i0*%QLX!Mu?Ir~EaG`*cqrw+*9%gMo*{_Xsl z?yPR_cj0;8KK;cH{nQsebGz5B_OZIze&)7w-)-MGlD~2u144DkW}TlpglmTRw{|_m-RT zxP0YbeE-!yc=yVds=}z2ty3-jv;E3$RuOsC6;1B%iC}{!=Wzi;MKdr3sU4UI9gw~m z#4Vu3H>SoIQi}@u)l?c9lv*90SjI@m9+?9;O3aHI9Xlj28l=~_jv{`Yyt^zI-&4L6@@mJf|RQnm7=l{2_VLp-9Pc5 z2mnV@AN8;?S^e@r!!pAZNTdyK28#8XbK`vU0o97{Qlla3a=|F#K%1@Vx%+lhkm8V{ zj^s?$fL_Shb*}UfsPAdm!c?3@yRdiP7|#Mq!UZ!iNr2b@+usK#h|pMx1{^X5_Ab|{ zK$R3Ejy0sU32J0?p^0SnzN9pb-Sx7bU)*2*zuv6xa9zv@)CEMaqAR(B72Nso;cXQJ zQ^f`RpFS0-2s{FTV}5T6rkWej6H-N+%o66OqdBEK=f5jRG)7;DZsAw>Li9u}X?Oa^ zNUxxDp#tpjc{^`sl<^`9P#PiHtkBAs`WLg(j|9D&*%YtvX-)-XY8I1!|1)x`MEXSm z5Dhn=tO5|kfTDbm9`)($bByBF1gor%*J0cQ3*ey1Uc#cMJ z$b8Q*cSJ2gzAU@dWBv-I8PBEh1$Qp;OxOg(HZQ9QCwyUglZO~KH=TzGI3405Gex0I zDLoG<;6+^lbJmnvdPiKHn%x4~5VMXxCtz;5$W@V`^cUD?tlEbo12^Wx5pdK zJ8I>&aof0^xu4nE|NG9pvP0OiB$cXl5Lv$ok*zm7hHf)xlA-dg$rs$2Ka>m$Bigwl zmTG~p%OMfslTRVykoY1nL79Y~I3blF;Qz+@x6*=s7qkpDl)Ii+{n=?QHfcu2ya3s2qrfsGbFd-LNW15HigwnSPVoki%n1oS4A^k&Coz0` zTD*7;v8za$+6N_1SOLA6G>3ykWj>zIFga-KWFMWnx<=BwGTz42WaZ6K=+R~DlO8SZ zR!2kzq4I|;x#_Ze$R%A7VH=T(L481q&JMgqB&CV}O3pfR9Gz16JReL^6B&&G6Qnd; zbfl3D}3qSz5CIhduF{~9$PUM)?&4E zQ^C$k+E(9x?}KgUFeo_)#gbC(!2J?c+<53KomG%9wsgi=^gTyeQAEvWi3wnd^N(2B zT!fI8o)iwHtAl6FrA=JUlS%Iwrn|VqKo&fB^!Ro=FUz1bb>pvh7pmZ` z0%2aQ1$ZLk6jB;>0<4d_zAEL25sy34WRwxF=rMY-m|8WQ+tXco5Hx+{AZ1B=|7Ds= z@r6xfl*qt2r77ehF`Dvt z2dcVVIAas1BIeFaNdb!0i*$4=0CPZ$zf4j=@qtNu&o0fzVOnrUY?EnfJp)kh4++x{ z#$T_F-iT;H2~KO!4Z~=gBDgY903MX#%$#)N2sq5$A1WAygbaCRkcU-L;|Egy2s8yk zvPe{fcm$g$ z;LI9BS`PSgM~nqf$e{w+{gXQw%KxDqegY?&$Hf))0yU=Ff9{VP7#3vDQI{DGLl)WT zA*3>n^m8A0W`U?kv=;{RjPpz}=p!LI9i(QB4mC=PVXo1bynLzn^PVmx5D~+~36~Fq z*IcXurop(nkwfspd9am)Kc->IfrFbjTPGSS(cdRrQD@-Lp@M3raUki*Y8vu?AgfH( zVd!#Y{V{GjQ1THdUza}l?~_HLFT_3CT;aNh73jU zrhUUkbnmX?4|3bd?<}39B`L)P%~Brn1#Q_->S*xOp?u@mCgW7! zZpMH?gIDHQ92>|2QNsbpNeqSQ1&DTxg1PHUu#{w!B`Bx(*wkP~)YlA^hig)my%Ecc z4&8-UAC_NVlEx6&8L~R)AC^?+td7|~K$D6O(*z)qFhY^+X`h_OS#(aEvRFpdJ0j~n znG#+trpMZKRu?q(nCg zIu6s2PL1hIE)xs+wd(9?oWPz+VVs#EA%jYDuc`fk*co6-fDDmrih!_u2#qacj?$%097=wXjN!_P+sE4{ ze(FQN{7Zl7mi4w_{%zl^p1EyStL?3l-95ES5g;RgMaUK=Y8_$QPZcC3orf|E@ayhP z{zRIPj%zk>G5>24ctS4e@p(DW%>g9>$z-&YegfzSP%E$k!=2M<-R!Hs`{Ema@aA2+ zuB>LPRq+4mioln7q}YKJUmfgl4cQaX-!#_{)1O@=Z6tui{8y94 z9!Vt1S+A=+RZc3$AagLqIjh=-x$xIPq5vPJuyo24K#PE>Op7)&BzHG0SN(USS7?W3 zA$2LIw4cW)lXE_^T79D3qA_gDBK@?jIGWi%4|2+5cRjy^{+Q0EB5pX%U=l)u(aae= zBTAx<01&f0Y7BpTkC)FN#Ly{iLt?rarsyvIrKvw*4mwEBu^|gMv?tT2Bw!_1JDp$K z-}saFp8e9(<%WADH(Eud)vdX`?7ascJiOhnu1-nQD;(=ftv#W&AM_NoIsPpEP8I*1 z1_DjVQ`FpR$h;;BRHjejf-K`85~Lp8pk(|ct%^ktJ7y0nYweeK$idjC zA4Rl9)jx?4LPC%yiFGq5Cfd`EHY_9rBli)EoKf*{XihV6*k#O}sy61kP92crnMB%6 z;K0rl(gWIIu$CjwrOm3EX)jhyi9;6gWyr}%QsyboI%iEW9T0SV%q`ntVa3!^XBdYP zC7(g3wgW@b^f*TLxChcM%p9c%EI<4sI(COla$}FCap;6TG&?R|&7z=jqr}k=a`lr+ zG9$e#<-WQ;_VAhmo0J$D8Y@8y`7?vHo&5xaM!bdxS`tcoE4NI^3zU(wdB}uZ9e)F} zJ}xaW(!iej8@kqqjYe9n$@Y*ce;PD?Ofak}Ce<1ZV^D_?Ix@6|5>nVW#AUgQ|Ms_j z`rh3;kM@1U{dVyG&V6HTKlXkG7@&UrR1YY}s7NU>SG4)fic^^GeI4(*X5xi-4Crtd zDg}xm2AI|X&RGj$7_uDJo&7Ie?%#_20-%(E`zfWJ18}#TuD1G(fA#$rf9Lf(xN2lR z){08B-rHu}1K7u%woCOtXdB+VsvHd;by|okKlDQGfQ!%_WOmGv0>BU^Aq+iz zP;3zBpwKI81ADS-vkJ+d;k8X|mQa!;fQys{fGSVDWOH)wP?I%_G(=0CV}&l1_A@Ri zrEgkSDYQ#q(@{7}uMMWn4o^cI zab|f9pLI@htBql=kfCLo8B$~FOM;#!Bb-wnH0J!Q9IERxBE_3paSkd*CPkk=5aH4j zBGvR6FkY0WnfU!5!{u>nzb2u8RO?03r8$t6zFzCsZeOWJQ`?kL&Ge*m zAb&zpCFIFY5Uy<+IaVpw6*#}X{ou>**#|6@wv#)#Rqm|YW>!CV_~^ldN5j`JDWh{x zYc3nr>uNIWJ}9aub`TC_L82K)l_w9F5-3B0k(n)77nzKakrzGIf$BoRB+wIbN%u+^ zVCTxW-udAAo~<`ld1k3B6{Srxt4!u;C78)-A>jC-z(wD$Y5MGpj{%{)3%(glspb?k zxk-{7ZFVijP==JGCJTxq4vC}`I>yv60eomdJ*%W1MaqN1VWH<^|MCcfo`Wk1`oX zFvdl}XhXRn*jLyNwHaE&M)@4wYBvBB1InZQ_HX{yPk!+WpMF@k4Yi_iez>#N+KT>` z0MO(twa3dJ3jX8-kS(yf5g>;0@nC5Dd%HT-s;XZ!WUvy|OT8q<)MS8lxJl(aMdL%|sIJUpD$e zfnj0od>~Wu2~85CsN(-(#S7EaOH9d5VlDFqXvBUM>$VX%C{EJ?6WCoAI`0g7ds!?H z^E~jvnIY*TnQItblS|Tzi=#Yf=A=H8Rld9L;@v}`*lEa zKry&_yS$sC1H=UPC5rEr`qYb@e^BiF7Y>WN?$ zIo6E{-J3+-0Hv@XAStcGT0wv7NCL$s!%S^yX&Gr(k-0SunLFti0D|LG-Xn5QF((6N zR(4A+`A9UhoNlXq>;lW<0eRkZEH?H(owj-Kn2z+)m^}Lbc5pBInyQJJ(dXzJ3N4|T zLL91)OBeh=b6f;(=)f6IOICrnCjpDwPP^co#-9{!hGfY^*jkbd4YHq=ZYVSDSx<+D z1b2x1|)$<^znlsy=eQ!gb z5Qtq639aoMZs7w2P5LQ(>$vrYF0@iu0yiVnfxLL=b`L}li3C?kbX8z54|g&-E`qo zf-smRZ)`vm(l<5zqP=tF$5cPF4)3EP{4H#H{p^}NpAr8~P5Nxk#>Ct4VlSX-j^6dX zKspl$daJ-Db+MEL0WUdW0$N2bJCtbWg`Jjsa{d^t>m);piw~2;^inIl`cag-L0D6e zv99zOPDA8G%#j&ASe)fZB_2^4KGaR7b4~%Mw7knl;%cAjRv~A3s_;l9>qA|WtYK2H z&N)vtr3jb9)G{{P{;SnSFH8DGwUf_#HnNV5T6~y4d@U7N(hpTzd9vmF>iNC;;E5l7 zqJZ3i9kv&v)qQ*G?FZEaZdr(eQe7G|s&^2@xMvF`q>j51$G^>CdI)Yp-)K%C)gEkziP#4Td%YhrQ72`BMyaJe&f)75pefPop<#aw>;pVoy z|N5h1hEhj`T?y59);J4$gTK)B;h8LC9YrUyTT)I-(n_QW%K&OELXy7+UO)gTv2ul5 z3b9P)Jb*;fIcP`4H#|3naGl$f17?aCQ#eEU*n02P( z5G0?z)O9@$jO;*&NyHLJozMWrSqVc3Yhm6Nz;bpYhi{96(*disNafep$ucN0xi`sm-dPgVr8-_s9(u=`kWYR*3srqgbeH zJ|_QmxDp+rEtuQ1zeLLuvopXS03le%=PKTB(#(oiqd@vIsjD4@jm?>vEzK9nP#N7o z%>aq*wOAx3gY4`e@OuB{U;EOt&p!Qdf4rCTW?R?)Slz5{w(Z<&$No@t=u~G4DWSe@ zz7nKAQ$k>jCLs=LUKqnwGM#HVQ9?xHo;Z-H2|XocBh|2wq$earHhdybMj)Q||ADeB zwp=aiHOklj@cS?Q-s^YjX}4XW{^9Ub%zsiawfHkj3?By4)RNjK5tr2iBxD~=ytg3F zSE*$!!5>C5kVhFN6XZU-33BnEP--ZiMbKOE9Ka?^YqUkZ{>`CU2tsZsyk`{|F;l|k zv8O`7QU}{F)GW6bephaGq}QYxcuKnlBKtmc&ZYS47qW%~)yW;c5>@JboW|nuHGzqg zoM0hJT#5)?`k^-v8c5`P*AB_f4~swKoa$JHli>;K(B-sIm_|czUJlI@NtMci+ z$KKcmW8vntBhRTCq4kp(^C7vymJHfT&mUF>xG+U`y#pM3Vmf9g}W zR;%qhxPzOu(BFOIzJ>T_E=tX2W{dpf=L)wjO?+pk_fIz{Lw>*dG- z5f+bp-*gis4wC zQq%@`dG`e`D1c?34Hcl!(;e6aJqswZNem&#Pc#mzl@#oP*i}!lIiEt_9>v`x&YKv% zdkZZVMNz@JHYN@@$F$`BX-9ipprR>3%6m)t$&L|LUQ>}C5hP2dWsE-N+;io$hlmf8 zv7V|Yo;|K=2~JR|*h~?r>*^{2Bw(wl9QzfnswWkeC?rW}PChpsUd|z78k%vmehUCG zVt`MXPybe?*caXvohVh`!quX`sC9D}*G9b)Kaw%V)hlw8Nw>K>l@*bUdc zB`S}&_)Y-FNC1$m9=Y#F%A^$pVjl4cC!N6zx)nbmAyshUAx2a%S%ff? zGeRb$Yh22ILP7%D2(X+I)ij0%7fCnH(xG@CfgI2wC>G`fcDSZLCf*+S$IGWzVL~1# zSMp#&WtzZ&HKHB}`B-M^TFQWmKZP;H&fBq;L@>#6XFx|V7eq{wHfSW+k!oXA5-1p|% zwXijfO&V6l_8^H6MQhnVYok81~7=VIj>5BG#5y}NQng-KjfWy#0!Xk%gk6{MFeKj4T2o1#9I<6S?zK)*k>pI zl%*^vSQgwro!)xx-LL=i@87()E>=j}t3u~Y;GTn8Qu_l*S6_~|SyT9#h@&(Ei#@zfZr@sx0Yr>tsK=AalJ!-|37R`Jmv&0HlPk#P4uv?_oY^kw^?* zRgjCXcK_z?h%~U++&d!=N4gIbPbwhC#tgv;7ah&eN#!ykiU&3=ncaI3hBVjmhXr0@ zcRDKsk}VXcnjVuY7nw4X%#^%Hplzb|qDi!sIehTo7#6CV!0$XoEJ!}XyNVPBoQifx z28uDjx{Uya_M?PxOiB?!1gTOf5(5b?ZAsxHwf1IfiwqSZKkj^D?T!I}UPvw+0be17ANx30>Lk@NNBM^5)YwC>!M2WqI0uE$_|#H~g!8I5A$ihFm`%FtSd zCJ$AsS_i2a2vGx=8ebe$EW)DHDUF_^6DX*KU7(3XoCkC*i`1b&k4GETw|<_I=>@iP zrt=&pA8;umWl3P{i7h)%eLMDTT9bRh< zui>EyFN-zJxLiH+Y3R`_#W5m^n)qFD&xt<8avdywv8e80xlqXh;}a=2ZWa#ZXGC@=F{tHgUwK^5)%LTUH`~vw=XyT3@UOa`y9u~*_WQD$ig%d% z`U&-^ID#s~42BmQV(yK0C!;Ytx}IT(ikveMw?$y@n9Zj9zu)-9v`K++x%xG4m%ZbD z3QAeZGMGPQE$dR2r7TabS8sjy{XhMGetUVD%To4koTk;muy5-Bmc+>(z{x(uV8m|J zLI3rWT*rWD2yEp2MTuYvk{_hyaeP3;EsyKibobgr9hY7-g0Pr@Gg>Ph8I2(YiJTPb zLngFck^;{gQL_WZ-qZA|FjX(cT!*BOfr=W)Lf0Z~gdZE=H6H z0g4z@S-X>R1)9h{rcZHhY1;&3GlJ?n`rM%;hHLzJwKZq5Mr>ViDmP@wY-(j=Qa$E~ zVn;?yg>O)MU`tDfAxAV!YnPOz;IuzB!@6Eyo2|vx+sE~^-1*#RpC!s(!45gLK{|ls zyUzyOX}E%{G#=;3Xvy_Ww3s*VQotidg)x>i&zl0Q^|{jH2H|=MC#RPH{#XhUm@{v9_`kTKv)6=`7E?5d#VgOr~8lQh;4R|Mj6hs01sCXiqu zB7+A+`Hca^E{UIM-kyl4*JRjCZpQY}6o0zPn6wO-L+@pEXBLtNG89>WyUY<$^+f8! zr;&2R*K6r1$#Jq@gg!^(S2Z#yjRnL_5$3IN$R`LZn4>dfIZwHxa+${3Tk=!^vuhd` znMRokND*fWRz1dw5VcCI;tJ%H1`ZI$_5QjGXP>qPLt~!4F?&g7`zAyvNVglxv;w}> z3jQHA>nfQp_mC3k_BY5VU^awiI1lWgar50$A-6nq5dfV=rn8SLcjVANaZ>&3$>}fR z;bZ3HDxj7_Zk`3!r?!R#%erij?U_&A{ncOk=^gu-=d*21`Ll6rz5k6J2D)3N1p5l@ zCloGO13Lln?2n)2j%I2Cz{;?kl>N{X zjViNIM8@UDkO@l15#oRM)GFU9a=SMv_{Z-OF|3UICtY?W&M9GVG=aIRiZmA~@>lv5 z%v5zkJu}&$oE+hDR!`|^(v^t_!9d6}FQ@a|yIOoGer4g|X6aj7k~%|=AP8BD4Ae2h zkJ6~I)*7nEpr3_ao>JZKjl@g=L3U=x%Nq8&tOqmTA}i><&3c3SMT*vqfK&+WWkm2$$eVmX1ZyU(uA zeERN=y%fMU>jx#z2s8glTrn2~9Ws9OYADci{9Kx0h=0QEn{hpG>THe!aEXV_(ZUGz ztVCEOIGe)zi%O{V;vzFbx(TIe$x=WYgwtz@b1>()Ip8AXtify*@~{M!rAJu$@kfo? zxV!A|eU<2v0jV)O2PS1Q^5hlL$4*VGY5Xz`oo$}0$%)W~p^i521h(T}lt6M5UW@8> z#aQjy8qphAhz6k0b{9GLCN(xJag{SxV7gVsf8rYsgVoSiD=mlRIB3C^8y#gqVs$e? z5Sk-!#I>WK3BBGf7#Wpkn6!AzTv$0&2-7T<_#+ZqeJ)6TCZ+-A1bL?{1_37yiDY{+ zI<%%YeYWNHzxj=ibeJFXRXvh?^fBZzd|b3~@#7u7nCLlA3}V!aCA7w^<`B#b=ZPk)Z~}GV zWa?5ec2WI;pfXQ<$Aw5SNo{S4KRBf@VRQ|YYS68JaAtOn^Fj{M_SGz2vmc^-Fshma zwF#-h!Iy&2_K1KdR+8ZD!@CcSA;UW2fk{75$4{y!3M(PM!R^gx*vt0rw!e4AR!+Wb7h6Ga)ct5}^4M)$MG3X~OqPIDQAJ_J43bMiz{Y?K9Tu=%*%9~uP`&GSDWFQ#?@h;wl> z_D3dGK5QQv>WNF_nkDF6$B;AnT@AG^`*_K3H&sg_**&QfLK^aLEAW7BmebeA5hmTM z8XqLO^j)!NKt^n+A1Ahfe8ho_Xp~+G*NHi~q#qJJQOmhLH0SCL?7+_R`?uS}bFmXD zzVqB0b>G&tx5L{C>CrMMwBZl7u7)>D;Z_}2I!=BJy;3oO?+Q8)2lFNrM{0WT(5SUj<+CsUj+`AxshACP z3ucm)#nDpy0LU$W=~MzpHCr#Sm_Tg;{C3?oEV8c{EN9&T;%q3r(-6Z-u^srHF`;E9 zb3ujb62leyjF2ycSNpjHq27#qUV1N_3MKL9ikJLeRQSJ~((ECR^P>yXF5jy@`v?LfZM}zI{q?_c=jkWj-yUzaZ>*KIIe<6YckB6I z4G(dkd?t{OcRZ8W-!%3&3a=W$zWs~#2efLkcOVa`dt}rilqnS>jRI=F7MrMb{b1Z# zB~DoeD+S^-NtS@3KQTKk%kl_+{?DF&;}74yyI#iuske0y8OUSUOWkYDJpd!Nr9CCR zEm!-mP~~>j2oMbrIMfA}P=%VrF70xfHe5JE6~^NghvHBLGR4Uf5*{L0&PZI*16zfA zuEw+8xP>KFy_}~=iMujuhF?i|7RzhM0Xt@x>_(67wJiPA(ak#%M+lkA<0#D7Sum5;IGW^XVV9cPrcfXk&_mx>|F%`t3Mm?;x*cUW zv?NG^V?B{py$_$lT@WVi3`(U%)_|8KGL#>E*D z9eFT5O7iHNIXaes6tRx+&`i$YeW;(NMobk z`_*oDS%GPoy{t`9-SwkIWsVW(y)$2?L+znaLbS9KKi}syM{<;^GuAk;M8EI!+-nWr#GWq7L!nKQ!PHU@MyE$PCb#h(}3O8rTZ`>M>ZM zR@&mGRY*iOVCLSf26dCvlz7or`p2i{k3s7*gio88T+xD%}UapU655mOKu zMAHQ!ZzT$l&X7fNmq`dYWmIDpWJ!jS2ALJKIu{W3Kdmu;+z?#iJh0XCXTJ2|&;7*5 zZuf2Hwp-o0>}T5=_J{l4uy8SU4$(?A!T)CfP(t|#rz4#V@^6PBe?Tdm{4WNAOLwem zo^o|1@N@6LM;D6dz?g~Es`|@eOltq26ksW}U_CAOYwcdZ{ z`83zBqI;-e=Wdj^!q_h~bCMltAIMiS38#=Zx+jT-Z=Wj1;{NRyoc>I9h`ugi6ZD|%MF0JKX z0uLIlzyyhGnxPR%fTSi+YcK_N2NByTe=Aubj#$*LXXx0bRzp<*LMz%UK_j7IJPklL zCJgNuU|fnViu;B9aAi4RIiak!u4P$KR;#6)o>)Kkmw$w7kNZWR zigf%x3xx{GIWNcc!H`ieI1k-JWNp$EG#fo0Op9)ozP1tQ5JHQry&y@Gh$!LuyDZHOV$KpQ z6ab+^#yJM_$wt~O;#k2!GvtQ0;B_X-$H5dh?uwH2KsFIM%*uc)WkE~-x=Z_ya_8x* zU;NddEM+}! zm>*`H9EfXY#?7cRRp8J_z!>u(Ktq0_odAk0r982oUjEY`eD7brdWYA$vDPa3=~RX5 zRNcfmk)4i~j40DP5UYhVd!uTPv760kIH}IM&bTtCqH5mh&+TgLO^@J$47SPa~f z+@8?XBVOj{SY%Qw3)WLbn3GmArF)9zi|I{E(6|7f!!QHYN>k2@u2;uc%?3Ia@&s2s z8cjVO1Y$}YPg73$=rKZ*131USnMTS;(^sviV>juz+?h|&ni7uZpm41a+9ri%Alpo% zI~lHbYTlehK!lHv8RP{4?}|N(WJYC}LQ@$IKjtjVfv`vcwNt{4=4zxBD2iLmhy@{n z+ib&hEzn`f9(>|<5;*VY4;~e}`o>q^c;n5-r)zY?GOUz_1VzI#Mu?(#(2^8bYSgiL z@vua@>?D5lmx)+Nyl4&%pg2GrsKhvvFnfvR1#t{0n)AZ|9`tshTC=zV5oGdiN2B(<2h8<%@XsldmqE{S>6GlK4gVps#^i6C&bVQXO96BYp9eExG2%8d zL@*%-LidjutEH#suKRCo|4#kKQm`xqrIZCvU0uKR&3C`@51zkzdoi#!?2liUUF&`t zjXPl$!I;(Eb)%omuD}_+y#p+XQAumZ9ZA-#BR=RzY7FZrOTeY2fRR0?Kr)?yIyX<^ zmet@Du72o|dwd0?kP+q`By+{m_7lf6VRTBiGY$|aM5H?|WCH1;cl_JxnHa$Yi7Yz> zC58$%X1K6SsG}+T(iDJ@Nkq^vPSMch&nz|8-TyiubI9RR=>gKRk|wDD_UR;1v?QJG#V3M?1ST4^Mj-b5d6( zm++Ev6*jR9Gu$r08X?-+0}{m~x)^E~NtQFyFb1>fL=DN6wn@ty`zr!R4HG;ZI?WzK zIog6jpP?`b5L}F( z#|O{_PS3!BYY59rk?2b)<_c22k~#-`KWHMU*6;83hQhL-tae&$Ew-*Wt+uXqRqXy1 z&fE4UUwPrdJo--XDtT6vL9qh6^k>ibFO&#)E$k9(|=%n27MfWD$-- zR!6#)3BEEU_6fKFCzD9ME#EpNe1gn`YjkpngSGNVGP@*mRA`(c0I%uQt`G}HySaI5@nfqqjxrcx48|%jX%(~mYRrVo38wU3Zp6UXiOLaO~PMb$FBZ%Q?OQxbG z>!eJL!eJpo5#%AF3kef0%~f;4e)Fr|xZIuW*+k>9;R3GrDRKZP%Tfx;T1vTheRKQT z`A`4v&y| znw{?%nh|MJONUX!7xN z!cpoai|+krw05vPZ2(=3q!t;CC?oEBnj9A7}~*~MLFYH#wrh-NB_P(9>I(q4X=hbnb%~5_&lJ?%;zB-_Rs(5kW;_b zn4yRO_7Fu4ONOQKIjH`QEKXge+ujU9utx$#ihDbNU}1?BQpDIHY#IIF()&q_L&7+4 zmu_FF<*hd#{rFFQ*2=AY5BP zLM`4=?C#alkrE6zV;lgM#qs~Po>~Ziofce|dhfb?{rOkE_T2MV_fXba zmVH_Gb^usU?F?Y2)z)=c7ku=iPrU!$gSTFO_o|pDTm}WxvKhUap0C{gjv<0Z9gU@_q#=+rt|SCq zMTQu=+(C^Ib#*>A_(lQ06a$i`KxRKwKx3}QG6kn}L=aC@CPl{}y&l!p4+3?WYWG9| z8cj4LtNbC2_@Ea$$iyyn!!C>laA>a2Yoi95XjjK|YUATi<*aIB0sEl{nG4^Yl9X+p z#VAMk1JZZ=U%7-HGo&*PCawgAMLnesiGC_SFs)xz8Bi4~sbmOT3&hcdw5}c93!>ib zD-^+W%1ek2P6_xbA<{`*_>dKfH8mAGG!D!C-s=6Uta*BmVQqy00yMgu(m^B2Wbzqms5a`orGh;H~af zt5tH}ZD&323;F)*55E5AZ(N=1wAjKXiNV^$@hg_4Cud zxtoU}iI)h>GmS#skCP%CsoDSqa~W$5Jt{4ybLV42G6%z^$*Rf?B}^275gV$_oc_fq zOCVGz{iqO}(oA=7-?Y!%6GvZ-LZtFy5d6wPtMfz{(^Pdm5zrGxT&s&z^oBAOu_GFC zu%@J^Q78*xs}G-^dWjWLn#`~&S&hhZ**8*LKpA~<7*?Fm+sFUXhko)4pFfiu_jB|9 z+P>MgvsM3fwEP9=laxG`06o{x)$N!dyC%48wYxM-y??=K%lI4%Z94Y^Cjk z6Y1!#O3CX%^Z7Y;jIlQ>P03J$liYpfX;E~ZJH$Ky0W&#)ZRkIP_vcPw%XZ$5=onxU zI^L%nKt9X6xceXC*q>D#PL+Ls?bIKgB;Iw#Kc5Xlxj%}@gox1FzF`UgNm>YQe{0!Cu zm((50A=q;5gpb({Cw=5T>bGU>#s(~gV(lF@`|qjP^f zKpjG&X9+t2I`FKd2(Z3jbU3qFK_%;r{oJqorR)3GXO7;#akqUVH{07XUt2FI9}Xo> zEByX8g-B`Tqt)Hi^|eT)5uhmNWyUdr7!64b4MDy+M};Nfr>2fSk$aA~G)%FSy+K@h z+;7VOCAxmiEd2*h|Q>K~PVHJQYk|5p?*=i-pOmi-d)^5;b1I*eoAaSfnJXLt^AcX(l{>n;Q51J`UtI~siE%+z^zVQ`P8zhO6EWe` zrVs?%khnB2n``+W1}-7z^DW^-{U#Q23%D958aa3FmzbSBOS$U-<)mTl=#adF-|h- zWyCS|U&-qWJEGd&kHTYxh*N1)8wd zT9;FK_l*bt{$Ibuy*~vb4s96MoO@_02rnz`Y=QKoE~beh%k;M zmGm$OHQEhi)>0yBtyWRI6`Rr4l|FKW(-1f5V*oWY!Ie`1D zcffxrZ37{DO0uh(76lX3%>Y#sf>S!FLT@-Cm^cF~Qf4eB6sTI~JW139yX5j3#1Prp ztSY(fmk2$}rmO$afp+EQ>gt{EzWe;Yc;(IqSG7@pjGg-#`hFr|_1MSgL;7#E&oOcg zFnerOb^eAZYzFj3K%yc16`Nh6bcXMi)amK~X^5h16s#iykijwuB#SnBHHsUIfWstQ zu@onwU066j(;aIFtxLiewTY+e`@-HZjBreXJ*dStkfYL%nYc$0vx~@t(uiB33Mtqs ztq&Fxgz@PBQacip#*yCt289OXRUHt&Mx(f>OP_PVB$t;$`_DAiwv!H#fahpK@RCxm z>v381^prH8F^8q%#{`KgI53%U3L)Rp95F2gsr9aw30R2Rl$!&a0*Ec~N}+5rC1Og1 z8Z?48E7bJVjtCew8CW89PvuvbW+yuBNL^aRbs_H{6l@(QbyC)2R!h^^l%^8Bni{Fp zLR$zsly_gR_>}(T{Q}9P-DK7IXRx+%I*}46*^PH^bN4uTRww-(E?{?<4v2L|)J^8Eq8AgFhQ_8%E0IF13l?sZS zg1&_r#N>6FRLe;LmxR_~TttL*j>XFRCH^rELx4&U4YTogG^A7VlwL>!s*i5CQ3(!EY+I^#U1nEnexU~;+=^!#e8iY0CwR8 z1%Y4?@)ArO5J(8#63!nS7Mf1{u6TUDYKD%r{+df>c212A13^mK?Kl z|2|A@%+!CVuGNz5l@{nAAzB0k!z5QP+bO))yV-DQX;};L$_wv)>T@4@ z@GfSv^hB8q@-bba0%;Jd-9p#=;wnySw69Iqdgba5=#CUuNJI5dBtRu6;{~7Ie zz+JzKm8DC4%3|w+(+Q^)%L%8ISBu?SaQ7Pj`5WJR?t9-o-2e-hwU)J(wJu8o0kN#M zp17{IHg?crYq7OpMOha6$cOKL`{majy!v2SO1Hj^K9Gn5C@KMo+#GT@DPR3>S<2m0 zD+)7N*GbYHTT``%u8;F18nPL3MV%Q_6BNb?nrhRDMlqP7*Ag0_0Y}1wiIILRXqix8 zM8dF1+ML)+DBHLvMQ1#A^&CdCt7w>IfHY8G$2lC zdBUFl0D~KuXn~Ytk<&Eu1}vc!h?6uf&>=$Oq<64_CzJbBeR5-F2Vq1YX^g@m4`}{* zK~6rmfDx4x1H4s!?x#NX(?9juNBiUIfnVJK(AfWb4*=HTgXs4!Q28m{{OIwSD%oO! zpoxV<8go;c{s$wBI#ptan$o*mCx7o74_) zuY|`-QrL@>rFp8E#Cm-2WoNPe6do?MZBE#whNUBm_(m1$%W=F)`c{RmdoHsb)rW0G zh#>jEH1iE6N;VQEI(`y`l zq0m-AV~{$d2Gd|WgAG-Jd>Gox8f=pSh%>b?LX`w+J-UpMGa!D{eAjUrYExweo+06@ z1d^3mrC=O`%1Ct?dN>OVWj6;`SRFZC)oeGb=#Br~Dp7Z^O#_Jid@9R>w{HL7cfW&u zzjGZSS<8ZT!Mb8u`vhQF;9Q*+tlpbfWA#P+M8*Xo_-PuO_7f|#o^IJf?g{7Jbw8J{ z=WawsO2{b=)E?nw{pHy*P6F%7wUzHHPQ|W@-JssTve({z=bPXD-m=nGbffUXve4Gv z{>MTqX3LQEg9NMXJL=>3`3xEB`Zp%j2;r(rrBzP>qln`PWdJNeF0=}$vOUwN9 znT)9t&}ckN%fYa}#z2dfhQ5dv0flA}-RlT%C1smd-xvb)ljQ92lnyncOt)lYlTk=G zs^C(s;dVNt9KJ+l3Bu0^&X5R0#1N9q)?rEPo_VJnHlhrzLG&eLr&fI25#rz?uZti}T`)@I zox*eQRGb^0U`irwpKQaugnGuxdf!RuEe0$y^IVZ5v1Yp9fgtN)Q_+dZlgx;OgzTHp%}h?)o2)f-xGtSV*nfL|GUzH3DD%zhjIl0(L53dBryC`zq@%4gkj1R3lWVUjdk!zONRSpfidc@c|_rMMYcQeU8rKQvw z(S3=0!6k(Zz6FE3kK+m_Ixe-E1%)fErfEk=$y9D$Hucy+N?u0Mz?zIwn0Vn4Q-x#z z_e6D7?{|K7f78gZ)8QEsaU_OQLcD&CW|OeonA(pwGxaiJ(+Tkr<+PflkZ}|Asl~vT z(`Gf2aNwBIQZm9UJ!uhltkKTyXd$TRDvb_S?Ju=67r-CCahvh5j$y7@AL-Wij`raU zuB>&u|7up*ykp$Ry6@+!_4K{Jc;nCh_|)KDU|<3t<)nj^WaZ357LTrGA}c>ij7 zaQpZ_{>69e{&2loP>8jmeg-nA{bwNxfjRJMs>rEa6tbRPS0`pr*uF&^x%8S)q!upWrY;?lGAU^&aw1KI zu)HxhK9SnSZr5>C<8x~;t^_59#2Ww;5zR5}gKGg1DEi}s$&yG;>m*EZI8frfntiD% zm{`bSAd?P1OdV|_rdaV#G`@`Tgd)7XBOu3=kwZitTLqIqN*Zr@X26S$Jrh({uq*w_ zN^!3YDTdrUF-iPS1~QM(OoU<4jwxvLm9t)#iTRiO3D#+Mlzl=Joyck`)%8I2!^4>= zI$H5u5)*I5&%d7bWfCCZLZHMf7*9!QpvoaVLRvVIF3>u~tgPjHK7an_Kk>QGe(XVg zT+!^m4gBvv>PGG%+K*((tThcfB5C;)kl>(F@FfDKGBH61u`_i{U9OQ5?iiLbsL6`e?{ZI3Hm4dP?cISHi{+HkV&j0z!>G87LdAF_F&YiY#i1-nh z|C$1T$+X8qBRU3h7}5b04kjQJ7dxt?2wY@$9*B<9Icd&bojXgO(h_7+881&QUj3@f zvDcg`R~G|hbE=Pa-~=UTs{@A48cd@I7;P2lXN>1rJ9VI z1hB)vlB*l2SD)ui%awS zoS`i2e&rL(YRk!ndI$X{i(M`CiPf;y|Mb=Gz4ped>kYV6TPxOzg=MX_R-9N)wycJA zoGVZbm8DkH9s3#EhV5b9?mlt#rCw=x8B{mN5<+m@Y+ZS$YQOG&z~s1u%@mx)N7*B$zfsOXbWW($7n(o zXwC|?keG)-DH2T~(^*F*ux+UtDK2jPz>A6)>5&qiW)~VtO+qC`9HXU(U)8wwPo_n$ zxKgNC165kH2e=y3%>XbgJ@%{3B5BL|bou-L>tDZn|K@Q$KgPD%zSVu_zSV8xzEz(9 zMBN{$UZX2yelVy#u8_%^#Q2X-Mst!`(OSC-!8ACtflUIk3$=+vhL-suE`wfACb+tA`4OCp@H8dang=(~Fd!7;!Y0av^)!IqO*m@(SMFq#X$}-3o~m9IWAEj_}D!cTtQmJYdkU zc9JC`-_>5>+wt%p#y)_nT z%czj4-&dT`B>|hK1W-%JjCLj&O1)_{@?%d|=+kh>0iMrWn&h71NqR54-Goes1hEK+ zO%cI0GN*$hL=x;f3IkBuPE3vYywk%v$ zTMC!O+Aw4&p!%)z>5qQsr59d*`}Ggj1>Hk7gpGON(eUyDMVx}GLx~e!ebcx{9tdW# zWWi>7SR~vk$PLoJj6S6!N|Ck+jTjqoKTw;InS>xw&fI=9@nVW)6#3D-7~c}Qf3n}9 zNHDFDt?BX@(c5T(OF${CNHrJ7EnoafDUO-n zsgcc!6(-O0MVW9ewNv-YiG_%ql6HIog1MX|XXM<`jVUa=W8mSS2+z_mQK?{8F;Ajj zWJK*ouhTupa>g1P3}rSp2;~7y(a8h6<%ke0AOgjdj0>OB##Bg;Q1gE76|DvaBVipP zA;BcY-ap`}#UyJo4|`4;7m9{sXij32Ct z<82ujAxiV$eK0kaDJOyhjZP(Cbkepq%aP`8Df(*&Muq`uyadhA0;gP^3khrPxruI2 z!~FmetBjj<;XAkA{g*HB`}?vMZo3Um#(-zH8F&v#4!*H#GejyNwj9J}-T#cFBj@=^ z9(xG6CGKX3ph$W1A_o#rhJtjG?np_~BI2^d{G^O)6n8u}Udqv)uHLaRP;(=0pqk?N z;k}zN&x#}ii?|o&Y%Lo$>?}s2x$;N6!*nGXy{1GKtNEETwF7(IDKnA=D37ZboglruqaPd*m1#1lcK}WZwx2H#w0p1jc8f~a~ks3zgORh-adV|tY)Xh)`DgU zSUW<8%i<=1J`Gq3mNLcy7@e*nn9ed0b;#mL0@fIyETSD+2GDba{+818Iip!N&^l-@ zU_p_W)L!aovC}eKyoGm)-Mub<_T2Zs{;lUvCmOgEmZdIB#X_vaYFN7pXlV&wi!4uI zH&XO`wfd;;Pu$%3`M>!^tQF%WHC#vkd2p-pMAO^P2s>%QX9#^?=iz1-fUwk5fN&Iy zgE!TqZ*%&g>vTtSA#>!KuP5!Q%5Ewv zpH1Y6(WD)%e0kV0Iwl@O5O^h~a9G!00=l(wj-8r4x3LoDq<}O$El2mAUGiXsOH*mU znFZSx(qlGx{wxqsp(H$jO>w2k@#Gau!iZ>VE4=@`kYg|{tkcM8SkkJP5MSuQ zP&R4foCt}mS*02Q$6-XFDq^ewBwW%R_1RE3UBSs7uQQ|GKng3LkeA?bGo;Gl=tsswtjOB#iynL$%f83-gTb_Oe$>Kzrp zC=x6?1RM$4^1>QF^E1s~Giq3O{Tq8@0$=oG* zWE8Gy6ND}UIK<1IP2M_H9fv*1|2E7C6>0*aXcwp;ZKj4@^kTd{k`BPS|7C41q|!}f zpXnBr)Z_GtDSLr4@N_!gdPSj-oEdMKmKY8x<{oAMRmc{G@ zJC#;U+i4K=*Aqtd-;Gx&y;esL#~my{#bLNSMp>eT1Mky&I4!A_2u;7w$s6k#qV*5# z&uYtR>j~@0+K$~Yk~4_ibo8WVHo+$rYwQD?@#iP9gu`Gn^Cq7y| zRYLNqV$LIE{M7B#TmwzRjQ5zZ-~wzJZGNhaRj|}yt=39wHk}EVm*8w)Z}(Y=8&IAZ z^xl-jo13IId6=RVJF|Z2uYdYSKJoOqZaenPYAoU2#kOep^rkkG2f%XaKfybxjc&^u zjHUaY1K`1fenQV z{LX8C`1Z|yRdorCV~8t!QVzf{Pr!)I2BkBO*=7i)vM4<-jU$1O><>f)kynU199ct2 z9%>8Ee?`8T-C{`5nwv}pg6cpXlJq7)kuh5tnJgj+!lZ{i&?kRN?u})%%fiR?C}X>e zDDS{_iYaX*GxY2NfK#wJIK>IK1xk{j!iX<8Yr~vfEn^y2$Ym$?6v~v6%OQEqHg${R z{39QR(6ylWvdpZf<9Zki0nOBbV}e#4**Cp3wc62PHnt6UT6(|nNc<$@IFGpHsi*+8PBzzS_VnG-k^$C&wcu1*RgKePr`1jiP7Bw?mbHmwtSl@>c&EP$ zc>1q&D{mS1eHrmy%Q!y_-alk|KoKAnpc#>u(oZ1kYRiIU<=PGa{$pwX#;NdbvAfsh zn=iip$N%YTu-mdUacMLDRurP21n7by^u`?hDXyrEvefJpW);|Pxvf{_Z~n@c_Re zsqdQMo{=^+F}sB!m+{ypR~;f;8H4*lGLCd-2cHe;e@_`K#m29rzzS_aHM{f7`s;u1 z=k7mqbFTYl+h%od^iS?*+c(yp{H1mL!BAQ`RsJ?l=6K0_nzqY)@J#LKguCM5cBXPp ziF9hU#N&>%=+g3GhUCBfXNlMZG~_>)vMftkN?8ne;^umL9!+2$etqr1)!(zfERiQ#~B~-|F^(5)#di1j?99Q2R{ZpNGrxfcp+5 z>SspX=w39-@zEYh9PH9qw-D_JM!PMAfyc)HcUoDFL&=ktnN=_3H5?r>k)$@>2PW?^ z^3)p%EOTgpi7Q0@R@~{BLT#qa3E`unHszQAhRO+_t=pDI1tw@a_lY39&wxO#5nt5Z zZS%4H=^wyahbE-TB5{<{l%_E{$&v7HT;f(50(7L?W21^C## zC!c%erMF*xcRj6P%&L;hCOavQfvt?GfUA{#FbX>YBMG&Wrn-+~=P>nYR|PWlSYrZ|VD3iZMm(iB*12}LcdO3AJGiRkQdjFbg6 zaRQDba->`WWXPuBP)jCP$Cz4=*El}Rf!i8Cm(t->_R~9cKq(0~^jnV`{z37Kii-+K+NgJJP zV8v=7ik-3l)Gz<&&;HU+KCYej-i_$>cmLCS>-Dl(PekaDpE_`#m8ck5gFWIGb#MSZ0YG>J7+IWg45&klAY5hb>N!>+ z67t+);y)MdHR8YhQ&}o>WI=;>uu3XJEkY8~A|Af7@y&gx z6jMq!-0IwNSkW}xEG%jVa?v;+gaB0`2N12edl>p>$>FD$BsEQK)YG5W7mj}z{dnDu zqgEy;?(l574XD&Xa|J*@1PHZRgEj*_5z>EjH@&nz(z^SyKsF=^tSgC)7!QkI*NC=@fv~o-Jc!aOG~Wx|YinI~2@edwf?>(^ z1IUQ-Ysp+J9CZBg*pv`~$bxU)CmOwfl&=8d;qu*kX9%X1RNB{pwe~v(#nK4B2SS0o@zzWu$nVAUPWjP0c*0hi(8m zLlj{r!7`Rjnb%qFG7!010;UYfyoHH569aawA?bZ7M4TYgQlSkLh(gJsVT|-eUmjvT zA;oKnYSlPO0?7e$DWVU~P0Hk;S?5lge`DQQ zBgA*|j`#pL5a$8}mMnmjwUHs1egjYxW^r<+STrsko|#>TDI=%uizmGN|y_;>$= z3P#v3TGt;d$^u)lVtu;Y{q7&V{Jr0P^=7%=t!blRmA(2O2LM!I>X9Dz8)X!wjUKiE zg20}nv8WYJZD{sCF+()+&6QNwPb!vopuq;FyqOD;kJDSee# zN)p@GovP_mL1z4<&YJW}0#TD1wZ}&$b8hC!U4C-RW7IKf+J%!)2sq3G(B@kteZ&yy1p{j+T;_8kaj`O=Y8^{V)S$2#Ndvt&{EunBd?wbAE3y?GAQLi0t{q5 zE#idfGe%HXtKDFm}p5PXXb1Az-V?9Y4ehRY^x_khKN6ux1X@Z|(D97zFOfvnCs>dA%_J_0AxaEfhpFuP|gMtTZGICGflgk#rcZBT^q zrUYS~N+z)7Vs{tws+?0@n1dl)#Df7$Lfm(ihAU zgp}i(Yp;Y)lQ}7q8OVUi2fX53x1ac{pZx5{KlXUPZGm58t+qFmLt_z8WTPS7Pjdij zWE%wjscI_A;IfGW!XxFHlWmhnTdWyMnbex(Pum zr^!kdHkb&MQdzB;rtK)A+QdlVSbqpGIu2jSAs{=I#!yYIfn?_Mw3#V3ZGwGdMNyLc zM-~_*d@s_(Y%-!(wb08$ZYkwdEloWr((}J+jaUGyJrJO|0@yPFSU1#-^~`#%_4aDz zJ1@TVfBeHgeeN4ScsA)A)4OzF!CvI+j`DcC-*FB9*v{w;j zF#N%K7T1LD)ER+fi6QH(OwWn2{2$<5F{+fhNT$eg%7yk!mCPMIP0_9KAUM}7N5=ld znJMqEx$%t=s8CX&$>ibJ*6rNwg|MIg7J zNq*L)Q~%rl-<+=2hy1hu?VFFky{!e+m+P9zKT;i&vZ+&UJlc$Yq0ROE$V58?3?ART zSfc0XFSr0M-aiCHqaEr1^+dBaQ`C}t5wW|`2hLpTh;Ph_yGSAAc)*d5G*(K{ z$w4eiYKivVaO?HORs^9&>r+4Fdju2`R4GgxnRuKRTwG4lPBtmsX-S@{n1PsmI3O-b z_FL}+dA30r-%A+7Vdya{U`LouC~`D!hl(IJ355&fJ$% z;l}5_`NnOnAOG0>r|zun6J5F(W&oL+m)9BW>hZk?wT)#`P6?Xq*cdqcg7vK1UfB)sT-hA!)&WeR)wXzzT?*C+1t9t;@ z75`S&c0#bSRFv8c02qb`&bR2FyIl%%O{t@MH-;~)?D zh3p5_@Xx6gVIwFqglx6KumSmPozyrD3s@|bFDV{Oef5+c{yff>L&JFW1w__GdZzDW zYl$#6%k_P`MFM5oGcY3A#QaFmvJz3u7GN=3%$8!s%7RC?w}0(7KKDyM|E2fs(Pl&R zZ*?2^|BZF$J`&y)?%7yCfrY51O|_8zcq_4TqMkTHNbXKX0TX<54_n~$A!rJEh#(Yp z)c4tZIzmuW+ZQRV`9C&{R`)N*1!yDd1F^dbssRn|-A$Qr4uil3H&gIxH=TKA(1eVl%+2h zKQ4O-)D}!Lu%{r`l&+FJt{RRt8dX!IBBpp*HKay!cC24Hbt@J!X?k&<7)eacC@n=U zFLqMLbY^Ku7#RHRa+VOvumGZlK~loTUIxWe%8J2RX3}NgMMbC15FKBl2!olDLc>Wm zLifzjwTwAOQt)bm5=WZFa~8lvoQpr6K&UMdxaXwqnt{nkDW}n2%>BBFp`6xaWP68n z?xgIXWk|4`Ajmw(9q-14&kzSo*e^)!0pa+*Vq+V;LP-ae{DP!P8~rX!Hg|ao<5_AQ zj|d2!;}hrD8L?a^TW5Z9k4=Z%j^JobTM!w$S*ndf_FA`fEeq`X&%g1#@4kKS=IT?Q zc;b4sx^rF3^H&<5rxcV$Y`fzZ2jY`U>FJkC=~)2Ue! zFKlyws~+-Y%W9{^R^y$*XYQ6q4{!hN|L+@r`lny3w-2tai!1xFT3K1HDtg>6%Ua7) z%W9>;Ko^$6(r`d!@0cJo4}g_Y0V{<|v8Bs(v07PyD=UTNiL2}V9=`tN@1hQ*PAA75 zdqa+!&7~AY#CH$~sl-yc9~{;%hxJjMjGCpW42QT&9fvQbenbcWAlYHD`%TZInWc^@ zL*+{iTQtUjdW=$sVNKcTxrWsHcsVh?6jVf@ImD?cER7|oS2ae~-9!Y1U@(4@ z2l9;$b3|G1Uyw;5TCnOsAejr)xt0t%RDq-00Z7hLQsIq|Qzzd3Yt33y#@*#VGz@Y5 zAXSZtyO9ocf_9oiFmrj!Fv#L1}hEWhY{TENVlietjeFcBZ3cPIOU zL>+W{F;T>T4PFSl1#~`Om-8a?I4u3k!Iz4OfJ=YReS=cS%^?k%gGthVp0yVaK9 z(tgo2!^W~-R9WF!hY%Ty)o^eUUFaa}dW<62Mv|eQqmhTR=TcwTx z1pA-c(Yk`C56_nbMoY#V7Bn-HqVX=iTWTRSUG`Ap@`7BnMeSac>~l_Dz(hux8!97$ zW~kU_|ERhea@%&=82klav1r`&$Wc^Vocv~?2BxZNFd+r=(L?P@abY=qvoroEVlT8q1XaD6~- z%$BD7LEt`n#oxlq*nbxzn5@(e@kEHO6tLb^Q*9SEv_PIm`~EXO@!3E6u`j>)l{eN> zT>OJ!9UT1|NeZGQ2GD(;ddqw9NQFj^tz<-e#5uihRFLK=COjX>$gZ8|2C`V?5;xEf zu0%`mf;rdNEUQX^bJkCbVa$UHjjR%G!oQ3&EC2zC+qF6g0t8sdcS%YK7- z3ryjc!RyG|ldhHnBpO>>h6}Yzvs^v%8Q8HCui)h1HYE-;58FB?x7=t_A?zPMn+X7( zNiui#B&iT|z9R?}!RdGlgei|%Vs5=qpvlQ8GC$|hMmYO4%vnt7qEH(9Iu#a#zy?m$qYQy7ah{vf%c-{pDZ% z)X)Fi7apQE?{BqzH*O;Uc(b~*?$m%v;r5sm`E%Cqk%P|kVMjFQIB!{RmeZ&}V9$vP zmdXG}m0_kuo~86}Q3B`ZPev&oizX0|1y+Vn3|I;Zu$0nKa8~ZzEc@G!zw%FBxP5M4 zPD>5&0v*GULjVSTKcZ&49{}Q?5GPz*8edK*(}3O%Pu+A0Ure1t>fn_zPEp3W$ciHg z1U`9CN>vvMQtrVxE05x`O)z9w=b){aaAxRh$iY*9eCl_4{~S6WWDNHL&=!B$(Ur(n zNTDY9+h#(ArNswvFd;a#hO7D)7oH?|=9Cx2{j8Pk!{yy_=;if?@gXxnL|#@GQ10*1Wt+GuJk6 zKxFq~{DjMD%WBJlQ%@ZpE&oLT|0C%4y6|Sf6Q^?b#@=}Q!N2{F&wcsJ&z)}{TwmF; z5QSxJz#qfOaH5?mn(KFE<9@b&e_5N=m>u}Di0o%DqzkN|y(tX&Q(4;_04M;B_t$IQ z;Lrcdx5~2GUQ<7nVu{lv03lPmpUzWOC_?}+sm5}nlQBZ@23Cl|dwa;uu~XMLg9k|A zFWW^IE@6J|xX>843}> zh8UdiUh3-LM1_u%+SZ(nn3-k)pJ^1JXFjb6Quypud8cZ}z#*VE0lYI8oJvrD%`;+1 z_fFFZ5{=btIwc_NBgk$-I)hMXt2qM^y7JouOn`ouL>?azdM!Q^$-E-LXi!O#@+{h3 zORslkyc|MRlxEQIKmyDOo$&&Z9XX0^mucOx*tn}8=I|GtKq5ocmAiJ zf9k{cAMM+QrueTroBpS6tb45ua}yo?NuaJ#vj$ZnPPPD5QAr!vgIg~t{10wdo7G@B zCm}vFYG?&*h(sOx6OP}0Jqv7E0F+W}=^~)AU1a^jeq;#?$ym+w|I}$ zF27|m$^9AClcq9_R!_q6MCu*}6tp>Q95gj{st_t7bHr%^RqN*l zon^+KyneMo#_ohpSDyX+t~-gycC^7P2v(F*S(j5Os~LD&m&XqtfBPG+fB%&a?%ccj z#7D00+$?6cfjc_6-&1>gs8;s@+k&1S+^YWu_UU0>3zlB%qZxc#m49mb{s#MBtt_?{ zo{HUF@#M{N=Zfz>c=$(u^1>hg=Wo9A_M2DNt@N+9>~^Yls^vtSn(SxCRV`OrIawq9 zFAJLlXq5XEg{9?!mD(fBdNdeYc~b`dsHuQFnPwTE_$Tf^^A|5Z|JG~ot);Z7#}Qm* zX#+^@R`4J|=Y_xTXIc-$%A~3}oJn(-93qrb0*+$5DNAr-~wXoXe874BF%aQwZ?+YAqEtCX=1wd0{~;D z0$mk*54MalnIa>SSwr};qebW4KWYExCV&OAbx4&tyX7uqFxd1(RLzp^3Cx53?C1!= z8a1;_ttB#fp~AEi z!}lBj(ZA>!K%KyWzwmBBFS%$+ay5^A?IJHde0gy{c}pS-0*&{KfQgqIx8ytVGWO34I#FL!5;n%z%7qmCXa)Jx=)PxE}fm z9ZyRq9A0htjv#;7RDlzNO}dvLcbzP=8lk2haXgIqjL3of8utq|!g$5As~UV~ksEbn~mO0guG3H?c-Dl8E zj9!JU1J%i>71)P~kn}jqL^f#&4MU6{TZH`=oqj*Ml`OM^1jEe@hXi4g1PE!4CMbc@ z&7j7SF>y=GJ(_p`a#+E|V`FHcNo}r4siGy8HuRKF#1usYMGmIpk*1I$wfz47jQv@Y zWm$5iiRs$snwfjdb3|rDi(Gtu)#L(N<4kKf8NeN{+nN3w` zx;Wzq+tf!-E(FN~Pbj^+;sikabY0`HwvrK1x-%%EbcaFquosyKK62(;pr0kf9?L#*IYB>VRmw)4q1aB;08u~4QL`^uMTf$ISt>b8aXqy&lL69MK1UHw%Sm)-{pmv* z$(B~mX+8<@7pa+e>GiN`%o5`anA~qf0)(Lqg_yXjtRdpuf(H7S4RWN(d@X3sBh}=} zk&lQe7Lt_Q`DN@pJ=Ol~Uw!X%b^Y1?=&m{J-zM^ZXYalDX$fHO-2riywxflnXY7LT zhoQ5(IRM2Ez=c!E(sN*#HLJh?0RR9=L_t*E03@|owA{6_NIfiNsci7{mz+JfJTMTg z1sZ-D%Vzj5&{_isyMNO@|HH#y{6F5l`sCV9?0p{*A>P-Q3(>*OG6CrG`DN!E56$Xd zT)#z4)x#S?mgI06&{-&r4*wBRIMr4~wRI*`M;;Up+p>6VqPb)RWx62;`Gfpp4?Mt9 z=h8Zv*d0qDF+-lmK39YEe3B*w^>p)?N2EnEJY+p&7KcK88=)2M%=9yWU$BXl7-KMcuvw10X}wkc5D z$K#!Mz|J-_EY=Mht)bDZvo`~+ZPp32{n7b+)vunqVr$)Y+uHRLjlBEGkAMBMpZxB* z7oPmuH(&Vr_rCJn%TGOjzkPA;41Q~ zkN%GD%Tu5egwXCOU!ARko&9V$V>ct&9^&!8{O%9_{SSWf`@j3(=Ctj$!#_02jyKknE`pLdm?M73tmcBMi^!|LZ#wOE4=uEE4HyJ_(_BuOM z3^uk%MwuLO7WZwOF(T2RU}APz+MO@=tpcD5*UH z2`P>>7Rj>Y#L1~IP1xCYfdZ&lQy#J}st9kRrbv_^1>ce4-c1~pZ)L|~iPAHO;e(ncw1iE9ig(u`P-8W2 zMyzZW@jc=!2w)sttR@IB1x2JLQI#7u4?RPiPm?pd8G z@xX839QD+KU;FQrj7eEk=ci5gR#?fnnZp<>nP@RCv1N?Bq*N`s!qnQYA*bt zXJGb|{D2ZpmO;a5$t20ylVUu(`U9OVQAD^(hYO)Yo%g1tPL3x~!9adea`%T-!m#Kh zQ(B#@1T}tV6R*X9zhq#L<>ZgrfMM#Ui&t76Z5H|z-FY}8PCy!Z(vPMUcM}02&B)#W zT5Dt#?^NZj?jX{8l0D%l%9kL>xjrn3XEQ;ak)fRHBz0%b`mXx{=z@5O z)y%sj0CFAxd{@_vP*^lEwa+7tI>Jrh0|CYWc0h^0AxxU%QvDx@9;Mx*?JO?L4ga|E zv@{o@mS;;P9QmBqv>lS>M!k=Hk760T7Ur#F;T7~slmiL#KDPVQyT-iv^lpuYMCL`) z78JVrzFBBCxkHrb3{gFZtXzjO%`vGn9MMa!2D|Qm_FsSF$HOGLzI(VXj|ey1!_&w+>Huf8(NlqtyOrTLW^7T zkolG|Y7I1d;(B}kCm%of51-xex^qwUWSob(*`9A_9zWvpboVXRV?ea>G_B18N4-CUf(l^|0oPnJ0~YBQnQskPx-X0+)iW?ZtA zPRUTK$c>1?);h@EX*t)dFSuAy1!PvzIEEz9)SqcP} z`Ez7CEl)LV;d8G$&f<0mA98629Kw;LGm=u?0JAdv^wU6!LWgHE0VM2WB!7hnk4DTP zlAccbT!s7iQ#yh)x$ouziY-`4523ng~!y9tvetUlK)@Seh z_76Y)tL>TRp8U$2FTD1Z7hZV&$@@=SZ#P$4{4EOfPHY+tY=*{>OxDlm{o%vA_da>_ z_In@y@!bzTc<rHiwy}W_>rDXTfSfzq5Xe{m;Jj?f>V?|L(JQA6=bJG5kqm zAzWxOpW+_l*jn?2ZWVUmuc@AL?s`t>#u7C+E4K!JCdaM8EZU=+T~$Zr>0r@;l#{5* zA3L46`OPU?qKQDK*2~O1N8QgvHX9wy7=@AthXrOnN2Pe_ia@n1Rs4f=o7P==^$;nI zchQmh@LQCxx?cL%pR6o(ffin=YRS-aRRCbtS)Itf|HxPyw(wet81o|F)0UittoEr< zS~{$l-B75eFfj}|*iIq+nt^m-iMQ>O-t{$t`r0EN^ z$^Rd|2v{4T5N$XGS_hxHKJA~K|M7o#XZsYmu@Qx4nRwKH1ep{UFNMbm4?d(wijh$#MG89MS8{GQCySw|idEwOe zQB9xc;lGn$yTZK_%^G)m_}=G#|MojS$LZ?+{i|o6dgA$~o_+4g=bpO%)cvcQ>(li$ zu1{M-I~m5Xws+p0_eYPx0MEAu3< zBzyQ?D5qRxZM>+o6Dy(`R&eUL1kE;E`b)VnqyftPLtIrp(seos|GK1|xenH(H69aY zzx$eiL1XP{kj}S1)n%$_2mcT2y@f>sE&w*Yy-bZ2V_b(h6w?JU(9!39fka28!~iZ0{_J;4%U?!0 zoKFo`9(b*T#RQ2Uq`*^!l>5oBct_Sn$CJA?&+2VKzZ?Mb5+M#f)`%c1ece zcZN!Ctqsat+qQOv?U(=N_aFcG(2-q)J(XK{IBuun)5*E;}XK#F@8Y^0@Dit zlvn`Q1JlSJpj&!@+esn)rS>{2sXB=bD-m+dCbd>Z6CJa{27D9uX+#WE+kEXRF%NZ% z6;|MA^og`MXu+er>1^UK&W)jkqFNjDO0E!h>@4$U<IomaFXzb&IYf?`a+1?I){Bkft z@D8nIkf5GJW>i-rtz{ovkR!@>wldfbM*-MVuUbqmR>aE4T=Ro(xlA<`k)2Z!oo9>% zb|o3QvRQ{qWh?5!VudPmN2j^7=GR!5=Ei@7bE3OY7NlA0W^HyrS{@lF0ebEcDC5@Y z#^}x3q~DuuaS$_hSU20qX12Gzoj>l^&)jR*?Hr^1ZtT`*B>IS;->hA=>%Lh(@8{2M zAAIrAdk_9#Xj?A$b3A)+V|S7N!;`in%^h42F9J9o9LbCaoKG z>&^DNe!JW0U;X8u{_Ll}di3GmTI1OHHtEuV5Q2=gP~+2@j~KF7U1Z+Un28WO8JeO1 zu;R{5bs}YODZL~=ce0SpteFnxa*3yyZNyRIo6TY*49{4RYEuv6rY4+>3e^;jazbDR zdWaNXO8FeDC6Za{z3LH|{WvpnIr;ct&@rIlvxi6@($5ec(jt$-$`v}T-9nU3eW>ko zDfRP|AVH*96)#3A5f?v2-V9lKQ8Ug{HhK|?RQegE?G+YSW}X;SI++@+u02RAeKM)o zp_vK-NXa2ZnZk0_EE~%%r0-4;Eo+8PMz9tMk_;=7mS^&C0yPdMLv4vv{y-&f@ali) zFgM(t&o6%a>2H7I&09|N=K%ifw$BN`JOj9FhdKz*VKl0Nb!|_}Ak&LYWd^Xcpu@3~ z*n2Svs%X%(i70$9Ru*1)AX;vFo((rofo+aT2m8l!B+;I@x%&85pZ@;eJh0xc1ky^vyAu0t9?-BT+HUttE)FP9dStawTo1@-4qWSvm=e)jxTc_JlP z7JNN5Fbucj+F>cQ^`f;$u?dGJCsaGxD=6W(ohGyy6_0uw*MX{WQ*;{COdz>4rYiBA z)w?M=w~jQ-E&PLMG83}*OAt!wv>jVuC;&l2ozE~k$$BeD1ur#6NP1KdC7qdoVJ*t~ zaZk#LcVd21rR9}JJQT8Hmx$#RJnq8m9DkR4LIZ8Ym}IeNM>YmU+P^ZeOwVVk&ovE- zW~I?lzjbWlCLKCKjR|i`t&<)k#0AWS1*xb$tRVry2%>kF^k~%Q1e21GIbKCKv>8Rf zEd~oD!A@=l12*2`?qj?E>J3kQX5DsgniE5kiMh;m+uCN>tX~^o+te_DL+P_O-z7$a z$G91!J9cnP29j|H0(&AeAK- z5We-vkee|9FmzhSlmqRCojlpz4G;UHZ@&8S4}SQK|M>s?#r3J3?}$x+eLG9T?eg>_T74N7=O5DqgkO;Y6Dq~_fy7Dt{mwRs5NE%jn3 zq3QrdCLQ34>Np1?Oy4 zJa-hqYrKFvrzyo83b7xhQKNoUTOzBDA|F2@S_LR8^-B?)*@aRsX<$`M*}*FlM>80* zIkkq+$Z3ICFCXN}uTrxxwo2I!tB$D*6P5c4IgYgyxD>dJZd*9euffXJ01hD_tED<7 zP8AUd9ak)thf>%YRxhrA3g*7d!>w0R@s>4H?#e^lQMO2QWuvzGa4|2t$^vBPL(Oe= zlO)%qkQz;`E_zLahGrzo5>vGrE)U7QIj&o*fRHo+8k_au%pK6Ca1xI*z?d)f*4phy z{pu;4UTo)mpH@xR3JrdSSsS^-{sa$rW=D7j(5KDIf=Ekn5P$lV3&MaN=ZU#yfta>k zVjG76_xNt$HtoE#?vLt!w)~0Fj*nOkQ1>R7jskRDo%eHd4dUqGbYr*Pi5=WPvUh9U z`knR0_Lu*MAN=iq{_Xy_wYCqn8=8$YfjNubOL0ThnTR*D6ukw&?juU}k_Mo?fZz%g z^O5Ghni3+A`gL_DL7r=>twr#n5RDP%^ta0N3q&|ft&GCqsNKZ{lTFROkyC|i$GB9N z7xV;8l?zHHsI4q_-zU*{D=SQmG?X^WO$?nY5mWg=D2ADLW zBtKg793&^^9(kXPo$72?z@|=w|1=zwpf`zyIym zyPZ4t4xZWfApsf_0PDm4+bz{$?pzhk&Rn;JpCxHt0{kpObsAMN#HFGXU!creq?1{- zKQrUrG<`XDEzsB^8rIRM2z$oJW;e7c`=6(Q*4ozYU2SjuPk;RMZ$7`-uFrj%d>fs9 z#bA0`V>a5u<(#C>;%cBc=xo5$a@HTnn`HS-NN5hg!kaH5`MhZv!5gAoAxrq4qRm6Q zg8X=*R7Wj?sBAAvsFu=b^u8R6ZUd=j|1b^+ctTm3YuQ(jBdQBx7UNX(jfZ1VpVs`+ zLp7PhI)QbDL)SySa(|j}<)2hY`28b_vMA^ghsL7(N&l1Ra|GH|h&bw>P;Wq7|NN|FY^TLG4e~1v!hJ?vF>8P_EK4^gk&!1tbWi45TgLd3xvM6wdGOMRyYjSeXf6HR9+2 z1tNh!%CGCR+R}C}9|NK3*ZO^Aeg-6>OK7!mgevJhl$tO7#4crXSe1(ay?`AU3bs+! ziV!bl*HH^~a+a>vn}Il=A3fNgdgflc87nc&V10;Xnvt+=_=nAQ*yit(*2eJz6KARI zqp`>}sug`UCz?kSjAx(`ty}BdXw7h^s|#u=cUlfV;8V{*brdd*!u1`Qe-Y`9J*n=H`0u=RC6_+YJgs z1*{ABP--?V1N>6k_S~i5vjFS*bxNGe)dPl0S-)0Dph{^dFg!_xk>wv5N$vqToqBs~ zWr%qaO%G|{1W^b(qTjEUyg)2a; z??-<^#ej(c)v$9aCMag5LxZ;L=TXL2W0NlW;i;QYOGjBrj}ldPyYMkh_yfX{O;#(N zZ%GX+y4b*2;XJ|pQnPLL7U{VCA#yK4kmXM01xGV`i9c87W41lTvLz}k37=d6*J3h` zEP@J%9{<{;ojO)U4PJmxVmI?dK|`~1??3pjzV`HsPu=qN-0se{@5bG@+rE>#i~b|{ zYdt3yjYrn{8bCrTkQ)DAbK}OK=*!gc@B>sHv!;^LS~E$#D$&)Y)HM+6YH)($(j*foWpUb zt~e>6`lKlI_mDD4z#-y*iF$f46!}d74V(Bxl#E%e0m6!81vt99qnejYBkbn3*)>9~nQ^=f6_#>%ir; zBeo97ld%U|T7z=Kbe)1_fvkEAEVD$GU5T}?n;(~0t4-@9SZRr6vo!buP9y9#85DiV z%u8@tK^*Ui)^gbd6J*^aU9ub74DB--I=i8@^QY(A4|wy&#@5lBPotX1Qh`1$;_hJu zo!DxrIX}auaKZ_@7d?g_0IWHvr_oxs6EQba7x~QIKd||@0A>CR9}$GyUkLz`f!fQF zUmS8#9`vE9GSWH?JI9ticj`_%;q<@%=imLC|NLtw|4iIx-XAEX3WcT^2ZP8uVwo`; z7VhgDAos;RQbZ#~#ipHYbn6hbgYX74B!z;Klki)H=RjkoASPBZ2w8CvLgaW$Ncal! zEcyd1og?EixLnxh;=8M$I;3Mx!9XSiqeEz9>VqSwr-B+#pfts@9TNcMa zPud2D?tj>S+0ag~W}STE#e4tk&%cAM-RUCynQB=4JGkw{GY9% zwbQnpdi(kR`1bj&zTKR5?$!z4q9*)jxUt4t?y%Y}9U&<&sOE=c8>l;rxs>1aOac9p zVq3b!8Mdk{QSn3}^RAFW02H+k9fJl^G?=kG6&jQDK2-9WNC>W3 z)v?WHyKaexb

    eDt@xsMe8UZU912&LA@8 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

eDt@xsMe8UZU912&LA@8 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