diff --git a/DoseMathTests/es.lproj/InfoPlist.strings b/DoseMathTests/es.lproj/InfoPlist.strings new file mode 100644 index 0000000000..874e8a4532 --- /dev/null +++ b/DoseMathTests/es.lproj/InfoPlist.strings @@ -0,0 +1 @@ +/* No Localized Strings */ diff --git a/DoseMathTests/es.lproj/Localizable.strings b/DoseMathTests/es.lproj/Localizable.strings new file mode 100644 index 0000000000..f891fbeef2 --- /dev/null +++ b/DoseMathTests/es.lproj/Localizable.strings @@ -0,0 +1,15 @@ +/* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ +"Current glucose of %1$@ is below correction range." = "Glucosa actual de %1$@ está debajo del rango correctivo."; + +/* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ +"Predicted glucose at %1$@ is %2$@." = "Glucosa proyectada en %1$@ es %2$@."; + +/* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ +"Predicted glucose of %1$@ is below your suspend threshold setting." = "Glucosa proyectada de %1$@ se encuentra debajo de tu nivel de suspensión."; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + diff --git a/Loop Status Extension/es.lproj/InfoPlist.strings b/Loop Status Extension/es.lproj/InfoPlist.strings new file mode 100644 index 0000000000..9250064a26 --- /dev/null +++ b/Loop Status Extension/es.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + +/* (No Comment) */ +"CFBundleName" = "$(PRODUCT_NAME)"; + diff --git a/Loop Status Extension/es.lproj/Localizable.strings b/Loop Status Extension/es.lproj/Localizable.strings new file mode 100644 index 0000000000..f3457c9c08 --- /dev/null +++ b/Loop Status Extension/es.lproj/Localizable.strings @@ -0,0 +1,12 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* The subtitle format describing eventual glucose. (1: localized glucose value description) (2: localized glucose units description) */ +"Eventually %1$@ %2$@" = "Eventualmente %1$@ %2$@"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* The unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + diff --git a/Loop Status Extension/es.lproj/MainInterface.strings b/Loop Status Extension/es.lproj/MainInterface.strings new file mode 100644 index 0000000000..3360a8bb6f --- /dev/null +++ b/Loop Status Extension/es.lproj/MainInterface.strings @@ -0,0 +1,3 @@ +/* Class = "UILabel"; text = "Eventually 92 mg/dL"; ObjectID = "9iF-xY-Bh4"; */ +"9iF-xY-Bh4.text" = "Eventualmente 92 mg/dL"; + diff --git a/Loop.xcodeproj/project.pbxproj b/Loop.xcodeproj/project.pbxproj index 9b385fca91..e2a07fdbee 100644 --- a/Loop.xcodeproj/project.pbxproj +++ b/Loop.xcodeproj/project.pbxproj @@ -238,6 +238,17 @@ 4FF4D1001E18374700846527 /* WatchContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FF4D0FF1E18374700846527 /* WatchContext.swift */; }; 4FF4D1011E18375000846527 /* WatchContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FF4D0FF1E18374700846527 /* WatchContext.swift */; }; 540DED971E14C75F002B2491 /* EnliteSensorDisplayable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 540DED961E14C75F002B2491 /* EnliteSensorDisplayable.swift */; }; + 7D7076351FE06EDE004AC8EA /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D7076371FE06EDE004AC8EA /* Localizable.strings */; }; + 7D70763A1FE06EDF004AC8EA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D70763C1FE06EDF004AC8EA /* InfoPlist.strings */; }; + 7D70763F1FE06EDF004AC8EA /* ckcomplication.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D7076411FE06EDF004AC8EA /* ckcomplication.strings */; }; + 7D7076451FE06EE0004AC8EA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D7076471FE06EE0004AC8EA /* InfoPlist.strings */; }; + 7D70764A1FE06EE1004AC8EA /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D70764C1FE06EE1004AC8EA /* Localizable.strings */; }; + 7D70764F1FE06EE1004AC8EA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D7076511FE06EE1004AC8EA /* InfoPlist.strings */; }; + 7D7076541FE06EE2004AC8EA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D7076561FE06EE2004AC8EA /* InfoPlist.strings */; }; + 7D7076591FE06EE2004AC8EA /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D70765B1FE06EE2004AC8EA /* Localizable.strings */; }; + 7D70765E1FE06EE3004AC8EA /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D7076601FE06EE3004AC8EA /* Localizable.strings */; }; + 7D7076631FE06EE4004AC8EA /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D7076651FE06EE4004AC8EA /* Localizable.strings */; }; + 7D7076681FE0702F004AC8EA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 7D70766A1FE0702F004AC8EA /* InfoPlist.strings */; }; C10428971D17BAD400DD539A /* NightscoutUploadKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C10428961D17BAD400DD539A /* NightscoutUploadKit.framework */; }; C10B28461EA9BA5E006EA1FC /* far_future_high_bg_forecast.json in Resources */ = {isa = PBXBuildFile; fileRef = C10B28451EA9BA5E006EA1FC /* far_future_high_bg_forecast.json */; }; C11C87DD1E21E53500BB71D3 /* GlucoseThreshold.swift in Sources */ = {isa = PBXBuildFile; fileRef = C178249D1E19B62300D9D25C /* GlucoseThreshold.swift */; }; @@ -585,6 +596,22 @@ 4FC8C8001DEB93E400A1452E /* NSUserDefaults+StatusExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSUserDefaults+StatusExtension.swift"; sourceTree = ""; }; 4FF4D0FF1E18374700846527 /* WatchContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WatchContext.swift; sourceTree = ""; }; 540DED961E14C75F002B2491 /* EnliteSensorDisplayable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EnliteSensorDisplayable.swift; sourceTree = ""; }; + 7D7076361FE06EDE004AC8EA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + 7D70763B1FE06EDF004AC8EA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D7076401FE06EDF004AC8EA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/ckcomplication.strings; sourceTree = ""; }; + 7D7076421FE06EE0004AC8EA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D7076461FE06EE0004AC8EA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D70764B1FE06EE1004AC8EA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + 7D7076501FE06EE1004AC8EA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D7076551FE06EE2004AC8EA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; }; + 7D70765A1FE06EE2004AC8EA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + 7D70765F1FE06EE3004AC8EA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + 7D7076641FE06EE4004AC8EA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Localizable.strings; sourceTree = ""; }; + 7D7076691FE0702F004AC8EA /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/InfoPlist.strings; sourceTree = ""; }; + 7DD382761F8DBFC60071272B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/LaunchScreen.strings; sourceTree = ""; }; + 7DD382771F8DBFC60071272B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Main.strings; sourceTree = ""; }; + 7DD382781F8DBFC60071272B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/MainInterface.strings; sourceTree = ""; }; + 7DD382791F8DBFC60071272B /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = es.lproj/Interface.strings; sourceTree = ""; }; C10428961D17BAD400DD539A /* NightscoutUploadKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NightscoutUploadKit.framework; path = Carthage/Build/iOS/NightscoutUploadKit.framework; sourceTree = ""; }; C10B28451EA9BA5E006EA1FC /* far_future_high_bg_forecast.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = far_future_high_bg_forecast.json; sourceTree = ""; }; C12F21A61DFA79CB00748193 /* recommend_temp_basal_very_low_end_in_range.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = recommend_temp_basal_very_low_end_in_range.json; sourceTree = ""; }; @@ -770,6 +797,8 @@ 43776F8E1B8022E90074EA36 /* Loop */ = { isa = PBXGroup; children = ( + 7D7076651FE06EE4004AC8EA /* Localizable.strings */, + 7D7076511FE06EE1004AC8EA /* InfoPlist.strings */, C9886AE41E5B2FAD00473BB8 /* gallery.ckcomplication */, 4309786B1E73D2F500BEBC82 /* it.lproj */, 43EDEE6B1CF2E12A00393BE3 /* Loop.entitlements */, @@ -825,6 +854,9 @@ 43A943821B926B7B0051FA24 /* WatchApp Extension */ = { isa = PBXGroup; children = ( + 7D7076601FE06EE3004AC8EA /* Localizable.strings */, + 7D7076411FE06EDF004AC8EA /* ckcomplication.strings */, + 7D70763C1FE06EDF004AC8EA /* InfoPlist.strings */, 43D533BB1CFD1DD7009E3085 /* WatchApp Extension.entitlements */, 43846AD41D8FA67800799272 /* Base.lproj */, 43076BF21DFDBC4B0012A723 /* it.lproj */, @@ -850,6 +882,8 @@ 43E2D8D21D20BF42004DA55F /* DoseMathTests */ = { isa = PBXGroup; children = ( + 7D70766A1FE0702F004AC8EA /* InfoPlist.strings */, + 7D70765B1FE06EE2004AC8EA /* Localizable.strings */, 43E2D8E01D20C0CB004DA55F /* Fixtures */, 43E2D8D31D20BF42004DA55F /* DoseMathTests.swift */, 43E2D8D51D20BF42004DA55F /* Info.plist */, @@ -988,6 +1022,8 @@ 4F70C1DF1DE8DCA7006380B7 /* Loop Status Extension */ = { isa = PBXGroup; children = ( + 7D7076561FE06EE2004AC8EA /* InfoPlist.strings */, + 7D7076371FE06EDE004AC8EA /* Localizable.strings */, 4F70C1FD1DE8E662006380B7 /* Loop Status Extension.entitlements */, 4F70C1E51DE8DCA7006380B7 /* Info.plist */, 4F08DEA21E81E12D006741EA /* DatedRangedContextCalculator.swift */, @@ -1002,6 +1038,8 @@ 4F75288C1DFE1DC600C322D6 /* LoopUI */ = { isa = PBXGroup; children = ( + 7D70764C1FE06EE1004AC8EA /* Localizable.strings */, + 7D7076471FE06EE0004AC8EA /* InfoPlist.strings */, 4FB76FC41E8C576800B39636 /* Extensions */, 4FB76FC31E8C575900B39636 /* Managers */, 4F7528A61DFE20AE00C322D6 /* Models */, @@ -1385,8 +1423,10 @@ buildActionMask = 2147483647; files = ( 43FCBBC21E51710B00343C1B /* LaunchScreen.storyboard in Resources */, + 7D70764F1FE06EE1004AC8EA /* InfoPlist.strings in Resources */, 43776F991B8022E90074EA36 /* Assets.xcassets in Resources */, 434F54591D28805E002A9274 /* ButtonTableViewCell.xib in Resources */, + 7D7076631FE06EE4004AC8EA /* Localizable.strings in Resources */, 43776F971B8022E90074EA36 /* Main.storyboard in Resources */, C9886AE51E5B2FAD00473BB8 /* gallery.ckcomplication in Resources */, 4309786C1E73D2F500BEBC82 /* it.lproj in Resources */, @@ -1409,7 +1449,10 @@ buildActionMask = 2147483647; files = ( 43846AD51D8FA67800799272 /* Base.lproj in Resources */, + 7D70765E1FE06EE3004AC8EA /* Localizable.strings in Resources */, + 7D70763A1FE06EDF004AC8EA /* InfoPlist.strings in Resources */, 43076BF31DFDBC4B0012A723 /* it.lproj in Resources */, + 7D70763F1FE06EDF004AC8EA /* ckcomplication.strings in Resources */, 43A943901B926B7B0051FA24 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1418,12 +1461,14 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 7D7076591FE06EE2004AC8EA /* Localizable.strings in Resources */, 43E2D8F21D20C0DB004DA55F /* recommend_temp_basal_no_change_glucose.json in Resources */, 43E2D8F61D20C0DB004DA55F /* recommend_temp_basal_start_low_end_in_range.json in Resources */, C17824A31E19EAB600D9D25C /* recommend_temp_basal_start_very_low_end_high.json in Resources */, 43E2D8F41D20C0DB004DA55F /* recommend_temp_basal_start_high_end_low.json in Resources */, 43E2D8EF1D20C0DB004DA55F /* recommend_temp_basal_high_and_falling.json in Resources */, 436D9BF81F6F4EA100CFA75F /* recommended_temp_start_low_end_just_above_range.json in Resources */, + 7D7076681FE0702F004AC8EA /* InfoPlist.strings in Resources */, 43E2D8ED1D20C0DB004DA55F /* recommend_temp_basal_correct_low_at_min.json in Resources */, 43E2D8F01D20C0DB004DA55F /* recommend_temp_basal_high_and_rising.json in Resources */, C12F21A71DFA79CB00748193 /* recommend_temp_basal_very_low_end_in_range.json in Resources */, @@ -1449,6 +1494,8 @@ buildActionMask = 2147483647; files = ( 4F70C1E41DE8DCA7006380B7 /* MainInterface.storyboard in Resources */, + 7D7076541FE06EE2004AC8EA /* InfoPlist.strings in Resources */, + 7D7076351FE06EDE004AC8EA /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1457,6 +1504,8 @@ buildActionMask = 2147483647; files = ( 4F2C15971E09E94E00E160D4 /* Assets.xcassets in Resources */, + 7D70764A1FE06EE1004AC8EA /* Localizable.strings in Resources */, + 7D7076451FE06EE0004AC8EA /* InfoPlist.strings in Resources */, 4F2C15951E09BF3C00E160D4 /* HUDView.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1781,6 +1830,7 @@ isa = PBXVariantGroup; children = ( 43776F961B8022E90074EA36 /* Base */, + 7DD382771F8DBFC60071272B /* es */, ); name = Main.storyboard; sourceTree = ""; @@ -1789,6 +1839,7 @@ isa = PBXVariantGroup; children = ( 43776F9B1B8022E90074EA36 /* Base */, + 7DD382761F8DBFC60071272B /* es */, ); name = LaunchScreen.storyboard; sourceTree = ""; @@ -1797,6 +1848,7 @@ isa = PBXVariantGroup; children = ( 43A943751B926B7B0051FA24 /* Base */, + 7DD382791F8DBFC60071272B /* es */, ); name = Interface.storyboard; sourceTree = ""; @@ -1805,14 +1857,104 @@ isa = PBXVariantGroup; children = ( 4F70C1E31DE8DCA7006380B7 /* Base */, + 7DD382781F8DBFC60071272B /* es */, ); name = MainInterface.storyboard; sourceTree = ""; }; + 7D7076371FE06EDE004AC8EA /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + 7D7076361FE06EDE004AC8EA /* es */, + ); + name = Localizable.strings; + sourceTree = ""; + }; + 7D70763C1FE06EDF004AC8EA /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 7D70763B1FE06EDF004AC8EA /* es */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 7D7076411FE06EDF004AC8EA /* ckcomplication.strings */ = { + isa = PBXVariantGroup; + children = ( + 7D7076401FE06EDF004AC8EA /* es */, + ); + name = ckcomplication.strings; + sourceTree = ""; + }; + 7D7076471FE06EE0004AC8EA /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 7D7076461FE06EE0004AC8EA /* es */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 7D70764C1FE06EE1004AC8EA /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + 7D70764B1FE06EE1004AC8EA /* es */, + ); + name = Localizable.strings; + sourceTree = ""; + }; + 7D7076511FE06EE1004AC8EA /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 7D7076501FE06EE1004AC8EA /* es */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 7D7076561FE06EE2004AC8EA /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 7D7076551FE06EE2004AC8EA /* es */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; + 7D70765B1FE06EE2004AC8EA /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + 7D70765A1FE06EE2004AC8EA /* es */, + ); + name = Localizable.strings; + sourceTree = ""; + }; + 7D7076601FE06EE3004AC8EA /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + 7D70765F1FE06EE3004AC8EA /* es */, + ); + name = Localizable.strings; + sourceTree = ""; + }; + 7D7076651FE06EE4004AC8EA /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + 7D7076641FE06EE4004AC8EA /* es */, + ); + name = Localizable.strings; + sourceTree = ""; + }; + 7D70766A1FE0702F004AC8EA /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + 7D7076691FE0702F004AC8EA /* es */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; C1C73F0F1DE3D0270022FC89 /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( C1C73F0E1DE3D0270022FC89 /* it */, + 7D7076421FE06EE0004AC8EA /* es */, ); name = InfoPlist.strings; sourceTree = ""; diff --git a/Loop/Base.lproj/Main.storyboard b/Loop/Base.lproj/Main.storyboard index 6daa97981b..5d3c8144ee 100644 --- a/Loop/Base.lproj/Main.storyboard +++ b/Loop/Base.lproj/Main.storyboard @@ -1,11 +1,11 @@ - + - + @@ -60,14 +60,14 @@