From 9e1ddf2aa4daa6599825cbfd6d1199ce36312a28 Mon Sep 17 00:00:00 2001 From: Pete Schwamb Date: Fri, 10 Mar 2023 17:55:02 -0600 Subject: [PATCH] Updated translations from Lokalise on Fri Mar 10 17:50:34 CST 2023 --- Common/pl.lproj/Intents.strings | 24 +- Common/ru.lproj/Intents.strings | 18 +- DoseMathTests/ro.lproj/Localizable.strings | 3 + DoseMathTests/ru.lproj/Localizable.strings | 7 +- .../ru.lproj/InfoPlist.strings | 6 + .../ru.lproj/Localizable.strings | 3 + .../pl.lproj/MainInterface.strings | 2 +- .../ro.lproj/MainInterface.strings | 4 +- .../ru.lproj/InfoPlist.strings | 3 + .../ru.lproj/Localizable.strings | 12 + .../ru.lproj/MainInterface.strings | 2 +- Loop.xcodeproj/project.pbxproj | 51 +- Loop/cs.lproj/Localizable.strings | 21 + Loop/da.lproj/Localizable.strings | 32 +- Loop/de.lproj/Localizable.strings | 30 +- Loop/es.lproj/Localizable.strings | 30 +- Loop/fi.lproj/Localizable.strings | 3 - Loop/fr.lproj/Localizable.strings | 9 - Loop/it.lproj/Localizable.strings | 9 - Loop/nb.lproj/Localizable.strings | 30 +- Loop/nl.lproj/Localizable.strings | 48 +- Loop/pl.lproj/Localizable.strings | 61 +- Loop/pl.lproj/Main.strings | 2 +- Loop/ro.lproj/InfoPlist.strings | 6 + Loop/ro.lproj/Localizable.strings | 162 +++- Loop/ro.lproj/Main.strings | 6 + Loop/ru.lproj/InfoPlist.strings | 9 +- Loop/ru.lproj/Localizable.strings | 702 +++++++++++++++++- Loop/ru.lproj/Main.strings | 42 +- Loop/sv.lproj/Localizable.strings | 3 - Loop/tr.lproj/Localizable.strings | 24 +- LoopCore/ru.lproj/Localizable.strings | 9 + LoopUI/nl.lproj/Localizable.strings | 4 +- LoopUI/ro.lproj/Localizable.strings | 33 + LoopUI/ru.lproj/InfoPlist.strings | 3 + LoopUI/ru.lproj/Localizable.strings | 72 ++ StatusWidget/pl.lproj/Localizable.strings | 3 + StatusWidget/ro.lproj/InfoPlist.strings | 9 + StatusWidget/ro.lproj/Localizable.strings | 45 ++ StatusWidget/ru.lproj/InfoPlist.strings | 9 + StatusWidget/ru.lproj/Localizable.strings | 45 ++ .../nl.lproj/Localizable.strings | 2 +- WatchApp Extension/ro.lproj/InfoPlist.strings | 6 + .../ro.lproj/ckcomplication.strings | 12 + WatchApp Extension/ru.lproj/InfoPlist.strings | 12 + .../ru.lproj/Localizable.strings | 90 ++- .../ru.lproj/ckcomplication.strings | 12 + WatchApp/ru.lproj/InfoPlist.strings | 3 + WatchApp/ru.lproj/Interface.strings | 4 +- 49 files changed, 1533 insertions(+), 204 deletions(-) create mode 100644 Loop Intent Extension/ru.lproj/InfoPlist.strings create mode 100644 Loop Intent Extension/ru.lproj/Localizable.strings create mode 100644 Loop/cs.lproj/Localizable.strings create mode 100644 LoopCore/ru.lproj/Localizable.strings create mode 100644 LoopUI/ru.lproj/InfoPlist.strings create mode 100644 StatusWidget/ro.lproj/InfoPlist.strings create mode 100644 StatusWidget/ro.lproj/Localizable.strings create mode 100644 StatusWidget/ru.lproj/InfoPlist.strings create mode 100644 StatusWidget/ru.lproj/Localizable.strings create mode 100644 WatchApp Extension/ro.lproj/ckcomplication.strings create mode 100644 WatchApp Extension/ru.lproj/InfoPlist.strings create mode 100644 WatchApp Extension/ru.lproj/ckcomplication.strings create mode 100644 WatchApp/ru.lproj/InfoPlist.strings diff --git a/Common/pl.lproj/Intents.strings b/Common/pl.lproj/Intents.strings index 69202aa99c..86f8cd9c3f 100644 --- a/Common/pl.lproj/Intents.strings +++ b/Common/pl.lproj/Intents.strings @@ -1,36 +1,36 @@ /* (No Comment) */ -"9KhaIS" = "I've set the preset"; +"9KhaIS" = "Ustawiłem Cel Tymczas."; /* (No Comment) */ -"80eo5o" = "Add Carb Entry"; +"80eo5o" = "Wprowadź węglowodany"; /* (No Comment) */ -"b085BW" = "I wasn't able to set the preset."; +"b085BW" = "Nie mogłem ustawić celu."; /* (No Comment) */ -"I4OZy8" = "Enable Override Preset"; +"I4OZy8" = "Włącz Cel Tymczasowy"; /* (No Comment) */ -"lYMuWV" = "Override Name"; +"lYMuWV" = "Nazwa Celu Tymczas."; /* (No Comment) */ -"nDKAmn" = "What's the name of the override you'd like to set?"; +"nDKAmn" = "Jak nazywa się Cel Tymczasowy, który chcesz włączyć?"; /* (No Comment) */ -"OcNxIj" = "Add Carb Entry"; +"OcNxIj" = "Wprowadź węglowodany"; /* (No Comment) */ -"oLQSsJ" = "Enable '${overrideName}' Override Preset"; +"oLQSsJ" = "Włącz '${overrideName}' Cel Tymczasowy"; /* (No Comment) */ -"XNNmtH" = "Enable preset in Loop"; +"XNNmtH" = "Włącz Cel Tymczasowy w pętli"; /* (No Comment) */ -"yBzwCL" = "Override Selection"; +"yBzwCL" = "Wybierz Cel Tymczasowy"; /* (No Comment) */ -"yc02Yq" = "Add a carb entry to Loop"; +"yc02Yq" = "Dodaj węglowodany do pętli"; /* (No Comment) */ -"ZZ3mtM" = "Enable an override preset in Loop"; +"ZZ3mtM" = "Włącz Cel Tymczasowy w pętli"; diff --git a/Common/ru.lproj/Intents.strings b/Common/ru.lproj/Intents.strings index a5970e367f..43f070d0c0 100644 --- a/Common/ru.lproj/Intents.strings +++ b/Common/ru.lproj/Intents.strings @@ -1,36 +1,36 @@ /* (No Comment) */ -"9KhaIS" = "I've set the preset"; +"9KhaIS" = "Я установил пресет"; /* (No Comment) */ "80eo5o" = "Добавить запись углеводов"; /* (No Comment) */ -"b085BW" = "I wasn't able to set the preset."; +"b085BW" = "Я не смог установить пресет."; /* (No Comment) */ -"I4OZy8" = "Enable Override Preset"; +"I4OZy8" = "Включить пресет временной цели"; /* (No Comment) */ -"lYMuWV" = "Override Name"; +"lYMuWV" = "Имя пресета"; /* (No Comment) */ -"nDKAmn" = "What's the name of the override you'd like to set?"; +"nDKAmn" = "Как называется пресет, которое вы хотите установить?"; /* (No Comment) */ "OcNxIj" = "Добавить запись углеводов"; /* (No Comment) */ -"oLQSsJ" = "Включить '${overrideName}' ручного контроля пресет"; +"oLQSsJ" = "Включить '${overrideName}' пресет"; /* (No Comment) */ -"XNNmtH" = "Enable preset in Loop"; +"XNNmtH" = "Включить пресет в Loop"; /* (No Comment) */ -"yBzwCL" = "Override Selection"; +"yBzwCL" = "Выбор временных целей"; /* (No Comment) */ "yc02Yq" = "Добавьте запись углеводов в алгоритм цикла"; /* (No Comment) */ -"ZZ3mtM" = "Enable an override preset in Loop"; +"ZZ3mtM" = "Включение пресета ВЦ в Loop"; diff --git a/DoseMathTests/ro.lproj/Localizable.strings b/DoseMathTests/ro.lproj/Localizable.strings index d47f4b88fb..67dd1e84f9 100644 --- a/DoseMathTests/ro.lproj/Localizable.strings +++ b/DoseMathTests/ro.lproj/Localizable.strings @@ -16,6 +16,9 @@ /* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ "Predicted glucose at %1$@ is %2$@." = "Predicted glucose at %1$@ is %2$@."; +/* Notice when predicted glucose for bolus recommendation is in range */ +"Predicted glucose is in range." = "Glicemia prognozată este în interval."; + /* Notice message when recommending bolus when BG is below the glucose safety limit. (1: glucose value) */ "Predicted glucose of %1$@ is below your glucose safety limit setting." = "Glicemia prognozată de %1$@ se situează sub limita de siguranță configurată."; diff --git a/DoseMathTests/ru.lproj/Localizable.strings b/DoseMathTests/ru.lproj/Localizable.strings index 9c1e190d52..aa8fae2e84 100644 --- a/DoseMathTests/ru.lproj/Localizable.strings +++ b/DoseMathTests/ru.lproj/Localizable.strings @@ -2,7 +2,7 @@ "Current glucose of %1$@ is below correction range." = " Текущая гликемия %1$@ ниже диапазона коррекции"; /* The short unit display string for decibles */ -"dB" = "dB"; +"dB" = "дБ"; /* The short unit display string for grams */ "g" = "г"; @@ -14,11 +14,14 @@ "mmol/L" = "ммоль/л"; /* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ -"Predicted glucose at %1$@ is %2$@." = "Предсказываемая гликемия в %1$@ - %2$@."; +"Predicted glucose at %1$@ is %2$@." = "Прогнозируемый уровень глюкозы на %1$@ составляет %2$@."; /* Notice when predicted glucose for bolus recommendation is in range */ "Predicted glucose is in range." = "Прогнозируемый уровень глюкозы находится в диапазоне."; +/* Notice message when recommending bolus when BG is below the glucose safety limit. (1: glucose value) */ +"Predicted glucose of %1$@ is below your glucose safety limit setting." = "Прогнозируемое значение глюкозы %1$@ ниже установленного вами предела безопасности глюкозы."; + /* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ "Predicted glucose of %1$@ is below your suspend threshold setting." = "Предсказываемая гликемия %1$@ ниже установленного вами порога приостановки помпы"; diff --git a/Loop Intent Extension/ru.lproj/InfoPlist.strings b/Loop Intent Extension/ru.lproj/InfoPlist.strings new file mode 100644 index 0000000000..7dba838e53 --- /dev/null +++ b/Loop Intent Extension/ru.lproj/InfoPlist.strings @@ -0,0 +1,6 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Loop Intent Extension"; + +/* Bundle name */ +"CFBundleName" = "Loop Intent Extension"; + diff --git a/Loop Intent Extension/ru.lproj/Localizable.strings b/Loop Intent Extension/ru.lproj/Localizable.strings new file mode 100644 index 0000000000..d468c09692 --- /dev/null +++ b/Loop Intent Extension/ru.lproj/Localizable.strings @@ -0,0 +1,3 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ против %2$@"; + diff --git a/Loop Status Extension/pl.lproj/MainInterface.strings b/Loop Status Extension/pl.lproj/MainInterface.strings index 0833ad5543..a68c1231ed 100644 --- a/Loop Status Extension/pl.lproj/MainInterface.strings +++ b/Loop Status Extension/pl.lproj/MainInterface.strings @@ -1,5 +1,5 @@ /* Class = "UILabel"; text = "Active Carbs"; ObjectID = "9iF-xY-Bh4"; */ -"9iF-xY-Bh4.text" = "docelowo 92 mg/dL"; +"9iF-xY-Bh4.text" = "Aktywne węglowodany"; /* Class = "UILabel"; text = "0 g"; ObjectID = "dPp-lJ-5sh"; */ "dPp-lJ-5sh.text" = "0 g"; diff --git a/Loop Status Extension/ro.lproj/MainInterface.strings b/Loop Status Extension/ro.lproj/MainInterface.strings index dc3ffaaa7d..52df0e4c8c 100644 --- a/Loop Status Extension/ro.lproj/MainInterface.strings +++ b/Loop Status Extension/ro.lproj/MainInterface.strings @@ -1,11 +1,11 @@ /* Class = "UILabel"; text = "Active Carbs"; ObjectID = "9iF-xY-Bh4"; */ -"9iF-xY-Bh4.text" = "Eventually 92 mg/dL"; +"9iF-xY-Bh4.text" = "Carbohidrați activi"; /* Class = "UILabel"; text = "0 g"; ObjectID = "dPp-lJ-5sh"; */ "dPp-lJ-5sh.text" = "0 g"; /* Class = "UILabel"; text = "Active Insulin"; ObjectID = "UPi-dG-yYD"; */ -"UPi-dG-yYD.text" = "IOB 1.0 U"; +"UPi-dG-yYD.text" = "Insulină activă"; /* Class = "UILabel"; text = "0 U"; ObjectID = "Vgf-p1-2QP"; */ "Vgf-p1-2QP.text" = "0 U"; diff --git a/Loop Status Extension/ru.lproj/InfoPlist.strings b/Loop Status Extension/ru.lproj/InfoPlist.strings index 034a1e1f6a..1565e025fa 100644 --- a/Loop Status Extension/ru.lproj/InfoPlist.strings +++ b/Loop Status Extension/ru.lproj/InfoPlist.strings @@ -1,3 +1,6 @@ /* Bundle display name */ "CFBundleDisplayName" = "Loop"; +/* Bundle name */ +"CFBundleName" = "Loop Status Extension"; + diff --git a/Loop Status Extension/ru.lproj/Localizable.strings b/Loop Status Extension/ru.lproj/Localizable.strings index 877e5f4979..c42b7de0c6 100644 --- a/Loop Status Extension/ru.lproj/Localizable.strings +++ b/Loop Status Extension/ru.lproj/Localizable.strings @@ -10,12 +10,18 @@ /* The subtitle format describing units of active insulin. (1: localized insulin value description) */ "%1$@ U" = "%1$@ ед."; +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ против %2$@"; + /* Widget label title describing the active carbs */ "Active Carbs" = "Активные углеводы"; /* Widget label title describing the active insulin */ "Active Insulin" = "Активный инсулин"; +/* The short unit display string for decibles */ +"dB" = "дБ"; + /* The subtitle format describing eventual glucose. (1: localized glucose value description) */ "Eventually %1$@" = "В конечном итоге %1$@"; @@ -25,6 +31,12 @@ /* The subtitle format describing units of active insulin. (1: localized insulin value description) */ "IOB %1$@ U" = "IOB %1$@ ед"; +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "мг/дл"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; diff --git a/Loop Status Extension/ru.lproj/MainInterface.strings b/Loop Status Extension/ru.lproj/MainInterface.strings index 99e59be945..280dc11206 100644 --- a/Loop Status Extension/ru.lproj/MainInterface.strings +++ b/Loop Status Extension/ru.lproj/MainInterface.strings @@ -1,5 +1,5 @@ /* Class = "UILabel"; text = "Active Carbs"; ObjectID = "9iF-xY-Bh4"; */ -"9iF-xY-Bh4.text" = "в конечном итоге 92 мг/дл"; +"9iF-xY-Bh4.text" = "Активные углеводы"; /* Class = "UILabel"; text = "0 g"; ObjectID = "dPp-lJ-5sh"; */ "dPp-lJ-5sh.text" = "0 г"; diff --git a/Loop.xcodeproj/project.pbxproj b/Loop.xcodeproj/project.pbxproj index 7e76607eaa..43c73910c1 100644 --- a/Loop.xcodeproj/project.pbxproj +++ b/Loop.xcodeproj/project.pbxproj @@ -170,19 +170,6 @@ 43D9002021EB209400AF44BF /* NSTimeInterval.swift in Sources */ = {isa = PBXBuildFile; fileRef = 439897341CD2F7DE00223065 /* NSTimeInterval.swift */; }; 43D9002D21EB225D00AF44BF /* HealthKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43D9002C21EB225D00AF44BF /* HealthKit.framework */; }; 43D9002F21EB234400AF44BF /* LoopCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43D9002A21EB209400AF44BF /* LoopCore.framework */; }; - 43D9F81821EC51CC000578CD /* DateEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43D9F81721EC51CC000578CD /* DateEntry.swift */; }; - 43D9F81A21EC593C000578CD /* UITableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43D9F81921EC593C000578CD /* UITableViewCell.swift */; }; - 43D9F81E21EF0609000578CD /* NumberRangeEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43D9F81D21EF0609000578CD /* NumberRangeEntry.swift */; }; - 43D9F82021EF0906000578CD /* NSNumber.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43D9F81F21EF0906000578CD /* NSNumber.swift */; }; - 43D9F82221EF0A7A000578CD /* QuantityRangeEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43D9F82121EF0A7A000578CD /* QuantityRangeEntry.swift */; }; - 43D9F82421EFF1AB000578CD /* LessonResultsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43D9F82321EFF1AB000578CD /* LessonResultsViewController.swift */; }; - 43D9FFAA21EA9A0C00AF44BF /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 43D9FFA821EA9A0C00AF44BF /* Main.storyboard */; }; - 43D9FFAC21EA9A0F00AF44BF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 43D9FFAB21EA9A0F00AF44BF /* Assets.xcassets */; }; - 43D9FFB421EA9AD800AF44BF /* LoopUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F75288B1DFE1DC600C322D6 /* LoopUI.framework */; }; - 43D9FFB621EA9B2F00AF44BF /* HealthKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F5C2C81B929C09003EB13D /* HealthKit.framework */; }; - 43D9FFBB21EA9CC900AF44BF /* LoopKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F78D4B1C914197002152D1 /* LoopKit.framework */; }; - 43D9FFBC21EA9CCD00AF44BF /* LoopKitUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 437AFEE6203688CF008C4892 /* LoopKitUI.framework */; }; - 43D9FFC021EAB22E00AF44BF /* DataManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43D9FFBF21EAB22E00AF44BF /* DataManager.swift */; }; 43D9FFD321EAE05D00AF44BF /* LoopCore.h in Headers */ = {isa = PBXBuildFile; fileRef = 43D9FFD121EAE05D00AF44BF /* LoopCore.h */; settings = {ATTRIBUTES = (Public, ); }; }; 43D9FFD621EAE05D00AF44BF /* LoopCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43D9FFCF21EAE05D00AF44BF /* LoopCore.framework */; }; 43D9FFD721EAE05D00AF44BF /* LoopCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 43D9FFCF21EAE05D00AF44BF /* LoopCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; @@ -1496,6 +1483,15 @@ C11B9D61286779C000500CF8 /* MockKitUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MockKitUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C11BD0542523CFED00236B08 /* SimpleBolusViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimpleBolusViewModel.swift; sourceTree = ""; }; C1201E2B23ECDBD0002DA84A /* WatchContextRequestUserInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchContextRequestUserInfo.swift; sourceTree = ""; }; + C122DEF829BBFAAE00321F8D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; + C122DEF929BBFAAE00321F8D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + C122DEFA29BBFAAE00321F8D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + C122DEFB29BBFAAE00321F8D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; + C122DEFC29BBFAAE00321F8D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; + C122DEFD29BBFAAE00321F8D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/Localizable.strings; sourceTree = ""; }; + C122DEFE29BBFAAE00321F8D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/ckcomplication.strings; sourceTree = ""; }; + C122DEFF29BBFAAE00321F8D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; + C122DF0029BBFAAE00321F8D /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = ""; }; C126BAFC29830A83002CEE4F /* zh-Hans-CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans-CN"; path = "zh-Hans-CN.lproj/Intents.strings"; sourceTree = ""; }; C126BAFD29830A83002CEE4F /* zh-Hans-CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans-CN"; path = "zh-Hans-CN.lproj/Localizable.strings"; sourceTree = ""; }; C126BAFE29830A83002CEE4F /* zh-Hans-CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans-CN"; path = "zh-Hans-CN.lproj/Localizable.strings"; sourceTree = ""; }; @@ -1508,6 +1504,7 @@ C126BB0529830A83002CEE4F /* zh-Hans-CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans-CN"; path = "zh-Hans-CN.lproj/Localizable.strings"; sourceTree = ""; }; C126BB0629830A83002CEE4F /* zh-Hans-CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans-CN"; path = "zh-Hans-CN.lproj/Localizable.strings"; sourceTree = ""; }; C126BB0729830A83002CEE4F /* zh-Hans-CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans-CN"; path = "zh-Hans-CN.lproj/Interface.strings"; sourceTree = ""; }; + C12BCCF929BBFA480066A158 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Localizable.strings; sourceTree = ""; }; C12CB9AC23106A3C00F84978 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/Intents.strings; sourceTree = ""; }; C12CB9AE23106A5C00F84978 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Intents.strings; sourceTree = ""; }; C12CB9B023106A5F00F84978 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Intents.strings; sourceTree = ""; }; @@ -1575,6 +1572,9 @@ C19F496225630504003632D7 /* Minizip.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Minizip.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C1AD41FF256D61E500164DDD /* Comparable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Comparable.swift; sourceTree = ""; }; C1AD48CE298639890013B994 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + C1AD62FE29BBFAA80002685D /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/InfoPlist.strings; sourceTree = ""; }; + C1AD62FF29BBFAA80002685D /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/Localizable.strings; sourceTree = ""; }; + C1AD630029BBFAA80002685D /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = ro.lproj/ckcomplication.strings; sourceTree = ""; }; C1AF062229426300002C1B19 /* ManualGlucoseEntryRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualGlucoseEntryRow.swift; sourceTree = ""; }; C1B267992995824000BCB7C1 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/Localizable.strings; sourceTree = ""; }; C1B2679A2995824000BCB7C1 /* tr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr; path = tr.lproj/InfoPlist.strings; sourceTree = ""; }; @@ -3417,6 +3417,7 @@ ar, "zh-Hans-CN", sk, + cs, ); mainGroup = 43776F831B8022E90074EA36; packageReferences = ( @@ -3498,17 +3499,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 43D9FFA021EA9A0C00AF44BF /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 7D9BEEF32335CF8D005DCFD6 /* Localizable.strings in Resources */, - 43D9FFAC21EA9A0F00AF44BF /* Assets.xcassets in Resources */, - 43D9FFAA21EA9A0C00AF44BF /* Main.storyboard in Resources */, - 80F864E62433BF5D0026EC26 /* InfoPlist.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 43D9FFCD21EAE05D00AF44BF /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -4423,6 +4413,7 @@ C1EB0D1E299581D900628475 /* es */, C1F48FFA2995821600C8BD69 /* pl */, C1B267992995824000BCB7C1 /* tr */, + C122DEFA29BBFAAE00321F8D /* ru */, ); name = Localizable.strings; sourceTree = ""; @@ -4442,6 +4433,7 @@ C1BCB5B8298309C4001C50FF /* it */, C1F48FFF2995821600C8BD69 /* pl */, C1B2679D2995824000BCB7C1 /* tr */, + C122DEFF29BBFAAE00321F8D /* ru */, ); name = InfoPlist.strings; sourceTree = ""; @@ -4490,6 +4482,8 @@ C1EB0D22299581D900628475 /* es */, C1F48FFE2995821600C8BD69 /* pl */, C1B2679C2995824000BCB7C1 /* tr */, + C1AD630029BBFAA80002685D /* ro */, + C122DEFE29BBFAAE00321F8D /* ru */, ); name = ckcomplication.strings; sourceTree = ""; @@ -4542,6 +4536,7 @@ C1BCB5B4298309C4001C50FF /* it */, C1EB0D1F299581D900628475 /* es */, C1F48FFB2995821600C8BD69 /* pl */, + C122DEFB29BBFAAE00321F8D /* ru */, ); name = InfoPlist.strings; sourceTree = ""; @@ -4689,6 +4684,7 @@ C1C31282297E4F6E00296DA4 /* ar */, C126BB0329830A83002CEE4F /* zh-Hans-CN */, C1C247912995823200371B88 /* sk */, + C12BCCF929BBFA480066A158 /* cs */, ); name = Localizable.strings; sourceTree = ""; @@ -4784,6 +4780,7 @@ C19E387C298638CE00851444 /* tr */, C1EB0D1D299581D900628475 /* es */, C1F48FF72995821600C8BD69 /* pl */, + C122DEF829BBFAAE00321F8D /* ru */, ); name = InfoPlist.strings; sourceTree = ""; @@ -4804,6 +4801,7 @@ C19E387D298638CE00851444 /* tr */, C1F48FF82995821600C8BD69 /* pl */, C1C2478C2995823200371B88 /* sk */, + C122DEF929BBFAAE00321F8D /* ru */, ); name = Localizable.strings; sourceTree = ""; @@ -4841,6 +4839,8 @@ C1EB0D20299581D900628475 /* es */, C1F48FFC2995821600C8BD69 /* pl */, C1B2679A2995824000BCB7C1 /* tr */, + C1AD62FE29BBFAA80002685D /* ro */, + C122DEFC29BBFAAE00321F8D /* ru */, ); name = InfoPlist.strings; sourceTree = ""; @@ -4857,6 +4857,8 @@ C1EB0D21299581D900628475 /* es */, C1F48FFD2995821600C8BD69 /* pl */, C1B2679B2995824000BCB7C1 /* tr */, + C1AD62FF29BBFAA80002685D /* ro */, + C122DEFD29BBFAAE00321F8D /* ru */, ); name = Localizable.strings; sourceTree = ""; @@ -4879,6 +4881,7 @@ C1004E352981F77B00B8CF94 /* de */, C1BCB5B9298309C4001C50FF /* it */, C1F490002995821600C8BD69 /* pl */, + C122DF0029BBFAAE00321F8D /* ru */, ); name = InfoPlist.strings; sourceTree = ""; diff --git a/Loop/cs.lproj/Localizable.strings b/Loop/cs.lproj/Localizable.strings new file mode 100644 index 0000000000..c0b4c9c43f --- /dev/null +++ b/Loop/cs.lproj/Localizable.strings @@ -0,0 +1,21 @@ +/* remaining time in setting's profile expiration section */ +" remaining" = "zbývající"; + +/* Settings app profile section */ +"App Profile" = "Profil"; + +/* Secondary text for alerts disabled warning, which appears on the main status screen. */ +"Fix now by turning Notifications, Critical Alerts and Time Sensitive Notifications ON." = "Opravit nyní zapnutím Oznámení, Kritických upozornění a Časově citlivých oznámení."; + +/* The title text for how to update */ +"How to update (LoopDocs)" = "Jak aktualizovat (LoopDocs)"; + +/* Settings App Profile expiration view */ +"Profile Expiration" = "Vypršení platnosti profilu"; + +/* Time that profile expires */ +"Profile expires " = "Platnost profilu vyprší"; + +/* Unknown amount of time in settings' profile expiration section */ +"Unknown time" = "Neznámý čas"; + diff --git a/Loop/da.lproj/Localizable.strings b/Loop/da.lproj/Localizable.strings index 2de3d1a3da..2c1d6d39ed 100644 --- a/Loop/da.lproj/Localizable.strings +++ b/Loop/da.lproj/Localizable.strings @@ -4,6 +4,9 @@ /* Status row title for premeal override enabled (leading space is to separate from symbol) */ " Pre-meal Preset" = "Før-måltid forudindstillinger"; +/* remaining time in setting's profile expiration section */ +" remaining" = " tilbage"; + /* Warning text for when Notifications or Critical Alerts Permissions is disabled */ " Safety Notifications are OFF" = " Sikkerhedsmeddelelser er SLÅET FRA"; @@ -198,6 +201,9 @@ /* The title of the nightscout API secret credential */ "API Secret" = "API kodeord"; +/* Settings app profile section */ +"App Profile" = "App-profil"; + /* Action sheet confirmation message for pump history deletion */ "Are you sure you want to delete all history entries?" = "Er du sikker på, at du vil slette alle gamle indtastninger?"; @@ -495,9 +501,6 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Overskrider maksimal bolus"; -/* Remote command error description: expired. */ -"Expired" = "Udløbet"; - /* The title of the export critical event logs in support */ "Export Critical Event Logs" = "Eksportér kritisk begivenhedslog"; @@ -513,6 +516,9 @@ /* Label for manual glucose entry row on bolus screen */ "Fingerstick Glucose" = "Fingerprik blodsukker"; +/* Secondary text for alerts disabled warning, which appears on the main status screen. */ +"Fix now by turning Notifications, Critical Alerts and Time Sensitive Notifications ON." = "Løs nu ved at slå meddelelser, kritiske advarsler og tidsfølsomme meddelelser TIL."; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "I %1$@"; @@ -550,6 +556,9 @@ /* Details for configuration error when glucose target range schedule is missing */ "Glucose Target Range Schedule" = "Tidsplan for glukosemålområde"; +/* The title text for how to update */ +"How to update (LoopDocs)" = "Sådan opdaterer du (LoopDocs)"; + /* Immediate Delivery status text */ "Immediate" = "Akut"; @@ -583,7 +592,7 @@ /* The title of the insulin sensitivities schedule screen The title text for the insulin sensitivity schedule */ -"Insulin Sensitivities" = "Insulinfølsomheder"; +"Insulin Sensitivities" = "Insulinfølsomhed"; /* Details for configuration error when insulin sensitivity schedule is missing */ "Insulin Sensitivity Schedule" = "Insulinfølsomhed tidsplan"; @@ -609,9 +618,6 @@ /* The error message when glucose data is in the future. (1: glucose data time in future in minutes) */ "Invalid glucose reading with a timestamp that is %1$@ in the future" = "Ugyldig glukoseaflæsning med et tidsstempel, der er %1$@ i fremtiden"; -/* Remote command error description: invalid OTP. */ -"Invalid OTP" = "Ugyldig OTP"; - /* The title text for the issue report cell */ "Issue Report" = "Fejlrapport"; @@ -798,6 +804,12 @@ /* Preparing critical event log text */ "Preparing Critical Event Logs" = "Forbereder kritiske begivenhedslogs"; +/* Settings App Profile expiration view */ +"Profile Expiration" = "Profiludløb"; + +/* Time that profile expires */ +"Profile expires " = "Profil udløber "; + /* The title for notification of upcoming profile expiration */ "Profile Expires Soon" = "Profilen udløber snart"; @@ -1023,6 +1035,9 @@ /* The error message displayed for unknown errors. (1: unknown error) */ "Unknown Error: %1$@" = "Ukendt fejl: %1$@"; +/* Unknown amount of time in settings' profile expiration section */ +"Unknown time" = "Ukendt tidspunkt"; + /* The format for the description of a temporary override end date */ "until %@" = "indtil %@"; @@ -1089,9 +1104,6 @@ /* Bolus screen warning when no bolus is recommended due to glucose input value below recommendation threshold for meal bolus */ "Your glucose is low. Eat carbs and monitor closely." = "Din glukose er lav. Spis kulhydrater og overvåg nøje."; -/* Warning to ensure the carb entry is accurate */ -"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." = "Dit blodsukker er hastigt stigende. Kontroller, at du har indtastet alle kulhydrater, du har spist. Hvis du har indtastet kulhydrater: Kontroller, om det tidspunkt du indtastede stemmer overens med, da du begyndte at spise."; - /* Warning for simple bolus when max bolus is exceeded. (1: maximum bolus) */ "Your maximum bolus amount is %1$@." = "Din maksimale bolusmængde er %1$@."; diff --git a/Loop/de.lproj/Localizable.strings b/Loop/de.lproj/Localizable.strings index 3c98d97f5b..9ace4f9f75 100755 --- a/Loop/de.lproj/Localizable.strings +++ b/Loop/de.lproj/Localizable.strings @@ -4,6 +4,9 @@ /* Status row title for premeal override enabled (leading space is to separate from symbol) */ " Pre-meal Preset" = " Voreinstellung zum Essen"; +/* remaining time in setting's profile expiration section */ +" remaining" = " verbleiben"; + /* Warning text for when Notifications or Critical Alerts Permissions is disabled */ " Safety Notifications are OFF" = "Sicherheitsbenachrichtigungen sind ausgeschaltet"; @@ -198,6 +201,9 @@ /* The title of the nightscout API secret credential */ "API Secret" = "API Geheimnis"; +/* Settings app profile section */ +"App Profile" = "App-Profil"; + /* Action sheet confirmation message for pump history deletion */ "Are you sure you want to delete all history entries?" = "Möchten Sie wirklich alle Verlaufseinträge löschen?"; @@ -495,9 +501,6 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Überschreitet den maximalen Bolus"; -/* Remote command error description: expired. */ -"Expired" = "Abgelaufen"; - /* The title of the export critical event logs in support */ "Export Critical Event Logs" = "Protokolle kritischer Ereignisse exportieren"; @@ -513,6 +516,9 @@ /* Label for manual glucose entry row on bolus screen */ "Fingerstick Glucose" = "blutiger Blutzucker"; +/* Secondary text for alerts disabled warning, which appears on the main status screen. */ +"Fix now by turning Notifications, Critical Alerts and Time Sensitive Notifications ON." = "Beheben Sie dies jetzt, indem Sie Benachrichtigungen, kritische Alarme und zeitkritische Benachrichtigungen einschalten."; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Für %1$@"; @@ -550,6 +556,9 @@ /* Details for configuration error when glucose target range schedule is missing */ "Glucose Target Range Schedule" = "Zeitplan für den Blutzucker-Zielbereich"; +/* The title text for how to update */ +"How to update (LoopDocs)" = "Wie man aktualisiert (LoopDocs)"; + /* Immediate Delivery status text */ "Immediate" = "Sofort"; @@ -609,9 +618,6 @@ /* The error message when glucose data is in the future. (1: glucose data time in future in minutes) */ "Invalid glucose reading with a timestamp that is %1$@ in the future" = "Ungültiger Blutzuckermesswert mit einem Zeitstempel, der %1$@ in der Zukunft liegt"; -/* Remote command error description: invalid OTP. */ -"Invalid OTP" = "Ungültiges OTP"; - /* The title text for the issue report cell */ "Issue Report" = "Problembericht"; @@ -798,6 +804,12 @@ /* Preparing critical event log text */ "Preparing Critical Event Logs" = "Vorbereiten der kritischer Ereigniss-Protokollen"; +/* Settings App Profile expiration view */ +"Profile Expiration" = "Ablauf des Profils"; + +/* Time that profile expires */ +"Profile expires " = "Profil läuft ab"; + /* The title for notification of upcoming profile expiration */ "Profile Expires Soon" = "Profil läuft in Kürze ab"; @@ -1023,6 +1035,9 @@ /* The error message displayed for unknown errors. (1: unknown error) */ "Unknown Error: %1$@" = "Unbekannter Fehler: %1$@"; +/* Unknown amount of time in settings' profile expiration section */ +"Unknown time" = "Unbekannte Zeit"; + /* The format for the description of a temporary override end date */ "until %@" = "Endet um %@"; @@ -1089,9 +1104,6 @@ /* Bolus screen warning when no bolus is recommended due to glucose input value below recommendation threshold for meal bolus */ "Your glucose is low. Eat carbs and monitor closely." = "Ihr Blutzucker ist niedrig. Kohlenhydrate essen und genau beobachten."; -/* Warning to ensure the carb entry is accurate */ -"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." = "Ihr Blutzucker steigt schnell an. Überprüfen Sie, ob alle Kohlenhydrate, die Sie gegessen haben, protokolliert wurden. Wenn Sie die Kohlenhydrate protokolliert haben, überprüfen Sie, ob die von Ihnen eingegebene Zeit mit dem Zeitpunkt übereinstimmt, an dem Sie mit dem Essen begonnen haben."; - /* Warning for simple bolus when max bolus is exceeded. (1: maximum bolus) */ "Your maximum bolus amount is %1$@." = "Ihre maximale Bolusmenge beträgt %1$@."; diff --git a/Loop/es.lproj/Localizable.strings b/Loop/es.lproj/Localizable.strings index e6ca43b315..043659f14e 100644 --- a/Loop/es.lproj/Localizable.strings +++ b/Loop/es.lproj/Localizable.strings @@ -4,6 +4,9 @@ /* Status row title for premeal override enabled (leading space is to separate from symbol) */ " Pre-meal Preset" = " Pre-Comida Preestablecida"; +/* remaining time in setting's profile expiration section */ +" remaining" = "restantes"; + /* Warning text for when Notifications or Critical Alerts Permissions is disabled */ " Safety Notifications are OFF" = " Notificaciones de seguridad desactivadas"; @@ -198,6 +201,9 @@ /* The title of the nightscout API secret credential */ "API Secret" = "Secreto API"; +/* Settings app profile section */ +"App Profile" = "Perfil de la aplicación"; + /* Action sheet confirmation message for pump history deletion */ "Are you sure you want to delete all history entries?" = "¿Estás seguro de que quieres borrar todas las entradas históricas?"; @@ -495,9 +501,6 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Excede bolo máximo"; -/* Remote command error description: expired. */ -"Expired" = "Caducado"; - /* The title of the export critical event logs in support */ "Export Critical Event Logs" = "Exportar registros de eventos críticos"; @@ -513,6 +516,9 @@ /* Label for manual glucose entry row on bolus screen */ "Fingerstick Glucose" = "Glucosa de punción en el dedo"; +/* Secondary text for alerts disabled warning, which appears on the main status screen. */ +"Fix now by turning Notifications, Critical Alerts and Time Sensitive Notifications ON." = "Soluciónalo ahora activando Notificaciones, Alertas Críticas y Notificaciones Sensibles al Tiempo."; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Por %1$@"; @@ -550,6 +556,9 @@ /* Details for configuration error when glucose target range schedule is missing */ "Glucose Target Range Schedule" = "Horario para el objetivo de glucosa"; +/* The title text for how to update */ +"How to update (LoopDocs)" = "Cómo actualizar (LoopDocs)"; + /* Immediate Delivery status text */ "Immediate" = "Inmediato"; @@ -609,9 +618,6 @@ /* The error message when glucose data is in the future. (1: glucose data time in future in minutes) */ "Invalid glucose reading with a timestamp that is %1$@ in the future" = "Lectura de glucosa no válida de %1$@ en el futuro"; -/* Remote command error description: invalid OTP. */ -"Invalid OTP" = "OTP no válido"; - /* The title text for the issue report cell */ "Issue Report" = "Informe de Errores"; @@ -798,6 +804,12 @@ /* Preparing critical event log text */ "Preparing Critical Event Logs" = "Preparando registros de eventos críticos"; +/* Settings App Profile expiration view */ +"Profile Expiration" = "Caducidad del perfil"; + +/* Time that profile expires */ +"Profile expires " = "El perfil caduca"; + /* The title for notification of upcoming profile expiration */ "Profile Expires Soon" = "El perfil caduca pronto"; @@ -1023,6 +1035,9 @@ /* The error message displayed for unknown errors. (1: unknown error) */ "Unknown Error: %1$@" = "Error desconocido: %1$@"; +/* Unknown amount of time in settings' profile expiration section */ +"Unknown time" = "Tiempo desconocido"; + /* The format for the description of a temporary override end date */ "until %@" = "hasta la %@"; @@ -1089,9 +1104,6 @@ /* Bolus screen warning when no bolus is recommended due to glucose input value below recommendation threshold for meal bolus */ "Your glucose is low. Eat carbs and monitor closely." = "Tienes la glucosa baja. Come carbohidratos y vigílalo de cerca."; -/* Warning to ensure the carb entry is accurate */ -"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." = "Tu glucosa está subiendo rápidamente. Compruebe que ha registrado todos los carbohidratos que ha ingerido. Si has registrado los carbohidratos, comprueba que la hora a la que los has introducido coincide con la hora a la que has empezado a comer."; - /* Warning for simple bolus when max bolus is exceeded. (1: maximum bolus) */ "Your maximum bolus amount is %1$@." = "Su cantidad máxima de bolo es %1$@ ."; diff --git a/Loop/fi.lproj/Localizable.strings b/Loop/fi.lproj/Localizable.strings index d4e21f5e65..b1b191b4b9 100644 --- a/Loop/fi.lproj/Localizable.strings +++ b/Loop/fi.lproj/Localizable.strings @@ -807,6 +807,3 @@ /* Format string for bolus screen warning when no bolus is recommended due input value below glucose safety limit. (1: suspendThreshold) */ "Your glucose is below your glucose safety limit, %1$@." = "Glukoosi on alle glukoosin turvarajan %1$@."; -/* Warning to ensure the carb entry is accurate */ -"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." = "Glukoosi nousee nopeasti. Tarkista, että kaikki syömäsi hiilihydraatit on kirjattu. Jos olet kirjannut hiilihydraatteja, tarkista, että antamasi aika vastaa ruokailun aloitusaikaa."; - diff --git a/Loop/fr.lproj/Localizable.strings b/Loop/fr.lproj/Localizable.strings index 6a6c8431db..0ec2f05022 100644 --- a/Loop/fr.lproj/Localizable.strings +++ b/Loop/fr.lproj/Localizable.strings @@ -495,9 +495,6 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Dépasse le bolus maximal"; -/* Remote command error description: expired. */ -"Expired" = "Expiré"; - /* The title of the export critical event logs in support */ "Export Critical Event Logs" = "Exporter les journaux d'événements critiques"; @@ -609,9 +606,6 @@ /* The error message when glucose data is in the future. (1: glucose data time in future in minutes) */ "Invalid glucose reading with a timestamp that is %1$@ in the future" = "Lecture de glucose non valide avec un horodatage situé à %1$@ dans le futur"; -/* Remote command error description: invalid OTP. */ -"Invalid OTP" = "OTP invalide"; - /* The title text for the issue report cell */ "Issue Report" = "Editer rapport"; @@ -1089,9 +1083,6 @@ /* Bolus screen warning when no bolus is recommended due to glucose input value below recommendation threshold for meal bolus */ "Your glucose is low. Eat carbs and monitor closely." = "Votre glycémie est basse. Mangez des glucides et surveillez de près."; -/* Warning to ensure the carb entry is accurate */ -"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." = "Votre glycémie augmente rapidement. Vérifiez que tous les glucides que vous avez mangés ont été correctement enregistrés. Si vous avez enregistré des glucides, vérifiez que l'heure correspond bien au debut de votre manger."; - /* Warning for simple bolus when max bolus is exceeded. (1: maximum bolus) */ "Your maximum bolus amount is %1$@." = "La quantité maximum de votre bolus est de %1$@ U."; diff --git a/Loop/it.lproj/Localizable.strings b/Loop/it.lproj/Localizable.strings index bb87db582f..9bc2f78232 100644 --- a/Loop/it.lproj/Localizable.strings +++ b/Loop/it.lproj/Localizable.strings @@ -495,9 +495,6 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Supera Bolo Massimo"; -/* Remote command error description: expired. */ -"Expired" = "Scaduto"; - /* The title of the export critical event logs in support */ "Export Critical Event Logs" = "Esporta registri eventi critici"; @@ -609,9 +606,6 @@ /* The error message when glucose data is in the future. (1: glucose data time in future in minutes) */ "Invalid glucose reading with a timestamp that is %1$@ in the future" = "Lettura del glucosio non valida con data e ora %1$@ nel futuro"; -/* Remote command error description: invalid OTP. */ -"Invalid OTP" = "OTP non valido"; - /* The title text for the issue report cell */ "Issue Report" = "Segnalazione"; @@ -1089,9 +1083,6 @@ /* Bolus screen warning when no bolus is recommended due to glucose input value below recommendation threshold for meal bolus */ "Your glucose is low. Eat carbs and monitor closely." = "La tua Glicemia è Bassa! Mangia dei Carboidrati Semplici e monitora la tua glicemia attivamente."; -/* Warning to ensure the carb entry is accurate */ -"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." = "La tua Glicemia si sta alzando velocemente. Controlla che i carboidrati inseriti sono stati tutti registrati. Se hai inserito Carboidrati controlla anche che il tempo di quando sono stati registrati sia in linea con il tempo in cui hai iniziato a mangiare."; - /* Warning for simple bolus when max bolus is exceeded. (1: maximum bolus) */ "Your maximum bolus amount is %1$@." = "La quantità del tuo Bolo Massimo è %1$@"; diff --git a/Loop/nb.lproj/Localizable.strings b/Loop/nb.lproj/Localizable.strings index e4e40bc78f..210ef90475 100644 --- a/Loop/nb.lproj/Localizable.strings +++ b/Loop/nb.lproj/Localizable.strings @@ -4,6 +4,9 @@ /* Status row title for premeal override enabled (leading space is to separate from symbol) */ " Pre-meal Preset" = " Forhåndsinnstilling før måltid"; +/* remaining time in setting's profile expiration section */ +" remaining" = "gjenstående"; + /* Warning text for when Notifications or Critical Alerts Permissions is disabled */ " Safety Notifications are OFF" = "Sikkerhetsvarsler er AV"; @@ -198,6 +201,9 @@ /* The title of the nightscout API secret credential */ "API Secret" = "API Hemmelighet"; +/* Settings app profile section */ +"App Profile" = "App-profil"; + /* Action sheet confirmation message for pump history deletion */ "Are you sure you want to delete all history entries?" = "Er du sikker på at du vil slette alle historiske registreringer?"; @@ -495,9 +501,6 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Overskrider maks bolus"; -/* Remote command error description: expired. */ -"Expired" = "Utløpt"; - /* The title of the export critical event logs in support */ "Export Critical Event Logs" = "Eksporter kritiske hendelseslogger"; @@ -513,6 +516,9 @@ /* Label for manual glucose entry row on bolus screen */ "Fingerstick Glucose" = "Blodsukkerverdi fra fingerstikk"; +/* Secondary text for alerts disabled warning, which appears on the main status screen. */ +"Fix now by turning Notifications, Critical Alerts and Time Sensitive Notifications ON." = "Fiks nå ved å slå PÅ varsler, kritiske varsler og tidssensitive varsler."; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Til %1$@"; @@ -550,6 +556,9 @@ /* Details for configuration error when glucose target range schedule is missing */ "Glucose Target Range Schedule" = "Tidsplan for blodsukker målområde"; +/* The title text for how to update */ +"How to update (LoopDocs)" = "Hvordan oppdatere (LoopDocs)"; + /* Immediate Delivery status text */ "Immediate" = "Umiddelbar"; @@ -609,9 +618,6 @@ /* The error message when glucose data is in the future. (1: glucose data time in future in minutes) */ "Invalid glucose reading with a timestamp that is %1$@ in the future" = "Ugyldig blodsukkermåling med et tidsstempel som er %1$@ i fremtiden"; -/* Remote command error description: invalid OTP. */ -"Invalid OTP" = "Ugyldig OTP"; - /* The title text for the issue report cell */ "Issue Report" = "Hendelsesrapport"; @@ -798,6 +804,12 @@ /* Preparing critical event log text */ "Preparing Critical Event Logs" = "Forbereder logg av kritiske hendelser"; +/* Settings App Profile expiration view */ +"Profile Expiration" = "Profilens utløp"; + +/* Time that profile expires */ +"Profile expires " = "Profil utløper"; + /* The title for notification of upcoming profile expiration */ "Profile Expires Soon" = "Profil utløper snart"; @@ -1023,6 +1035,9 @@ /* The error message displayed for unknown errors. (1: unknown error) */ "Unknown Error: %1$@" = "Ukjent feil: %1$@"; +/* Unknown amount of time in settings' profile expiration section */ +"Unknown time" = "Ukjent tid"; + /* The format for the description of a temporary override end date */ "until %@" = "frem til %@"; @@ -1089,9 +1104,6 @@ /* Bolus screen warning when no bolus is recommended due to glucose input value below recommendation threshold for meal bolus */ "Your glucose is low. Eat carbs and monitor closely." = "Din glukose er lav. Spis karbohydrater og følg nøye med."; -/* Warning to ensure the carb entry is accurate */ -"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." = "Glukosen din stiger raskt. Sjekk at eventuelle karbohydrater du har spist ble logget. Hvis du logget karbohydrater, sjekk at tiden du skrev inn stemmer overens med da du begynte å spise."; - /* Warning for simple bolus when max bolus is exceeded. (1: maximum bolus) */ "Your maximum bolus amount is %1$@." = "Din maksimale bolusmengde er %1$@ ."; diff --git a/Loop/nl.lproj/Localizable.strings b/Loop/nl.lproj/Localizable.strings index 074c1c47ea..68d7d177b9 100644 --- a/Loop/nl.lproj/Localizable.strings +++ b/Loop/nl.lproj/Localizable.strings @@ -4,6 +4,9 @@ /* Status row title for premeal override enabled (leading space is to separate from symbol) */ " Pre-meal Preset" = " Pre-Meal Programma"; +/* remaining time in setting's profile expiration section */ +" remaining" = " resterend"; + /* Warning text for when Notifications or Critical Alerts Permissions is disabled */ " Safety Notifications are OFF" = " Veiligheidsmeldingen staan UIT"; @@ -114,7 +117,7 @@ "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Een model gebaseerd op de gepubliceerde opname van Humalog, Novorapid, en Apidra insuline bij volwassenen."; /* Software update available section footer (1: app name) */ -"A new version of %@ is available and is recommended to continue using the app." = "Er is een nieuwe versie van %@ beschikbaar die aanbevolen wordt om de app te blijven gebruiken."; +"A new version of %@ is available and is recommended to continue using the app." = "Er is een nieuwe versie van %@ beschikbaar die aanbevolen wordt om de app te kunnen blijven gebruiken."; /* Required software update section footer (1: app name) */ "A new version of %@ is available." = "Er is een nieuwe versie van %@ beschikbaar."; @@ -198,6 +201,9 @@ /* The title of the nightscout API secret credential */ "API Secret" = "API Secret"; +/* Settings app profile section */ +"App Profile" = "App-Profiel"; + /* Action sheet confirmation message for pump history deletion */ "Are you sure you want to delete all history entries?" = "Weet je zeker dat je de gehele pompgeschiedenis wilt verwijderen?"; @@ -311,7 +317,7 @@ "Change the pump reservoir now" = "Vervang het pompreservoir nu"; /* Details for configuration error when one or more loop settings are missing */ -"Check settings" = "Controleer je instellingen"; +"Check settings" = "Controleer instellingen"; /* Recovery suggestion when reservoir data is missing */ "Check that your pump is in range" = "Controleer of je pomp binnen bereik is"; @@ -439,7 +445,7 @@ /* Default alert dismissal The button label of the action used to dismiss an error alert */ -"Dismiss" = "Afwijzen"; +"Dismiss" = "Sluiten"; /* No comment provided by engineer. */ "Done" = "Gereed"; @@ -451,7 +457,7 @@ "Dosing Strategy" = "Doseerstrategie"; /* Message to the user to enable bluetooth */ -"Enable\nBluetooth" = "Bluetooth Inschakelen"; +"Enable\nBluetooth" = "Bluetooth\nInschakelen"; /* The action hint of the workout mode toggle button when disabled */ "Enables" = "Inschakelen"; @@ -495,9 +501,6 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Overschrijdt Maximale Bolus"; -/* Remote command error description: expired. */ -"Expired" = "Verlopen"; - /* The title of the export critical event logs in support */ "Export Critical Event Logs" = "Exporteer Kritieke Gebeurtenislogboek"; @@ -513,6 +516,9 @@ /* Label for manual glucose entry row on bolus screen */ "Fingerstick Glucose" = "Vingerprikglucose"; +/* Secondary text for alerts disabled warning, which appears on the main status screen. */ +"Fix now by turning Notifications, Critical Alerts and Time Sensitive Notifications ON." = "Los nu op door Meldingen, Kritieke Meldingen en Tijdgevoelige Meldingen AAN te zetten."; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Voor %1$@"; @@ -550,6 +556,9 @@ /* Details for configuration error when glucose target range schedule is missing */ "Glucose Target Range Schedule" = "Glucosestreefbereikschema"; +/* The title text for how to update */ +"How to update (LoopDocs)" = "Hoe bij te werken (LoopDocs)"; + /* Immediate Delivery status text */ "Immediate" = "Onmiddellijk"; @@ -586,7 +595,7 @@ "Insulin Sensitivities" = "Insulinegevoeligheid"; /* Details for configuration error when insulin sensitivity schedule is missing */ -"Insulin Sensitivity Schedule" = "Insulinegevoeligheid Schema"; +"Insulin Sensitivity Schedule" = "Insulinegevoeligheidschema"; /* The title of the cell indicating the pump is suspended */ "Insulin Suspended" = "Insuline Onderbroken"; @@ -609,11 +618,8 @@ /* The error message when glucose data is in the future. (1: glucose data time in future in minutes) */ "Invalid glucose reading with a timestamp that is %1$@ in the future" = "Ongeldige glucosemeting met een tijdstempel dat %1$@ in de toekomst ligt."; -/* Remote command error description: invalid OTP. */ -"Invalid OTP" = "Ongeldige OTP"; - /* The title text for the issue report cell */ -"Issue Report" = "Incidentenrapportage"; +"Issue Report" = "Probleemrapportage"; /* Title of the warning shown when a large meal was entered */ "Large Meal Entered" = "Grote Maaltijd Ingevoerd"; @@ -740,7 +746,7 @@ "No, edit amount" = "Nee, hoeveelheid aanpassen"; /* Notification Delivery Status text */ -"Notification Delivery" = "Aflevering Meldingen"; +"Notification Delivery" = "Afleveren Meldingen"; /* Format for Critical Alerts permissions disabled alert body. (1: app name) */ "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." = "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."; @@ -752,10 +758,10 @@ "Notifications Delayed" = "Meldingen Vertraagd"; /* Alert Permissions descriptive text (1: app name) */ -"Notifications give you important %1$@ app information without requiring you to open the app." = "Meldingen geven je belangrijke %1$@ app-informatie zonder dat je de app hoeft te openen."; +"Notifications give you important %1$@ app information without requiring you to open the app." = "Meldingen geven je belangrijke %1$@ appinformatie zonder dat je de app hoeft te openen."; /* Alert Permissions descriptive text (1: app name) */ -"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." = "Meldingen geven je belangrijke %1$@ app-informatie zonder dat je de app hoeft te openen.\n\nHoud deze instellingen AAN in je telefooninstellingen om ervoor te zorgen dat je %1$@Meldingen, Kritieke Meldingen en Tijdgevoelige Meldingen ontvangt."; +"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." = "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."; /* Notification Setting Status is Off */ "Off" = "Uit"; @@ -798,6 +804,12 @@ /* Preparing critical event log text */ "Preparing Critical Event Logs" = "Kritieke Gebeurtenislogboek Voorbereiden"; +/* Settings App Profile expiration view */ +"Profile Expiration" = "Profiel Vervaldatum"; + +/* Time that profile expires */ +"Profile expires " = "Profiel verloopt "; + /* The title for notification of upcoming profile expiration */ "Profile Expires Soon" = "Profiel Verloopt Binnenkort"; @@ -1023,6 +1035,9 @@ /* The error message displayed for unknown errors. (1: unknown error) */ "Unknown Error: %1$@" = "Onbekende Fout: %1$@"; +/* Unknown amount of time in settings' profile expiration section */ +"Unknown time" = "Onbekende tijd"; + /* The format for the description of a temporary override end date */ "until %@" = "tot %@"; @@ -1089,9 +1104,6 @@ /* Bolus screen warning when no bolus is recommended due to glucose input value below recommendation threshold for meal bolus */ "Your glucose is low. Eat carbs and monitor closely." = "Je glucose is laag. Eet koolhydraten en houd alles nauwlettend in de gaten."; -/* Warning to ensure the carb entry is accurate */ -"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." = "Je glucose stijgt snel. Controleer of alle koolhydraten die je hebt gegeten zijn ingevoerd. Als je koolhydraten hebt ingevoerd, controleer dan of de tijd die je hebt ingevoerd overeenkomt met het moment waarop je bent begonnen te eten."; - /* Warning for simple bolus when max bolus is exceeded. (1: maximum bolus) */ "Your maximum bolus amount is %1$@." = "Je maximale bolushoeveelheid is %1$@."; diff --git a/Loop/pl.lproj/Localizable.strings b/Loop/pl.lproj/Localizable.strings index 55420d5898..9e3ec77540 100644 --- a/Loop/pl.lproj/Localizable.strings +++ b/Loop/pl.lproj/Localizable.strings @@ -4,6 +4,9 @@ /* Status row title for premeal override enabled (leading space is to separate from symbol) */ " Pre-meal Preset" = "Wstępne ustawienie przed posiłkiem"; +/* remaining time in setting's profile expiration section */ +" remaining" = " pozostały"; + /* Warning text for when Notifications or Critical Alerts Permissions is disabled */ " Safety Notifications are OFF" = "Powiadomienia dotyczące bezpieczeństwa są WYŁĄCZONE"; @@ -158,7 +161,7 @@ "Add Pump" = "Dodaj pompę"; /* Title text for button to set up a service */ -"Add Service" = "Add Service"; +"Add Service" = "Dodaj usługę"; /* No comment provided by engineer. */ "Adjusted for" = "Dostosowane do"; @@ -186,6 +189,9 @@ /* Alert message for a manual glucose entry persistence error */ "An error occurred while trying to save your manual glucose entry." = "Wystąpił błąd podczas próby zapisania ręcznego wpisu o glukozie."; +/* Invalid onboarding state */ +"An unexpected onboarding error state occurred." = "Niespodziewany błąd wdrażania"; + /* Alert message when glucose data returns while on bolus screen */ "An updated bolus recommendation is available." = "Dostępna jest zaktualizowana rekomendacja bolusa."; @@ -195,6 +201,9 @@ /* The title of the nightscout API secret credential */ "API Secret" = "API Secret"; +/* Settings app profile section */ +"App Profile" = "Profil aplikacji"; + /* Action sheet confirmation message for pump history deletion */ "Are you sure you want to delete all history entries?" = "Czy jesteś pewien, że chcesz usunąć z Loop wszystkie dane historyczne pompy?"; @@ -246,7 +255,7 @@ /* The label of the bolus entry button The notification title for a bolus failure */ -"Bolus" = "Bolusa"; +"Bolus" = "Bolus"; /* The notification title for a bolus issue */ "Bolus Issue" = "Problem z bolusem"; @@ -261,7 +270,7 @@ "Bolus Too Small" = "Za mały Bolus"; /* The format string for bolus progress. (1: delivered volume)(2: total volume) */ -"Bolused %1$@ of %2$@" = "Zbolusowano %1$@ of %2$@"; +"Bolused %1$@ of %2$@" = "Podano %1$@ of %2$@"; /* The format string for bolus in progress showing total volume. (1: total volume) */ "Bolusing %1$@" = "Bolusowanie %1$@"; @@ -320,13 +329,13 @@ "Check your device time and/or remove any invalid data from Apple Health." = "Sprawdź czas urządzenia i/lub usuń wszelkie nieprawidłowe dane z aplikacji Zdrowie."; /* Carb entry section footer text explaining absorption time */ -"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." = "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."; +"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." = "Wybierz dłuższy czas absorpcji dla większych posiłków bądź tych bogatych w tłuszcze i białka.\nTo tylko wskazówka dla algorytmu i nie musi być bardzo dokładna."; /* The button label of the action used to dismiss the unsafe notification permission alert */ "Close" = "Zamknij"; /* The title text for the looping enabled switch cell */ -"Closed Loop" = "Zamknięta Loop"; +"Closed Loop" = "Pętla Zamknięta"; /* Alert title for closed loop off informational modal */ "Closed Loop OFF" = "Pętla zamknięta WYŁĄCZONA"; @@ -384,10 +393,10 @@ "Current glucose of %1$@ is below correction range." = "Poziom glukozy %1$@ jest poniżej wartości korekcji."; /* The title of the cell indicating a generic temporary override is enabled */ -"Custom Override" = "Pominięcie niestandardowe"; +"Custom Override" = "Cel Tymczasowy"; /* The title of the cell indicating a generic custom preset is enabled */ -"Custom Preset" = "Ustawienia niestandardowe"; +"Custom Preset" = "Cel Tymczasowy"; /* Date picker label */ "Date" = "Data"; @@ -460,7 +469,7 @@ "Enter Bolus" = "Wprowadź bolus"; /* Button text prompting manual glucose entry on bolus screen */ -"Enter Fingerstick Glucose" = "Wprowadź glukozę z palca"; +"Enter Fingerstick Glucose" = "Wprowadź glukozę z glukometru"; /* The placeholder text instructing users to enter a glucose safety limit */ "Enter glucose safety limit" = "Wprowadź bezpieczny limit glukozy"; @@ -492,9 +501,6 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Osiągnięto bolus maksymalny"; -/* Remote command error description: expired. */ -"Expired" = "Po terminie"; - /* The title of the export critical event logs in support */ "Export Critical Event Logs" = "Eksportuj dzienniki zdarzeń krytycznych"; @@ -508,7 +514,10 @@ "Fiasp" = "Fiasp"; /* Label for manual glucose entry row on bolus screen */ -"Fingerstick Glucose" = "Glukoza z palca"; +"Fingerstick Glucose" = "Glukoza z krwi"; + +/* Secondary text for alerts disabled warning, which appears on the main status screen. */ +"Fix now by turning Notifications, Critical Alerts and Time Sensitive Notifications ON." = "Włącz powiadomienia i alerty krytyczne."; /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Do %1$@"; @@ -547,6 +556,9 @@ /* Details for configuration error when glucose target range schedule is missing */ "Glucose Target Range Schedule" = "Harmonogram zakresu docelowego glukozy"; +/* The title text for how to update */ +"How to update (LoopDocs)" = "Jak zaktualizować (LoopDocs)"; + /* Immediate Delivery status text */ "Immediate" = "Natychmiastowy"; @@ -606,9 +618,6 @@ /* The error message when glucose data is in the future. (1: glucose data time in future in minutes) */ "Invalid glucose reading with a timestamp that is %1$@ in the future" = "Nieprawidłowy odczyt glukozy ze znacznikiem czasu, który wynosi %1$@ w przyszłości"; -/* Remote command error description: invalid OTP. */ -"Invalid OTP" = "Nieprawidłowe hasło jednorazowe"; - /* The title text for the issue report cell */ "Issue Report" = "Zgłaszanie błędów"; @@ -647,13 +656,13 @@ "Loop has not completed successfully in %@" = "Loop nie działał poprawnie przez %@"; /* Description string for automatic bolus dosing strategy */ -"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." = "Pętla automatycznie poda bolus, gdy zapotrzebowanie na insulinę przekroczy zaplanowaną dawkę podstawową, a w razie potrzeby użyje tymczasowych dawek podstawowych, aby zmniejszyć podawanie insuliny poniżej zaplanowanej dawki podstawowej."; +"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." = "Pętla automatycznie poda bolusa, kiedy zapotrzebowanie na insulinę przekroczy zaplanowaną dawkę podstawową, a w razie potrzeby zredukuje zaplanowaną dawkę podstawową (bazę)."; /* Bluetooth off background alert body. */ "Loop will not work successfully until Bluetooth is enabled. You will not receive glucose readings, or be able to bolus." = "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."; /* Description string for temp basal only dosing strategy */ -"Loop will set temporary basal rates to increase and decrease insulin delivery." = "Pętla ustawi tymczasowe dawki podstawowe, aby zwiększać i zmniejszać podawanie insuliny."; +"Loop will set temporary basal rates to increase and decrease insulin delivery." = "Pętla ustawi tymczasowe dawki podstawowe, aby zwiększać lub zmniejszyć podawanie insuliny."; /* Title for bolus screen warning when glucose is below glucose warning limit. Title for bolus screen warning when glucose is below suspend threshold, but a bolus is recommended */ @@ -745,6 +754,9 @@ /* Notifications Status text */ "Notifications" = "Powiadomienia"; +/* Scheduled Delivery Enabled alert title */ +"Notifications Delayed" = "Spóźnione Powiadomienia"; + /* Alert Permissions descriptive text (1: app name) */ "Notifications give you important %1$@ app information without requiring you to open the app." = "Powiadomienia zawierają ważne informacje o aplikacji %1$@ bez konieczności otwierania aplikacji."; @@ -792,6 +804,12 @@ /* Preparing critical event log text */ "Preparing Critical Event Logs" = "Przygotowywanie dzienników zdarzeń krytycznych"; +/* Settings App Profile expiration view */ +"Profile Expiration" = "Wygaśnięcie profilu:"; + +/* Time that profile expires */ +"Profile expires " = "Profil wygasa "; + /* The title for notification of upcoming profile expiration */ "Profile Expires Soon" = "Profil wkrótce wygaśnie"; @@ -1017,6 +1035,9 @@ /* The error message displayed for unknown errors. (1: unknown error) */ "Unknown Error: %1$@" = "Nieznany błąd: %1$@"; +/* Unknown amount of time in settings' profile expiration section */ +"Unknown time" = "Nieznany czas"; + /* The format for the description of a temporary override end date */ "until %@" = "do %@"; @@ -1056,6 +1077,9 @@ /* Workout override still on reminder alert body. */ "Workout Temp Adjust has been turned on for more than 24 hours. Make sure you still want it enabled, or turn it off in the app." = "Cel Tymczasowy (trening) był włączony przez ponad 24 godziny. Upewnij się, że nadal chcesz, aby był włączony, lub wyłącz go w aplikacji."; +/* Workout override still on reminder alert title */ +"Workout Temp Adjust Still On" = "Tymczasowy profil treningowy nadal działa"; + /* The title of the action used when confirming entered amount of carbohydrates. */ "Yes" = "Tak"; @@ -1080,9 +1104,6 @@ /* Bolus screen warning when no bolus is recommended due to glucose input value below recommendation threshold for meal bolus */ "Your glucose is low. Eat carbs and monitor closely." = "Twój poziom glukozy jest niski. Zjedz węglowodany i uważnie monitoruj poziom glikemii."; -/* Warning to ensure the carb entry is accurate */ -"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." = "Twój poziom glukozy szybko rośnie. Sprawdź, czy wszystkie zjedzone węglowodany zostały zapisane. Jeśli zapisano węglowodany, sprawdź, czy wprowadzony czas zgadza się z czasem rozpoczęcia jedzenia."; - /* Warning for simple bolus when max bolus is exceeded. (1: maximum bolus) */ "Your maximum bolus amount is %1$@." = "Twoja maksymalna wielkość bolusa to %1$@ ."; diff --git a/Loop/pl.lproj/Main.strings b/Loop/pl.lproj/Main.strings index 539f3efcbb..eb0db8e096 100644 --- a/Loop/pl.lproj/Main.strings +++ b/Loop/pl.lproj/Main.strings @@ -8,7 +8,7 @@ "5gz-kZ-iF1.text" = "3.5 J/godzinę @ 12:12 PM"; /* Class = "UILabel"; text = "Predicted"; ObjectID = "87H-N1-0vJ"; */ -"87H-N1-0vJ.text" = "Przewidywany"; +"87H-N1-0vJ.text" = "Przewidywane"; /* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ "aCb-Qs-bpu.text" = "Szczegóły"; diff --git a/Loop/ro.lproj/InfoPlist.strings b/Loop/ro.lproj/InfoPlist.strings index bb541032c4..c207261b93 100644 --- a/Loop/ro.lproj/InfoPlist.strings +++ b/Loop/ro.lproj/InfoPlist.strings @@ -10,6 +10,9 @@ /* Privacy - Bluetooth Peripheral Usage Description */ "NSBluetoothPeripheralUsageDescription" = "Bluetooth este folosit pentru a comunica cu pompa de insulină, precum și cu dispozitivele de monitorizare glicemică continuă."; +/* Privacy - Camera Usage Description */ +"NSCameraUsageDescription" = "Camera este folosită pentru a scana codurile de bare ale dispozitivelor."; + /* Privacy - Face ID Usage Description */ "NSFaceIDUsageDescription" = "Face ID este folosit la autentificarea pentru bolus."; @@ -19,3 +22,6 @@ /* Privacy - Health Update Usage Description */ "NSHealthUpdateUsageDescription" = "Carbohidrații introduși în aplicație și pe ceas sunt stocați în baza de date Sănătate. Glicemiile din GCM sunt stocate în mod confidențial în HealthKit."; +/* Privacy - Siri Usage Description */ +"NSSiriUsageDescription" = "Loop folosește Siri pentru a vă permite să activați presetări cu ajutorul vocii."; + diff --git a/Loop/ro.lproj/Localizable.strings b/Loop/ro.lproj/Localizable.strings index 13d7646716..6ca9de5345 100644 --- a/Loop/ro.lproj/Localizable.strings +++ b/Loop/ro.lproj/Localizable.strings @@ -4,6 +4,12 @@ /* Status row title for premeal override enabled (leading space is to separate from symbol) */ " Pre-meal Preset" = " Presetare înainte de masă"; +/* remaining time in setting's profile expiration section */ +" remaining" = " rămas"; + +/* Warning text for when Notifications or Critical Alerts Permissions is disabled */ +" Safety Notifications are OFF" = " Notificările de siguranță sunt dezactivate"; + /* Status row title for workout override enabled (leading space is to separate from symbol) */ " Workout Preset" = " Presetare antrenament"; @@ -16,6 +22,9 @@ /* No glucose value representation (3 dashes for mg/dL) */ "– – –" = "– – –"; +/* Full stop character */ +"." = "."; + /* The format for an active override preset. (1: preset symbol)(2: preset name) */ "%@ %@" = "%1$@ %2$@"; @@ -31,6 +40,12 @@ /* Appends a full-stop to a statement */ "%@." = "%@."; +/* Alert text for failing to cancel temp basal (1: reason description, 2: app name) */ +"%@%@ 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." = "%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."; + +/* Adds a full-stop to a statement (1: statement, 2: full stop character) */ +"%1@%2@" = "%1$@%2$@"; + /* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ "%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; @@ -43,9 +58,18 @@ /* Formats (1: carb start time) and (2: carb absorption duration) */ "%1$@ + %2$@" = "%1$@ + %2$@"; +/* Alert message for closed loop off informational modal. (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." = "%1$@ operează cu bucla închisă în poziția OFF. Pompa și CGM-ul vor continua să funcționeze, dar aplicația nu va ajusta automat dozarea."; + +/* Message for alert shown when alert acknowledgement fails for a device, and the device does not provide a LocalizedError. (1: app name) */ +"%1$@ is unable to clear the alert from your device" = "%1$@ nu poate șterge alerta de pe dispozitiv"; + /* Message for alert shown when delivery status is uncertain. (1: app name) */ "%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." = "%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."; +/* Time change alert title */ +"%1$@ Time Settings Need Attention" = "%1$@ Setările de timp necesită atenție"; + /* Reservoir entry (1: volume value) */ "%1$@ U" = "%1$@ U"; @@ -61,6 +85,9 @@ /* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ "%1$@ v%2$@" = "%1$@ v%2$@"; +/* Format string for body for notification of upcoming provisioning profile expiration. (1: app name) (2: amount of time until expiration */ +"%1$@ will stop working in %2$@. You will need to update before that, with a new provisioning profile." = "%1$@ nu va mai funcționa în %2$@. Va trebui să actualizați înainte de aceasta, cu un nou profil de asigurare a accesului."; + /* Formats (1: carb value) and (2: food type) */ "%1$@: %2$@" = "%1$@: %2$@"; @@ -80,12 +107,21 @@ /* Alert message for a manual glucose entry out of range error */ "A manual glucose entry must be between %@ and %@" = "O intrare manuală de glicermie trebuie să fie între %1$@ și %2$@"; +/* Warning for simple bolus when glucose entry is out of range. (1: upper bound) (2: lower bound) */ +"A manual glucose entry must be between %1$@ and %2$@." = "O intrare manuală de glicemie trebuie să fie între %1$@ și %2$@ ."; + /* Subtitle of Fiasp preset */ "A model based on the published absorption of Fiasp insulin." = "Un model bazat pe absorbția declarată a insulinei Fiasp."; /* Subtitle of Rapid-Acting – Adult preset */ "A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Un model bazat pe absorbția declarată a insulinei Humalog, Novolog și Apidra la adulți."; +/* Software update available section footer (1: app name) */ +"A new version of %@ is available and is recommended to continue using the app." = "O nouă versiune de %@ este disponibilă și se recomandă să continuați să utilizați aplicația."; + +/* Required software update section footer (1: app name) */ +"A new version of %@ is available." = "Este disponibilă o nouă versiune de %@ ."; + /* Alert message for a missing pump error */ "A pump must be configured before a bolus can be delivered." = "O pompă trebuie configurată înainte ca un bolus să poată fi livrat."; @@ -130,6 +166,10 @@ /* No comment provided by engineer. */ "Adjusted for" = "Ajustat pentru"; +/* Alert Permissions button text + Title of alert management screen */ +"Alert Management" = "Gestionarea alertelor"; + /* Alert Permissions button text Notification & Critical Alert Permissions screen title */ "Alert Permissions" = "Permisiuni pentru alarme"; @@ -140,12 +180,18 @@ /* The title of the Amplitude service */ "Amplitude" = "Amplitude"; +/* Warning to ensure the carb entry is accurate during an override */ +"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." = "Un modificator activa 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 modificatorului."; + /* Alert message for a carb entry persistence error */ "An error occurred while trying to save your carb entry." = "Eroare la încercarea de salvare a carbohidraților."; /* Alert message for a manual glucose entry persistence error */ "An error occurred while trying to save your manual glucose entry." = "Eroare la încercarea de salvare a glicemiei introduse manual."; +/* Invalid onboarding state */ +"An unexpected onboarding error state occurred." = "A apărut o eroare neașteptată de stare la inițiere."; + /* Alert message when glucose data returns while on bolus screen */ "An updated bolus recommendation is available." = "Este disponibilă o recomandare de bolus nouă."; @@ -155,6 +201,9 @@ /* The title of the nightscout API secret credential */ "API Secret" = "API Secret"; +/* Settings app profile section */ +"App Profile" = "Profil"; + /* Action sheet confirmation message for pump history deletion */ "Are you sure you want to delete all history entries?" = "Sigur doriți să ștergeți toate înregistrările din istoric?"; @@ -189,6 +238,9 @@ The title text for the basal rate schedule */ "Basal Rates" = "Rate bazale"; +/* Caption for bolus screen notice when no bolus is recommended for the predicted glucose */ +"Based on your predicted glucose, no bolus is recommended." = "Pe baza glicemiei prognozate, nu se recomandă niciun bolus."; + /* Message to the user to that the bluetooth is off */ "Bluetooth\nOff" = "Bluetooth \nOprit"; @@ -425,6 +477,9 @@ /* Label for manual glucose entry row on bolus screen */ "Fingerstick Glucose" = "Glicemie din deget"; +/* Secondary text for alerts disabled warning, which appears on the main status screen. */ +"Fix now by turning Notifications, Critical Alerts and Time Sensitive Notifications ON." = "Remediați acum activând Notificări, Alerte critice și Notificări sensibile la timp."; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "Timp de %1$@"; @@ -450,15 +505,27 @@ /* Title of the prediction input effect for glucose momentum */ "Glucose Momentum" = "Momentum glicemie"; +/* The title text for how to update */ +"How to update (LoopDocs)" = "Cum se actualizează (LoopDocs)"; + +/* Immediate Delivery status text */ +"Immediate" = "Imediat"; + /* The title of a target alert action specifying an indefinitely long workout targets duration */ "Indefinitely" = "Nedeterminat"; +/* Title of the alert when carb input maximum was exceeded. */ +"Input Maximum Exceeded" = "Maximul de intrare a fost depășit"; + /* Title of the prediction input effect for insulin */ "Insulin" = "Insulină"; /* Description of the prediction input effect for insulin */ "Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Insulină absorbită (U) × factor de sensibilitate la insulină (%1$@/U)"; +/* Notification body for crash recovery alert */ +"Insulin adjustments have been disabled!" = "Ajustările de insulină au fost dezactivate!"; + /* The title of the insulin delivery graph */ "Insulin Delivery" = "Administrare insulină"; @@ -476,6 +543,9 @@ The title text for the insulin sensitivity schedule */ "Insulin Sensitivities" = "Sensibilitate insulină"; +/* Details for configuration error when insulin sensitivity schedule is missing */ +"Insulin Sensitivity Schedule" = "Programul Factorului de Sensibilitate la Insulină"; + /* The title of the cell indicating the pump is suspended */ "Insulin Suspended" = "Livrarea insulinei suspendată"; @@ -485,12 +555,24 @@ /* 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) */ "Interrupted %1$@: %2$@ of %3$@ %4$@" = "Întrerupere %1$@: %2$@ din %3$@ %4$@"; +/* Remote command error description: invalid carb amount. */ +"Invalid carb amount" = "Cantitate de carbohidrați invalidă"; + /* The error message when invalid data was encountered. (1: details of invalid data) */ "Invalid data: %1$@" = "Date invalide: %1$@"; +/* Title for bolus screen notice when glucose data is in the future */ +"Invalid Future Glucose" = "Glicemie Viitoare Invalidă"; + +/* The error message when glucose data is in the future. (1: glucose data time in future in minutes) */ +"Invalid glucose reading with a timestamp that is %1$@ in the future" = "Citirea invalidă a glicemiei cu un marcaj temporal care este %1$@ în viitor"; + /* The title text for the issue report cell */ "Issue Report" = "Raportare probleme"; +/* Title of the warning shown when a large meal was entered */ +"Large Meal Entered" = "O cantitate mare de carbohidrați a fost introdusă"; + /* Glucose HUD accessibility hint */ "Launches CGM app" = "Lansează aplicația CGM"; @@ -510,6 +592,9 @@ /* The title of the screen displaying a manually entered insulin dose */ "Logged Insulin Dose" = "Doza de insulină înregistrată"; +/* Title for crash recovery alert */ +"Loop Crashed" = "Loop s-a închis"; + /* The notification title for a loop failure */ "Loop Failure" = "Eșec Loop"; @@ -522,9 +607,34 @@ /* Description string for automatic bolus dosing strategy */ "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." = "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."; +/* Bluetooth off background alert body. */ +"Loop will not work successfully until Bluetooth is enabled. You will not receive glucose readings, or be able to bolus." = "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."; + /* Description string for temp basal only dosing strategy */ "Loop will set temporary basal rates to increase and decrease insulin delivery." = "Loop va stabili ratele bazale temporare pentru a crește și reduce cantitatea de insulina livrata."; +/* Title for bolus screen warning when glucose is below glucose warning limit. + Title for bolus screen warning when glucose is below suspend threshold, but a bolus is recommended */ +"Low Glucose" = "Glicemie scăzută"; + +/* Manage Permissions in Settings button text */ +"Manage Permissions in Settings" = "Gestionați permisiunile din Setări"; + +/* Description of a bolus dose entry (1: value (? if no value) in bold, 2: unit) */ +"Manual Dose: %1$@ %2$@" = "Doză manuală: %1$@ %2$@"; + +/* Details for configuration error when maximum basal rate per hour is missing */ +"Maximum Basal Rate Per Hour" = "Rata bazală maximă pe oră"; + +/* Details for configuration error when maximum bolus is missing */ +"Maximum Bolus" = "Bolus maxim"; + +/* Title for bolus screen warning when max bolus is exceeded */ +"Maximum Bolus Exceeded" = "Bolusul maxim depășit"; + +/* Alert title when maximum duration exceeded. */ +"Maximum Duration Exceeded" = "Durata maximă depășită"; + /* Title for bolus entry screen when also entering carbs */ "Meal Bolus" = "Bolus prandial"; @@ -534,18 +644,30 @@ /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Date lipsă: %1$@"; +/* Remote command error description: missing maximum bolus in settings. */ +"Missing maximum allowed bolus in settings" = "Lipsește bolusul maxim permis în setări"; + /* The short unit display string for millimoles of glucose per liter */ "mmol/L" = "mmol/L"; /* Details for missing data error when momentum effects are missing */ "Momentum effects" = "Efecte momentum"; +/* Text for more info action on notification of upcoming profile expiration */ +"More Info" = "Mai multe informații"; + +/* Label for toggle to mute all alerts */ +"Mute All Alerts" = "Dezactivați toate alertele"; + /* Sensor state description for the non-valid state */ "Needs Attention" = "Necesită atenție"; /* The title of the Nightscout service */ "Nightscout" = "Nightscout"; +/* Description of temporary mute alerts */ +"No alerts will sound while muted. Once this period ends, your alerts and alarms will resume as normal." = "Nicio alertă nu va suna când este dezactivat sunetul. Odată ce această perioadă se încheie, alertele și alarmele dvs. vor relua normal."; + /* Title for bolus screen notice when no bolus is recommended Title for bolus screen warning when glucose is below suspend threshold, and a bolus is not recommended Title for bolus screen warning when no bolus is recommended */ @@ -569,6 +691,30 @@ /* Title for bolus screen notice when pump data is missing or stale */ "No Recent Pump Data" = "Nu există date recente despre pompă"; +/* The title of the action used when rejecting the the amount of carbohydrates entered. */ +"No, edit amount" = "Nu, modificați cantitatea"; + +/* Notification Delivery Status text */ +"Notification Delivery" = "Livrare notificare"; + +/* Format for Critical Alerts permissions disabled alert body. (1: app name) */ +"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." = "Livrarea notificărilor este setată la Rezumat programat în setările telefonului dvs. \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ă."; + +/* Notifications Status text */ +"Notifications" = "Notificări"; + +/* Scheduled Delivery Enabled alert title */ +"Notifications Delayed" = "Notificări întârziate"; + +/* Alert Permissions descriptive text (1: app name) */ +"Notifications give you important %1$@ app information without requiring you to open the app." = "Notificările vă oferă informații importante despre aplicație %1$@ fără a fi necesar să deschideți aplicația."; + +/* Alert Permissions descriptive text (1: app name) */ +"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." = "Notificările vă oferă informații importante despre aplicație %1$@ fără a fi necesar să deschideți aplicația. \n\n Păstrați-le activate în setările telefonului pentru a vă asigura că primiți notificări %1$@ , alerte critice și notificări sensibile la timp."; + +/* Notification Setting Status is Off */ +"Off" = "Oprit"; + /* Alert acknowledgment OK button Critical Alert permissions disabled alert button Default action for alert when alert acknowledgment fails @@ -598,6 +744,12 @@ /* Preparing critical event log text */ "Preparing Critical Event Logs" = "Pregătire jurnal de evenimente critice"; +/* Settings App Profile expiration view */ +"Profile Expiration" = "Expirarea profilului"; + +/* Time that profile expires */ +"Profile expires " = "Profilul expiră "; + /* The title of the pump section in settings */ "Pump" = "Pompă"; @@ -762,6 +914,9 @@ The default description to use when an entry has no dose description */ "Unknown" = "Necunoscut"; +/* Unknown amount of time in settings' profile expiration section */ +"Unknown time" = "Timp necunoscut"; + /* The format for the description of a temporary override end date */ "until %@" = "până la %@"; @@ -807,6 +962,9 @@ /* Format string for bolus screen warning when no bolus is recommended due input value below glucose safety limit. (1: suspendThreshold) */ "Your glucose is below your glucose safety limit, %1$@." = "Glicemia ta este sub limita de siguranță, %1$@."; -/* Warning to ensure the carb entry is accurate */ -"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." = "Glicemia ta crește rapid. Verifică că orice carbohidrați pe care i-ai mâncat au fost înregistrați. Dacă ați înregistrat carbohidrați, verificați dacă ora introdusă se potrivește cu momentul când ați început să mâncați."; +/* The description text for the looping enabled switch cell when closed loop is not allowed because the pump is delivering a manual temp basal. */ +"Your pump is delivering a manual temporary basal rate." = "Pompa dumneavoastră furnizează o rată bazală temporară manuală."; + +/* Warning for simple bolus when recommended bolus exceeds max bolus. (1: maximum bolus) */ +"Your recommended bolus exceeds your maximum bolus amount of %1$@." = "Bolusul recomandat depășește cantitatea maximă de bolus de %1$@ ."; diff --git a/Loop/ro.lproj/Main.strings b/Loop/ro.lproj/Main.strings index e25c15c2d4..86d6d1318c 100644 --- a/Loop/ro.lproj/Main.strings +++ b/Loop/ro.lproj/Main.strings @@ -40,6 +40,9 @@ /* Class = "UIButton"; normalTitle = "🍭"; ObjectID = "Fal-Vf-lfh"; */ "Fal-Vf-lfh.normalTitle" = "🍭"; +/* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "fWV-jg-ICt"; */ +"fWV-jg-ICt.text" = "3.5 U/oră @ 12:12 PM"; + /* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ "hZZ-2S-lrd.title" = "Efecte carbohidrați"; @@ -91,6 +94,9 @@ /* Class = "UILabel"; text = "Amount Consumed"; ObjectID = "Wx8-Tf-FnG"; */ "Wx8-Tf-FnG.text" = "Cantitate consumată"; +/* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "xhx-PI-bBI"; */ +"xhx-PI-bBI.text" = "Bazala recomandată"; + /* Class = "UIButton"; normalTitle = "🍕"; ObjectID = "xl9-Wc-Pdu"; */ "xl9-Wc-Pdu.normalTitle" = "🍕"; diff --git a/Loop/ru.lproj/InfoPlist.strings b/Loop/ru.lproj/InfoPlist.strings index be9c0e3136..758641c73e 100644 --- a/Loop/ru.lproj/InfoPlist.strings +++ b/Loop/ru.lproj/InfoPlist.strings @@ -5,16 +5,16 @@ "CFBundleName" = "$(PRODUCT_NAME)"; /* Privacy - Bluetooth Always Usage Description */ -"NSBluetoothAlwaysUsageDescription" = "Bluetooth is used to communicate with insulin pump and continuous glucose monitor devices."; +"NSBluetoothAlwaysUsageDescription" = "Bluetooth используется для связи с инсулиновой помпой и устройствами непрерывного мониторинга глюкозы."; /* Privacy - Bluetooth Peripheral Usage Description */ -"NSBluetoothPeripheralUsageDescription" = "Блутус применяется для коммуникации с инсулиновой помпой и устройствами непрерывного мониторинга СК"; +"NSBluetoothPeripheralUsageDescription" = "Bluetooth используется для связи с инсулиновой помпой и устройствами непрерывного мониторинга глюкозы."; /* Privacy - Camera Usage Description */ "NSCameraUsageDescription" = "Камера используется для сканирования штрих-кодов устройств."; /* Privacy - Face ID Usage Description */ -"NSFaceIDUsageDescription" = "Идентификатор Face ID применяется для авторизации болюса инсулина"; +"NSFaceIDUsageDescription" = "Идентификатор Face ID применяется для авторизации ввода инсулина"; /* Privacy - Health Share Usage Description */ "NSHealthShareUsageDescription" = "Данные о пище из базы данных Здоровье используются для определения влияния на гликемию. Данные гликемии из базы данных Здоровье используются для графического отображения и вычисления скорости изменений"; @@ -22,3 +22,6 @@ /* Privacy - Health Update Usage Description */ "NSHealthUpdateUsageDescription" = "Данные об углеводах в приложении и на смарт-часах хранятся в базе данных Здоровье. Данные о гликемии полученные от систем непрерывного мониторинга хранятся в безопасности в Комплексе Здоровья HealthKit "; +/* Privacy - Siri Usage Description */ +"NSSiriUsageDescription" = "Loop использует Siri, чтобы вы могли активировать пресеты своим голосом."; + diff --git a/Loop/ru.lproj/Localizable.strings b/Loop/ru.lproj/Localizable.strings index 74978a0765..0d86be5beb 100644 --- a/Loop/ru.lproj/Localizable.strings +++ b/Loop/ru.lproj/Localizable.strings @@ -1,6 +1,27 @@ /* The string format appended to active insulin that describes pending insulin. (1: pending insulin) */ " (pending: %@)" = " (В ожидании: %@)"; +/* Status row title for premeal override enabled (leading space is to separate from symbol) */ +" Pre-meal Preset" = "Пресет до еды"; + +/* remaining time in setting's profile expiration section */ +" remaining" = " осталось"; + +/* Warning text for when Notifications or Critical Alerts Permissions is disabled */ +" Safety Notifications are OFF" = " Оповещения о безопасности выключены"; + +/* Status row title for workout override enabled (leading space is to separate from symbol) */ +" Workout Preset" = "Пресет физнагрузки"; + +/* String denoting lack of a recommended bolus amount in the simple bolus calculator */ +"–" = "–"; + +/* No comment provided by engineer. */ +"– –" = "– –"; + +/* No glucose value representation (3 dashes for mg/dL) */ +"– – –" = "– – –"; + /* Full stop character */ "." = "."; @@ -19,18 +40,39 @@ /* Appends a full-stop to a statement */ "%@." = "%@."; +/* Alert text for failing to cancel temp basal (1: reason description, 2: app name) */ +"%@%@ 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." = "%1$@%2$@ не смог отменить вашу текущую ВБС, которая превышает установленный вами новый предел максимальной ВБС. Это может привести к большему количеству подаваемого инсулина, чем хотелось бы.\n\nРассмотрите возможность приостановить введение инсулина вручную, а затем немедленно возобновить введение базального инсулина с новым установленным лимитом."; + /* Adds a full-stop to a statement (1: statement, 2: full stop character) */ "%1@%2@" = "%1$@ %2$@"; /* Format string for glucose target range. (1: Min target)(2: Max target)(3: glucose unit) */ "%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; +/* Format string combining carb entry quantity and absorption time emoji */ +"%1$@ %2$@" = "%1$@ %2$@"; + /* Format string for carb ratio average. (1: value)(2: carb unit) */ "%1$@ %2$@/U" = "%1$@ %2$@/ед"; /* Formats (1: carb start time) and (2: carb absorption duration) */ "%1$@ + %2$@" = "%1$@ + %2$@"; +/* Alert message for closed loop off informational modal. (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." = "%1$@ работает с замкнутым циклом в положении ВЫКЛ. Ваша помпа и CGM будут продолжать работать, но приложение не будет регулировать дозировку автоматически."; + +/* Message for alert shown when alert acknowledgement fails for a device, and the device does not provide a LocalizedError. (1: app name) */ +"%1$@ is unable to clear the alert from your device" = "%1$@ не удается удалить предупреждение с вашего устройства"; + +/* Message for alert shown when delivery status is uncertain. (1: app name) */ +"%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." = "%1$@ не может связаться с вашей инсулиновой помпой. Приложение будет продолжать попытки связаться с вашей помпой, но информация о доставке инсулина не может быть обновлена, и автоматизация не может продолжаться.\nВы можете подождать несколько минут и посмотреть, разрешится ли проблема, или нажать кнопку ниже, чтобы узнать о других возможностях."; + +/* Time change alert title */ +"%1$@ Time Settings Need Attention" = "%1$@ Настройки времени требуют внимания"; + +/* Reservoir entry (1: volume value) */ +"%1$@ U" = "%1$@ Ед."; + /* Low reservoir alert format string. (1: Number of units remaining) */ "%1$@ U left" = "%1$@ Осталось ед"; @@ -43,6 +85,9 @@ /* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ "%1$@ v%2$@" = "%1$@ против %2$@"; +/* Format string for body for notification of upcoming provisioning profile expiration. (1: app name) (2: amount of time until expiration */ +"%1$@ will stop working in %2$@. You will need to update before that, with a new provisioning profile." = "%1$@ перестанет работать в %2$@. Вам нужно будет обновить его до этого, используя новую подпись."; + /* Formats (1: carb value) and (2: food type) */ "%1$@: %2$@" = "%1$@: %2$@"; @@ -66,10 +111,10 @@ "A manual glucose entry must be between %1$@ and %2$@." = "Ручной ввод глюкозы должен находиться между %1$@ и %2$@"; /* Subtitle of Fiasp preset */ -"A model based on the published absorption of Fiasp insulin." = "модель, основанная на опубликованных данных усвоения FIASP инсулина."; +"A model based on the published absorption of Fiasp insulin." = "Модель, основанная на опубликованных данных усвоения FIASP инсулина."; /* Subtitle of Rapid-Acting – Adult preset */ -"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "модель, основанная на опубликованных данных усвоения Humalog, Novolog и Apidra у взрослых."; +"A model based on the published absorption of Humalog, Novolog, and Apidra insulin in adults." = "Модель, основанная на опубликованных данных усвоения Humalog, Novolog и Apidra у взрослых."; /* Software update available section footer (1: app name) */ "A new version of %@ is available and is recommended to continue using the app." = "Новая версия %@ доступна и рекомендуется для продолжения использования приложения."; @@ -81,7 +126,7 @@ "A pump must be configured before a bolus can be delivered." = "Перед введением болюса необходимо настроить помпу."; /* Title of the carb entry absorption time cell */ -"Absorption Time" = "длительность усвоения"; +"Absorption Time" = "Длительность усвоения"; /* Action to copy the recommended Bolus value to the actual Bolus Field */ "AcceptRecommendedBolus" = "Принятьрекомендуемыйболюс"; @@ -106,7 +151,7 @@ /* Action sheet title selecting CGM Title text for button to set up a CGM */ -"Add CGM" = "добавить мониторинг"; +"Add CGM" = "Добавить CGM"; /* The label of the meal button */ "Add Meal" = "Добавить еду"; @@ -118,22 +163,37 @@ /* Title text for button to set up a service */ "Add Service" = "Добавить сервис"; +/* No comment provided by engineer. */ +"Adjusted for" = "Скорректировано на"; + /* Alert Permissions button text Title of alert management screen */ "Alert Management" = "Управление оповещениями"; /* Alert Permissions button text Notification & Critical Alert Permissions screen title */ -"Alert Permissions" = "Разрешениe на оповещениe"; +"Alert Permissions" = "Разрешение оповещений"; /* The title of the section containing algorithm settings */ "Algorithm Settings" = "Настройки алгоритма"; +/* The title of the Amplitude service */ +"Amplitude" = "Amplitude"; + +/* Warning to ensure the carb entry is accurate during an override */ +"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." = "Активные временные цели изменяют соотношение углеводов и чувствительность к инсулину. Если вы не хотите, чтобы это влияло на расчет болюса и прогнозируемый уровень глюкозы, отключите эту функцию."; + +/* Alert message for a carb entry persistence error */ +"An error occurred while trying to save your carb entry." = "Произошла ошибка при попытке сохранить запись об углеводах."; + +/* Alert message for a manual glucose entry persistence error */ +"An error occurred while trying to save your manual glucose entry." = "Произошла ошибка при попытке сохранить данные о глюкозе, введенные вручную."; + /* Invalid onboarding state */ "An unexpected onboarding error state occurred." = "Возникла непредвиденная ошибка подключения."; /* Alert message when glucose data returns while on bolus screen */ -"An updated bolus recommendation is available." = "Доступна обновленная болюсная рекомендация."; +"An updated bolus recommendation is available." = "Доступна обновленная рекомендация болюса."; /* The title of the amplitude API key credential */ "API Key" = "API-ключ"; @@ -141,8 +201,11 @@ /* The title of the nightscout API secret credential */ "API Secret" = "API Секрет"; +/* Settings app profile section */ +"App Profile" = "Профиль приложения"; + /* Action sheet confirmation message for pump history deletion */ -"Are you sure you want to delete all history entries?" = "Подтвердите удаление всех записей истории?"; +"Are you sure you want to delete all history entries?" = "Вы уверены, что хотите удалить все записи истории?"; /* Action sheet confirmation message for logged dose deletion */ "Are you sure you want to delete all logged dose entries?" = "Вы уверены, что хотите удалить все зарегистрированные записи о дозах?"; @@ -154,10 +217,10 @@ "Are you sure you want to delete all your %@ Data?\n(This action is not reversible)" = "Вы уверены, что хотите удалить все свои данные %@ ?\n (Это действие необратимо)"; /* Confirmation message for deleting a CGM */ -"Are you sure you want to delete this CGM?" = "Стереть этот мониторинг?"; +"Are you sure you want to delete this CGM?" = "Вы уверены, что хотите удалить этот CGM?"; /* Confirmation message for deleting a service */ -"Are you sure you want to delete this service?" = "Are you sure you want to delete this service?"; +"Are you sure you want to delete this service?" = "Вы уверены, что хотите удалить этот сервис?"; /* Format fragment for a specific time */ "at %@" = "В %@"; @@ -165,6 +228,9 @@ /* The message displayed during a device authentication prompt for bolus specification */ "Authenticate to Bolus %@ Units" = "Подтверждение болюса %@ ед"; +/* The message displayed during a device authentication prompt to log an insulin dose */ +"Authenticate to log %@ Units" = "Пройдите аутентификацию для подтверждения болюса %@ Единиц"; + /* Details for configuration error when basal rate schedule is missing */ "Basal Rate Schedule" = "Скорости базала"; @@ -172,19 +238,37 @@ The title text for the basal rate schedule */ "Basal Rates" = "Скорости базала"; +/* Caption for bolus screen notice when no bolus is recommended for the predicted glucose */ +"Based on your predicted glucose, no bolus is recommended." = "Основываясь на вашей прогнозируемой глюкозе, болюс не рекомендуется."; + /* Message to the user to that the bluetooth is off */ -"Bluetooth\nOff" = "Блютуз Выключенный"; +"Bluetooth\nOff" = "Bluetooth\n Выключен"; /* Message to the user that bluetooth is unavailable to the app */ -"Bluetooth\nUnavailable" = "Блютуз\nНедоступный"; +"Bluetooth\nUnavailable" = "Bluetooth\n Недоступен"; + +/* Bluetooth off alert title */ +"Bluetooth Off Alert" = "Оповещение об отключении Bluetooth"; + +/* Bluetooth unavailable alert title */ +"Bluetooth Unavailable Alert" = "Оповещение о недоступности Bluetooth"; /* The label of the bolus entry button The notification title for a bolus failure */ "Bolus" = "Болюс"; +/* The notification title for a bolus issue */ +"Bolus Issue" = "Проблема с подачей болюса"; + /* Alert title for an updated bolus recommendation */ "Bolus Recommendation Updated" = "Рекомендации по болюсу обновлены"; +/* Title for card displaying carb entry and bolus recommendation */ +"Bolus Summary" = "Суммарно болюса"; + +/* Alert title for a bolus too small validation error */ +"Bolus Too Small" = "Болюс слишком маленький"; + /* The format string for bolus progress. (1: delivered volume)(2: total volume) */ "Bolused %1$@ of %2$@" = "Подан болюс%1$@ из %2$@"; @@ -204,15 +288,27 @@ Label for carb entry row on bolus screen */ "Carb Entry" = "Добавить запись углеводов"; +/* Details for configuration error when carb ratio schedule is missing */ +"Carb Ratio Schedule" = "Расписание соотношения углеводов"; + /* The title of the carb ratios schedule screen The title text for the carb ratio schedule */ "Carb Ratios" = "Соотношения углеводов"; +/* The title of the view controller to create a new carb entry */ +"carb-entry-title-add" = "Добавление записи углеводов"; + +/* The title of the view controller to edit an existing carb entry */ +"carb-entry-title-edit" = "Редактирование записи углеводов"; + +/* Title for bolus screen warning when carbohydrate entry is too large */ +"Carbohydrate Entry Too Large" = "Слишком много углеводов"; + /* Title of the prediction input effect for carbohydrates */ "Carbohydrates" = "Углеводы"; /* Description of the prediction input effect for carbohydrates. (1: The glucose unit string) */ -"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Усвоенные углеводы (г) : соотношение углеводов (гр/ед)х чувствительность к инсулину"; +"Carbs Absorbed (g) ÷ Carb Ratio (g/U) × Insulin Sensitivity (%1$@/U)" = "Усвоенные углеводы (г) ÷ Коэффициент углеводов (г/U) × Чувствительность к инсулину (%1$@/U)"; /* The notification alert describing a low pump battery */ "Change the pump battery immediately" = "Замените батарею помпы немедленно"; @@ -229,18 +325,48 @@ /* Recovery suggestion when glucose data is missing */ "Check your CGM data source" = "Проверьте источник мониторинга СК"; +/* Caption for bolus screen notice when glucose data is in the future */ +"Check your device time and/or remove any invalid data from Apple Health." = "Проверьте время вашего устройства и/или удалите недействительные данные из Apple Health."; + +/* Carb entry section footer text explaining absorption time */ +"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." = "Выберите более длительное время усвоения для больших порций пищи или тех, которые содержат жиры и белки. Это лишь руководство к алгоритму и не обязательно должно быть точным."; + +/* The button label of the action used to dismiss the unsafe notification permission alert */ +"Close" = "Закрыть"; + /* The title text for the looping enabled switch cell */ "Closed Loop" = "Замкнутый цикл"; +/* Alert title for closed loop off informational modal */ +"Closed Loop OFF" = "Замкнутый цикл ВЫКЛ"; + +/* The description text for the looping enabled switch cell when closed loop is not allowed because the sensor is inactive */ +"Closed Loop requires an active CGM Sensor Session" = "Замкнутый цикл требует активного подключенного датчика CGM"; + +/* The description text for the looping enabled switch cell when onboarding is not complete */ +"Closed Loop requires Setup to be Complete" = "Замкнутый цикл требует завершения настройки"; + +/* The format string describing the date of an IOB value. The first format argument is the localized date. */ +"com.loudnate.InsulinKit.IOBDateLabel" = "в %1$@"; + +/* The format string describing the starting date of a total value. The first format argument is the localized date. */ +"com.loudnate.InsulinKit.totalDateLabel" = "с %1$@"; + /* The title of the action used to dismiss an error alert */ "com.loudnate.LoopKit.errorAlertActionTitle" = "OK"; +/* Title text for button to complete setup */ +"Complete Setup" = "Завершить настройку"; + /* The title of the configuration section in settings */ "Configuration" = "Конфигурация"; /* The error message displayed for configuration errors. (1: configuration error details) */ "Configuration Error: %1$@" = "Ошибка конфигурации: %1$@"; +/* Default alert dismissal */ +"Continue" = "Продолжить"; + /* The title of the continuous glucose monitor section in settings */ "Continuous Glucose Monitor" = "Непрерывный мониторинг гликемии"; @@ -248,29 +374,105 @@ The title text for the glucose target range schedule */ "Correction Range" = "Диапазон коррекции"; +/* Critical Alerts Status text */ +"Critical Alerts" = "Критические оповещения"; + +/* Critical event log ready text */ +"Critical Event Log Ready" = "Логи критических событий готовы"; + +/* Critical event log export title */ +"Critical Event Logs" = "Логи критических событий"; + +/* Critical event log export error alert message */ +"Critical Event Logs were not able to be exported." = "Не удалось экспортировать журналы критических событий."; + +/* Label for glucose entry row on simple bolus screen */ +"Current Glucose" = "Текущая глюкоза"; + /* Message when offering bolus recommendation even though bg is below range. (1: glucose value) */ "Current glucose of %1$@ is below correction range." = "Гликемия %1$@ ниже диапазона коррекции"; /* The title of the cell indicating a generic temporary override is enabled */ -"Custom Override" = "Настраиваемая перезапись"; +"Custom Override" = "Настраиваемая временная цель"; + +/* The title of the cell indicating a generic custom preset is enabled */ +"Custom Preset" = "Пользовательский пресет"; + +/* Date picker label */ +"Date" = "Дата"; + +/* The short unit display string for decibles */ +"dB" = "дБ"; + +/* No comment provided by engineer. */ +"Delete" = "Удалить"; /* The title of the button to remove the credentials for a service */ "Delete Account" = "Удалить аккаунт"; +/* Button title to delete all objects */ +"Delete All" = "Удалить все"; + /* Button title to delete CGM */ "Delete CGM" = "Удалить мониторинг"; /* Button title to delete a service */ -"Delete Service" = "Delete Service"; +"Delete Service" = "Удалить сервис"; + +/* No comment provided by engineer. */ +"Delete Testing CGM Data" = "Удалить данные тестирования CGM"; + +/* No comment provided by engineer. */ +"Delete Testing Data" = "Удалить данные тестирования"; + +/* No comment provided by engineer. */ +"Delete Testing Pump Data" = "Удалить данные тестирования помпы"; + +/* Button text to deliver a bolus */ +"Deliver" = "Подать"; /* Title text for delivery limits */ "Delivery Limits" = "Предел подачи"; +/* Descriptive text for Therapy Settings */ +"Diabetes Treatment" = "Лечение диабета"; + +/* Alert body when entered carbohydrates is greater than threshold (1: entered quantity in grams) */ +"Did you intend to enter %1$@ grams as the amount of carbohydrates for this meal?" = "Вы намеревались ввести %1$@ граммов углеводов для этого блюда?"; + /* The action hint of the workout mode toggle button when enabled */ -"Disables" = "Деактивирует"; +"Disables" = "Отключает"; + +/* Default alert dismissal + The button label of the action used to dismiss an error alert */ +"Dismiss" = "Отклонить"; + +/* No comment provided by engineer. */ +"Done" = "Готово"; + +/* Title for card to log dose */ +"Dose Summary" = "Сводная информация о дозе"; + +/* The title of the Dosing Strategy section in settings */ +"Dosing Strategy" = "Стратегия дозирования"; + +/* Message to the user to enable bluetooth */ +"Enable\nBluetooth" = "Включить\nBluetooth"; /* The action hint of the workout mode toggle button when disabled */ -"Enables" = "Активирует"; +"Enables" = "Включает"; + +/* Caption for bolus screen notice when glucose data is missing or stale */ +"Enter a blood glucose from a meter for a recommended bolus amount." = "Введите глюкозу крови, полученную с помощью глюкометра, для получения рекомендуемого количества болюса."; + +/* Button text to begin entering a bolus */ +"Enter Bolus" = "Ввести болюс"; + +/* Button text prompting manual glucose entry on bolus screen */ +"Enter Fingerstick Glucose" = "Введите глюкозу по глюкометру"; + +/* The placeholder text instructing users to enter a glucose safety limit */ +"Enter glucose safety limit" = "Введите безопасный предел глюкозы"; /* The placeholder text instructing users to enter a suspend treshold */ "Enter suspend threshold" = "Введите рубеж приостановки"; @@ -278,41 +480,102 @@ /* The alert title for an error while canceling a bolus */ "Error Canceling Bolus" = "Ошибка отмены болюса"; +/* Critical event log export error alert title */ +"Error Exporting Logs" = "Ошибка экспорта логов"; + /* The alert title for a resume error */ "Error Resuming" = "Ошибка возобновления"; +/* Segmented button title for insulin delivery log event history */ +"Event History" = "История событий"; + /* The subtitle format describing eventual glucose. (1: localized glucose value description) */ "Eventually %@" = "В конечном итоге %@"; +/* Remote command error description: bolus exceeds maximum bolus in settings. */ +"Exceeds maximum allowed bolus in settings" = "Превышен максимально допустимый болюс в настройках"; + +/* Remote command error description: carbs exceed maximum amount. */ +"Exceeds maximum allowed carbs" = "Превышено максимально допустимое количество углеводов"; + /* The title of the alert describing a maximum bolus validation error */ -"Exceeds Maximum Bolus" = "Превышает макс болюс"; +"Exceeds Maximum Bolus" = "Превышает максимальный болюс"; + +/* The title of the export critical event logs in support */ +"Export Critical Event Logs" = "Экспорт логов критических событий"; + +/* The export file name formatted string (1: timestamp) */ +"Export-%1$@" = "Экспорт -%1$@"; + +/* The alert title for a resume error */ +"Failed to Resume Insulin Delivery" = "Не удалось возобновить подачу инсулина"; /* Title of insulin model preset */ "Fiasp" = "Fiasp"; +/* Label for manual glucose entry row on bolus screen */ +"Fingerstick Glucose" = "Глюкоза по глюкометру"; + +/* Secondary text for alerts disabled warning, which appears on the main status screen. */ +"Fix now by turning Notifications, Critical Alerts and Time Sensitive Notifications ON." = "Исправьте ситуацию, включив уведомления, критические оповещения и уведомления, чувствительные к времени."; + /* The format string used to describe a finite workout targets duration */ "For %1$@" = "В течение %1$@"; +/* No comment provided by engineer. */ +"Forecasted blood glucose may still be higher than target range." = "Прогнозируемый уровень глюкозы в крови все еще может быть выше целевого диапазона."; + +/* Title for forecast explanation modal on bolus view */ +"Forecasted Glucose" = "Прогнозируемый уровень глюкозы"; + +/* The short unit display string for grams */ +"g" = "г"; + +/* Get help with Alert Permissions support button text */ +"Get help with Alert Permissions" = "Справка по разрешениям на оповещения"; + /* The title of the glucose and prediction graph */ "Glucose" = "Гликемия"; /* The error message when glucose data is too old to be used. (1: glucose data age in minutes) */ -"Glucose data is %1$@ old" = "Данным гликемии %1$@"; +"Glucose data is %1$@ old" = "Данные о глюкозе устарели на %1$@"; /* Description of error when glucose data is missing */ "Glucose data not available" = "Данные гликемии недоступны"; +/* Alert title when glucose data returns while on bolus screen */ +"Glucose Data Now Available" = "Данные о глюкозе теперь доступны"; + +/* Alert title for a manual glucose entry out of range error + Title for bolus screen warning when glucose entry is out of range */ +"Glucose Entry Out of Range" = "Ввод глюкозы вне допустимого диапазона"; + /* Title of the prediction input effect for glucose momentum */ "Glucose Momentum" = "Динамика гликемии"; +/* Details for configuration error when glucose target range schedule is missing */ +"Glucose Target Range Schedule" = "График целевого диапазона глюкозы"; + +/* The title text for how to update */ +"How to update (LoopDocs)" = "Как обновить (LoopDocs)"; + +/* Immediate Delivery status text */ +"Immediate" = "Немедленно"; + /* The title of a target alert action specifying an indefinitely long workout targets duration */ "Indefinitely" = "На неопределенное время"; +/* Title of the alert when carb input maximum was exceeded. */ +"Input Maximum Exceeded" = "Входной максимум превышен"; + /* Title of the prediction input effect for insulin */ "Insulin" = "Инсулин"; /* Description of the prediction input effect for insulin */ -"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Инсулин усвоен х чувствительность к инсулину"; +"Insulin Absorbed (U) × Insulin Sensitivity (%1$@/U)" = "Усвоенный инсулин (U) × Чувствительность к инсулину (%1$@/U)"; + +/* Notification body for crash recovery alert */ +"Insulin adjustments have been disabled!" = "Регулировка инсулина была отключена!"; /* The title of the insulin delivery graph */ "Insulin Delivery" = "Подача инсулина"; @@ -324,55 +587,232 @@ The title text for the insulin model setting row */ "Insulin Model" = "Модель инсулина"; +/* Descriptive text for Insulin Pump */ +"Insulin Pump" = "Инсулиновая помпа"; + /* The title of the insulin sensitivities schedule screen The title text for the insulin sensitivity schedule */ "Insulin Sensitivities" = "Факторы чувствительности инсулина"; +/* Details for configuration error when insulin sensitivity schedule is missing */ +"Insulin Sensitivity Schedule" = "График чувствительности к инсулину"; + +/* The title of the cell indicating the pump is suspended */ +"Insulin Suspended" = "Подача инсулина приостановлена"; + +/* Insulin type label */ +"Insulin Type" = "Тип инсулина"; + +/* 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) */ +"Interrupted %1$@: %2$@ of %3$@ %4$@" = "Прервано %1$@: %2$@ из %3$@ %4$@"; + +/* Remote command error description: invalid carb amount. */ +"Invalid carb amount" = "Неверное количество углеводов"; + /* The error message when invalid data was encountered. (1: details of invalid data) */ "Invalid data: %1$@" = "Неверные данные: %1$@"; +/* Title for bolus screen notice when glucose data is in the future */ +"Invalid Future Glucose" = "Недействительная будущая глюкоза"; + +/* The error message when glucose data is in the future. (1: glucose data time in future in minutes) */ +"Invalid glucose reading with a timestamp that is %1$@ in the future" = "Неверное показание глюкозы с временной меткой, которая находится на %1$@ в будущем"; + /* The title text for the issue report cell */ "Issue Report" = "Сообщить об ошибе"; +/* Title of the warning shown when a large meal was entered */ +"Large Meal Entered" = "Введена большая порция еды"; + /* Glucose HUD accessibility hint */ "Launches CGM app" = "Запускает приложение непрерывного мониторинга CGM"; +/* OK button title for alert shown when delivery status is uncertain */ +"Learn More" = "Подробнее"; + +/* Estimated remaining duration with less than a minute */ +"Less than a minute remaining" = "Осталось меньше минуты"; + /* The loading message for the diagnostic report screen */ "Loading..." = "Загрузка..."; +/* Button text to log a dose + Title for dose logging screen */ +"Log Dose" = "Доза из лога"; + +/* The title of the screen displaying a manually entered insulin dose */ +"Logged Insulin Dose" = "Зарегистрированная доза инсулина"; + +/* Title for crash recovery alert */ +"Loop Crashed" = "Произошел сбой приложения"; + /* The notification title for a loop failure */ "Loop Failure" = "Ошибка в работе цикла/контура"; +/* Bluetooth unavailable alert body. */ +"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." = "Loop обнаружил проблему в настройках Bluetooth и не будет успешно работать, пока Bluetooth не будет включен. Вы не будете получать показания глюкозы и не сможете вводить болюс."; + /* The notification alert describing a long-lasting loop failure. The substitution parameter is the time interval since the last loop */ "Loop has not completed successfully in %@" = "Ну удалось успешно замкнуть цикл/контур в %@"; +/* Description string for automatic bolus dosing strategy */ +"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." = "Loop автоматически вводит болюсы, когда потребность в инсулине превышает запланированную базу, и при необходимости использует ВБС, чтобы снизить подачу инсулина ниже запланированной базы."; + +/* Bluetooth off background alert body. */ +"Loop will not work successfully until Bluetooth is enabled. You will not receive glucose readings, or be able to bolus." = "Loop не будет успешно работать, пока не будет включен Bluetooth. Вы не сможете получать показания уровня глюкозы или вводить болюсы."; + +/* Description string for temp basal only dosing strategy */ +"Loop will set temporary basal rates to increase and decrease insulin delivery." = "Петля установит ВБС для увеличения или уменьшения подачи инсулина."; + +/* Title for bolus screen warning when glucose is below glucose warning limit. + Title for bolus screen warning when glucose is below suspend threshold, but a bolus is recommended */ +"Low Glucose" = "Низкий уровень глюкозы"; + +/* Manage Permissions in Settings button text */ +"Manage Permissions in Settings" = "Управление разрешениями в настройках"; + +/* Description of a bolus dose entry (1: value (? if no value) in bold, 2: unit) */ +"Manual Dose: %1$@ %2$@" = "Ручная доза: %1$@ %2$@"; + +/* Details for configuration error when maximum basal rate per hour is missing */ +"Maximum Basal Rate Per Hour" = "Максимальная базальная скорость в час"; + +/* Details for configuration error when maximum bolus is missing */ +"Maximum Bolus" = "Максимальный болюс"; + +/* Title for bolus screen warning when max bolus is exceeded */ +"Maximum Bolus Exceeded" = "Превышен максимальный объем болюса"; + +/* Alert title when maximum duration exceeded. */ +"Maximum Duration Exceeded" = "Превышена максимальная продолжительность"; + +/* Title for bolus entry screen when also entering carbs */ +"Meal Bolus" = "Болюс на еду"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "мг/дл"; + /* The error message for missing data. (1: missing data details) */ "Missing data: %1$@" = "Пропущены данные: %1$@"; +/* Remote command error description: missing maximum bolus in settings. */ +"Missing maximum allowed bolus in settings" = "Отсутствие максимально допустимого болюса в настройках"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + /* Details for missing data error when momentum effects are missing */ "Momentum effects" = "Влияние динамики СК"; +/* Text for more info action on notification of upcoming profile expiration */ +"More Info" = "Дополнительная информация"; + +/* Label for toggle to mute all alerts */ +"Mute All Alerts" = "Выключить все оповещения"; + /* Sensor state description for the non-valid state */ "Needs Attention" = "Требует внимания"; +/* The title of the Nightscout service */ +"Nightscout" = "Nightscout"; + +/* Description of temporary mute alerts */ +"No alerts will sound while muted. Once this period ends, your alerts and alarms will resume as normal." = "Во время отключения звуковые сигналы не будут подаваться. По окончании этого периода оповещения и сигналы тревоги возобновятся в обычном режиме."; + +/* Title for bolus screen notice when no bolus is recommended + Title for bolus screen warning when glucose is below suspend threshold, and a bolus is not recommended + Title for bolus screen warning when no bolus is recommended */ +"No Bolus Recommended" = "Нет рекомендации болюса"; + /* The error message displayed for device connection errors. */ -"No connected devices, or failure during device connection" = "Устройства не сопряжены или ошибка во время сопряжения"; +"No connected devices, or failure during device connection" = "Устройства не сопряжены или произошла ошибка во время сопряжения"; + +/* Alert title for a missing maximum bolus setting error */ +"No Maximum Bolus Configured" = "Не установлен максимальный болюс"; + +/* Alert title for a missing pump error */ +"No Pump Configured" = "Нет настроенной помпы"; + +/* The title of the cell indicating that there is no recent glucose */ +"No Recent Glucose" = "Нет актуальных данных о глюкозе"; + +/* Title for bolus screen notice when glucose data is missing or stale */ +"No Recent Glucose Data" = "Нет актуальных данных о глюкозе"; + +/* Title for bolus screen notice when pump data is missing or stale */ +"No Recent Pump Data" = "Нет актуальных данных от помпы"; + +/* The title of the action used when rejecting the the amount of carbohydrates entered. */ +"No, edit amount" = "Нет, редактировать сумму"; + +/* Notification Delivery Status text */ +"Notification Delivery" = "Доставка уведомлений"; + +/* Format for Critical Alerts permissions disabled alert body. (1: app name) */ +"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." = "В настройках телефона для доставки уведомлений установлено значение \"Сводка по расписанию\".\n\nЧтобы избежать задержки в получении уведомлений от %1$@, мы рекомендуем установить доставку уведомлений на Немедленную доставку."; + +/* Notifications Status text */ +"Notifications" = "Уведомления"; + +/* Scheduled Delivery Enabled alert title */ +"Notifications Delayed" = "Уведомления временно отключены"; + +/* Alert Permissions descriptive text (1: app name) */ +"Notifications give you important %1$@ app information without requiring you to open the app." = "Уведомления предоставляют важную информацию о приложении %1$@, не требуя открытия приложения."; + +/* Alert Permissions descriptive text (1: app name) */ +"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." = "Уведомления предоставляют важную информацию о приложении %1$@, не требуя открытия приложения.\n\nВключите их в настройках телефона, чтобы получать уведомления %1$@, критические предупреждения и уведомления, чувствительные к времени."; + +/* Notification Setting Status is Off */ +"Off" = "Выключено"; + +/* Modal body for crash recovery alert */ +"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." = "Внимание! Во время подачи произошел сбой петли, и управление помпой было приостановлено до закрытия этого диалога. История событий может быть неточной. Пожалуйста, просмотрите графики введения инсулина в помпе и внимательно следите за уровнем глюкозы в крови."; + +/* Alert acknowledgment OK button + Critical Alert permissions disabled alert button + Default action for alert when alert acknowledgment fails + Notifications permissions disabled alert button + Text for ok action on notification of upcoming profile expiration + The title of the notification action to acknowledge a device alert */ +"OK" = "OK"; + +/* Notification Setting Status is On */ +"On" = "Включено"; /* The title text for the override presets */ -"Override Presets" = "Перезапись настроек"; +"Override Presets" = "Пресеты временных целей"; /* The label of the pre-meal mode toggle button */ -"Pre-Meal Targets" = "Целевые значения до приема пищи"; +"Pre-Meal Targets" = "Целевые значения до еды"; /* Message when offering bolus recommendation even though bg is below range and minBG is in future. (1: glucose time)(2: glucose number) */ "Predicted glucose at %1$@ is %2$@." = "Предсказываемая гликемия в %1$@ -- %2$@"; +/* Notice when predicted glucose for bolus recommendation is in range */ +"Predicted glucose is in range." = "Прогнозируемый уровень глюкозы находится в диапазоне."; + +/* Notice message when recommending bolus when BG is below the glucose safety limit. (1: glucose value) */ +"Predicted glucose of %1$@ is below your glucose safety limit setting." = "Прогнозируемое значение глюкозы %1$@ ниже установленного вами предела безопасности глюкозы."; + /* Notice message when recommending bolus when BG is below the suspend threshold. (1: glucose value) */ "Predicted glucose of %1$@ is below your suspend threshold setting." = "Предсказываемая гликемия %1$@ ниже ваших настроек порога приостановки помпы"; /* Format string describing retrospective glucose prediction comparison. (1: Predicted glucose)(2: Actual glucose)(3: difference) */ "Predicted: %1$@\nActual: %2$@ (%3$@)" = "Прогноз: %1$@\nФакт: %2$@ (%3$@)"; +/* Preparing critical event log text */ +"Preparing Critical Event Logs" = "Подготовка логов критических событий"; + +/* Settings App Profile expiration view */ +"Profile Expiration" = "Истечение срока действия профиля"; + +/* Time that profile expires */ +"Profile expires " = "Срок действия профиля истекает"; + +/* The title for notification of upcoming profile expiration */ +"Profile Expires Soon" = "Скоро истечет срок действия профиля"; + /* The title of the pump section in settings */ "Pump" = "Помпа"; @@ -382,8 +822,14 @@ /* The error message when pump data is too old to be used. (1: pump data age in minutes) */ "Pump data is %1$@ old" = "Данные помпы от %1$@ "; +/* The title of the screen displaying a pump event */ +"Pump Event" = "Событие помпы"; + /* Details for configuration error when pump manager is missing */ -"Pump Manager" = "Управление помпой"; +"Pump Manager" = "Менеджер помпо"; + +/* The error message displayed for pump manager errors. (1: pump manager error) */ +"Pump Manager Error: %1$@" = "Ошибка менеджера помп: %1$@"; /* The notification title for an empty pump reservoir */ "Pump Reservoir Empty" = "Резервуар помпы пуст"; @@ -394,6 +840,12 @@ /* The title of the cell indicating the pump is suspended */ "Pump Suspended" = "Помпа приостановлена"; +/* The error message displayed for pumpSuspended errors. */ +"Pump Suspended. Automatic dosing is disabled." = "Помпа приостановлена. Авто болюсы и ВБС отключены."; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + /* Title of insulin model preset */ "Rapid-Acting – Adults" = "Боыстродействующий - взрослые"; @@ -406,9 +858,26 @@ /* The title of the cell displaying a recommended temp basal value */ "Recommended Basal" = "Рекомендуемый базал"; +/* Label for recommended bolus row on bolus screen + Label for recommended bolus row on simple bolus screen */ +"Recommended Bolus" = "Рекомендуемый болюс"; + +/* Title for bolus screen warning when recommended bolus exceeds max bolus */ +"Recommended Bolus Exceeds Maximum Bolus" = "Рекомендуемый болюс превышает максимальный болюс"; + /* Accessibility hint describing recommended bolus units */ "Recommended Bolus: %@ Units" = "Рекомендуемый болюс: %@ ед"; +/* The notification title for a remote bolus. (1: Bolus amount) + The notification title for a remote failure. (1: Bolus amount) */ +"Remote Bolus Entry: %@ U" = "Удаленный ввод болюса: %@ U"; + +/* The carb amount message for a remote carbs entry notification. (1: Carb amount in grams) */ +"Remote Carbs Entry: %d grams" = "Удаленный ввод углеводов: %d грамм"; + +/* The notification title for the remote command expiration error */ +"Remote Command Expired" = "Срок действия удаленной команды истек"; + /* Details for missing data error when reservoir data is missing */ "Reservoir" = "Резервуар"; @@ -418,51 +887,232 @@ /* The title of the notification action to retry a bolus command */ "Retry" = "Повторить попытку"; +/* Button text to save carbs and/or manual glucose entry and deliver a bolus */ +"Save and Deliver" = "Сохранить и подать болюс"; + +/* Button text to save carbs and/or manual glucose entry without a bolus */ +"Save without Bolusing" = "Сохранить без болюса"; + +/* Scheduled Delivery status text */ +"Scheduled" = "Запланировано"; + +/* List header for mute all alerts period */ +"Select Mute Period" = "Выберите период отключения звука"; + /* The title of the services section in settings */ "Services" = "Службы"; /* The label of the settings button */ "Settings" = "Настройки"; +/* The title of the cell indicating that onboarding is suspended */ +"Setup Incomplete" = "Настройка не завершена"; + /* Loop Completion HUD accessibility hint */ -"Shows last loop error" = "Показывает крайнюю ошибку помпы"; +"Shows last loop error" = "Показывает крайнюю ошибку петли"; + +/* Title of simple bolus view when not displaying meal entry */ +"Simple Bolus Calculator" = "Простой калькулятор болюса"; + +/* Title of simple bolus view when displaying meal entry */ +"Simple Meal Calculator" = "Простой калькулятор еды"; /* Format fragment for a start time */ "since %@" = "от %@"; +/* The title of the nightscout site URL credential */ +"Site URL" = "URL сайта"; + +/* Software update button link text */ +"Software Update" = "Обновление программного обеспечения"; + /* The format for the description of a temporary override start date */ "starting at %@" = "начало с %@"; /* The title of the cell indicating a bolus is being sent */ "Starting Bolus" = "Начинаю болюс"; +/* Section title for Support + Support screen title + The title of the support item in settings + The title of the support section in settings */ +"Support" = "Поддержка"; + /* The title text in settings */ "Suspend Threshold" = "Порог приостановки"; +/* Descriptive text for button to add CGM device */ +"Tap here to set up a CGM" = "Нажмите здесь, чтобы настроить CGM"; + +/* Descriptive text for button to add pump device */ +"Tap here to set up a pump" = "Нажмите здесь, чтобы настроить помпу"; + +/* The descriptive text of the add service button in settings */ +"Tap here to set up a Service" = "Нажмите здесь, чтобы настроить службу"; + +/* The subtitle of the cell displaying an action to add a manually measurement glucose value */ +"Tap to Add" = "Нажмите, чтобы добавить"; + /* The subtitle of the cell displaying an action to resume insulin delivery */ "Tap to Resume" = "Нажмите чтобы возобновить"; +/* Message presented in the status row instructing the user to tap this row to stop a bolus */ +"Tap to Stop" = "Нажмите, чтобы остановить"; + +/* The title of the cell indicating alerts are temporarily muted */ +"Temp Mute Alerts" = "Временное отключение звуковых оповещений"; + +/* Alert message for a bolus too small validation error */ +"The bolus amount entered is smaller than the minimum deliverable." = "Введенное количество болюса меньше минимально допустимого в помпе"; + +/* Forecast explanation modal on bolus view */ +"The bolus dosing algorithm uses a more conservative estimate of forecasted blood glucose than what is used to adjust your basal rate.\n\nAs a result, your forecasted blood glucose after a bolus may still be higher than your target range." = "Алгоритм авто болюса использует более консервативную оценку прогнозируемого уровня глюкозы в крови, чем та, которая используется для корректировки с помощью ВБС.\n\nВ результате прогнозируемый уровень глюкозы в крови после болюса может оказаться выше целевого диапазона."; + +/* Alert message for an updated bolus recommendation */ +"The bolus recommendation has updated. Please reconfirm the bolus amount." = "Рекомендация по болюсу была обновлена. Пожалуйста, подтвердите новое количество инсулина."; + /* Subtitle description of Walsh insulin model setting */ -"The legacy model used by Loop, allowing customization of action duration." = "Модель, используемая для цикла/контура, позволяет настройку длительности действия."; +"The legacy model used by Loop, allowing customization of action duration." = "Устаревшая модель, используемая Loop, позволяющая настраивать продолжительность действия."; + +/* Alert body displayed absorption time greater than max (1: maximum absorption time) */ +"The maximum absorption time is %@" = "Максимальная длительность усвоения %@"; + +/* Alert body displayed for quantity greater than max (1: maximum quantity in grams) */ +"The maximum allowed amount is %@ grams." = "Максимально допустимое количество составляет %@ грамм."; + +/* Warning for simple bolus when carbohydrate entry is too large. (1: maximum carbohydrate entry) */ +"The maximum amount allowed is %1$@." = "Максимально допустимая сумма составляет %1$@."; + +/* Alert message for a maximum bolus validation error (1: max bolus value) */ +"The maximum bolus amount is %@ U." = "Максимальный объем болюса составляет %@ ед."; /* Body of the alert describing a maximum bolus validation error. (1: The localized max bolus value) */ "The maximum bolus amount is %@ Units" = "максимальный болюс %@ ед"; +/* Alert message for a missing maximum bolus setting error */ +"The maximum bolus setting must be configured before a bolus can be delivered." = "Перед подачей болюса необходимо настроить максимальное значение болюса."; + +/* The notification body for a remote command expiration. (1: Expiration in minutes) */ +"The remote command expired %.0f minutes ago." = "Срок действия удаленной команды истек %.0f минут назад."; + +/* Title text for button to Therapy Settings */ +"Therapy Settings" = "Настройки терапии"; + +/* Title of the carb entry date picker cell */ +"Time" = "Время"; + +/* Time Sensitive Status text */ +"Time Sensitive Notifications" = "Уведомления, чувствительные к времени"; + +/* Critical event log export error alert try again button */ +"Try Again" = "Попробуйте еще раз"; + +/* Bluetooth off foreground alert body */ +"Turn on Bluetooth to receive alerts, alarms or sensor glucose readings." = "Включите Bluetooth для получения предупреждений, сигналов тревоги или показаний датчика глюкозы."; + /* The short unit display string for international units of insulin */ -"U" = "U"; +"U" = "Ед"; + +/* Title for alert shown when alert acknowledgement fails */ +"Unable To Clear Alert" = "Невозможно снять предупреждение"; + +/* Title for alert shown when delivery status is uncertain */ +"Unable To Reach Pump" = "Невозможно достучаться до помпы"; + +/* Alert title for a carb entry persistence error */ +"Unable to Save Carb Entry" = "Не удается сохранить запись углеводов"; + +/* Alert title for a manual glucose entry persistence error */ +"Unable to Save Manual Glucose Entry" = "Невозможно сохранить ручной ввод глюкозы"; + +/* The alert body for an error while canceling a bolus */ +"Unable to stop the bolus in progress. Move your iPhone closer to the pump and try again. Check your insulin delivery history for details, and monitor your glucose closely." = "Не удается остановить текущий болюс. Переместите свой iPhone ближе к помпе и попробуйте еще раз. Проверьте историю введения инсулина и внимательно следите за уровнем глюкозы."; + +/* Event title displayed when StoredPumpEvent.title is not set + The default description to use when an entry has no dose description */ +"Unknown" = "Неизвестно"; + +/* The error message displayed for unknown errors. (1: unknown error) */ +"Unknown Error: %1$@" = "Неизвестная ошибка: %1$@"; + +/* Unknown amount of time in settings' profile expiration section */ +"Unknown time" = "Неизвестное время"; /* The format for the description of a temporary override end date */ "until %@" = "до %@"; +/* The title of a target alert action specifying pre-meal targets duration for 1 hour or until the user enters carbs (whichever comes first). */ +"Until I enter carbs" = "Пока я не введу углеводы"; + +/* The title of a target alert action specifying workout targets duration until it is turned off by the user */ +"Until I turn off" = "Пока я не выключу"; + +/* The title of the alert controller used to select a duration for pre-meal targets */ +"Use Pre-Meal Preset" = "Использовать функцию до еды"; + /* The title of the alert controller used to select a duration for workout targets */ "Use Workout Glucose Targets" = "Применить цели гликемии как для физической нагрузки"; +/* The title of the alert controller used to select a duration for workout targets */ +"Use Workout Preset" = "Использовать пресет физнагрузки"; + /* Title of insulin model setting */ "Walsh" = "Walsh"; +/* Alert Permissions Need Attention alert title */ +"Warning! Safety notifications are turned OFF" = "Внимание! Уведомления о безопасности отключены"; + +/* Explanation of glucose safety limit */ +"When current or forecasted glucose is below the glucose safety limit, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Если текущий или прогнозируемый уровень глюкозы ниже безопасного предела глюкозы, Loop не будет рекомендовать болюс и всегда будет рекомендовать временную базальную скорость 0 единиц в час."; + /* Explanation of suspend threshold */ "When current or forecasted glucose is below the suspend threshold, Loop will not recommend a bolus, and will always recommend a temporary basal rate of 0 units per hour." = "Если текущая или предсказываемая гликемия ниже порога приостановки помпы, алгоритм цикла ипж не рекомендует болюс и всегда рекомендует временный базал 0 ед/час"; +/* No comment provided by engineer. */ +"When out of Closed Loop mode, the app uses a simplified bolus calculator like a typical pump." = "Когда приложение выходит из режима замкнутого цикла, оно использует упрощенный калькулятор болюса, как в обычной помпе."; + /* The label of the workout mode toggle button */ "Workout Targets" = "Целевые значения при физической нагрузке"; +/* Workout override still on reminder alert body. */ +"Workout Temp Adjust has been turned on for more than 24 hours. Make sure you still want it enabled, or turn it off in the app." = "Функция физнагрузки была включена более 24 часов. Убедитесь, что вы все еще хотите, чтобы она была включена, или выключите ее в приложении."; + +/* Workout override still on reminder alert title */ +"Workout Temp Adjust Still On" = "Физнагрузка все еще включена"; + +/* The title of the action used when confirming entered amount of carbohydrates. */ +"Yes" = "Да"; + +/* Format for Notifications permissions disabled alert body. (1: app name) */ +"You may not get sound, visual or vibration alerts regarding critical safety information.\n\nTo fix the issue, tap ‘Settings’ and make sure Notifications, Critical Alerts and Time Sensitive Notifications are turned ON." = "Вы можете не получать звуковые, визуальные или вибрационные предупреждения о важной информации по безопасности.\n\nЧтобы решить эту проблему, нажмите \"Настройки\" и убедитесь, что уведомления, критические предупреждения и уведомления с учетом времени включены."; + +/* Time change alert body. (1: app name) */ +"Your %1$@’s time has been changed. %2$@ needs accurate time records to make predictions about your glucose and adjust your insulin accordingly.\n\nCheck in your %1$@ Settings (General / Date & Time) and verify that 'Set Automatically' is turned ON. Failure to resolve could lead to serious under-delivery or over-delivery of insulin." = "Время вашего %1$@ было изменено. %2$@ нуждается в точном учете времени, чтобы делать прогнозы уровня глюкозы и соответствующим образом корректировать инсулин.\n\nПроверьте настройки %1$@ (Общие / Дата и время) и убедитесь, что опция \"Устанавливать автоматически\" включена. Невыполнение этого требования может привести к серьезному дефициту или избытку инсулина."; + +/* Format string for simple bolus screen warning when glucose is below glucose warning limit. */ +"Your glucose is below %1$@. Are you sure you want to bolus?" = "Ваш уровень глюкозы ниже %1$@. Вы уверены, что хотите ввести болюс?"; + +/* Caption for bolus screen notice when no bolus is recommended due to prediction dropping below glucose safety limit */ +"Your glucose is below or predicted to go below your glucose safety limit, %@." = "Ваш уровень глюкозы ниже или прогнозируется, что он будет ниже безопасного предела глюкозы, %@."; + +/* Format string for bolus screen warning when no bolus is recommended due input value below glucose safety limit. (1: suspendThreshold) */ +"Your glucose is below your glucose safety limit, %1$@." = "Ваш уровень глюкозы ниже безопасного предела глюкозы, %1$@."; + +/* Format string for meal bolus screen warning when no bolus is recommended due to glucose input value below recommendation threshold */ +"Your glucose is low. Eat carbs and consider waiting to bolus until your glucose is in a safe range." = "У вас низкий уровень глюкозы. Ешьте углеводы и подумайте о том, чтобы подождать с болюсом, пока уровень глюкозы не достигнет безопасного диапазона."; + +/* Bolus screen warning when no bolus is recommended due to glucose input value below recommendation threshold for meal bolus */ +"Your glucose is low. Eat carbs and monitor closely." = "У вас низкий уровень глюкозы. Съешьте углеводы и внимательно следите за состоянием здоровья."; + +/* Warning for simple bolus when max bolus is exceeded. (1: maximum bolus) */ +"Your maximum bolus amount is %1$@." = "Ваш максимальный объем болюса составляет %1$@."; + +/* Caption for bolus screen notice when pump data is missing or stale */ +"Your pump data is stale. %1$@ cannot recommend a bolus amount." = "Данные вашей помпы устарели. %1$@ не может рекомендовать количество инсулина."; + +/* The description text for the looping enabled switch cell when closed loop is not allowed because the pump is delivering a manual temp basal. */ +"Your pump is delivering a manual temporary basal rate." = "Ваша помпа вводит ВБС вручную."; + +/* Warning for simple bolus when recommended bolus exceeds max bolus. (1: maximum bolus) */ +"Your recommended bolus exceeds your maximum bolus amount of %1$@." = "Рекомендуемый вами объем болюса превышает лимит подачи болюса %1$@."; + diff --git a/Loop/ru.lproj/Main.strings b/Loop/ru.lproj/Main.strings index fc2b085bbc..b2fcbdd7ea 100644 --- a/Loop/ru.lproj/Main.strings +++ b/Loop/ru.lproj/Main.strings @@ -1,3 +1,6 @@ +/* Class = "UILabel"; text = "g"; ObjectID = "0RV-d5-muE"; */ +"0RV-d5-muE.text" = "г"; + /* Class = "UINavigationItem"; title = "Status"; ObjectID = "3kU-n2-fha"; */ "3kU-n2-fha.title" = "Состояние"; @@ -8,7 +11,10 @@ "87H-N1-0vJ.text" = "Предсказываемый"; /* Class = "UILabel"; text = "Detail"; ObjectID = "aCb-Qs-bpu"; */ -"aCb-Qs-bpu.text" = "Детали"; +"aCb-Qs-bpu.text" = "Подробнее"; + +/* Class = "UILabel"; text = "Food Type"; ObjectID = "ap1-M6-naG"; */ +"ap1-M6-naG.text" = "Тип еды"; /* Class = "UILabel"; text = "Label"; ObjectID = "bIL-Ub-qYp"; */ "bIL-Ub-qYp.text" = "Пометка"; @@ -31,6 +37,12 @@ /* Class = "UILabel"; text = "Observed"; ObjectID = "EAn-Ja-S1d"; */ "EAn-Ja-S1d.text" = "Наблюдается"; +/* Class = "UIButton"; normalTitle = "🍭"; ObjectID = "Fal-Vf-lfh"; */ +"Fal-Vf-lfh.normalTitle" = "🍭"; + +/* Class = "UILabel"; text = "3.5 U/hour @ 12:12 PM"; ObjectID = "fWV-jg-ICt"; */ +"fWV-jg-ICt.text" = "3,5 ед./час @ 12:12 PM"; + /* Class = "UITableViewController"; title = "Carbohydrate Effects"; ObjectID = "hZZ-2S-lrd"; */ "hZZ-2S-lrd.title" = "Действие углеводов"; @@ -38,7 +50,7 @@ "IxU-As-glo.text" = "Наблюдаются изменения СК, вычитаются изменения смоделированные на подаваемом инсулине, могут использоваться для оценки усвоения углеводов"; /* Class = "UILabel"; text = "Detail"; ObjectID = "J7x-W5-gwo"; */ -"J7x-W5-gwo.text" = "Детали"; +"J7x-W5-gwo.text" = "Подробнее"; /* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "k3F-Na-7mn"; */ "k3F-Na-7mn.text" = "Рекомендуемый базал"; @@ -52,21 +64,45 @@ /* Class = "UITableViewController"; title = "Predicted Glucose"; ObjectID = "PA3-sP-cWY"; */ "PA3-sP-cWY.title" = "Предсказываемый СК"; +/* Class = "UIButton"; normalTitle = "🍽"; ObjectID = "Qe9-uc-vPR"; */ +"Qe9-uc-vPR.normalTitle" = "🍽"; + +/* Class = "UIButton"; normalTitle = "🌮"; ObjectID = "QhO-Yi-AqQ"; */ +"QhO-Yi-AqQ.normalTitle" = "🌮"; + +/* Class = "UILabel"; text = "Food Type"; ObjectID = "qPH-vU-xlu"; */ +"qPH-vU-xlu.text" = "Тип еды"; + /* Class = "UILabel"; text = "eventually 92 mg/dL"; ObjectID = "Rse-x8-amW"; */ "Rse-x8-amW.text" = "в конечном итоге 92 мг/дл"; /* Class = "UILabel"; text = "g Active Carbs"; ObjectID = "SQx-au-ZcM"; */ -"SQx-au-ZcM.text" = "г COB"; +"SQx-au-ZcM.text" = "г активных углеводов"; /* Class = "UILabel"; text = "Glucose"; ObjectID = "tuw-av-A3x"; */ "tuw-av-A3x.text" = "Гликемия"; +/* Class = "UINavigationItem"; title = "Add/Edit Carb Entry"; ObjectID = "Tz7-80-bJ7"; */ +"Tz7-80-bJ7.title" = "Добавить/редактировать запись об углеводах"; + /* Class = "UILabel"; text = "Label"; ObjectID = "ufi-Kj-33k"; */ "ufi-Kj-33k.text" = "Пометка"; /* Class = "UINavigationItem"; title = "Carbohydrates"; ObjectID = "Vpi-5b-bY5"; */ "Vpi-5b-bY5.title" = "Углеводы"; +/* Class = "UILabel"; text = "Amount Consumed"; ObjectID = "Wx8-Tf-FnG"; */ +"Wx8-Tf-FnG.text" = "Потребляемое количество"; + +/* Class = "UILabel"; text = "Recommended Basal"; ObjectID = "xhx-PI-bBI"; */ +"xhx-PI-bBI.text" = "Рекомендуемый базал"; + +/* Class = "UIButton"; normalTitle = "🍕"; ObjectID = "xl9-Wc-Pdu"; */ +"xl9-Wc-Pdu.normalTitle" = "🍕"; + +/* Class = "UITextField"; placeholder = "0"; ObjectID = "Yf6-fw-Gex"; */ +"Yf6-fw-Gex.placeholder" = "0"; + /* Class = "UILabel"; text = "0"; ObjectID = "yn7-2M-jZz"; */ "yn7-2M-jZz.text" = "0"; diff --git a/Loop/sv.lproj/Localizable.strings b/Loop/sv.lproj/Localizable.strings index d9c4e62cb1..d76fd4ead2 100644 --- a/Loop/sv.lproj/Localizable.strings +++ b/Loop/sv.lproj/Localizable.strings @@ -807,6 +807,3 @@ /* Format string for bolus screen warning when no bolus is recommended due input value below glucose safety limit. (1: suspendThreshold) */ "Your glucose is below your glucose safety limit, %1$@." = "Ditt blodsocker är lägre än ditt tröskelvärde, %1$@."; -/* Warning to ensure the carb entry is accurate */ -"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." = "Din blodglukos stiger snabbt. Kontrollera att alla kolhydrater du ätit har loggats. Om du lagt in kolhydrater, kontrollera att tiden du angav stämmer överens med när du faktiskt började äta."; - diff --git a/Loop/tr.lproj/Localizable.strings b/Loop/tr.lproj/Localizable.strings index cd985c1835..c9148469b4 100644 --- a/Loop/tr.lproj/Localizable.strings +++ b/Loop/tr.lproj/Localizable.strings @@ -4,6 +4,9 @@ /* Status row title for premeal override enabled (leading space is to separate from symbol) */ " Pre-meal Preset" = "Yemek-Öncesi Ön Ayarı"; +/* remaining time in setting's profile expiration section */ +" remaining" = "kalan"; + /* Warning text for when Notifications or Critical Alerts Permissions is disabled */ " Safety Notifications are OFF" = "Güvenlik Bildirimleri KAPALI"; @@ -198,6 +201,9 @@ /* The title of the nightscout API secret credential */ "API Secret" = "API Secret"; +/* Settings app profile section */ +"App Profile" = "Uygulama Profili"; + /* Action sheet confirmation message for pump history deletion */ "Are you sure you want to delete all history entries?" = "Tüm geçmiş girişlerini silmek istediğinizden emin misiniz?"; @@ -495,9 +501,6 @@ /* The title of the alert describing a maximum bolus validation error */ "Exceeds Maximum Bolus" = "Maksimum Bolusu Aşıyor"; -/* Remote command error description: expired. */ -"Expired" = "Süresi doldu"; - /* The title of the export critical event logs in support */ "Export Critical Event Logs" = "Kritik Olay Günlüklerini Dışa Aktarma"; @@ -550,6 +553,9 @@ /* Details for configuration error when glucose target range schedule is missing */ "Glucose Target Range Schedule" = "KŞ Hedef Aralığı Programı"; +/* The title text for how to update */ +"How to update (LoopDocs)" = "Nasıl güncellenir (LoopDocs)"; + /* Immediate Delivery status text */ "Immediate" = "Acilen"; @@ -609,9 +615,6 @@ /* The error message when glucose data is in the future. (1: glucose data time in future in minutes) */ "Invalid glucose reading with a timestamp that is %1$@ in the future" = "Gelecekte %1$@ olan bir zaman damgasıyla geçersiz KŞ okuması"; -/* Remote command error description: invalid OTP. */ -"Invalid OTP" = "Geçersiz OTP"; - /* The title text for the issue report cell */ "Issue Report" = "Sorun Raporu"; @@ -798,6 +801,12 @@ /* Preparing critical event log text */ "Preparing Critical Event Logs" = "Kritik Olay Günlüklerinin Hazırlanması"; +/* Settings App Profile expiration view */ +"Profile Expiration" = "Profil Sona Erme"; + +/* Time that profile expires */ +"Profile expires " = "Profilin süresi doluyor"; + /* The title for notification of upcoming profile expiration */ "Profile Expires Soon" = "Profil Yakında Sona Eriyor"; @@ -1089,9 +1098,6 @@ /* Bolus screen warning when no bolus is recommended due to glucose input value below recommendation threshold for meal bolus */ "Your glucose is low. Eat carbs and monitor closely." = "KŞ düşük. Karbonhidrat yiyin ve yakından izleyin."; -/* Warning to ensure the carb entry is accurate */ -"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." = "KŞ hızla yükseliyor. Yediğiniz karbonhidratların kaydedilip kaydedilmediğini kontrol edin. Karbonhidratları kaydettiyseniz, girdiğiniz zamanın yemeye başladığınız zamanla aynı olup olmadığını kontrol edin."; - /* Warning for simple bolus when max bolus is exceeded. (1: maximum bolus) */ "Your maximum bolus amount is %1$@." = "Maksimum bolus miktarınız %1$@ ."; diff --git a/LoopCore/ru.lproj/Localizable.strings b/LoopCore/ru.lproj/Localizable.strings new file mode 100644 index 0000000000..cc71e5f763 --- /dev/null +++ b/LoopCore/ru.lproj/Localizable.strings @@ -0,0 +1,9 @@ +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ против %2$@"; + +/* Title string for automatic bolus dosing strategy */ +"Automatic Bolus" = "Автоматические болюсы"; + +/* Title string for temp basal only dosing strategy */ +"Temp Basal Only" = "Только ВБС (без автоболюсов)"; + diff --git a/LoopUI/nl.lproj/Localizable.strings b/LoopUI/nl.lproj/Localizable.strings index b6192603fb..c806ba96ac 100644 --- a/LoopUI/nl.lproj/Localizable.strings +++ b/LoopUI/nl.lproj/Localizable.strings @@ -2,10 +2,10 @@ "\n%1$@\n\n%2$@ is operating with Closed Loop in the ON position." = "\n%1$@\n\n%2$@ werkt met Gesloten Loop in de AAN stand"; /* Red loop message (1: last loop string) (2: app name) */ -"\n%1$@\n\nTap your CGM and insulin pump status icons for more information. %2$@ will continue trying to complete a loop, but check for potential communication issues with your pump and CGM." = "\n%1$@\n\nTik op je CGM- en insulinepompstatuspictogrammen voor meer informatie. %2$@ blijft proberen een loop te voltooien, maar let op mogelijke communicatieproblemen met je pomp en CGM."; +"\n%1$@\n\nTap your CGM and insulin pump status icons for more information. %2$@ will continue trying to complete a loop, but check for potential communication issues with your pump and CGM." = "\n%1$@\n\nTik op je CGM- en insulinepompstatuspictogram voor meer informatie. %2$@ blijft proberen een loop te voltooien, maar let op mogelijke communicatieproblemen met je pomp en CGM."; /* Yellow loop message (1: last loop string) (2: app name) */ -"\n%1$@\n\nTap your CGM and insulin pump status icons for more information. %2$@ will continue trying to complete a loop, but watch for potential communication issues with your pump and CGM." = "\n%1$@\n\nTik op je CGM- en insulinepompstatuspictogrammen voor meer informatie. %2$@ blijft proberen een loop te voltooien, maar let op mogelijke communicatieproblemen met je pomp en CGM."; +"\n%1$@\n\nTap your CGM and insulin pump status icons for more information. %2$@ will continue trying to complete a loop, but watch for potential communication issues with your pump and CGM." = "\n%1$@\n\nTik op je CGM- en insulinepompstatuspictogram voor meer informatie. %2$@ blijft proberen een loop te voltooien, maar let op mogelijke communicatieproblemen met je pomp en CGM."; /* Green closed loop OFF message (1: app name)(2: reason for open loop) */ "\n%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.\n\n%2$@" = "\n%1$@ werkt met Gesloten Loop in de UIT stand. Je pomp en CGM blijven werken, maar de app past de dosering niet automatisch aan.\n\n%2$@"; diff --git a/LoopUI/ro.lproj/Localizable.strings b/LoopUI/ro.lproj/Localizable.strings index d37937086e..3ac7d754a6 100644 --- a/LoopUI/ro.lproj/Localizable.strings +++ b/LoopUI/ro.lproj/Localizable.strings @@ -1,3 +1,15 @@ +/* Green closed loop ON message (1: last loop string) (2: app name) */ +"\n%1$@\n\n%2$@ is operating with Closed Loop in the ON position." = "\n%1$@\n\n %2$@ operează cu bucla închisă în poziția ON."; + +/* Red loop message (1: last loop string) (2: app name) */ +"\n%1$@\n\nTap your CGM and insulin pump status icons for more information. %2$@ will continue trying to complete a loop, but check for potential communication issues with your pump and CGM." = "\n%1$@\n\nAtingeți pictogramele de stare ale CGM și ale pompei de insulină pentru mai multe informații. %2$@ va continua să încerce să finalizeze o buclă, dar verificați eventualele probleme de comunicare cu pompa și CGM-ul dvs."; + +/* Yellow loop message (1: last loop string) (2: app name) */ +"\n%1$@\n\nTap your CGM and insulin pump status icons for more information. %2$@ will continue trying to complete a loop, but watch for potential communication issues with your pump and CGM." = "\n%1$@\n\n Atingeți pictogramele de stare pentru CGM și pompa de insulină pentru mai multe informații. %2$@ va continua să încerce să finalizeze o buclă, dar urmăriți eventualele probleme de comunicare cu pompa și CGM."; + +/* Green closed loop OFF message (1: app name)(2: reason for open loop) */ +"\n%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.\n\n%2$@" = "\n%1$@ operează cu bucla închisă în poziția OFF. Pompa și CGM vor continua să funcționeze, dar aplicația nu va ajusta automat dozarea. \n\n %2$@"; + /* No glucose value representation (3 dashes for mg/dL) */ "– – –" = "– – –"; @@ -7,6 +19,12 @@ /* The format string describing the basal rate. */ "%@ U" = "%@ U"; +/* Format string describing last completion. (1: time ago */ +"%1$@ ago" = "%@ în urmă"; + +/* Format string describing last completion. (1: time ago, (2: the date */ +"%1$@ ago at %2$@" = "Acum %1$@ la %2$@"; + /* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ "%1$@ at %2$@" = "%1$@ la %2$@"; @@ -19,6 +37,9 @@ /* Format string describing glucose units per minute (1: glucose unit string) */ "%1$@/min" = "%1$@/min"; +/* Format string describing last completion */ +"<1 min ago" = "< 1 min în urmă"; + /* Accessibility hint describing completion HUD for a closed loop */ "Closed loop" = "Loop automat"; @@ -37,12 +58,18 @@ /* String displayed instead of a glucose value above the CGM range */ "HIGH" = "HIPER"; +/* Last loop time completed message (1: last loop time string) */ +"Last completed loop %1$@." = "Ultima buclă finalizată %1$@ ."; + /* Title of red loop message */ "Loop Failure" = "Eșec Loop"; /* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ "Loop ran %@ ago" = "Loop a rulat acum %@"; +/* Title of yellow loop message */ +"Loop Warning" = "Avertizare Loop"; + /* String displayed instead of a glucose value below the CGM range */ "LOW" = "HIPO"; @@ -61,6 +88,9 @@ /* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ "QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; +/* Instructions for user to close loop if it is allowed. */ +"Tap Settings to toggle Closed Loop ON if you wish for the app to automate your insulin." = "Atingeți Setări pentru a activa bucla închisă dacă doriți ca aplicația să vă automatizeze administrarea de insulină."; + /* The short unit display string for international units of insulin */ "U" = "U"; @@ -70,3 +100,6 @@ /* Acessibility label describing completion HUD waiting for first run */ "Waiting for first run" = "Se așteaptă prima rulare"; +/* Format string describing last completion. (1: the date */ +"was at %1$@" = "a fost la %1$@"; + diff --git a/LoopUI/ru.lproj/InfoPlist.strings b/LoopUI/ru.lproj/InfoPlist.strings new file mode 100644 index 0000000000..7ea4161973 --- /dev/null +++ b/LoopUI/ru.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "LoopUI"; + diff --git a/LoopUI/ru.lproj/Localizable.strings b/LoopUI/ru.lproj/Localizable.strings index 0d5c9a60c6..16b80ea686 100644 --- a/LoopUI/ru.lproj/Localizable.strings +++ b/LoopUI/ru.lproj/Localizable.strings @@ -1,33 +1,105 @@ +/* Green closed loop ON message (1: last loop string) (2: app name) */ +"\n%1$@\n\n%2$@ is operating with Closed Loop in the ON position." = "\n%1$@\n\n%2$@ работает с замкнутым циклом в положении ON."; + +/* Red loop message (1: last loop string) (2: app name) */ +"\n%1$@\n\nTap your CGM and insulin pump status icons for more information. %2$@ will continue trying to complete a loop, but check for potential communication issues with your pump and CGM." = "\n%1$@\n\nДля получения дополнительной информации коснитесь значков состояния мониторинга и инсулиновой помпы. %2$@ будет продолжать попытки завершить цикл, но следите за возможными проблемами связи с вашей помпой и мониторингом."; + +/* Yellow loop message (1: last loop string) (2: app name) */ +"\n%1$@\n\nTap your CGM and insulin pump status icons for more information. %2$@ will continue trying to complete a loop, but watch for potential communication issues with your pump and CGM." = "\n%1$@\n\nДля получения дополнительной информации коснитесь значков состояния мониторинга и инсулиновой помпы. %2$@ будет продолжать попытки завершить цикл, но следите за возможными проблемами связи с вашей помпой и мониторингом."; + +/* Green closed loop OFF message (1: app name)(2: reason for open loop) */ +"\n%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.\n\n%2$@" = "\n%1$@ работает с замкнутым контуром в положении ВЫКЛ. Ваша помпа и мониторинг будут продолжать работать, но приложение не будет автоматически регулировать дозировку.\n\n%2$@"; + +/* No glucose value representation (3 dashes for mg/dL) */ +"– – –" = "– – –"; + /* Format string describing the time interval since the last completion date. (1: The localized date components */ "%@ ago" = "%@ назад"; /* The format string describing the basal rate. */ "%@ U" = "%@ ед"; +/* Format string describing last completion. (1: time ago */ +"%1$@ ago" = "%1$@ назад"; + +/* Format string describing last completion. (1: time ago, (2: the date */ +"%1$@ ago at %2$@" = "%1$@ назад в %2$@"; + /* Accessbility format value describing glucose: (1: glucose number)(2: glucose time) */ "%1$@ at %2$@" = "%1$@ в %2$@ "; /* Accessibility format string describing the basal rate. (1: localized basal rate value)(2: last updated time) */ "%1$@ units per hour at %2$@" = "%1$@ ед/час в %2$@"; +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ против %2$@"; + /* Format string describing glucose units per minute (1: glucose unit string) */ "%1$@/min" = "%1$@/минут"; +/* Format string describing last completion */ +"<1 min ago" = "<1 мин. назад"; + /* Accessibility hint describing completion HUD for a closed loop */ "Closed loop" = "Алгоритм замкнутого цикла"; +/* Title of green open loop OFF message */ +"Closed Loop OFF" = "Замкнутый контур ВЫКЛ"; + +/* Title of green closed loop ON message */ +"Closed Loop ON" = "Замкнутый контур ВКЛ"; + +/* The short unit display string for decibles */ +"dB" = "дБ"; + +/* The short unit display string for grams */ +"g" = "г"; + +/* String displayed instead of a glucose value above the CGM range */ +"HIGH" = "ВЫСОКИЙ"; + +/* Last loop time completed message (1: last loop time string) */ +"Last completed loop %1$@." = "Последняя завершенная петля %1$@."; + +/* Title of red loop message */ +"Loop Failure" = "Ошибка в работе петли"; + /* Accessbility format label describing the time interval since the last completion date. (1: The localized date components) */ "Loop ran %@ ago" = "Алгоритм цикла запущен %@ назад"; +/* Title of yellow loop message */ +"Loop Warning" = "Предупреждение о петле"; + +/* String displayed instead of a glucose value below the CGM range */ +"LOW" = "НИЗКИЙ"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "мг/дл"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + /* Accessibility label component for glucose HUD describing an invalid state */ "Needs attention" = "Требует внимания"; /* Accessbility hint describing completion HUD for an open loop */ "Open loop" = "Алгоритм открытого цикла"; +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* Instructions for user to close loop if it is allowed. */ +"Tap Settings to toggle Closed Loop ON if you wish for the app to automate your insulin." = "Нажмите \"Настройки\", чтобы включить \"Замкнутый цикл\", если вы хотите, чтобы приложение автоматизировало подачу инсулина."; + +/* The short unit display string for international units of insulin */ +"U" = "Ед"; + /* Accessibility value for an unknown value */ "Unknown" = "Неизвестно"; /* Acessibility label describing completion HUD waiting for first run */ "Waiting for first run" = "Ожидает первичного запуска"; +/* Format string describing last completion. (1: the date */ +"was at %1$@" = "был в %1$@"; + diff --git a/StatusWidget/pl.lproj/Localizable.strings b/StatusWidget/pl.lproj/Localizable.strings index aabd54866a..145a800bde 100644 --- a/StatusWidget/pl.lproj/Localizable.strings +++ b/StatusWidget/pl.lproj/Localizable.strings @@ -19,6 +19,9 @@ /* The short unit display string for decibles */ "dB" = "dB"; +/* No comment provided by engineer. */ +"Eventual" = "Możliwy"; + /* The short unit display string for grams */ "g" = "g"; diff --git a/StatusWidget/ro.lproj/InfoPlist.strings b/StatusWidget/ro.lproj/InfoPlist.strings new file mode 100644 index 0000000000..15494bcee9 --- /dev/null +++ b/StatusWidget/ro.lproj/InfoPlist.strings @@ -0,0 +1,9 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "SmallStatusWidget"; + +/* Bundle name */ +"CFBundleName" = "SmallStatusWidgetExtension"; + +/* Copyright (human-readable) */ +"NSHumanReadableCopyright" = "Copyright © 2022 Autori LoopKit. Toate drepturile rezervate."; + diff --git a/StatusWidget/ro.lproj/Localizable.strings b/StatusWidget/ro.lproj/Localizable.strings new file mode 100644 index 0000000000..55292e65db --- /dev/null +++ b/StatusWidget/ro.lproj/Localizable.strings @@ -0,0 +1,45 @@ +/* No comment provided by engineer. */ +"---" = "---"; + +/* No comment provided by engineer. */ +"-U" = "-U"; + +/* No comment provided by engineer. */ +"??" = "??"; + +/* No comment provided by engineer. */ +"%@" = "%@"; + +/* No comment provided by engineer. */ +"%@ U" = "%@ U"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ v%2$@"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + +/* No comment provided by engineer. */ +"Eventual" = "Eventual"; + +/* The short unit display string for grams */ +"g" = "g"; + +/* No comment provided by engineer. */ +"Loop Status Widget" = "Extensie stare Loop"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "mg/dL"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "mmol/L"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@%2$@"; + +/* No comment provided by engineer. */ +"See your current blood glucose and insulin delivery." = "Vedeți nivelul actual al glicemiei și al administrării de insulină."; + +/* The short unit display string for international units of insulin */ +"U" = "U"; + diff --git a/StatusWidget/ru.lproj/InfoPlist.strings b/StatusWidget/ru.lproj/InfoPlist.strings new file mode 100644 index 0000000000..34760b8f57 --- /dev/null +++ b/StatusWidget/ru.lproj/InfoPlist.strings @@ -0,0 +1,9 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "SmallStatusWidget"; + +/* Bundle name */ +"CFBundleName" = "SmallStatusWidgetExtension"; + +/* Copyright (human-readable) */ +"NSHumanReadableCopyright" = "Copyright © 2022 LoopKit Authors. Все права защищены."; + diff --git a/StatusWidget/ru.lproj/Localizable.strings b/StatusWidget/ru.lproj/Localizable.strings new file mode 100644 index 0000000000..3769166a88 --- /dev/null +++ b/StatusWidget/ru.lproj/Localizable.strings @@ -0,0 +1,45 @@ +/* No comment provided by engineer. */ +"---" = "---"; + +/* No comment provided by engineer. */ +"-U" = "-Ед"; + +/* No comment provided by engineer. */ +"??" = "??"; + +/* No comment provided by engineer. */ +"%@" = "%@"; + +/* No comment provided by engineer. */ +"%@ U" = "%@ ед"; + +/* The format string for the app name and version number. (1: bundle name)(2: bundle version) */ +"%1$@ v%2$@" = "%1$@ против %2$@"; + +/* The short unit display string for decibles */ +"dB" = "дБ"; + +/* No comment provided by engineer. */ +"Eventual" = "В конечном итоге"; + +/* The short unit display string for grams */ +"g" = "г"; + +/* No comment provided by engineer. */ +"Loop Status Widget" = "Виджет состояния петли"; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "мг/дл"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; + +/* No comment provided by engineer. */ +"See your current blood glucose and insulin delivery." = "Смотрите текущий уровень глюкозы в крови и ввод инсулина."; + +/* The short unit display string for international units of insulin */ +"U" = "Ед"; + diff --git a/WatchApp Extension/nl.lproj/Localizable.strings b/WatchApp Extension/nl.lproj/Localizable.strings index 2fa6f141d8..30e1d37772 100644 --- a/WatchApp Extension/nl.lproj/Localizable.strings +++ b/WatchApp Extension/nl.lproj/Localizable.strings @@ -35,7 +35,7 @@ "dB" = "dB"; /* The action button title to dismiss an error message */ -"Dismiss" = "Afwijzen"; +"Dismiss" = "Sluiten"; /* Short unit label for gram measurement The short unit display string for grams */ diff --git a/WatchApp Extension/ro.lproj/InfoPlist.strings b/WatchApp Extension/ro.lproj/InfoPlist.strings index eed22afa6b..8a41547138 100644 --- a/WatchApp Extension/ro.lproj/InfoPlist.strings +++ b/WatchApp Extension/ro.lproj/InfoPlist.strings @@ -4,3 +4,9 @@ /* Bundle name */ "CFBundleName" = "Extensie WatchApp"; +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "Datele mesei din baza de date din aplicația Sănătate sunt folosite pentru a determina efectele glicemice. Datele despre glicemie din baza de date Sănătate sunt folosite pentru construirea graficelor și calcularea influențelor glicemice. Datele de somn din baza de date Sănătate sunt folosite pentru a optimiza livrarea de actualizări de date pentru ceasul Apple pe perioada când sunteți treaz."; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "Carbohidrații introduși în aplicație și pe ceas sunt stocați în baza de date Sănătate. Glicemiile din GCM sunt stocate în siguranță în HealthKit."; + diff --git a/WatchApp Extension/ro.lproj/ckcomplication.strings b/WatchApp Extension/ro.lproj/ckcomplication.strings new file mode 100644 index 0000000000..5b1e3674cc --- /dev/null +++ b/WatchApp Extension/ro.lproj/ckcomplication.strings @@ -0,0 +1,12 @@ +/* The complication template example time string */ +"3MIN" = "3MIN"; + +/* The complication template example glucose string */ +"120" = "120"; + +/* The complication template example glucose and trend string */ +"120↘︎" = "120↘︎"; + +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "%@ %@ %@"; + diff --git a/WatchApp Extension/ru.lproj/InfoPlist.strings b/WatchApp Extension/ru.lproj/InfoPlist.strings new file mode 100644 index 0000000000..e21f47fdc1 --- /dev/null +++ b/WatchApp Extension/ru.lproj/InfoPlist.strings @@ -0,0 +1,12 @@ +/* Bundle display name */ +"CFBundleDisplayName" = "Расширение WatchApp"; + +/* Bundle name */ +"CFBundleName" = "Расширение WatchApp"; + +/* Privacy - Health Share Usage Description */ +"NSHealthShareUsageDescription" = "Данные о приеме пищи из базы данных Health используются для определения влияния глюкозы. Данные о глюкозе из базы данных Health используются для построения графиков и расчетов. Данные о сне из базы данных Health используются для оптимизации доставки обновлений усложнений Apple Watch во время вашего бодрствования."; + +/* Privacy - Health Update Usage Description */ +"NSHealthUpdateUsageDescription" = "Данные об углеводах в приложении и на смарт-часах хранятся в базе данных Здоровье. Данные о гликемии полученные от систем непрерывного мониторинга хранятся в безопасности в Комплексе Здоровья HealthKit "; + diff --git a/WatchApp Extension/ru.lproj/Localizable.strings b/WatchApp Extension/ru.lproj/Localizable.strings index 0dfa7d4169..d557e30a6f 100644 --- a/WatchApp Extension/ru.lproj/Localizable.strings +++ b/WatchApp Extension/ru.lproj/Localizable.strings @@ -1,3 +1,15 @@ +/* No glucose value representation (3 dashes for mg/dL; no spaces as this will get truncated in the watch complication) */ +"---" = "---"; + +/* No glucose value representation (3 dashes for mg/dL) */ +"– – –" = "– – –"; + +/* No comment provided by engineer. */ +"%@" = "%@"; + +/* Format string for glucose range (1: lower bound)(2: upper bound)(3: unit) */ +"%1$@ – %2$@ %3$@" = "%1$@ – %2$@ %3$@"; + /* HUD row title for COB */ "Active Carbs" = "Активные углеводы"; @@ -7,36 +19,104 @@ /* Title of the user activity for adding carbs */ "Add Carb Entry" = "Добавить запись углеводов"; +/* Button text to confirm manual bolus on Apple Watch */ +"Bolus" = "Болюс"; + /* The title of the alert controller displayed after a bolus attempt fails */ "Bolus Failed" = "Болюс не состоялся"; +/* Alert title for updated bolus recommendation on Apple Watch */ +"Bolus Recommendation Updated" = "Рекомендации по болюсу обновлены"; + +/* Button text to continue from carb entry to bolus entry on Apple Watch */ +"Continue" = "Продолжить"; + +/* The short unit display string for decibles */ +"dB" = "dB"; + /* The action button title to dismiss an error message */ "Dismiss" = "Пропустить"; +/* Short unit label for gram measurement + The short unit display string for grams */ +"g" = "г"; + /* The recovery message displayed after a bolus attempt fails The recovery message displayed after a carb entry send attempt fails The recovery message displayed after a glucose range override send attempt fails */ "Make sure your iPhone is nearby and try again" = "Убедитесь, что ваш iPhone поблизости и повторите попытку"; +/* The recovery message displayed after a bolus attempt fails + The recovery message displayed after a potential carb entry send attempt fails */ +"Make sure your iPhone is nearby and try again." = "Убедитесь, что ваш iPhone находится поблизости, и повторите попытку."; + +/* The short unit display string for milligrams of glucose per decilter */ +"mg/dL" = "мг/дл"; + +/* The short unit display string for millimoles of glucose per liter */ +"mmol/L" = "ммоль/л"; + /* HUD row title for Net Basal Rate */ -"Net Basal Rate" = "Нетто скорость базала"; +"Net Basal Rate" = "Чистая базальная доза"; + +/* Label for off button */ +"Off" = "Выключено"; + +/* No comment provided by engineer. */ +"OK" = "OK"; + +/* Label for on button */ +"On" = "Включено"; /* The text for the Watch button for enabling a temporary override */ -"Override" = "Перезаписать"; +"Override" = "Включить"; + +/* Alert message for updated bolus recommendation on Apple Watch */ +"Please reconfirm the bolus amount." = "Пожалуйста, подтвердите болюс."; + +/* Title for sheet to enable/disable pre-meal on watch */ +"Pre-Meal" = "До еды"; + +/* The text for the Watch button for enabling a custom preset */ +"Preset" = "Пресеты"; + +/* Format string for combining localized numeric value and unit. (1: numeric value)(2: unit) */ +"QUANTITY_VALUE_AND_UNIT" = "%1$@ %2$@"; /* The label and value showing the recommended bolus */ "Rec: %@ U" = "Рекомендовано: %@ ед"; +/* Recommended bolus amount label on Apple Watch */ +"REC: %@ U" = "Рекомендовано: %@ ед"; + +/* Indicator that recommended bolus computation is in progress on Apple Watch */ +"REC: Calculating..." = "Рекомендовано: Расчет..."; + /* HUD row title for remaining reservoir volume */ -"Reservoir Volume" = "Остаток картриджа"; +"Reservoir Volume" = "Остаток резервуара"; + +/* Button text to confirm carb entry without bolusing on Apple Watch */ +"Save" = "Сохранить"; + +/* Button text to confirm carb entry and bolus on Apple Watch */ +"Save & Bolus" = "Сохранить и ввести болюс"; /* The title of the alert controller displayed after a carb entry send attempt fails The title of the alert controller displayed after a glucose range override send attempt fails */ "Send Failed" = "Ошибка отправки"; +/* Help text for bolus confirmation on Apple Watch */ +"Turn Digital Crown\nto bolus" = "Покрутите колесико\nдля болюса"; + +/* The short unit display string for international units of insulin */ +"U" = "Ед"; + /* The short unit display string for international units of insulin delivery per hour */ -"U/hr" = "Ед./ч."; +"U/hr" = "Ед/ч"; + +/* The title of the alert controller displayed after a potential carb entry send attempt fails */ +"Unable to Reach iPhone" = "Не удается подключиться к iPhone"; /* The text for the Watch button for enabling workout mode */ -"Workout" = "Нагрузка"; +"Workout" = "Физическая нагрузка"; diff --git a/WatchApp Extension/ru.lproj/ckcomplication.strings b/WatchApp Extension/ru.lproj/ckcomplication.strings new file mode 100644 index 0000000000..3936ce995a --- /dev/null +++ b/WatchApp Extension/ru.lproj/ckcomplication.strings @@ -0,0 +1,12 @@ +/* The complication template example time string */ +"3MIN" = "3МИН"; + +/* The complication template example glucose string */ +"120" = "120"; + +/* The complication template example glucose and trend string */ +"120↘︎" = "120↘︎"; + +/* Utilitarian large flat format string (1: Glucose & Trend symbol) (2: Eventual Glucose) (3: Time) */ +"UtilitarianLargeFlat" = "%@%@ %@"; + diff --git a/WatchApp/ru.lproj/InfoPlist.strings b/WatchApp/ru.lproj/InfoPlist.strings new file mode 100644 index 0000000000..273b97d2be --- /dev/null +++ b/WatchApp/ru.lproj/InfoPlist.strings @@ -0,0 +1,3 @@ +/* (No Comment) */ +"CFBundleDisplayName" = "Loop"; + diff --git a/WatchApp/ru.lproj/Interface.strings b/WatchApp/ru.lproj/Interface.strings index 71feb5865e..762e27a9b8 100644 --- a/WatchApp/ru.lproj/Interface.strings +++ b/WatchApp/ru.lproj/Interface.strings @@ -2,7 +2,7 @@ "CsQ-fc-KLC.text" = "—"; /* Class = "WKInterfaceLabel"; text = "TOTAL CARBS"; ObjectID = "dea-qG-va8"; */ -"dea-qG-va8.text" = "ВСЕГО УГЛ"; +"dea-qG-va8.text" = "ВСЕГО УГЛЕВОДОВ"; /* Class = "WKInterfaceLabel"; text = "– – –"; ObjectID = "Dt1-kz-jMZ"; */ "Dt1-kz-jMZ.text" = "---"; @@ -50,7 +50,7 @@ "XkS-y5-khE.text" = ""; /* Class = "WKInterfaceLabel"; text = "ACTIVE CARBS"; ObjectID = "ycL-5X-a05"; */ -"ycL-5X-a05.text" = "АКТИВНЫЕ УГЛ"; +"ycL-5X-a05.text" = "АКТИВНЫЕ УГЛЕВОДЫ"; /* Class = "WKInterfaceLabel"; text = "– – –"; ObjectID = "yl8-ZP-c3l"; */ "yl8-ZP-c3l.text" = "---";